/* ============================================================
   Gothaodien — Vietnamese Specialty Store
   Palette: rose / pink / amber pastels + teal accents (LAB + sRGB)
   Fonts: Playfair Display (headings) + Nunito Sans (body)
   ============================================================ */

:root {
	/* ── Raw palette (sRGB fallbacks; overridden in @supports lab) ── */
	--color-white:       #ffffff;
	--color-red-100:     #fee2e2;
	--color-orange-100:  #ffedd5;
	--color-orange-200:  #fed7aa;
	--color-amber-50:    #fffbeb;
	--color-amber-100:   #fef3c7;
	--color-amber-200:   #fde68a;
	--color-yellow-50:   #fefce8;
	--color-yellow-100:  #fef9c3;
	--color-green-50:    #f0fdf4;
	--color-emerald-100: #d1fae5;
	--color-sky-50:      #f0f7ff;
	--color-sky-100:     #e0f2fe;
	--color-teal-50:     #f0fdfa;
	--color-teal-100:    #ccfbf1;
	--color-teal-500:    #14b8a6;
	--color-teal-600:    #0d9488;
	--color-teal-700:    #0f766e;
	--color-teal-900:    #134e4a;
	--color-violet-100:  #ede9fe;
	--color-purple-200:  #e9d5ff;
	--color-pink-50:     #fdf2f8;
	--color-pink-100:    #fce7f3;
	--color-pink-200:    #fbcfe8;
	--color-rose-50:     #fff1f2;
	--color-rose-100:    #ffe4e6;
	--color-rose-200:    #fecdd3;
	--color-rose-300:    #fda4af;
	--color-rose-400:    #fb7185;
	--color-rose-500:    #f43f5e;
	--color-rose-600:    #e11d48;
	--color-rose-700:    #be123c;
	--color-rose-800:    #9f1239;
	--color-rose-900:    #881337;
	--color-rose-950:    #4c0519;
	--color-slate-200:   #e2e8f0;
	--color-gray-100:    #f3f4f6;
	--color-gray-200:    #e5e7eb;
	--color-gray-400:    #9ca3af;
	--color-gray-500:    #6b7280;
	--color-gray-600:    #4b5563;
	--color-gray-700:    #374151;
	--color-gray-800:    #1f2937;
	--color-gray-900:    #111827;

	/* ── Semantic tokens (use palette — edit here for theme-wide tone) ── */
	--gtd-primary:       var(--color-rose-600);
	--gtd-primary-dk:    var(--color-rose-700);
	--gtd-primary-lt:    var(--color-rose-50);
	--gtd-primary-mid:   var(--color-rose-100);
	--gtd-rose:          var(--color-rose-300);
	--gtd-accent:        var(--color-teal-600);
	--gtd-accent-soft:   var(--color-teal-100);

	--gtd-white:         var(--color-white);
	--gtd-cream:         var(--color-rose-50);
	--gtd-sand:          var(--color-pink-50);
	--gtd-text:          var(--color-gray-900);
	--gtd-muted:         var(--color-gray-600);
	--gtd-border:        var(--color-rose-200);
	--gtd-border-mid:    var(--color-rose-300);

	--gtd-grad-surface: linear-gradient(
		180deg,
		var(--gtd-white) 0%,
		var(--color-rose-50) 36%,
		var(--color-amber-50) 62%,
		var(--gtd-white) 100%
	);
	--gtd-grad-section: linear-gradient(
		135deg,
		var(--gtd-white) 0%,
		var(--color-rose-50) 48%,
		var(--color-pink-100) 100%
	);
	--gtd-grad-card-media: linear-gradient(
		145deg,
		color-mix(in srgb, var(--gtd-white) 55%, transparent) 0%,
		color-mix(in srgb, var(--color-rose-50) 40%, transparent) 100%
	);
	--gtd-grad-hero: linear-gradient(
		120deg,
		var(--gtd-white) 0%,
		var(--color-rose-50) 42%,
		var(--color-amber-50) 78%,
		var(--color-yellow-50) 100%
	);
	/* Hero track fallback (per-slide pastels set via JS + --hero-track-*) */
	--gtd-grad-hero-track: linear-gradient(
		125deg,
		var(--color-rose-50) 0%,
		var(--gtd-white) 100%
	);
	--gtd-grad-primary: linear-gradient(
		135deg,
		var(--color-rose-600) 0%,
		var(--color-rose-400) 55%,
		var(--color-rose-500) 100%
	);
	--gtd-grad-hero-overlay: linear-gradient(
		to right,
		color-mix(in srgb, var(--color-rose-950) 72%, transparent) 0%,
		color-mix(in srgb, var(--color-gray-900) 18%, transparent) 100%
	);

	--gtd-topbar-bg:     var(--color-rose-950);
	/* Footer — dark pastel (muted, not flat black or light wash) */
	--gtd-footer-bg:     color-mix(in srgb, var(--color-gray-900) 82%, var(--color-rose-950));
	--gtd-grad-footer: linear-gradient(
		148deg,
		color-mix(in srgb, var(--color-rose-950) 42%, var(--color-gray-900)) 0%,
		color-mix(in srgb, var(--color-rose-900) 38%, var(--color-gray-800)) 26%,
		color-mix(in srgb, var(--color-teal-900) 36%, var(--color-gray-900)) 52%,
		color-mix(in srgb, var(--color-gray-800) 55%, var(--color-rose-950)) 78%,
		color-mix(in srgb, var(--color-teal-900) 32%, var(--color-gray-900)) 100%
	);
	--gtd-footer-text:        color-mix(in srgb, var(--gtd-white) 90%, var(--color-rose-100));
	--gtd-footer-text-muted:  color-mix(in srgb, var(--color-rose-100) 42%, var(--color-gray-400));
	--gtd-footer-heading:     var(--gtd-white);
	--gtd-footer-link:        color-mix(in srgb, var(--color-rose-100) 72%, var(--color-gray-300));
	--gtd-footer-link-hover:  var(--color-teal-100);
	--gtd-footer-border:      color-mix(in srgb, var(--gtd-white) 12%, transparent);
	--gtd-success:       var(--color-teal-600);
	/* Teal notice — cart / WhatsApp banner only */
	--gtd-cart-notice-bg:     var(--color-teal-100);
	--gtd-cart-notice-border: color-mix(in srgb, var(--color-teal-500) 35%, transparent);
	--gtd-cart-notice-text:   var(--color-teal-700);
	--gtd-warn-bg:       var(--color-amber-100);
	--gtd-warn-text:     var(--color-gray-800);

	--gtd-shadow-xs:    0 1px 4px color-mix(in srgb, var(--color-rose-500) 8%, transparent);
	--gtd-shadow-sm:    0 2px 12px color-mix(in srgb, var(--color-rose-500) 10%, transparent);
	--gtd-shadow:       0 6px 24px color-mix(in srgb, var(--color-rose-500) 14%, transparent);
	--gtd-shadow-lg:    0 16px 48px color-mix(in srgb, var(--color-rose-600) 18%, transparent);
	--gtd-shadow-hover: 0 10px 28px color-mix(in srgb, var(--color-rose-600) 26%, transparent);
	--gtd-radius:       10px;
	--gtd-radius-lg:    16px;
	--gtd-radius-xl:    24px;
	--gtd-container:    1280px;
	--gtd-font-head:    'Playfair Display', Georgia, serif;
	--gtd-font-body:    'Nunito Sans', system-ui, sans-serif;
}

@supports (color: lab(0% 0 0)) {
	:root {
		--color-red-100:     lab(92.243% 10.2865 3.83865);
		--color-orange-100:  lab(94.7127% 3.58394 14.3151);
		--color-orange-200:  lab(88.4871% 9.94918 28.8378);
		--color-amber-50:    lab(98.6252% -.635922 8.42309);
		--color-amber-100:   lab(95.916% -1.21653 23.111);
		--color-amber-200:   lab(91.7203% -.505269 49.9084);
		--color-yellow-50:   lab(98.6846% -1.79055 9.7766);
		--color-yellow-100:  lab(97.3564% -4.51407 27.344);
		--color-green-50:    lab(98.1563% -5.60117 2.75915);
		--color-emerald-100: lab(94.9004% -17.0769 5.63836);
		--color-teal-50:     lab(98.3189% -4.74921 -.111711);
		--color-teal-100:    lab(95.1845% -17.4212 -.425422);
		--color-teal-500:    lab(67.3859% -49.0983 -2.63511);
		--color-teal-600:    lab(55.0223% -41.0774 -3.90277);
		--color-teal-700:    lab(44.4134% -33.1436 -4.22149);
		--color-teal-900:    lab(29.506% -21.4706 -3.59886);
		--color-violet-100:  lab(93.0838% 4.35197 -9.88284);
		--color-purple-200:  lab(87.8405% 13.4282 -18.7159);
		--color-pink-50:     lab(96.4459% 4.53997 -1.49434);
		--color-pink-100:    lab(93.5864% 9.01193 -3.15079);
		--color-pink-200:    lab(87.4504% 19.6 -6.46662);
		--color-rose-50:     lab(96.2369% 4.94155 1.28011);
		--color-rose-100:    lab(92.8221% 9.86832 2.60075);
		--color-rose-200:    lab(86.806% 19.1909 4.07754);
		--color-rose-300:    lab(76.6339% 38.3549 9.68835);
		--color-rose-400:    lab(64.4125% 63.0291 19.2068);
		--color-rose-500:    lab(56.101% 79.4328 31.4532);
		--color-rose-600:    lab(49.1882% 81.577 36.0311);
		--color-rose-700:    lab(41.1651% 71.6251 30.3087);
		--color-rose-800:    lab(34.6481% 60.802 20.1957);
		--color-rose-900:    lab(29.7104% 51.514 12.6253);
		--color-rose-950:    lab(14.2323% 34.0086 9.80922);
		--color-slate-200:   lab(91.7353% -.998765 -4.76968);
		--color-gray-100:    lab(96.1596% -.0823438 -1.13575);
		--color-gray-200:    lab(91.6229% -.159115 -2.26791);
		--color-gray-400:    lab(65.9269% -.832707 -8.17473);
		--color-gray-500:    lab(47.7841% -.393182 -10.0268);
		--color-gray-600:    lab(35.6337% -1.58697 -10.8425);
		--color-gray-700:    lab(27.1134% -.956401 -12.3224);
		--color-gray-800:    lab(16.1051% -1.18239 -11.7533);
		--color-gray-900:    lab(8.11897% .811279 -12.254);
	}
}

/* ── Reset ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--gtd-font-body);
	font-size: 15px;
	line-height: 1.65;
	color: var(--gtd-text);
	background: var(--gtd-grad-surface);
	background-color: var(--gtd-primary-lt);
	-webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }

/* Uploaded media: files are batch-pastelized; avoid heavy double-filtering */
.gtd-pastel-img,
.woocommerce .attachment-woocommerce_thumbnail {
	filter: none;
}
.page-article__featured,
.post-card__media {
	background: var(--gtd-grad-card-media);
	overflow: hidden;
	border-radius: var(--gtd-radius-lg);
}
a  { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, p { margin: 0; }

.container {
	width: 100%;
	max-width: var(--gtd-container);
	margin-inline: auto;
	padding-inline: clamp(16px, 3vw, 40px);
}

/* ── Top Bar ─────────────────────────────────────────── */
.top-bar {
	background: var(--gtd-topbar-bg);
	color: rgba(255,255,255,.8);
	font-size: 12.5px;
	letter-spacing: .01em;
}
.top-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 38px;
}
.top-bar__msg { display: flex; align-items: center; gap: 7px; margin: 0; }
.top-bar__msg svg { color: var(--gtd-rose); flex-shrink: 0; }
.top-bar__links { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.top-bar__links a { opacity: .8; transition: opacity .2s; }
.top-bar__links a:hover { opacity: 1; text-decoration: underline; }

.lang-switcher {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
}
.lang-switcher--header {
	align-self: center;
	padding-inline: 2px;
}
.lang-switcher__link {
	opacity: .55;
	text-decoration: none !important;
	padding: 4px 6px;
	border-radius: 6px;
	color: var(--gtd-text);
	line-height: 1;
	transition: opacity .2s, color .2s, background .2s;
}
.lang-switcher__link:hover {
	opacity: 1;
	color: var(--gtd-primary);
}
.lang-switcher__link.is-active {
	opacity: 1;
	color: var(--gtd-primary);
	background: var(--gtd-primary-lt);
}
.lang-switcher__link.is-disabled {
	opacity: .35;
	cursor: default;
}
.lang-switcher__sep {
	opacity: .35;
	user-select: none;
	color: var(--gtd-muted);
}
.top-bar .lang-switcher__link { color: var(--gtd-white); }
.top-bar .lang-switcher__link.is-active { background: color-mix(in srgb, var(--gtd-white) 16%, transparent); color: var(--gtd-white); }
.top-bar .lang-switcher__sep { color: color-mix(in srgb, var(--gtd-white) 45%, transparent); }

/* ── Header ──────────────────────────────────────────── */
.site-header {
	background: linear-gradient(180deg, #ffffff 0%, rgba(255,255,255,.97) 100%);
	position: sticky;
	top: 0;
	z-index: 300;
	border-bottom: 1px solid var(--gtd-border);
	transition: box-shadow .3s;
}
.site-header.is-scrolled { box-shadow: var(--gtd-shadow-sm); }

.site-header__main {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 28px;
	padding-block: 14px;
}

/* Logo */
.site-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }

.site-logo__mark {
	min-width: 42px;
	height: 42px;
	padding: 0 9px;
	border-radius: var(--gtd-radius);
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	font-family: var(--gtd-font-head);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.03em;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.site-logo__text { display: flex; flex-direction: column; line-height: 1.2; }
.site-logo__name {
	font-family: var(--gtd-font-head);
	font-size: 20px; font-weight: 700;
	color: var(--gtd-primary);
	letter-spacing: -.01em;
}
.site-logo__sub {
	font-size: 10px; font-weight: 700;
	color: var(--gtd-muted);
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Search */
.header-search {
	display: flex; align-items: center;
	background: var(--gtd-sand);
	border: 1.5px solid var(--gtd-border);
	border-radius: 999px;
	overflow: hidden;
	min-height: 46px;
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.header-search:focus-within {
	border-color: var(--gtd-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gtd-primary) 12%, transparent);
	background: var(--gtd-white);
}
.header-search__input {
	flex: 1; border: 0; outline: none;
	font: inherit; font-size: 14px;
	background: transparent;
	padding: 0 16px; min-width: 0;
	color: var(--gtd-text);
}
.header-search__input::placeholder { color: var(--gtd-muted); }
.header-search__submit {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 46px;
	border: 0;
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	cursor: pointer; flex-shrink: 0;
	border-radius: 0 999px 999px 0;
	transition: opacity .2s;
}
.header-search__submit:hover { opacity: .9; }

/* Header actions */
.header-actions { display: flex; align-items: center; gap: 20px; }
.header-actions__item {
	display: flex; flex-direction: column; align-items: center; gap: 3px;
	font-size: 11px; font-weight: 700;
	color: var(--gtd-text);
	letter-spacing: .03em; text-transform: uppercase;
	transition: color .2s;
}
.header-actions__item:hover { color: var(--gtd-primary); }
.header-actions__cart-wrap { position: relative; display: inline-flex; }

/* Header mini cart dropdown */
.header-cart { position: relative; }
.header-mini-cart {
	position: absolute;
	top: calc(100% - 8px); /* overlap trigger zone — no dead gap */
	right: 0;
	width: min(360px, calc(100vw - 32px));
	padding-top: 16px; /* hover bridge above panel */
	background: var(--gtd-white);
	border-radius: var(--gtd-radius-lg);
	box-shadow: var(--gtd-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity .22s ease, transform .22s ease, visibility .22s;
	z-index: 200;
	pointer-events: none;
	isolation: isolate;
}
.header-cart:hover .header-mini-cart,
.header-cart:focus-within .header-mini-cart,
.header-cart.is-open .header-mini-cart,
.header-cart.is-hover .header-mini-cart {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}
.header-mini-cart__inner {
	padding: 16px;
	background: var(--gtd-white);
	border: 1px solid var(--gtd-border);
	border-radius: var(--gtd-radius-lg);
	box-shadow: var(--gtd-shadow-lg);
}
.header-mini-cart__head {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 12px; padding-bottom: 10px;
	border-bottom: 1px solid var(--gtd-border);
}
.header-mini-cart__title {
	font-family: var(--gtd-font-head);
	font-size: 16px; font-weight: 700; color: var(--gtd-text);
}
.header-mini-cart__count { font-size: 12px; color: var(--gtd-muted); font-weight: 600; }
.header-mini-cart__empty {
	margin: 0; padding: 20px 0; text-align: center;
	font-size: 14px; color: var(--gtd-muted);
}
.header-mini-cart__items {
	list-style: none; margin: 0 0 12px; padding: 0;
	max-height: 260px; overflow-y: auto;
}
.header-mini-cart__item {
	display: grid;
	grid-template-columns: 52px 1fr auto;
	gap: 10px; align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid var(--gtd-border);
}
.header-mini-cart__item:last-child { border-bottom: 0; }
.header-mini-cart__thumb img {
	width: 52px; height: 52px; object-fit: cover;
	border-radius: 8px; border: 1px solid var(--gtd-border);
}
.header-mini-cart__name {
	display: block; font-size: 13px; font-weight: 600;
	color: var(--gtd-text); line-height: 1.3;
	margin-bottom: 3px; text-decoration: none;
}
.header-mini-cart__name:hover { color: var(--gtd-primary); }
.header-mini-cart__meta { font-size: 12px; color: var(--gtd-muted); }
.header-mini-cart__line-total { font-size: 13px; font-weight: 700; color: var(--gtd-primary); white-space: nowrap; }
.header-mini-cart__subtotal {
	display: flex; justify-content: space-between; align-items: center;
	padding: 10px 0 14px; font-size: 14px;
	border-top: 1px solid var(--gtd-border);
}
.header-mini-cart__subtotal strong { font-size: 16px; color: var(--gtd-primary); }
.header-mini-cart__actions {
	display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
}
.header-mini-cart__actions--empty {
	display: flex;
	justify-content: center;
}
.header-mini-cart__actions--empty .header-mini-cart__cart-btn {
	min-width: 148px;
}
.header-mini-cart__actions .gtd-btn {
	padding: 10px 12px !important; font-size: 12px !important;
	text-align: center; justify-content: center;
}
.header-mini-cart__wa-notice,
.gtd-cart-wa-notice {
	margin: 10px 0 0;
	padding: 10px 12px;
	border-radius: var(--gtd-radius);
	background: var(--gtd-cart-notice-bg);
	border: 1px solid var(--gtd-cart-notice-border);
	font-size: 12px; line-height: 1.5;
	color: var(--gtd-cart-notice-text);
}
.gtd-cart-wa-notice { margin-bottom: 12px; }

/* Hide coupon forms (classic + blocks fallback) */
.woocommerce-cart-form .coupon,
.wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wc-block-components-totals-coupon,
.wc-block-components-panel__button[aria-controls*="coupon"] {
	display: none !important;
}

.gtd-wc-proceed-to-checkout .checkout-button,
.wc-proceed-to-checkout .gtd-checkout-wa {
	width: 100%;
	text-align: center;
	justify-content: center;
}

.cart-count {
	position: absolute; top: -7px; right: -9px;
	min-width: 18px; height: 18px;
	padding: 0 4px; border-radius: 999px;
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	font-size: 10px; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}
.header-actions__menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	border: 1.5px solid var(--gtd-border);
	border-radius: var(--gtd-radius);
	background: var(--gtd-white);
	cursor: pointer;
	padding: 10px;
	flex-shrink: 0;
	transition: border-color .2s, background .2s, box-shadow .2s;
}
.header-actions__menu-toggle:hover {
	border-color: var(--gtd-primary);
	background: var(--gtd-primary-lt);
}
.header-actions__menu-toggle .header-actions__menu-bar {
	display: block;
	width: 20px;
	height: 2px;
	background: var(--gtd-text);
	border-radius: 2px;
	transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1), opacity .2s, width .2s;
	transform-origin: center;
}
.header-actions__menu-toggle.is-active .header-actions__menu-bar:nth-of-type(1) {
	transform: translateY(7px) rotate(45deg);
}
.header-actions__menu-toggle.is-active .header-actions__menu-bar:nth-of-type(2) {
	opacity: 0;
	width: 0;
}
.header-actions__menu-toggle.is-active .header-actions__menu-bar:nth-of-type(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.mobile-nav-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 89;
	background: color-mix(in srgb, var(--color-gray-900) 45%, transparent);
	opacity: 0;
	transition: opacity .28s ease;
	pointer-events: none;
}
.mobile-nav-overlay.is-visible {
	display: block;
	opacity: 1;
	pointer-events: auto;
}

body.mobile-nav-open {
	overflow: hidden;
}

/* ── Category Navigation ─────────────────────────────── */
.category-nav {
	border-top: 1px solid var(--gtd-border);
	background: var(--gtd-white);
	overflow-x: auto;
	scrollbar-width: none;
}
.category-nav::-webkit-scrollbar { display: none; }
.category-nav__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-block: 0;
}

.category-nav__list,
.category-nav .menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 50px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.category-nav__list > li,
.category-nav .menu > li {
	display: flex;
	align-items: center;
}

.category-nav__link {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 12px 18px;
	font-size: 13px; font-weight: 700;
	color: var(--gtd-muted);
	white-space: nowrap;
	border-radius: 8px;
	border-bottom: 3px solid transparent;
	transition: color .2s, background .2s, border-color .2s;
}
.category-nav__link:hover {
	color: var(--gtd-primary);
	background: var(--gtd-primary-lt);
}
.category-nav__link.is-active,
.category-nav__list li.current-menu-item > .category-nav__link,
.category-nav__list li.current-menu-item > a {
	color: var(--gtd-primary);
	border-bottom-color: var(--gtd-primary);
	background: var(--gtd-primary-lt);
}

/* WordPress auto-generated nav styles (WP uses category-nav__list, not .menu) */
.category-nav .menu li a,
.category-nav__list > li > a {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 12px 20px;
	font-size: 13px; font-weight: 700;
	color: var(--gtd-muted);
	white-space: nowrap;
	border-radius: 8px;
	border-bottom: 3px solid transparent;
	transition: color .2s, background .2s, border-color .2s;
}
.category-nav .menu li a:hover,
.category-nav .menu li.current-menu-item > a,
.category-nav__list > li > a:hover,
.category-nav__list > li.current-menu-item > a,
.category-nav__list > li.current-page-ancestor > a,
.category-nav__list > li.current-menu-ancestor > a {
	color: var(--gtd-primary);
	background: var(--gtd-primary-lt);
	border-bottom-color: var(--gtd-primary);
}

.nav-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--gtd-rose);
	color: var(--gtd-white);
	font-size: 10px; font-weight: 700;
	letter-spacing: .04em;
}

/* Mobile hamburger drawer */
@media (max-width: 720px) {
	.category-nav {
		position: relative;
		z-index: 90;
		max-height: 0;
		overflow: hidden;
		border-top: 0;
		overflow-x: hidden;
		transition: max-height .35s cubic-bezier(0.4, 0, 0.2, 1);
	}
	.category-nav.is-open {
		max-height: min(75vh, 420px);
		border-top: 1px solid var(--gtd-border);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		box-shadow: 0 12px 24px color-mix(in srgb, var(--color-gray-900) 12%, transparent);
	}
	.category-nav__inner {
		justify-content: stretch;
		padding-block: 4px;
	}
	.category-nav__list,
	.category-nav .menu {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		min-height: 0;
		padding: 4px 0 8px;
		gap: 0;
		width: 100%;
	}
	.category-nav__list > li,
	.category-nav .menu > li {
		align-items: stretch;
		width: 100%;
		border-bottom: 1px solid var(--gtd-border);
	}
	.category-nav__list > li:last-child,
	.category-nav .menu > li:last-child {
		border-bottom: 0;
	}
	.category-nav__link,
	.category-nav .menu li a {
		display: flex;
		width: 100%;
		border-radius: 0;
		border-bottom: 0;
		border-left: 3px solid transparent;
		padding: 14px 20px;
		font-size: 14px;
		white-space: normal;
	}
	.category-nav__link:hover,
	.category-nav .menu li a:hover,
	.category-nav .menu li.current-menu-item > a,
	.category-nav__list > li.current-menu-item > a {
		border-left-color: var(--gtd-primary);
		border-bottom: none;
	}
	.category-nav .sub-menu {
		display: block;
		margin: 0;
		padding: 0 0 8px;
		list-style: none;
		background: var(--gtd-primary-lt);
	}
	.category-nav .sub-menu li {
		border-bottom: 0;
	}
	.category-nav .sub-menu a {
		padding: 10px 20px 10px 32px;
		font-size: 13px;
		font-weight: 600;
	}
}

/* ── Page loader ─────────────────────────────────────── */
.gtd-page-loader {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #fef7fa 0%, #f0f7ff 50%, #fff 100%);
	transition: opacity 0.45s ease, visibility 0.45s ease;
}
.gtd-page-loader.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.gtd-page-loader__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}
.gtd-page-loader__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	height: 56px;
	padding: 0 12px;
	border-radius: 16px;
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	font-family: var(--gtd-font-head);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.03em;
	box-shadow: 0 12px 32px color-mix(in srgb, var(--gtd-primary) 35%, transparent);
	animation: gtd-loader-pulse 1.2s ease-in-out infinite;
}
.gtd-page-loader__bar {
	width: 120px;
	height: 4px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--gtd-primary) 12%, white);
	overflow: hidden;
	position: relative;
}
.gtd-page-loader__bar::after {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 40%;
	border-radius: inherit;
	background: var(--gtd-grad-primary);
	animation: gtd-loader-bar 1.1s ease-in-out infinite;
}
@keyframes gtd-loader-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.06); }
}
@keyframes gtd-loader-bar {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(300%); }
}

/* ── Buttons ─────────────────────────────────────────── */
.gtd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 46px;
	padding: 11px 26px;
	font-family: var(--gtd-font-body);
	font-size: 14px; font-weight: 700; line-height: 1.3;
	border-radius: var(--gtd-radius);
	border: 2px solid transparent;
	cursor: pointer;
	transition: all .22s cubic-bezier(.4,0,.2,1);
	white-space: nowrap;
}

.gtd-btn--primary {
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	box-shadow: 0 4px 14px color-mix(in srgb, var(--gtd-primary) 30%, transparent);
	border-color: transparent;
}
.gtd-btn--primary:hover {
	background: linear-gradient(135deg, var(--gtd-primary-dk) 0%, var(--gtd-primary) 100%);
	box-shadow: 0 8px 24px color-mix(in srgb, var(--gtd-primary) 45%, transparent);
	transform: translateY(-2px);
}
.gtd-btn--primary:active { transform: translateY(0); box-shadow: 0 3px 10px color-mix(in srgb, var(--gtd-primary) 25%, transparent); }

.gtd-btn--outline {
	background: transparent;
	color: var(--gtd-primary);
	border-color: var(--gtd-primary);
}
.gtd-btn--outline:hover {
	background: var(--gtd-primary-lt);
	box-shadow: 0 4px 14px color-mix(in srgb, var(--gtd-primary) 12%, transparent);
	transform: translateY(-1px);
}
.gtd-btn--outline:active { transform: translateY(0); }

.gtd-btn--light {
	background: var(--gtd-white);
	color: var(--gtd-primary);
	border-color: rgba(255,255,255,.6);
	box-shadow: 0 4px 14px rgba(0,0,0,.1);
}
.gtd-btn--light:hover {
	background: var(--gtd-primary-lt);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,0,0,.15);
}

/* WooCommerce button override */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button {
	font-family: var(--gtd-font-body);
	font-weight: 700;
	border-radius: var(--gtd-radius);
	background: var(--gtd-grad-primary);
	color: var(--gtd-white) !important;
	border: 2px solid transparent;
	padding: 12px 28px;
	font-size: 14px;
	cursor: pointer;
	transition: all .22s cubic-bezier(.4,0,.2,1);
	box-shadow: 0 4px 14px color-mix(in srgb, var(--gtd-primary) 30%, transparent);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover {
	background: linear-gradient(135deg, var(--gtd-primary-dk) 0%, var(--gtd-primary) 100%) !important;
	color: var(--gtd-white) !important;
	box-shadow: 0 8px 24px color-mix(in srgb, var(--gtd-primary) 45%, transparent);
	transform: translateY(-2px);
}
.woocommerce a.button.alt { background: var(--gtd-grad-primary); }

/* ── Section utilities ───────────────────────────────── */
.section { padding-block: 60px; }

.section-label {
	display: block;
	font-size: 11px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase;
	color: var(--color-rose-500);
	margin-bottom: 8px;
}
.section-label--light { color: rgba(255,255,255,.75); }

.section-head {
	display: flex; align-items: flex-end;
	justify-content: space-between; gap: 16px;
	margin-bottom: 36px;
}
.section-head--centered { flex-direction: column; align-items: center; text-align: center; }

.section-head__title {
	font-family: var(--gtd-font-head);
	font-size: clamp(22px, 2.8vw, 32px);
	font-weight: 700; color: var(--gtd-text); line-height: 1.2;
}

.section-head__link {
	display: inline-flex; align-items: center; gap: 5px;
	font-size: 13.5px; font-weight: 700;
	color: var(--gtd-primary);
	white-space: nowrap;
	padding-bottom: 3px;
	border-bottom: 2px solid transparent;
	transition: border-color .2s, gap .2s;
}
.section-head__link:hover { border-bottom-color: var(--gtd-primary); gap: 9px; }

/* ── Hero slider ─────────────────────────────────────── */
.section-hero { padding: 0; }

.hero-slider {
	position: relative; overflow: hidden;
	min-height: 480px;
}
.hero-slider__track {
	position: relative;
	background: linear-gradient(
		125deg,
		var(--hero-track-start, var(--color-rose-50)) 0%,
		var(--hero-track-mid, var(--color-pink-50)) 45%,
		var(--hero-track-end, var(--gtd-white)) 100%
	);
	transition: background .55s cubic-bezier(0.4, 0, 0.2, 1);
}

.hero-slide {
	display: none;
	grid-template-columns: 1fr;
	align-items: center; gap: 32px;
	padding: 56px clamp(24px,5vw,80px);
	background: linear-gradient(
		125deg,
		var(--hero-bg-start, var(--color-rose-50)) 0%,
		var(--hero-bg-mid, color-mix(in srgb, var(--hero-bg-end, var(--gtd-white)) 55%, var(--hero-bg-start, var(--color-rose-50)))) 50%,
		var(--hero-bg-end, var(--gtd-white)) 100%
	);
	color: var(--gtd-text);
	min-height: 480px;
}
.hero-slide.is-active { display: grid; animation: heroIn .65s ease; }

@media (min-width: 800px) {
	.hero-slide { grid-template-columns: 1fr 1fr; min-height: 540px; }
}

@keyframes heroIn {
	from { opacity: 0; transform: translateX(16px); }
	to   { opacity: 1; transform: translateX(0); }
}

.hero-slide__eyebrow {
	font-size: 11px; font-weight: 800;
	letter-spacing: .14em; text-transform: uppercase;
	color: var(--gtd-primary); margin-bottom: 14px;
}
.hero-slide__content {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.hero-slide__title {
	font-family: var(--gtd-font-head);
	font-size: clamp(28px, 4.5vw, 52px);
	font-weight: 700; line-height: 1.1; margin-bottom: 16px;
	color: var(--gtd-text);
}
.hero-slide__subtitle {
	font-size: clamp(14px, 1.8vw, 16px);
	line-height: 1.7; color: var(--gtd-muted);
	max-width: 440px; margin-bottom: 32px;
	margin-left: auto; margin-right: auto;
}
.hero-slide__actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.hero-slide__media {
	position: relative;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
	border-radius: var(--gtd-radius-xl);
	background: var(--gtd-grad-card-media);
}
.hero-slide__media::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(160deg, rgba(255,255,255,.25) 0%, color-mix(in srgb, var(--gtd-primary-lt) 15%, transparent) 100%);
	pointer-events: none;
}
.hero-slide__media img {
	max-height: 400px; width: 100%; object-fit: cover;
	border-radius: var(--gtd-radius-xl);
	box-shadow: var(--gtd-shadow-lg);
	filter: brightness(1.08) saturate(0.55) contrast(0.95);
}
.hero-slide__placeholder {
	width: 100%; min-height: 320px;
	background: var(--gtd-primary-mid);
	border-radius: var(--gtd-radius-xl);
	border: 2px dashed var(--gtd-rose);
}

.hero-slider__arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--gtd-border);
	background: rgba(255,255,255,.85);
	backdrop-filter: blur(8px);
	color: var(--gtd-primary); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	z-index: 5;
	transition: background .2s, transform .2s, box-shadow .2s;
}
.hero-slider__arrow:hover {
	background: var(--gtd-white);
	box-shadow: var(--gtd-shadow);
	transform: translateY(-50%) scale(1.1);
}
.hero-slider__arrow--prev { left: 20px; }
.hero-slider__arrow--next { right: 20px; }

.hero-slider__dots {
	position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
	display: flex; gap: 8px; z-index: 5;
}
.hero-slider__dot {
	width: 8px; height: 8px; border-radius: 999px;
	border: 2px solid var(--gtd-border-mid);
	background: rgba(255,255,255,.6); padding: 0; cursor: pointer;
	transition: background .25s, border-color .25s, width .25s;
}
.hero-slider__dot.is-active { background: var(--gtd-primary); border-color: var(--gtd-primary); width: 24px; }

/* ── Category section ────────────────────────────────── */
.section-categories { background: var(--gtd-grad-section); }

.categories-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
@media (min-width: 900px) { .categories-grid { grid-template-columns: repeat(4, 1fr); } }

.category-card {
	display: flex; flex-direction: column;
	background: var(--gtd-white);
	border-radius: var(--gtd-radius-lg);
	overflow: hidden;
	border: 1px solid var(--gtd-border);
	transition: transform .25s, box-shadow .25s, border-color .25s;
	cursor: pointer;
}
.category-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--gtd-shadow);
	border-color: var(--gtd-rose);
}
.category-card--soon { cursor: default; opacity: .8; }
.category-card--soon:hover { transform: none; box-shadow: none; border-color: var(--gtd-border); }

.category-card__media {
	position: relative; aspect-ratio: 4/3; overflow: hidden;
	background: var(--gtd-grad-card-media);
}
.category-card__media::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 40%, color-mix(in srgb, var(--gtd-primary-lt) 35%, transparent) 100%);
	pointer-events: none;
	z-index: 1;
}
.category-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; filter: brightness(1.1) saturate(0.5) contrast(0.94); }
.category-card:hover:not(.category-card--soon) .category-card__media img { transform: scale(1.07); }
.category-card__img-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, var(--gtd-sand), var(--gtd-primary-mid)); }

.category-card__soon-overlay {
	position: absolute; inset: 0;
	background: color-mix(in srgb, var(--gtd-text) 50%, transparent);
	display: flex; align-items: center; justify-content: center;
}
.category-card__soon-overlay span {
	padding: 7px 20px;
	border: 2px solid rgba(255,255,255,.8);
	border-radius: 999px;
	color: var(--gtd-white);
	font-size: 12px; font-weight: 700;
	letter-spacing: .07em; text-transform: uppercase;
}

.category-card__body { padding: 18px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.category-card__name { font-family: var(--gtd-font-head); font-size: 17px; font-weight: 700; margin-bottom: 6px; }
.category-card__desc { font-size: 13px; color: var(--gtd-muted); line-height: 1.5; flex: 1; margin-bottom: 12px; }
.category-card__cta {
	display: inline-flex; align-items: center; gap: 5px;
	font-size: 13px; font-weight: 700;
	color: var(--gtd-primary);
	transition: gap .2s;
}
.category-card:hover .category-card__cta { gap: 10px; }

/* ── Product cards ───────────────────────────────────── */
.products-grid {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px;
}
@media (min-width: 640px)  { .products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px)  { .products-grid { grid-template-columns: repeat(4, 1fr); gap: 20px; } }
.products-grid--shop { list-style: none; margin: 0; padding: 0; align-items: stretch; }
.products-grid--shop .product { display: flex; height: 100%; }
.products-grid--shop .product .product-card { flex: 1; width: 100%; }

.product-card {
	background: var(--gtd-white);
	border-radius: var(--gtd-radius-lg);
	border: 1px solid var(--gtd-border);
	overflow: hidden;
	transition: transform .25s, box-shadow .25s, border-color .25s;
	display: flex; flex-direction: column;
}
.product-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--gtd-shadow);
	border-color: var(--gtd-rose);
}
.product-card__link { display: flex; flex-direction: column; flex: 1; }
.product-card__media {
	position: relative; aspect-ratio: 1;
	background: var(--gtd-grad-card-media);
	overflow: hidden; display: flex; align-items: center; justify-content: center;
}
.product-card__media::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(145deg, rgba(255,255,255,.3) 0%, color-mix(in srgb, var(--gtd-primary-lt) 20%, transparent) 100%);
	pointer-events: none;
	z-index: 1;
}
.product-card__image {
	width: 100%; height: 100%; object-fit: contain; padding: 16px;
	transition: transform .35s;
}
.product-card:hover .product-card__image { transform: scale(1.06); }
.product-card__badge {
	position: absolute; top: 12px; left: 12px; z-index: 2;
	padding: 4px 10px; border-radius: 6px;
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	font-size: 11px; font-weight: 700; letter-spacing: .03em;
}

.product-card__overlay {
	position: absolute; inset: 0;
	background: color-mix(in srgb, var(--gtd-text) 30%, transparent);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; transition: opacity .25s;
}
.product-card:hover .product-card__overlay { opacity: 1; }
.product-card__view {
	padding: 9px 22px;
	background: var(--gtd-white);
	color: var(--gtd-primary);
	font-size: 13px; font-weight: 700;
	border-radius: var(--gtd-radius);
	transform: translateY(6px); transition: transform .25s;
}
.product-card:hover .product-card__view { transform: translateY(0); }
.product-card__img-ph { width: 100%; height: 100%; background: linear-gradient(135deg, var(--gtd-sand), var(--gtd-primary-lt)); }

.product-card__body { padding: 14px 16px 18px; flex: 1; display: flex; flex-direction: column; }
.product-card__cat {
	display: block; font-size: 10px; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--gtd-primary); margin-bottom: 5px;
}
.product-card__title {
	font-family: var(--gtd-font-head);
	font-size: 15px; font-weight: 600; line-height: 1.35; margin-bottom: 10px;
	height: 2.7em;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.product-card__pricing { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-top: auto; padding-top: 6px; }
.product-card__price { font-size: 17px; font-weight: 700; color: var(--gtd-primary); }
.product-card__price .woocommerce-Price-amount { font-weight: 700; }
.product-card__regular { font-size: 13px; color: var(--gtd-muted); text-decoration: line-through; }

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* PLP — hover add to cart */
.product-card--has-atc { position: relative; overflow: visible; }
.product-card--has-atc .product-card__overlay { display: none; }
.product-card__atc {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	background: rgba(255,255,255,.97);
	border-top: 1px solid var(--gtd-border);
	border-radius: 0 0 var(--gtd-radius-lg) var(--gtd-radius-lg);
	box-shadow: 0 -6px 20px color-mix(in srgb, var(--gtd-text) 8%, transparent);
	pointer-events: none;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .25s ease, transform .25s ease;
}
.product-card--has-atc:hover .product-card__atc,
.product-card--has-atc:focus-within .product-card__atc {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.product-card__qty {
	width: 52px;
	flex-shrink: 0;
	padding: 8px 6px;
	border: 1px solid var(--gtd-border);
	border-radius: var(--gtd-radius);
	font-family: var(--gtd-font-body);
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	color: var(--gtd-text);
	background: var(--gtd-white);
	-moz-appearance: textfield;
}
.product-card__qty::-webkit-outer-spin-button,
.product-card__qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.product-card__qty:focus {
	outline: none;
	border-color: var(--gtd-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gtd-primary) 15%, transparent);
}
.product-card__add {
	flex: 1;
	min-width: 0;
	padding: 8px 12px !important;
	font-size: 13px !important;
	white-space: nowrap;
}
.product-card__add.is-loading { opacity: .7; pointer-events: none; }
.product-card__add.is-success { background: #2e9e5b !important; }
.product-card__atc-msg {
	position: absolute;
	left: 12px; right: 12px; bottom: calc(100% + 6px);
	padding: 6px 10px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	background: var(--gtd-primary-dk);
	color: var(--gtd-white);
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .2s, transform .2s;
	pointer-events: none;
}
.product-card__atc-msg.is-visible { opacity: 1; transform: translateY(0); }
.product-card__atc-msg.is-error { background: #c0392b; }
@media (hover: none) {
	.product-card__atc {
		opacity: 1;
		transform: none;
		pointer-events: auto;
		position: static;
		border-radius: 0;
		box-shadow: none;
	}
}
.furniro-catalog-no-atc .product-card__atc { display: none !important; }

/* ── Bestsellers ─────────────────────────────────────── */
.section-bestsellers { background: var(--gtd-grad-section); }
.section-new-arrivals { background: var(--gtd-grad-surface); }
.section-why-us { background: var(--gtd-grad-section); }
.section-categories { background: var(--gtd-grad-surface); }

/* ── Why us ──────────────────────────────────────────── */
.section-why-us { background: var(--gtd-grad-section); }

.why-us-grid {
	display: grid; grid-template-columns: 1fr; gap: 24px;
}
@media (min-width: 640px) { .why-us-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 900px) { .why-us-grid { grid-template-columns: repeat(4,1fr); } }

.why-us-card {
	background: var(--gtd-white);
	border-radius: var(--gtd-radius-lg);
	padding: 32px 24px; text-align: center;
	border: 1px solid var(--gtd-border);
	transition: transform .25s, box-shadow .25s;
}
.why-us-card:hover { transform: translateY(-4px); box-shadow: var(--gtd-shadow); }
.why-us-card__icon {
	width: 64px; height: 64px; border-radius: 50%;
	background: var(--gtd-primary-lt);
	color: var(--gtd-primary);
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 18px;
}
.why-us-card__title { font-family: var(--gtd-font-head); font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.why-us-card__text { font-size: 14px; line-height: 1.6; color: var(--gtd-muted); }

.no-products-msg { text-align: center; color: var(--gtd-muted); padding: 40px 0; }

/* ── Specialty banner ────────────────────────────────── */
.section-specialty-banner { background: var(--gtd-grad-section); padding-block: 60px; }

.specialty-banner {
	display: grid; grid-template-columns: 1fr;
	border-radius: var(--gtd-radius-xl); overflow: hidden;
	background: var(--gtd-white);
	border: 1px solid var(--gtd-border);
	box-shadow: var(--gtd-shadow);
	color: var(--gtd-text); min-height: 380px;
}
@media (min-width: 768px) { .specialty-banner { grid-template-columns: 1fr 1fr; } }

.specialty-banner__content {
	padding: clamp(36px,6vw,64px);
	display: flex; flex-direction: column; justify-content: center;
}
.specialty-banner__title {
	font-family: var(--gtd-font-head);
	font-size: clamp(26px,4vw,44px);
	font-weight: 700; line-height: 1.1; margin-bottom: 14px;
	color: var(--gtd-text);
}
.specialty-banner__text { font-size: 16px; line-height: 1.65; color: var(--gtd-muted); max-width: 420px; margin-bottom: 28px; }
.specialty-banner__list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 32px; }
.specialty-banner__list li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--gtd-text); }
.specialty-banner__list svg { color: var(--gtd-primary); flex-shrink: 0; }
.specialty-banner__media { position: relative; overflow: hidden; min-height: 280px; background: var(--gtd-grad-card-media); }
.specialty-banner__media::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(160deg, rgba(255,255,255,.2) 0%, color-mix(in srgb, var(--gtd-primary-lt) 25%, transparent) 100%);
	pointer-events: none;
}
.specialty-banner__media img {
	width: 100%; height: 100%; object-fit: cover;
	filter: brightness(1.1) saturate(0.5) contrast(0.94);
}
.specialty-banner__decor {
	position: absolute; inset: 0;
	background: radial-gradient(circle at 70% 30%, color-mix(in srgb, var(--gtd-primary) 8%, transparent) 0%, transparent 55%);
	pointer-events: none;
	z-index: 1;
}

/* ── Sticky contact buttons ──────────────────────────── */
.sticky-contacts {
	position: fixed; bottom: 80px; right: 0;
	z-index: 999; display: flex; flex-direction: column;
}
.sticky-contacts__btn {
	display: flex; align-items: center; justify-content: center;
	width: 52px; min-height: 52px;
	border-radius: 0;
	color: var(--gtd-white); font-size: 12px; font-weight: 700;
	transition: transform .2s, box-shadow .2s, filter .2s;
	box-shadow: var(--gtd-shadow-sm);
}
.sticky-contacts__btn:first-child { border-radius: 10px 0 0 0; }
.sticky-contacts__btn:last-child  { border-radius: 0 0 0 10px; }
.sticky-contacts__btn:only-child  { border-radius: 10px 0 0 10px; }
.sticky-contacts__btn:hover { transform: translateX(-5px) scale(1.08); box-shadow: -4px 6px 20px rgba(0,0,0,.22); filter: brightness(1.1); }
.sticky-contacts__btn--wa   { background: #25D366; }
.sticky-contacts__btn--zalo { background: #0066CC; }
.sticky-contacts__btn--ig   { background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
.sticky-contacts__icon { width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; }
.sticky-contacts__label { display: none; }

/* ── Scroll to top ───────────────────────────────────── */
.scroll-to-top {
	position: fixed;
	bottom: 22px;
	right: 64px;
	z-index: 998;
	width: 48px;
	height: 48px;
	border: 1.5px solid color-mix(in srgb, var(--gtd-white) 35%, transparent);
	border-radius: 50%;
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	box-shadow: var(--gtd-shadow);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px) scale(0.92);
	transition: opacity .28s ease, visibility .28s ease, transform .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s, border-color .2s;
}
.scroll-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}
.scroll-to-top:hover {
	border-color: var(--color-rose-200);
	box-shadow: var(--gtd-shadow-hover);
	transform: translateY(-3px) scale(1.04);
}
.scroll-to-top:focus-visible {
	outline: 2px solid var(--color-teal-100);
	outline-offset: 3px;
}
.scroll-to-top svg {
	display: block;
}

body:not(.has-sticky-contacts) .scroll-to-top {
	right: 20px;
}

@media (max-width: 720px) {
	.scroll-to-top {
		right: 16px;
		bottom: 18px;
		width: 44px;
		height: 44px;
	}
	body.has-sticky-contacts .scroll-to-top {
		bottom: 88px;
	}
}

/* ── Footer ──────────────────────────────────────────── */
.site-footer {
	background: var(--gtd-grad-footer);
	color: var(--gtd-footer-text);
	padding-top: 64px;
}
.site-footer__grid {
	display: grid; grid-template-columns: 1fr; gap: 40px;
	padding-bottom: 48px;
}
@media (min-width: 640px)  { .site-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }

.site-footer__logo {
	display: flex; align-items: center; gap: 10px;
	font-family: var(--gtd-font-head); font-size: 22px; font-weight: 700;
	color: var(--gtd-footer-heading);
	margin-bottom: 14px;
	text-decoration: none;
	transition: color .2s;
}
.site-footer__logo:hover {
	color: var(--gtd-footer-link-hover);
}
.site-footer__logo-mark {
	width: 38px; height: 38px;
	background: var(--gtd-grad-primary);
	border-radius: 8px;
	display: flex; align-items: center; justify-content: center; font-size: 20px;
	color: var(--gtd-white);
}
.site-footer__tagline {
	font-size: 14px;
	line-height: 1.65;
	color: var(--gtd-footer-text-muted);
	margin-bottom: 24px;
	max-width: 280px;
}
.site-footer__contact { display: flex; flex-direction: column; gap: 10px; }
.site-footer__contact li {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: 13px;
	color: var(--gtd-footer-text-muted);
}
.site-footer__contact li svg { flex-shrink: 0; margin-top: 2px; color: var(--color-rose-300); }
.site-footer__contact a {
	color: var(--gtd-footer-link);
	text-decoration: none;
	transition: color .2s;
}
.site-footer__contact a:hover {
	color: var(--gtd-footer-link-hover);
	text-decoration: underline;
}
.site-footer__col h3 {
	font-family: var(--gtd-font-head);
	font-size: 16px;
	font-weight: 700;
	color: var(--gtd-footer-heading);
	margin-bottom: 18px;
}
.footer-links { display: flex; flex-direction: column; gap: 10px; }
.footer-links a {
	font-size: 13px;
	color: var(--gtd-footer-link);
	text-decoration: none;
	transition: color .2s, padding-left .2s;
}
.footer-links a:hover {
	color: var(--gtd-footer-link-hover);
	padding-left: 4px;
}
.site-footer__newsletter-text {
	font-size: 13px;
	color: var(--gtd-footer-text-muted);
	margin-bottom: 20px;
}
.footer-social { display: flex; gap: 10px; }
.footer-social__link {
	width: 40px; height: 40px; border-radius: 50%;
	background: color-mix(in srgb, var(--gtd-white) 8%, transparent);
	border: 1px solid var(--gtd-footer-border);
	display: flex; align-items: center; justify-content: center;
	color: var(--gtd-footer-heading);
	transition: background .2s, border-color .2s, color .2s, transform .2s;
}
.footer-social__link:hover {
	background: color-mix(in srgb, var(--color-teal-600) 28%, transparent);
	border-color: color-mix(in srgb, var(--color-teal-100) 45%, transparent);
	color: var(--color-teal-100);
	transform: translateY(-3px);
}
.site-footer__bottom {
	border-top: 1px solid var(--gtd-footer-border);
	padding-block: 22px;
	background: color-mix(in srgb, var(--color-gray-900) 35%, transparent);
}
.site-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.site-footer__bottom p {
	font-size: 12.5px;
	color: var(--gtd-footer-text-muted);
	margin: 0;
}
.site-footer__made { color: color-mix(in srgb, var(--color-rose-200) 55%, var(--color-gray-500)); }

/* ── Category Filter Section ─────────────────────────── */
.section-cat-filter { background: var(--gtd-white); padding-block: 60px; }

.cat-filter__tabs {
	display: flex; align-items: center; justify-content: center;
	flex-wrap: wrap; gap: 10px;
	margin-bottom: 36px;
}

.cat-filter__tab {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 10px 22px;
	border: 2px solid var(--gtd-border);
	border-radius: 999px;
	background: var(--gtd-white);
	font-family: var(--gtd-font-body);
	font-size: 13px; font-weight: 700;
	color: var(--gtd-muted);
	cursor: pointer;
	transition: all .22s cubic-bezier(.4,0,.2,1);
}
.cat-filter__tab:hover {
	border-color: var(--gtd-primary);
	color: var(--gtd-primary);
	background: var(--gtd-primary-lt);
}
.cat-filter__tab.is-active {
	background: var(--gtd-grad-primary);
	border-color: transparent;
	color: var(--gtd-white);
	box-shadow: 0 4px 16px color-mix(in srgb, var(--gtd-primary) 30%, transparent);
}

.cat-filter__tab-count {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px;
	font-size: 10px; font-weight: 700;
	background: rgba(255,255,255,.25);
	color: inherit;
}
.cat-filter__tab:not(.is-active) .cat-filter__tab-count {
	background: var(--gtd-primary-lt);
	color: var(--gtd-primary);
}

.cat-filter__panel { display: none; animation: heroIn .35s ease; }
.cat-filter__panel.is-active { display: block; }
.cat-filter__cta { display: flex; justify-content: center; margin-top: 36px; }

/* ── PLP sidebar layout ──────────────────────────────── */
.plp-layout {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 36px;
	align-items: start;
}

.plp-sidebar {
	position: sticky;
	top: 20px;
	display: flex; flex-direction: column; gap: 20px;
}

.plp-sidebar__block {
	background: var(--gtd-sand);
	border-radius: var(--gtd-radius-lg);
	padding: 18px 16px;
	border: 1px solid var(--gtd-border);
}

.plp-sidebar__title {
	font-size: 11px; font-weight: 800;
	letter-spacing: .1em; text-transform: uppercase;
	color: var(--gtd-muted); margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--gtd-border);
}

.plp-sidebar__cats {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-direction: column; gap: 2px;
}

.plp-sidebar__cat {
	display: flex; align-items: center; justify-content: space-between;
	padding: 9px 12px;
	border-radius: 8px;
	font-size: 13px; font-weight: 600;
	color: var(--gtd-text);
	transition: background .2s, color .2s;
	text-decoration: none;
}
.plp-sidebar__cat:hover { background: var(--gtd-white); color: var(--gtd-primary); }
.plp-sidebar__cat.is-active {
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
}
.plp-sidebar__cat-count { font-size: 11px; opacity: .7; }
.plp-sidebar__cat.is-active .plp-sidebar__cat-count { opacity: .85; }

.plp-header {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; flex-wrap: wrap;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--gtd-border);
}
.plp-header__title {
	font-family: var(--gtd-font-head);
	font-size: 20px; font-weight: 700; color: var(--gtd-text);
}
.plp-main { min-width: 0; }

/* PLP notices — full width above layout */
.plp-notices {
	margin-bottom: 16px;
	width: 100%;
}

.plp-notices .woocommerce-notices-wrapper {
	margin: 0;
}

.plp-header__toolbar,
.plp-header > div {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	flex-wrap: wrap;
	margin-left: auto;
}
.plp-header .woocommerce-result-count { margin: 0; color: var(--gtd-muted); font-size: 13px; white-space: nowrap; }
.plp-header .woocommerce-ordering { margin: 0; }
.plp-header .woocommerce-ordering select {
	border: 1.5px solid var(--gtd-border); border-radius: var(--gtd-radius);
	padding: 7px 12px; font-family: inherit; font-size: 13px;
	color: var(--gtd-text); background: var(--gtd-white);
	cursor: pointer; outline: none;
	transition: border-color .2s;
}
.plp-header .woocommerce-ordering select:focus { border-color: var(--gtd-primary); }

@media (max-width: 900px) {
	.plp-layout { grid-template-columns: 1fr; }
	.plp-sidebar { position: static; flex-direction: row; flex-wrap: wrap; gap: 12px; }
	.plp-sidebar__block { flex: 1 1 180px; }
}

/* ── PDP sticky summary + mobile buy bar ─────────────── */
@media (min-width: 768px) {
	.pdp-summary-card { position: sticky; top: 20px; align-self: start; }
}

.pdp-mobile-bar {
	display: none;
	position: fixed; bottom: 0; left: 0; right: 0;
	z-index: 200;
	background: var(--gtd-white);
	border-top: 1px solid var(--gtd-border);
	padding: 12px 16px;
	gap: 12px;
	align-items: center;
	box-shadow: 0 -8px 24px color-mix(in srgb, var(--gtd-primary) 12%, transparent);
}
@media (max-width: 767px) {
	.pdp-mobile-bar { display: flex; }
	.site-main--product { padding-bottom: 80px; }
}
.pdp-mobile-bar__price {
	font-family: var(--gtd-font-head);
	font-size: 18px; font-weight: 700; color: var(--gtd-primary);
	white-space: nowrap;
}
.pdp-mobile-bar__btn { flex: 1; }

/* ── Shop & inner pages ──────────────────────────────── */
.site-main--page,
.site-main--archive,
.site-main--single,
.site-main--search,
.site-main--404 { padding-block: clamp(36px,5vw,64px); }

.site-main--shop {
	padding-block: clamp(36px,5vw,64px);
	margin-bottom: 80px;
}

.container--content { max-width: 820px; }
.container--cart { max-width: var(--gtd-container); }

/* ── Cart page (classic WooCommerce) ─────────────────── */
.site-main--cart {
	padding-block: clamp(32px, 4vw, 56px);
	margin-bottom: 80px;
}
.site-main--cart-empty {
	padding-block: clamp(48px, 8vw, 96px);
	min-height: min(72vh, 720px);
	display: flex;
	align-items: center;
}
.site-main--cart-empty .cart-page,
.site-main--cart-empty .woocommerce {
	display: block !important;
	width: 100%;
	grid-template-columns: 1fr !important;
}

/* Fallback if cart page still uses default page.php */
body.woocommerce-cart .site-main--page .container--content {
	max-width: var(--gtd-container);
}
body.woocommerce-cart .inner-header--page {
	display: none;
}

.cart-page .woocommerce,
body.woocommerce-cart .woocommerce {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	align-items: start;
}
@media (min-width: 992px) {
	.cart-page .woocommerce,
	body.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1fr) min(380px, 32%);
		column-gap: 32px;
		row-gap: 24px;
	}
}
.cart-page .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
	margin-bottom: 0;
}

/* Form left | Totals right */
.woocommerce-cart-form {
	min-width: 0;
}
@media (min-width: 992px) {
	.woocommerce-cart-form {
		grid-column: 1;
		grid-row: 2;
	}
	.woocommerce-cart .cart-collaterals {
		grid-column: 2;
		grid-row: 2;
		margin-top: 0;
	}
}

/* Cart table */
.woocommerce-cart-form .shop_table {
	width: 100%;
	border-collapse: collapse;
	background: var(--gtd-white);
	border: 1px solid var(--gtd-border);
	border-radius: var(--gtd-radius-lg);
	overflow: hidden;
}
.woocommerce-cart-form .shop_table thead {
	background: var(--gtd-sand);
}
.woocommerce-cart-form .shop_table th,
.woocommerce-cart-form .shop_table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--gtd-border);
	text-align: left;
	vertical-align: middle;
	font-size: 14px;
}
.woocommerce-cart-form .shop_table th {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gtd-muted);
}
.woocommerce-cart-form .shop_table .product-thumbnail {
	position: relative;
	background: var(--gtd-grad-card-media);
	border-radius: 8px;
}
.woocommerce-cart-form .shop_table .product-thumbnail img {
	width: 72px;
	height: 72px;
	object-fit: contain;
	padding: 6px;
	border-radius: 8px;
	border: 1px solid var(--gtd-border);
	background: #fff;
}
.woocommerce-cart-form .shop_table .product-name a {
	color: var(--gtd-text);
	font-weight: 600;
	text-decoration: none;
}
.woocommerce-cart-form .shop_table .product-name a:hover { color: var(--gtd-primary); }
.woocommerce-cart-form .shop_table .product-remove .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--gtd-primary-lt);
	color: var(--gtd-primary);
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.woocommerce-cart-form .shop_table .product-remove .remove:hover {
	background: var(--gtd-primary);
	color: var(--gtd-white);
}
.woocommerce-cart-form .shop_table .quantity .qty {
	width: 64px;
	padding: 8px 10px;
	border: 1px solid var(--gtd-border);
	border-radius: var(--gtd-radius);
	font-family: var(--gtd-font-body);
	font-size: 14px;
	text-align: center;
}
/* Keep table-cell layout — display:block on <td> shrinks the cell and pins content left */
.woocommerce-cart-form .shop_table td.actions {
	padding: 16px;
	text-align: right !important;
	border: 0 !important;
	background: transparent;
	vertical-align: middle;
}
.woocommerce-cart-form .actions .coupon {
	display: none !important;
}
.woocommerce-cart-form .actions .button[name="update_cart"] {
	float: none;
	margin: 0;
}
.woocommerce-cart-form .shop_table tr:has(.actions) td,
.woocommerce-cart-form .shop_table .actions {
	border-bottom: 0 !important;
	border-top: 0 !important;
}
.woocommerce-cart-form .shop_table tbody tr:last-child:not(:has(.actions)) td {
	border-bottom: 1px solid var(--gtd-border);
}
.woocommerce-cart-form .actions .button {
	font-family: var(--gtd-font-body);
	font-weight: 700;
	border-radius: var(--gtd-radius);
	background: var(--gtd-grad-primary);
	color: var(--gtd-white) !important;
	border: 0;
	padding: 10px 22px;
	cursor: pointer;
	transition: transform .2s, box-shadow .2s;
}
.woocommerce-cart-form .actions .button:hover {
	transform: translateY(-1px);
	box-shadow: var(--gtd-shadow);
}

/* Collaterals: totals sidebar */
.woocommerce-cart .cart-collaterals {
	margin-top: 0;
	width: 100%;
}
.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
}
.woocommerce-cart .cart_totals {
	background: var(--gtd-white);
	border: 1px solid var(--gtd-border);
	border-radius: var(--gtd-radius-lg);
	padding: 24px;
	box-shadow: var(--gtd-shadow-sm);
}
.woocommerce-cart .cart_totals h2 {
	font-family: var(--gtd-font-head);
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 16px;
	color: var(--gtd-text);
}
.woocommerce-cart .cart_totals .shop_table {
	width: 100%;
	border-collapse: collapse;
}
.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td {
	padding: 10px 0;
	border-bottom: 1px solid var(--gtd-border);
	font-size: 14px;
}
.woocommerce-cart .cart_totals .shop_table tr:last-child th,
.woocommerce-cart .cart_totals .shop_table tr:last-child td {
	border-bottom: 0;
	font-size: 17px;
	font-weight: 700;
	color: var(--gtd-primary);
}
.woocommerce-cart .wc-proceed-to-checkout {
	margin-top: 18px;
	padding-top: 0;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	width: 100%;
	justify-content: center;
	text-align: center;
}

/* Responsive cart table */
@media (max-width: 991px) {
	.woocommerce-cart .cart-collaterals {
		grid-column: 1;
	}
}
@media (max-width: 768px) {
	.woocommerce-cart-form .shop_table thead { display: none; }
	.woocommerce-cart-form .shop_table tr:not(:has(.actions)) {
		display: grid;
		grid-template-columns: 72px 1fr;
		gap: 8px 14px;
		padding: 16px;
		border-bottom: 1px solid var(--gtd-border);
	}
	.woocommerce-cart-form .shop_table tr:has(.actions) {
		display: block;
		padding: 0 16px 16px;
		border-bottom: 0;
	}
	.woocommerce-cart-form .shop_table tr:has(.actions) td.actions {
		display: block;
		width: 100%;
		text-align: right !important;
		padding: 0;
	}
	.woocommerce-cart-form .shop_table td {
		border: 0;
		padding: 0;
	}
	.woocommerce-cart-form .shop_table .product-remove { grid-column: 2; justify-self: end; }
	.woocommerce-cart-form .shop_table .product-thumbnail { grid-row: 1 / span 3; }
	.woocommerce-cart-form .shop_table .product-subtotal { font-weight: 700; color: var(--gtd-primary); }
}

/* Shop header */
.shop-header {
	margin-bottom: 36px;
	padding-bottom: 24px;
	border-bottom: 2px solid var(--gtd-border);
}
.shop-header__title {
	font-family: var(--gtd-font-head);
	font-size: clamp(26px,4vw,38px);
	font-weight: 700; color: var(--gtd-text); margin-bottom: 8px;
}
.shop-header .woocommerce-result-count { color: var(--gtd-muted); font-size: 14px; }
.shop-header .woocommerce-ordering select {
	border: 1.5px solid var(--gtd-border);
	border-radius: var(--gtd-radius);
	padding: 8px 12px;
	font-family: inherit; font-size: 14px; color: var(--gtd-text);
	background: var(--gtd-white); cursor: pointer;
}
.shop-layout { min-height: 50vh; }

/* Inner page header */
.inner-header {
	margin-bottom: 40px;
	padding-bottom: 24px;
	border-bottom: 2px solid var(--gtd-border);
}
.inner-header--page { text-align: center; border-bottom: 0; padding-bottom: 0; }
.inner-header__title {
	font-family: var(--gtd-font-head);
	font-size: clamp(28px,4vw,42px);
	font-weight: 700; color: var(--gtd-text); line-height: 1.2;
}
.inner-header__desc { margin-top: 12px; font-size: 16px; color: var(--gtd-muted); line-height: 1.6; }

/* ── PDP — Single product ────────────────────────────── */
.site-main--product { padding-block: clamp(24px,4vw,48px); margin-bottom: 80px; }

/* Breadcrumb — global */
.woocommerce-breadcrumb {
	display: flex; align-items: center; flex-wrap: wrap; gap: 2px 4px;
	font-size: 13px; color: var(--gtd-muted);
	background: var(--gtd-sand);
	border: 1px solid var(--gtd-border);
	border-radius: var(--gtd-radius);
	padding: 8px 14px;
	margin-bottom: 20px;
}
.woocommerce-breadcrumb a { color: var(--gtd-primary); font-weight: 600; transition: color .2s; }
.woocommerce-breadcrumb a:hover { color: var(--gtd-primary-dk); text-decoration: underline; }

/* Breadcrumb — PDP variant */
.pdp-breadcrumb {
	margin-bottom: 20px;
	padding: 0;
	background: transparent;
	border: 0;
	font-size: 13px;
}
.pdp-breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--gtd-muted);
}
.pdp-breadcrumb .woocommerce-breadcrumb a {
	color: var(--gtd-primary);
	font-weight: 600;
}

/* Two-column PDP layout */
.gtd-product-single {
	padding-bottom: 48px;
}
.pdp-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	margin-bottom: 56px;
	align-items: start;
}
@media (min-width: 768px) {
	.pdp-layout { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (min-width: 1024px) {
	.pdp-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 48px; }
}

/* Custom gallery */
.gtd-pdp-gallery {
	position: relative;
}
.gtd-pdp-gallery__stage {
	position: relative;
	border-radius: var(--gtd-radius-lg);
	overflow: hidden;
	background: linear-gradient(145deg, #fef7fa 0%, #f0f7ff 55%, #fff 100%);
	border: 1px solid var(--gtd-border);
	box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
}
.gtd-pdp-gallery__main-trigger {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}
.gtd-pdp-gallery__main-img {
	display: block;
	width: 100%;
	height: auto;
	max-height: min(520px, 62vw);
	object-fit: contain;
	padding: 28px;
	transition: transform 0.35s ease;
}
.gtd-pdp-gallery__main-trigger:hover .gtd-pdp-gallery__main-img {
	transform: scale(1.02);
}
.gtd-pdp-gallery__zoom-hint {
	position: absolute;
	right: 14px;
	bottom: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--gtd-muted);
	font-size: 12px;
	font-weight: 600;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
	pointer-events: none;
}
.gtd-pdp-gallery__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.gtd-pdp-gallery__thumbs {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	max-height: 360px;
	overflow-y: auto;
	scrollbar-width: thin;
}
@media (min-width: 640px) {
	.gtd-pdp-gallery__thumbs {
		flex-direction: row;
		flex-wrap: wrap;
		max-height: none;
		overflow: visible;
		gap: 10px;
	}
}
.gtd-pdp-gallery__thumb {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 6px;
	border: 1.5px solid var(--gtd-border);
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
	text-align: left;
}
@media (min-width: 640px) {
	.gtd-pdp-gallery__thumb {
		width: auto;
		flex: 0 0 calc(20% - 8px);
		flex-direction: column;
		align-items: stretch;
		padding: 6px;
		min-width: 72px;
	}
}
.gtd-pdp-gallery__thumb-frame {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: 10px;
	background: linear-gradient(145deg, #fafafa 0%, #f3f4f6 100%);
	border: 1px solid #eef0f2;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 6px;
}
@media (min-width: 640px) {
	.gtd-pdp-gallery__thumb-frame {
		width: 100%;
		height: 72px;
	}
}
.gtd-pdp-gallery__thumb img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 0;
	background: transparent;
	flex-shrink: 0;
}
.gtd-pdp-gallery__thumb-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--gtd-text);
}
@media (min-width: 640px) {
	.gtd-pdp-gallery__thumb-label { display: none; }
}
.gtd-pdp-gallery__thumb:hover {
	border-color: color-mix(in srgb, var(--gtd-primary) 45%, white);
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}
.gtd-pdp-gallery__thumb.is-active {
	border-color: var(--gtd-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gtd-primary) 16%, transparent);
}
.gtd-pdp-gallery__thumb.is-active .gtd-pdp-gallery__thumb-frame {
	border-color: color-mix(in srgb, var(--gtd-primary) 35%, white);
	background: color-mix(in srgb, var(--gtd-primary) 6%, white);
}

/* Lightbox */
body.gtd-pdp-lightbox-open { overflow: hidden; }
.gtd-pdp-gallery__lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(15, 23, 42, 0.88);
	padding: 24px;
}
.gtd-pdp-gallery__lightbox[hidden] { display: none !important; }
.gtd-pdp-gallery__lightbox-figure {
	margin: 0;
	max-width: min(960px, 92vw);
	max-height: 82vh;
}
.gtd-pdp-gallery__lightbox-img {
	display: block;
	max-width: 100%;
	max-height: 82vh;
	object-fit: contain;
	border-radius: 12px;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}
.gtd-pdp-gallery__lightbox-close,
.gtd-pdp-gallery__lightbox-prev,
.gtd-pdp-gallery__lightbox-next {
	position: absolute;
	border: 0;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s;
}
.gtd-pdp-gallery__lightbox-close:hover,
.gtd-pdp-gallery__lightbox-prev:hover,
.gtd-pdp-gallery__lightbox-next:hover {
	background: rgba(255, 255, 255, 0.24);
}
.gtd-pdp-gallery__lightbox-close { top: 20px; right: 20px; }
.gtd-pdp-gallery__lightbox-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.gtd-pdp-gallery__lightbox-next { right: 20px; top: 50%; transform: translateY(-50%); }
.gtd-pdp-gallery__lightbox-counter {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
	color: rgba(255, 255, 255, 0.85);
	font-size: 14px;
	font-weight: 600;
}

/* Summary card */
.pdp-summary-wrap {
	position: relative;
}
.pdp-summary-card {
	background: #fff;
	border: 1px solid var(--gtd-border);
	border-radius: calc(var(--gtd-radius-lg) + 4px);
	padding: clamp(20px, 3vw, 32px);
	box-shadow: 0 16px 48px rgba(15, 23, 42, 0.06);
}
@media (min-width: 1024px) {
	.pdp-summary-card {
		position: sticky;
		top: 24px;
	}
}
.pdp-summary-card__cats {
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--gtd-primary);
}
.pdp-summary-card__cats a {
	color: inherit;
	text-decoration: none;
}
.pdp-summary-card__cats a:hover { text-decoration: underline; }

.pdp-trust {
	display: grid;
	gap: 10px;
	margin: 24px 0 0;
	padding: 16px;
	list-style: none;
	border-radius: var(--gtd-radius);
	background: linear-gradient(135deg, #fef7fa 0%, #f0f7ff 100%);
	border: 1px solid color-mix(in srgb, var(--gtd-primary) 12%, white);
}
.pdp-trust li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 600;
	color: var(--gtd-text);
}
.pdp-trust__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
	flex-shrink: 0;
}

/* Legacy gallery hooks (fallback) */
.pdp-gallery .woocommerce-product-gallery {
	position: relative;
	border-radius: var(--gtd-radius-lg);
	overflow: hidden;
}
.pdp-gallery .woocommerce-product-gallery__wrapper {
	border-radius: var(--gtd-radius-lg);
	overflow: hidden;
	background: var(--gtd-grad-card-media);
}
.pdp-gallery .woocommerce-product-gallery__image img {
	width: 100%; height: auto;
	max-height: 520px; object-fit: contain;
	padding: 20px;
	border-radius: var(--gtd-radius-lg);
}
.pdp-gallery .flex-control-thumbs {
	display: flex; gap: 10px; margin-top: 14px;
	list-style: none; padding: 0;
}
.pdp-gallery .flex-control-thumbs li { flex-shrink: 0; }
.pdp-gallery .flex-control-thumbs img {
	width: 72px; height: 72px; object-fit: contain;
	padding: 4px;
	background: #fff;
	filter: brightness(1.08) saturate(0.52);
	border-radius: 8px;
	border: 2px solid var(--gtd-border);
	cursor: pointer; transition: border-color .2s;
}
.pdp-gallery .flex-control-thumbs img:hover,
.pdp-gallery .flex-control-thumbs .flex-active { border-color: var(--gtd-primary); }

/* Sale flash */
.pdp-gallery .onsale {
	position: absolute; top: 14px; left: 14px; z-index: 2;
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	padding: 6px 12px; border-radius: 8px;
	font-size: 12px; font-weight: 700;
}

/* Summary */
.pdp-summary-card .product_title,
.pdp-summary .product_title {
	font-family: var(--gtd-font-head);
	font-size: clamp(22px, 3vw, 34px);
	font-weight: 700; line-height: 1.2;
	color: var(--gtd-text); margin-bottom: 12px;
}

.pdp-summary-card .woocommerce-product-rating,
.pdp-summary .woocommerce-product-rating {
	display: flex; align-items: center; gap: 8px;
	margin-bottom: 16px;
}
.pdp-summary-card .star-rating,
.pdp-summary .star-rating {
	color: #f59e0b;
	font-size: 14px;
}
.pdp-summary-card .price,
.pdp-summary .price {
	font-family: var(--gtd-font-head);
	font-size: 28px; font-weight: 700;
	color: var(--gtd-primary); margin-bottom: 20px;
	display: flex; align-items: baseline; gap: 12px;
}
.pdp-summary-card .price del,
.pdp-summary .price del { font-size: 18px; color: var(--gtd-muted); opacity: .7; font-weight: 400; }
.pdp-summary-card .price ins,
.pdp-summary .price ins { text-decoration: none; }

.pdp-summary-card .woocommerce-product-details__short-description,
.pdp-summary .woocommerce-product-details__short-description {
	font-size: 15px; line-height: 1.7;
	color: var(--gtd-muted); margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--gtd-border);
}

.pdp-summary-card form.cart,
.pdp-summary form.cart {
	display: flex; gap: 12px; align-items: center;
	flex-wrap: wrap; margin-bottom: 24px;
}
.pdp-summary-card .quantity,
.pdp-summary .quantity {
	display: flex; align-items: center;
	border: 1.5px solid var(--gtd-border);
	border-radius: var(--gtd-radius); overflow: hidden;
}
.pdp-summary-card .quantity .qty,
.pdp-summary .quantity .qty {
	width: 56px; text-align: center; font-size: 16px; font-weight: 700;
	border: 0; outline: 0; padding: 10px; font-family: inherit;
	color: var(--gtd-text); background: var(--gtd-white);
}
.pdp-summary-card .quantity .qty::-webkit-inner-spin-button,
.pdp-summary .quantity .qty::-webkit-inner-spin-button { opacity: 1; }

.pdp-summary-card .single_add_to_cart_button,
.pdp-summary .single_add_to_cart_button {
	flex: 1; min-width: 160px;
}

.pdp-summary-card .product_meta,
.pdp-summary .product_meta {
	padding-top: 20px;
	border-top: 1px solid var(--gtd-border);
}
.pdp-summary-card .product_meta span,
.pdp-summary .product_meta span { display: block; font-size: 13px; color: var(--gtd-muted); margin-bottom: 4px; }
.pdp-summary-card .product_meta a,
.pdp-summary .product_meta a { color: var(--gtd-primary); font-weight: 600; }
.pdp-summary-card .product_meta a:hover,
.pdp-summary .product_meta a:hover { text-decoration: underline; }

/* PDP tabs */
.pdp-tabs .woocommerce-tabs {
	margin-bottom: 48px;
}
.pdp-tabs .woocommerce-tabs ul.tabs {
	display: flex; gap: 0; list-style: none; padding: 0;
	border-bottom: 2px solid var(--gtd-border);
	margin-bottom: 32px;
}
.pdp-tabs .woocommerce-tabs ul.tabs li {
	margin: 0;
	position: relative;
}
.pdp-tabs .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 22px;
	font-size: 14px; font-weight: 700;
	color: var(--gtd-muted);
	border-bottom: 3px solid transparent;
	transition: color .2s, border-color .2s;
	margin-bottom: -2px;
}
.pdp-tabs .woocommerce-tabs ul.tabs li a:hover { color: var(--gtd-primary); }
.pdp-tabs .woocommerce-tabs ul.tabs li.active a {
	color: var(--gtd-primary);
	border-bottom-color: var(--gtd-primary);
}
.pdp-tabs .woocommerce-tabs .panel {
	font-size: 15px; line-height: 1.75; color: var(--gtd-text);
}
.pdp-tabs .woocommerce-tabs .panel h2 { display: none; }

/* Related products */
.pdp-tabs .related.products h2,
.pdp-tabs .up-sells h2 {
	font-family: var(--gtd-font-head);
	font-size: 22px; font-weight: 700; margin-bottom: 24px;
}
.pdp-tabs .related.products ul.products,
.pdp-tabs .up-sells ul.products {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px; list-style: none; margin: 0; padding: 0;
}
@media (min-width: 640px) {
	.pdp-tabs .related.products ul.products,
	.pdp-tabs .up-sells ul.products { grid-template-columns: repeat(4, 1fr); }
}

/* WooCommerce notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: var(--gtd-radius);
	border-left: 4px solid var(--gtd-primary);
	padding: 14px 20px;
	margin: 0 0 16px;
	font-size: 14px;
	background: var(--gtd-primary-lt);
	color: var(--gtd-text);
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.plp-main > .woocommerce-notices-wrapper {
	margin-bottom: 16px;
}

/* ── My Account ──────────────────────────────────────── */
.site-main--account { padding-block: clamp(36px,5vw,64px); margin-bottom: 80px; }

.account-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}
@media (min-width: 768px) { .account-layout { grid-template-columns: 220px 1fr; } }

.account-sidebar {
	background: var(--gtd-white);
	border-radius: var(--gtd-radius-lg);
	border: 1px solid var(--gtd-border);
	overflow: hidden;
	align-self: start;
}

.account-sidebar__user {
	padding: 24px 20px;
	background: var(--gtd-grad-section);
	border-bottom: 1px solid var(--gtd-border);
	display: flex; gap: 14px; align-items: center;
}
.account-sidebar__avatar-img {
	width: 56px; height: 56px;
	border-radius: 50%; border: 2px solid var(--gtd-rose);
}
.account-sidebar__name { font-family: var(--gtd-font-head); font-size: 15px; font-weight: 700; margin-bottom: 2px; }
.account-sidebar__email { font-size: 12px; color: var(--gtd-muted); }

.woocommerce-MyAccount-navigation ul {
	list-style: none; padding: 10px 0; margin: 0;
}
.woocommerce-MyAccount-navigation ul li a {
	display: flex; align-items: center; gap: 10px;
	padding: 11px 20px;
	font-size: 14px; font-weight: 600; color: var(--gtd-muted);
	border-left: 3px solid transparent;
	transition: color .2s, background .2s, border-color .2s;
}
.woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--gtd-primary);
	background: var(--gtd-primary-lt);
	border-left-color: var(--gtd-primary);
}
.woocommerce-MyAccount-navigation ul li.is-active > a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active > a {
	color: var(--gtd-primary);
	background: var(--gtd-primary-lt);
	border-left-color: var(--gtd-primary);
}

.account-content {
	background: var(--gtd-white);
	border-radius: var(--gtd-radius-lg);
	border: 1px solid var(--gtd-border);
	padding: 32px;
}
.account-content h2, .account-content h3 {
	font-family: var(--gtd-font-head);
	font-weight: 700; margin-bottom: 16px; color: var(--gtd-text);
}
.account-content p { color: var(--gtd-muted); font-size: 14px; line-height: 1.65; }
.account-content a { color: var(--gtd-primary); font-weight: 600; }
.account-content a:hover { text-decoration: underline; }

/* WC My Account forms */
.woocommerce-account .woocommerce-form input[type="text"],
.woocommerce-account .woocommerce-form input[type="email"],
.woocommerce-account .woocommerce-form input[type="password"],
.woocommerce-account .woocommerce-EditAccountForm input {
	width: 100%; padding: 10px 14px;
	border: 1.5px solid var(--gtd-border);
	border-radius: var(--gtd-radius);
	font-family: inherit; font-size: 14px;
	background: var(--gtd-sand);
	transition: border-color .2s, box-shadow .2s;
}
.woocommerce-account .woocommerce-form input:focus,
.woocommerce-account .woocommerce-EditAccountForm input:focus {
	outline: none;
	border-color: var(--gtd-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gtd-primary) 10%, transparent);
	background: var(--gtd-white);
}

/* Orders table */
.woocommerce-orders-table {
	width: 100%; border-collapse: collapse; font-size: 14px;
}
.woocommerce-orders-table th {
	padding: 10px 14px; text-align: left;
	font-weight: 700; color: var(--gtd-muted);
	border-bottom: 2px solid var(--gtd-border);
	font-size: 12px; text-transform: uppercase; letter-spacing: .06em;
}
.woocommerce-orders-table td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--gtd-border);
	color: var(--gtd-text);
}
.woocommerce-orders-table tbody tr:hover { background: var(--gtd-primary-lt); }

/* ── Contact page ────────────────────────────────────── */
.site-main--contact { padding-block: clamp(36px,5vw,64px); margin-bottom: 80px; }

.contact-hero {
	text-align: center;
	padding-bottom: 48px;
	margin-bottom: 0;
}
.contact-hero__title {
	font-family: var(--gtd-font-head);
	font-size: clamp(32px,4.5vw,52px);
	font-weight: 700; margin-bottom: 16px;
}
.contact-hero__sub {
	font-size: 16px; color: var(--gtd-muted); max-width: 560px;
	margin-inline: auto; line-height: 1.65;
}

.contact-layout {
	display: grid; grid-template-columns: 1fr; gap: 40px;
}
@media (min-width: 820px) { .contact-layout { grid-template-columns: 1fr 1.3fr; gap: 56px; } }

.contact-info { display: flex; flex-direction: column; gap: 20px; }

.contact-info__card {
	display: flex; gap: 16px; align-items: flex-start;
	background: var(--gtd-white);
	border: 1px solid var(--gtd-border);
	border-radius: var(--gtd-radius-lg);
	padding: 20px 22px;
	transition: box-shadow .2s, border-color .2s;
}
.contact-info__card:hover { box-shadow: var(--gtd-shadow-sm); border-color: var(--gtd-rose); }

.contact-info__icon {
	width: 44px; height: 44px; flex-shrink: 0;
	border-radius: 10px;
	background: var(--gtd-primary-lt);
	color: var(--gtd-primary);
	display: flex; align-items: center; justify-content: center;
}
.contact-info__card h3 { font-size: 14px; font-weight: 700; margin-bottom: 5px; }
.contact-info__card p { font-size: 14px; color: var(--gtd-muted); margin: 0 0 6px; line-height: 1.5; }
.contact-info__card a { color: var(--gtd-primary); font-weight: 600; }
.contact-info__card a:hover { text-decoration: underline; }

.contact-info__social { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 4px; }

.contact-info__chip {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 7px 14px;
	border-radius: 999px;
	font-size: 13px; font-weight: 700;
	color: var(--gtd-white);
	transition: opacity .2s, transform .2s;
}
.contact-info__chip:hover { opacity: .9; transform: translateY(-1px); }
.contact-info__chip--wa   { background: transparent; border: 1.5px solid #4db6ac; color: #2d8f86; }
.contact-info__chip--fb   { background: #1877F2; }
.contact-info__chip--zalo { background: #0066CC; }

.contact-form-wrap__inner {
	background: var(--gtd-white);
	border: 1px solid var(--gtd-border);
	border-radius: var(--gtd-radius-xl);
	padding: clamp(24px,4vw,44px);
	box-shadow: var(--gtd-shadow-sm);
}
.contact-form-wrap__inner h2 {
	font-family: var(--gtd-font-head);
	font-size: 24px; font-weight: 700; margin-bottom: 8px;
}
.contact-form-wrap__sub { font-size: 14px; color: var(--gtd-muted); margin-bottom: 28px; }

/* CF7 form styling */
.wpcf7-form p { margin-bottom: 18px; }
.wpcf7-form label {
	display: block; font-size: 13px; font-weight: 700;
	color: var(--gtd-text); margin-bottom: 6px;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7-form select {
	width: 100%; padding: 11px 14px;
	border: 1.5px solid var(--gtd-border);
	border-radius: var(--gtd-radius);
	font-family: inherit; font-size: 14px; color: var(--gtd-text);
	background: var(--gtd-white);
	transition: border-color .2s, box-shadow .2s;
	-webkit-appearance: none;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
	outline: none;
	border-color: var(--gtd-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gtd-primary) 10%, transparent);
	background: var(--gtd-white);
}
.wpcf7-form textarea { min-height: 130px; resize: vertical; }
.wpcf7-form input[type="submit"] {
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	border: 2px solid transparent;
	border-radius: var(--gtd-radius);
	padding: 12px 28px;
	font-family: inherit; font-size: 14px; font-weight: 700;
	cursor: pointer;
	box-shadow: 0 4px 14px color-mix(in srgb, var(--gtd-primary) 30%, transparent);
	transition: all .22s cubic-bezier(.4,0,.2,1);
}
.wpcf7-form input[type="submit"]:hover {
	background: linear-gradient(135deg, var(--gtd-primary-dk) 0%, var(--gtd-primary) 100%);
	box-shadow: 0 8px 24px color-mix(in srgb, var(--gtd-primary) 45%, transparent);
	transform: translateY(-2px);
}
.wpcf7-not-valid-tip { color: #e53e3e; font-size: 12px; margin-top: 4px; }
.wpcf7-response-output { padding: 12px 16px; border-radius: var(--gtd-radius); font-size: 14px; margin-top: 16px; }

/* ── About page ──────────────────────────────────────── */
.site-main--about { padding: 0; margin-bottom: 80px; }

.about-hero {
	background: linear-gradient(135deg, #2d1b3d 0%, #4a1942 100%);
	color: var(--gtd-white);
	padding: clamp(56px,8vw,100px) 0;
}
.about-hero__inner {
	display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center;
}
@media (min-width: 768px) { .about-hero__inner { grid-template-columns: 1fr 1fr; } }
.about-hero__title {
	font-family: var(--gtd-font-head);
	font-size: clamp(32px,5vw,56px);
	font-weight: 700; line-height: 1.1; margin-bottom: 20px;
}
.about-hero__text { font-size: 17px; line-height: 1.7; opacity: .9; max-width: 500px; }
.about-hero__visual { display: flex; align-items: center; justify-content: center; }
.about-hero__blob {
	width: 320px; height: 320px;
	border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
	background-image:
		linear-gradient(135deg, color-mix(in srgb, var(--gtd-rose) 24%, transparent) 0%, color-mix(in srgb, var(--gtd-primary) 16%, transparent) 100%),
		url('../images/vietnam-flag.svg');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat;
	animation: morphBlob 8s ease-in-out infinite;
}
@keyframes morphBlob {
	0%,100% { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; }
	50%      { border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%; }
}

.about-stats {
	background: var(--gtd-white);
	border-bottom: 1px solid var(--gtd-border);
}
.about-stats__grid {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 0;
}
@media (min-width: 640px) { .about-stats__grid { grid-template-columns: repeat(4,1fr); } }
.about-stats__item {
	display: flex; flex-direction: column; align-items: center;
	padding: 32px 20px; text-align: center;
	border-right: 1px solid var(--gtd-border);
}
.about-stats__item:last-child { border-right: 0; }
.about-stats__num {
	font-family: var(--gtd-font-head);
	font-size: 36px; font-weight: 700;
	color: var(--gtd-primary); line-height: 1;
	margin-bottom: 8px;
}
.about-stats__label { font-size: 13px; color: var(--gtd-muted); font-weight: 600; }

.about-vibe {
	padding-block: clamp(60px,8vw,100px);
	background: linear-gradient(180deg, var(--gtd-brand-bg, #FDF4F2) 0%, var(--gtd-brand-primary-60, color-mix(in srgb, #FBE9ED 60%, #fff)) 100%);
}
.about-vibe__quote {
	max-width: 720px;
	margin: 32px auto 40px;
	padding: 28px 32px;
	background: var(--gtd-white);
	border-radius: var(--gtd-radius-xl);
	border-left: 4px solid var(--gtd-primary, #8F2C42);
	box-shadow: 0 8px 32px color-mix(in srgb, var(--gtd-primary) 8%, transparent);
}
.about-vibe__quote p {
	margin: 0;
	font-size: 16px;
	line-height: 1.8;
	color: var(--gtd-text);
	font-style: italic;
}
.about-vibe__traits {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	max-width: 960px;
	margin: 0 auto 36px;
}
@media (min-width: 640px) { .about-vibe__traits { grid-template-columns: repeat(3,1fr); } }
.about-vibe__trait {
	padding: 24px 20px;
	background: var(--gtd-white);
	border-radius: var(--gtd-radius-lg);
	text-align: center;
	border: 1px solid color-mix(in srgb, var(--gtd-brand-primary, #FBE9ED) 60%, var(--gtd-border));
	transition: transform .3s ease, box-shadow .3s ease;
}
.about-vibe__trait:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px color-mix(in srgb, var(--gtd-primary) 10%, transparent);
}
.about-vibe__trait h3 {
	font-family: var(--gtd-font-head);
	font-size: 20px;
	font-weight: 700;
	color: var(--gtd-primary);
	margin-bottom: 8px;
}
.about-vibe__trait p { font-size: 14px; color: var(--gtd-muted); line-height: 1.65; margin: 0; }
.about-vibe__tagline {
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	color: var(--gtd-primary);
	max-width: 640px;
	margin: 0 auto;
	line-height: 1.6;
}

.about-story { padding-block: clamp(60px,8vw,100px); background: var(--gtd-grad-section); }
.about-story__inner {
	display: grid; grid-template-columns: 1fr; gap: 56px; align-items: center;
}
@media (min-width: 768px) { .about-story__inner { grid-template-columns: 1fr 1fr; } }
.about-story__img-wrap { position: relative; height: 420px; }
.about-story__img-block {
	position: absolute;
	border-radius: var(--gtd-radius-xl);
}
.about-story__img-block--1 {
	width: 75%; height: 320px; top: 0; left: 0;
	background: linear-gradient(135deg, var(--gtd-primary-mid), var(--gtd-rose));
}
.about-story__img-block--2 {
	width: 55%; height: 220px; bottom: 0; right: 0;
	background: var(--gtd-grad-primary);
	display: flex; align-items: center; justify-content: center;
	color: var(--gtd-white); font-family: var(--gtd-font-head);
	font-size: 22px; font-weight: 700; text-align: center; padding: 20px;
	box-shadow: var(--gtd-shadow);
}
.about-story__img-block--2::after { content: '"Made in Vietnam\AWorth the Journey"'; white-space: pre-line; }
.about-story__content h2 {
	font-family: var(--gtd-font-head);
	font-size: clamp(26px,3.5vw,38px); font-weight: 700; margin-bottom: 16px;
}
.about-story__content p { font-size: 15px; color: var(--gtd-muted); line-height: 1.75; margin-bottom: 16px; }
.about-story__content .gtd-btn { margin-top: 8px; }

.about-values { padding-block: clamp(60px,8vw,100px); background: var(--gtd-white); }
.about-values__grid {
	display: grid; grid-template-columns: 1fr; gap: 24px; margin-top: 40px;
}
@media (min-width: 640px) { .about-values__grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .about-values__grid { grid-template-columns: repeat(4,1fr); } }
.about-value-card {
	background: var(--gtd-white);
	border: 1px solid var(--gtd-border);
	border-radius: var(--gtd-radius-lg);
	padding: 32px 24px; text-align: center;
	transition: transform .25s, box-shadow .25s, border-color .25s;
}
.about-value-card:hover { transform: translateY(-4px); box-shadow: var(--gtd-shadow); border-color: var(--gtd-rose); }
.about-value-card__icon {
	width: 60px; height: 60px; border-radius: 50%;
	background: var(--gtd-primary-lt); color: var(--gtd-primary);
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 18px;
}
.about-value-card h3 { font-family: var(--gtd-font-head); font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.about-value-card p { font-size: 14px; color: var(--gtd-muted); line-height: 1.6; }

.about-location { padding-block: clamp(60px,8vw,100px); background: var(--gtd-grad-section); }
.about-location__inner {
	display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center;
}
@media (min-width: 768px) { .about-location__inner { grid-template-columns: 1fr 1fr; } }
.about-location__content h2 {
	font-family: var(--gtd-font-head);
	font-size: clamp(24px,3.5vw,38px); font-weight: 700; margin-bottom: 14px;
}
.about-location__content p { font-size: 15px; color: var(--gtd-muted); line-height: 1.7; margin-bottom: 12px; }
.about-location__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.about-location__map-placeholder {
	min-height: 260px;
	border-radius: var(--gtd-radius-xl);
	background: var(--gtd-primary-lt);
	border: 2px dashed var(--gtd-rose);
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	gap: 12px; color: var(--gtd-primary);
	text-align: center; padding: 24px;
}
.about-location__map-placeholder p { font-size: 15px; font-weight: 600; margin: 0; }

/* ── Blog / posts ────────────────────────────────────── */
.posts-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 640px)  { .posts-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .posts-grid { grid-template-columns: repeat(3,1fr); gap: 28px; } }

.post-card {
	background: var(--gtd-white);
	border-radius: var(--gtd-radius-lg);
	overflow: hidden; border: 1px solid var(--gtd-border);
	transition: transform .25s, box-shadow .25s;
}
.post-card:hover { transform: translateY(-5px); box-shadow: var(--gtd-shadow); }
.post-card__link { display: block; color: inherit; }
.post-card__media { aspect-ratio: 16/10; overflow: hidden; background: var(--gtd-grad-card-media); }
.post-card__image { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; filter: brightness(1.1) saturate(0.5) contrast(0.94); }
.post-card:hover .post-card__image { transform: scale(1.05); }
.post-card__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--gtd-muted); opacity: .4; }
.post-card__body { padding: 18px 20px 22px; }
.post-card__meta { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 12px; color: var(--gtd-muted); flex-wrap: wrap; }
.post-card__badge { padding: 2px 10px; border-radius: 6px; background: var(--gtd-primary-lt); color: var(--gtd-primary); font-size: 11px; font-weight: 700; }
.post-card__title { font-family: var(--gtd-font-head); font-size: 17px; font-weight: 600; line-height: 1.35; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .2s; }
.post-card:hover .post-card__title { color: var(--gtd-primary); }
.post-card__excerpt { font-size: 13.5px; color: var(--gtd-muted); line-height: 1.55; margin-bottom: 12px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.post-card__more { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; color: var(--gtd-primary); transition: gap .2s; }
.post-card:hover .post-card__more { gap: 8px; }

/* ── Entry content ───────────────────────────────────── */
.entry-content { font-size: 16px; line-height: 1.8; color: var(--gtd-text); }
.entry-content > * + * { margin-top: 1.25em; }
.entry-content h2 { font-family: var(--gtd-font-head); font-size: clamp(22px,3vw,30px); font-weight: 700; margin-top: 1.75em; }
.entry-content h3 { font-family: var(--gtd-font-head); font-size: clamp(18px,2.5vw,24px); font-weight: 600; margin-top: 1.5em; }
.entry-content a { color: var(--gtd-primary); text-decoration: underline; text-underline-offset: 2px; }
.entry-content ul, .entry-content ol { padding-left: 1.5em; list-style: revert; }
.entry-content blockquote { margin: 1.5em 0; padding: 18px 22px; border-left: 4px solid var(--gtd-primary); background: var(--gtd-primary-lt); border-radius: 0 var(--gtd-radius) var(--gtd-radius) 0; font-style: italic; color: var(--gtd-muted); }
.entry-content img { border-radius: var(--gtd-radius); }

/* Single post */
.single-post__header { margin-bottom: 28px; }
.post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; color: var(--gtd-muted); margin-bottom: 14px; }
.post-meta a { color: var(--gtd-primary); font-weight: 600; }
.post-meta a:hover { text-decoration: underline; }
.single-post__title { font-family: var(--gtd-font-head); font-size: clamp(28px,4.5vw,44px); font-weight: 700; line-height: 1.15; }
.single-post__featured { margin-bottom: 36px; border-radius: var(--gtd-radius-lg); overflow: hidden; }
.single-post__image { width: 100%; height: auto; }
.single-post__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--gtd-border); }
.single-post__tags-label { font-size: 13px; font-weight: 700; color: var(--gtd-muted); }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.tag-list li a { display: inline-block; padding: 4px 14px; border-radius: 999px; background: var(--gtd-primary-lt); font-size: 12px; font-weight: 600; color: var(--gtd-primary); transition: background .2s; }
.tag-list li a:hover { background: var(--gtd-primary-mid); }

/* ── Pagination ──────────────────────────────────────── */
.gtd-pagination { margin-top: 48px; }
.gtd-pagination .nav-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }

/* WooCommerce + theme pagination — match .gtd-btn */
.woocommerce-pagination { margin-top: 40px; text-align: center; }
.woocommerce-pagination ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; list-style: none; margin: 0; padding: 0; }
.woocommerce-pagination ul li { margin: 0; padding: 0; border: 0; background: transparent; }
.woocommerce-pagination ul li .page-numbers,
.gtd-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	min-height: 46px;
	padding: 11px 18px;
	border-radius: var(--gtd-radius);
	font-family: var(--gtd-font-body);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--gtd-primary);
	background: transparent;
	border: 2px solid var(--gtd-primary);
	transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
	text-decoration: none;
}
.woocommerce-pagination ul li a.page-numbers:hover,
.gtd-pagination a.page-numbers:hover {
	background: var(--gtd-primary-lt);
	box-shadow: 0 4px 14px color-mix(in srgb, var(--gtd-primary) 12%, transparent);
	transform: translateY(-2px);
}
.woocommerce-pagination ul li .page-numbers.current,
.gtd-pagination .page-numbers.current {
	background: var(--gtd-grad-primary);
	color: var(--gtd-white);
	border-color: transparent;
	box-shadow: 0 4px 14px color-mix(in srgb, var(--gtd-primary) 30%, transparent);
}
.woocommerce-pagination ul li .page-numbers.dots,
.gtd-pagination .page-numbers.dots {
	min-width: auto;
	min-height: auto;
	padding: 0 6px;
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--gtd-muted);
	font-weight: 600;
}
.woocommerce-pagination ul li .prev.page-numbers,
.woocommerce-pagination ul li .next.page-numbers,
.gtd-pagination .prev.page-numbers,
.gtd-pagination .next.page-numbers {
	padding: 11px 22px;
}

/* ── Empty / 404 ─────────────────────────────────────── */
.empty-state { display: flex; flex-direction: column; align-items: center; text-align: center; padding: clamp(48px,8vw,80px) 24px; max-width: 480px; margin-inline: auto; }
.empty-state--404 { max-width: 560px; padding-block: clamp(64px,10vw,120px); }
.empty-state--cart { max-width: 520px; padding-block: clamp(56px,8vw,96px); }
.empty-state__illus { margin-bottom: 8px; line-height: 0; }
.empty-state__illus img {
	width: min(280px, 72vw);
	height: auto;
	opacity: 0.88;
}
.empty-state__icon { width: 80px; height: 80px; border-radius: 50%; background: var(--gtd-primary-lt); color: var(--gtd-primary); display: flex; align-items: center; justify-content: center; margin-bottom: 24px; }
.empty-state__code { font-family: var(--gtd-font-head); font-size: clamp(64px,12vw,100px); font-weight: 700; line-height: 1; color: var(--gtd-primary); opacity: .18; margin-bottom: 8px; }
.empty-state__title { font-family: var(--gtd-font-head); font-size: clamp(22px,3vw,30px); font-weight: 700; margin-bottom: 12px; }
.empty-state__text { font-size: 15px; color: var(--gtd-muted); line-height: 1.6; margin-bottom: 28px; }
.empty-state__actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* ── Concierge Services page ─────────────────────────── */
.site-main--concierge { padding-bottom: 0; }

.concierge-hero {
	background: linear-gradient(135deg, var(--color-rose-50) 0%, var(--color-pink-100) 48%, var(--color-pink-50) 100%);
	color: var(--gtd-text);
	padding-block: clamp(56px, 8vw, 96px);
}
.concierge-hero .section-label { color: var(--gtd-primary); }
.concierge-hero__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	align-items: center;
}
@media (min-width: 900px) {
	.concierge-hero__inner { grid-template-columns: 1.05fr 0.95fr; }
}
.concierge-hero__title {
	font-family: var(--gtd-font-head);
	font-size: clamp(30px, 4.5vw, 48px);
	font-weight: 700;
	line-height: 1.12;
	margin-bottom: 16px;
}
.concierge-hero__text {
	font-size: 17px;
	line-height: 1.7;
	opacity: 0.92;
	max-width: 540px;
	margin-bottom: 28px;
}
.concierge-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.concierge-hero__visual img {
	width: 100%;
	max-width: 480px;
	margin-inline: auto;
	display: block;
	border-radius: var(--gtd-radius-xl);
	box-shadow: 0 20px 50px color-mix(in srgb, #000 22%, transparent);
}

.concierge-services { background: var(--gtd-grad-surface); }
.concierge-services__intro {
	max-width: 620px;
	margin: 12px auto 0;
	font-size: 15px;
	line-height: 1.65;
	color: var(--gtd-muted);
	text-align: center;
}
.concierge-services__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin-top: 36px;
}
@media (min-width: 640px) { .concierge-services__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .concierge-services__grid { grid-template-columns: repeat(3, 1fr); } }

.concierge-service-card {
	background: var(--gtd-white);
	border: 1px solid var(--gtd-border);
	border-radius: var(--gtd-radius-lg);
	padding: 28px 24px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.concierge-service-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--gtd-shadow);
}
.concierge-service-card__icon {
	width: 56px; height: 56px;
	border-radius: 50%;
	background: var(--gtd-primary-lt);
	color: var(--gtd-primary);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 16px;
}
.concierge-service-card h3 {
	font-family: var(--gtd-font-head);
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 10px;
}
.concierge-service-card p {
	font-size: 14px;
	line-height: 1.65;
	color: var(--gtd-muted);
	margin: 0;
}

.concierge-steps {
	background: linear-gradient(135deg, var(--color-green-50) 0%, var(--color-emerald-100) 55%, var(--color-teal-50) 100%);
	color: var(--gtd-text);
	padding-block: clamp(56px, 7vw, 80px);
}
.concierge-steps .section-label { color: var(--color-teal-700); }
.concierge-steps .section-head__title { color: var(--gtd-text); }
.concierge-steps__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-top: 36px;
}
@media (min-width: 768px) { .concierge-steps__grid { grid-template-columns: repeat(3, 1fr); } }
.concierge-step {
	background: color-mix(in srgb, var(--gtd-white) 72%, transparent);
	border: 1px solid color-mix(in srgb, var(--color-teal-500) 18%, transparent);
	border-radius: var(--gtd-radius-lg);
	padding: 28px 24px;
}
.concierge-step__num {
	display: block;
	font-family: var(--gtd-font-head);
	font-size: 32px;
	font-weight: 700;
	color: var(--color-teal-600);
	opacity: 0.55;
	margin-bottom: 8px;
}
.concierge-step h3 {
	font-family: var(--gtd-font-head);
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 10px;
}
.concierge-step p {
	font-size: 14px;
	line-height: 1.65;
	color: var(--gtd-muted);
	margin: 0;
}

.concierge-cta {
	padding-block: clamp(56px, 7vw, 80px);
	background: var(--gtd-grad-section);
}
.concierge-cta__inner {
	text-align: center;
	max-width: 640px;
	margin-inline: auto;
}
.concierge-cta__inner h2 {
	font-family: var(--gtd-font-head);
	font-size: clamp(24px, 3.5vw, 34px);
	font-weight: 700;
	margin-bottom: 12px;
}
.concierge-cta__inner p {
	font-size: 15px;
	line-height: 1.65;
	color: var(--gtd-muted);
	margin-bottom: 24px;
}
.concierge-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

/* ── Comments ────────────────────────────────────────── */
.comments-area-wrap { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--gtd-border); }
.comments-area-wrap .comments-title { font-family: var(--gtd-font-head); font-size: 22px; font-weight: 700; margin-bottom: 24px; }
.comments-area-wrap input[type="text"],
.comments-area-wrap input[type="email"],
.comments-area-wrap input[type="url"],
.comments-area-wrap textarea {
	width: 100%; padding: 10px 14px;
	border: 1.5px solid var(--gtd-border); border-radius: var(--gtd-radius);
	font-family: inherit; font-size: 14px; background: var(--gtd-sand);
	transition: border-color .2s;
}
.comments-area-wrap input:focus, .comments-area-wrap textarea:focus {
	outline: none; border-color: var(--gtd-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gtd-primary) 10%, transparent);
}
.comments-area-wrap .submit {
	background: var(--gtd-grad-primary); color: var(--gtd-white);
	border: 0; border-radius: var(--gtd-radius);
	padding: 10px 24px; font-family: inherit; font-size: 14px; font-weight: 700;
	cursor: pointer; transition: opacity .2s;
}
.comments-area-wrap .submit:hover { opacity: .9; }

/* ── Scroll reveal ───────────────────────────────────── */
.gtd-reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.gtd-reveal.is-visible { opacity: 1; transform: translateY(0); }
.gtd-reveal--delay-1 { transition-delay: .08s; }
.gtd-reveal--delay-2 { transition-delay: .16s; }
.gtd-reveal--delay-3 { transition-delay: .24s; }
.gtd-reveal--delay-4 { transition-delay: .32s; }

/* ── Responsive header ───────────────────────────────── */
@media (max-width: 720px) {
	.site-header__main {
		grid-template-areas: "logo actions" "search search";
		grid-template-columns: 1fr auto; row-gap: 10px;
	}
	.site-logo    { grid-area: logo; }
	.header-search{ grid-area: search; }
	.header-actions { grid-area: actions; gap: 14px; }
	.header-actions__label { display: none; }
	.header-actions__menu-toggle { display: flex; }
	.site-logo__sub { display: none; }
	.section { padding-block: 40px; }
	.specialty-banner__media { display: none; }
	.sticky-contacts { bottom: 60px; }
	.about-story__img-wrap { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.gtd-reveal, .hero-slide.is-active { animation: none; opacity: 1; transform: none; transition: none; }
	.about-hero__blob { animation: none; }
	.product-card:hover, .category-card:hover, .why-us-card:hover,
	.product-card:hover, .post-card:hover, .about-value-card:hover { transform: none; }
	.scroll-to-top { transition: none; }
	.scroll-to-top:hover { transform: none; }
	.gtd-btn:hover { transform: none; }
}

/* ── Catalog Mode (Furniro Catalog Mode plugin) ──────── */
.furniro-catalog-no-atc  .header-actions__cart,
.furniro-catalog-no-atc  .header-cart         { display: none !important; }
.furniro-catalog-no-login .header-actions__account,
.furniro-catalog-no-login .top-bar__account      { display: none !important; }
.furniro-catalog-no-atc  .pdp-mobile-bar         { display: none !important; }
