/* ==========================================================================
   Happy Tails — main stylesheet
   Brand: black #0B0B0D · charcoal #141416 · card #1C1C20 · yellow #FFD400
   ========================================================================== */

:root {
	--ht-black: #0B0B0D;
	--ht-charcoal: #141416;
	--ht-card: #1C1C20;
	--ht-line-dk: #26262B;
	--ht-line-dk2: #34343A;
	--ht-yellow: #FFD400;
	--ht-yellow-hover: #F4C400;
	--ht-yellow-soft: #FFF6BF;
	--ht-bg: #F5F5F7;
	--ht-grey: #A5A5AD;
	--ht-grey-2: #C9C9CF;
	--ht-muted: #5F5F67;
	--ht-line: #E8E8EC;
	--ht-line-2: #D4D4DA;
	--ht-success: #18864B;
	--ht-error: #D92D20;
	--ht-warn: #9A5B00;
	--ht-olive: #7A6400;
	--ht-font: 'Manrope', 'Segoe UI', system-ui, -apple-system, sans-serif;
	--ht-wrap: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--ht-font);
	color: var(--ht-black);
	background: var(--ht-bg);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--ht-yellow); outline-offset: 2px; }

.ht-sr, .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap; margin: -1px; padding: 0; border: 0;
}

.ht-skip {
	position: absolute; left: 12px; top: -60px; z-index: 200; padding: 10px 16px;
	border-radius: 999px; background: var(--ht-yellow); color: var(--ht-black); font-weight: 800; text-decoration: none;
}
.ht-skip:focus { top: 12px; }

.ht-wrap { max-width: var(--ht-wrap); margin: 0 auto; padding-left: 24px; padding-right: 24px; }

[hidden] { display: none !important; }

/* ---------- Motion ---------- */
.ht-lift { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ht-lift:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(11,11,13,.55); border-color: var(--ht-yellow) !important; }
.ht-dark-lift { transition: transform .2s ease, box-shadow .2s ease; }
.ht-dark-lift:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px var(--ht-yellow), 0 18px 50px -20px rgba(255,212,0,.35); }

@keyframes htRise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes htFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes htGlow { 0%,100% { opacity: .55; transform: scale(1); } 50% { opacity: .8; transform: scale(1.06); } }
@keyframes htMarquee { to { transform: translateX(-50%); } }
@keyframes htBump { 0% { transform: scale(1); } 40% { transform: scale(1.4); } 100% { transform: scale(1); } }
@keyframes htFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes htPop { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes htSlideIn { from { transform: translateX(-100%); } to { transform: none; } }
@keyframes htBars { 0%,100% { transform: scaleY(.45); } 50% { transform: scaleY(1); } }

.ht-rise { animation: htRise .8s cubic-bezier(.2,.8,.2,1) both; }
.ht-d1 { animation-delay: .08s; } .ht-d2 { animation-delay: .18s; } .ht-d3 { animation-delay: .3s; }
.ht-float { animation: htFloat 6s ease-in-out infinite; }
.ht-glow { animation: htGlow 6s ease-in-out infinite; }
@supports (animation-timeline: view()) {
	.ht-reveal { animation: htRise linear both; animation-timeline: view(); animation-range: entry 0% cover 20%; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Buttons ---------- */
.ht-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 0 22px; border-radius: 999px; border: 0;
	font-weight: 800; font-size: 15px; text-decoration: none; cursor: pointer;
	transition: background .15s ease, transform .15s ease;
}
.ht-btn:hover { transform: translateY(-1px); }
.ht-btn:active { transform: scale(.97); }
.ht-btn--yellow { background: var(--ht-yellow); color: var(--ht-black); }
.ht-btn--yellow:hover { background: var(--ht-yellow-hover); }
.ht-btn--dark { background: var(--ht-black); color: var(--ht-yellow); }
.ht-btn--ghost { border: 1.5px solid #3A3A40; color: #fff; background: transparent; }
.ht-btn--ghost:hover { border-color: var(--ht-yellow); }
.ht-btn--lg { min-height: 56px; padding: 0 28px; font-size: 16px; }
.ht-btn--glow { box-shadow: 0 10px 40px -10px rgba(255,212,0,.55); }

.ht-link-u, .ht-more {
	font-weight: 800; text-decoration: underline; text-decoration-color: var(--ht-yellow);
	text-underline-offset: 5px;
}
.ht-more { font-size: 15px; text-decoration-thickness: 3px; }
.ht-link-u { font-size: 13px; text-decoration-thickness: 2px; }

/* ==========================================================================
   Header
   ========================================================================== */
.ht-header { background: var(--ht-black); color: #fff; position: relative; z-index: 50; }

.ht-announce { background: var(--ht-yellow); color: var(--ht-black); font-size: 13px; font-weight: 700; }
.ht-announce__in { padding-top: 8px; padding-bottom: 8px; display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: space-between; align-items: center; }
.ht-lang { display: flex; gap: 6px; }
.ht-lang button {
	min-height: 28px; padding: 0 10px; border-radius: 999px; border: 1.5px solid var(--ht-black);
	background: transparent; color: var(--ht-black); font-size: 12px; font-weight: 800; cursor: pointer;
}
.ht-lang button[aria-pressed="true"] { background: var(--ht-black); color: var(--ht-yellow); }

.ht-bar { padding-top: 10px; padding-bottom: 10px; display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; }
.ht-logo { display: flex; flex: none; }
.ht-logo img { height: 62px; width: auto; display: block; }

.ht-burger { display: none; }

.ht-search {
	position: relative; flex: 1 1 360px; min-width: 0; display: flex; align-items: center; gap: 10px;
	height: 50px; padding: 0 6px 0 18px; border-radius: 999px; background: var(--ht-card); border: 1px solid #2E2E34;
}
.ht-search:focus-within { border-color: var(--ht-yellow); }
.ht-search input[type="search"] {
	flex: 1; min-width: 0; border: 0; outline: none; background: transparent; color: #fff; font-size: 15px; height: 100%;
}
.ht-search input::placeholder { color: var(--ht-grey); }
.ht-search input::-webkit-search-cancel-button { filter: invert(1); }
.ht-mic {
	flex: none; width: 38px; height: 38px; border-radius: 50%; border: 0; background: #2A2A30; color: #fff;
	display: grid; place-items: center; cursor: pointer; transition: background .2s;
}
.ht-mic[aria-pressed="true"] { background: var(--ht-yellow); color: var(--ht-black); }
.ht-search__ai {
	display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border-radius: 999px;
	background: var(--ht-yellow); color: var(--ht-black); font-weight: 800; font-size: 13px; text-decoration: none; white-space: nowrap;
}
.ht-search__pop {
	position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 60; border-radius: 20px;
	background: var(--ht-charcoal); border: 1px solid #2E2E34; box-shadow: 0 24px 50px -20px rgba(0,0,0,.8);
}
.ht-search__listen { border-color: var(--ht-yellow); padding: 18px; display: flex; align-items: center; gap: 16px; }
.ht-bars { display: flex; align-items: center; gap: 4px; height: 32px; }
.ht-bars i { width: 5px; height: 28px; border-radius: 3px; background: var(--ht-yellow); animation: htBars .9s ease-in-out infinite; }
.ht-bars i:nth-child(2) { animation-delay: .15s; } .ht-bars i:nth-child(3) { animation-delay: .3s; }
.ht-bars i:nth-child(4) { animation-delay: .45s; } .ht-bars i:nth-child(5) { animation-delay: .6s; }
.ht-search__listen-txt { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.ht-search__listen-txt strong { font-size: 15px; }
.ht-search__heard { font-size: 13px; color: var(--ht-grey); }
.ht-search__stop {
	min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--ht-line-dk2);
	background: transparent; color: #fff; font-size: 13px; font-weight: 800; cursor: pointer;
}
.ht-search__results { padding: 10px; display: flex; flex-direction: column; gap: 4px; }
.ht-search__note { padding: 6px 10px; font-size: 12px; font-weight: 700; color: var(--ht-grey); }
.ht-search__note.is-err { color: #FF8A80; }
.ht-search__go, .ht-search__ask {
	display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; padding: 0 12px;
	border-radius: 12px; border: 0; background: transparent; color: #fff; text-decoration: none; font-size: 14px; font-weight: 700;
	cursor: pointer; text-align: left; width: 100%;
}
.ht-search__go { background: var(--ht-card); }
.ht-search__go span, .ht-search__ask span { display: flex; align-items: center; gap: 10px; }
.ht-search__go > span:last-child, .ht-search__ask > span:last-child { color: var(--ht-yellow); }
.ht-search__go em, .ht-search__ask em { font-style: normal; }
.ht-search__ask:hover, .ht-search__go:hover { background: #24242A; }

.ht-icons { flex: none; display: flex; gap: 2px; align-items: center; }
.ht-icon-btn {
	width: 44px; height: 44px; display: grid; place-items: center; color: #fff; border-radius: 50%;
	background: transparent; border: 0; cursor: pointer;
}
.ht-icon-btn:hover { background: var(--ht-card); }
.ht-show-sm { display: none; }
.ht-cart-btn {
	display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px 0 12px; margin-left: 6px;
	border-radius: 999px; background: var(--ht-yellow); color: var(--ht-black); text-decoration: none;
}
.ht-cart-count { font-weight: 800; font-size: 14px; display: inline-block; }
.ht-cart-count.is-bump { animation: htBump .45s ease; }

.ht-nav { border-top: 1px solid #1F1F24; }
.ht-nav__in { display: flex; flex-wrap: wrap; align-items: center; gap: 0 2px; font-size: 14px; font-weight: 700; }
.ht-nav__link {
	display: flex; align-items: center; gap: 6px; min-height: 46px; padding: 0 12px; color: #fff;
	text-decoration: none; border: 0; background: transparent; cursor: pointer; font-weight: 700; font-size: 14px;
}
.ht-nav__link:hover { color: var(--ht-yellow); }
.ht-nav__link.is-accent { color: var(--ht-yellow); }
.ht-nav__link.is-on { box-shadow: inset 0 -3px 0 var(--ht-yellow); }
.ht-mega-btn.is-on { color: var(--ht-yellow); }
.ht-mega-btn .ht-ico { transition: transform .2s; }
.ht-mega-wrap { position: relative; }
.ht-mega-wrap.is-open .ht-mega-btn { background: var(--ht-charcoal); color: var(--ht-yellow); box-shadow: inset 0 -3px 0 var(--ht-yellow); }
.ht-mega-wrap.is-open .ht-mega-btn .ht-ico { transform: rotate(180deg); }
.ht-mega {
	position: absolute; left: 0; top: 100%; width: min(1040px, calc(100vw - 48px)); background: var(--ht-charcoal);
	border: 1px solid var(--ht-line-dk); border-top: 3px solid var(--ht-yellow); border-radius: 0 0 22px 22px;
	box-shadow: 0 30px 60px -20px rgba(0,0,0,.7); animation: htFade .15s ease both;
}
.ht-mega__grid { padding: 26px 26px 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 24px; }
.ht-mega__col { display: flex; flex-direction: column; gap: 10px; }
.ht-mega__col a { color: #D9D9DE; font-size: 14px; font-weight: 600; text-decoration: none; padding: 2px 0; }
.ht-mega__col a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--ht-yellow); }
.ht-mega__col .ht-mega__head { display: flex; align-items: center; gap: 8px; color: var(--ht-yellow); font-weight: 800; font-size: 15px; }
.ht-mega__promo {
	border-radius: 18px; padding: 20px; background: var(--ht-yellow); color: var(--ht-black); text-decoration: none;
	display: flex; flex-direction: column; gap: 10px; justify-content: space-between; min-height: 160px;
}
.ht-mega__promo strong { font-size: 17px; line-height: 1.25; }
.ht-mega__promo span { font-weight: 800; font-size: 14px; }

/* Drawer (mobile) */
.ht-drawer { position: fixed; inset: 0; z-index: 120; background: rgba(11,11,13,.6); }
.ht-drawer__panel {
	width: 300px; max-width: 86vw; height: 100%; overflow-y: auto; background: var(--ht-black); color: #fff;
	padding: 18px; display: flex; flex-direction: column; gap: 6px; animation: htSlideIn .25s ease both;
}
.ht-drawer__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.ht-drawer__top img { height: 40px; width: auto; }
.ht-drawer__close, .ht-burger {
	width: 44px; height: 44px; border-radius: 12px; border: 0; background: var(--ht-card); color: #fff;
	place-items: center; cursor: pointer;
}
.ht-drawer__close { display: grid; }
.ht-drawer__link {
	display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding: 0 12px;
	border-radius: 12px; background: var(--ht-charcoal); color: #fff; text-decoration: none; font-weight: 800; font-size: 15px;
}
.ht-drawer__link span, .ht-drawer__link.is-accent { color: var(--ht-yellow); }

/* Bottom nav (mobile) */
.ht-bottom { display: none; }

/* ==========================================================================
   Sections & headings
   ========================================================================== */
.ht-sec { padding-top: 72px; }
.ht-sec--top { padding-top: 40px; }
.ht-sec--last { padding-bottom: 80px; }
.ht-h2 { margin: 0 0 24px; font-weight: 800; font-size: clamp(30px, 3.4vw, 42px); letter-spacing: -0.025em; line-height: 1.1; }
.ht-h2--sm { font-size: clamp(28px, 3vw, 38px); letter-spacing: -0.02em; }
.ht-sec__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 16px; margin-bottom: 24px; }
.ht-sec__head .ht-h2 { margin: 0; }
.ht-sec__title { display: flex; flex-direction: column; gap: 6px; }
.ht-sec__title .ht-h2 { margin: 0; }
.ht-sec__title--mb { margin-bottom: 24px; }
.ht-note { font-size: 13px; color: var(--ht-muted); }
.ht-note--mt { margin: 14px 0 0; }
.ht-kicker { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ht-yellow); }
.ht-pill-new { align-self: flex-start; padding: 5px 12px; border-radius: 999px; background: var(--ht-black); color: var(--ht-yellow); font-size: 12px; font-weight: 800; }

/* ==========================================================================
   Hero
   ========================================================================== */
.ht-gridbg {
	background-color: var(--ht-black);
	background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
	background-size: 44px 44px;
}
.ht-hero { color: #fff; position: relative; overflow: hidden; }
.ht-hero__glow {
	position: absolute; right: -120px; top: -160px; width: 620px; height: 620px; border-radius: 50%;
	background: radial-gradient(circle, rgba(255,212,0,.28), rgba(255,212,0,0) 62%); pointer-events: none;
}
.ht-hero__in { padding-top: 64px; padding-bottom: 72px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; position: relative; }
.ht-hero__copy { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.ht-eyebrow {
	align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px;
	border: 1px solid var(--ht-line-dk2); background: var(--ht-charcoal); font-size: 13px; font-weight: 700; color: var(--ht-yellow);
}
.ht-eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--ht-yellow); }
.ht-hero h1 { margin: 0; font-weight: 800; font-size: clamp(46px, 6.4vw, 84px); line-height: .98; letter-spacing: -0.035em; }
.ht-hero h1 span { color: var(--ht-yellow); }
.ht-hero__copy p { margin: 0; font-size: 19px; line-height: 1.6; color: var(--ht-grey-2); max-width: 540px; }
.ht-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }

.ht-hero__art { flex: 1 1 440px; min-width: 0; position: relative; min-height: 460px; }
.ht-hero__frame {
	position: absolute; inset: 0 0 70px 40px; border-radius: 32px; background: var(--ht-charcoal); border: 1px solid var(--ht-line-dk);
	overflow: hidden; display: flex; align-items: center; justify-content: center;
}
.ht-hero__photo { width: 100%; height: 100%; object-fit: cover; }
.ht-hero__halo { position: absolute; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(255,212,0,.22), rgba(255,212,0,0) 65%); }
.ht-hero__logo { position: relative; width: 66%; max-width: 340px; margin: -90px 0 0 70px; }
.ht-hero__logo img { width: 100%; display: block; }

.ht-tailzy-card {
	position: absolute; left: 0; bottom: 0; width: min(360px, 92%); border-radius: 24px; background: var(--ht-card);
	border: 1px solid var(--ht-line-dk2); padding: 18px; display: flex; flex-direction: column; gap: 12px;
	box-shadow: 0 30px 60px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(255,212,0,.08); animation-delay: -3s;
}
.ht-tailzy-card__head { display: flex; align-items: center; gap: 12px; }
.ht-tailzy-card__head div { display: flex; flex-direction: column; }
.ht-tailzy-card__head strong { font-size: 16px; }
.ht-tailzy-card__head span { font-size: 12px; color: var(--ht-grey); }
.ht-tailzy-card__av { width: 44px; height: 44px; border-radius: 14px; background: var(--ht-yellow); color: var(--ht-black); display: grid; place-items: center; flex: none; }
.ht-tailzy-card p { margin: 0; font-size: 14px; line-height: 1.55; color: #E4E4E8; }
.ht-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ht-chips a {
	padding: 7px 11px; border-radius: 999px; background: var(--ht-black); border: 1px solid var(--ht-line-dk2); color: #fff;
	font-size: 12px; font-weight: 700; text-decoration: none;
}
.ht-chips a:hover { border-color: var(--ht-yellow); }
.ht-tailzy-card__ask {
	display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: 0 8px 0 16px; border-radius: 999px;
	background: var(--ht-black); border: 1px solid var(--ht-yellow); color: var(--ht-grey); font-size: 14px; text-decoration: none;
}
.ht-tailzy-card__ask span { width: 34px; height: 34px; border-radius: 50%; background: var(--ht-yellow); color: var(--ht-black); display: grid; place-items: center; }

.ht-ticker { border-top: 1px solid #1F1F24; overflow: hidden; padding: 16px 0; position: relative; }
.ht-marquee { display: flex; width: max-content; animation: htMarquee 36s linear infinite; }
.ht-marquee span {
	display: inline-flex; align-items: center; gap: 26px; padding-right: 26px; font-weight: 800; font-size: 15px;
	letter-spacing: .06em; text-transform: uppercase; color: #8A8A92; white-space: nowrap;
}
.ht-marquee i { width: 6px; height: 6px; border-radius: 50%; background: var(--ht-yellow); }

/* ==========================================================================
   Home blocks
   ========================================================================== */
.ht-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); gap: 12px; }
.ht-cat {
	display: flex; flex-direction: column; gap: 10px; padding: 8px 8px 12px; border-radius: 20px; background: #fff;
	border: 1px solid var(--ht-line); text-decoration: none; color: var(--ht-black);
	transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, border-color .25s ease;
}
.ht-cat:hover, .ht-cat:focus-visible { transform: translateY(-6px); box-shadow: 0 22px 40px -26px rgba(11,11,13,.6); border-color: var(--ht-yellow); }
/* Picture area: category thumbnail, or the icon on a soft yellow tile */
.ht-cat__media { position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: var(--ht-yellow-soft); }
.ht-cat__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.ht-cat:hover .ht-cat__media img { transform: scale(1.08); }
.ht-cat__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(255,212,0,.35), transparent 55%); opacity: 0; transition: opacity .3s ease; }
.ht-cat:hover .ht-cat__media::after { opacity: 1; }
.ht-cat__ico { width: 64px; height: 64px; border-radius: 20px; background: #fff; display: grid; place-items: center; box-shadow: 0 8px 20px -14px rgba(11,11,13,.45); transition: transform .35s cubic-bezier(.3,1.6,.5,1); }
.ht-cat:hover .ht-cat__ico { transform: translateY(-4px) rotate(-8deg) scale(1.08); }
.ht-cat__label { display: flex; flex-direction: column; gap: 2px; padding: 0 6px; }
.ht-cat strong { font-size: 15px; line-height: 1.25; }
.ht-cat__go { font-size: 12px; font-weight: 700; color: var(--ht-olive); opacity: 0; transform: translateX(-6px); transition: opacity .25s ease, transform .25s ease; }
.ht-cat:hover .ht-cat__go, .ht-cat:focus-visible .ht-cat__go { opacity: 1; transform: none; }
/* Cards rise in one after another when the section scrolls into view (main.js adds .is-wait / .is-in) */
.ht-cats.is-wait .ht-cat { opacity: 0; transform: translateY(18px); }
.ht-cats.is-in .ht-cat { opacity: 1; transform: none; transition: opacity .5s ease calc(var(--i, 0) * 55ms), transform .55s cubic-bezier(.2,.8,.2,1) calc(var(--i, 0) * 55ms), box-shadow .25s ease, border-color .25s ease; }
.ht-cats.is-in .ht-cat:hover { transform: translateY(-6px); transition-delay: 0s; }
@media (hover: none) {
	.ht-cat__go { opacity: 1; transform: none; }
}

.ht-pets { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 16px; }
.ht-pet {
	position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: 230px;
	padding: 24px; border-radius: 26px; background: var(--ht-black); color: #fff; text-decoration: none; overflow: hidden;
}
.ht-pet__dot { position: absolute; right: -40px; bottom: -40px; width: 190px; height: 190px; border-radius: 50%; background: var(--ht-yellow); }
.ht-pet__ico { position: absolute; right: 18px; bottom: 18px; }
.ht-pet__count { font-size: 13px; font-weight: 700; color: var(--ht-grey); position: relative; }
.ht-pet__name { display: flex; flex-direction: column; gap: 4px; position: relative; }
.ht-pet__name strong { font-size: 28px; font-weight: 800; letter-spacing: -0.02em; }
.ht-pet__name span { font-size: 14px; font-weight: 700; color: var(--ht-yellow); }

/* Product card */
.ht-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)); gap: 16px; margin: 0; padding: 0; }
.ht-products--best { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 18px; }
.ht-card {
	background: #fff; border: 1px solid var(--ht-line); border-radius: 22px; padding: 12px;
	display: flex; flex-direction: column; gap: 12px; animation: htPop .35s ease both; min-width: 0;
}
.ht-card__media { position: relative; height: 210px; border-radius: 16px; display: grid; place-items: center; overflow: hidden; }
.ht-results .ht-card__media { height: 190px; }
.ht-card__img { display: grid; place-items: center; width: 100%; height: 100%; }
.ht-card__img img { width: 100%; height: 100%; object-fit: cover; }
.ht-badge {
	position: absolute; left: 10px; top: 10px; padding: 5px 10px; border-radius: 999px; background: var(--ht-yellow);
	color: var(--ht-black); font-size: 12px; font-weight: 800;
}
.ht-wish {
	position: absolute; right: 10px; top: 10px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #fff;
	display: grid; place-items: center; cursor: pointer;
}
.ht-wish[aria-pressed="true"] svg { fill: var(--ht-yellow); }
.ht-quick {
	position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%); min-height: 34px; padding: 0 14px;
	border-radius: 999px; border: 0; background: var(--ht-black); color: #fff; font-size: 12px; font-weight: 800; cursor: pointer; white-space: nowrap;
}
.ht-card__body { padding: 0 4px; display: flex; flex-direction: column; gap: 5px; }
.ht-card__meta { font-size: 12px; color: var(--ht-muted); font-weight: 600; }
.ht-card__title { margin: 0; font-size: 16px; font-weight: 800; line-height: 1.3; }
.ht-results .ht-card__title { font-size: 15px; }
.ht-card__title a { color: var(--ht-black); text-decoration: none; }
.ht-card__title a:hover { text-decoration: underline; text-decoration-color: var(--ht-yellow); text-decoration-thickness: 2px; }
.ht-card__rating { font-size: 12px; color: var(--ht-muted); }
.ht-price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.ht-price strong { font-size: 18px; }
.ht-price s { font-size: 13px; color: #8A8A92; }
.ht-price--lg strong { font-size: 24px; }
.ht-stock { font-size: 12px; font-weight: 700; }
.ht-stock--in { color: var(--ht-success); }
.ht-stock--low { color: var(--ht-warn); }
.ht-stock--out { color: var(--ht-error); }

.ht-add {
	margin-top: auto; min-height: 46px; padding: 0 16px; border-radius: 999px; border: 0; background: var(--ht-yellow);
	color: var(--ht-black); font-weight: 800; font-size: 14px; cursor: pointer; text-decoration: none;
	display: flex; align-items: center; justify-content: center; text-align: center;
	transition: background .15s ease, transform .15s ease;
}
.ht-add:hover { background: var(--ht-yellow-hover); }
.ht-add:active { transform: scale(.97); }
.ht-add.loading { opacity: .6; pointer-events: none; }
.ht-add.added, .ht-add.is-added { background: var(--ht-black); color: var(--ht-yellow); }
.ht-add--notify { background: var(--ht-black); color: #fff; }
.ht-add--notify:hover { background: #24242A; }
.ht-add--notify.is-on { background: #E3F4EA; color: #12693A; }
.ht-add--sm { align-self: flex-start; margin-top: 4px; min-height: 36px; padding: 0 14px; font-size: 13px; }
.ht-add--lg { min-height: 50px; font-size: 15px; }
.added_to_cart.wc-forward { display: none !important; }

/* Kits */
.ht-kits { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 16px; }
.ht-kit {
	border-radius: 26px; background: #fff; color: var(--ht-black); border: 1px solid var(--ht-line); padding: 22px;
	display: flex; flex-direction: column; gap: 14px;
}
.ht-kit.is-dark { background: var(--ht-black); color: #fff; border-color: var(--ht-black); }
.ht-kit__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.ht-kit__head > div { display: flex; flex-direction: column; gap: 4px; }
.ht-kit__head h3 { margin: 0; font-size: 22px; font-weight: 800; }
.ht-kit__for { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ht-olive); }
.ht-kit.is-dark .ht-kit__for { color: var(--ht-yellow); }
.ht-kit__save { padding: 6px 12px; border-radius: 999px; background: var(--ht-yellow); color: var(--ht-black); font-size: 12px; font-weight: 800; white-space: nowrap; }
.ht-kit__items { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 9px; }
.ht-kit__items li { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; }
.ht-kit__items li > span:first-child { display: flex; gap: 8px; align-items: center; }
.ht-kit__items i {
	flex: none; width: 20px; height: 20px; border-radius: 50%; background: var(--ht-yellow); color: var(--ht-black);
	display: grid; place-items: center; font-size: 11px; font-weight: 800; font-style: normal;
}
.ht-kit__ip { opacity: .7; white-space: nowrap; }
.ht-kit__price { margin-top: auto; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid var(--ht-line); }
.ht-kit.is-dark .ht-kit__price { border-color: var(--ht-line-dk); }
.ht-kit__price strong { font-size: 26px; }
.ht-kit__price s { font-size: 14px; opacity: .6; }
.ht-kit .ht-add { margin-top: 0; background: var(--ht-black); color: var(--ht-yellow); }
.ht-kit.is-dark .ht-add { background: var(--ht-yellow); color: var(--ht-black); }

/* Recommended */
.ht-rec { border-radius: 32px; background: var(--ht-black); color: #fff; padding: clamp(24px, 4vw, 44px); display: flex; flex-direction: column; gap: 24px; }
.ht-rec__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; }
.ht-rec__pets { display: flex; flex-wrap: wrap; gap: 8px; }
.ht-rec__pets button {
	display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px 0 6px; border-radius: 999px;
	border: 1.5px solid #3A3A40; background: transparent; color: #fff; font-weight: 800; font-size: 14px; cursor: pointer;
}
.ht-rec__pets button span { width: 32px; height: 32px; border-radius: 50%; background: var(--ht-yellow); display: grid; place-items: center; }
.ht-rec__pets button[aria-pressed="true"] { background: #fff; color: var(--ht-black); border-color: #fff; }
.ht-rec__add {
	display: flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1.5px dashed #4A4A52;
	color: var(--ht-grey-2); font-weight: 700; font-size: 14px; text-decoration: none;
}
.ht-rec__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 14px; }
.ht-rec__item { position: relative; display: flex; gap: 14px; padding: 14px; border-radius: 20px; background: var(--ht-card); border: 1px solid #2E2E34; }
.ht-rec__img { flex: none; width: 92px; height: 92px; border-radius: 14px; display: grid; place-items: center; overflow: hidden; }
.ht-rec__img img { width: 100%; height: 100%; object-fit: cover; }
.ht-rec__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-right: 30px; }
.ht-rec__name { color: #fff; text-decoration: none; font-weight: 800; font-size: 15px; line-height: 1.3; }
.ht-rec__price { font-size: 15px; color: var(--ht-yellow); }
.ht-rec__why { font-size: 12px; color: var(--ht-grey); line-height: 1.45; }
.ht-rec__why strong { color: #E4E4E8; }
.ht-rec__x {
	position: absolute; right: 8px; top: 8px; width: 32px; height: 32px; border-radius: 50%; border: 0; background: transparent;
	color: var(--ht-grey); display: grid; place-items: center; cursor: pointer;
}
.ht-rec__x:hover { background: #2A2A30; color: #fff; }
.ht-rec__restore {
	align-self: flex-start; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--ht-line-dk2);
	background: transparent; color: var(--ht-grey-2); font-weight: 700; font-size: 13px; cursor: pointer;
}

/* New & trending */
.ht-seg { display: flex; gap: 6px; padding: 5px; border-radius: 999px; background: var(--ht-line); }
.ht-seg button { min-height: 42px; padding: 0 20px; border: 0; border-radius: 999px; font-weight: 800; font-size: 14px; cursor: pointer; background: transparent; color: var(--ht-black); }
.ht-seg button[aria-pressed="true"] { background: var(--ht-black); color: var(--ht-yellow); }
.ht-minis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 14px; }
.ht-mini {
	display: flex; gap: 12px; align-items: center; padding: 12px; border-radius: 18px; background: #fff; border: 1px solid var(--ht-line);
	text-decoration: none; color: var(--ht-black); animation: htPop .45s ease both;
}
.ht-mini__img { flex: none; width: 72px; height: 72px; border-radius: 14px; display: grid; place-items: center; overflow: hidden; }
.ht-mini__img img { width: 100%; height: 100%; object-fit: cover; }
.ht-mini__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ht-mini__body strong { font-size: 14px; line-height: 1.3; }
.ht-mini__price { font-size: 14px; font-weight: 800; }
.ht-mini__tag { font-size: 11px; font-weight: 800; color: var(--ht-olive); text-transform: uppercase; letter-spacing: .05em; }

/* Budget */
.ht-budgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 14px; }
.ht-budget {
	display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: 22px; background: #fff; color: var(--ht-black);
	border: 1px solid var(--ht-line); text-decoration: none;
}
.ht-budget.is-yellow { background: var(--ht-yellow-soft); }
.ht-budget strong { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.ht-budget span { font-size: 13px; font-weight: 600; }

/* Guides */
.ht-guides { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 16px; }
.ht-guide {
	display: flex; flex-direction: column; gap: 14px; padding: 12px; border-radius: 22px; background: #fff;
	border: 1px solid var(--ht-line); text-decoration: none; color: var(--ht-black);
}
.ht-guide__img { height: 150px; border-radius: 16px; overflow: hidden; display: block; position: relative; }
.ht-guide__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ht-guide__img.is-dark { background: var(--ht-black); }
.ht-guide__img.is-yellow { background: var(--ht-yellow); }
.ht-guide__img.is-grey { background: #ECECF0; }
.ht-guide__img:not(:has(img))::after {
	content: ''; position: absolute; right: 16px; bottom: 16px; width: 54px; height: 54px; opacity: .9;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='6' cy='9' r='2.2'/%3E%3Ccircle cx='10' cy='5' r='2.2'/%3E%3Ccircle cx='14' cy='5' r='2.2'/%3E%3Ccircle cx='18' cy='9' r='2.2'/%3E%3Cpath d='M12 11c-3 0-6 4-6 7 0 2 2 3 3.5 2.5S11 20 12 20s1 .9 2.5.5S18 20 18 18c0-3-3-7-6-7z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='6' cy='9' r='2.2'/%3E%3Ccircle cx='10' cy='5' r='2.2'/%3E%3Ccircle cx='14' cy='5' r='2.2'/%3E%3Ccircle cx='18' cy='9' r='2.2'/%3E%3Cpath d='M12 11c-3 0-6 4-6 7 0 2 2 3 3.5 2.5S11 20 12 20s1 .9 2.5.5S18 20 18 18c0-3-3-7-6-7z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ht-guide__img.is-dark { color: var(--ht-yellow); }
.ht-guide__img.is-yellow, .ht-guide__img.is-grey { color: var(--ht-black); }
.ht-guide__body { padding: 0 6px 8px; display: flex; flex-direction: column; gap: 6px; }
.ht-guide__tag { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ht-olive); }
.ht-guide__body strong { font-size: 17px; line-height: 1.35; }

/* Trust */
.ht-trust { background: #fff; border-top: 1px solid var(--ht-line); }
.ht-trust__in { padding-top: 28px; padding-bottom: 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: 16px; }
.ht-trust__item { display: flex; gap: 12px; align-items: center; }
.ht-trust__item > span:first-child { flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--ht-black); color: var(--ht-yellow); display: grid; place-items: center; }
.ht-trust__item > span:last-child { display: flex; flex-direction: column; line-height: 1.3; }
.ht-trust__item strong { font-size: 14px; }
.ht-trust__item em { font-style: normal; font-size: 12px; color: var(--ht-muted); }

/* ==========================================================================
   Footer
   ========================================================================== */
.ht-footer { color: #fff; background: var(--ht-black); }
/* Compact one-row footer: brand · 3 link columns · newsletter. Link columns fold into accordions on phones. */
.ht-footer__in { padding-top: 40px; padding-bottom: 18px; display: flex; flex-direction: column; gap: 28px; }
.ht-footer__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr) minmax(0, .9fr) minmax(0, 1.05fr) minmax(0, 1.45fr); gap: 32px; align-items: start; }
.ht-footer__brand { display: flex; flex-direction: column; gap: 10px; }
.ht-footer__brand img { width: 116px; height: auto; display: block; margin-top: -16px; }
.ht-footer__tag { font-size: 14px; font-weight: 700; color: #fff; }
.ht-footer__addr { font-style: normal; font-size: 13px; color: var(--ht-grey); line-height: 1.6; }
.ht-footer__addr a { color: var(--ht-yellow); font-weight: 700; text-decoration: none; margin-left: 4px; white-space: nowrap; }
.ht-footer__tel { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; color: #fff; text-decoration: none; }
.ht-footer__tel svg { color: var(--ht-yellow); }
.ht-fcol summary, .ht-footer__news strong { display: block; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fff; margin-bottom: 12px; }
.ht-footer__news strong { display: inline-block; background: var(--ht-yellow); color: var(--ht-black); padding: 6px 14px; border-radius: 999px; }
.ht-fcol summary { list-style: none; cursor: default; pointer-events: none; }
.ht-fcol summary::-webkit-details-marker { display: none; }
.ht-fcol nav { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.ht-fcol a { color: var(--ht-grey-2); text-decoration: none; line-height: 1.35; }
.ht-fcol a:hover { color: #fff; }
.ht-fcol a.is-accent { color: var(--ht-yellow); font-weight: 700; }
.ht-footer__news p { margin: 0 0 12px; font-size: 13px; color: var(--ht-grey); line-height: 1.55; }
.ht-news__form { display: flex; flex-direction: column; gap: 10px; }
.ht-news__form input[type="email"] {
	width: 100%; height: 44px; padding: 0 16px; border-radius: 12px; border: 2px solid var(--ht-yellow);
	background: var(--ht-charcoal); color: #fff; font-size: 14px; outline: none;
}
.ht-news__form input[type="email"]::placeholder { color: var(--ht-grey); }
.ht-news__form input[type="email"]:focus { box-shadow: 0 0 0 3px rgba(255, 212, 0, .25); }
.ht-news__consent { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; color: var(--ht-grey); line-height: 1.45; cursor: pointer; }
.ht-news__consent input { width: 15px; height: 15px; margin: 1px 0 0; accent-color: var(--ht-yellow); flex: none; }
.ht-news__consent a { color: var(--ht-yellow); }
/* Subscribe button and social icons share one row */
.ht-footer__act { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; }
.ht-footer__act .ht-btn { height: 42px; padding: 0 18px; font-size: 14px; flex: none; }
.ht-footer__act .ht-social { gap: 6px; flex-wrap: nowrap; }
.ht-footer__act .ht-social a { width: 34px; height: 34px; flex: none; }
.ht-news__err { font-size: 12px; color: #FF8A80; font-weight: 700; }
.ht-news__err:empty { display: none; }
.ht-news__done { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: var(--ht-card); color: var(--ht-yellow); font-weight: 700; font-size: 14px; }
.ht-social { display: flex; gap: 8px; }
.ht-social a { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--ht-card); color: #fff; transition: transform .15s ease, filter .15s ease; }
.ht-social a:hover { transform: translateY(-2px); filter: brightness(1.1); }
/* Brand colours */
.ht-social a.is-insta { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
.ht-social a.is-facebook { background: #1877F2; }
.ht-social a.is-tiktok { background: #000; border: 1px solid #2A2A2E; }
.ht-social a.is-tiktok svg { filter: drop-shadow(-1.5px -1px 0 #25F4EE) drop-shadow(1.5px 1px 0 #FE2C55); }
.ht-social a.is-youtube { background: #FF0000; }
.ht-social a.is-whatsapp { background: #25D366; }
.ht-footer__base { padding-top: 16px; border-top: 1px solid #1F1F24; font-size: 13px; color: var(--ht-grey); text-align: center; }
@media (max-width: 1100px) {
	.ht-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ht-footer__brand, .ht-footer__news { grid-column: span 3; }
	.ht-footer__news { max-width: 520px; }
}
@media (max-width: 680px) {
	.ht-footer__in { padding-top: 28px; gap: 18px; }
	.ht-footer__grid { grid-template-columns: 1fr; gap: 0; }
	.ht-footer__brand, .ht-footer__news { grid-column: auto; }
	.ht-footer__brand { padding-bottom: 18px; }
	.ht-footer__news { order: 1; padding: 18px 0 6px; max-width: none; }
	.ht-fcol { order: 2; border-top: 1px solid #1F1F24; }
	.ht-fcol summary { pointer-events: auto; cursor: pointer; margin: 0; padding: 14px 0; display: flex; justify-content: space-between; align-items: center; }
	.ht-fcol summary::after { content: "+"; font-size: 18px; font-weight: 700; color: var(--ht-yellow); letter-spacing: 0; }
	.ht-fcol[open] summary::after { content: "−"; }
	.ht-fcol nav { padding-bottom: 14px; }
}

/* Delivery popup — truck drives in, SAME DAY stamp lands, then the truck keeps rolling */
html.ht-promo-open { overflow: hidden; }
.ht-promo { position: fixed; inset: 0; z-index: 95; display: grid; place-items: center; padding: 16px; background: rgba(11, 11, 13, 0); transition: background .3s ease; }
.ht-promo[hidden] { display: none; }
.ht-promo.is-on { background: rgba(11, 11, 13, .62); }
.ht-promo.is-out { background: rgba(11, 11, 13, 0); }
.ht-promo__box { position: relative; width: 100%; max-width: 460px; border-radius: 28px; overflow: hidden; background: var(--ht-black); color: #fff; box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .7); opacity: 0; transform: translateY(30px) scale(.92); }
.ht-promo.is-on .ht-promo__box { animation: htPromoIn .6s cubic-bezier(.2, 1.3, .4, 1) forwards; }
.ht-promo.is-out .ht-promo__box { animation: htPromoOut .3s ease forwards; }
.ht-promo__x { position: absolute; top: 12px; right: 12px; z-index: 3; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(11, 11, 13, .85); color: #fff; display: grid; place-items: center; cursor: pointer; }
.ht-promo__x:hover { background: #000; }
.ht-promo__scene { position: relative; height: 170px; background: var(--ht-yellow); overflow: hidden; }
.ht-promo__scene::before { content: ""; position: absolute; width: 260px; height: 260px; border-radius: 50%; right: -70px; top: -120px; background: rgba(255, 255, 255, .35); }
.ht-promo__road { position: absolute; left: 0; right: 0; bottom: 28px; height: 4px; background: repeating-linear-gradient(90deg, #0B0B0D 0 28px, transparent 28px 46px); opacity: .35; }
.ht-promo.is-on .ht-promo__road { animation: htRoad .6s linear infinite; }
.ht-promo__lines { position: absolute; left: 22px; bottom: 54px; display: flex; flex-direction: column; gap: 9px; }
.ht-promo__lines i { display: block; height: 4px; border-radius: 4px; background: #0B0B0D; opacity: 0; }
.ht-promo__lines i:nth-child(1) { width: 46px; }
.ht-promo__lines i:nth-child(2) { width: 70px; margin-left: -18px; }
.ht-promo__lines i:nth-child(3) { width: 34px; }
.ht-promo.is-on .ht-promo__lines i { animation: htSpeed 1.1s ease-in-out .9s infinite; }
.ht-promo.is-on .ht-promo__lines i:nth-child(2) { animation-delay: 1.05s; }
.ht-promo.is-on .ht-promo__lines i:nth-child(3) { animation-delay: 1.2s; }
.ht-promo__truck { position: absolute; left: 50%; bottom: 26px; margin-left: -48px; width: 96px; height: 96px; border-radius: 26px; background: #fff; display: grid; place-items: center; box-shadow: 0 16px 30px -18px rgba(11, 11, 13, .7); transform: translateX(-340px); }
.ht-promo.is-on .ht-promo__truck { animation: htDrive .9s cubic-bezier(.2, .9, .3, 1.15) .25s forwards, htBob .5s ease-in-out 1.2s infinite alternate; }
.ht-promo__stamp { position: absolute; left: 22px; top: 22px; padding: 8px 14px; border: 3px solid #0B0B0D; border-radius: 12px; font-weight: 900; font-size: 18px; letter-spacing: .08em; color: #0B0B0D; background: rgba(255, 255, 255, .55); opacity: 0; transform: rotate(-12deg) scale(2.2); }
.ht-promo.is-on .ht-promo__stamp { animation: htStamp .45s cubic-bezier(.3, 1.6, .5, 1) 1s forwards; }
.ht-promo__body { padding: 22px 26px 26px; display: flex; flex-direction: column; gap: 10px; }
.ht-promo__badge { align-self: flex-start; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ht-yellow); border: 1px solid var(--ht-yellow); border-radius: 999px; padding: 4px 12px; }
.ht-promo.is-on .ht-promo__badge { animation: htPulse 2s ease-in-out 1.4s infinite; }
.ht-promo__body h2 { margin: 0; font-size: clamp(24px, 6vw, 30px); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.ht-promo__body p { margin: 0; font-size: 15px; color: var(--ht-grey-2); line-height: 1.5; }
.ht-promo__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.ht-promo__cta .ht-btn { height: 48px; padding: 0 22px; }
.ht-promo__wa { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 18px; border-radius: 999px; border: 1.5px solid #34343A; color: #fff; text-decoration: none; font-weight: 700; font-size: 14px; }
.ht-promo__wa:hover { border-color: #25D366; color: #25D366; }
@keyframes htPromoIn { to { opacity: 1; transform: none; } }
@keyframes htPromoOut { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(20px) scale(.96); } }
@keyframes htDrive { 0% { transform: translateX(-340px); } 100% { transform: translateX(0); } }
@keyframes htBob { from { translate: 0 0; } to { translate: 0 -3px; } }
@keyframes htRoad { to { background-position: -46px 0; } }
@keyframes htSpeed { 0% { opacity: 0; transform: translateX(30px); } 40% { opacity: .55; } 100% { opacity: 0; transform: translateX(-30px); } }
@keyframes htStamp { to { opacity: 1; transform: rotate(-12deg) scale(1); } }
@keyframes htPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 212, 0, .45); } 50% { box-shadow: 0 0 0 8px rgba(255, 212, 0, 0); } }
@media (max-width: 560px) {
	/* Bottom sheet on phones */
	.ht-promo { place-items: end center; padding: 0; }
	.ht-promo__box { max-width: none; border-radius: 26px 26px 0 0; padding-bottom: env(safe-area-inset-bottom); }
	.ht-promo__scene { height: 150px; }
	.ht-promo__stamp { font-size: 15px; left: 16px; top: 18px; }
	.ht-promo__body { padding: 18px 20px 22px; }
	.ht-promo__cta .ht-btn, .ht-promo__wa { flex: 1 1 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	.ht-promo__box, .ht-promo__truck, .ht-promo__stamp { opacity: 1 !important; transform: none !important; }
}

/* WhatsApp */
.ht-wa { position: fixed; right: 20px; bottom: 20px; z-index: 60; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.ht-wa__pop {
	width: 290px; max-width: calc(100vw - 40px); border-radius: 20px; background: var(--ht-charcoal); border: 1px solid #2E2E34;
	box-shadow: 0 24px 50px -20px rgba(0,0,0,.7); overflow: hidden; animation: htPop .25s ease both;
}
.ht-wa__head { padding: 16px 18px; background: var(--ht-success); color: #fff; display: flex; flex-direction: column; }
.ht-wa__head strong { font-size: 16px; }
.ht-wa__head span { font-size: 13px; }
.ht-wa__list { padding: 10px; display: flex; flex-direction: column; gap: 4px; }
.ht-wa__list a {
	display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 12px;
	color: #fff; text-decoration: none; font-size: 14px; font-weight: 600; background: var(--ht-card);
}
.ht-wa__list a span { color: var(--ht-yellow); }
.ht-wa__btn {
	width: 58px; height: 58px; border-radius: 50%; border: 0; background: var(--ht-success); color: #fff; display: grid;
	place-items: center; cursor: pointer; box-shadow: 0 14px 30px -10px rgba(24,134,75,.8);
}

/* Quick view */
.ht-qv { position: fixed; inset: 0; z-index: 130; background: rgba(11,11,13,.72); display: grid; place-items: center; padding: 16px; animation: htFade .2s ease both; }
.ht-qv__box {
	width: min(820px, 100%); max-height: calc(100vh - 32px); overflow: auto; border-radius: 28px; background: #fff;
	display: flex; flex-wrap: wrap; animation: htPop .3s ease both;
}
.ht-qv__media { flex: 1 1 300px; min-height: 300px; display: grid; place-items: center; overflow: hidden; }
.ht-qv__media img { width: 100%; height: 100%; object-fit: cover; }
.ht-qv__body { flex: 1 1 320px; min-width: 0; padding: 28px; display: flex; flex-direction: column; gap: 14px; position: relative; }
.ht-qv__close { position: absolute; right: 14px; top: 14px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--ht-bg); display: grid; place-items: center; cursor: pointer; }
.ht-qv__meta { font-size: 13px; color: var(--ht-muted); font-weight: 700; }
.ht-qv__name { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -0.02em; padding-right: 40px; }
.ht-qv__stock { font-size: 13px; }
.ht-qv__cta .ht-add { min-height: 52px; font-size: 16px; }
.ht-qv__more { font-weight: 800; font-size: 14px; color: var(--ht-black); }
body.ht-lock { overflow: hidden; }

/* ==========================================================================
   Page head, shop, filters
   ========================================================================== */
.ht-pagehead { background: var(--ht-black); color: #fff; }
.ht-pagehead__in { padding-top: 28px; padding-bottom: 36px; display: flex; flex-direction: column; gap: 14px; }
.ht-pagehead__in--narrow { max-width: 860px; }
.ht-pagehead--sm .ht-pagehead__in { padding-bottom: 28px; }
.ht-pagehead h1 { margin: 0; font-weight: 800; font-size: clamp(38px, 5vw, 60px); letter-spacing: -0.035em; line-height: 1; }
.ht-pagehead--sm h1 { font-size: clamp(32px, 4vw, 48px); }
.ht-pagehead p { margin: 0; font-size: 16px; color: var(--ht-grey-2); }
.ht-pagehead__row { display: flex; flex-wrap: wrap; gap: 16px 32px; justify-content: space-between; align-items: flex-end; }
.ht-pagehead__txt { display: flex; flex-direction: column; gap: 8px; }
.ht-pagehead__search {
	flex: 0 1 420px; min-width: 0; display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 18px;
	border-radius: 999px; background: var(--ht-card); border: 1px solid var(--ht-line-dk2);
}
.ht-pagehead__search:focus-within { border-color: var(--ht-yellow); }
.ht-pagehead__search input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; color: #fff; font-size: 15px; height: 100%; }
.ht-pagehead__search input::placeholder { color: var(--ht-grey); }

.ht-crumbs { font-size: 13px; color: var(--ht-grey); display: flex; gap: 8px; flex-wrap: wrap; }
.ht-crumbs a { color: var(--ht-grey); text-decoration: none; }
.ht-crumbs a:hover { color: #fff; }
.ht-crumbs > span:last-child, .ht-crumbs > :last-child:not(a) { color: #fff; font-weight: 700; }
.ht-product-page .ht-crumbs { padding: 24px 0 8px; color: var(--ht-muted); }
.ht-product-page .ht-crumbs a { color: var(--ht-muted); }
.ht-product-page .ht-crumbs > :last-child:not(a) { color: var(--ht-black); }

.ht-typechips { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 6px; }
.ht-typechips a {
	min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1.5px solid #3A3A40; color: #fff;
	display: inline-flex; align-items: center; text-decoration: none; font-weight: 700; font-size: 14px;
}
.ht-typechips a:hover { border-color: var(--ht-yellow); }
.ht-typechips a.is-on { background: var(--ht-yellow); color: var(--ht-black); border-color: var(--ht-yellow); }

.ht-shop { padding-top: 28px; padding-bottom: 72px; display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }
.ht-filters { flex: 1 1 260px; max-width: 100%; display: flex; flex-direction: column; gap: 14px; }
.ht-filters__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.ht-filters__toggle {
	display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px;
	border: 1.5px solid var(--ht-black); background: #fff; font-weight: 800; font-size: 14px; cursor: pointer;
}
.ht-filters__form { display: flex; flex-direction: column; gap: 14px; }
.ht-filters.is-closed .ht-filters__form { display: none; }
.ht-fbox { margin: 0; padding: 18px; border-radius: 20px; background: #fff; border: 1px solid var(--ht-line); display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ht-fbox legend { float: left; padding: 0; margin-bottom: 4px; font-weight: 800; font-size: 15px; }
.ht-fbox legend + * { clear: both; }
.ht-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.ht-pill { position: relative; cursor: pointer; }
.ht-pill input { position: absolute; opacity: 0; pointer-events: none; }
.ht-pill span {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--ht-line-2);
	background: #fff; font-weight: 700; font-size: 13px;
}
.ht-pill input:checked + span { background: var(--ht-black); color: var(--ht-yellow); border-color: var(--ht-black); }
.ht-pill input:focus-visible + span { outline: 3px solid var(--ht-yellow); outline-offset: 2px; }
.ht-checks { display: flex; flex-direction: column; gap: 8px; }
.ht-checks label { display: flex; align-items: center; gap: 10px; font-size: 14px; cursor: pointer; min-height: 28px; }
.ht-checks input { width: 18px; height: 18px; accent-color: var(--ht-black); margin: 0; flex: none; }
.ht-checks span { flex: 1; }
.ht-checks em { font-style: normal; font-size: 12px; color: #6B6B73; }
.ht-switch { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-weight: 800; font-size: 14px; cursor: pointer; }
.ht-switch input { width: 20px; height: 20px; accent-color: var(--ht-black); }

.ht-results { flex: 999 1 600px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.ht-results__bar { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; font-size: 14px; color: #3A3A40; }
.ht-results__bar strong { color: var(--ht-black); }
.woocommerce-ordering { margin: 0 !important; }
.woocommerce-ordering select, .ht-select {
	height: 44px; padding: 0 36px 0 12px; border-radius: 12px; border: 1.5px solid var(--ht-line-2); background: #fff;
	font-size: 14px; font-weight: 600; cursor: pointer;
}
.ht-fchips { display: flex; flex-wrap: wrap; gap: 8px; }
.ht-fchips a {
	display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 12px; border-radius: 999px; background: var(--ht-black);
	color: var(--ht-yellow); font-size: 13px; font-weight: 800; text-decoration: none;
}

.ht-empty {
	padding: 48px 24px; border-radius: 24px; background: #fff; border: 1px dashed var(--ht-line-2);
	display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center;
}
.ht-empty__ico { width: 64px; height: 64px; border-radius: 50%; background: var(--ht-yellow-soft); display: grid; place-items: center; }
.ht-empty strong { font-size: 20px; }
.ht-empty > span { font-size: 14px; color: var(--ht-muted); }
.ht-empty__cta { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }

/* Pagination */
.woocommerce-pagination ul.page-numbers, .ht-pager .nav-links { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; list-style: none; padding: 0; margin: 12px 0 0; border: 0 !important; }
.woocommerce-pagination ul.page-numbers li { border: 0 !important; }
.woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span, .ht-pager .page-numbers {
	min-width: 44px; height: 44px; display: grid !important; place-items: center; border-radius: 999px; background: #fff;
	border: 1.5px solid var(--ht-line-2); font-weight: 800; text-decoration: none; padding: 0 12px !important;
}
.woocommerce-pagination .page-numbers .current, .ht-pager .page-numbers.current { background: var(--ht-black) !important; color: var(--ht-yellow) !important; border-color: var(--ht-black); }

/* ==========================================================================
   Pages, prose, WooCommerce pages
   ========================================================================== */
.ht-page { padding-top: 40px; padding-bottom: 80px; }
.ht-page--prose { max-width: 860px; }
.ht-prose { font-size: 17px; line-height: 1.75; color: #26262B; }
.ht-prose > *:first-child { margin-top: 0; }
.ht-prose h2 { font-size: 28px; letter-spacing: -0.02em; line-height: 1.2; margin: 1.6em 0 .5em; color: var(--ht-black); }
.ht-prose h3 { font-size: 21px; margin: 1.4em 0 .4em; color: var(--ht-black); }
.ht-prose a { text-decoration-color: var(--ht-yellow); text-decoration-thickness: 2px; text-underline-offset: 3px; font-weight: 700; }
.ht-prose blockquote { margin: 1.5em 0; padding: 18px 22px; border-left: 4px solid var(--ht-yellow); background: #fff; border-radius: 0 16px 16px 0; }
.ht-prose img { border-radius: 18px; }
.ht-post-hero { margin-bottom: 28px; border-radius: 24px; overflow: hidden; }
.ht-post-hero img { width: 100%; display: block; }
.ht-vetnote { margin-top: 32px; padding: 14px 18px; border-radius: 14px; background: var(--ht-yellow-soft); font-size: 14px; line-height: 1.55; }

/* Woo notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	border-radius: 16px !important; border: 1px solid var(--ht-line) !important; border-left: 4px solid var(--ht-yellow) !important;
	background: #fff !important; color: var(--ht-black) !important; padding: 14px 18px 14px 48px !important; font-size: 14px; font-weight: 600;
}
.woocommerce-error { border-left-color: var(--ht-error) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ht-black) !important; }
.woocommerce-message .button, .woocommerce-info .button { float: right; }

/* Woo buttons & forms everywhere */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce .wc-block-components-button:not(.is-link) {
	background: var(--ht-yellow) !important; color: var(--ht-black) !important; border-radius: 999px !important;
	font-weight: 800 !important; font-size: 15px !important; padding: 0 24px !important; min-height: 48px;
	display: inline-flex !important; align-items: center; justify-content: center; border: 0 !important; line-height: 1.2 !important;
	transition: background .15s ease, transform .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--ht-yellow-hover) !important; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .5; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text, .ht-wc input[type="text"], .ht-wc input[type="email"], .ht-wc input[type="tel"],
.ht-wc input[type="password"], .ht-wc input[type="number"], .ht-wc select, .ht-wc textarea, .select2-container .select2-selection--single {
	min-height: 50px; padding: 0 16px; border-radius: 14px !important; border: 1.5px solid var(--ht-line-2) !important;
	background: #fff; font-size: 15px; box-shadow: none; outline: none;
}
.ht-wc textarea, .woocommerce form .form-row textarea { padding: 12px 16px; min-height: 110px; }
.select2-container .select2-selection--single { display: flex; align-items: center; height: 50px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; right: 8px; }
.woocommerce form .form-row input.input-text:focus, .ht-wc input:focus, .ht-wc select:focus, .ht-wc textarea:focus { border-color: var(--ht-black) !important; }
.woocommerce form .form-row label, .ht-wc label { font-size: 14px; font-weight: 800; margin-bottom: 6px; }
.woocommerce form .form-row .required { color: var(--ht-error); text-decoration: none; }

/* Cart */
.ht-wc .woocommerce { display: block; }
.woocommerce table.shop_table {
	border-radius: 22px !important; border: 1px solid var(--ht-line) !important; background: #fff; border-collapse: separate !important; overflow: hidden;
}
.woocommerce table.shop_table th { font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--ht-muted); padding: 16px !important; }
.woocommerce table.shop_table td { padding: 16px !important; border-top: 1px solid var(--ht-line) !important; }
.woocommerce table.shop_table td.product-name a { font-weight: 800; color: var(--ht-black); text-decoration: none; }
.woocommerce table.cart img { width: 72px !important; border-radius: 12px; }
.woocommerce table.cart .product-thumbnail .ht-thumb-ph { width: 72px; height: 72px; border-radius: 12px; background: var(--ht-yellow-soft); display: grid; place-items: center; }
.woocommerce a.remove { color: var(--ht-black) !important; border: 1.5px solid var(--ht-line-2); width: 32px; height: 32px; line-height: 28px; font-size: 20px; }
.woocommerce a.remove:hover { background: var(--ht-error) !important; border-color: var(--ht-error); color: #fff !important; }
.woocommerce .quantity .qty { width: 80px; min-height: 44px; border-radius: 12px; border: 1.5px solid var(--ht-line-2); text-align: center; font-weight: 800; }
.woocommerce table.cart td.actions .coupon .input-text { min-height: 48px; border-radius: 999px !important; padding: 0 16px; width: 200px; border: 1.5px solid var(--ht-line-2); }
.woocommerce table.cart td.actions .button[name="update_cart"] { background: var(--ht-black) !important; color: var(--ht-yellow) !important; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout-review-order {
	background: #fff; border-radius: 24px; border: 1px solid var(--ht-line); padding: 24px;
}
.woocommerce .cart-collaterals .cart_totals h2, #order_review_heading, .woocommerce-billing-fields h3, .woocommerce-additional-fields h3, .woocommerce-shipping-fields h3 {
	font-size: 22px; font-weight: 800; letter-spacing: -0.02em; margin: 0 0 14px;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table { border: 0 !important; }
.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 56px; font-size: 16px !important; }
.woocommerce-cart .cart-empty { font-size: 18px; font-weight: 700; }
.woocommerce-cart .return-to-shop .button { background: var(--ht-black) !important; color: var(--ht-yellow) !important; }

/* Checkout */
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 {
	background: #fff; border-radius: 24px; border: 1px solid var(--ht-line); padding: 24px; margin-bottom: 20px;
}
.woocommerce-checkout #payment { background: var(--ht-bg) !important; border-radius: 18px !important; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--ht-line) !important; }
.woocommerce-checkout #payment div.payment_box { background: #fff !important; border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff !important; }
.woocommerce #payment #place_order { width: 100%; min-height: 56px; font-size: 16px !important; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 16px; }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
	border: 1px solid var(--ht-line) !important; border-radius: 22px !important; background: #fff; padding: 22px !important;
}
.woocommerce-order-received .woocommerce-order { background: #fff; border-radius: 24px; padding: 28px; border: 1px solid var(--ht-line); }
.woocommerce ul.order_details { padding: 0; }

/* My account */
.woocommerce-account .woocommerce { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none !important; width: auto !important; flex: 1 1 240px; max-width: 100%; }
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; flex: 999 1 520px; min-width: 0; background: #fff; border-radius: 24px; border: 1px solid var(--ht-line); padding: 24px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 10px; background: var(--ht-black); border-radius: 22px; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-MyAccount-navigation li a { display: flex; align-items: center; min-height: 46px; padding: 0 14px; border-radius: 12px; color: #fff; text-decoration: none; font-weight: 700; font-size: 14px; }
.woocommerce-MyAccount-navigation li a:hover { background: var(--ht-card); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--ht-yellow); color: var(--ht-black); }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.woocommerce-account .u-columns.col2-set { display: flex; flex-wrap: wrap; gap: 24px; }
.woocommerce-account .u-columns.col2-set .u-column1, .woocommerce-account .u-columns.col2-set .u-column2 { float: none; width: auto; flex: 1 1 340px; }
.woocommerce-account .u-columns h2 { font-size: 24px; font-weight: 800; }

/* Single product */
.ht-product-page { padding-bottom: 72px; }
.ht-product-page div.product { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; padding-top: 12px; }
.ht-product-page div.product div.images, .woocommerce div.product div.images { float: none !important; width: auto !important; flex: 1 1 440px; min-width: 0; margin: 0 !important; }
.ht-product-page div.product div.summary, .woocommerce div.product div.summary { float: none !important; width: auto !important; flex: 1 1 400px; min-width: 0; margin: 0 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border-radius: 28px; overflow: hidden; background: #fff; }
.woocommerce div.product div.images img { border-radius: 28px; }
.ht-single-ph { aspect-ratio: 1; display: grid !important; place-items: center; border-radius: 28px; }
.woocommerce div.product .product_title { font-size: clamp(30px, 3.6vw, 44px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; margin-bottom: 6px; }
.ht-single-meta { margin: 0 0 12px; font-size: 14px; color: var(--ht-muted); font-weight: 700; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ht-black) !important; font-size: 28px !important; font-weight: 800; }
.woocommerce div.product p.price del { color: #8A8A92; font-size: 18px; font-weight: 600; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #3A3A40; font-size: 16px; }
.woocommerce div.product .stock { font-weight: 800; font-size: 14px; }
.woocommerce div.product .stock.in-stock { color: var(--ht-success) !important; }
.woocommerce div.product .stock.out-of-stock { color: var(--ht-error) !important; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 20px 0 !important; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart .quantity { margin: 0 !important; }
.woocommerce div.product form.cart .quantity .qty { min-height: 54px; border-radius: 999px; width: 96px; }
.woocommerce div.product form.cart .button { flex: 1 1 220px; min-height: 54px; font-size: 16px !important; }
.ht-single-trust { list-style: none; margin: 18px 0; padding: 16px; border-radius: 18px; background: #fff; border: 1px solid var(--ht-line); display: flex; flex-direction: column; gap: 10px; }
.ht-single-trust li { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; }
.ht-single-trust svg { color: var(--ht-black); background: var(--ht-yellow); border-radius: 8px; padding: 3px; width: 26px; height: 26px; }
.woocommerce div.product .product_meta { font-size: 13px; color: var(--ht-muted); display: flex; flex-direction: column; gap: 4px; }
.woocommerce div.product .product_meta a { color: var(--ht-black); font-weight: 700; }
.woocommerce div.product .woocommerce-tabs { flex: 1 1 100%; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 5px !important; margin: 0 0 18px !important; display: inline-flex; gap: 6px; border-radius: 999px; background: var(--ht-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0 !important; background: transparent !important; border-radius: 999px !important; margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 18px !important; font-weight: 800 !important; color: var(--ht-black) !important; display: block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--ht-black) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ht-yellow) !important; }
.woocommerce div.product .woocommerce-tabs .panel { background: #fff; border-radius: 24px; border: 1px solid var(--ht-line); padding: 24px; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { font-size: 22px; font-weight: 800; }
.woocommerce .related, .woocommerce .upsells { flex: 1 1 100%; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-weight: 800; font-size: clamp(26px, 3vw, 34px); letter-spacing: -0.025em; margin: 12px 0 20px; }
.woocommerce span.onsale { display: none; }
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: #E0A800; }

/* ==========================================================================
   Product page (custom template)
   ========================================================================== */
.ht-pd { display: block !important; }
.ht-pd__top { display: flex; flex-wrap: wrap; gap: 40px; margin-top: 20px; align-items: flex-start; }
.ht-pd__gallery { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.ht-pd__stage {
	position: relative; width: 100%; height: 540px; border-radius: 28px; border: 1px solid var(--ht-line); overflow: hidden;
	padding: 0; display: grid; place-items: center; cursor: zoom-in;
}
.ht-pd__stage img, .ht-pd__stage [data-pd-main] { width: 100%; height: 100%; object-fit: cover; display: grid; place-items: center; transition: transform .35s ease; }
.ht-pd__stage.is-zoom { cursor: zoom-out; }
.ht-pd__stage.is-zoom img, .ht-pd__stage.is-zoom [data-pd-main] { transform: scale(1.9); }
.ht-pd__badge { position: absolute; left: 16px; top: 16px; padding: 6px 12px; border-radius: 999px; background: var(--ht-yellow); font-size: 13px; font-weight: 800; }
.ht-pd__zoomico { position: absolute; right: 16px; bottom: 16px; width: 44px; height: 44px; border-radius: 50%; background: #fff; display: grid; place-items: center; }
.ht-pd__thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 10px; }
.ht-pd__thumbs button { height: 92px; border-radius: 16px; border: 2.5px solid transparent; background: #fff; padding: 0; overflow: hidden; cursor: pointer; }
.ht-pd__thumbs button[aria-pressed="true"] { border-color: var(--ht-black); }
.ht-pd__thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ht-pd__buy { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.ht-pd__head { display: flex; flex-direction: column; gap: 8px; }
.ht-pd__brand { font-size: 13px; font-weight: 800; color: var(--ht-olive); }
.ht-pd .product_title { margin: 0; font-weight: 800; font-size: clamp(32px, 3.4vw, 44px); line-height: 1.05; letter-spacing: -0.03em; }
.ht-pd__sub { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--ht-muted); }
.ht-pd__sub a { color: var(--ht-black); font-weight: 700; }
.ht-pd__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ht-pd__chips span { padding: 7px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--ht-line); font-size: 13px; font-weight: 700; }
.ht-pd__price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.ht-pd__price strong { font-size: 34px; letter-spacing: -0.02em; }
.ht-pd__price s { font-size: 17px; color: #8A8A92; }
.ht-pd__price .ht-stock { font-size: 13px; font-weight: 800; }
.ht-pd__facts { display: flex; flex-wrap: wrap; gap: 8px; }
.ht-pd__fact { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 12px; background: #fff; border: 1.5px solid var(--ht-black); font-size: 13px; font-weight: 800; }

.ht-pd__form, .woocommerce div.product form.cart.ht-pd__form { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 14px; margin: 0 !important; }
.ht-pd__sizes { border: 0; margin: 0; padding: 0; min-width: 0; }
.ht-pd__sizes legend { font-weight: 800; font-size: 14px; padding: 0; margin-bottom: 10px; }
.ht-pd__sizes legend span { font-weight: 600; }
.ht-pd__sizegrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(110px, 100%), 1fr)); gap: 10px; }
.ht-pd__sizegrid button {
	min-height: 66px; border-radius: 16px; border: 2px solid var(--ht-line-2); background: #fff; cursor: pointer;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: var(--ht-black);
}
.ht-pd__sizegrid button strong { font-size: 16px; }
.ht-pd__sizegrid button span { font-size: 12px; color: #3A3A40; }
.ht-pd__sizegrid button[aria-pressed="true"] { border-color: var(--ht-black); background: var(--ht-yellow-soft); }
.ht-pd__sizegrid button.is-out { opacity: .55; }
.ht-pd__sizegrid button.is-out strong { text-decoration: line-through; }

.ht-pd__row { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.ht-qty { display: flex; align-items: center; border: 2px solid var(--ht-black); border-radius: 999px; height: 56px; background: #fff; }
.ht-qty button { width: 52px; height: 52px; border: 0; background: transparent; font-size: 22px; cursor: pointer; border-radius: 50%; }
.ht-qty button:hover { background: var(--ht-bg); }
.ht-qty input { width: 40px; border: 0; text-align: center; font-weight: 800; font-size: 17px; background: transparent; -moz-appearance: textfield; }
.ht-qty input::-webkit-outer-spin-button, .ht-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ht-pd__add {
	flex: 1 1 200px; min-height: 56px; border: 0; border-radius: 999px; background: var(--ht-yellow); color: var(--ht-black);
	font-weight: 800; font-size: 17px; cursor: pointer; box-shadow: 0 10px 30px -12px rgba(255,212,0,.8); transition: transform .15s ease, background .15s;
}
.ht-pd__add:hover { background: var(--ht-yellow-hover); }
.ht-pd__add:active, .ht-pd__now:active { transform: scale(.97); }
.ht-pd__wish { width: 56px; height: 56px; border-radius: 50%; border: 2px solid var(--ht-black); background: #fff; display: grid; place-items: center; cursor: pointer; }
.ht-pd__wish[aria-pressed="true"] svg { fill: var(--ht-yellow); }
.ht-pd__now {
	display: flex; justify-content: center; align-items: center; min-height: 54px; border-radius: 999px; border: 0;
	background: var(--ht-black); color: #fff; font-weight: 800; font-size: 16px; cursor: pointer; width: 100%;
}
.ht-pd__oos .ht-add { width: 100%; min-height: 54px; font-size: 16px; }

.ht-pd__ship { border-radius: 20px; background: #fff; border: 1px solid var(--ht-line); padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.ht-pd__shiphead { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.ht-pd__shiphead label { font-weight: 800; font-size: 14px; display: flex; align-items: center; gap: 8px; }
.ht-pd__shiphead .ht-select { height: 42px; font-weight: 700; }
.ht-pd__shipgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr)); gap: 10px; }
.ht-pd__shipgrid > div { padding: 12px; border-radius: 14px; background: var(--ht-bg); }
.ht-pd__shipgrid span { display: block; font-size: 12px; color: var(--ht-muted); }
.ht-pd__shipgrid strong { font-size: 15px; }
.ht-pd__shipgrid .is-yes { color: var(--ht-success); }
.ht-pd__shipgrid .is-no { color: var(--ht-error); }
.ht-pd__shipgrid .is-check { color: var(--ht-warn); }
.ht-pd__return { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: #3A3A40; line-height: 1.5; }
.ht-pd__return svg { flex: none; margin-top: 1px; }
.ht-pd__return a { font-weight: 800; color: var(--ht-black); }
.ht-pd__wcform form.cart { margin: 0 !important; }

.ht-pd__tabs { margin-top: 56px; }
.ht-pd__tabbar { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 2px solid var(--ht-line); }
.ht-pd__tabbar button, .ht-pd__tablink {
	min-height: 52px; padding: 0 20px; margin-bottom: -2px; border: 0; border-bottom: 3px solid transparent; background: transparent;
	font-weight: 800; font-size: 15px; color: var(--ht-muted); cursor: pointer; display: inline-flex; align-items: center; text-decoration: none;
}
.ht-pd__tabbar button[aria-selected="true"] { color: var(--ht-black); border-bottom-color: var(--ht-yellow); }
.ht-pd__tablink:hover, .ht-pd__tabbar button:hover { color: var(--ht-black); }
.ht-pd__tabbody { padding: 28px 0; display: flex; flex-wrap: wrap; gap: 32px; }
.ht-pd__panels { flex: 2 1 480px; min-width: 0; }
.ht-pd__panels .ht-prose { font-size: 16px; }
.ht-pd__panels h3 { margin: 0 0 12px; font-size: 22px; font-weight: 800; }
.ht-pd__specs { flex: 1 1 280px; min-width: 0; align-self: flex-start; padding: 20px; border-radius: 20px; background: #fff; border: 1px solid var(--ht-line); display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.ht-pd__specs > strong { font-size: 16px; }
.ht-pd__specs div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #F0F0F3; }
.ht-pd__specs div span { color: var(--ht-muted); }
.ht-pd__specs div strong { text-align: right; }

.ht-pd__reviews { display: flex; flex-wrap: wrap; gap: 32px; scroll-margin-top: 20px; }
.ht-pd__rvsum { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.ht-pd__rvsum h2 { margin: 0; font-weight: 800; font-size: clamp(26px, 3vw, 34px); letter-spacing: -0.02em; }
.ht-pd__avg { font-size: 44px; letter-spacing: -0.03em; }
.ht-pd__avg span { font-size: 16px; color: var(--ht-muted); font-weight: 700; }
.ht-pd__avg--none { font-size: 22px; }
.ht-pd__rvlist { flex: 2 1 520px; min-width: 0; }
.ht-pd__rvlist #reviews { margin: 0; }
.ht-pd__rvlist .woocommerce-Reviews-title { display: none; }
.ht-pd__rvlist ol.commentlist { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ht-pd__rvlist ol.commentlist li { margin: 0 !important; }
.ht-pd__rvlist .comment_container { padding: 18px; border-radius: 18px; background: #fff; border: 1px solid var(--ht-line); display: flex; gap: 12px; }
.ht-pd__rvlist .comment_container img.avatar { position: static !important; width: 40px !important; height: 40px; border-radius: 50%; border: 0 !important; padding: 0 !important; background: transparent !important; flex: none; }
.ht-pd__rvlist .comment-text { margin: 0 !important; border: 0 !important; padding: 0 !important; flex: 1; }
.ht-pd__rvlist .woocommerce-noreviews { padding: 18px; border-radius: 18px; background: #fff; border: 1px dashed var(--ht-line-2); margin: 0 0 16px; }
.ht-pd__rvlist #review_form_wrapper { padding: 22px; border-radius: 20px; background: #fff; border: 1px solid var(--ht-line); }
.ht-pd__rvlist .comment-reply-title { font-size: 18px; font-weight: 800; display: block; margin-bottom: 10px; }
.ht-pd__rvlist textarea, .ht-pd__rvlist input[type="text"], .ht-pd__rvlist input[type="email"] { width: 100%; border-radius: 14px; border: 1.5px solid var(--ht-line-2); padding: 12px 14px; }
.ht-pd__rvlist .woocommerce-verification-required { padding: 16px 18px; border-radius: 16px; background: var(--ht-yellow-soft); margin: 0; font-weight: 600; }

.ht-pd__combo {
	margin-top: 48px; padding: 24px; border-radius: 24px; border: 1.5px dashed var(--ht-line-2); display: flex; flex-wrap: wrap;
	gap: 12px 24px; align-items: center; justify-content: space-between;
}
.ht-pd__combo > div { display: flex; flex-direction: column; gap: 4px; }
.ht-pd__combo h2 { margin: 0; font-weight: 800; font-size: 20px; }
.ht-pd__combo span { font-size: 14px; color: var(--ht-muted); }
.ht-pd .related, .ht-pd .upsells { margin-top: 48px; }

/* ==========================================================================
   Cart (custom template)
   ========================================================================== */
.ht-page--flow { padding-top: 32px; }
.ht-btn--sm { min-height: 42px; padding: 0 16px; font-size: 13px; }
.ht-btn--outline { border: 2px solid var(--ht-black); background: #fff; color: var(--ht-black); }
.ht-btn--off { background: var(--ht-line); color: #6B6B73; cursor: default; }
.ht-btn--off:hover { transform: none; }

.ht-cartpage__h { margin: 0 0 24px; font-weight: 800; font-size: clamp(36px, 4.4vw, 54px); letter-spacing: -0.035em; line-height: 1.05; }
.ht-cartpage__h span { font-size: 20px; color: var(--ht-muted); font-weight: 700; letter-spacing: 0; }
.ht-cartpage { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }
.ht-cart__main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.ht-cart__items { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.ht-cart__update { position: absolute; left: -9999px; }
.ht-cline { display: flex; flex-wrap: wrap; gap: 16px; padding: 16px; border-radius: 22px; background: #fff; border: 1px solid var(--ht-line); animation: htPop .3s ease both; }
.ht-cline__img { flex: none; width: 108px; height: 108px; border-radius: 16px; display: grid; place-items: center; overflow: hidden; }
.ht-cline__img img { width: 100%; height: 100%; object-fit: cover; }
.ht-cline__info { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.ht-cline__name { font-weight: 800; font-size: 17px; color: var(--ht-black); text-decoration: none; }
.ht-cline__name:hover { text-decoration: underline; text-decoration-color: var(--ht-yellow); }
.ht-cline__var { font-size: 13px; color: var(--ht-muted); }
.ht-cline .ht-stock { font-size: 13px; font-weight: 800; }
.ht-cline__acts { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 4px; }
.ht-cline__acts a { min-height: 32px; display: inline-flex; align-items: center; font-size: 13px; font-weight: 800; color: var(--ht-black); }
.ht-cline__acts a.is-danger { color: var(--ht-error); }
.ht-cline__side { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 12px; margin-left: auto; }
.ht-cline__total { font-size: 18px; }
.ht-qty--sm { height: 44px; border: 1.5px solid var(--ht-line-2); }
.ht-qty--sm button { width: 42px; height: 42px; font-size: 20px; }
.ht-qty--sm input { width: 30px; font-size: 15px; }
.ht-qty button:disabled { opacity: .35; cursor: default; }

.ht-saved { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.ht-saved h2 { margin: 0; font-size: 20px; font-weight: 800; }
.ht-saved__row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 18px; background: #fff; border: 1px dashed var(--ht-line-2); }
.ht-saved__img { width: 60px; height: 60px; border-radius: 12px; background: #ECECF0; display: grid; place-items: center; overflow: hidden; }
.ht-saved__img img { width: 100%; height: 100%; object-fit: cover; }
.ht-saved__txt { flex: 1; min-width: 160px; display: flex; flex-direction: column; }
.ht-saved__txt strong { font-size: 15px; }
.ht-saved__txt .ht-stock { font-size: 13px; }
.ht-saved__x { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; color: var(--ht-muted); }
.ht-saved__x:hover { background: var(--ht-bg); color: var(--ht-black); }
.ht-saved--empty { max-width: 640px; margin: 24px auto 0; }

.ht-cart__aside { flex: 1 1 340px; min-width: 0; position: sticky; top: 16px; display: flex; flex-direction: column; gap: 14px; }
.ht-sum { border-radius: 26px; background: var(--ht-black); color: #fff; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.ht-sum h2 { margin: 0; font-size: 20px; font-weight: 800; }
.ht-sum__field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.ht-sum__field label { font-size: 13px; font-weight: 700; color: var(--ht-grey-2); }
.ht-sum select, .ht-sum input[type="text"] {
	height: 46px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--ht-line-dk2); background: var(--ht-card);
	color: #fff; font-size: 14px; font-weight: 700; outline: none;
}
.ht-sum select:focus, .ht-sum input:focus { border-color: var(--ht-yellow); }
.ht-sum input[type="text"] { flex: 1; min-width: 0; text-transform: uppercase; font-weight: 600; }
.ht-sum input::placeholder { color: #8A8A92; }
.ht-sum__coupon { display: flex; gap: 8px; }
.ht-sum__coupon button { height: 46px; padding: 0 16px; border-radius: 12px; border: 0; background: var(--ht-yellow); color: var(--ht-black); font-weight: 800; cursor: pointer; }
.ht-sum__lines { display: flex; flex-direction: column; gap: 10px; padding-top: 14px; border-top: 1px solid var(--ht-line-dk); font-size: 15px; }
.ht-sum__lines > div { display: flex; justify-content: space-between; gap: 12px; }
.ht-sum__lines > div > span { color: var(--ht-grey-2); }
.ht-sum__lines .is-discount strong { color: #4FD18B; }
.ht-sum__lines .is-discount a { color: var(--ht-grey); font-size: 12px; margin-left: 6px; }
.ht-sum__lines .woocommerce-Price-amount { color: inherit; }
.ht-sum__free { flex-direction: column; gap: 7px !important; padding: 12px; border-radius: 14px; background: var(--ht-charcoal); }
.ht-sum__free span { font-size: 12px; color: #E4E4E8 !important; font-weight: 700; }
.ht-sum__bar { height: 8px; border-radius: 999px; background: #2E2E34; overflow: hidden; }
.ht-sum__bar i { display: block; height: 100%; background: var(--ht-yellow); border-radius: 999px; transition: width .4s ease; }
.ht-sum__total { align-items: baseline; padding-top: 12px; border-top: 1px solid var(--ht-line-dk); }
.ht-sum__total span { font-weight: 800; color: #fff !important; }
.ht-sum__total strong { font-size: 26px; color: var(--ht-yellow); }
.ht-sum__go {
	display: flex; justify-content: center; align-items: center; min-height: 56px; border-radius: 999px; background: var(--ht-yellow);
	color: var(--ht-black); font-weight: 800; font-size: 17px; text-decoration: none; transition: background .15s;
}
.ht-sum__go:hover { background: var(--ht-yellow-hover); }
.ht-sum__note { font-size: 12px; color: #8A8A92; line-height: 1.5; }
.ht-sum__cod { display: flex; gap: 10px; align-items: center; padding: 14px 16px; border-radius: 18px; background: #fff; border: 1px solid var(--ht-line); font-size: 13px; }
.ht-sum__cod svg { color: var(--ht-success); flex: none; }
.ht-sum__cod.is-no svg { color: var(--ht-error); }
.ht-sum__cod.is-check svg { color: var(--ht-warn); }

.ht-cart-empty {
	padding: 64px 24px; border-radius: 28px; background: #fff; border: 1px solid var(--ht-line); display: flex; flex-direction: column;
	align-items: center; gap: 14px; text-align: center; animation: htPop .35s ease both;
}
.ht-cart-empty__ico { width: 88px; height: 88px; border-radius: 50%; background: var(--ht-yellow-soft); display: grid; place-items: center; }
.ht-cart-empty h2 { margin: 0; font-size: 26px; font-weight: 800; }
.ht-cart-empty p { margin: 0; font-size: 15px; color: var(--ht-muted); }
.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 18px; }
.ht-wc .ht-qty input[type="number"] { min-height: 0; height: 40px; padding: 0; border: 0 !important; border-radius: 0 !important; background: transparent; }
.ht-wc .ht-sum select, .ht-wc .ht-sum input[type="text"] { min-height: 46px; border: 1px solid var(--ht-line-dk2) !important; border-radius: 12px !important; background: var(--ht-card); color: #fff; }
.ht-wc .ht-sum select:focus, .ht-wc .ht-sum input[type="text"]:focus { border-color: var(--ht-yellow) !important; }
.ht-sum label { margin: 0 !important; }
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus, .woocommerce-notices-wrapper:focus { outline: none; }

/* ==========================================================================
   Checkout (custom templates)
   ========================================================================== */
.ht-header--slim .ht-slim { max-width: 1180px; padding-top: 14px; padding-bottom: 14px; display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; }
.ht-header--slim .ht-logo img { height: 54px; }
.ht-slim__right { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font-size: 13px; font-weight: 700; color: var(--ht-grey-2); }
.ht-slim__secure { display: flex; align-items: center; gap: 6px; }
.ht-slim__back { color: var(--ht-yellow); text-decoration: none; }
.ht-lang--dark button { border-color: var(--ht-line-dk2); color: #fff; min-height: 32px; }
.ht-lang--dark button[aria-pressed="true"] { background: var(--ht-yellow); color: var(--ht-black); }
.woocommerce-checkout .ht-page--flow { max-width: 1180px; padding-top: 28px; }

.ht-steps { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 8px; }
.ht-steps li { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px; background: #fff; color: #6B6B73; border: 1px solid var(--ht-line); font-size: 14px; font-weight: 800; }
.ht-steps li span { flex: none; width: 28px; height: 28px; border-radius: 50%; background: #ECECF0; color: var(--ht-black); display: grid; place-items: center; font-size: 13px; }
.ht-steps li.is-done { color: var(--ht-black); }
.ht-steps li.is-done span { background: var(--ht-yellow); }
.ht-steps li.is-on { background: var(--ht-black); color: #fff; border-color: var(--ht-black); }
.ht-steps li.is-on span { background: var(--ht-yellow); }

.ht-co { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; margin: 0; }
.ht-co > .woocommerce-NoticeGroup, .ht-co > .woocommerce-error, .ht-co > .woocommerce-message { flex: 1 1 100%; margin: 0; }
.ht-co__main { flex: 999 1 560px; min-width: 0; border-radius: 26px; background: #fff; border: 1px solid var(--ht-line); padding: clamp(20px, 3vw, 32px); animation: htPop .3s ease both; }
.ht-co__step { display: flex; flex-direction: column; gap: 18px; }
.ht-co__step h1, .ht-ty h1 { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
.ht-co__alert { padding: 12px 14px; border-radius: 12px; background: #FDECEA; color: #A3261B; font-size: 14px; font-weight: 700; margin-bottom: 16px; }
.ht-co__fields .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ht-co__fields .form-row { margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; display: flex; flex-direction: column; gap: 6px; }
.ht-co__fields .form-row-wide, .ht-co__fields #billing_address_1_field, .ht-co__fields #order_comments_field { grid-column: 1 / -1; }
.ht-co__fields #billing_country_field { display: none !important; }
.ht-co__fields .form-row label { font-size: 14px; font-weight: 800; margin: 0; line-height: 1.4; }
.ht-co__fields .form-row label .optional { display: none; }
.ht-co__fields .form-row .required { color: var(--ht-error); text-decoration: none; border: 0; }
.ht-hint { font-weight: 600; color: #6B6B73; }
.ht-co__fields .woocommerce-input-wrapper { display: block; }
.ht-co__fields input.input-text, .ht-co__fields select, .ht-co__fields textarea {
	width: 100%; min-height: 52px; padding: 0 16px; border-radius: 14px !important; border: 1.5px solid var(--ht-line-2) !important; font-size: 16px; background: #fff;
}
.ht-co__fields textarea { padding: 14px 16px; min-height: 96px; resize: vertical; }
.ht-co__fields .woocommerce-invalid input.input-text, .ht-co__fields .woocommerce-invalid select, .ht-co__fields .woocommerce-invalid textarea { border-color: var(--ht-error) !important; }
.ht-co__fields .woocommerce-validated input.input-text { border-color: var(--ht-line-2) !important; }
.ht-ferr { font-size: 13px; font-weight: 700; color: var(--ht-error); }
.ht-co__fields .ht-city-other.is-hidden { display: none !important; }
.ht-co__fields .create-account label { display: flex; gap: 10px; align-items: center; font-weight: 700; }
.ht-co__fields .woocommerce-account-fields { margin-top: 14px; }

.ht-co__nav { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ht-co__nav--end { justify-content: flex-end; }
.ht-btn--xs { min-height: 36px; padding: 0 12px; font-size: 13px; border-width: 1.5px; }

.ht-opt {
	display: flex; gap: 14px; align-items: center; padding: 18px; border-radius: 18px; border: 2px solid var(--ht-line); background: #fff;
	cursor: pointer; margin: 0;
}
.ht-opt.is-on, .ht-opt:has(input:checked) { border-color: var(--ht-black); background: var(--ht-yellow-soft); }
.ht-opt input { width: 20px; height: 20px; accent-color: var(--ht-black); margin: 0; flex: none; }
.ht-opt__txt { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.ht-opt__txt strong { font-size: 16px; }
.ht-opt__txt span { font-size: 13px; color: var(--ht-muted); }
.ht-opt__fee { font-size: 16px; white-space: nowrap; }
.ht-opt.is-off { cursor: not-allowed; opacity: .55; }
.ht-tag { padding: 5px 10px; border-radius: 999px; background: #ECECF0; color: #3A3A40; font-size: 12px; font-weight: 800; white-space: nowrap; }
.ht-tag--ok { background: #E3F4EA; color: var(--ht-success); }
.ht-co-deliv { display: flex; flex-direction: column; gap: 10px; }
.ht-pay-opts { display: flex; flex-direction: column; gap: 10px; background: transparent !important; border-radius: 0 !important; }
.ht-pay-opts ul.wc_payment_methods { list-style: none; margin: 0 !important; padding: 0 !important; border: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.ht-pay-opts li.wc_payment_method { margin: 0 !important; }
.ht-pay-opts .payment_box { margin: 10px 0 0 !important; padding: 16px !important; border-radius: 14px; background: var(--ht-bg) !important; }
.ht-pay-none { padding: 16px; border-radius: 14px; background: #FDECEA; color: #A3261B; font-weight: 700; }

.ht-co__review { display: flex; flex-direction: column; gap: 10px; }
.ht-co__rrow { display: flex; gap: 14px; justify-content: space-between; align-items: flex-start; padding: 16px; border-radius: 16px; background: var(--ht-bg); }
.ht-co__rrow > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ht-co__rrow em { font-style: normal; font-size: 12px; font-weight: 800; color: #6B6B73; text-transform: uppercase; letter-spacing: .05em; }
.ht-co__rrow b { font-size: 15px; font-weight: 700; white-space: pre-line; overflow-wrap: anywhere; }
.ht-co__agree { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; cursor: pointer; }
.ht-co__agree input { width: 20px; height: 20px; margin: 0; accent-color: var(--ht-black); flex: none; }
.ht-co__agree a { font-weight: 800; color: var(--ht-black); }
.ht-co .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--ht-muted); }
.ht-co .woocommerce-privacy-policy-text p { margin: 0; }
.ht-co__place {
	display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 30px; border-radius: 999px; border: 0;
	background: var(--ht-yellow); color: var(--ht-black); font-weight: 800; font-size: 16px; cursor: pointer;
}
.ht-co__place:disabled { background: var(--ht-line); color: #6B6B73; cursor: not-allowed; }
.ht-co.processing .ht-co__place::before { content: ''; width: 18px; height: 18px; border-radius: 50%; border: 3px solid rgba(11,11,13,.25); border-top-color: var(--ht-black); animation: htSpin .8s linear infinite; }
@keyframes htSpin { to { transform: rotate(360deg); } }
.ht-co .blockUI.blockOverlay { border-radius: 26px; }

.ht-co__aside { flex: 1 1 320px; min-width: 0; position: sticky; top: 16px; }
.ht-co__aside #order_review { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }
.ht-co-sum { border-radius: 26px; background: var(--ht-black); color: #fff; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.ht-co-sum h2 { margin: 0; font-size: 19px; font-weight: 800; }
.ht-co-sum__items { display: flex; flex-direction: column; gap: 10px; }
.ht-co-sum__items > div, .ht-co-sum__lines > div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.ht-co-sum__items span { color: var(--ht-grey-2); }
.ht-co-sum__items em { font-style: normal; color: #8A8A92; }
.ht-co-sum__lines { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; border-top: 1px solid var(--ht-line-dk); }
.ht-co-sum__lines > div > span { color: var(--ht-grey-2); }
.ht-co-sum__lines .is-discount strong { color: #4FD18B; }
.ht-co-sum__total { align-items: baseline; padding-top: 10px; border-top: 1px solid var(--ht-line-dk); }
.ht-co-sum__total span { font-weight: 800; color: #fff !important; }
.ht-co-sum__total strong { font-size: 24px; color: var(--ht-yellow); }
.ht-co-sum__note { font-size: 12px; color: #8A8A92; line-height: 1.5; }
.ht-co-sum__edit { font-size: 13px; font-weight: 800; color: var(--ht-yellow); }
.ht-co-sum__addr { display: flex; flex-direction: column; gap: 4px; padding-top: 12px; border-top: 1px solid var(--ht-line-dk); font-size: 14px; }
.ht-co-sum__addr span { font-size: 12px; color: #8A8A92; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.ht-co-sum__addr em { font-style: normal; color: var(--ht-grey-2); }
.ht-co-sum .woocommerce-Price-amount { color: inherit; }

.ht-ty { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.ht-ty h1 { font-size: 32px; }
.ht-ty__ico { width: 72px; height: 72px; border-radius: 50%; background: var(--ht-yellow); display: grid; place-items: center; }
.ht-ty__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 10px; width: 100%; }
.ht-ty__grid > div { padding: 14px; border-radius: 14px; background: var(--ht-bg); }
.ht-ty__grid span { display: block; font-size: 12px; color: #6B6B73; font-weight: 700; }
.ht-ty__grid strong { font-size: 17px; }
.ht-ty__grid .is-warn { color: var(--ht-warn); }
.ht-ty p { margin: 0; font-size: 16px; line-height: 1.6; color: #3A3A40; }
.ht-ty p.ht-note { font-size: 13px; }
.ht-ty__cta { justify-content: flex-start; }

/* ==========================================================================
   My Account (custom templates)
   ========================================================================== */
.woocommerce-account .ht-wc > .woocommerce { display: block; }
.ht-auth { display: flex; flex-wrap: wrap; gap: 28px; align-items: stretch; }
.ht-auth__intro {
	flex: 1 1 380px; min-width: 0; border-radius: 28px; background: var(--ht-black); color: #fff; padding: clamp(24px, 4vw, 44px);
	display: flex; flex-direction: column; justify-content: space-between; gap: 28px; position: relative; overflow: hidden;
}
.ht-auth__glow { position: absolute; right: -90px; bottom: -90px; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(255,212,0,.35), rgba(255,212,0,0) 65%); }
.ht-auth__intro img { width: 150px; height: auto; display: block; }
.ht-auth__copy { display: flex; flex-direction: column; gap: 12px; position: relative; }
.ht-auth__copy h1 { margin: 0; font-weight: 800; font-size: clamp(32px, 3.6vw, 46px); letter-spacing: -0.03em; line-height: 1.05; }
.ht-auth__copy ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 15px; color: var(--ht-grey-2); }
.ht-auth__copy li { display: flex; gap: 10px; align-items: center; }
.ht-auth__copy li i { width: 22px; height: 22px; border-radius: 50%; background: var(--ht-yellow); color: var(--ht-black); display: grid; place-items: center; font-size: 12px; font-weight: 800; font-style: normal; flex: none; }
.ht-auth__card { flex: 1 1 420px; min-width: 0; border-radius: 28px; background: #fff; border: 1px solid var(--ht-line); padding: clamp(22px, 4vw, 40px); animation: htPop .3s ease both; }
.ht-auth__form, .woocommerce form.ht-auth__form { display: flex; flex-direction: column; gap: 14px; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent; }
.ht-auth__form[hidden], .woocommerce form.ht-auth__form[hidden] { display: none !important; }
.ht-auth__form h2 { margin: 0; font-size: 26px; font-weight: 800; }
.ht-auth__form > p { margin: 0; font-size: 15px; color: #3A3A40; }
.ht-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.ht-field label { font-size: 14px; font-weight: 800; margin: 0 !important; }
.ht-wc .ht-field input { height: 52px; min-height: 52px; padding: 0 16px; font-size: 16px; width: 100%; }
.ht-auth__row { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; align-items: center; }
.ht-checkline { display: flex; gap: 10px; align-items: center; font-size: 14px; font-weight: 600 !important; cursor: pointer; margin: 0 !important; }
.ht-checkline input { width: 18px; height: 18px; accent-color: var(--ht-black); margin: 0; }
.ht-auth__link { border: 0; background: transparent; padding: 0; font-weight: 800; font-size: 14px; color: var(--ht-black); text-decoration: underline; cursor: pointer; min-height: 32px; display: inline-flex; align-items: center; align-self: flex-start; }
.ht-auth__submit { min-height: 54px; border-radius: 999px; border: 0; background: var(--ht-yellow); color: var(--ht-black); font-weight: 800; font-size: 16px; cursor: pointer; transition: background .15s; }
.ht-auth__submit:hover { background: var(--ht-yellow-hover); }
.ht-auth__foot { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; font-size: 14px; padding-top: 6px; }
.ht-auth__foot .ht-auth__link { align-self: auto; }
.ht-okbox { padding: 12px 14px; border-radius: 12px; background: #E3F4EA; color: #12693A; font-size: 14px; font-weight: 700; }
.ht-auth .woocommerce-privacy-policy-text { font-size: 12px; color: #6B6B73; }
.ht-auth .woocommerce-privacy-policy-text p { margin: 0; }

.ht-acc { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.ht-acc__nav {
	flex: 1 1 240px; min-width: 0; border-radius: 24px; background: var(--ht-black); color: #fff; padding: 18px;
	display: flex; flex-direction: column; gap: 4px; float: none !important; width: auto !important;
}
.ht-acc__me { display: flex; align-items: center; gap: 12px; padding: 6px 8px 16px; border-bottom: 1px solid var(--ht-line-dk); margin-bottom: 8px; min-width: 0; }
.ht-acc__me > span:first-child { width: 44px; height: 44px; border-radius: 50%; background: var(--ht-yellow); color: var(--ht-black); display: grid; place-items: center; font-weight: 800; flex: none; }
.ht-acc__me > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.ht-acc__me em { font-style: normal; font-size: 12px; color: var(--ht-grey); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ht-acc__link { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 12px; border-radius: 12px; color: #fff; text-decoration: none; font-weight: 700; font-size: 14px; }
.ht-acc__link:hover { background: var(--ht-card); }
.ht-acc__link span { font-size: 12px; color: #8A8A92; }
.ht-acc__link.is-on { background: var(--ht-yellow); color: var(--ht-black); }
.ht-acc__link.is-on span { color: var(--ht-black); }
.ht-acc__logout { margin-top: 8px; min-height: 44px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--ht-line-dk2); color: #fff; font-weight: 700; font-size: 14px; display: flex; align-items: center; text-decoration: none; }
.ht-acc__logout:hover { border-color: var(--ht-yellow); }
.ht-acc__main {
	flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 16px; animation: htPop .3s ease both;
	float: none !important; width: auto !important; background: transparent !important; border: 0 !important; padding: 0 !important;
}
.ht-acc__h { margin: 0; font-weight: 800; font-size: clamp(28px, 3.2vw, 40px); letter-spacing: -0.03em; }
.ht-acc__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 12px; }
.ht-acc__card { padding: 20px; border-radius: 20px; background: #fff; border: 1px solid var(--ht-line); display: flex; flex-direction: column; gap: 6px; color: var(--ht-black); text-decoration: none; }
.ht-acc__card span { font-size: 13px; color: var(--ht-muted); font-weight: 700; }
.ht-acc__card strong { font-size: 30px; letter-spacing: -0.02em; }
.ht-acc__card em { font-style: normal; font-size: 13px; font-weight: 800; color: var(--ht-olive); }
.ht-acc__latest { display: flex; flex-direction: column; gap: 10px; }
.ht-kicker--dark { color: var(--ht-olive); font-size: 12px; }
.ht-acc__promo { padding: 20px; border-radius: 20px; background: var(--ht-yellow-soft); display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; font-size: 15px; font-weight: 700; }
.ht-acc__pager { display: flex; gap: 10px; justify-content: space-between; }

.ht-ocards { display: flex; flex-direction: column; gap: 12px; }
.ht-ocard { padding: 18px; border-radius: 20px; background: #fff; border: 1px solid var(--ht-line); display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; }
.ht-ocard__info { display: flex; flex-direction: column; gap: 4px; }
.ht-ocard__info strong { font-size: 16px; }
.ht-ocard__info span { font-size: 13px; color: var(--ht-muted); }
.ht-ocard__acts { display: flex; gap: 8px; flex-wrap: wrap; }
.ht-pill { padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.ht-pill--dark { background: var(--ht-black); color: var(--ht-yellow); }
.ht-pill--ok { background: #E3F4EA; color: #12693A; }
.ht-pill--bad { background: #FDECEA; color: #A3261B; }
.ht-pill--warn { background: #FFF1D6; color: var(--ht-warn); }
.ht-pill--yellow { background: var(--ht-yellow); color: var(--ht-black); padding: 3px 8px; font-size: 11px; }

.ht-pets-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 12px; }
.ht-petcard { padding: 18px; border-radius: 22px; background: #fff; border: 1px solid var(--ht-line); display: flex; flex-direction: column; gap: 12px; }
.ht-petcard__top { display: flex; gap: 12px; align-items: center; }
.ht-petcard__top > span:last-child { display: flex; flex-direction: column; }
.ht-petcard__top strong { font-size: 18px; }
.ht-petcard__top em { font-style: normal; font-size: 13px; color: var(--ht-muted); }
.ht-petcard__av { width: 56px; height: 56px; border-radius: 18px; background: var(--ht-black); display: grid; place-items: center; flex: none; }
.ht-petcard__acts { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ht-petcard__acts form { margin: 0; }
.ht-linkbtn { min-height: 40px; padding: 0 12px; border: 0; background: transparent; font-weight: 800; font-size: 13px; text-decoration: underline; cursor: pointer; color: var(--ht-black); }
.ht-linkbtn.is-danger { color: var(--ht-error); }

.ht-dashform { padding: 20px; border-radius: 22px; background: #fff; border: 1.5px dashed var(--ht-line-2); display: flex; flex-direction: column; gap: 12px; margin: 0; }
.ht-dashform > strong { font-size: 17px; }
.ht-dashform__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); gap: 10px; }
.ht-dashform__grid p { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.ht-dashform__grid p.is-wide { grid-column: 1 / -1; }
.ht-dashform__grid label { font-size: 13px; font-weight: 800; margin: 0 !important; }
.ht-wc .ht-dashform input[type="text"], .ht-wc .ht-dashform select { min-height: 46px; height: 46px; padding: 0 12px; border-radius: 12px !important; font-size: 15px; width: 100%; }
.ht-dashform__acts { display: flex; gap: 8px; flex-wrap: wrap; }

.ht-addr { padding: 18px; border-radius: 20px; background: #fff; border: 1.5px solid var(--ht-line); display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; }
.ht-addr.is-default { border-color: var(--ht-black); }
.ht-addr__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ht-addr__txt span { font-size: 14px; color: #3A3A40; }
.ht-addr__acts { display: flex; gap: 8px; align-items: center; }
.ht-addr__acts form { margin: 0; }

.ht-wlist { display: flex; flex-direction: column; gap: 10px; }
.ht-wrow { padding: 14px 16px; border-radius: 20px; background: #fff; border: 1px solid var(--ht-line); display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.ht-wrow__img { width: 60px; height: 60px; border-radius: 14px; display: grid; place-items: center; overflow: hidden; flex: none; }
.ht-wrow__img img { width: 100%; height: 100%; object-fit: cover; }
.ht-wrow__txt { flex: 1; min-width: 160px; display: flex; flex-direction: column; }
.ht-wrow__txt a { color: var(--ht-black); text-decoration: none; }
.ht-wrow__txt .ht-stock { font-size: 13px; }
.ht-add--inline { margin-top: 0; min-height: 42px; font-size: 13px; }
.ht-wrow__x { width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--ht-bg); cursor: pointer; display: grid; place-items: center; }

.ht-acc__main .woocommerce-EditAccountForm, .ht-acc__main .woocommerce-address-fields, .ht-acc__main form.edit-account {
	padding: 22px; border-radius: 22px; background: #fff; border: 1px solid var(--ht-line);
}
.ht-acc__main fieldset { border: 1px solid var(--ht-line); border-radius: 16px; padding: 16px; margin: 16px 0; }
.ht-acc__main fieldset legend { font-weight: 800; padding: 0 6px; }
.ht-acc__main .woocommerce-form-row { margin-bottom: 12px !important; }
.ht-acc__main .woocommerce-form-row label { display: block; }
.ht-acc__main input.input-text { width: 100%; }
.ht-acc__main em { font-size: 12px; color: var(--ht-muted); }
.ht-danger { margin-top: 16px; padding: 20px; border-radius: 22px; background: #fff; border: 1px solid #F3C2BD; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.ht-danger > span { display: flex; flex-direction: column; gap: 2px; }
.ht-danger em { font-style: normal; font-size: 13px; color: var(--ht-muted); }
.ht-btn--danger { border: 1.5px solid var(--ht-error); background: #fff; color: var(--ht-error); min-height: 44px; }
.ht-acc__main .woocommerce-order-details, .ht-acc__main .woocommerce-customer-details { background: #fff; border-radius: 22px; border: 1px solid var(--ht-line); padding: 20px; margin: 0; }
.ht-acc__main .woocommerce-order-details__title, .ht-acc__main .woocommerce-column__title { font-size: 20px; font-weight: 800; margin-top: 0; }
.ht-acc__main mark { background: var(--ht-yellow-soft); color: var(--ht-black); font-weight: 800; padding: 0 4px; border-radius: 6px; }
.ht-acc__main .order-again .button { margin-top: 12px; }

/* ==========================================================================
   Category landing (taxonomy-product_cat.php)
   ========================================================================== */
.ht-cathero { color: #fff; position: relative; overflow: hidden; }
.ht-cathero__glow { position: absolute; right: -80px; top: -120px; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(255,212,0,.25), rgba(255,212,0,0) 62%); pointer-events: none; }
.ht-cathero__in { padding-top: 28px; padding-bottom: 56px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; position: relative; }
.ht-cathero__copy { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.ht-cathero h1 { margin: 0; font-weight: 800; font-size: clamp(48px, 7vw, 92px); line-height: .95; letter-spacing: -0.04em; }
.ht-cathero__copy > p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--ht-grey-2); max-width: 560px; }
.ht-cathero__art {
	flex: 1 1 340px; min-width: 0; height: 280px; border-radius: 28px; background: var(--ht-charcoal); border: 1px solid var(--ht-line-dk);
	display: grid; place-items: center; position: relative; overflow: hidden;
}
.ht-cathero__dot { position: absolute; width: 200px; height: 200px; border-radius: 50%; background: var(--ht-yellow); }
.ht-cathero__ico { position: relative; }
.ht-cathero__photo { width: 100%; height: 100%; object-fit: cover; }
.ht-catsec { padding-top: 56px; }
.ht-catsec--faq { max-width: 860px; padding-bottom: 80px; }
.ht-sec__head--tight { margin-bottom: 18px; }
.ht-h2--md { font-size: clamp(28px, 3vw, 38px); }
.ht-center { text-align: center; }
.ht-catsec__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font-size: 14px; color: #3A3A40; }
.ht-catsec__meta strong { color: var(--ht-black); }
.ht-subchips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.ht-subchips a {
	min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1.5px solid var(--ht-line-2); background: #fff; color: var(--ht-black);
	display: inline-flex; align-items: center; font-weight: 800; font-size: 14px; text-decoration: none;
}
.ht-subchips a:hover { border-color: var(--ht-black); }
.ht-subchips a.is-on { background: var(--ht-black); color: var(--ht-yellow); border-color: var(--ht-black); }
.ht-catsec .ht-products { grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); }
.ht-seo { border-radius: 28px; background: #fff; border: 1px solid var(--ht-line); padding: clamp(22px, 4vw, 40px); display: flex; flex-wrap: wrap; gap: 24px 48px; }
.ht-seo h2 { flex: 1 1 280px; margin: 0; font-weight: 800; font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -0.02em; line-height: 1.15; }
.ht-seo > div { flex: 2 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 12px; font-size: 16px; line-height: 1.7; color: #3A3A40; }
.ht-seo p { margin: 0; }
.ht-guides--3 { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); }
.ht-guides--3 .ht-guide__img { height: 130px; }
.ht-guide__ex { font-size: 14px; color: #3A3A40; line-height: 1.5; }
.ht-faq { display: flex; flex-direction: column; gap: 10px; }
.ht-faq__item { border-radius: 18px; background: #fff; border: 1px solid var(--ht-line); }
.ht-faq__item summary {
	list-style: none; min-height: 60px; padding: 14px 20px; font-weight: 800; font-size: 16px; cursor: pointer;
	display: flex; justify-content: space-between; gap: 16px; align-items: center;
}
.ht-faq__item summary::-webkit-details-marker { display: none; }
.ht-faq__item summary span { flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--ht-yellow-soft); position: relative; }
.ht-faq__item summary span::before, .ht-faq__item summary span::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: currentColor; transform: translate(-50%, -50%); border-radius: 2px; }
.ht-faq__item summary span::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .2s; }
.ht-faq__item[open] summary span { background: var(--ht-black); color: var(--ht-yellow); }
.ht-faq__item[open] summary span::after { transform: translate(-50%, -50%) rotate(0deg); }
.ht-faq__item p { margin: 0; padding: 0 20px 20px; font-size: 15px; line-height: 1.65; color: #3A3A40; }
.ht-faq__item p a { font-weight: 800; color: var(--ht-black); }

/* ==========================================================================
   Blog
   ========================================================================== */
.ht-bloghero { color: #fff; }
.ht-bloghero__in { padding-top: 48px; padding-bottom: 52px; display: flex; flex-direction: column; gap: 14px; }
.ht-bloghero .ht-kicker { letter-spacing: .1em; }
.ht-bloghero h1 { margin: 0; font-weight: 800; font-size: clamp(40px, 5.4vw, 70px); letter-spacing: -0.04em; line-height: 1; }
.ht-bloghero p { margin: 0; font-size: 17px; color: var(--ht-grey-2); max-width: 640px; }
.ht-blog { padding-top: 28px; padding-bottom: 80px; display: flex; flex-direction: column; gap: 22px; }
.ht-blog .ht-subchips { margin: 0; }
.ht-guides--blog { grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 18px; }
.ht-guides--blog .ht-guide { border-radius: 24px; }
.ht-guides--blog .ht-guide__img { height: 180px; border-radius: 18px; }
.ht-guides--blog .ht-guide__body strong { font-size: 20px; line-height: 1.3; }
.ht-pager .nav-links { margin: 0; }

.ht-post { max-width: 820px; padding-top: 32px; padding-bottom: 80px; display: flex; flex-direction: column; gap: 22px; animation: htPop .3s ease both; }
.ht-post__back { align-self: flex-start; }
.ht-crumbs--light { color: var(--ht-muted); }
.ht-crumbs--light a { color: var(--ht-muted); }
.ht-crumbs--light a:hover { color: var(--ht-black); }
.ht-crumbs--light > span:last-child { color: var(--ht-black); }
.ht-post__meta { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ht-olive); }
.ht-post h1 { margin: 0; font-weight: 800; font-size: clamp(34px, 4.6vw, 54px); letter-spacing: -0.035em; line-height: 1.05; }
.ht-post__img { border-radius: 26px; overflow: hidden; }
.ht-post__img img { width: 100%; display: block; }
.ht-post__img.is-empty { height: 340px; background: var(--ht-black) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFD400'%3E%3Ccircle cx='6' cy='9' r='2.2'/%3E%3Ccircle cx='10' cy='5' r='2.2'/%3E%3Ccircle cx='14' cy='5' r='2.2'/%3E%3Ccircle cx='18' cy='9' r='2.2'/%3E%3Cpath d='M12 11c-3 0-6 4-6 7 0 2 2 3 3.5 2.5S11 20 12 20s1 .9 2.5.5S18 20 18 18c0-3-3-7-6-7z'/%3E%3C/svg%3E") center / 96px no-repeat; }
.ht-post__vet { padding: 14px 16px; border-radius: 14px; background: var(--ht-yellow-soft); font-size: 14px; font-weight: 700; line-height: 1.5; }
.ht-post__body { font-size: 17px; line-height: 1.8; }
.ht-post__cta { padding: 22px; border-radius: 22px; background: var(--ht-black); color: #fff; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.ht-post__cta strong { font-size: 17px; }
.ht-post__cta > div { display: flex; gap: 8px; flex-wrap: wrap; }
.ht-post__more { margin-top: 16px; }
.ht-post__more .ht-guides--3 { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); }
.ht-post__more h2 { margin: 0 0 16px; font-weight: 800; font-size: 26px; letter-spacing: -0.02em; }

/* ==========================================================================
   About / Contact / Help / Track / Tailzy
   ========================================================================== */
.ht-btn--wa { background: var(--ht-success); color: #fff; }
.ht-btn--clear { background: transparent; }
.ht-pill--lg { padding: 8px 14px; font-size: 13px; }
.ht-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ht-pagehead--pull .ht-pagehead__in { padding-bottom: 120px; }
.ht-pagehead__in--mid { max-width: 1100px; }
.ht-pagehead__in--track { max-width: 980px; }
.ht-pagehead__search--wide { flex: none; max-width: 620px; height: 56px; }
.ht-review { padding: 10px 14px; border-radius: 12px; background: var(--ht-yellow-soft); font-size: 13px; font-weight: 700; }
.ht-review a { font-weight: 800; color: var(--ht-black); }

/* About */
.ht-abhero { color: #fff; position: relative; overflow: hidden; }
.ht-abhero__glow { position: absolute; left: 50%; top: -260px; width: 760px; height: 760px; margin-left: -380px; border-radius: 50%; background: radial-gradient(circle, rgba(255,212,0,.22), rgba(255,212,0,0) 60%); pointer-events: none; }
.ht-abhero__in { max-width: 1100px; padding-top: 72px; padding-bottom: 80px; display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; position: relative; }
.ht-abhero img { width: 220px; height: auto; }
.ht-abhero .ht-kicker { letter-spacing: .1em; }
.ht-abhero h1 { margin: 0; font-weight: 800; font-size: clamp(42px, 6vw, 80px); letter-spacing: -0.04em; line-height: 1; }
.ht-abhero h1 span { color: var(--ht-yellow); }
.ht-abhero p { margin: 0; font-size: 19px; line-height: 1.6; color: var(--ht-grey-2); max-width: 680px; }
.ht-absec { padding-top: 80px; }
.ht-absec--last { padding-bottom: 88px; }
.ht-h2--xl { font-size: clamp(32px, 3.8vw, 50px); letter-spacing: -0.03em; line-height: 1.05; }
.ht-story { display: flex; flex-wrap: wrap; gap: 32px 64px; }
.ht-story .ht-h2 { flex: 1 1 300px; margin: 0; }
.ht-story__body { flex: 2 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 16px; font-size: 18px; line-height: 1.75; color: #3A3A40; }
.ht-story__body p { margin: 0; }
.ht-promises { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; }
.ht-promise { padding: 26px; border-radius: 26px; background: #fff; border: 1px solid var(--ht-line); display: flex; flex-direction: column; gap: 14px; min-height: 220px; }
.ht-promise strong { font-size: 21px; letter-spacing: -0.01em; }
.ht-promise p { margin: 0; font-size: 15px; line-height: 1.6; opacity: .85; }
.ht-promise__ico { width: 50px; height: 50px; border-radius: 16px; background: var(--ht-black); color: var(--ht-yellow); display: grid; place-items: center; }
.ht-promise--0 { background: var(--ht-black); color: #fff; border-color: transparent; }
.ht-promise--0 .ht-promise__ico { background: var(--ht-yellow); color: var(--ht-black); }
.ht-promise--2 { background: var(--ht-yellow); border-color: transparent; }
.ht-cities { border-radius: 32px; background: var(--ht-black); color: #fff; padding: clamp(26px, 4vw, 52px); display: flex; flex-wrap: wrap; gap: 28px 48px; align-items: center; }
.ht-cities__txt { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.ht-cities__txt h2 { margin: 0; font-weight: 800; font-size: clamp(28px, 3.2vw, 42px); letter-spacing: -0.03em; }
.ht-cities__txt p { margin: 0; font-size: 16px; color: var(--ht-grey-2); line-height: 1.6; }
.ht-cities__list { flex: 1 1 420px; min-width: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ht-cities__list span { padding: 12px 18px; border-radius: 999px; background: var(--ht-card); border: 1px solid var(--ht-line-dk2); font-weight: 800; font-size: 15px; }
.ht-cities__list .is-more { background: transparent; color: var(--ht-yellow); }
.ht-team { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 16px; }
.ht-team__m { display: flex; flex-direction: column; gap: 12px; }
.ht-team__ph { height: 250px; border-radius: 24px; display: grid; place-items: center; font-size: 72px; font-weight: 800; }
.ht-team__ph.is-dark { background: var(--ht-black); color: var(--ht-yellow); }
.ht-team__ph.is-yellow { background: var(--ht-yellow); color: var(--ht-black); }
.ht-team__m strong { display: block; font-size: 18px; }
.ht-team__m span { font-size: 14px; color: var(--ht-muted); }
.ht-abcta { border-radius: 32px; background: var(--ht-yellow); padding: clamp(26px, 4vw, 52px); display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: center; justify-content: space-between; }
.ht-abcta > div:first-child { flex: 1 1 380px; display: flex; flex-direction: column; gap: 8px; }
.ht-abcta h2 { margin: 0; font-weight: 800; font-size: clamp(28px, 3.2vw, 42px); letter-spacing: -0.03em; }
.ht-abcta p { margin: 0; font-size: 16px; }
.ht-abcta__btns { display: flex; flex-wrap: wrap; gap: 10px; }

/* Contact */
.ht-contact { margin-top: -84px; padding-bottom: 80px; display: flex; flex-direction: column; gap: 32px; position: relative; }
.ht-channels { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 14px; }
.ht-channel { padding: 24px; border-radius: 24px; background: #fff; border: 1px solid var(--ht-line); color: var(--ht-black); text-decoration: none; display: flex; flex-direction: column; gap: 10px; }
.ht-channel strong { font-size: 20px; }
.ht-channel span { font-size: 14px; color: var(--ht-muted); }
.ht-channel--wa { background: var(--ht-success); color: #fff; border-color: transparent; }
.ht-channel--wa span { color: #fff; opacity: .9; }
.ht-channel--yellow { background: var(--ht-yellow); border-color: transparent; }
.ht-channel--yellow span { color: var(--ht-black); }
.ht-channel--dark { background: var(--ht-black); color: #fff; border-color: transparent; }
.ht-channel--dark span { color: var(--ht-grey-2); }
.ht-contact__row { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }
.ht-cform { flex: 3 1 560px; min-width: 0; border-radius: 28px; background: #fff; border: 1px solid var(--ht-line); padding: clamp(22px, 3.4vw, 40px); }
.ht-cform__form { display: flex; flex-direction: column; gap: 18px; }
.ht-cform__form h2, .ht-cform__done h2 { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -0.02em; }
.ht-cform__topics { border: 0; margin: 0; padding: 0; }
.ht-cform__topics legend { font-weight: 800; font-size: 14px; padding: 0; margin-bottom: 10px; }
.ht-cform__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 14px; }
.ht-field input, .ht-field textarea { width: 100%; min-height: 52px; padding: 0 16px; border-radius: 14px; border: 1.5px solid var(--ht-line-2); font-size: 16px; background: #fff; outline: none; }
.ht-field textarea { padding: 14px 16px; resize: vertical; }
.ht-field input:focus, .ht-field textarea:focus { border-color: var(--ht-black); }
.ht-field [aria-invalid="true"] { border-color: var(--ht-error); }
.ht-cform__foot { display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center; }
.ht-cform__foot .ht-note { max-width: 420px; line-height: 1.5; }
.ht-cform__done { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; animation: htPop .3s ease both; }
.ht-cform__done p { margin: 0; font-size: 16px; color: #3A3A40; }
.ht-qhelp { flex: 2 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.ht-qhelp h2 { margin: 0; font-size: 20px; font-weight: 800; }
.ht-qhelp__l { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; border-radius: 18px; background: #fff; border: 1px solid var(--ht-line); text-decoration: none; color: var(--ht-black); }
.ht-qhelp__l span { color: var(--ht-olive); }
.ht-qhelp__hours { padding: 20px; border-radius: 20px; background: var(--ht-black); color: #fff; display: flex; flex-direction: column; gap: 8px; }
.ht-qhelp__hours span { font-size: 14px; color: var(--ht-grey-2); }
.ht-qhelp__hours em { font-style: normal; font-size: 13px; color: var(--ht-grey); }
.ht-visit { display: flex; flex-wrap: wrap; gap: 24px; align-items: stretch; border-radius: 28px; background: #fff; border: 1px solid var(--ht-line); padding: clamp(18px, 3vw, 28px); }
.ht-visit__info { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.ht-visit__info h2 { margin: 0; font-size: 28px; font-weight: 800; letter-spacing: -0.02em; }
.ht-visit address { font-style: normal; font-size: 16px; line-height: 1.6; color: #3A3A40; }
.ht-visit__info p { margin: 0; font-size: 15px; }
.ht-visit__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.ht-visit__map { flex: 2 1 420px; min-width: 0; min-height: 320px; border-radius: 20px; overflow: hidden; background: var(--ht-bg); }
.ht-visit__map iframe { width: 100%; height: 100%; min-height: 320px; border: 0; display: block; }

/* Marketplace listings on the product page */
.ht-pd__ask { font-size: 26px !important; color: var(--ht-warn); }
.ht-pd__seller { display: flex; flex-direction: column; gap: 12px; }
.ht-pd__seller .htm-inquiry { margin: 0; }
.ht-pd__pet { margin-top: 40px; padding: 24px; border-radius: 24px; background: #fff; border: 1px solid var(--ht-line); }
.ht-pd__pet h2 { margin: 0 0 12px; font-size: 22px; font-weight: 800; }
.ht-pd__pet table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ht-pd__pet th, .ht-pd__pet td { padding: 10px 0; border-bottom: 1px solid #F0F0F3; text-align: left; }
.ht-pd__pet th { color: var(--ht-muted); font-weight: 600; width: 40%; }

/* Delivery charge confirmed on WhatsApp */
.ht-tbd { color: var(--ht-success) !important; font-weight: 800; white-space: nowrap; }
.ht-sum .ht-tbd, .ht-co-sum .ht-tbd { color: #4FD18B !important; }
.ht-tbd-note { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: var(--ht-yellow-soft); color: #5c4400; font-size: 13px; line-height: 1.5; }
.ht-tbd-note svg { flex: none; color: var(--ht-success); margin-top: 1px; }
.ht-sum .ht-tbd-note, .ht-tbd-note--dark { background: var(--ht-charcoal); color: #E4E4E8; border: 1px solid #2E2E34; }
.ht-tbd-note--dark { margin-top: 14px; }
.ht-ratetable .ht-tbd { white-space: normal; }

/* Help */
.ht-help { max-width: 1100px; padding-top: 28px; padding-bottom: 80px; display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.ht-help__nav { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; gap: 6px; position: sticky; top: 16px; }
.ht-help__nav a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 16px; border-radius: 14px; border: 1px solid var(--ht-line); background: #fff; color: var(--ht-black); font-weight: 800; font-size: 14px; text-decoration: none; }
.ht-help__nav a.is-on { background: var(--ht-black); color: var(--ht-yellow); border-color: var(--ht-black); }
.ht-help__main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.ht-help__panel { display: flex; flex-direction: column; gap: 12px; animation: htPop .25s ease both; scroll-margin-top: 20px; }
.ht-help__panel h2 { margin: 0 0 6px; font-size: 28px; font-weight: 800; letter-spacing: -0.02em; }
.ht-policy { border-radius: 22px; background: #fff; border: 1px solid var(--ht-line); padding: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.7; color: #3A3A40; }
.ht-policy h3 { margin: 10px 0 0; font-size: 18px; font-weight: 800; color: var(--ht-black); }
.ht-policy h3:first-of-type { margin-top: 0; }
.ht-policy p { margin: 0; }
.ht-policy__list { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.ht-policy__list li::marker { color: var(--ht-olive); }
.ht-ratetable { display: flex; flex-direction: column; border: 1px solid var(--ht-line); border-radius: 16px; overflow: hidden; font-size: 14px; }
.ht-ratetable > div { display: grid; grid-template-columns: 1.2fr 1.4fr 1fr 1.2fr; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--ht-line); }
.ht-ratetable > div:first-child { border-top: 0; }
.ht-ratetable .is-head { background: var(--ht-bg); font-weight: 800; color: var(--ht-black); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.ht-ratetable .is-yes { color: var(--ht-success); font-weight: 700; }
.ht-ratetable .is-no { color: var(--ht-error); font-weight: 700; }
.ht-ratetable .is-check { color: var(--ht-warn); font-weight: 700; }
.ht-help__still { margin-top: 10px; padding: 20px; border-radius: 20px; background: var(--ht-black); color: #fff; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.ht-help__still > div { display: flex; gap: 8px; flex-wrap: wrap; }

/* Track order */
.ht-track { max-width: 980px; margin-top: -84px; padding-bottom: 72px; display: flex; flex-direction: column; gap: 18px; position: relative; }
.ht-track__card { border-radius: 26px; background: #fff; border: 1px solid var(--ht-line); padding: clamp(20px, 3vw, 32px); box-shadow: 0 30px 60px -40px rgba(11,11,13,.5); animation: htPop .3s ease both; }
.ht-track__form { display: flex; flex-direction: column; gap: 16px; }
.ht-track__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 14px; }
.ht-track__grid input { height: 54px; }
.ht-track__grid #tr-no { text-transform: uppercase; }
.ht-track__foot { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.ht-track__priv { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--ht-muted); }
.ht-track__acc { font-size: 14px; align-self: flex-start; }
.ht-track__res { display: flex; flex-direction: column; gap: 22px; }
.ht-track__top { display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: flex-start; }
.ht-track__top > div { display: flex; flex-direction: column; gap: 4px; }
.ht-track__top > div > span, .ht-track__top em { font-size: 13px; color: var(--ht-muted); font-weight: 700; font-style: normal; }
.ht-track__top strong { font-size: 24px; }
.ht-track__stop { padding: 16px; border-radius: 16px; background: #FDECEA; color: #A3261B; font-weight: 700; }
.ht-timeline { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ht-timeline li { display: flex; gap: 16px; position: relative; padding-bottom: 18px; }
.ht-timeline li:not(:last-child)::before { content: ''; position: absolute; left: 14px; top: 32px; bottom: 0; width: 2px; background: var(--ht-line); }
.ht-timeline li.is-done:not(:last-child)::before { background: var(--ht-yellow); }
.ht-timeline__dot { flex: none; width: 30px; height: 30px; border-radius: 50%; background: #fff; border: 2px solid var(--ht-line-2); display: grid; place-items: center; font-size: 14px; font-weight: 800; position: relative; z-index: 1; }
.ht-timeline li.is-done .ht-timeline__dot, .ht-timeline li.is-now .ht-timeline__dot { background: var(--ht-yellow); border-color: var(--ht-yellow); }
.ht-timeline li.is-now .ht-timeline__dot { animation: htPulse 2s infinite; }
.ht-timeline li.is-now .ht-timeline__dot::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--ht-black); }
@keyframes htPulse { 0% { box-shadow: 0 0 0 0 rgba(255,212,0,.7); } 70% { box-shadow: 0 0 0 12px rgba(255,212,0,0); } 100% { box-shadow: 0 0 0 0 rgba(255,212,0,0); } }
.ht-timeline li > div { padding-top: 3px; display: flex; flex-direction: column; gap: 2px; }
.ht-timeline strong { font-size: 16px; }
.ht-timeline li.is-todo strong { color: #8A8A92; }
.ht-timeline span { font-size: 13px; color: var(--ht-muted); }
.ht-track__boxes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 12px; }
.ht-track__boxes > div { padding: 16px; border-radius: 16px; background: var(--ht-bg); display: flex; flex-direction: column; gap: 4px; }
.ht-track__boxes span { font-size: 12px; font-weight: 800; color: #6B6B73; text-transform: uppercase; letter-spacing: .05em; }
.ht-track__boxes strong { font-size: 15px; }
.ht-track__boxes em { font-style: normal; font-size: 12px; color: var(--ht-muted); }
.ht-track__boxes a { font-size: 13px; font-weight: 800; color: var(--ht-black); }
.ht-track__res > .ht-btn { align-self: flex-start; }
.ht-track__help { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; padding: 20px 22px; border-radius: 22px; background: var(--ht-black); color: #fff; }
.ht-track__help > div:first-child { display: flex; flex-direction: column; gap: 4px; flex: 1 1 300px; }
.ht-track__help > div:first-child strong { font-size: 17px; }
.ht-track__help > div:first-child span { font-size: 14px; color: var(--ht-grey-2); }
.ht-track__help > div:last-child { display: flex; gap: 10px; flex-wrap: wrap; }

/* Tailzy */
.ht-tz { color: #fff; }
.ht-tz__in { padding-top: 36px; padding-bottom: 72px; display: flex; flex-direction: column; gap: 28px; }
.ht-tz__head { display: flex; flex-direction: column; gap: 10px; max-width: 680px; }
.ht-tz__kicker { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--ht-line-dk2); font-size: 12px; font-weight: 800; color: var(--ht-yellow); }
.ht-tz__head h1 { margin: 0; font-weight: 800; font-size: clamp(40px, 5.4vw, 68px); letter-spacing: -0.035em; line-height: 1; }
.ht-tz__head p { margin: 0; font-size: 17px; color: var(--ht-grey-2); line-height: 1.6; }
.ht-tz__row { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.ht-tz__pet { flex: 1 1 320px; min-width: 0; border-radius: 26px; background: var(--ht-charcoal); border: 1px solid var(--ht-line-dk); padding: 22px; display: flex; flex-direction: column; gap: 16px; margin: 0; }
.ht-tz__pethead { display: flex; flex-direction: column; gap: 4px; }
.ht-tz__pethead h2 { margin: 0; font-size: 19px; font-weight: 800; }
.ht-tz__pethead span { font-size: 13px; color: var(--ht-grey); line-height: 1.5; }
.ht-tz__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(130px, 100%), 1fr)); gap: 12px; }
.ht-tz__grid p, .ht-tz__wide { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.ht-tz label { font-size: 13px; font-weight: 700; }
.ht-tz label em { font-style: normal; color: #7A7A82; font-weight: 600; }
.ht-tz__pet input, .ht-tz__pet select { height: 44px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--ht-line-dk2); background: var(--ht-black); color: #fff; font-size: 14px; outline: none; width: 100%; }
.ht-tz__pet input:focus, .ht-tz__pet select:focus { border-color: var(--ht-yellow); }
.ht-tz__pet input::placeholder { color: #7A7A82; }
.ht-tz__wide span { font-size: 12px; color: #8A8A92; line-height: 1.5; }
.ht-tz__petfoot { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; font-size: 12px; color: #8A8A92; }
.ht-tz__chat { flex: 2 1 560px; min-width: 0; border-radius: 26px; background: var(--ht-charcoal); border: 1px solid var(--ht-line-dk); display: flex; flex-direction: column; overflow: hidden; }
.ht-tz__bar { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--ht-line-dk); }
.ht-tz__bar > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ht-tz__bar strong { font-size: 17px; }
.ht-tz__status { font-size: 12px; color: #4FD18B; font-weight: 700; }
.ht-tz__av { width: 46px; height: 46px; border-radius: 15px; background: var(--ht-yellow); color: var(--ht-black); display: grid; place-items: center; animation: htTzGlow 2.4s infinite; flex: none; }
@keyframes htTzGlow { 0%,100% { box-shadow: 0 0 0 0 rgba(255,212,0,.45); } 50% { box-shadow: 0 0 0 8px rgba(255,212,0,0); } }
.ht-tz__restart { display: flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--ht-line-dk2); background: transparent; color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; }
.ht-tz__msgs { padding: 20px; display: flex; flex-direction: column; gap: 14px; min-height: 420px; max-height: 620px; overflow-y: auto; }
.ht-tz__m { display: flex; flex-direction: column; gap: 10px; animation: htPop .35s ease both; }
.ht-tz__m.is-user { align-items: flex-end; }
.ht-tz__m.is-bot { align-items: flex-start; }
.ht-tz__bubble { max-width: 86%; padding: 13px 16px; border-radius: 18px 18px 18px 4px; background: var(--ht-card); font-size: 15px; line-height: 1.55; white-space: pre-line; }
.ht-tz__m.is-user .ht-tz__bubble { background: var(--ht-yellow); color: var(--ht-black); border-radius: 18px 18px 4px 18px; }
.ht-tz__prods { width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 10px; }
.ht-tz__p { border-radius: 18px; background: var(--ht-card); border: 1px solid #2E2E34; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.ht-tz__pimg { height: 96px; border-radius: 12px; display: grid; place-items: center; overflow: hidden; }
.ht-tz__pimg img { width: 100%; height: 100%; object-fit: cover; }
.ht-tz__pname { color: #fff; text-decoration: none; font-weight: 800; font-size: 14px; line-height: 1.3; }
.ht-tz__pline { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; }
.ht-tz__pline strong { color: var(--ht-yellow); }
.ht-tz__ps { font-weight: 700; }
.ht-tz__ps.is-in { color: #4FD18B; }
.ht-tz__ps.is-low { color: #FFB547; }
.ht-tz__ps.is-out { color: #FF6B5E; }
.ht-tz__pwhy { font-size: 12px; color: var(--ht-grey); line-height: 1.45; }
.ht-tz__p .ht-add { align-self: stretch; margin-top: auto; }
.ht-tz__more { font-size: 13px; font-weight: 800; color: var(--ht-yellow); }
.ht-tz__typing { align-self: flex-start; display: flex; gap: 5px; padding: 14px 16px; border-radius: 18px 18px 18px 4px; background: var(--ht-card); }
.ht-tz__typing i { width: 8px; height: 8px; border-radius: 50%; background: var(--ht-yellow); animation: htTzDot 1.2s infinite; }
.ht-tz__typing i:nth-child(2) { animation-delay: .15s; }
.ht-tz__typing i:nth-child(3) { animation-delay: .3s; }
@keyframes htTzDot { 0%,80%,100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-4px); } }
.ht-tz__off { padding: 16px; border-radius: 18px; background: var(--ht-card); border: 1px solid var(--ht-error); display: flex; flex-direction: column; gap: 10px; }
.ht-tz__off span { font-size: 14px; color: var(--ht-grey-2); line-height: 1.5; }
.ht-tz__off div { display: flex; flex-wrap: wrap; gap: 8px; }
.ht-tz__prompts { padding: 0 20px 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.ht-tz__prompts button { min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--ht-line-dk2); background: var(--ht-black); color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; }
.ht-tz__prompts button:hover { border-color: var(--ht-yellow); }
.ht-tz__input { display: flex; gap: 10px; padding: 14px 20px 18px; border-top: 1px solid var(--ht-line-dk); margin: 0; }
.ht-tz__input input { flex: 1; min-width: 0; height: 50px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--ht-line-dk2); background: var(--ht-black); color: #fff; font-size: 15px; outline: none; }
.ht-tz__input input:focus { border-color: var(--ht-yellow); }
.ht-tz__input button { width: 50px; height: 50px; border-radius: 50%; border: 0; background: var(--ht-yellow); color: var(--ht-black); display: grid; place-items: center; cursor: pointer; flex: none; }
.ht-tz__disc { margin: 0; padding: 0 20px 18px; font-size: 12px; color: #8A8A92; line-height: 1.5; }
.page-template-default.page-tailzy, body.ht-page-tailzy { background: var(--ht-black); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 900px) {
	.ht-wrap { padding-left: 16px; padding-right: 16px; }
	.ht-announce__in { justify-content: center; text-align: center; }
	.ht-announce__in > span { font-size: 12px; }
	.ht-bar { flex-wrap: nowrap; gap: 8px; padding-top: 10px; padding-bottom: 10px; }
	.ht-burger { display: grid; flex: none; }
	.ht-logo { flex: 1; justify-content: center; }
	.ht-logo img { height: 40px; }
	.ht-search { display: none; }
	.ht-header.is-search .ht-bar { flex-wrap: wrap; }
	.ht-header.is-search .ht-search { display: flex; flex: 1 1 100%; order: 5; }
	.ht-search__ai { display: none; }
	.ht-hide-sm { display: none; }
	.ht-show-sm { display: grid; }
	.ht-cart-btn { position: relative; width: 44px; height: 44px; padding: 0; justify-content: center; border-radius: 12px; margin-left: 0; }
	.ht-cart-btn .ht-cart-count {
		position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px;
		background: #fff; color: var(--ht-black); font-size: 11px; display: grid; place-items: center;
	}
	.ht-nav { display: none; }

	.ht-bottom {
		display: grid; position: fixed; left: 10px; right: 10px; bottom: 12px; z-index: 70; height: 68px; border-radius: 22px;
		background: var(--ht-black); grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center;
		box-shadow: 0 14px 30px -10px rgba(0,0,0,.5);
	}
	.ht-bottom__item { display: flex; flex-direction: column; align-items: center; gap: 3px; color: var(--ht-grey-2); text-decoration: none; font-size: 11px; font-weight: 800; }
	.ht-bottom__item > span { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; }
	.ht-bottom__item.is-on { color: var(--ht-yellow); }
	.ht-bottom__item.is-ai > span { width: 50px; height: 50px; margin-top: -26px; background: var(--ht-yellow); color: var(--ht-black); }
	body { padding-bottom: 92px; }
	.ht-wa { bottom: 96px; right: 14px; }

	.ht-sec { padding-top: 44px; }
	.ht-sec--last { padding-bottom: 48px; }
	.ht-h2 { margin-bottom: 16px; }
	.ht-sec__head { margin-bottom: 16px; }
	.ht-hero__in { padding-top: 28px; padding-bottom: 32px; gap: 28px; }
	.ht-hero__copy { gap: 16px; flex-basis: 100%; }
	.ht-hero h1 { font-size: 40px; }
	.ht-hero__copy p { font-size: 16px; }
	.ht-hero__cta .ht-btn { flex: 1 1 auto; }
	.ht-hero__art { flex-basis: 100%; min-height: 380px; }
	.ht-hero__frame { inset: 0 0 90px 20px; }

	.ht-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	.ht-cat { padding: 6px 6px 10px; gap: 8px; border-radius: 16px; }
	.ht-cat__media { border-radius: 11px; }
	.ht-cat strong { font-size: 13px; }
	.ht-cat__label { padding: 0 4px; }
	.ht-cat__go { display: none; }
	.ht-cat__ico { width: 46px; height: 46px; border-radius: 14px; }
	.ht-pets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ht-pet { min-height: 170px; padding: 16px; border-radius: 20px; }
	.ht-pet__name strong { font-size: 22px; }
	.ht-pet__dot { width: 130px; height: 130px; }
	.ht-pet__ico { width: 64px; height: 64px; right: 10px; bottom: 10px; }
	.ht-products, .ht-products--best { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ht-card { padding: 8px; border-radius: 18px; gap: 8px; }
	.ht-card__media, .ht-results .ht-card__media { height: 140px; border-radius: 12px; }
	.ht-card__img svg { width: 56px; height: 56px; }
	.ht-hero__logo { width: 58%; margin: -120px 0 0 40px; }
	.ht-card__title, .ht-results .ht-card__title { font-size: 14px; }
	.ht-price strong { font-size: 16px; }
	.ht-quick { display: none; }
	.ht-wish { width: 34px; height: 34px; right: 6px; top: 6px; }
	.ht-add { min-height: 40px; font-size: 13px; padding: 0 10px; }

	.ht-shop { padding-top: 18px; gap: 16px; }
	.ht-filters.is-closed-sm .ht-filters__form { display: none; }
	.ht-pagehead h1 { font-size: 36px; }

	.ht-pd__top { gap: 24px; margin-top: 8px; }
	.ht-pd__stage { height: 340px; border-radius: 22px; }
	.ht-pd__stage [data-pd-main] svg { width: 150px; height: 150px; }
	.ht-pd__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ht-pd__thumbs button { height: 72px; }
	.ht-pd__price strong { font-size: 28px; }
	.ht-pd__add { flex-basis: 100%; order: 3; }
	.ht-qty { flex: 1; justify-content: space-between; }
	.ht-pd__tabs { margin-top: 36px; }
	.ht-pd__tabbar { flex-wrap: nowrap; overflow-x: auto; }
	.ht-pd__tabbar button, .ht-pd__tablink { padding: 0 14px; white-space: nowrap; font-size: 14px; }

	.ht-page--flow { padding-top: 20px; }
	.ht-cartpage__h { margin-bottom: 16px; }
	.ht-cartpage { gap: 18px; }
	.ht-cline { gap: 12px; padding: 12px; border-radius: 18px; }
	.ht-cline__img { width: 84px; height: 84px; border-radius: 12px; }
	.ht-cline__img svg { width: 42px; height: 42px; }
	.ht-cline__info { flex-basis: 160px; }
	.ht-cline__side { flex-direction: row; align-items: center; width: 100%; margin-left: 0; }
	.ht-cart__aside { position: static; }
	.ht-sum { padding: 20px; border-radius: 22px; }

	.woocommerce-checkout { padding-bottom: 0; }
	.ht-header--slim .ht-logo { flex: none; }
	.ht-header--slim .ht-logo img { height: 40px; }
	.ht-slim__secure { display: none; }
	.ht-steps { display: flex; overflow-x: auto; gap: 6px; margin-bottom: 16px; padding-bottom: 4px; }
	.ht-steps li { flex: none; padding: 8px 12px; font-size: 13px; }
	.ht-steps li:not(.is-on) { font-size: 0; gap: 0; padding: 8px; }
	.ht-co { gap: 16px; }
	.ht-co__main { padding: 18px; border-radius: 20px; }
	.ht-co__fields .woocommerce-billing-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	.ht-co__nav .ht-btn, .ht-co__place { flex: 1 1 auto; justify-content: center; }
	.ht-co__aside { position: static; }
	.ht-opt { padding: 14px; gap: 10px; }
	.ht-opt .ht-tag { display: none; }

	.ht-auth { gap: 16px; }
	.ht-auth__intro { gap: 16px; border-radius: 22px; }
	.ht-auth__intro img { width: 110px; }
	.ht-auth__copy ul { display: none; }
	.ht-auth__card { border-radius: 22px; }
	.ht-acc { gap: 16px; }
	.ht-acc__nav { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; padding: 8px; border-radius: 18px; gap: 4px; }
	.ht-acc__me { display: none; }
	.ht-acc__link, .ht-acc__logout { flex: none; white-space: nowrap; gap: 6px; margin: 0; }

	.ht-cathero__in { padding-top: 20px; padding-bottom: 32px; gap: 20px; }
	.ht-cathero h1 { font-size: 48px; }
	.ht-cathero__copy > p { font-size: 16px; }
	.ht-cathero__art { height: 180px; flex-basis: 100%; border-radius: 22px; }
	.ht-cathero__dot { width: 130px; height: 130px; }
	.ht-cathero__ico { width: 92px; height: 92px; }
	.ht-catsec { padding-top: 36px; }
	.ht-catsec .ht-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ht-subchips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
	.ht-subchips a { flex: none; min-height: 40px; padding: 0 14px; }

	.ht-bloghero__in { padding-top: 28px; padding-bottom: 32px; }
	.ht-bloghero h1 { font-size: 40px; }
	.ht-blog { padding-top: 20px; padding-bottom: 48px; }
	.ht-post { padding-top: 20px; padding-bottom: 48px; gap: 16px; }
	.ht-post__img.is-empty { height: 200px; }

	.ht-abhero__in { padding-top: 40px; padding-bottom: 48px; gap: 16px; }
	.ht-abhero img { width: 150px; }
	.ht-abhero p { font-size: 16px; }
	.ht-absec { padding-top: 48px; }
	.ht-absec--last { padding-bottom: 48px; }
	.ht-pagehead--pull .ht-pagehead__in { padding-bottom: 104px; }
	.ht-contact, .ht-track { margin-top: -76px; padding-bottom: 48px; gap: 20px; }
	.ht-help { padding-top: 18px; padding-bottom: 48px; gap: 16px; }
	.ht-help__nav { position: static; flex-direction: row; overflow-x: auto; flex-basis: 100%; padding-bottom: 4px; }
	.ht-help__nav a { flex: none; min-height: 42px; gap: 6px; }
	.ht-help__nav a span { display: none; }
	.ht-ratetable > div { grid-template-columns: 1fr 1fr; }
	.ht-tz__in { padding-top: 24px; padding-bottom: 40px; gap: 18px; }
	.ht-tz__chat { order: -1; }
	.ht-tz__msgs { min-height: 320px; max-height: 70vh; padding: 14px; }
	.ht-tz__bubble { max-width: 94%; }
	.ht-tz__prompts { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 12px; }
	.ht-tz__prompts button { flex: none; }
}

@media (max-width: 520px) {
	.ht-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ht-rec__item { flex-direction: column; }
	.ht-rec__img { width: 100%; height: 120px; }
	.woocommerce table.shop_table_responsive tr td { padding: 10px 14px !important; }
}
