/*
Theme Name: FULLOAT
Theme URI: https://www.fulloat.com
Author: Fulloat
Description: Streetwear e-commerce theme for FULLOAT. Oversized fits. Bold prints. Built different.
Version: 9.17.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: fulloat
WC requires at least: 8.0
WC tested up to: 9.9
*/

/* =========================================================================
   FULLOAT — clean rebuild. Cream theme, monospace, flame accent.
   ====================================================================== */
:root{
	--ink:#0e0e0e;
	--ink-2:#171717;
	--flame:#ff4d1c;
	--caution:#f4c430;
	--ash:#8a8580;
	--cream-bg:#f7f3e9;
	--cream-2:#efe9db;
	--ink-text:#141414;
	--ink-soft:#6a645b;
	--line:rgba(255,255,255,.12);
	--line-warm:#e3dbc9;
	--display:'Space Mono','Courier New',monospace;
	--body:'Space Mono','Courier New',monospace;
	--wrap:1280px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ margin:0; padding:0; max-width:100%; overflow-x:hidden; }
body{
	background:var(--cream-bg);
	color:var(--ink-text);
	font-family:var(--body);
	line-height:1.55;
	letter-spacing:-.01em;
	-webkit-font-smoothing:antialiased;
}
body.nav-open{ overflow:hidden; }
img,svg,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ font-family:var(--display); font-weight:700; text-transform:uppercase; line-height:1.05; margin:0; letter-spacing:-.02em; }
:focus-visible{ outline:3px solid var(--flame); outline-offset:2px; }

.wrap,.container{ max-width:var(--wrap); margin:0 auto; padding:0 32px; }
.empty-note{ color:var(--ink-soft); font-size:15px; padding:20px 0; }

.screen-reader-text,.skip-link{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.skip-link:focus{ position:fixed; left:10px; top:10px; width:auto; height:auto; z-index:9999; background:var(--flame); color:#fff; padding:12px 20px; }

/* =========================================================================
   BUTTONS
   ====================================================================== */
.btn,.btn-primary{
	display:inline-flex; align-items:center; gap:12px;
	background:var(--flame); color:#fff;
	font-family:var(--display); font-weight:700; font-size:15px;
	letter-spacing:.06em; text-transform:uppercase; padding:16px 34px;
	border:none; cursor:pointer; transition:background .2s,color .2s,transform .15s;
}
.btn:hover,.btn-primary:hover{ background:var(--ink-text); color:#fff; transform:translateY(-2px); }
.btn svg,.btn-primary svg{ width:18px; height:18px; }
.link-arrow{
	font-family:var(--display); font-weight:700; font-size:14px;
	letter-spacing:.06em; text-transform:uppercase; color:var(--flame);
	display:inline-flex; gap:9px; align-items:center;
	border-bottom:2px solid transparent; padding-bottom:3px; transition:border-color .2s;
}
.link-arrow:hover{ border-color:var(--flame); }

/* =========================================================================
   ANNOUNCE BAR
   ====================================================================== */
.announce{
	position:relative; z-index:60; margin:0;
	background:var(--flame); color:#fff; text-align:center;
	font-family:var(--display); font-size:12px; font-weight:700;
	letter-spacing:.1em; padding:9px 14px; text-transform:uppercase;
}
.announce p{ margin:0; }

/* =========================================================================
   HEADER
   ====================================================================== */
.hdr{
	position:sticky; top:0; z-index:50;
	background:rgba(14,14,14,.94);
	backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
	border-bottom:1px solid rgba(0,0,0,.08);
}
.hdr-in{ display:flex; align-items:center; justify-content:space-between; height:72px; position:relative; overflow:hidden; }
.logo{ display:inline-flex; align-items:center; line-height:0; }
.logo img,.fulloat-logo-img{ height:26px; width:auto; display:block; }

.nav{ display:flex; gap:32px; margin-left:auto; margin-right:32px; }
.nav .nav-list{ display:flex; gap:32px; list-style:none; margin:0; padding:0; }
.nav .nav-list li a{
	font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
	color:#d8d5cf; padding:6px 0; transition:color .2s;
}
.nav .nav-list li a:hover,.nav .current-menu-item>a{ color:var(--flame); }
.nav .sub-menu{ list-style:none; margin:0; padding:0; }

.icons{ display:flex; align-items:center; gap:18px; }
.icons a{ display:inline-flex; color:#fff; }
.icons svg{ width:21px; height:21px; }
.icons a:hover{ color:var(--flame); }
.cart-dot{ position:relative; }
.cart-dot .cart-count{
	position:absolute; top:-7px; right:-9px;
	min-width:17px; height:17px; padding:0 4px; border-radius:9px;
	background:var(--flame); color:#fff; font-family:var(--body);
	font-size:10px; font-weight:700; line-height:17px; text-align:center;
}
.cart-dot .cart-count.is-empty{ background:var(--ash); }

.nav-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; padding:0; background:none; border:none; cursor:pointer; }
.nav-toggle span{ display:block; width:22px; height:2px; background:#fff; transition:transform .25s,opacity .2s; }
.nav-toggle.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.is-active span:nth-child(2){ opacity:0; }
.nav-toggle.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav-close{ display:none; }

/* =========================================================================
   MARQUEE (header strip + generic)
   ====================================================================== */
.marquee{ background:var(--flame); color:var(--ink); overflow:hidden; white-space:nowrap; border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); padding:12px 0; max-width:100vw; }
.marquee-header{ position:relative; z-index:40; padding:11px 0; }
.marquee-track{ display:inline-flex; gap:40px; animation:fulloat-scroll 22s linear infinite; will-change:transform; }
.marquee-track span{ font-family:var(--display); font-weight:700; font-size:16px; letter-spacing:.02em; text-transform:uppercase; display:inline-flex; align-items:center; gap:40px; }
.marquee-track span::after{ content:"\2726"; color:var(--ink); }
@keyframes fulloat-scroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.marquee:hover .marquee-track{ animation-play-state:paused; }

/* =========================================================================
   HERO (homepage)
   ====================================================================== */
.hero{ position:relative; min-height:86vh; display:flex; align-items:flex-end; overflow:hidden; border-bottom:1px solid var(--line-warm); }
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; opacity:.62; }
.hero-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(14,14,14,.55) 0%,rgba(14,14,14,.2) 40%,rgba(14,14,14,.92) 100%); }
.hero-in{ position:relative; z-index:1; width:100%; padding-bottom:60px; }
.eyebrow{ display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--flame); margin-bottom:20px; }
.eyebrow::before{ content:""; width:34px; height:2px; background:var(--flame); }
.hero h1{ font-weight:700; font-size:clamp(56px,13vw,180px); line-height:.9; letter-spacing:-.04em; text-transform:uppercase; color:#fff; }
.hero h1 em{ font-style:italic; color:var(--flame); }
.hero-row{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-top:28px; flex-wrap:wrap; }
.hero-sub{ font-size:17px; color:#d8d5cf; max-width:340px; }

/* =========================================================================
   HOMEPAGE SECTIONS
   ====================================================================== */
.sec{ padding-top:90px; padding-bottom:90px; }
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:44px; flex-wrap:wrap; }
.sec-head h2{ font-size:clamp(34px,6vw,62px); line-height:.92; text-transform:uppercase; color:var(--ink-text); }
.sec-head .n{ font-size:13px; color:var(--ink-soft); font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:6px; }

.drop-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:22px; }
.drop-grid .card{ position:relative; display:block; grid-column:span 3; overflow:hidden; }
.drop-grid .card.big{ grid-column:span 6; grid-row:span 2; }
.card-img{ position:relative; aspect-ratio:3/4; background:var(--cream-2); overflow:hidden; }
.drop-grid .card.big .card-img{ aspect-ratio:auto; height:100%; min-height:460px; }
.card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.card:hover .card-img img{ transform:scale(1.05); }
.card-tag{ position:absolute; top:14px; left:14px; z-index:2; background:var(--flame); color:#fff; font-family:var(--display); font-weight:700; font-size:11px; letter-spacing:.1em; text-transform:uppercase; padding:6px 11px; }
.card-tag.dark{ background:var(--ink); }
.card-meta{ padding:16px 4px 0; }
.card-meta h3{ font-family:var(--display); font-weight:700; font-size:16px; line-height:1.1; text-transform:uppercase; color:var(--ink-text); margin:0; }
.drop-grid .card.big .card-meta h3{ font-size:24px; }
.card-price{ margin-top:7px; font-size:14px; font-weight:700; color:var(--ink-text); }
.card-price del,.card-price s{ color:#9a9488; font-weight:400; margin-right:8px; }
.card-price ins,.card-price b{ color:var(--flame); text-decoration:none; font-weight:700; }
.card-atc{ position:absolute; left:14px; right:14px; bottom:14px; z-index:2; background:var(--ink); color:#fff; border:none; text-align:center; font-family:var(--display); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; padding:14px; opacity:1; transform:translateY(0); transition:.25s; cursor:pointer; }
.card-atc:hover{ background:var(--flame); }

/* New Arrivals — card-with-body layout (image, then title/price/save/Add). */
.sec-head-right{ display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.sec-subtext{ margin:0; max-width:300px; font-size:14px; line-height:1.5; color:var(--ink-soft); text-align:right; }

.pcard-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.pcard{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line-warm); overflow:hidden; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease; }
.pcard:hover{ transform:translateY(-4px); box-shadow:0 14px 28px rgba(20,20,20,.08); }
.pcard-img{ position:relative; aspect-ratio:4/5; background:var(--cream-2); overflow:hidden; }
.pcard-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.pcard:hover .pcard-img img{ transform:scale(1.05); }
.pcard-badge{ position:absolute; top:12px; right:12px; z-index:2; background:var(--flame); color:#fff; font-family:var(--display); font-weight:700; font-size:11px; letter-spacing:.05em; text-transform:uppercase; padding:6px 10px; }
.pcard-badge-dark{ background:var(--ink); }
.pcard-body{ padding:16px; display:flex; flex-direction:column; gap:10px; flex:1; }
.pcard-body h3{ font-family:var(--display); font-weight:700; font-size:14px; line-height:1.3; text-transform:none; color:var(--ink-text); margin:0; }
.pcard-price-row{ display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; }
.pcard-price{ font-family:var(--display); font-weight:700; font-size:17px; color:var(--ink-text); }
.pcard-price .woocommerce-Price-amount{ font-weight:700; }
.pcard-regular{ font-size:13px; color:#9a9488; text-decoration:line-through; }
.pcard-bottom{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pcard-save{ font-size:12px; font-weight:700; color:#2e7d32; }
.pcard-add{ display:inline-block; flex-shrink:0; background:transparent; border:1px solid var(--ink); color:var(--ink-text); font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.05em; text-transform:uppercase; padding:8px 14px; cursor:pointer; transition:.2s; }
.pcard-add:hover{ background:var(--ink); color:#fff; }

@media(max-width:860px){
	.pcard-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
	.sec-head-right{ align-items:flex-start; }
	.sec-subtext{ text-align:left; }
}

.editorial{ background:var(--cream-2); color:var(--ink-text); padding:100px 0; }
.ed-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:center; }
.ed-tag{ font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--flame); margin-bottom:22px; }
.ed-grid h2{ font-size:clamp(32px,5vw,56px); line-height:.96; text-transform:uppercase; margin-bottom:24px; color:var(--ink-text); }
.ed-grid p{ font-size:17px; line-height:1.75; color:#3a3733; margin:0 0 16px; max-width:520px; }
.ed-grid p strong{ color:var(--ink-text); }
.ed-stats{ display:flex; gap:40px; margin-top:34px; flex-wrap:wrap; }
.ed-stat b{ display:block; font-family:var(--display); font-weight:700; font-size:40px; line-height:1; color:var(--ink-text); }
.ed-stat span{ font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }
.ed-visual{ aspect-ratio:4/5; overflow:hidden; background:var(--ink); }
.ed-visual img{ width:100%; height:100%; object-fit:cover; }

.style-sec{ padding:110px 0 90px; text-align:center; }
.style-head{ max-width:640px; margin:0 auto; }
.style-badge{ display:inline-block; margin-bottom:26px; padding:10px 22px; border:1px solid var(--caution); background:transparent; color:var(--caution); font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; }
.style-title{ font-size:clamp(38px,6.5vw,80px); line-height:.94; text-transform:uppercase; color:var(--ink-text); margin-bottom:20px; }
.style-sub{ max-width:520px; margin:0 auto 34px; font-size:15px; line-height:1.6; color:var(--ink-soft); }
.style-tabs{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom:56px; }
.style-tab{ padding:12px 22px; border:1px solid var(--line-warm); background:#fff; font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-text); transition:.2s; }
.style-tab:hover{ border-color:var(--flame); color:var(--flame); }

.style-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:left; }
.style-card{ display:block; background:#fff; border:1px solid var(--line-warm); }
.style-card-img{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--cream-2); }
.style-card-img img{ width:100%; height:100%; object-fit:cover; transition:.5s; }
.style-card-img-fallback{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; text-align:center; padding:24px; background:var(--cream-2); border:1px solid var(--line-warm); }
.style-card-img-fallback span{ font-family:var(--display); font-weight:700; font-size:clamp(20px,3vw,26px); line-height:1.15; text-transform:uppercase; color:var(--ink-soft); letter-spacing:-.01em; }
.style-card:hover .style-card-img img{ transform:scale(1.04); }
.style-card-tag{ position:absolute; top:14px; left:14px; z-index:2; background:var(--caution); color:var(--ink); font-family:var(--display); font-weight:700; font-size:11px; letter-spacing:.06em; text-transform:uppercase; padding:6px 12px; }
.style-card-body{ padding:18px 20px 22px; }
.style-card-body h3{ font-size:17px; text-transform:none; margin-bottom:8px; color:var(--ink-text); }
.style-card-count{ display:inline-block; font-family:var(--display); font-weight:700; font-size:13px; color:var(--flame); }

.style-promo-mid{ position:relative; aspect-ratio:4/5; background:linear-gradient(160deg,#1a1a1a,#000); overflow:hidden; padding:24px; display:flex; flex-direction:column; justify-content:center; }
.style-promo-mid .style-card-tag{ position:absolute; top:14px; left:14px; }
.style-promo-heading{ font-family:var(--display); font-weight:700; font-size:32px; line-height:.98; text-transform:uppercase; color:var(--flame); }
.style-promo-script{ font-family:'Brush Script MT','Segoe Script',cursive; font-style:italic; font-size:52px; color:var(--flame); margin:2px 0 22px; line-height:1; }
.style-promo-btn{ display:inline-block; align-self:flex-start; background:var(--flame); color:#fff; font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.05em; text-transform:uppercase; padding:11px 22px; border-radius:30px; }
.style-card.style-promo:hover .style-promo-btn{ background:#fff; color:var(--ink); }

.style-trust{ display:flex; justify-content:center; align-items:center; gap:56px; flex-wrap:wrap; margin-top:64px; padding-top:32px; border-top:1px solid var(--line-warm); }
.style-trust-item{ display:inline-flex; align-items:center; gap:10px; font-family:var(--display); font-weight:700; font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-text); }
.style-trust-item svg{ width:20px; height:20px; color:var(--flame); flex-shrink:0; }

.usp{ border-top:1px solid var(--line-warm); background:var(--cream-2); }
.usp-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.usp-item{ padding:38px 26px; border-right:1px solid var(--line-warm); }
.usp-item:last-child{ border-right:none; }
.usp-item .ic{ color:var(--flame); font-size:24px; margin-bottom:12px; font-family:var(--display); font-weight:700; }
.usp-item h4{ font-family:var(--display); font-weight:700; font-size:15px; text-transform:uppercase; margin:0 0 6px; color:var(--ink-text); }
.usp-item p{ font-size:13px; color:var(--ink-soft); margin:0; }

.section-cta{ margin-top:44px; text-align:center; }

/* =========================================================================
   SHOP PAGE
   ====================================================================== */
.shop-hero{ padding:64px 0 36px; border-bottom:1px solid var(--line-warm); }
.shop-hero-eyebrow{ font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--flame); margin-bottom:14px; display:inline-flex; align-items:center; gap:10px; }
.shop-hero-eyebrow::before{ content:""; width:30px; height:2px; background:var(--flame); }
.shop-hero-title,.shop-title{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:clamp(40px,8vw,100px); line-height:.9; letter-spacing:-.03em; color:var(--ink-text); }
.shop-hero-desc{ margin-top:18px; max-width:560px; color:var(--ink-soft); font-size:15px; line-height:1.7; }
.shop-page{ padding:44px 0 90px; }
.shop-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-bottom:24px; margin-bottom:34px; border-bottom:1px solid var(--line-warm); }
.shop-count,.woocommerce-result-count{ margin:0; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }
.shop-sort select,.woocommerce-ordering select{ background:#fff; color:var(--ink-text); border:1px solid var(--line-warm); padding:12px 16px; font-family:var(--body); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.shop-grid,.products-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px 22px; }
.shop-style-grid{ grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
.shop-card{ position:relative; display:flex; flex-direction:column; }
.shop-card .card-hit{ display:block; position:relative; }
.shop-card .card-meta h3{ font-size:16px; }
.shop-atc{ display:block; text-align:center; margin-top:14px; background:#fff; color:var(--ink-text); border:1px solid var(--line-warm); font-family:var(--display); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; padding:14px; cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
.shop-atc:hover{ background:var(--flame); border-color:var(--flame); color:#fff; }
.shop-atc.is-disabled{ opacity:.4; cursor:default; pointer-events:none; }
.shop-empty{ text-align:center; padding:80px 0; }
.shop-empty h2{ font-family:var(--display); font-weight:700; font-size:40px; text-transform:uppercase; color:var(--ink-text); margin:0 0 14px; }
.shop-empty p{ color:var(--ink-soft); margin:0 0 28px; }

.woocommerce-pagination{ margin-top:50px; text-align:center; }
.woocommerce-pagination ul{ display:inline-flex; gap:8px; list-style:none; padding:0; margin:0; }
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{ min-width:44px; padding:12px; border:1px solid var(--line-warm); color:var(--ink-text); font-family:var(--display); font-weight:700; font-size:13px; text-align:center; display:block; }
.woocommerce-pagination ul li span.current{ background:var(--flame); border-color:var(--flame); color:#fff; }
.woocommerce-pagination ul li a:hover{ border-color:var(--flame); color:var(--flame); }

/* =========================================================================
   SINGLE PRODUCT
   ====================================================================== */
.single-product{ padding:30px 0 40px; }
.breadcrumb-bar{ font-size:12px; letter-spacing:.04em; color:var(--ink-soft); margin-bottom:30px; text-transform:uppercase; }
.breadcrumb-bar a{ color:var(--ink-soft); }
.breadcrumb-bar a:hover{ color:var(--flame); }
.product-layout{ display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:start; }

.product-image{ position:relative; }
.product-image .woocommerce-product-gallery__image{ background:var(--cream-2); }
.product-image img{ width:100%; }
.flex-control-thumbs{ display:flex; gap:10px; flex-wrap:wrap; list-style:none; padding:0; margin:20px 0 0; }
.flex-control-thumbs li{ width:80px; cursor:pointer; }
.flex-control-thumbs img{ opacity:.5; transition:opacity .2s; border:1px solid var(--line-warm); }
.flex-control-thumbs img.flex-active,.flex-control-thumbs img:hover{ opacity:1; border-color:var(--flame); }
.woocommerce-product-gallery__trigger{ top:14px !important; right:14px !important; }

.off-badge{ position:absolute; top:16px; right:16px; z-index:5; background:var(--flame); color:#fff; font-family:var(--display); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; padding:7px 12px; }

@media(min-width:861px){ .product-info{ position:sticky; top:100px; } }
.product-eyebrow{ font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--flame); margin-bottom:16px; }
.product-title{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:clamp(30px,4.4vw,54px); line-height:.95; letter-spacing:-.03em; color:var(--ink-text); margin:0 0 16px; }
.single-product .price,.product-info .price{ font-size:24px; font-weight:700; color:var(--ink-text); margin:0 0 20px; display:block; }
.single-product .price del,.single-product .price s{ color:#9a9488; font-weight:400; margin-right:10px; }
.single-product .price ins{ color:var(--flame); text-decoration:none; }
.product-description{ color:#3a3733; font-size:16px; line-height:1.75; margin-bottom:24px; max-width:520px; }

/* PREPAID DROP */
.prepaid-strip{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; border:1px dashed var(--flame); padding:12px 14px; margin:0 0 22px; font-size:13px; }
.prepaid-badge{ background:var(--flame); color:#fff; font-family:var(--display); font-weight:700; font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:5px 10px; flex:0 0 auto; }
.prepaid-text{ color:#3a3733; }
.prepaid-text s{ color:#9a9488; margin:0 4px 0 6px; }
.prepaid-text b{ color:var(--flame); }

/* Size swatches */
.woocommerce div.product form.cart .variations{ border:none; margin-bottom:20px; }
.woocommerce div.product form.cart .variations tr{ display:block; margin-bottom:14px; }
.woocommerce div.product form.cart .variations th.label{ display:block; padding:0 0 10px; width:auto; text-align:left; color:var(--ink-text); font-family:var(--display); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
.woocommerce div.product form.cart .variations td{ display:block; padding:0; }
.variations .label label .chosen-value{ color:var(--flame); margin-left:4px; }
.size-guide-link{ float:right; font-family:var(--body); font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--flame); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.size-guide-link:hover{ color:var(--ink-text); }

.variations select{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); }
.size-swatches{ display:flex; flex-wrap:wrap; gap:10px; }
.swatch{ min-width:54px; height:54px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center; background:#fff; color:var(--ink-text); border:1.5px solid #d8d0be; font-family:var(--display); font-weight:700; font-size:15px; text-transform:uppercase; cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.swatch:hover{ border-color:var(--ink-text); }
.swatch.is-active{ background:var(--ink-text); color:#fff; border-color:var(--ink-text); box-shadow:0 0 0 2px rgba(20,20,20,.15); }
.swatch.is-disabled{ opacity:.35; cursor:not-allowed; text-decoration:line-through; }

.size-prompt{ display:none; margin-top:10px; font-size:13px; font-weight:700; color:var(--flame); }
.size-prompt.show{ display:block; }
@keyframes swatch-pulse{ 0%,100%{ transform:scale(1);} 30%{ transform:scale(1.06);} }
.size-swatches.pulse .swatch{ animation:swatch-pulse .4s ease; border-color:var(--flame); }

/* Quantity + Add to cart */
.woocommerce div.product form.cart:not(.variations_form),
.woocommerce-variation-add-to-cart{ display:flex; gap:12px; align-items:stretch; flex-wrap:wrap; }
.woocommerce .quantity .qty,.quantity input.qty{ width:78px; min-height:56px; background:#fff; color:var(--ink-text); border:1px solid var(--line-warm); text-align:center; font-family:var(--body); font-size:16px; font-weight:700; }
.single_add_to_cart_button,
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button.wc-variation-selection-needed{
	flex:1; min-width:200px; background:var(--flame) !important; color:#fff !important; opacity:1 !important;
	border:none; padding:17px 40px; font-family:var(--display); font-weight:700; font-size:15px;
	letter-spacing:.06em; text-transform:uppercase; cursor:pointer !important; pointer-events:auto !important; transition:background .2s;
}
.single_add_to_cart_button:hover,.woocommerce div.product form.cart .button:hover{ background:var(--ink-text) !important; color:#fff !important; }

.buy-now-button{ display:block; width:100%; margin-top:12px; background:var(--ink-text); color:#fff; border:none; padding:17px 40px; font-family:var(--display); font-weight:700; font-size:15px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:background .2s; }
.buy-now-button:hover{ background:var(--flame); }

/* Stats */
.product-stats{ display:flex; border:1px solid var(--line-warm); margin:24px 0; }
.pstat{ flex:1; padding:18px 16px; border-right:1px solid var(--line-warm); }
.pstat:last-child{ border-right:none; }
.pstat b{ display:block; font-family:var(--display); font-weight:700; font-size:20px; color:var(--ink-text); line-height:1; text-transform:uppercase; }
.pstat span{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-top:5px; display:block; }

/* Assurance grid */
.assurance-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 24px; margin:24px 0; padding:22px 0; border-top:1px solid var(--line-warm); border-bottom:1px solid var(--line-warm); }
.assurance{ display:flex; align-items:center; gap:11px; font-size:13px; color:#3a3733; }
.assurance svg{ width:22px; height:22px; color:var(--flame); flex:0 0 auto; }

.product_meta{ font-size:12px; color:var(--ink-soft); line-height:1.9; margin-top:20px; }
.product_meta > span{ display:block; }
.product_meta a{ color:var(--ink-soft); }
.product_meta a:hover{ color:var(--flame); }

/* Tabs */
.woocommerce-tabs{ margin-top:70px; }
.woocommerce div.product .woocommerce-tabs ul.tabs{ display:flex; gap:34px; flex-wrap:wrap; padding:0; margin:0 0 30px; border-bottom:1px solid var(--line-warm); list-style:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ background:transparent !important; border:none !important; border-radius:0 !important; margin:0; padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ content:none !important; display:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ padding:14px 0 !important; font-family:var(--display); font-weight:700; font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft) !important; background:transparent !important; border-bottom:2px solid transparent !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--ink-text) !important; border-bottom-color:var(--flame) !important; }
.woocommerce-tabs .panel{ color:#3a3733; line-height:1.8; max-width:820px; font-size:16px; }
.woocommerce-tabs .panel h2{ display:none; }
.woocommerce-tabs .panel h3,.woocommerce-tabs .panel strong,.woocommerce-tabs .panel b{ color:var(--ink-text); }
.woocommerce-tabs .panel h3{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:20px; margin:26px 0 12px; }
.woocommerce-tabs .panel ul,.woocommerce-tabs .panel ol{ padding-left:20px; }
.woocommerce-tabs .panel li{ margin-bottom:8px; }

/* Reviews */
.woocommerce #reviews h2,.woocommerce #reviews h3,.woocommerce #reviews #reply-title{ color:var(--ink-text); }
.woocommerce #reviews .comment-notes,.woocommerce #reviews .woocommerce-noreviews{ color:var(--ink-soft); }
.woocommerce #reviews p.stars a{ color:var(--flame) !important; }
.woocommerce #review_form input[type="text"],
.woocommerce #review_form input[type="email"],
.woocommerce #review_form textarea{ background:#fff !important; color:var(--ink-text) !important; border:1px solid var(--line-warm) !important; padding:12px 14px !important; font-family:var(--body) !important; font-size:15px !important; width:100%; max-width:520px; }
.woocommerce #review_form textarea{ min-height:120px; max-width:100%; }
.woocommerce #review_form label{ color:#3a3733 !important; }
.woocommerce #review_form .form-submit input{ background:var(--ink-text) !important; color:#fff !important; border:none !important; padding:14px 34px !important; font-family:var(--display) !important; font-weight:700 !important; letter-spacing:.06em !important; text-transform:uppercase !important; cursor:pointer; }
.woocommerce #review_form .form-submit input:hover{ background:var(--flame) !important; }

/* Related band */
.related-band{ background:var(--cream-2); border-top:1px solid var(--line-warm); margin-top:80px; padding:80px 0; }
.related-band .related > h2,.woocommerce .related > h2{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:clamp(28px,4vw,48px); color:var(--ink-text); margin:0 0 32px; }
.related-band ul.products,.woocommerce .related ul.products{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:26px 22px; list-style:none; padding:0; margin:0; }
.related-band ul.products li.product,.woocommerce .related ul.products li.product{ float:none !important; width:auto !important; margin:0 !important; position:relative; text-align:left; }
.related-band ul.products li.product a img{ width:100%; aspect-ratio:3/4; object-fit:cover; background:var(--cream-bg); margin:0 0 14px; }
.related-band ul.products li.product .woocommerce-loop-product__title{ font-family:var(--display); font-weight:700; font-size:15px; text-transform:uppercase; color:var(--ink-text); margin:0 0 6px; padding:0; }
.related-band ul.products li.product .price{ color:var(--ink-text); font-weight:700; font-size:14px; }
.related-band ul.products li.product .price del{ color:#9a9488; font-weight:400; }
.related-band ul.products li.product .price ins{ color:var(--flame); text-decoration:none; }
.related-band ul.products li.product .button{ display:none !important; }
.related-band ul.products li.product .onsale{ position:absolute; top:12px; left:12px; background:var(--flame); color:#fff; border-radius:0; font-family:var(--display); font-weight:700; font-size:10px; letter-spacing:.1em; padding:6px 10px; min-height:0; min-width:0; margin:0; }

/* Size guide modal */
.size-guide-overlay{ position:fixed; inset:0; z-index:200; background:rgba(20,20,20,.6); display:flex; align-items:center; justify-content:center; padding:20px; }
.size-guide-overlay[hidden]{ display:none; }
.size-guide-box{ background:var(--cream-bg); color:var(--ink-text); max-width:420px; width:100%; max-height:90vh; overflow-y:auto; padding:16px; position:relative; border:1px solid var(--line-warm); box-shadow:0 24px 60px rgba(0,0,0,.3); }
.size-guide-close{ position:absolute; top:14px; right:16px; z-index:2; background:var(--cream-bg); border-radius:50%; width:30px; height:30px; border:none; font-size:24px; line-height:1; color:var(--ink-text); cursor:pointer; }
.size-guide-close:hover{ color:var(--flame); }
.size-guide-img{ display:block; width:100%; height:auto; }
.size-guide-box h3{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:26px; margin:0 0 10px; color:var(--ink-text); }
.size-guide-note{ font-size:13px; color:var(--ink-soft); margin:0 0 20px; line-height:1.6; }
.size-guide-table{ width:100%; border-collapse:collapse; margin-bottom:16px; }
.size-guide-table th{ background:var(--ink-text); color:#fff; font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; padding:11px 10px; text-align:center; }
.size-guide-table td{ padding:11px 10px; text-align:center; font-size:14px; font-weight:700; border-bottom:1px solid var(--line-warm); color:var(--ink-text); }
.size-guide-table tbody tr:nth-child(even){ background:var(--cream-2); }
.size-guide-tip{ font-size:12px; color:var(--ink-soft); margin:14px 0 0; font-style:italic; }

/* =========================================================================
   CART / CHECKOUT / GENERIC PAGES
   ====================================================================== */
.page-content{ padding:50px 0 80px; }
.page-title{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:40px; color:var(--ink-text); margin:0 0 30px; }
.page-content .entry-content{ color:#3a3733; }
.page-content a{ color:var(--flame); }
table.shop_table{ width:100%; border-collapse:collapse; margin-bottom:30px; color:var(--ink-text); }
table.shop_table th{ text-align:left; text-transform:uppercase; font-family:var(--display); font-size:12px; letter-spacing:.06em; padding:15px 10px; border-bottom:2px solid var(--ink-text); color:var(--ink-text); }
table.shop_table td{ padding:16px 10px; border-bottom:1px solid var(--line-warm); vertical-align:middle; font-size:14px; color:#3a3733; }
.product-thumbnail img{ width:72px; height:auto; }
.product-remove a{ color:var(--flame) !important; font-size:18px; font-weight:700; }
.cart_totals{ background:var(--ink-text); color:#fff; padding:30px; max-width:420px; margin-left:auto; }
.cart_totals h2{ font-family:var(--display); font-size:20px; margin:0 0 20px; color:#fff; text-transform:uppercase; }
.cart_totals table{ width:100%; }
.cart_totals table th,.cart_totals table td{ padding:12px 0; border-bottom:1px solid #333; color:#fff; font-size:14px; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.button,input[type="submit"],.checkout-button{ background:var(--ink-text) !important; color:#fff !important; border:none; padding:14px 30px; font-family:var(--display); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:background .2s; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.button:hover,.checkout-button:hover{ background:var(--flame) !important; }
.woocommerce-checkout form .form-row{ margin-bottom:16px; }
.woocommerce-checkout .form-row > label,.woocommerce form .form-row > label{ font-family:var(--body); font-size:12px; text-transform:uppercase; letter-spacing:.04em; font-weight:700; margin-bottom:6px; display:block; color:var(--ink-text); }
.woocommerce-checkout input.input-text,.woocommerce-checkout select,.woocommerce-checkout textarea,.select2-container .select2-selection{ width:100%; padding:13px; background:#fff; color:var(--ink-text); border:1px solid var(--line-warm); font-family:var(--body); font-size:15px; }
.woocommerce form .form-row .required{ color:var(--flame); }
#order_review{ background:var(--ink-text); color:#fff; padding:30px; }
#order_review table th,#order_review table td{ color:#fff; border-bottom:1px solid #333; }
#order_review a{ color:var(--flame); }

/* WooCommerce notices */
.wc-notices{ padding-top:20px; }
.wc-notices:empty{ display:none; }
.woocommerce-message,.woocommerce-info,.woocommerce-error{ list-style:none; margin:0 0 20px; padding:16px 20px; font-size:14px; border-left:4px solid var(--flame); background:var(--cream-2); color:var(--ink-text); display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.woocommerce-error{ border-left-color:#c0392b; background:#fbe6e2; color:#7a1f12; }
.woocommerce-message::before,.woocommerce-info::before{ position:static !important; margin:0 !important; color:var(--flame) !important; font-size:18px; flex:0 0 auto; }
.woocommerce-message .button{ margin-left:auto !important; float:none !important; flex:0 0 auto; }

/* =========================================================================
   ABOUT / CONTACT / 404
   ====================================================================== */
.about-page,.contact-page,.policy-page{ background:var(--cream-bg); color:var(--ink-text); padding:90px 0; }
.about-page h1,.contact-page h1,.policy-page h1{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:clamp(34px,5vw,48px); color:var(--flame); margin:0 0 10px; }
.about-content p{ font-size:17px; line-height:1.85; max-width:700px; margin:0 0 20px; color:#3a3733; }

.policy-updated{ color:var(--ink-soft); font-size:13px; margin:0 0 40px; text-transform:uppercase; letter-spacing:.06em; }
.policy-content{ max-width:760px; }
.policy-content h2{ font-family:var(--display); font-weight:700; font-size:20px; text-transform:uppercase; color:var(--ink-text); margin:38px 0 12px; }
.policy-content h2:first-child{ margin-top:0; }
.policy-content p{ font-size:16px; line-height:1.8; color:#3a3733; margin:0 0 14px; }
.policy-content ul,.policy-content ol{ margin:0 0 18px; padding-left:22px; color:#3a3733; font-size:16px; line-height:1.8; }
.policy-content li{ margin-bottom:8px; }
.policy-content a{ color:var(--flame); text-decoration:underline; }
.policy-content a:hover{ color:var(--ink-text); }
.contact-sub{ font-size:16px; color:#3a3733; margin:0 0 40px; }
.contact-details{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.contact-block{ background:var(--cream-2); padding:26px; border-left:3px solid var(--flame); }
.contact-block h3{ color:var(--flame); font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 8px; }
.contact-block p{ color:#3a3733; font-size:15px; margin:0; word-break:break-word; }
.contact-block a:hover{ color:var(--flame); }
.contact-form-area{ margin-top:44px; max-width:600px; }
.error-page{ text-align:center; padding:110px 20px; }
.error-page h1{ font-family:var(--display); font-size:92px; margin:0 0 10px; color:var(--flame); }
.error-page p{ color:var(--ink-soft); margin-bottom:30px; }

/* =========================================================================
   FOOTER (stays dark)
   ====================================================================== */
.ft{ background:var(--ink); color:#fff; border-top:1px solid var(--line); padding:80px 0 34px; }
.ft-grid{ display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:40px; padding-bottom:56px; border-bottom:1px solid var(--line); }
.ft h3{ font-family:var(--display); font-weight:700; font-size:30px; text-transform:uppercase; color:#fff; line-height:0; }
.ft h3 span{ color:var(--flame); }
.ft-logo img,.ft-logo .fulloat-logo-img{ height:34px; width:auto; display:block; }
.ft-brand p{ color:var(--ash); font-size:14px; margin-top:14px; max-width:260px; }
.ft h4{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--flame); margin-bottom:18px; }
.ft ul{ list-style:none; margin:0; padding:0; }
.ft ul li{ margin-bottom:11px; }
.ft ul li a{ color:#bbb7b1; font-size:14px; transition:color .2s; }
.ft ul li a:hover{ color:#fff; }
.ft-news p{ color:var(--ash); font-size:14px; margin-bottom:14px; }
.ft-news .box{ display:flex; border:1px solid var(--line); }
.ft-news input{ flex:1; background:transparent; border:none; padding:13px 15px; color:#fff; font-family:var(--body); font-size:14px; outline:none; min-width:0; }
.ft-news button{ background:var(--flame); border:none; color:#fff; padding:0 20px; font-family:var(--display); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.ft-bot{ padding-top:26px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.ft-bot p{ color:var(--ash); font-size:12.5px; margin:0; }

/* =========================================================================
   MOBILE
   ====================================================================== */
.nav-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:99; }
.nav-overlay[hidden]{ display:none; }

@media(max-width:1024px){
	.drop-grid .card{ grid-column:span 6; }
	.drop-grid .card.big{ grid-column:span 12; grid-row:auto; }
	.drop-grid .card.big .card-img{ min-height:auto; aspect-ratio:3/4; }
	.shop-grid,.products-grid,.related-band ul.products,.woocommerce .related ul.products{ grid-template-columns:repeat(3,1fr); }
	.ed-grid{ grid-template-columns:1fr; gap:40px; }
	.ed-visual{ aspect-ratio:16/10; }
	.style-grid{ grid-template-columns:1fr; }
	.usp-grid{ grid-template-columns:1fr 1fr; }
	.usp-item:nth-child(2){ border-right:none; }
	.product-layout{ gap:40px; }
	.ft-grid{ grid-template-columns:1fr 1fr; }
}

@media(max-width:860px){
	/* Hamburger + centered logo */
	.nav-toggle{ display:flex; order:-1; }
	.hdr-in{ position:relative; }
	.logo{ position:absolute; left:50%; transform:translateX(-50%); margin:0; }
	.icons{ margin-left:auto; }
	.icons .icon-search{ display:none; }

	/* Drawer */
	.nav{ position:fixed; top:0; left:0; bottom:0; height:100%; width:86%; max-width:360px; margin:0; padding:80px 28px 40px; background:var(--ink); display:flex; flex-direction:column; gap:0; transform:translateX(-100%); transition:transform .3s ease; overflow-y:auto; z-index:100; -webkit-overflow-scrolling:touch; }
	.nav.is-open{ transform:translateX(0); }
	.nav-close{ display:block; position:absolute; top:18px; right:22px; width:40px; height:40px; background:none; border:none; font-size:34px; line-height:1; color:#fff; cursor:pointer; z-index:2; }
	.nav-close:hover{ color:var(--flame); }
	.nav .nav-list{ display:flex; flex-direction:column; gap:0; width:100%; }
	.nav .nav-list li{ border-bottom:1px solid var(--line); width:100%; }
	.nav .nav-list li a{ display:block; padding:16px 0; font-family:var(--display); font-weight:700; font-size:17px; letter-spacing:.02em; text-transform:uppercase; color:#fff; }
	.nav .nav-list li a:hover{ color:var(--flame); }
	.nav .sub-menu{ padding:0 0 8px 14px; }
	.nav .sub-menu li a{ font-size:14px; padding:11px 0; color:#bbb7b1; }

	.product-layout{ grid-template-columns:1fr; gap:24px; }
	.product-info{ position:static; }
	.product-image img,.product-image .woocommerce-product-gallery__image img{ width:100%; height:auto; object-fit:cover; }
	.product-title{ font-size:28px; }
	.woocommerce-tabs ul.tabs{ gap:20px; overflow-x:auto; flex-wrap:nowrap; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a{ white-space:nowrap; }
}

@media(max-width:640px){
	.wrap,.container{ padding:0 16px; }
	.announce{ font-size:10px; letter-spacing:.06em; padding:8px 10px; }
	.marquee-header{ padding:9px 0; }
	.marquee-track span{ font-size:13px; gap:28px; }
	.drop-grid .card{ grid-column:span 12; }
	.shop-grid,.products-grid,.related-band ul.products,.woocommerce .related ul.products{ grid-template-columns:repeat(2,1fr); gap:16px 14px; }
	.usp-grid{ grid-template-columns:1fr; }
	.usp-item{ border-right:none; border-bottom:1px solid var(--line-warm); }
	.ft-grid{ grid-template-columns:1fr; }
	.hero{ min-height:78vh; }
	.hero h1{ font-size:52px; }
	.sec{ padding-top:60px; padding-bottom:60px; }
	.editorial{ padding:68px 0; }
	.shop-toolbar{ flex-direction:column; align-items:stretch; }
	.shop-sort select{ width:100%; }
	.product-title{ font-size:24px; }
	.product-stats{ flex-direction:row; }
	.pstat b{ font-size:15px; }
	.pstat span{ font-size:10px; }
	.assurance-grid{ gap:12px 14px; }
	.assurance{ font-size:12px; gap:8px; }
	.assurance svg{ width:18px; height:18px; }
	.swatch{ min-width:48px; height:48px; font-size:14px; }
	.single_add_to_cart_button{ min-width:0; width:100%; }
	.prepaid-strip{ font-size:12px; gap:8px; padding:10px 12px; }
	.contact-details{ grid-template-columns:1fr; }
	.cart_totals{ margin-left:0; max-width:100%; }
	.woocommerce-message .button{ margin-left:0 !important; width:100%; text-align:center; }
}

@media(prefers-reduced-motion:reduce){
	.marquee-track{ animation:none; }
	*{ transition-duration:.01ms !important; }
}

/* =========================================================================
   v4.5 GALLERY WIDTH + REMOVE ZOOM ICON + HARD MOBILE NAV OVERRIDE
   ====================================================================== */

/* --- FIX: product gallery fills its column (WooCommerce shrinks it to ~48%) --- */
.woocommerce div.product .woocommerce-product-gallery,
.single-product .product-image .woocommerce-product-gallery{
	width:100% !important;
	float:none !important;
	margin:0 !important;
}
.woocommerce-product-gallery__wrapper{ width:100% !important; margin:0 !important; }
.woocommerce div.product div.images{ width:100% !important; float:none !important; margin:0 !important; }
.product-image img{ width:100% !important; }

/* --- REMOVE the zoom / magnifier trigger on the product image --- */
.woocommerce-product-gallery__trigger{ display:none !important; }

/* --- HARD MOBILE NAV OVERRIDE (max specificity, can't be beaten) --- */
@media (max-width: 860px){
	header.hdr nav#primary-nav.nav{
		position:fixed !important;
		top:0 !important;
		left:0 !important;
		right:auto !important;
		bottom:0 !important;
		height:100vh !important;
		width:86% !important;
		max-width:360px !important;
		margin:0 !important;
		padding:80px 28px 40px !important;
		background:#0e0e0e !important;
		display:flex !important;
		flex-direction:column !important;
		transform:translateX(-100%) !important;
		transition:transform .3s ease !important;
		overflow-y:auto !important;
		z-index:100 !important;
	}
	header.hdr nav#primary-nav.nav.is-open{
		transform:translateX(0) !important;
	}
	header.hdr nav#primary-nav .nav-list{
		flex-direction:column !important;
		width:100% !important;
		gap:0 !important;
	}
	header.hdr nav#primary-nav .nav-close{ display:block !important; }
}

/* =========================================================================
   v4.6 ADMIN-BAR SPACE FIX + NAV CLICKABILITY + TIGHTER BUY AREA
   ====================================================================== */

/* --- Blank space at top on mobile = WordPress admin bar (only shows when
   logged in). Neutralize the gap it leaves. Regular visitors never see it. --- */
@media(max-width:782px){
	html{ margin-top:0 !important; }
	#wpadminbar{ position:fixed !important; }
}
/* If admin bar pushes content, this removes the phantom gap for logged-in admins */
body.admin-bar .hdr{ top:0; }

/* --- NAV CLICKABILITY ---
   Ensure the drawer and its links sit above the overlay and receive taps. --- */
@media(max-width:860px){
	header.hdr nav#primary-nav.nav{ z-index:120 !important; pointer-events:auto !important; }
	header.hdr nav#primary-nav .nav-list,
	header.hdr nav#primary-nav .nav-list li,
	header.hdr nav#primary-nav .nav-list li a{
		pointer-events:auto !important;
		position:relative;
		z-index:1;
	}
	.nav-overlay{ z-index:110 !important; }
	/* overlay must sit BELOW the drawer so drawer links stay tappable */
	header.hdr nav#primary-nav.nav.is-open{ z-index:120 !important; }
}

/* --- TIGHTER BUY AREA (match reference: no big empty gaps) --- */
/* Remove the large default gap WooCommerce leaves between variations and cart */
.woocommerce div.product form.cart{ margin:0 0 14px !important; }
.woocommerce div.product form.cart .variations{ margin-bottom:16px !important; }
.woocommerce div.product form.cart .variations tr{ margin-bottom:10px !important; }

/* The empty gap under swatches was the hidden single-variation description /
   reset link taking space. Collapse it. */
.woocommerce div.product form.cart .single_variation_wrap{ margin-top:0 !important; }
.woocommerce-variation{ margin:0 !important; min-height:0 !important; }
.woocommerce-variation:empty{ display:none !important; }
.reset_variations{ margin:6px 0 0 !important; display:inline-block; }
.reset_variations:empty{ display:none !important; }

/* Quantity + Add to cart tighter */
.woocommerce div.product form.cart .quantity{ margin:0; }
.single_add_to_cart_button{ margin:0 !important; }
.buy-now-button{ margin-top:10px !important; }
.product-stats{ margin:18px 0 !important; }
.assurance-grid{ margin:18px 0 !important; }

/* Reduce the gap the price -> prepaid -> size stack creates */
.single-product .price,.product-info .price{ margin-bottom:16px !important; }
.prepaid-strip{ margin-bottom:18px !important; }

/* =========================================================================
   v4.7 REAL NAV-CLICK FIX + BLANK SPACE + EMPTY BOX
   ====================================================================== */

/* --- THE ACTUAL NAV BUG ---
   The drawer lives inside <header> (position:sticky; z-index:50). That header
   creates a stacking context, so the drawer's high z-index only applies
   INSIDE the header. The .nav-overlay is a SIBLING of the header at a higher
   root z-index, so it sat on top of the drawer and ate every tap.
   Fix: when the menu is open, lift the whole header above the overlay, and
   keep the overlay below the header. --- */
@media(max-width:860px){
	/* When nav is open, raise the header's stacking context above the overlay */
	body.nav-open .hdr{ z-index:130 !important; }

	/* Overlay sits BELOW the header/drawer, not above */
	.nav-overlay{ z-index:90 !important; }

	/* Drawer above everything, links fully tappable */
	header.hdr nav#primary-nav.nav{ z-index:140 !important; }
	header.hdr nav#primary-nav .nav-list li a{
		pointer-events:auto !important;
		display:block !important;
		position:relative;
		z-index:2;
	}
}

/* --- BLANK SPACE at very top ---
   This is the WordPress admin bar area (only for logged-in users) OR a gap
   above the sticky header. Force the body/header flush to the top. --- */
.hdr{ margin-top:0 !important; }
body:not(.admin-bar) .hdr{ top:0 !important; }
/* Remove any inherited top gap */
#main{ margin-top:0 !important; }
.announce + .hdr,.marquee-header{ margin-top:0 !important; }

/* --- EMPTY WHITE BOX beside product info (image 1) ---
   The product-layout is a 2-col grid; when the info column is short, the
   image column's leftover creates a big void. Align items to start and let
   the grid collapse naturally. Also the single_variation_wrap reserves an
   empty block — collapse it. --- */
.product-layout{ align-items:start !important; }
.single_variation_wrap{ min-height:0 !important; }
.single_variation{ margin:0 !important; }
.single_variation:empty{ display:none !important; }
/* WooCommerce sometimes injects an empty <div> after the form — hide empties */
.product-info > div:empty,
.summary > div:empty{ display:none !important; }

/* =========================================================================
   v4.8 DEFINITIVE NAV FIX + EMPTY GALLERY BOX + TOP GAP
   ====================================================================== */

/* --- THE REAL NAV BUG ---
   The drawer lives INSIDE header.hdr, which has position:sticky + z-index:50,
   creating a stacking context. That TRAPS the drawer below z-index 50 in the
   global stack — so the .nav-overlay (z-index 110, outside the header) always
   covers it and eats taps. Fix: raise the header's stacking context above the
   overlay WHEN the menu is open, so the drawer's links become tappable. --- */
@media(max-width:860px){
	/* When nav is open, lift the whole header context above the overlay */
	body.nav-open header.hdr{ z-index:130 !important; }

	/* Drawer above overlay within that lifted context */
	header.hdr nav#primary-nav.nav{ z-index:1 !important; }

	/* Overlay stays below the header context */
	.nav-overlay{ z-index:120 !important; }

	/* Guarantee links are tappable */
	header.hdr nav#primary-nav .nav-list li a{
		pointer-events:auto !important;
		position:relative; z-index:2;
		display:block;
	}
}

/* --- EMPTY WHITE BOX under the product image (desktop) ---
   WooCommerce's gallery reserves space for a second slide row / thumbnails
   even when there's one image. Collapse the empty wrapper. --- */
.woocommerce-product-gallery{ overflow:hidden; }
.woocommerce-product-gallery .flex-viewport{ height:auto !important; }
.woocommerce-product-gallery__wrapper{ height:auto !important; }
/* if there are no real thumbnails, hide the empty thumb strip */
.flex-control-thumbs:empty{ display:none !important; }
/* The stray empty box is the gallery reserving a fixed aspect area — let it
   size to the image only */
.product-image .woocommerce-product-gallery,
.product-image .woocommerce-product-gallery__wrapper,
.product-image .flex-viewport{ min-height:0 !important; }

/* --- TOP GAP (logged-in admin bar) — belt & suspenders --- */
html{ margin-top:0 !important; }
@media screen and (max-width:782px){
	html{ margin-top:0 !important; }
	* html body{ margin-top:0 !important; }
}

/* =========================================================================
   v4.9 WHITE-SPACE KILL + NO LIGHTBOX + PRODUCT LAYOUT LIKE REFERENCE
   ====================================================================== */

/* --- WHITE SPACE: the empty WooCommerce notices wrapper. Kill any padding
   when there's no visible notice text. --- */
.wc-notices{ padding:0 !important; }
.wc-notices:empty{ display:none !important; }
.woocommerce-notices-wrapper:empty{ display:none !important; margin:0 !important; padding:0 !important; }
.wc-notices .woocommerce-notices-wrapper:empty{ display:none !important; }
/* Give the wrapper top padding ONLY when it actually contains a notice */
.wc-notices:has(.woocommerce-message),
.wc-notices:has(.woocommerce-info),
.wc-notices:has(.woocommerce-error){ padding-top:20px !important; }

/* --- NO IMAGE LIGHTBOX: block the click-to-open behaviour entirely --- */
.woocommerce-product-gallery__image a{ pointer-events:none !important; cursor:default !important; }
.woocommerce-product-gallery__trigger{ display:none !important; }
.pswp{ display:none !important; }  /* PhotoSwipe lightbox container */

/* =========================================================================
   PRODUCT LAYOUT — match the reference (image 5): tight, aligned, no gaps
   ====================================================================== */

/* Remove the large empty gap that appeared between size swatches and quantity.
   It was WooCommerce's hidden single-variation slot reserving space. */
.woocommerce div.product .single_variation_wrap{ margin:0 !important; }
.woocommerce div.product .woocommerce-variation{ display:none !important; }
.woocommerce div.product .woocommerce-variation.woocommerce-variation-price,
.woocommerce div.product .woocommerce-variation.woocommerce-variation-availability{ display:block !important; margin:0 0 12px !important; }
.woocommerce-variation:empty{ display:none !important; }

/* Tighten the whole buy stack spacing */
.product-info > *{ margin-bottom:0; }
.product-eyebrow{ margin-bottom:12px; }
.product-title{ margin:0 0 14px; }
.single-product .price,.product-info .price{ margin:0 0 16px !important; }
.prepaid-strip{ margin:0 0 18px !important; }
.woocommerce div.product form.cart{ margin:0 0 16px !important; }
.woocommerce div.product form.cart .variations{ margin:0 0 16px !important; }
.woocommerce div.product form.cart .variations tr{ margin-bottom:0 !important; }

/* Quantity + Add to Cart on ONE ROW (like reference) */
.woocommerce div.product form.cart:not(.variations_form),
.woocommerce-variation-add-to-cart{
	display:flex !important; gap:12px !important; align-items:stretch !important; flex-wrap:nowrap !important;
}
.woocommerce .quantity{ flex:0 0 auto; margin:0 !important; }
.woocommerce .quantity .qty,.quantity input.qty{ width:70px; min-height:54px; }
.single_add_to_cart_button{ flex:1 1 auto !important; margin:0 !important; min-width:0 !important; }

/* Buy It Now directly under, tight */
.buy-now-button{ margin-top:12px !important; }

/* Stats + assurances tighter */
.product-stats{ margin:20px 0 0 !important; }
.assurance-grid{ margin:20px 0 !important; }
.product_meta{ margin-top:16px !important; }

/* Kill the empty gallery box under the image once and for all */
.woocommerce div.product div.images .woocommerce-product-gallery{ margin-bottom:0 !important; }
.flex-control-nav.flex-control-thumbs:empty,
.flex-control-thumbs:empty{ display:none !important; margin:0 !important; }
.woocommerce-product-gallery{ margin:0 !important; }

/* =========================================================================
   NAV OVERLAY — ensure it never shows as a visible strip when closed
   ====================================================================== */
.nav-overlay[hidden]{ display:none !important; }
.nav-overlay{ pointer-events:auto; }

/* =========================================================================
   v5.0 CART BUBBLE (hide when empty) + WIDER INFO COLUMN + WHITE SPACE
   ====================================================================== */

/* --- Cart bubble: hide entirely when empty (no "0", no stale number) --- */
.cart-dot .cart-count.is-empty,
.cart-dot .cart-count:empty{ display:none !important; }

/* --- WIDER buy/info column so the title doesn't wrap to 4 lines --- */
.product-layout{
	grid-template-columns:1fr 1.15fr !important;  /* info column wider than image */
	gap:48px !important;
	align-items:start !important;
}
/* Cap the image so it doesn't get too tall, give info room */
.product-image{ max-width:560px; }
.product-info{ max-width:none; }
.product-title{ font-size:clamp(30px,3.4vw,46px) !important; line-height:1 !important; }

@media(max-width:1024px){
	.product-layout{ grid-template-columns:1fr 1.05fr !important; gap:36px !important; }
}
@media(max-width:860px){
	.product-layout{ grid-template-columns:1fr !important; gap:24px !important; }
	.product-image{ max-width:100%; }
}

/* --- WHITE SPACE above header: nuke any top gap from empty notice wrapper --- */
.wc-notices,
.wc-notices .woocommerce-notices-wrapper,
.woocommerce-notices-wrapper{ margin:0 !important; padding:0 !important; }
.wc-notices:empty,
.woocommerce-notices-wrapper:empty{ display:none !important; }
body > .wc-notices:first-child:empty{ display:none !important; }
/* Absolute top reset */
body{ margin:0 !important; padding:0 !important; }
.announce:first-child,.hdr:first-child{ margin-top:0 !important; }

/* =========================================================================
   v5.0b DEFINITIVE TOP-GAP KILL
   Collapse ANY empty element that renders before the header/announce,
   regardless of source (wp_body_open hooks, empty notice wrappers, etc.).
   ====================================================================== */
body > *:empty:not(.nav-overlay):not(script):not(style){ display:none !important; }
body > .skip-link{ position:absolute !important; left:-9999px !important; height:0 !important; }
/* Ensure the first VISIBLE element (announce or header) touches the top */
.announce{ margin-top:0 !important; }
.hdr{ margin-top:0 !important; }
/* Remove any inherited gap on main */
#main{ margin-top:0 !important; padding-top:0 !important; }
/* WooCommerce sometimes injects an empty wrapper right after body — kill it */
body > .woocommerce-notices-wrapper{ display:none !important; }

/* =========================================================================
   v5.1 HOMEPAGE REDESIGN — compact hero + stats + reviews + whatsapp
   ====================================================================== */

/* --- COMPACT HERO (~half screen instead of full) --- */
.hero-compact{ min-height:52vh; }
.hero-compact .hero-in{ padding-bottom:48px; padding-top:48px; }
.hero-compact h1{ font-size:clamp(48px,8vw,110px); line-height:.92; margin-bottom:16px; }
.hero-compact h1 em{ font-style:italic; color:var(--flame); }
.hero-compact .hero-sub{ max-width:440px; margin-bottom:26px; font-size:16px; }
.hero-btns{ display:flex; gap:14px; flex-wrap:wrap; }
.btn-ghost{
	display:inline-flex; align-items:center; gap:10px;
	background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5);
	font-family:var(--display); font-weight:700; font-size:14px; letter-spacing:.06em;
	text-transform:uppercase; padding:15px 30px; transition:background .2s,color .2s,border-color .2s;
}
.btn-ghost:hover{ background:#fff; color:var(--ink); border-color:#fff; }

@media(max-width:640px){
	.hero-compact{ min-height:auto; }
	.hero-compact .hero-in{ padding:40px 0; }
	.hero-compact h1{ font-size:44px; }
	.hero-btns{ flex-direction:column; }
	.hero-btns .btn,.hero-btns .btn-ghost{ width:100%; justify-content:center; }
}

/* Tighten section padding site-wide so page isn't so tall */
.sec{ padding-top:70px; padding-bottom:70px; }
.editorial{ padding:80px 0; }

/* --- STATS BAND --- */
.stats-band{ background:var(--ink); color:#fff; padding:56px 0; }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }
.stats-band .stat b{ display:block; font-family:var(--display); font-weight:700; font-size:44px; line-height:1; color:#fff; }
.stats-band .stat span{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ash); margin-top:8px; display:block; }
@media(max-width:640px){
	.stats-grid{ grid-template-columns:1fr 1fr; gap:32px 20px; }
	.stats-band .stat b{ font-size:36px; }
}

/* --- REVIEWS --- */
.reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.review{ background:var(--cream-2); border:1px solid var(--line-warm); padding:28px; }
.review-stars{ color:var(--flame); font-size:16px; letter-spacing:2px; margin-bottom:14px; }
.review p{ font-size:15px; line-height:1.7; color:#3a3733; margin:0 0 18px; }
.review-by{ font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }
@media(max-width:860px){ .reviews-grid{ grid-template-columns:1fr; } }

/* --- CART DRAWER --- */
.cart-drawer-overlay{
	position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:998;
	opacity:0; transition:opacity .3s;
}
.cart-drawer-overlay.is-open{ opacity:1; }
.cart-drawer{
	position:fixed; top:0; right:0; bottom:0; width:420px; max-width:92vw;
	background:#fff; z-index:999; display:flex; flex-direction:column;
	transform:translateX(100%); transition:transform .3s ease; box-shadow:-8px 0 30px rgba(0,0,0,.15);
}
.cart-drawer.is-open{ transform:translateX(0); }
.cart-drawer-head{
	display:flex; align-items:center; justify-content:space-between;
	padding:20px 24px; border-bottom:1px solid #ece8e2; flex:0 0 auto;
}
.cart-drawer-head h2{
	font-family:var(--display); font-weight:800; font-size:20px; text-transform:uppercase; margin:0;
	display:flex; align-items:center; gap:10px;
}
.cart-drawer-count{
	background:var(--flame); color:#fff; font-size:12px; font-weight:700;
	border-radius:99px; min-width:22px; height:22px; display:inline-flex;
	align-items:center; justify-content:center; padding:0 6px;
}
.cart-drawer-close{
	background:none; border:none; font-size:26px; line-height:1; cursor:pointer; color:var(--ink);
	width:32px; height:32px; display:flex; align-items:center; justify-content:center;
}
.cart-drawer-body{ flex:1 1 auto; overflow-y:auto; padding:20px 24px; }

.cart-drawer-item{
	display:flex; gap:12px; padding:16px 0; border-bottom:1px solid #f1ede7;
	transition:opacity .2s;
}
.cart-drawer-item.is-updating{ opacity:.4; pointer-events:none; }
.cd-item-img img{ width:64px; height:80px; object-fit:cover; display:block; background:#f4f1ec; }
.cd-item-meta{ flex:1 1 auto; min-width:0; }
.cd-item-name{
	font-size:14px; font-weight:700; color:var(--ink); text-decoration:none;
	display:block; margin-bottom:4px;
}
.cd-item-variant{ font-size:12px; color:var(--ink-soft); margin-bottom:10px; }
.cd-item-qty{ display:inline-flex; align-items:center; gap:10px; border:1px solid #e3ded5; padding:4px 10px; }
.cd-qty-btn{ background:none; border:none; font-size:16px; cursor:pointer; color:var(--ink); width:18px; }
.cd-qty-val{ font-size:13px; font-weight:700; min-width:14px; text-align:center; }
.cd-item-right{ display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; }
.cd-item-price{ font-size:14px; font-weight:700; color:var(--ink); white-space:nowrap; }
.cd-item-remove{ background:none; border:none; cursor:pointer; color:var(--ink-soft); padding:4px; }
.cd-item-remove:hover{ color:var(--flame); }

.cart-drawer-coupon{ margin-top:14px; }
.cd-coupon-toggle{
	background:none; border:none; cursor:pointer; font-size:13px; font-weight:700;
	text-transform:uppercase; letter-spacing:.04em; color:var(--ink); padding:12px 0;
	display:flex; align-items:center; justify-content:space-between; width:100%;
	border-top:1px solid #f1ede7;
}
.cd-coupon-form{ display:flex; gap:8px; margin-bottom:12px; }
.cd-coupon-input{
	flex:1 1 auto; border:1px solid #e3ded5; padding:10px 12px; font-size:13px; font-family:var(--body);
}
.cd-coupon-apply{ flex:0 0 auto; padding:10px 16px !important; font-size:12px !important; }
.cd-coupon-applied{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.cd-coupon-chip{
	display:inline-flex; align-items:center; gap:6px; background:#f4f1ec; padding:6px 10px;
	font-size:12px; font-weight:700; letter-spacing:.04em;
}
.cd-coupon-remove{ background:none; border:none; cursor:pointer; font-size:15px; line-height:1; color:var(--ink-soft); }

.cart-drawer-total{
	display:flex; align-items:center; justify-content:space-between; padding-top:16px;
	border-top:1px solid #ece8e2; font-size:15px; font-weight:700;
}
.cart-drawer-note{ font-size:12px; color:var(--ink-soft); margin:8px 0 18px; }
.cart-drawer-checkout{ width:100%; text-align:center; display:block; }

.cart-drawer-empty{
	display:flex; flex-direction:column; align-items:center; justify-content:center;
	text-align:center; height:100%; gap:16px; padding:40px 10px;
}
.cart-drawer-empty h3{
	font-family:var(--display); font-weight:800; font-size:20px; text-transform:uppercase; margin:0;
}
.cart-drawer-empty p{ font-size:14px; color:var(--ink-soft); margin:0; }
.cart-drawer-empty p a{ color:var(--flame); font-weight:700; text-decoration:underline; }
.cart-drawer-continue{ padding:14px 28px !important; }

@media(max-width:480px){ .cart-drawer{ width:100%; max-width:100%; } }

/* --- PROMO BANNER (Customizer → Homepage Promo Banner) --- */
.promo-banner{
	background:var(--ink); background-size:cover; background-position:center; position:relative;
	padding:80px 0; margin:0;
}
.promo-banner::before{
	content:""; position:absolute; inset:0; background:rgba(0,0,0,.38);
}
.promo-banner-inner{
	position:relative; z-index:1; text-align:center; max-width:640px; margin:0 auto;
	display:flex; flex-direction:column; align-items:center; gap:14px;
}
.promo-banner-inner h2{
	font-family:var(--display); font-weight:700; font-size:clamp(28px,4.5vw,48px);
	text-transform:uppercase; color:#fff; margin:0; line-height:1.05;
}
.promo-banner-inner p{ color:var(--ash); font-size:16px; margin:0; }
.promo-banner-inner .btn{ margin-top:8px; }
@media(max-width:640px){ .promo-banner{ padding:56px 0; } }

/* --- WHATSAPP CTA --- */
.whatsapp-cta{ background:var(--ink); color:#fff; padding:64px 0; }
.whatsapp-inner{ display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.whatsapp-inner h2{ font-family:var(--display); font-weight:700; font-size:clamp(26px,3.5vw,40px); text-transform:uppercase; color:#fff; margin:0 0 10px; line-height:1; }
.whatsapp-inner p{ color:var(--ash); font-size:15px; margin:0; max-width:460px; }
.whatsapp-btn{ background:#25D366 !important; flex:0 0 auto; }
.whatsapp-btn:hover{ background:#fff !important; color:var(--ink) !important; }
@media(max-width:640px){
	.whatsapp-inner{ flex-direction:column; align-items:flex-start; }
	.whatsapp-btn{ width:100%; justify-content:center; }
}

/* =========================================================================
   v5.2 MOBILE HOMEPAGE — compact 2-column product grid (like reference)
   ====================================================================== */
@media(max-width:640px){
	/* New Arrivals: 2 across, no giant "big" card on mobile */
	.drop-grid{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:16px 12px !important; }
	.drop-grid .card,
	.drop-grid .card.big{ grid-column:auto !important; grid-row:auto !important; }
	.drop-grid .card.big .card-img,
	.drop-grid .card .card-img{ aspect-ratio:3/4 !important; min-height:0 !important; height:auto !important; }
	.drop-grid .card.big .card-meta h3,
	.drop-grid .card .card-meta h3{ font-size:13px !important; }
	.card-price{ font-size:13px !important; }
	.card-tag{ font-size:9px !important; padding:4px 8px !important; }

	/* Section headings smaller on mobile */
	.sec-head h2{ font-size:30px !important; }
	.sec{ padding-top:44px !important; padding-bottom:44px !important; }

	/* Shop by Style: single column, tighter spacing */
	.style-sec{ padding:56px 0 44px !important; }
	.style-title{ font-size:32px !important; }
	.style-grid{ grid-template-columns:1fr !important; }
	.style-tabs{ gap:10px !important; margin-bottom:36px !important; }
	.style-trust{ gap:22px !important; margin-top:40px !important; }
	.style-card-img{ aspect-ratio:16/11 !important; }

	/* Editorial band tighter */
	.editorial{ padding:52px 0 !important; }
	.ed-grid h2{ font-size:28px !important; }

	/* Reviews single column tighter */
	.review{ padding:22px !important; }
}

/* Also tablet: 2-3 across instead of the big-card layout */
@media(max-width:860px) and (min-width:641px){
	.drop-grid{ grid-template-columns:repeat(3,1fr) !important; gap:18px !important; }
	.drop-grid .card,
	.drop-grid .card.big{ grid-column:auto !important; grid-row:auto !important; }
	.drop-grid .card.big .card-img{ aspect-ratio:3/4 !important; min-height:0 !important; }
}

/* =========================================================================
   v5.3 FLOATING WHATSAPP CHAT BUTTON
   ====================================================================== */
.wa-float{
	position:fixed;
	right:20px; bottom:20px;
	z-index:300;
	width:56px; height:56px;
	background:#25D366; color:#fff;
	border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 6px 20px rgba(0,0,0,.25);
	transition:transform .2s, box-shadow .2s;
}
.wa-float:hover{ transform:scale(1.08); box-shadow:0 8px 26px rgba(0,0,0,.32); color:#fff; }
.wa-float svg{ display:block; }
/* gentle pulse ring to draw attention */
.wa-float::before{
	content:""; position:absolute; inset:0; border-radius:50%;
	background:#25D366; opacity:.5; z-index:-1;
	animation:wa-pulse 2.2s ease-out infinite;
}
@keyframes wa-pulse{
	0%{ transform:scale(1); opacity:.5; }
	70%{ transform:scale(1.6); opacity:0; }
	100%{ opacity:0; }
}
@media(max-width:640px){
	.wa-float{ width:52px; height:52px; right:16px; bottom:16px; }
	.wa-float svg{ width:26px; height:26px; }
}
@media(prefers-reduced-motion:reduce){
	.wa-float::before{ animation:none; }
}

/* =========================================================================
   v5.4 SPLIT HERO (match Shopify site: text left, product card right)
   ====================================================================== */
.hero-split{ background:var(--cream-bg); padding:70px 0; overflow:hidden; }
.hero-split-inner{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }

/* Left text */
.hero-split-text{ max-width:520px; }
.hero-est{
	display:inline-block; border:1.5px solid #d8b24a; color:#8a6d1f;
	font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.14em;
	text-transform:uppercase; padding:7px 14px; margin-bottom:28px;
}
.hero-split-text h1{
	font-family:var(--display); font-weight:700; text-transform:uppercase;
	font-size:clamp(40px,5.4vw,76px); line-height:.94; letter-spacing:-.03em;
	color:var(--ink-text); margin:0 0 24px;
}
.hero-split-text .hero-sub{
	font-size:18px; color:var(--ink-soft); line-height:1.6; margin:0 0 32px; max-width:400px;
}
.hero-split-text .hero-btns{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-split-text .btn{ background:var(--flame); color:#fff; }
.hero-split-text .btn:hover{ background:var(--ink-text); }
.hero-split-text .btn-ghost{
	background:transparent; color:var(--ink-text); border:1.5px solid var(--ink-text);
}
.hero-split-text .btn-ghost:hover{ background:var(--ink-text); color:#fff; }

/* Right media card */
.hero-split-media{ position:relative; }
.hero-media-frame{ position:relative; overflow:hidden; background:var(--cream-2); }
.hero-media-frame img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; display:block; }
.hero-price-tag{
	position:absolute; left:16px; bottom:16px;
	background:var(--ink-text); color:#fff;
	font-family:var(--display); font-weight:700; font-size:13px; letter-spacing:.04em;
	padding:9px 16px;
}
.hero-price-tag::first-letter{ color:var(--flame); }
.hero-approved{
	position:absolute; top:-24px; right:-24px; z-index:3;
	width:118px; height:118px; border-radius:50%;
	background:var(--ink); color:#e8c14a; border:3px solid #e8c14a;
	display:flex; align-items:center; justify-content:center; text-align:center;
	font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.06em;
	text-transform:uppercase; line-height:1.3;
	transform:rotate(-8deg);
}

@media(max-width:860px){
	.hero-split{ padding:44px 0; }
	.hero-split-inner{ grid-template-columns:1fr; gap:32px; }
	.hero-split-text{ max-width:100%; }
	.hero-split-text h1{ font-size:clamp(38px,10vw,60px); }
	.hero-approved{ width:96px; height:96px; font-size:10px; top:-16px; right:-8px; }
}
@media(max-width:640px){
	.hero-split{ padding:32px 0; }
	.hero-split-text h1{ font-size:40px; }
	.hero-split-text .hero-sub{ font-size:16px; }
	.hero-split-text .hero-btns{ flex-wrap:wrap; }
	.hero-split-text .btn,.hero-split-text .btn-ghost{ flex:1; justify-content:center; text-align:center; }
	.hero-approved{ width:84px; height:84px; font-size:9px; }
}

/* =========================================================================
   v5.6 HOMEPAGE LAYOUT POLISH — desktop + mobile
   Better rhythm, alignment, and a cleaner New Arrivals grid.
   ====================================================================== */

/* --- Consistent section rhythm --- */
.hero-split{ padding:64px 0 !important; }
.sec{ padding:76px 0; }
.editorial{ padding:88px 0; }
.stats-band{ padding:60px 0; }
.whatsapp-cta{ padding:72px 0; }

/* --- Section headings: consistent, with a flame accent bar --- */
.sec-head{ align-items:flex-end; margin-bottom:40px; }
.sec-head .n{
	display:inline-flex; align-items:center; gap:10px;
	color:var(--flame); font-weight:700; letter-spacing:.14em;
}
.sec-head .n::before{ content:""; width:26px; height:2px; background:var(--flame); }
.sec-head h2{ font-size:clamp(32px,5vw,58px); margin-top:10px; }
.sec-head .link-arrow{ margin-bottom:6px; }

/* --- NEW ARRIVALS: cleaner balanced grid ---
   Replace the uneven 12-col "big card" layout with an even, premium 4-up grid
   on desktop that reads consistently. First card spans 2 cols as a feature. --- */
.drop-grid{
	display:grid !important;
	grid-template-columns:repeat(4,1fr) !important;
	gap:24px !important;
}
.drop-grid .card{ grid-column:auto !important; grid-row:auto !important; }
.drop-grid .card.big{
	grid-column:span 2 !important;
	grid-row:span 2 !important;
}
.drop-grid .card.big .card-img{ aspect-ratio:1/1 !important; min-height:0 !important; height:100% !important; }
.drop-grid .card .card-img{ aspect-ratio:3/4; }
.drop-grid .card.big .card-meta h3{ font-size:22px; }

/* Card hover: subtle lift for a more premium feel */
.card{ transition:transform .25s ease; }
.card:hover{ transform:translateY(-4px); }
.card-meta{ padding-top:14px; }

/* --- HERO: better balance, image not too tall --- */
.hero-split-inner{ gap:60px; align-items:center; }
.hero-media-frame img{ aspect-ratio:4/5; }
.hero-split-text h1{ margin-bottom:20px; }
.hero-split-text .hero-sub{ margin-bottom:28px; }

/* --- EDITORIAL: tighter, more editorial feel --- */
.ed-grid{ gap:60px; align-items:center; }
.ed-visual{ aspect-ratio:4/5; }
.ed-grid h2{ font-size:clamp(30px,4.5vw,52px); }

/* --- USP + STATS: cleaner dividers --- */
.usp-grid{ border:1px solid var(--line-warm); }
.usp-item{ border-right:1px solid var(--line-warm); border-bottom:none; }
.stats-band .stat b{ font-size:clamp(32px,4vw,48px); }

/* --- REVIEWS: card polish --- */
.review{ transition:transform .2s ease, box-shadow .2s ease; }
.review:hover{ transform:translateY(-3px); box-shadow:0 10px 30px rgba(0,0,0,.06); }

/* --- WHATSAPP CTA: center on desktop for balance --- */
.whatsapp-inner{ align-items:center; }

/* =========================================================================
   MOBILE POLISH (<= 640px)
   ====================================================================== */
@media(max-width:640px){
	.hero-split{ padding:36px 0 !important; }
	.hero-split-inner{ gap:28px; }
	.hero-split-text h1{ font-size:42px; line-height:.95; }
	.hero-split-text .hero-sub{ font-size:15px; margin-bottom:24px; }
	.hero-media-frame img{ aspect-ratio:4/5; }
	.hero-approved{ width:78px; height:78px; font-size:9px; top:-14px; right:-6px; }

	.sec{ padding:48px 0 !important; }
	.editorial{ padding:52px 0 !important; }
	.stats-band{ padding:44px 0 !important; }
	.whatsapp-cta{ padding:48px 0 !important; }

	.sec-head{ margin-bottom:26px; }
	.sec-head h2{ font-size:28px !important; }

	/* New Arrivals: even 2-col, no oversized feature card */
	.drop-grid{ grid-template-columns:1fr 1fr !important; gap:14px !important; }
	.drop-grid .card.big{ grid-column:auto !important; grid-row:auto !important; }
	.drop-grid .card.big .card-img,
	.drop-grid .card .card-img{ aspect-ratio:3/4 !important; min-height:0 !important; height:auto !important; }
	.drop-grid .card.big .card-meta h3,
	.drop-grid .card .card-meta h3{ font-size:13px !important; line-height:1.15; }
	.card-price{ font-size:12px !important; }
	.card-tag{ font-size:9px !important; padding:4px 7px !important; }
	.card-meta{ padding-top:10px !important; }

	/* Editorial stacks cleanly */
	.ed-grid{ gap:26px; }
	.ed-grid h2{ font-size:26px; }
	.ed-grid p{ font-size:15px; }
	.ed-stats{ gap:24px; }
	.ed-stat b{ font-size:30px; }

	/* USP 2x2 with clean borders */
	.usp-grid{ grid-template-columns:1fr 1fr; }
	.usp-item{ border-right:1px solid var(--line-warm); border-bottom:1px solid var(--line-warm); padding:24px 18px; }
	.usp-item:nth-child(2n){ border-right:none; }
	.usp-item:nth-last-child(-n+2){ border-bottom:none; }

	/* Stats 2x2 */
	.stats-grid{ grid-template-columns:1fr 1fr; gap:28px 16px; }

	/* WhatsApp stack */
	.whatsapp-inner{ flex-direction:column; align-items:flex-start; gap:20px; }
	.whatsapp-inner h2{ font-size:24px; }
	.whatsapp-btn{ width:100%; justify-content:center; }
}

/* --- Tablet (641–860): 3-up arrivals, balanced --- */
@media(max-width:860px) and (min-width:641px){
	.drop-grid{ grid-template-columns:repeat(3,1fr) !important; gap:18px !important; }
	.drop-grid .card.big{ grid-column:auto !important; grid-row:auto !important; }
	.drop-grid .card.big .card-img{ aspect-ratio:3/4 !important; min-height:0 !important; height:auto !important; }
	.hero-split-inner{ grid-template-columns:1fr; gap:32px; }
}

/* =========================================================================
   v6.0 CART PAGE — branded empty state + product carousel
   ====================================================================== */

/* --- Page + empty cart layout --- */
.woocommerce-cart .page-content,
.woocommerce-cart .page-title{ text-align:left; }
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message,
.woocommerce .cart-empty{
	text-align:center !important;
	font-family:var(--display) !important;
	font-weight:700 !important;
	font-size:20px !important;
	letter-spacing:.04em !important;
	text-transform:uppercase !important;
	color:var(--ink-text) !important;
	margin:20px 0 !important;
	padding:0 !important;
	border:none !important;
}

/* Kill the default sad-face illustration block border/box */
.woocommerce-cart .cart-empty::before,
.wc-empty-cart-message::before{ display:none !important; }

/* Empty cart wrapper: give it a clean centered card look */
.woocommerce-cart .woocommerce{ max-width:100%; }
.cart-empty-wrap{
	text-align:center; padding:50px 20px 10px;
}
.cart-empty-wrap .cart-emoji{
	font-size:56px; line-height:1; margin-bottom:18px; color:var(--flame);
}
.return-to-shop{ text-align:center; margin:24px 0 10px; }
.return-to-shop .button,
.woocommerce .return-to-shop .button{
	display:inline-block !important;
	background:var(--flame) !important; color:#fff !important;
	font-family:var(--display) !important; font-weight:700 !important;
	font-size:14px !important; letter-spacing:.06em !important; text-transform:uppercase !important;
	padding:15px 34px !important; border-radius:0 !important;
}
.return-to-shop .button:hover{ background:var(--ink-text) !important; }

/* --- "NEW IN STORE" heading --- */
.woocommerce-cart h2,
.cart-recommend-title{
	font-family:var(--display) !important; font-weight:700 !important;
	text-transform:uppercase !important; letter-spacing:-.01em !important;
	font-size:clamp(24px,3vw,36px) !important; color:var(--ink-text) !important;
	text-align:center !important; margin:50px 0 28px !important;
}

/* =========================================================================
   PRODUCT CAROUSEL (empty-cart recommendations, cross-sells)
   ====================================================================== */
.woocommerce-cart .cross-sells ul.products,
.woocommerce-cart .cart-empty ~ .products ul.products,
.cart-carousel ul.products,
.woocommerce-cart section.products ul.products{
	display:flex !important;
	gap:20px !important;
	overflow-x:auto !important;
	scroll-snap-type:x mandatory !important;
	scroll-behavior:smooth !important;
	padding:4px 4px 20px !important;
	margin:0 !important;
	list-style:none !important;
	grid-template-columns:none !important;
	scrollbar-width:thin;
	scrollbar-color:var(--flame) var(--cream-2);
}
.woocommerce-cart .cross-sells ul.products::-webkit-scrollbar,
.cart-carousel ul.products::-webkit-scrollbar,
.woocommerce-cart section.products ul.products::-webkit-scrollbar{ height:6px; }
.woocommerce-cart .cross-sells ul.products::-webkit-scrollbar-thumb,
.cart-carousel ul.products::-webkit-scrollbar-thumb,
.woocommerce-cart section.products ul.products::-webkit-scrollbar-thumb{ background:var(--flame); border-radius:3px; }

/* Each product card in the carousel */
.woocommerce-cart ul.products li.product,
.cart-carousel ul.products li.product{
	flex:0 0 260px !important;
	scroll-snap-align:start !important;
	width:260px !important;
	margin:0 !important;
	float:none !important;
	text-align:left !important;
	background:#fff;
	border:1px solid var(--line-warm);
	padding:0 0 18px !important;
}
.woocommerce-cart ul.products li.product a img{
	width:100% !important; aspect-ratio:3/4 !important; object-fit:cover !important; margin:0 0 14px !important;
}
.woocommerce-cart ul.products li.product .woocommerce-loop-product__title{
	font-family:var(--display) !important; font-weight:700 !important; font-size:14px !important;
	text-transform:uppercase !important; color:var(--ink-text) !important;
	padding:0 16px !important; margin:0 0 6px !important; line-height:1.2 !important;
}
.woocommerce-cart ul.products li.product .price{
	padding:0 16px !important; font-size:14px !important; font-weight:700 !important; color:var(--ink-text) !important;
	display:block; margin-bottom:12px;
}
.woocommerce-cart ul.products li.product .price del{ color:#9a9488 !important; font-weight:400 !important; margin-right:6px; }
.woocommerce-cart ul.products li.product .price ins{ color:var(--flame) !important; text-decoration:none !important; }
.woocommerce-cart ul.products li.product .onsale{
	position:absolute !important; top:12px !important; left:12px !important; right:auto !important;
	background:var(--flame) !important; color:#fff !important; border-radius:0 !important;
	font-family:var(--display) !important; font-weight:700 !important; font-size:10px !important;
	letter-spacing:.1em !important; padding:5px 10px !important; min-height:0 !important; min-width:0 !important; margin:0 !important;
}

/* Select options / Add button — square, branded */
.woocommerce-cart ul.products li.product .button,
.woocommerce-cart ul.products li.product .add_to_cart_button{
	display:block !important;
	margin:0 16px !important;
	background:var(--ink-text) !important; color:#fff !important;
	border-radius:0 !important;
	font-family:var(--display) !important; font-weight:700 !important; font-size:12px !important;
	letter-spacing:.06em !important; text-transform:uppercase !important;
	padding:12px !important; text-align:center !important;
}
.woocommerce-cart ul.products li.product .button:hover{ background:var(--flame) !important; }

/* Carousel nav arrows */
.cart-carousel-nav{ text-align:center; margin-top:14px; }
.cart-carousel-nav button{
	background:var(--ink-text); color:#fff; border:none; width:44px; height:44px;
	font-size:18px; cursor:pointer; margin:0 5px; transition:background .2s;
}
.cart-carousel-nav button:hover:not(:disabled){ background:var(--flame); }
.cart-carousel-nav button:disabled{ opacity:.3; cursor:default; }

/* --- FILLED cart table styling (when items exist) --- */
.woocommerce-cart table.cart img{ width:80px; }
.woocommerce-cart .cart-collaterals .cart_totals{ background:var(--ink-text); color:#fff; padding:30px; }

@media(max-width:640px){
	.woocommerce-cart ul.products li.product,
	.cart-carousel ul.products li.product{ flex:0 0 220px !important; width:220px !important; }
	.woocommerce-cart h2,.cart-recommend-title{ font-size:24px !important; margin:36px 0 20px !important; }
}

/* =========================================================================
   v6.1 QUICK-ADD MODAL (size selection popup from shop cards)
   ====================================================================== */

/* Shop card button always reads "Add to Cart" — already styled via .shop-atc */

.qa-overlay{
	position:fixed; inset:0; z-index:400;
	background:rgba(14,14,14,.6);
	display:flex; align-items:center; justify-content:center;
	padding:20px;
}
.qa-overlay[hidden]{ display:none; }
.qa-box{
	background:var(--cream-bg); color:var(--ink-text);
	width:100%; max-width:760px; max-height:90vh; overflow-y:auto;
	position:relative; padding:0;
	box-shadow:0 30px 80px rgba(0,0,0,.4);
}
.qa-close{
	position:absolute; top:14px; right:16px; z-index:2;
	background:none; border:none; font-size:30px; line-height:1; color:var(--ink-text); cursor:pointer;
}
.qa-close:hover{ color:var(--flame); }
.qa-loading{ padding:60px 20px; text-align:center; color:var(--ink-soft); font-size:15px; }

/* Loaded content: image left, info right */
.qa-content{ display:grid; grid-template-columns:1fr 1fr; gap:0; }
.qa-media{ background:var(--cream-2); }
.qa-media img{ width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:3/4; }
.qa-info{ padding:34px 30px; }
.qa-title{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:22px; line-height:1.05; margin:0 0 12px; color:var(--ink-text); }
.qa-price{ font-size:20px; font-weight:700; color:var(--ink-text); margin-bottom:20px; }
.qa-price del{ color:#9a9488; font-weight:400; margin-right:8px; }
.qa-price ins{ color:var(--flame); text-decoration:none; }

/* Variation form inside modal */
.qa-info .variations{ margin-bottom:16px; }
.qa-info .variations label{ font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-text); }
.qa-info .variations select{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.qa-info .single_add_to_cart_button,
.qa-info .single_variation_wrap .button{
	width:100% !important; background:var(--flame) !important; color:#fff !important;
	border:none; border-radius:0; padding:16px !important;
	font-family:var(--display); font-weight:700; font-size:15px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer;
}
.qa-info .single_add_to_cart_button:hover{ background:var(--ink-text) !important; }
.qa-info .quantity{ margin-bottom:14px; }
.qa-info .quantity .qty{ width:70px; min-height:50px; background:#fff; border:1px solid var(--line-warm); text-align:center; }
.qa-info .woocommerce-variation-price{ margin-bottom:14px; font-size:18px; font-weight:700; }
.qa-full-link{ display:inline-block; margin-top:16px; font-size:13px; color:var(--flame); text-transform:uppercase; letter-spacing:.06em; font-weight:700; }

@media(max-width:640px){
	.qa-overlay{ padding:0; align-items:flex-end; }
	.qa-box{ max-width:100%; max-height:92vh; }
	.qa-content{ grid-template-columns:1fr; }
	.qa-media img{ aspect-ratio:16/10; }
	.qa-info{ padding:24px 20px 30px; }
}

/* =========================================================================
   v6.2 GLOBAL LOOP BUTTON — style the filtered Add to Cart everywhere
   (shop archive, [products] shortcode, category pages, related)
   ====================================================================== */
.woocommerce ul.products li.product .shop-atc,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button,
ul.products li.product .shop-atc{
	display:block !important;
	width:100% !important;
	text-align:center !important;
	margin:14px 0 0 !important;
	background:#fff !important;
	color:var(--ink-text) !important;
	border:1px solid var(--line-warm) !important;
	border-radius:0 !important;
	font-family:var(--display) !important;
	font-weight:700 !important;
	font-size:13px !important;
	letter-spacing:.06em !important;
	text-transform:uppercase !important;
	padding:14px !important;
	cursor:pointer !important;
	transition:background .2s,border-color .2s,color .2s !important;
}
.woocommerce ul.products li.product .shop-atc:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product button.button:hover{
	background:var(--flame) !important; border-color:var(--flame) !important; color:#fff !important;
}
.woocommerce ul.products li.product .shop-atc.is-disabled{
	opacity:.4 !important; cursor:default !important; pointer-events:none !important; background:var(--cream-2) !important;
}
/* Remove WooCommerce's "added to cart" tick link that appears after add */
.woocommerce ul.products li.product .added_to_cart{
	display:block !important; text-align:center; margin-top:8px; font-size:12px;
	text-transform:uppercase; letter-spacing:.06em; color:var(--flame); font-weight:700;
}

/* =========================================================================
   v6.4 QUICK-ADD POPUP: error message + adding state
   ====================================================================== */
.qa-error{
	background:#fbe6e2; color:#7a1f12; border-left:4px solid #c0392b;
	padding:10px 14px; font-size:13px; margin-bottom:14px;
}
.qa-info .single_add_to_cart_button{ transition:background .2s; }

/* =========================================================================
   v6.6 CART PAGE BRAND COLORS
   Primary actions (Proceed to Checkout, Apply) use flame orange, not grey.
   ====================================================================== */

/* Proceed to Checkout — the primary CTA, solid flame */
.woocommerce .cart_totals .checkout-button,
.woocommerce a.checkout-button,
.wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .checkout-button{
	background:var(--flame) !important;
	color:#fff !important;
	border:none !important;
	border-radius:0 !important;
	font-family:var(--display) !important;
	font-weight:700 !important;
	font-size:15px !important;
	letter-spacing:.06em !important;
	text-transform:uppercase !important;
	padding:18px 30px !important;
	width:100%;
	text-align:center;
	display:block;
	transition:background .2s !important;
}
.woocommerce .cart_totals .checkout-button:hover,
.woocommerce a.checkout-button:hover,
.woocommerce-cart .checkout-button:hover{
	background:#fff !important; color:var(--ink-text) !important;
}

/* Apply coupon button — flame */
.woocommerce .coupon .button,
.woocommerce button[name="apply_coupon"],
.woocommerce-cart .coupon button{
	background:var(--flame) !important;
	color:#fff !important;
	border:none !important;
	border-radius:0 !important;
	font-family:var(--display) !important;
	font-weight:700 !important;
	text-transform:uppercase !important;
	letter-spacing:.04em !important;
}
.woocommerce .coupon .button:hover{ background:var(--ink-text) !important; color:#fff !important; }

/* Update cart button — secondary, dark→flame */
.woocommerce button[name="update_cart"]{
	background:var(--ink-text) !important; color:#fff !important;
	border-radius:0 !important; font-family:var(--display) !important;
	font-weight:700 !important; text-transform:uppercase !important;
}
.woocommerce button[name="update_cart"]:hover{ background:var(--flame) !important; }
.woocommerce button[name="update_cart"]:disabled{ opacity:.4 !important; }

/* Cart totals box: keep it clean on cream, flame accents */
.woocommerce-cart .cart_totals,
.woocommerce .cart-collaterals .cart_totals{
	background:transparent !important;
	color:var(--ink-text) !important;
	padding:0 !important;
	border:none !important;
}
.woocommerce-cart .cart_totals h2{
	color:var(--ink-text) !important;
	font-family:var(--display) !important;
	font-weight:700 !important;
	text-transform:uppercase !important;
	font-size:28px !important;
	margin-bottom:24px !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{
	color:var(--ink-text) !important;
	border-bottom:1px solid var(--line-warm) !important;
	background:transparent !important;
	padding:14px 0 !important;
}
.woocommerce-cart .cart_totals .order-total .amount{ color:var(--flame) !important; font-size:20px; }

/* Coupon input on cream */
.woocommerce-cart .coupon input[type="text"],
.woocommerce-cart #coupon_code{
	background:#fff !important; color:var(--ink-text) !important;
	border:1px solid var(--line-warm) !important; border-radius:0 !important;
	padding:13px !important;
}

/* Product links + prices in cart table → brand colors */
.woocommerce-cart table.cart .product-name a{ color:var(--ink-text) !important; font-weight:600; }
.woocommerce-cart table.cart .product-name a:hover{ color:var(--flame) !important; }
.woocommerce-cart table.cart .amount{ color:var(--ink-text) !important; }
.woocommerce-cart table.cart .product-remove a{ color:var(--flame) !important; }

/* Quantity +/- in cart */
.woocommerce-cart .quantity input.qty{
	background:#fff !important; border:1px solid var(--line-warm) !important; color:var(--ink-text) !important;
}

/* "Save ₹600" badge → flame */
.woocommerce-cart .cart-item-save,
.woocommerce-cart .savings,
.woocommerce-cart ins{ color:var(--flame) !important; }

/* Free shipping row */
.woocommerce-cart .cart_totals .shipping .amount,
.woocommerce-cart .woocommerce-shipping-methods{ color:var(--ink-text) !important; }

/* =========================================================================
   v6.7 REVIEWS restyle (match reference) + mobile category cards
   ====================================================================== */

/* White cards, gold stars, name left / verified right */
.review{
	background:#fff !important;
	border:1px solid var(--line-warm) !important;
	padding:26px !important;
	display:flex; flex-direction:column;
}
.review-stars{
	color:#f0b429 !important;   /* gold, like the reference */
	font-size:15px !important; letter-spacing:2px !important; margin-bottom:14px !important;
}
.review p{
	font-size:15px; line-height:1.7; color:#2a2724; margin:0 0 18px; flex:1;
}
.review-foot{
	display:flex; align-items:center; justify-content:space-between;
	border-top:1px solid var(--line-warm); padding-top:14px; gap:12px;
}
.review-by{
	font-size:12px !important; font-weight:700 !important; letter-spacing:.06em !important;
	text-transform:uppercase !important; color:var(--ink-soft) !important;
}
.review-verified{
	font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
	color:var(--flame); white-space:nowrap;
}

/* Reviews section eyebrow/heading spacing to match */
.reviews-sec .sec-head h2{ margin-bottom:6px; }

@media(max-width:860px){
	.reviews-grid{ grid-template-columns:1fr !important; gap:16px !important; }
	.review{ padding:22px !important; }
}

/* =========================================================================
   SHOP BY STYLE / category cards on mobile — fix the giant empty boxes
   The tall empty cards happen when a category has no image set. Cap height
   and show a branded placeholder so it doesn't blow up the page.
   ====================================================================== */
@media(max-width:640px){
	.vibe,
	.category-card{
		aspect-ratio:16/10 !important;
		min-height:0 !important;
		max-height:240px !important;
	}
	.vibe img,
	.category-card img{ object-fit:cover !important; }
	/* If no image, give a subtle cream fill instead of a huge blank */
	.vibe:not(:has(img)),
	.category-card:not(:has(img)){
		background:var(--cream-2) !important;
		display:flex; align-items:center; justify-content:center;
	}
}

/* =========================================================================
   v6.8 SHOP BY STYLE — 2-up on mobile (was giant full-width boxes)
   ====================================================================== */
@media(max-width:640px){
	.style-grid{ grid-template-columns:1fr 1fr !important; gap:12px !important; }
	.style-card-img{ aspect-ratio:3/4 !important; max-height:none !important; }
	.style-card-img-fallback{ padding:14px !important; }
	.style-card-img-fallback span{ font-size:14px !important; }
	.style-card-tag{ font-size:9px !important; padding:4px 8px !important; top:10px !important; left:10px !important; }
	.style-card-body{ padding:12px 12px 16px !important; }
	.style-card-body h3{ font-size:13px !important; margin-bottom:5px !important; }
	.style-card-count{ font-size:11px !important; }

	/* The category pills (OVERSIZED T-SHIRT / CLASSIC / NEW ARRIVALS) tighter */
	.style-filters,.style-pills{ gap:8px !important; }
}

/* =========================================================================
   v6.9 SHOP/LOOP CARDS match homepage pcard style
   (OFF badge, Save ₹X, clean white cards, Add button)
   ====================================================================== */

/* White card container */
.woocommerce ul.products li.product{
	background:#fff !important;
	border:1px solid var(--line-warm) !important;
	overflow:hidden !important;
	display:flex !important;
	flex-direction:column !important;
	position:relative !important;
	padding:0 !important;
	text-align:left !important;
}

/* Product image */
.woocommerce ul.products li.product a img{
	margin:0 !important; width:100% !important; aspect-ratio:4/5 !important; object-fit:cover !important;
	background:var(--cream-2) !important;
}

/* OFF badge (our custom one), top-right on image */
.fulloat-loop-off{
	position:absolute; top:12px; right:12px; z-index:3;
	background:var(--flame); color:#fff;
	font-family:var(--display); font-weight:700; font-size:11px;
	letter-spacing:.05em; text-transform:uppercase; padding:6px 10px;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-family:var(--display) !important; font-weight:700 !important;
	font-size:14px !important; line-height:1.3 !important; text-transform:none !important;
	color:var(--ink-text) !important; padding:16px 16px 0 !important; margin:0 !important;
}

/* Price */
.woocommerce ul.products li.product .price{
	padding:0 16px !important; margin:8px 0 0 !important;
	font-family:var(--display) !important; font-weight:700 !important; font-size:17px !important;
	color:var(--ink-text) !important; display:block;
}
.woocommerce ul.products li.product .price del{ color:#9a9488 !important; font-weight:400 !important; font-size:13px !important; margin-left:6px; }
.woocommerce ul.products li.product .price ins{ color:var(--ink-text) !important; text-decoration:none !important; }

/* Save line */
.fulloat-loop-save{
	display:block; padding:8px 16px 0; font-size:12px; font-weight:700; color:#2e7d32;
}

/* Button row: push to bottom, "Add +" style */
.woocommerce ul.products li.product .shop-atc,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button{
	margin:12px 16px 16px !important;
	width:calc(100% - 32px) !important;
	background:#fff !important;
	color:var(--ink-text) !important;
	border:1px solid var(--ink) !important;
	font-size:12px !important;
	padding:11px !important;
}
.woocommerce ul.products li.product .shop-atc:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product button.button:hover{
	background:var(--ink) !important; color:#fff !important; border-color:var(--ink) !important;
}

/* Spacer so button sits at bottom consistently */
.woocommerce ul.products li.product{ justify-content:flex-start; }
.woocommerce ul.products li.product .shop-atc,
.woocommerce ul.products li.product .button{ margin-top:auto !important; }

@media(max-width:640px){
	.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:13px !important; padding:12px 12px 0 !important; }
	.woocommerce ul.products li.product .price{ padding:0 12px !important; font-size:15px !important; }
	.fulloat-loop-save{ padding:6px 12px 0; font-size:11px; }
	.woocommerce ul.products li.product .shop-atc,
	.woocommerce ul.products li.product .button{ margin:10px 12px 12px !important; width:calc(100% - 24px) !important; }
	.fulloat-loop-off{ font-size:9px; padding:4px 8px; top:10px; right:10px; }
}

/* =========================================================================
   v7.1 SHOP BY STYLE — remove promo card leftovers + fix mobile overlap
   ====================================================================== */
/* The style-promo card is removed from markup; hide any stray rule */
.style-promo{ display:none !important; }

/* Mobile: clean 2-column, no overlap, proper heights */
@media(max-width:640px){
	.style-grid{
		display:grid !important;
		grid-template-columns:1fr 1fr !important;
		gap:12px !important;
		align-items:start !important;
	}
	.style-card{
		display:flex !important; flex-direction:column !important;
		height:auto !important; position:relative !important; float:none !important;
	}
	.style-card-img{ aspect-ratio:3/4 !important; max-height:none !important; }
	.style-card-img-fallback span{ font-size:13px !important; }
	.style-card-body{ padding:12px !important; }
	.style-card-body h3{ font-size:13px !important; }
	.style-card-count{ font-size:11px !important; }
}

/* Ensure the trust strip below sits clear (was overlapping in the screenshot) */
.style-trust{ clear:both; }
@media(max-width:640px){
	.style-trust{ flex-wrap:wrap; gap:16px !important; margin-top:20px !important; }
}

/* =========================================================================
   v7.2 BIGGER QUICK-ADD POPUP + SIZE GUIDE + MOBILE PADDING + STYLE CARDS
   ====================================================================== */

/* --- Bigger, better-aligned popup (like Veirdo reference) --- */
.qa-box{ max-width:920px !important; }
.qa-content{ grid-template-columns:1fr 1.1fr !important; }
.qa-media img{ aspect-ratio:3/4 !important; }
.qa-info{ padding:40px 38px !important; display:flex; flex-direction:column; }
.qa-title{ font-size:24px !important; margin-bottom:14px !important; }
.qa-price{ font-size:22px !important; margin-bottom:8px !important; }

/* Size guide link in popup (top-right of size area) */
.qa-size-guide{
	display:inline-block; float:right;
	font-family:var(--body); font-weight:700; font-size:12px;
	letter-spacing:.06em; text-transform:uppercase; color:var(--flame);
	text-decoration:underline; text-underline-offset:3px; margin-top:8px;
}
.qa-size-guide:hover{ color:var(--ink-text); }

/* More breathing room in the variation area */
.qa-info .variations{ margin:18px 0 16px !important; }
.qa-info .size-swatches{ gap:10px; margin-top:8px; }
.qa-info .swatch{ min-width:52px; height:52px; }
.qa-info .quantity{ margin-bottom:16px; }
.qa-info .single_add_to_cart_button{ padding:17px !important; font-size:15px !important; }

@media(max-width:860px){
	.qa-content{ grid-template-columns:1fr !important; }
	.qa-media img{ aspect-ratio:16/11 !important; }
	.qa-info{ padding:26px 22px 30px !important; }
	.qa-box{ max-width:100% !important; max-height:94vh !important; }
}

/* =========================================================================
   MOBILE SIDE PADDING — content shouldn't touch screen edges
   ====================================================================== */
@media(max-width:640px){
	.wrap,.container{ padding-left:18px !important; padding-right:18px !important; }
	/* Sections that go full-bleed still get inner breathing room */
	.hero-split .wrap,
	.sec.wrap,
	.editorial .wrap,
	.stats-band .wrap,
	.reviews-sec,
	.whatsapp-cta .wrap,
	.style-section .wrap{ padding-left:18px !important; padding-right:18px !important; }
}

/* =========================================================================
   SHOP BY STYLE mobile cards — clean 2-col, proper sizing
   ====================================================================== */
@media(max-width:640px){
	.style-grid{
		display:grid !important;
		grid-template-columns:1fr 1fr !important;
		gap:12px !important;
		align-items:stretch !important;
	}
	.style-card{ width:auto !important; margin:0 !important; }
	.style-card-img{ aspect-ratio:1/1 !important; }
	.style-card-tag{ font-size:9px !important; padding:4px 8px !important; }
	.style-card-body{ padding:10px 12px 14px !important; }
	.style-card-body h3{ font-size:12px !important; margin-bottom:4px !important; }
	.style-card-count{ font-size:10px !important; }
	.style-tabs{ flex-wrap:wrap; gap:8px !important; justify-content:center; }
	.style-tab{ font-size:11px !important; padding:9px 14px !important; }
}

/* =========================================================================
   v7.3 POPUP OFF BADGE + STANDALONE SIZE GUIDE MODAL
   ====================================================================== */

/* OFF badge on popup image */
.qa-media{ position:relative; }
.qa-off-badge{
	position:absolute; top:14px; left:14px; z-index:3;
	background:var(--flame); color:#fff;
	font-family:var(--display); font-weight:700; font-size:12px;
	letter-spacing:.05em; text-transform:uppercase; padding:6px 11px;
}

/* Size guide button in popup (not a link that redirects) */
.qa-size-guide{
	background:none; border:none; cursor:pointer;
	float:right; margin-top:6px;
	font-family:var(--body); font-weight:700; font-size:12px;
	letter-spacing:.06em; text-transform:uppercase; color:var(--flame);
	text-decoration:underline; text-underline-offset:3px;
}
.qa-size-guide:hover{ color:var(--ink-text); }

/* Standalone size guide modal */
.sg-overlay{
	position:fixed; inset:0; z-index:500;
	background:rgba(14,14,14,.62);
	display:flex; align-items:center; justify-content:center; padding:20px;
}
.sg-overlay[hidden]{ display:none; }
.sg-box{
	background:var(--cream-bg); color:var(--ink-text);
	max-width:440px; width:100%; padding:34px 30px 28px; position:relative;
	border:1px solid var(--line-warm); box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.sg-close{
	position:absolute; top:14px; right:16px; background:none; border:none;
	font-size:28px; line-height:1; color:var(--ink-text); cursor:pointer;
}
.sg-close:hover{ color:var(--flame); }
.sg-box h3{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:24px; margin:0 0 10px; }
.sg-note{ font-size:13px; color:var(--ink-soft); margin:0 0 18px; }
.sg-table{ width:100%; border-collapse:collapse; margin-bottom:16px; }
.sg-table th{ background:var(--ink-text); color:#fff; font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.05em; text-transform:uppercase; padding:11px 8px; text-align:center; }
.sg-table td{ padding:11px 8px; text-align:center; font-size:14px; font-weight:700; border-bottom:1px solid var(--line-warm); }
.sg-table tbody tr:nth-child(even){ background:var(--cream-2); }
.sg-tip{ font-size:12px; color:var(--ink-soft); font-style:italic; margin:12px 0 0; }

/* =========================================================================
   v7.4 POPUP prepaid + image fix + alignment; mobile button; footer gap
   ====================================================================== */

/* --- Popup image: fill the media panel properly --- */
.qa-media{ background:var(--cream-2); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.qa-media img{ width:100% !important; height:100% !important; object-fit:cover !important; }
@media(min-width:861px){
	.qa-content{ align-items:stretch; }
	.qa-media{ min-height:100%; }
}

/* --- Popup prepaid drop strip --- */
.qa-prepaid{
	display:flex; align-items:center; gap:10px; flex-wrap:wrap;
	border:1px dashed var(--flame); padding:10px 12px; margin:12px 0 14px; font-size:13px;
}
.qa-prepaid-badge{
	background:var(--flame); color:#fff; font-family:var(--display); font-weight:700;
	font-size:10px; letter-spacing:.08em; text-transform:uppercase; padding:4px 9px; flex:0 0 auto;
}
.qa-prepaid-text{ color:#3a3733; }
.qa-prepaid-text b{ color:var(--flame); }

/* --- Popup alignment polish --- */
.qa-info{ justify-content:flex-start; }
.qa-info .qa-price{ margin-bottom:6px !important; }
.qa-size-guide{ clear:both; }
.qa-info .variations{ clear:both; }

/* =========================================================================
   MOBILE: shop cards use compact "ADD +" (not full-width button)
   ====================================================================== */
@media(max-width:640px){
	/* The archive cards now use pcard-bottom with .pcard-add — ensure it shows compact */
	.shop-grid .pcard-bottom,
	.products-grid .pcard-bottom{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; }
	.shop-grid .pcard-add,
	.products-grid .pcard-add{
		flex:0 0 auto !important; width:auto !important;
		font-size:11px !important; padding:7px 12px !important;
		border:1px solid var(--ink) !important; background:transparent !important; color:var(--ink-text) !important;
	}
	.shop-grid .pcard-save,
	.products-grid .pcard-save{ font-size:11px !important; }
	/* hide any leftover full-width shop-atc on archive */
	.shop-grid .shop-atc{ display:none !important; }
}

/* =========================================================================
   FOOTER GAP — space between products and footer
   ====================================================================== */
.shop-page,.woocommerce-page .products-grid{ padding-bottom:70px !important; }
.ft{ margin-top:0; }
@media(max-width:640px){
	.shop-page{ padding-bottom:40px !important; }
	/* gap under the last product row before footer */
	.shop-grid,.products-grid{ margin-bottom:30px !important; }
}

/* =========================================================================
   v7.5 PRODUCT GALLERY FIX — single main image + thumbnails (no stacking)
   The flexslider sometimes doesn't init (images stack full-size). Force a
   clean single-image display with the rest as a thumbnail row via CSS.
   ====================================================================== */

/* The gallery wrapper holds all images; show only the first at full size */
.single-product .woocommerce-product-gallery{ position:relative; }
.single-product .woocommerce-product-gallery__wrapper{
	display:flex !important;
	flex-wrap:wrap !important;
	gap:12px !important;
}
/* First (main) image: full width */
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child{
	flex:0 0 100% !important;
	width:100% !important;
	order:0;
}
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child img{
	width:100% !important; height:auto !important; aspect-ratio:4/5; object-fit:cover;
	background:var(--cream-2);
}
/* Remaining images: small thumbnails in a row below */
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:not(:first-child){
	flex:0 0 80px !important;
	width:80px !important;
	order:1;
}
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:not(:first-child) img{
	width:80px !important; height:100px !important; object-fit:cover;
	border:1px solid var(--line-warm); cursor:pointer; opacity:.75; transition:opacity .2s, border-color .2s;
}
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:not(:first-child) img:hover{
	opacity:1; border-color:var(--flame);
}

/* If flexslider DID init, hide the duplicate stacked images */
.single-product .flex-viewport .woocommerce-product-gallery__image{ flex:0 0 100% !important; width:100% !important; }

/* =========================================================================
   v7.5 RELATED PRODUCTS — fix empty card + match card style + Add button
   ====================================================================== */
/* Remove the stray empty grid cell (WooCommerce sometimes outputs an empty li) */
.related-band ul.products li.product:empty{ display:none !important; }
.woocommerce .related ul.products li.product:empty{ display:none !important; }

/* Match the pcard look: white card, padding, badge */
.related-band ul.products li.product,
.woocommerce .related ul.products li.product{
	background:#fff !important;
	border:1px solid var(--line-warm) !important;
	display:flex !important;
	flex-direction:column !important;
	overflow:hidden !important;
	padding:0 !important;
}
.related-band ul.products li.product a img,
.woocommerce .related ul.products li.product a img{
	aspect-ratio:4/5 !important; margin:0 !important;
}
.related-band ul.products li.product .woocommerce-loop-product__title,
.woocommerce .related ul.products li.product .woocommerce-loop-product__title{
	padding:14px 14px 0 !important; text-transform:none !important; font-size:14px !important;
}
.related-band ul.products li.product .price,
.woocommerce .related ul.products li.product .price{ padding:8px 14px 0 !important; }
.related-band .fulloat-loop-save,
.woocommerce .related .fulloat-loop-save{ padding:6px 14px 0 !important; }
.related-band .fulloat-loop-off,
.woocommerce .related .fulloat-loop-off{ top:12px; right:12px; left:auto; }

/* Show the button (was hidden) as compact, at the bottom */
.related-band ul.products li.product .button,
.woocommerce .related ul.products li.product .button,
.related-band ul.products li.product .shop-atc,
.woocommerce .related ul.products li.product .shop-atc{
	display:block !important;
	margin:12px 14px 14px !important;
	width:calc(100% - 28px) !important;
	background:#fff !important; color:var(--ink-text) !important;
	border:1px solid var(--ink) !important; border-radius:0 !important;
	font-family:var(--display) !important; font-weight:700 !important; font-size:12px !important;
	letter-spacing:.05em !important; text-transform:uppercase !important; padding:11px !important;
	text-align:center !important; margin-top:auto !important;
}
.related-band ul.products li.product .button:hover,
.woocommerce .related ul.products li.product .button:hover{
	background:var(--ink) !important; color:#fff !important;
}
/* Hide WooCommerce's "multiple variants" helper text under the button */
.related-band ul.products li.product .button + *,
.woocommerce .related .wc-forward + small,
.related-band ul.products li.product small{ display:none !important; }

@media(max-width:860px){
	.related-band ul.products,.woocommerce .related ul.products{ grid-template-columns:repeat(2,1fr) !important; }
}
@media(max-width:480px){
	.related-band ul.products,.woocommerce .related ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:14px !important; }
}

/* =========================================================================
   v7.5 PRODUCT PAGE — balanced layout, cap image size
   ====================================================================== */
.product-layout .product-image{ max-width:520px; }
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child img{
	max-height:640px;
}
@media(max-width:860px){
	.product-layout .product-image{ max-width:100%; }
}

/* =========================================================================
   v7.6 RELATED FLEX GRID (fix empty cell) + THUMBNAIL CLEANUP
   ====================================================================== */

/* --- RELATED PRODUCTS: use flex, not grid, to kill the empty first cell --- */
.related-band ul.products,
.woocommerce .related ul.products,
.woocommerce .upsells ul.products{
	display:flex !important;
	flex-wrap:wrap !important;
	gap:22px !important;
	grid-template-columns:none !important;
	justify-content:flex-start !important;
}
.related-band ul.products li.product,
.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product{
	flex:0 0 calc(25% - 17px) !important;
	max-width:calc(25% - 17px) !important;
	width:calc(25% - 17px) !important;
}
/* Kill WooCommerce's first/last margin quirks */
.woocommerce .related ul.products li.first,
.woocommerce .related ul.products li.last{ margin:0 !important; clear:none !important; }

@media(max-width:860px){
	.related-band ul.products li.product,
	.woocommerce .related ul.products li.product{ flex:0 0 calc(50% - 11px) !important; max-width:calc(50% - 11px) !important; width:calc(50% - 11px) !important; }
}
@media(max-width:480px){
	.related-band ul.products,.woocommerce .related ul.products{ gap:14px !important; }
	.related-band ul.products li.product,
	.woocommerce .related ul.products li.product{ flex:0 0 calc(50% - 7px) !important; max-width:calc(50% - 7px) !important; width:calc(50% - 7px) !important; }
}

/* --- THUMBNAILS: clean row, no stray empty box --- */
/* Hide any empty gallery image slot */
.single-product .woocommerce-product-gallery__image:empty{ display:none !important; }
/* Make the thumbnail area a clean flex row below the main image */
.single-product .woocommerce-product-gallery__wrapper{
	display:flex !important; flex-wrap:wrap !important; gap:10px !important; align-items:flex-start !important;
}
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child{
	flex:0 0 100% !important; max-width:100% !important; margin-bottom:4px !important;
}
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:not(:first-child){
	flex:0 0 78px !important; max-width:78px !important; width:78px !important; margin:0 !important;
}
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:not(:first-child) img{
	width:78px !important; height:96px !important; object-fit:cover !important;
}
/* Remove flexslider's cloned/empty control nav that made the stray box */
.single-product .flex-control-nav,
.single-product ol.flex-control-nav{ display:none !important; }

/* =========================================================================
   v7.7 UNIFIED LOOP CARD — pcard style for ALL WooCommerce loops
   (shop, category, related, upsells, shortcodes) via content-product.php
   ====================================================================== */
.woocommerce ul.products li.product.fulloat-loop-card,
ul.products li.product.fulloat-loop-card{
	background:#fff !important;
	border:1px solid var(--line-warm) !important;
	display:flex !important;
	flex-direction:column !important;
	overflow:hidden !important;
	padding:0 !important;
	margin:0 !important;
	list-style:none !important;
	position:relative !important;
	text-align:left !important;
}
.fulloat-loop-card .pcard-link{ display:flex; flex-direction:column; height:100%; text-decoration:none; }
.fulloat-loop-card .pcard-img{ position:relative; aspect-ratio:4/5; background:var(--cream-2); overflow:hidden; }
.fulloat-loop-card .pcard-img img{ width:100% !important; height:100% !important; object-fit:cover !important; margin:0 !important; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.fulloat-loop-card:hover .pcard-img img{ transform:scale(1.05); }
.fulloat-loop-card .pcard-badge{ position:absolute; top:12px; right:12px; z-index:2; background:var(--flame); color:#fff; font-family:var(--display); font-weight:700; font-size:11px; letter-spacing:.05em; text-transform:uppercase; padding:6px 10px; }
.fulloat-loop-card .pcard-badge-dark{ background:var(--ink); }
.fulloat-loop-card .pcard-body{ padding:14px; display:flex; flex-direction:column; gap:8px; flex:1; }
.fulloat-loop-card .pcard-title{ font-family:var(--display); font-weight:700; font-size:14px; line-height:1.3; text-transform:none; color:var(--ink-text); margin:0; }
.fulloat-loop-card .pcard-price-row{ display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.fulloat-loop-card .pcard-price{ font-family:var(--display); font-weight:700; font-size:17px; color:var(--ink-text); }
.fulloat-loop-card .pcard-regular{ font-size:13px; color:#9a9488; text-decoration:line-through; }
.fulloat-loop-card .pcard-bottom{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:4px; }
.fulloat-loop-card .pcard-save{ font-size:12px; font-weight:700; color:#2e7d32; }
.fulloat-loop-card .pcard-add{ display:inline-block; flex-shrink:0; background:transparent; border:1px solid var(--ink); color:var(--ink-text); font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.05em; text-transform:uppercase; padding:8px 14px; cursor:pointer; transition:.2s; }
.fulloat-loop-card .pcard-add:hover{ background:var(--ink); color:#fff; }
.fulloat-loop-card .pcard-add.is-disabled{ opacity:.4; cursor:default; border-color:var(--line-warm); }

/* Kill the OLD WooCommerce loop bits now replaced by our template */
.fulloat-loop-card .woocommerce-loop-product__title,
.fulloat-loop-card > a.woocommerce-LoopProduct-link,
.fulloat-loop-card .button,
.fulloat-loop-card .added_to_cart,
.fulloat-loop-card .onsale,
.fulloat-loop-card small.wc-forward{ display:none !important; }

@media(max-width:640px){
	.fulloat-loop-card .pcard-body{ padding:12px; }
	.fulloat-loop-card .pcard-title{ font-size:13px; }
	.fulloat-loop-card .pcard-price{ font-size:15px; }
	.fulloat-loop-card .pcard-add{ font-size:11px; padding:7px 12px; }
	.fulloat-loop-card .pcard-save{ font-size:11px; }
}

/* =========================================================================
   v7.8 RELATED PRODUCTS — grid for equal heights, no mobile gaps
   ====================================================================== */
.related-band ul.products,
.woocommerce .related ul.products,
.woocommerce .upsells ul.products{
	display:grid !important;
	grid-template-columns:repeat(4,1fr) !important;
	gap:22px !important;
	align-items:stretch !important;
}
.related-band ul.products li.product,
.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product{
	flex:none !important;
	width:auto !important;
	max-width:none !important;
	height:auto !important;
}
.fulloat-loop-card{ height:100%; }

@media(max-width:860px){
	.related-band ul.products,
	.woocommerce .related ul.products,
	.woocommerce .upsells ul.products{
		grid-template-columns:repeat(2,1fr) !important;
		gap:14px !important;
	}
}
@media(max-width:400px){
	.related-band ul.products,
	.woocommerce .related ul.products{
		grid-template-columns:repeat(2,1fr) !important;
		gap:10px !important;
	}
}

/* =========================================================================
   v7.9 SHOP BY STYLE mobile images — ONE authoritative rule
   (supersedes the 4 conflicting .style-card-img aspect-ratio rules above)
   ====================================================================== */
@media(max-width:640px){
	.style-grid{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; align-items:start !important; }
	.style-card{ display:flex !important; flex-direction:column !important; background:#fff !important; border:1px solid var(--line-warm) !important; }

	/* The image must have a real, tall enough box so it actually shows */
	.style-card-img{
		aspect-ratio:3/4 !important;
		min-height:180px !important;
		max-height:none !important;
		width:100% !important;
		overflow:hidden !important;
		position:relative !important;
	}
	.style-card-img img{
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
		display:block !important;
	}
	/* fallback (no image) fills the same box */
	.style-card-img-fallback{
		width:100% !important; height:100% !important;
		min-height:180px !important;
		display:flex !important; align-items:center !important; justify-content:center !important;
	}
	.style-card-img-fallback span{ font-size:14px !important; }
	.style-card-tag{ font-size:9px !important; padding:4px 8px !important; top:8px !important; left:8px !important; z-index:2; }
	.style-card-body{ padding:10px 12px 14px !important; }
	.style-card-body h3{ font-size:13px !important; margin:0 0 4px !important; }
	.style-card-count{ font-size:11px !important; }
}

/* =========================================================================
   v8.0 SHOP BY STYLE mobile — fix card body / trust strip overlap
   ====================================================================== */
@media(max-width:640px){
	/* Ensure the grid and each card have proper flow, no overlap */
	.style-grid{
		display:grid !important;
		grid-template-columns:1fr 1fr !important;
		gap:14px !important;
		margin-bottom:32px !important;
		align-items:start !important;
	}
	.style-card{
		display:flex !important;
		flex-direction:column !important;
		position:relative !important;
		height:auto !important;
		overflow:hidden !important;
	}
	.style-card-body{
		position:relative !important;
		background:#fff !important;
		padding:10px 12px 14px !important;
		z-index:1 !important;
	}

	/* Trust strip: clear separation, no overlap onto cards */
	.style-trust{
		display:flex !important;
		flex-direction:column !important;
		align-items:center !important;
		gap:16px !important;
		margin-top:8px !important;
		padding-top:28px !important;
		border-top:1px solid var(--line-warm) !important;
		clear:both !important;
		position:relative !important;
		z-index:0 !important;
	}
	.style-trust-item{ font-size:12px !important; justify-content:center; }

	/* The whole Shop by Style section needs bottom breathing room */
	.style-section,
	section.style-section{ padding-bottom:36px !important; }
}

/* =========================================================================
   NEXT DROP — homepage teaser for the upcoming, still-hidden product
   ====================================================================== */
.drop-sec{ background:var(--ink); padding:64px 0; overflow:hidden; }
.drop-inner{
	display:grid; grid-template-columns:400px 1fr; gap:48px; align-items:start;
	max-width:900px; margin:0 auto;
}
.drop-media{ position:relative; max-width:400px; margin:0 auto; }
.drop-media::before{
	content:""; position:absolute; inset:-30px; z-index:0;
	border:1.5px dashed var(--flame); border-radius:8px;
	animation:dropFrameSpin 18s linear infinite;
	pointer-events:none;
}
.drop-media-box{
	position:relative; z-index:1; display:block; width:100%;
	aspect-ratio:3/4; min-height:400px;
	overflow:hidden; border-radius:16px; background:var(--ink-2);
}
.drop-media-box img{
	position:absolute !important; inset:0 !important;
	width:100% !important; height:100% !important; max-width:none !important;
	object-fit:cover !important; display:block !important; margin:0 !important;
}
@keyframes dropFrameSpin{
	from{ transform:rotate(0deg); }
	to{ transform:rotate(360deg); }
}
.drop-info{ padding-top:4px; }
.drop-badge{
	position:absolute; top:14px; left:14px; z-index:2;
	display:inline-flex; align-items:center; gap:5px;
	background:var(--caution); color:var(--ink);
	font-family:var(--display); font-weight:700; font-size:11px;
	letter-spacing:.05em; text-transform:uppercase; padding:6px 12px;
	border-radius:5px;
}
.drop-badge-live{ background:#3ecf6e; color:var(--ink); }
.drop-atc-link{ display:inline-block; text-decoration:none; }
.drop-atc{
	display:inline-block; background:var(--flame); color:#fff;
	font-family:var(--display); font-weight:700; font-size:14px; letter-spacing:.03em;
	text-transform:uppercase; padding:14px 28px; border-radius:4px;
	cursor:pointer; transition:opacity .15s ease;
}
.drop-atc:hover{ opacity:.88; }
.drop-atc-disabled{
	background:var(--ash); color:#fff; cursor:not-allowed; opacity:.7;
}
.drop-eyebrow{
	display:block; font-family:var(--display); font-weight:700; font-size:12px;
	letter-spacing:.1em; text-transform:uppercase; color:var(--flame); margin-bottom:10px;
}
.drop-title{
	font-family:var(--display); font-weight:700; text-transform:uppercase;
	font-size:clamp(28px,4vw,42px); color:#fff; line-height:1.05; margin:0 0 10px;
}
.drop-name{
	font-family:var(--display); font-weight:700; text-transform:uppercase;
	font-size:16px; color:#efe9db; margin:0 0 16px; letter-spacing:.01em;
}
.drop-price{ margin-bottom:14px; }
.drop-price-now{ font-family:var(--display); font-weight:700; font-size:22px; color:var(--caution); }
.drop-price-was{ font-family:var(--display); font-size:14px; color:#8a8580; text-decoration:line-through; margin-left:10px; }
.drop-tease{ color:#c9c2b3; font-size:13px; margin:0 0 22px; }
.drop-field{ margin-bottom:20px; }
.drop-field-label{
	display:block; font-family:var(--display); font-weight:700; font-size:11px;
	letter-spacing:.08em; text-transform:uppercase; color:#8a8580; margin-bottom:6px;
}
.drop-field select{
	width:100%; max-width:220px; padding:10px 12px; background:var(--ink-2);
	color:#efe9db; border:1px solid var(--line); font-family:var(--body); font-size:13px;
	opacity:.6; cursor:not-allowed;
}
.drop-countdown{ display:flex; align-items:flex-end; gap:8px; }
.dc-seg{
	display:flex; flex-direction:column; align-items:center; gap:6px;
	background:var(--ink-2); border:1px solid var(--line);
	min-width:60px; padding:12px 10px 10px;
}
.dc-num{
	font-family:var(--display); font-weight:700; font-size:26px; line-height:1;
	color:var(--caution);
}
.dc-label{
	font-family:var(--display); font-weight:700; font-size:9px; letter-spacing:.08em;
	text-transform:uppercase; color:#8a8580;
}
.dc-colon{
	font-family:var(--display); font-weight:700; font-size:22px; color:var(--caution);
	padding-bottom:18px;
}
.drop-countdown-note{ margin:12px 0 0; font-size:11px; color:#8a8580; }

@media(max-width:860px){
	.drop-sec{ padding:44px 0; }
	.drop-inner{ grid-template-columns:1fr; gap:24px; max-width:380px; }
	.drop-media{ max-width:320px; margin:0 auto; }
	.drop-media-box{ min-height:320px; }
	.drop-info{ text-align:center; padding-top:0; }
	.drop-field{ display:flex; flex-direction:column; align-items:center; }
	.drop-field select{ margin:0 auto; }
	.drop-countdown{ justify-content:center; }
}
@media(max-width:640px){
	.drop-title{ font-size:26px; }
	.dc-seg{ min-width:48px; padding:10px 6px 8px; }
	.dc-num{ font-size:20px; }
	.dc-colon{ font-size:18px; padding-bottom:14px; }
	.drop-media::before{ inset:-20px; }
}
/* =========================================================================
   v8.2 CUSTOMER ACCOUNT SYSTEM
   Login / Register / Forgot password / Dashboard / Wishlist.
   Uses the existing design tokens only — no new colours or fonts.
   ====================================================================== */

/* ---------- Shared shell ---------- */
.fl-auth{ max-width:1000px; margin:0 auto; padding:56px 0 80px; }
.fl-auth-narrow{ max-width:520px; }
.fl-auth-head{ text-align:center; margin-bottom:34px; }
.fl-auth-eyebrow{
	display:inline-flex; align-items:center; gap:10px;
	font-family:var(--display); font-weight:700; font-size:12px;
	letter-spacing:.18em; text-transform:uppercase; color:var(--flame); margin-bottom:14px;
}
.fl-auth-eyebrow::before,.fl-auth-eyebrow::after{ content:""; width:26px; height:2px; background:var(--flame); }
.fl-auth-title{
	font-family:var(--display); font-weight:700; text-transform:uppercase;
	font-size:clamp(32px,5vw,54px); line-height:.95; letter-spacing:-.03em;
	color:var(--ink-text); margin:0 0 12px;
}
.fl-auth-sub{ font-size:15px; color:var(--ink-soft); margin:0; line-height:1.6; }

/* ---------- Tabs ---------- */
.fl-auth-tabs{
	display:flex; gap:0; max-width:420px; margin:0 auto 30px;
	border:1px solid var(--line-warm); background:#fff;
}
.fl-auth-tab{
	flex:1; background:transparent; border:none; cursor:pointer;
	padding:15px 10px; font-family:var(--display); font-weight:700;
	font-size:13px; letter-spacing:.08em; text-transform:uppercase;
	color:var(--ink-soft); transition:background .2s,color .2s;
}
.fl-auth-tab:hover{ color:var(--ink-text); }
.fl-auth-tab.is-active{ background:var(--ink); color:#fff; }

/* ---------- Panels ---------- */
.fl-auth-panels{ display:flex; justify-content:center; }
.fl-auth-panel{ display:none; width:100%; max-width:460px; }
.fl-auth-panel.is-active{ display:block; }
.fl-auth-narrow .fl-form{ max-width:100%; }

/* ---------- Google button ---------- */
.fl-google-btn{
	display:flex; align-items:center; justify-content:center; gap:12px;
	width:100%; padding:14px 18px; background:#fff; color:var(--ink-text);
	border:1.5px solid var(--line-warm); font-family:var(--display);
	font-weight:700; font-size:13px; letter-spacing:.04em;
	transition:border-color .2s, box-shadow .2s, transform .12s;
}
.fl-google-btn:hover{ border-color:var(--ink); box-shadow:0 6px 18px rgba(0,0,0,.07); transform:translateY(-1px); color:var(--ink-text); }
.fl-google-btn svg{ flex:0 0 auto; }

.fl-auth-or{
	display:flex; align-items:center; gap:14px; margin:22px 0;
	font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);
}
.fl-auth-or::before,.fl-auth-or::after{ content:""; flex:1; height:1px; background:var(--line-warm); }

/* ---------- Forms ---------- */
.fl-form{ background:#fff; border:1px solid var(--line-warm); padding:28px 26px 30px; }
.fl-field{ margin:0 0 18px; display:block; }
.fl-field label{
	display:block; margin-bottom:8px;
	font-family:var(--display); font-weight:700; font-size:12px;
	letter-spacing:.06em; text-transform:uppercase; color:var(--ink-text);
}
.fl-field .req{ color:var(--flame); }
.fl-input{
	width:100%; padding:14px 15px; background:#fff; color:var(--ink-text);
	border:1px solid var(--line-warm); border-radius:0;
	font-family:var(--body); font-size:15px; transition:border-color .2s, box-shadow .2s;
}
.fl-input:focus{ outline:none; border-color:var(--flame); box-shadow:0 0 0 3px rgba(255,77,28,.12); }
.fl-hint{ display:block; margin-top:7px; font-size:12px; color:var(--ink-soft); }

.fl-pass-wrap{ position:relative; display:block; }
.fl-pass-wrap .fl-input{ padding-right:48px; }
.fl-pass-toggle{
	position:absolute; right:6px; top:50%; transform:translateY(-50%);
	background:none; border:none; cursor:pointer; padding:8px;
	color:var(--ink-soft); line-height:0;
}
.fl-pass-toggle:hover{ color:var(--flame); }
.fl-pass-toggle svg{ width:19px; height:19px; }

.fl-form-row{
	display:flex; align-items:center; justify-content:space-between;
	gap:14px; flex-wrap:wrap; margin:0 0 20px;
}
.fl-check{ display:inline-flex; align-items:center; gap:9px; font-size:13px; color:var(--ink-soft); cursor:pointer; }
.fl-check input{ width:16px; height:16px; accent-color:var(--flame); }
.fl-link{
	font-size:13px; font-weight:700; color:var(--flame);
	text-decoration:underline; text-underline-offset:3px;
}
.fl-link:hover{ color:var(--ink-text); }

.fl-legal{ font-size:12px; line-height:1.7; color:var(--ink-soft); margin:0 0 18px; }
.fl-legal a{ color:var(--flame); text-decoration:underline; }
.fl-back{ text-align:center; margin:18px 0 0; }

/* ---------- Buttons ---------- */
.fl-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	width:100%; padding:16px 26px; border:none; cursor:pointer;
	font-family:var(--display); font-weight:700; font-size:14px;
	letter-spacing:.07em; text-transform:uppercase; transition:background .2s,color .2s;
}
.fl-btn-primary{ background:var(--flame); color:#fff; }
.fl-btn-primary:hover{ background:var(--ink); color:#fff; }
.fl-btn-sm{ width:auto; padding:11px 20px; font-size:12px; }

/* ---------- Perks strip ---------- */
.fl-auth-perks{
	list-style:none; margin:36px auto 0; padding:22px 0 0; max-width:760px;
	display:flex; justify-content:center; gap:34px; flex-wrap:wrap;
	border-top:1px solid var(--line-warm);
}
.fl-auth-perks li{
	display:inline-flex; align-items:center; gap:9px;
	font-size:12.5px; color:var(--ink-soft);
}
.fl-auth-perks svg{ width:19px; height:19px; color:var(--flame); flex:0 0 auto; }

/* =========================================================================
   MY ACCOUNT — layout
   ====================================================================== */
.woocommerce-account .woocommerce{ max-width:var(--wrap); margin:0 auto; padding:44px 0 80px; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{ float:none !important; width:auto !important; }
.woocommerce-account .woocommerce::after{ content:none !important; }

@media(min-width:861px){
	.woocommerce-account .woocommerce{
		display:grid; grid-template-columns:262px 1fr; gap:32px; align-items:start;
	}
}

/* ---------- Sidebar ---------- */
.fl-nav{ background:#fff; border:1px solid var(--line-warm); position:sticky; top:96px; }
.fl-nav-user{
	display:flex; align-items:center; gap:12px;
	padding:20px 18px; border-bottom:1px solid var(--line-warm); background:var(--cream-2);
}
.fl-avatar{
	width:44px; height:44px; flex:0 0 44px; border-radius:50%;
	background:var(--ink); color:#fff; overflow:hidden;
	display:flex; align-items:center; justify-content:center;
	font-family:var(--display); font-weight:700; font-size:17px;
}
.fl-avatar img{ width:100%; height:100%; object-fit:cover; }
.fl-nav-user-text{ min-width:0; }
.fl-nav-user-text b{ display:block; font-size:14px; color:var(--ink-text); line-height:1.2; }
.fl-nav-user-text span{
	display:block; font-size:11.5px; color:var(--ink-soft); margin-top:3px;
	overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

.fl-nav ul{ list-style:none; margin:0; padding:8px 0; }
.fl-nav li{ margin:0; }
.fl-nav li a{
	display:flex; align-items:center; gap:12px; padding:13px 18px;
	font-family:var(--display); font-weight:700; font-size:12.5px;
	letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft);
	border-left:3px solid transparent; transition:.18s;
}
.fl-nav li a svg{ width:18px; height:18px; flex:0 0 18px; }
.fl-nav li a:hover{ background:var(--cream-bg); color:var(--ink-text); }
.fl-nav li.is-active a{ background:var(--cream-2); color:var(--ink-text); border-left-color:var(--flame); }
.fl-nav li.woocommerce-MyAccount-navigation-link--customer-logout a{ color:var(--flame); }

/* ---------- Content ---------- */
.woocommerce-MyAccount-content{ min-width:0; }

/* Welcome */
.fl-dash-welcome{
	display:flex; align-items:center; justify-content:space-between;
	gap:20px; flex-wrap:wrap; background:var(--ink); color:#fff;
	padding:28px 30px; margin-bottom:20px;
}
.fl-dash-eyebrow{
	font-family:var(--display); font-weight:700; font-size:11px;
	letter-spacing:.16em; text-transform:uppercase; color:var(--flame);
}
.fl-dash-name{
	font-family:var(--display); font-weight:700; text-transform:uppercase;
	font-size:clamp(24px,3.4vw,36px); line-height:1; letter-spacing:-.02em;
	color:#fff; margin:8px 0 8px;
}
.fl-dash-meta{ margin:0; font-size:13px; color:var(--ash); display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.fl-chip{
	display:inline-block; background:rgba(255,255,255,.12); color:#fff;
	font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
	padding:4px 9px;
}

/* Stats */
.fl-stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.fl-stat{ background:#fff; border:1px solid var(--line-warm); padding:20px 18px; text-align:center; }
.fl-stat b{
	display:block; font-family:var(--display); font-weight:700;
	font-size:26px; line-height:1; color:var(--ink-text);
}
.fl-stat b .amount,.fl-stat b bdi{ font-size:22px; }
.fl-stat span{
	display:block; margin-top:7px; font-size:11px; letter-spacing:.07em;
	text-transform:uppercase; color:var(--ink-soft);
}

/* Quick links */
.fl-quick-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:26px; }
.fl-quick{
	background:#fff; border:1px solid var(--line-warm); padding:20px 18px;
	display:flex; flex-direction:column; gap:6px; transition:.2s;
}
.fl-quick:hover{ border-color:var(--flame); transform:translateY(-2px); }
.fl-quick svg{ width:22px; height:22px; color:var(--flame); margin-bottom:4px; }
.fl-quick b{ font-family:var(--display); font-weight:700; font-size:13px; text-transform:uppercase; color:var(--ink-text); }
.fl-quick span{ font-size:12px; color:var(--ink-soft); }

/* Sections */
.fl-dash-sec{ margin-bottom:28px; }
.fl-dash-sec-head{
	display:flex; align-items:center; justify-content:space-between;
	gap:14px; margin-bottom:14px;
}
.fl-dash-sec-head h3{
	font-family:var(--display); font-weight:700; text-transform:uppercase;
	font-size:16px; letter-spacing:.03em; color:var(--ink-text); margin:0;
}

/* Orders */
.fl-order-list{ display:flex; flex-direction:column; gap:10px; }
.fl-order{
	display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:16px;
	background:#fff; border:1px solid var(--line-warm); padding:16px 18px; transition:.2s;
}
.fl-order:hover{ border-color:var(--flame); }
.fl-order-main b{ display:block; font-family:var(--display); font-weight:700; font-size:14px; color:var(--ink-text); }
.fl-order-main span{ display:block; font-size:12px; color:var(--ink-soft); margin-top:3px; }
.fl-order-status{
	font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
	padding:5px 10px; background:var(--cream-2); color:var(--ink-soft); white-space:nowrap;
}
.fl-status-completed{ background:#e6f4ea; color:#1e7a37; }
.fl-status-processing{ background:#fff2e6; color:#b45309; }
.fl-status-cancelled,.fl-status-failed{ background:#fbe6e2; color:#a12a15; }
.fl-order-total{ font-family:var(--display); font-weight:700; font-size:14px; color:var(--ink-text); white-space:nowrap; }

/* Empty state */
.fl-empty{ background:#fff; border:1px dashed var(--line-warm); padding:34px 24px; text-align:center; }
.fl-empty p{ margin:0 0 16px; color:var(--ink-soft); font-size:14px; }

/* Mini product grid */
.fl-mini-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.fl-mini{ background:#fff; border:1px solid var(--line-warm); display:flex; flex-direction:column; transition:.2s; }
.fl-mini:hover{ border-color:var(--flame); }
.fl-mini-img{ aspect-ratio:4/5; overflow:hidden; background:var(--cream-2); }
.fl-mini-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.fl-mini b{ font-size:12.5px; padding:11px 12px 0; color:var(--ink-text); line-height:1.35; }
.fl-mini span{ font-size:12.5px; padding:5px 12px 13px; color:var(--ink-text); font-weight:700; }
.fl-mini span del{ color:#9a9488; font-weight:400; font-size:11px; }
.fl-mini span ins{ color:var(--flame); text-decoration:none; }

/* Wishlist */
.fl-wish-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.fl-wish{ background:#fff; border:1px solid var(--line-warm); display:flex; flex-direction:column; }
.fl-wish-img{ aspect-ratio:4/5; overflow:hidden; background:var(--cream-2); display:block; }
.fl-wish-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.fl-wish-body{ padding:14px; display:flex; flex-direction:column; gap:8px; flex:1; }
.fl-wish-body b{ font-size:13px; color:var(--ink-text); line-height:1.35; }
.fl-wish-price{ font-family:var(--display); font-weight:700; font-size:14px; color:var(--ink-text); }
.fl-wish-actions{ display:flex; align-items:center; gap:10px; margin-top:auto; }
.fl-wish-remove{
	background:none; border:none; cursor:pointer; padding:0;
	font-size:11.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
	color:var(--ink-soft); text-decoration:underline; text-underline-offset:3px;
}
.fl-wish-remove:hover{ color:var(--flame); }

/* WooCommerce default bits inside the account area */
.woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-error{ margin-bottom:20px; }
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content legend{
	font-family:var(--display); font-weight:700; text-transform:uppercase;
	font-size:18px; color:var(--ink-text);
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-MyAccount-content form.edit-account{
	background:#fff; border:1px solid var(--line-warm); padding:26px;
}
.woocommerce-MyAccount-content .woocommerce-Address{
	background:#fff; border:1px solid var(--line-warm); padding:22px;
}
.woocommerce-MyAccount-content .woocommerce-Address-title h3{
	font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:15px;
}
.woocommerce-MyAccount-content input.input-text,
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea{
	width:100%; padding:13px 14px; background:#fff; color:var(--ink-text);
	border:1px solid var(--line-warm); border-radius:0;
	font-family:var(--body); font-size:14px;
}
.woocommerce-MyAccount-content input.input-text:focus,
.woocommerce-MyAccount-content select:focus{
	outline:none; border-color:var(--flame); box-shadow:0 0 0 3px rgba(255,77,28,.12);
}
.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content button.button{
	background:var(--flame) !important; color:#fff !important; border:none !important;
	border-radius:0 !important; padding:14px 28px !important;
	font-family:var(--display) !important; font-weight:700 !important;
	font-size:13px !important; letter-spacing:.06em !important; text-transform:uppercase !important;
}
.woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-MyAccount-content button.button:hover{ background:var(--ink) !important; }
.woocommerce-MyAccount-content table.woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table{
	background:#fff; border:1px solid var(--line-warm); border-collapse:collapse; width:100%;
}
.woocommerce-MyAccount-content table.shop_table th{
	background:var(--cream-2); font-family:var(--display); font-weight:700;
	font-size:11.5px; letter-spacing:.06em; text-transform:uppercase;
	color:var(--ink-text); padding:14px 12px; text-align:left;
}
.woocommerce-MyAccount-content table.shop_table td{
	padding:14px 12px; border-top:1px solid var(--line-warm); font-size:14px; color:#3a3733;
}

/* =========================================================================
   ACCOUNT — responsive
   ====================================================================== */
@media(max-width:1024px){
	.fl-stat-grid,.fl-quick-grid,.fl-mini-grid{ grid-template-columns:repeat(2,1fr); }
	.fl-wish-grid{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:860px){
	.fl-nav{ position:static; margin-bottom:20px; }
	.fl-nav ul{ display:flex; flex-wrap:wrap; padding:8px; gap:6px; }
	.fl-nav li{ flex:1 1 auto; }
	.fl-nav li a{
		border-left:none; border-bottom:2px solid transparent;
		padding:11px 12px; justify-content:center; font-size:11.5px;
	}
	.fl-nav li.is-active a{ border-left:none; border-bottom-color:var(--flame); }
}

@media(max-width:640px){
	.fl-auth{ padding:34px 0 56px; }
	.fl-auth-title{ font-size:32px; }
	.fl-auth-sub{ font-size:14px; }
	.fl-form{ padding:22px 18px 24px; }
	.fl-auth-tabs{ max-width:100%; }
	.fl-auth-perks{ flex-direction:column; align-items:center; gap:14px; margin-top:28px; }

	.woocommerce-account .woocommerce{ padding:26px 0 56px; }
	.fl-dash-welcome{ padding:22px 20px; }
	.fl-dash-name{ font-size:24px; }
	.fl-stat-grid,.fl-quick-grid{ grid-template-columns:1fr 1fr; gap:10px; }
	.fl-stat{ padding:16px 12px; }
	.fl-stat b{ font-size:21px; }
	.fl-stat b .amount,.fl-stat b bdi{ font-size:17px; }
	.fl-quick{ padding:16px 14px; }
	.fl-mini-grid{ grid-template-columns:1fr 1fr; }
	.fl-wish-grid{ grid-template-columns:1fr 1fr; gap:12px; }

	.fl-order{ grid-template-columns:1fr auto; row-gap:8px; padding:14px; }
	.fl-order-status{ grid-column:2; grid-row:1; }
	.fl-order-total{ grid-column:1 / -1; }

	.woocommerce-MyAccount-content .woocommerce-EditAccountForm,
	.woocommerce-MyAccount-content form.edit-account{ padding:18px; }
	.woocommerce-MyAccount-content table.shop_table th,
	.woocommerce-MyAccount-content table.shop_table td{ padding:11px 8px; font-size:13px; }
}

/* Notices sit as siblings of nav + content inside .woocommerce — make sure
   they span the full grid width instead of taking a column. */
@media(min-width:861px){
	.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
	.woocommerce-account .woocommerce > .woocommerce-message,
	.woocommerce-account .woocommerce > .woocommerce-error,
	.woocommerce-account .woocommerce > .woocommerce-info,
	.woocommerce-account .woocommerce > .wc-notices,
	.woocommerce-account .woocommerce > form.woocommerce-form-login,
	.woocommerce-account .woocommerce > .fl-auth{ grid-column:1 / -1; }
}
/* When logged out there's no nav — let the auth panel use the full width. */
.woocommerce-account:not(.logged-in) .woocommerce{ display:block !important; }

/* =========================================================================
   v8.3 ACCOUNT LAYOUT FIX
   WooCommerce prints notices as siblings of the nav and content, which was
   consuming the first grid cell and pushing the sidebar to the right.
   Placing nav and content explicitly makes the layout immune to however
   many notices (or other elements) get printed above them.
   ====================================================================== */
@media(min-width:861px){
	.woocommerce-account .woocommerce{
		display:grid !important;
		grid-template-columns:262px minmax(0,1fr) !important;
		column-gap:32px;
		row-gap:0;
		align-items:start;
	}

	/* Anything that isn't the nav or the content spans the full width and
	   sits on the first row: notices, headings, stray wrappers. */
	.woocommerce-account .woocommerce > *{
		grid-column:1 / -1;
		grid-row:1;
	}

	/* Sidebar: hard-pinned left, second row. */
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{
		grid-column:1 !important;
		grid-row:2 !important;
		margin:0;
	}

	/* Content: hard-pinned right, second row. */
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{
		grid-column:2 !important;
		grid-row:2 !important;
		margin:0;
		min-width:0;
	}

	/* Give the notice row breathing room above the two columns. */
	.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:not(:empty),
	.woocommerce-account .woocommerce > .woocommerce-message,
	.woocommerce-account .woocommerce > .woocommerce-info,
	.woocommerce-account .woocommerce > .woocommerce-error{ margin-bottom:18px; }
}

/* Logged-out (login/register) — single column, no grid. */
.woocommerce-account:not(.logged-in) .woocommerce{ display:block !important; }

/* -------------------------------------------------------------------------
   Welcome banner: force readable colours. Some global rules were bleeding
   dark text onto the dark panel, making the name and button label vanish.
   ---------------------------------------------------------------------- */
.fl-dash-welcome,
.fl-dash-welcome *{ color:#fff; }
.fl-dash-welcome .fl-dash-eyebrow{ color:var(--flame) !important; }
.fl-dash-welcome .fl-dash-name{ color:#fff !important; }
.fl-dash-welcome .fl-dash-meta{ color:var(--ash) !important; }
.fl-dash-welcome .fl-chip{ color:#fff !important; background:rgba(255,255,255,.14) !important; }
.fl-dash-welcome .fl-btn,
.fl-dash-welcome .fl-btn-primary{
	color:#fff !important; background:var(--flame) !important;
	white-space:nowrap;
}
.fl-dash-welcome .fl-btn:hover{ background:#fff !important; color:var(--ink) !important; }

/* Stat tiles were cramping onto two lines — give them room. */
.fl-stat{ padding:22px 14px; }
.fl-stat b{ font-size:24px; white-space:nowrap; }
.fl-stat b .amount,.fl-stat b bdi{ font-size:19px; white-space:nowrap; }
.fl-stat span{ font-size:10.5px; line-height:1.35; }

/* =========================================================================
   v8.7 QUICK-ADD POPUP — ALIGNMENT FIX + SIZE GUIDE PARITY
   (Additive only. Overrides earlier v6.1 / v7.2 / v7.3 / v7.4 popup rules.)
   ====================================================================== */

/* --- 1. Image column must match the info column height exactly ---------
   Previously .qa-media img had aspect-ratio:3/4 forcing its own height, so
   the photo ran past the bottom of the cream panel. Absolutely positioning
   the image lets the grid row height be driven by the info column. */
@media (min-width:861px){
	.qa-content{ align-items:stretch !important; }
	.qa-media{
		position:relative !important;
		overflow:hidden !important;
		min-height:560px;
		display:block !important;
	}
	.qa-media img{
		position:absolute !important; inset:0 !important;
		width:100% !important; height:100% !important;
		aspect-ratio:auto !important;
		object-fit:cover !important; object-position:center top;
		display:block !important;
	}
}

/* --- 2. Info panel: consistent vertical rhythm ------------------------- */
.qa-info{ padding:36px 34px 34px !important; }
.qa-title{ margin:0 0 12px !important; }
.qa-price{ margin:0 0 4px !important; display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; }
.qa-price del{ margin-right:0 !important; }
.qa-prepaid{ margin:14px 0 18px !important; }

/* --- 3. Size Guide button: right-aligned, on the size row -------------
   float:right does nothing inside a flex column (.qa-info), which is why it
   was rendering full-width and centred. Use flex alignment instead. */
.qa-info .qa-size-guide{
	float:none !important;
	align-self:flex-end !important;
	width:auto !important;
	margin:0 0 -12px !important;
	padding:0 !important;
	position:relative; z-index:1;
	text-align:right;
}

/* --- 4. Variation table inside the popup ------------------------------
   The product-page rules are scoped to `.woocommerce div.product form.cart`,
   which never matched inside the modal — so Woo's default two-column table
   left the SIZE label floating beside the swatches. Rebuild it here. */
.qa-info .variations{
	display:block !important; border:none !important;
	width:100% !important; margin:0 0 18px !important;
}
.qa-info .variations tbody,
.qa-info .variations tr{ display:block !important; width:100% !important; }
.qa-info .variations tr{ margin:0 !important; }
.qa-info .variations th.label,
.qa-info .variations td.label{
	display:block !important; width:auto !important;
	padding:0 0 10px !important; margin:0 !important;
	text-align:left !important; vertical-align:top !important;
	font-family:var(--display); font-weight:700; font-size:13px;
	letter-spacing:.06em; text-transform:uppercase; color:var(--ink-text);
	line-height:1 !important;
}
.qa-info .variations th.label label,
.qa-info .variations td.label label{ margin:0 !important; line-height:1 !important; }
.qa-info .variations td.value{
	display:block !important; width:auto !important;
	padding:0 !important; margin:0 !important;
	text-align:left !important; vertical-align:top !important;
}
.qa-info .size-swatches{ margin:0 !important; gap:10px !important; }
.qa-info .swatch{ min-width:54px !important; height:54px !important; }

/* "Clear" reset link — sits under the swatches, left-aligned with them */
.qa-info .reset_variations{
	display:inline-block !important;
	margin:10px 0 0 !important; padding:0 !important;
	font-size:12px; letter-spacing:.04em; text-transform:uppercase;
	font-weight:700; color:var(--ink-soft); text-decoration:underline;
	text-underline-offset:3px;
}
.qa-info .reset_variations:hover{ color:var(--flame); }
.qa-info .reset_variations:empty{ display:none !important; }

/* Collapse Woo's hidden single-variation slot so it doesn't add dead space */
.qa-info .single_variation_wrap{ margin:0 !important; }
.qa-info .woocommerce-variation:empty{ display:none !important; }

/* --- 5. Quantity + Add to Cart on one clean row ----------------------- */
.qa-info .woocommerce-variation-add-to-cart,
.qa-info form.cart:not(.variations_form){
	display:flex !important; align-items:stretch !important;
	gap:12px !important; flex-wrap:nowrap !important; margin:0 !important;
}
.qa-info .quantity{ flex:0 0 auto; margin:0 !important; }
.qa-info .quantity .qty{
	width:74px !important; height:56px !important; min-height:56px !important;
	line-height:normal !important; padding:0 !important;
	text-align:center !important; font-weight:700; font-size:15px;
	background:#fff; border:1.5px solid #d8d0be; box-sizing:border-box;
	-moz-appearance:textfield;
}
.qa-info .quantity .qty::-webkit-outer-spin-button,
.qa-info .quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.qa-info .single_add_to_cart_button{
	flex:1 1 auto; height:56px !important; min-height:56px !important;
	padding:0 20px !important; margin:0 !important;
	display:inline-flex !important; align-items:center; justify-content:center;
	box-sizing:border-box;
}

/* --- 6. Footer link spacing ------------------------------------------- */
.qa-full-link{ margin-top:20px !important; }

/* --- 7. Close button: pinned to the modal corner, above content -------- */
.qa-close{ top:10px !important; right:12px !important; z-index:6 !important; width:34px; height:34px; }

/* --- 8. Size guide modal now shows an IMAGE chart (same as product page) */
.sg-box{ max-width:620px !important; padding:30px 26px 24px !important; }
.sg-img{
	display:block; width:100%; height:auto;
	border:1px solid var(--line-warm); background:#fff; margin:4px 0 0;
}

/* --- 9. Mobile ------------------------------------------------------- */
@media (max-width:860px){
	.qa-info{ padding:24px 20px 28px !important; }
	.qa-media{ position:relative !important; }
	.qa-media img{ position:static !important; aspect-ratio:16/11 !important; height:auto !important; }
	.qa-info .qa-size-guide{ margin:0 0 -8px !important; }
	.qa-info .swatch{ min-width:48px !important; height:48px !important; }
	.qa-info .quantity .qty{ width:64px !important; height:52px !important; min-height:52px !important; }
	.qa-info .single_add_to_cart_button{ height:52px !important; min-height:52px !important; font-size:14px !important; }
	.sg-box{ max-width:100% !important; }
}

/* --- Next Drop: unlock time is rewritten client-side, keep it inline --- */
.drop-tease .drop-time{ white-space:nowrap; font-weight:700; color:#fff; }

/* =========================================================================
   v8.9 WELCOME POPUP — announcement + newsletter capture
   ====================================================================== */

.fw-overlay{
	position:fixed; inset:0; z-index:9999;
	display:flex; align-items:center; justify-content:center;
	padding:24px;
	background:rgba(10,10,10,.72);
	-webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
	opacity:0; transition:opacity .28s ease;
}
.fw-overlay[hidden]{ display:none; }
.fw-overlay.is-open{ opacity:1; }

.fw-box{
	position:relative;
	display:grid; grid-template-columns:0.85fr 1fr;
	width:100%; max-width:860px; max-height:calc(100vh - 48px);
	background:var(--cream-bg);
	border:2px solid var(--ink-text);
	box-shadow:14px 14px 0 rgba(0,0,0,.28);
	overflow:hidden;
	transform:translateY(14px) scale(.98);
	transition:transform .32s cubic-bezier(.2,.8,.3,1);
}
.fw-overlay.is-open .fw-box{ transform:none; }
.fw-box-noimg{ grid-template-columns:1fr; max-width:520px; }

.fw-media{ position:relative; overflow:hidden; background:var(--ink-text); }
.fw-media img{
	position:absolute; inset:0;
	width:100%; height:100%;
	object-fit:cover; object-position:center;
	display:block;
}

.fw-body{
	padding:38px 34px 32px;
	overflow-y:auto;
	display:flex; flex-direction:column;
}

.fw-eyebrow{
	display:inline-block; align-self:flex-start;
	background:var(--flame); color:#fff;
	font-family:var(--display);
	font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
	padding:5px 11px; margin-bottom:16px;
}
.fw-heading{
	font-family:var(--display);
	font-size:clamp(26px,3.4vw,36px); font-weight:800; line-height:1.05;
	letter-spacing:-.01em; text-transform:uppercase;
	margin:0 0 14px; color:var(--ink-text);
}
.fw-text{ font-size:14.5px; line-height:1.62; margin:0 0 14px; color:var(--ink-soft); }
.fw-offer{
	font-size:13px; font-weight:700; line-height:1.5;
	margin:0 0 20px; padding:11px 14px;
	color:var(--ink-text);
	border-left:3px solid var(--flame);
	background:rgba(244,81,30,.07);
}

.fw-form{ display:flex; gap:0; margin:0 0 10px; }
.fw-input{
	flex:1 1 auto; min-width:0;
	height:52px; padding:0 15px;
	font-size:14px; font-family:inherit; color:var(--ink-text);
	background:#fff;
	border:1.5px solid var(--ink-text); border-right:none;
	border-radius:0; box-sizing:border-box;
}
.fw-input:focus{ outline:none; box-shadow:inset 0 0 0 2px rgba(244,81,30,.35); }
.fw-input::placeholder{ color:#a8a196; }
.fw-submit{
	flex:0 0 auto; height:52px; padding:0 22px;
	font-family:var(--display);
	font-size:14px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
	color:#fff; background:var(--flame);
	border:1.5px solid var(--flame); cursor:pointer;
	transition:background .18s ease, transform .12s ease;
	white-space:nowrap;
}
.fw-submit:hover{ background:var(--ink-text); border-color:var(--ink-text); }
.fw-submit:active{ transform:translateY(1px); }
.fw-submit[disabled]{ opacity:.6; cursor:default; }

.fw-msg{ margin:0; font-size:12.5px; line-height:1.5; min-height:0; }
.fw-msg:empty{ display:none; }
.fw-msg.is-error{ color:#c0341a; margin:0 0 8px; }
.fw-msg.is-ok{ color:#2e7d32; font-weight:700; margin:0 0 8px; }

.fw-note{ margin:6px 0 0; font-size:11.5px; line-height:1.5; color:var(--ink-soft); }

.fw-dismiss{
	align-self:flex-start; margin-top:16px; padding:0;
	background:none; border:none; cursor:pointer;
	font-size:12px; letter-spacing:.04em; text-transform:uppercase; font-weight:700;
	color:var(--ink-soft);
	text-decoration:underline; text-underline-offset:3px;
}
.fw-dismiss:hover{ color:var(--flame); }

.fw-close{
	position:absolute; top:10px; right:12px; z-index:3;
	width:34px; height:34px; line-height:1;
	font-size:26px; color:var(--ink-text);
	background:var(--cream-bg); border:none; cursor:pointer;
	display:flex; align-items:center; justify-content:center;
}
.fw-close:hover{ color:var(--flame); }

/* Success state: collapse the form, let the message carry the moment */
.fw-box.is-done .fw-form,
.fw-box.is-done .fw-note,
.fw-box.is-done .fw-dismiss,
.fw-box.is-done .fw-offer{ display:none; }
.fw-box.is-done .fw-msg{ font-size:15px; }

@media (max-width:760px){
	.fw-overlay{ padding:16px; align-items:flex-end; }
	.fw-box{
		grid-template-columns:1fr;
		max-width:100%; max-height:calc(100vh - 32px);
		box-shadow:8px 8px 0 rgba(0,0,0,.28);
	}
	.fw-media{ height:190px; }
	.fw-media img{ position:static; height:190px; }
	.fw-body{ padding:26px 22px 24px; }
	.fw-form{ flex-direction:column; gap:10px; }
	.fw-input{ border-right:1.5px solid var(--ink-text); }
	.fw-submit{ width:100%; height:50px; }
}

/* =========================================================================
   v9.0 TRENDING CAROUSEL + CUSTOM DESIGN PAGE
   ====================================================================== */

/* ---------- Trending carousel ---------------------------------------- */
.trend-carousel{ position:relative; }

.trend-track{
	display:flex; gap:20px;
	overflow-x:auto; scroll-behavior:smooth;
	scroll-snap-type:x mandatory;
	padding:4px 0 12px;
	-ms-overflow-style:none; scrollbar-width:none;
}
.trend-track::-webkit-scrollbar{ display:none; }

.trend-item{
	flex:0 0 calc((100% - 60px) / 4);
	min-width:0; scroll-snap-align:start;
}
.trend-item .pcard{ height:100%; }

.trend-nav{
	position:absolute; top:38%; z-index:3;
	width:46px; height:46px;
	display:flex; align-items:center; justify-content:center;
	background:var(--cream-bg); color:var(--ink-text);
	border:2px solid var(--ink-text); cursor:pointer;
	box-shadow:4px 4px 0 rgba(0,0,0,.18);
	transition:background .18s ease, color .18s ease, opacity .2s ease;
}
.trend-nav:hover{ background:var(--flame); border-color:var(--flame); color:#fff; }
.trend-nav[disabled]{ opacity:0; pointer-events:none; }
.trend-prev{ left:-16px; }
.trend-next{ right:-16px; }

@media (max-width:1100px){
	.trend-item{ flex:0 0 calc((100% - 40px) / 3); }
	.trend-prev{ left:-8px; } .trend-next{ right:-8px; }
}
@media (max-width:820px){
	.trend-item{ flex:0 0 calc((100% - 20px) / 2); }
	.trend-nav{ display:none; }
}
@media (max-width:520px){
	.trend-track{ gap:14px; }
	.trend-item{ flex:0 0 78%; }
}

/* ---------- Related products carousel (single product) -------------- */
.related-carousel .trend-carousel{ margin-top:4px; }
.related-carousel > h2{ margin-bottom:28px; }

/* ---------- Custom design page --------------------------------------- */
.cd-hero{
	background:var(--ink-text); color:#fff;
	padding:64px 0 56px; text-align:center;
}
.cd-eyebrow{
	display:inline-block; background:var(--flame); color:#fff;
	font-family:var(--display);
	font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
	padding:6px 13px; margin-bottom:18px;
}
.cd-hero h1{
	font-family:var(--display);
	font-size:clamp(38px,6vw,68px); font-weight:800; line-height:.98;
	text-transform:uppercase; letter-spacing:-.01em; margin:0 0 16px; color:#fff;
}
.cd-intro{ max-width:620px; margin:0 auto; font-size:15px; line-height:1.65; color:rgba(255,255,255,.72); }

.cd-sec{ padding:56px 0 80px; }

.cd-grid{ display:grid; grid-template-columns:1fr 380px; gap:48px; align-items:start; }

/* Steps */
.cd-step{ display:flex; align-items:center; gap:12px; margin:0 0 18px; }
.cd-step:not(:first-child){ margin-top:44px; }
.cd-step-n{
	flex:0 0 auto; width:30px; height:30px;
	display:flex; align-items:center; justify-content:center;
	background:var(--ink-text); color:#fff;
	font-family:var(--display);
	font-size:15px; font-weight:800;
}
.cd-step h2{
	margin:0; font-family:var(--display);
	font-size:22px; font-weight:800; text-transform:uppercase; letter-spacing:.01em;
	color:var(--ink-text);
}

/* Dropzone */
.cd-drop{
	display:flex; flex-direction:column; align-items:center; justify-content:center;
	gap:8px; padding:46px 24px; text-align:center; cursor:pointer;
	background:#fff; color:var(--ink-soft);
	border:2px dashed #c9c0ad;
	transition:border-color .2s ease, background .2s ease;
}
.cd-drop:hover, .cd-drop:focus-visible, .cd-drop.is-over{
	border-color:var(--flame); background:rgba(244,81,30,.04); outline:none;
}
.cd-drop-main{ margin:6px 0 0; font-size:15px; font-weight:700; color:var(--ink-text); }
.cd-drop-main span{ color:var(--flame); text-decoration:underline; text-underline-offset:3px; }
.cd-drop-sub{ margin:0; font-size:12.5px; }

/* Uploaded file row */
.cd-file{
	display:flex; align-items:center; gap:14px;
	padding:14px; background:#fff; border:1.5px solid var(--ink-text);
}
.cd-file[hidden]{ display:none; }
.cd-file-thumb{
	flex:0 0 auto; width:56px; height:56px;
	background:#f1ece1 center/cover no-repeat;
	border:1px solid #ddd5c4;
	display:flex; align-items:center; justify-content:center;
	font-family:var(--display);
	font-size:13px; font-weight:800; color:var(--ink-soft);
}
.cd-file-meta{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:3px; }
.cd-file-meta strong{ font-size:14px; color:var(--ink-text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cd-file-meta span{ font-size:12px; color:var(--ink-soft); }
.cd-file-remove{
	flex:0 0 auto; width:30px; height:30px; font-size:22px; line-height:1;
	background:none; border:none; cursor:pointer; color:var(--ink-soft);
}
.cd-file-remove:hover{ color:#c0341a; }

/* Progress */
.cd-progress{ height:4px; background:#e3dcCC; margin-top:10px; overflow:hidden; }
.cd-progress[hidden]{ display:none; }
.cd-progress span{ display:block; height:100%; width:0; background:var(--flame); transition:width .18s ease; }

.cd-msg{ margin:10px 0 0; font-size:13px; line-height:1.5; }
.cd-msg:empty{ display:none; }
.cd-msg.is-error{ color:#c0341a; font-weight:700; }
.cd-msg.is-ok{ color:#2e7d32; font-weight:700; }

.cd-note{
	margin:16px 0 0; padding:12px 14px;
	font-size:12.5px; line-height:1.6; color:var(--ink-soft);
	border-left:3px solid var(--flame); background:rgba(244,81,30,.06);
}

/* Fields + chips */
.cd-field{ margin:0 0 22px; }
.cd-label{
	display:block; margin:0 0 9px;
	font-family:var(--display);
	font-size:13px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
	color:var(--ink-text);
}
.cd-optional{ font-weight:400; text-transform:none; letter-spacing:0; color:var(--ink-soft); }

.cd-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.cd-chip{
	min-width:56px; height:46px; padding:0 16px;
	background:#fff; color:var(--ink-text);
	border:1.5px solid #d8d0be; cursor:pointer;
	font-family:var(--display);
	font-size:14px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
	transition:border-color .16s ease, background .16s ease, color .16s ease;
}
.cd-chip:hover{ border-color:var(--ink-text); }
.cd-chip.is-on{ background:var(--ink-text); border-color:var(--ink-text); color:#fff; }

.cd-textarea{
	width:100%; padding:12px 14px; font-family:inherit; font-size:14px; line-height:1.55;
	background:#fff; color:var(--ink-text);
	border:1.5px solid #d8d0be; border-radius:0; box-sizing:border-box; resize:vertical;
}
.cd-textarea:focus{ outline:none; border-color:var(--flame); }

/* Summary panel */
.cd-summary-inner{
	position:sticky; top:24px;
	background:var(--cream-bg);
	border:2px solid var(--ink-text);
	box-shadow:8px 8px 0 rgba(0,0,0,.16);
	padding:26px 24px 24px;
}
.cd-summary-inner h3{
	margin:0 0 16px; font-family:var(--display);
	font-size:19px; font-weight:800; text-transform:uppercase; letter-spacing:.02em;
	color:var(--ink-text);
}
.cd-preview{
	aspect-ratio:1/1; margin:0 0 18px;
	background:#fff center/contain no-repeat;
	border:1.5px solid #ddd5c4;
	display:flex; align-items:center; justify-content:center;
}
.cd-preview-empty{ font-size:12.5px; color:#a8a196; text-align:center; padding:0 20px; }
.cd-preview.has-file .cd-preview-empty{ display:none; }

.cd-spec{ list-style:none; margin:0 0 20px; padding:0; }
.cd-spec li{
	display:flex; justify-content:space-between; gap:12px;
	padding:9px 0; border-bottom:1px solid rgba(0,0,0,.09);
	font-size:13px;
}
.cd-spec li:last-child{ border-bottom:none; }
.cd-spec span{ color:var(--ink-soft); }
.cd-spec b{ color:var(--ink-text); text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:60%; }

.cd-qty-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 16px; }
.cd-qty-row .cd-label{ margin:0; }
.cd-qty{ display:flex; border:1.5px solid var(--ink-text); background:#fff; }
.cd-qty button{
	width:38px; height:44px; background:none; border:none; cursor:pointer;
	font-size:17px; font-weight:700; color:var(--ink-text);
}
.cd-qty button:hover{ background:rgba(0,0,0,.06); }
.cd-qty input{
	width:48px; height:44px; text-align:center; font-weight:700; font-size:15px;
	border:none; border-left:1.5px solid #e0d8c6; border-right:1.5px solid #e0d8c6;
	background:#fff; color:var(--ink-text); -moz-appearance:textfield;
}
.cd-qty input::-webkit-outer-spin-button,
.cd-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

.cd-total{
	display:flex; align-items:baseline; justify-content:space-between;
	padding:14px 0; margin:0 0 16px;
	border-top:2px solid var(--ink-text); border-bottom:2px solid var(--ink-text);
}
.cd-total span{ font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; color:var(--ink-soft); }
.cd-total b{ font-family:var(--display); font-size:26px; font-weight:800; color:var(--ink-text); }

.cd-submit{
	width:100%; height:56px; margin:0;
	background:var(--flame); color:#fff;
	border:1.5px solid var(--flame); cursor:pointer;
	font-family:var(--display);
	font-size:16px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
	transition:background .18s ease;
}
.cd-submit:hover:not([disabled]){ background:var(--ink-text); border-color:var(--ink-text); }
.cd-submit[disabled]{ background:#c9c0ad; border-color:#c9c0ad; cursor:not-allowed; }

.cd-assure{ list-style:none; margin:18px 0 0; padding:0; }
.cd-assure li{
	position:relative; padding:0 0 0 20px; margin:0 0 8px;
	font-size:12px; line-height:1.5; color:var(--ink-soft);
}
.cd-assure li::before{
	content:"✓"; position:absolute; left:0; top:0;
	color:var(--flame); font-weight:700;
}

/* Setup / fallback notice */
.cd-setup{
	max-width:640px; margin:0 auto; padding:34px 30px;
	background:#fff; border:2px solid var(--ink-text);
}
.cd-setup h2{
	margin:0 0 12px; font-family:var(--display);
	font-size:24px; font-weight:800; text-transform:uppercase; color:var(--ink-text);
}
.cd-setup p, .cd-setup li{ font-size:14px; line-height:1.65; color:var(--ink-soft); }
.cd-setup ol{ margin:14px 0; padding-left:20px; }
.cd-setup ol li{ margin-bottom:8px; }
.cd-setup-note{ margin-top:16px; font-size:12px; font-style:italic; }

.cd-content{ max-width:760px; margin:56px auto 0; font-size:15px; line-height:1.7; }

@media (max-width:980px){
	.cd-grid{ grid-template-columns:1fr; gap:36px; }
	.cd-summary-inner{ position:static; box-shadow:6px 6px 0 rgba(0,0,0,.16); }
	.cd-preview{ max-width:280px; margin-left:auto; margin-right:auto; }
}
@media (max-width:560px){
	.cd-hero{ padding:44px 0 40px; }
	.cd-sec{ padding:40px 0 60px; }
	.cd-drop{ padding:34px 18px; }
	.cd-chip{ height:44px; min-width:52px; padding:0 13px; }
	.cd-summary-inner{ padding:22px 18px 20px; }
}

/* ---------- v9.1 Custom design: per-fit pricing on chips -------------- */
.cd-chip-fit{
	display:inline-flex; flex-direction:column; align-items:center; justify-content:center;
	gap:2px; height:auto; min-height:52px; padding:8px 18px; line-height:1.1;
}
.cd-chip-fit small{
	font-family:var(--body);
	font-size:11px; font-weight:600; letter-spacing:.02em;
	text-transform:none; opacity:.65;
}
.cd-chip-fit.is-on small{ opacity:.85; }

/* ---------- v9.2 Custom design: placement surcharge chips ------------- */
.cd-chip-place{
	display:inline-flex; flex-direction:column; align-items:center; justify-content:center;
	gap:2px; height:auto; min-height:52px; padding:8px 18px; line-height:1.1;
}
.cd-chip-place small{
	font-family:var(--body);
	font-size:11px; font-weight:700; letter-spacing:.02em;
	text-transform:none; color:var(--flame);
}
.cd-chip-place.is-on small{ color:#ffb59c; }
.cd-chip-place small:empty{ display:none; }
.cd-chip-fit small:empty{ display:none; }

/* =========================================================================
   v9.3 BLOCK CHECKOUT — Fulloat design system
   Targets the WooCommerce Blocks checkout (wc-block-*), which the theme
   previously had no styling for at all. Additive only.
   ====================================================================== */

/* ---- 1. THE BUG FIX -------------------------------------------------
   `.woocommerce-checkout label { display:block }` (line ~462) collapsed the
   block checkbox's flex layout, dropping the tick mark below the box. These
   put the component back the way it was designed. */
.wc-block-components-checkbox,
.wc-block-components-checkbox label,
label.wc-block-components-checkbox{
	display:flex !important;
	align-items:flex-start !important;
	gap:10px !important;
	position:relative !important;
	margin:0 !important;
	font-family:var(--body) !important;
	font-size:13.5px !important;
	font-weight:400 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	line-height:1.45 !important;
	color:var(--ink-text) !important;
	cursor:pointer;
}
.wc-block-components-checkbox__input[type="checkbox"]{
	flex:0 0 auto !important;
	width:20px !important; height:20px !important;
	margin:0 !important; padding:0 !important;
	-webkit-appearance:none; appearance:none;
	background:#fff !important;
	border:1.5px solid var(--ink-text) !important;
	border-radius:0 !important;
	cursor:pointer; position:relative; top:1px;
	transition:background .15s ease;
}
.wc-block-components-checkbox__input[type="checkbox"]:checked{
	background:var(--flame) !important;
	border-color:var(--flame) !important;
}
.wc-block-components-checkbox__mark{
	position:absolute !important;
	left:2px !important; top:3px !important;
	width:16px !important; height:16px !important;
	fill:#fff !important;
	pointer-events:none;
	opacity:0; transition:opacity .12s ease;
}
.wc-block-components-checkbox__input[type="checkbox"]:checked ~ .wc-block-components-checkbox__mark{ opacity:1; }
.wc-block-components-checkbox__label{
	font-family:var(--body) !important;
	font-size:13.5px !important;
	text-transform:none !important;
	letter-spacing:0 !important;
	font-weight:400 !important;
	color:var(--ink-text) !important;
	margin:0 !important;
}

/* Radio controls (shipping + payment).
   The block puts the input in absolute position with the option reserving
   ~1em of left padding. Enlarging the input without widening that gutter
   pushed the dot on top of the label text, clipping "Free shipping" to
   "ee shipping". Reserve the space explicitly. */
.wc-block-components-radio-control__input{
	position:absolute !important;
	left:18px !important;
	top:22px !important;
	width:19px !important; height:19px !important;
	margin:0 !important;
	accent-color:var(--flame);
}

/* ---- 2. Page shell -------------------------------------------------- */
.wc-block-checkout,
.wp-block-woocommerce-checkout{
	font-family:var(--body);
	color:var(--ink-text);
}
.wc-block-checkout__form,
.wc-block-components-main{ max-width:none; }

/* Section headings */
.wc-block-components-checkout-step__title,
.wc-block-components-title{
	font-family:var(--display) !important;
	font-size:17px !important;
	font-weight:700 !important;
	letter-spacing:.06em !important;
	text-transform:uppercase !important;
	color:var(--ink-text) !important;
}
.wc-block-components-checkout-step__heading{ margin-bottom:14px !important; }
.wc-block-components-checkout-step__description{
	font-size:13px; color:var(--ink-soft); line-height:1.55;
}
.wc-block-components-checkout-step{
	padding-bottom:26px !important;
	border-bottom:1px solid var(--line-warm);
	margin-bottom:26px !important;
}
.wc-block-components-checkout-step:last-of-type{ border-bottom:none; }

/* ---- 3. Inputs ------------------------------------------------------ */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.wc-blocks-components-select__select,
.wc-block-components-textarea{
	background:#fff !important;
	border:1.5px solid var(--line-warm) !important;
	border-radius:0 !important;
	padding:22px 14px 8px !important;
	height:auto !important;
	min-height:56px !important;
	font-family:var(--body) !important;
	font-size:14.5px !important;
	color:var(--ink-text) !important;
	box-shadow:none !important;
	transition:border-color .16s ease;
}
.wc-block-components-textarea{ padding:14px !important; }
.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-textarea:focus{
	border-color:var(--flame) !important;
	outline:none !important;
	box-shadow:0 0 0 1px var(--flame) !important;
}
.wc-block-components-text-input label,
.wc-blocks-components-select__label{
	font-family:var(--body) !important;
	font-size:14px !important;
	font-weight:400 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	color:var(--ink-soft) !important;
	left:14px !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label{
	font-size:11px !important;
	letter-spacing:.04em !important;
	text-transform:uppercase !important;
	font-weight:700 !important;
	color:var(--ink-soft) !important;
}
.wc-block-components-validation-error{
	font-size:12px !important; color:#c0341a !important; font-weight:700;
}
.wc-block-components-text-input.has-error input{ border-color:#c0341a !important; }

/* ---- 4. Buttons — brand orange #ff4d1c ------------------------------ */
.wc-block-components-button:not(.is-link),
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-totals-coupon__button{
	background:var(--flame) !important;
	color:#fff !important;
	border:1.5px solid var(--flame) !important;
	border-radius:0 !important;
	font-family:var(--display) !important;
	font-size:14px !important;
	font-weight:700 !important;
	letter-spacing:.08em !important;
	text-transform:uppercase !important;
	min-height:58px !important;
	padding:0 26px !important;
	box-shadow:none !important;
	transition:background .18s ease, border-color .18s ease;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-totals-coupon__button:hover{
	background:var(--ink-text) !important;
	border-color:var(--ink-text) !important;
	color:#fff !important;
}
.wc-block-components-button:not(.is-link):disabled{
	background:#c9c0ad !important; border-color:#c9c0ad !important;
}
.wc-block-components-button.is-link,
.wc-block-components-checkout-return-to-cart-button{
	color:var(--flame) !important;
	font-weight:700;
	text-decoration:underline; text-underline-offset:3px;
}

/* ---- 5. Order summary — dark, branded, sticky ----------------------- */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-totals-block{
	position:sticky; top:20px;
}
/* Paint the panel ONCE, on the sidebar itself. Painting the inner blocks too
   left a pale frame showing between the two backgrounds. */
.wc-block-checkout__sidebar{
	background:var(--ink) !important;
	color:#fff !important;
	padding:26px 24px !important;
	border:none !important;
	border-radius:0 !important;
	box-shadow:10px 10px 0 rgba(0,0,0,.14);
}
.wc-block-checkout__sidebar > div,
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__sidebar .wc-block-components-panel{
	background:transparent !important;
	border:none !important;
	border-radius:0 !important;
	box-shadow:none !important;
	padding-left:0 !important;
	padding-right:0 !important;
}
.wc-block-checkout__sidebar .wc-block-components-title,
.wc-block-checkout__sidebar .wc-block-components-order-summary__title-text,
.wc-block-checkout__sidebar .wc-block-components-panel__button{
	color:#fff !important;
	font-family:var(--display) !important;
	text-transform:uppercase !important;
	letter-spacing:.06em !important;
}
.wc-block-checkout__sidebar .wc-block-components-product-name,
.wc-block-checkout__sidebar .wc-block-components-product-metadata,
.wc-block-checkout__sidebar .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-totals-item__value{
	color:#fff !important;
}
.wc-block-checkout__sidebar .wc-block-components-product-name{
	font-size:13px !important; font-weight:700 !important; line-height:1.4;
}
.wc-block-checkout__sidebar .wc-block-components-product-metadata{
	color:rgba(255,255,255,.62) !important; font-size:12px !important;
}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item{
	border-bottom:1px solid rgba(255,255,255,.12) !important;
	padding:16px 0 !important;
}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__image img{
	border:1px solid rgba(255,255,255,.16);
}
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__quantity{
	background:var(--flame) !important;
	border-color:var(--flame) !important;
	color:#fff !important;
	font-weight:700;
}
/* The savings chip — this is persuasion, make it read */
.wc-block-checkout__sidebar .wc-block-components-sale-badge,
.wc-block-components-sale-badge{
	background:var(--flame) !important;
	color:#fff !important;
	border:none !important;
	border-radius:0 !important;
	font-family:var(--display) !important;
	font-size:11px !important;
	font-weight:700 !important;
	letter-spacing:.04em !important;
	text-transform:uppercase !important;
	padding:4px 8px !important;
}
.wc-block-checkout__sidebar .wc-block-components-totals-item{
	padding:9px 0 !important; font-size:13px !important;
}
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item{
	border-top:2px solid rgba(255,255,255,.22) !important;
	margin-top:8px !important; padding-top:16px !important;
}
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
	font-family:var(--display) !important;
	font-size:22px !important;
	font-weight:700 !important;
	color:#fff !important;
}
.wc-block-checkout__sidebar .wc-block-components-totals-coupon__form input{
	background:rgba(255,255,255,.08) !important;
	border-color:rgba(255,255,255,.22) !important;
	color:#fff !important;
}
.wc-block-checkout__sidebar a{ color:var(--flame) !important; }

/* ---- 6. Shipping + payment option cards ----------------------------- */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option{
	position:relative !important;
	background:#fff !important;
	border:1.5px solid var(--line-warm) !important;
	border-radius:0 !important;
	padding:16px 18px 16px 50px !important;
	margin-bottom:10px !important;
	transition:border-color .16s ease;
}
/* The accordion wrapper holds its own padded content — don't double-indent */
.wc-block-components-radio-control-accordion-option{ padding:0 !important; }
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{
	border:none !important; margin-bottom:0 !important; background:transparent !important;
}
.wc-block-components-radio-control-accordion-content{
	padding:0 18px 16px 50px !important;
	font-size:12.5px; color:var(--ink-soft);
}
.wc-block-components-radio-control__option:hover{ border-color:var(--ink-text) !important; }
.wc-block-components-radio-control-accordion-option:has(input:checked),
.wc-block-components-radio-control__option--checked{
	border-color:var(--flame) !important;
	box-shadow:inset 0 0 0 1px var(--flame);
}
.wc-block-components-radio-control__label{
	font-family:var(--display) !important;
	font-size:13px !important;
	font-weight:700 !important;
	letter-spacing:.05em !important;
	text-transform:uppercase !important;
	color:var(--ink-text) !important;
}
.wc-block-components-radio-control__description,
.wc-block-components-radio-control__secondary-label{
	font-size:12.5px !important; color:var(--ink-soft) !important;
	text-transform:none !important; letter-spacing:0 !important;
}

/* ---- 7. Trust strip under the pay button ---------------------------- */
.fl-checkout-trust{
	display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
	margin:20px 0 0; padding:18px;
	background:var(--cream-2); border:1px solid var(--line-warm);
}
.fl-checkout-trust div{
	display:flex; flex-direction:column; align-items:center; gap:6px;
	text-align:center; font-size:11px; line-height:1.4; color:var(--ink-soft);
}
.fl-checkout-trust svg{ width:22px; height:22px; stroke:var(--flame); fill:none; stroke-width:1.7; }
.fl-checkout-trust b{
	font-family:var(--display); font-size:11.5px; font-weight:700;
	letter-spacing:.04em; text-transform:uppercase; color:var(--ink-text);
}

/* ---- 8. Coupon panel ------------------------------------------------ */
.wc-block-components-panel__button{
	font-family:var(--display) !important;
	font-size:12.5px !important; font-weight:700 !important;
	letter-spacing:.05em !important; text-transform:uppercase !important;
}

/* ---- 9. Notices ----------------------------------------------------- */
.wc-block-components-notice-banner{
	border-radius:0 !important;
	border-width:1.5px !important;
	font-family:var(--body) !important;
	font-size:13.5px !important;
}
.wc-block-components-notice-banner.is-error{ border-color:#c0341a !important; }

/* ---- 10. Responsive ------------------------------------------------- */
@media (max-width:1000px){
	.wc-block-checkout__sidebar{
		position:static;
		box-shadow:6px 6px 0 rgba(0,0,0,.18);
		margin-bottom:28px;
	}
}
@media (max-width:600px){
	.wc-block-checkout__sidebar{ padding:20px 18px; }
	.wc-block-components-button:not(.is-link),
	.wc-block-components-checkout-place-order-button{ min-height:54px !important; font-size:13px !important; }
	.fl-checkout-trust{ grid-template-columns:1fr; gap:12px; padding:14px; }
	.fl-checkout-trust div{ flex-direction:row; align-items:center; text-align:left; gap:10px; }
}

/* =========================================================================
   v9.4 ORDER RECEIVED / THANK YOU PAGE
   ====================================================================== */

.fl-thanks{ max-width:860px; margin:0 auto; }

/* ---- Confirmation banner ---- */
.fl-thanks-hero{
	position:relative;
	background:var(--ink);
	color:#fff;
	padding:52px 38px 40px;
	text-align:center;
	box-shadow:12px 12px 0 rgba(0,0,0,.14);
	margin-bottom:44px;
}
.fl-thanks-check{
	width:66px; height:66px; margin:0 auto 20px;
	display:flex; align-items:center; justify-content:center;
	background:var(--flame); color:#fff; border-radius:50%;
	animation:flPop .45s cubic-bezier(.2,.9,.3,1.4) both;
}
.fl-thanks-check svg{ width:32px; height:32px; }
@keyframes flPop{ from{ transform:scale(.4); opacity:0; } to{ transform:scale(1); opacity:1; } }

.fl-thanks-eyebrow{
	display:inline-block; margin-bottom:14px; padding:5px 12px;
	background:var(--flame); color:#fff;
	font-family:var(--display); font-size:11px; font-weight:700;
	letter-spacing:.16em; text-transform:uppercase;
}
.fl-thanks-hero h2{
	margin:0 0 12px; color:#fff;
	font-family:var(--display);
	font-size:clamp(30px,4.6vw,46px); font-weight:700;
	line-height:1.02; letter-spacing:-.01em; text-transform:uppercase;
}
.fl-thanks-sub{
	max-width:520px; margin:0 auto;
	font-size:14.5px; line-height:1.65; color:rgba(255,255,255,.72);
}

.fl-thanks-facts{
	list-style:none; margin:32px 0 0; padding:26px 0 0;
	border-top:1px solid rgba(255,255,255,.16);
	display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:22px;
	text-align:left;
}
.fl-thanks-facts li{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.fl-thanks-facts span{
	font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
	color:rgba(255,255,255,.5);
}
.fl-thanks-facts b{
	font-family:var(--display); font-size:15px; font-weight:700; color:#fff;
	overflow-wrap:anywhere;
}
.fl-thanks-facts b .amount{ color:var(--flame); }

/* ---- What happens next ---- */
.fl-steps{ margin:0 0 44px; }
.fl-steps h3{
	margin:0 0 22px;
	font-family:var(--display); font-size:17px; font-weight:700;
	letter-spacing:.06em; text-transform:uppercase; color:var(--ink-text);
}
.fl-steps ol{
	list-style:none; margin:0; padding:0;
	display:grid; grid-template-columns:repeat(4,1fr); gap:0;
}
.fl-steps li{
	position:relative; padding:26px 16px 0 0;
	border-top:3px solid var(--line-warm);
}
.fl-steps li::before{
	content:""; position:absolute; top:-9px; left:0;
	width:15px; height:15px; border-radius:50%;
	background:var(--cream-bg); border:3px solid var(--line-warm);
}
.fl-steps li.is-done{ border-top-color:var(--flame); }
.fl-steps li.is-done::before{ background:var(--flame); border-color:var(--flame); }
.fl-steps b{
	display:block; margin-bottom:6px;
	font-family:var(--display); font-size:13px; font-weight:700;
	letter-spacing:.04em; text-transform:uppercase; color:var(--ink-text);
}
.fl-steps span{ font-size:12.5px; line-height:1.55; color:var(--ink-soft); }

/* ---- Order details table (WooCommerce default markup) ---- */
.fl-thanks + .woocommerce-order-details,
.woocommerce-order-details,
.woocommerce-customer-details{ max-width:860px; margin:0 auto 44px; }

.woocommerce-order-details__title,
.woocommerce-column__title{
	font-family:var(--display) !important;
	font-size:17px !important; font-weight:700 !important;
	letter-spacing:.06em !important; text-transform:uppercase !important;
	color:var(--ink-text) !important;
	margin:0 0 16px !important;
}
.woocommerce-table--order-details{
	width:100%; border-collapse:collapse;
	background:#fff; border:1.5px solid var(--ink-text);
}
.woocommerce-table--order-details th,
.woocommerce-table--order-details td{
	padding:14px 18px !important;
	border-bottom:1px solid var(--line-warm) !important;
	font-size:13.5px; text-align:left; vertical-align:top;
}
.woocommerce-table--order-details thead th{
	background:var(--ink-text); color:#fff !important;
	font-family:var(--display); font-size:11.5px; font-weight:700;
	letter-spacing:.1em; text-transform:uppercase;
	border-bottom:none !important;
}
.woocommerce-table--order-details tfoot th{
	font-family:var(--display); font-size:12px;
	letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);
}
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td{
	border-bottom:none !important;
	border-top:2px solid var(--ink-text) !important;
	font-size:17px; font-weight:700;
	font-family:var(--display); color:var(--ink-text);
}
.woocommerce-table--order-details td.woocommerce-table__product-total,
.woocommerce-table--order-details tfoot td{ text-align:right; white-space:nowrap; }
.woocommerce-table--order-details thead th:last-child{ text-align:right; }
.woocommerce-table--order-details .wc-item-meta{
	list-style:none; margin:6px 0 0; padding:0;
	font-size:12px; color:var(--ink-soft);
}
.woocommerce-table--order-details .wc-item-meta li{ display:flex; gap:6px; }
.woocommerce-table--order-details .wc-item-meta strong{ font-weight:700; }
.woocommerce-table--order-details a{ color:var(--ink-text); font-weight:700; }
.woocommerce-table--order-details a:hover{ color:var(--flame); }

/* ---- Address cards ---- */
.woocommerce-customer-details .woocommerce-columns{
	display:grid; grid-template-columns:1fr 1fr; gap:24px;
}
.woocommerce-customer-details address{
	padding:20px 22px; font-style:normal; font-size:13.5px; line-height:1.7;
	background:#fff; border:1.5px solid var(--line-warm); color:var(--ink-text);
}
.woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-customer-details .woocommerce-customer-details--email{
	margin:10px 0 0; font-size:13px; color:var(--ink-soft);
}

/* ---- Buttons + helpers ---- */
.fl-thanks-actions{
	display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
	margin:0 0 24px;
}
.fl-btn{
	display:inline-flex; align-items:center; justify-content:center;
	min-height:54px; padding:0 30px;
	font-family:var(--display); font-size:13.5px; font-weight:700;
	letter-spacing:.08em; text-transform:uppercase;
	border:1.5px solid var(--flame); cursor:pointer;
	transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.fl-btn-primary{ background:var(--flame); color:#fff !important; }
.fl-btn-primary:hover{ background:var(--ink-text); border-color:var(--ink-text); color:#fff !important; }
.fl-btn-ghost{ background:transparent; color:var(--ink-text) !important; border-color:var(--ink-text); }
.fl-btn-ghost:hover{ background:var(--ink-text); color:#fff !important; }

.fl-thanks-help{
	text-align:center; font-size:13px; color:var(--ink-soft); margin:0 0 40px;
}
.fl-thanks-help a{ color:var(--flame); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* ---- Failed payment ---- */
.fl-thanks-fail{
	background:#fff; border:2px solid #c0341a;
	padding:34px 30px; text-align:center; margin-bottom:36px;
}
.fl-thanks-fail h2{
	margin:0 0 10px; color:#c0341a;
	font-family:var(--display); font-size:26px; font-weight:700; text-transform:uppercase;
}
.fl-thanks-fail p{ margin:0 0 20px; font-size:14px; color:var(--ink-soft); line-height:1.6; }
.fl-thanks-fail-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ---- Responsive ---- */
@media (max-width:860px){
	.fl-steps ol{ grid-template-columns:repeat(2,1fr); row-gap:26px; }
	.woocommerce-customer-details .woocommerce-columns{ grid-template-columns:1fr; }
}
@media (max-width:560px){
	.fl-thanks-hero{ padding:38px 22px 30px; box-shadow:7px 7px 0 rgba(0,0,0,.14); }
	.fl-thanks-facts{ grid-template-columns:1fr 1fr; gap:16px; }
	.fl-steps ol{ grid-template-columns:1fr; row-gap:22px; }
	.fl-steps li{ padding-right:0; }
	.woocommerce-table--order-details th,
	.woocommerce-table--order-details td{ padding:12px 13px !important; font-size:12.5px; }
	.fl-btn{ width:100%; }
}

/* =========================================================================
   v9.5 FIXES — order detail layout (My Account → view order)
   ====================================================================== */

/* Item meta (design file, size, fit, colour, placement) was rendering as
   label-on-one-line / value-indented-below, because WooCommerce wraps each
   value in a <p>. Lay each pair out on one line. */
.wc-item-meta,
.woocommerce-table--order-details .wc-item-meta{
	list-style:none !important;
	margin:8px 0 0 !important;
	padding:0 !important;
	font-size:12.5px;
	color:var(--ink-soft);
}
.wc-item-meta li{
	display:flex !important;
	flex-wrap:wrap;
	align-items:baseline;
	gap:6px !important;
	margin:0 0 4px !important;
	padding:0 !important;
}
.wc-item-meta li::before{ display:none !important; }
.wc-item-meta .wc-item-meta-label,
.wc-item-meta strong{
	flex:0 0 auto;
	margin:0 !important;
	font-weight:700;
	color:var(--ink-text);
	white-space:nowrap;
}
.wc-item-meta li p,
.wc-item-meta p{
	display:inline !important;
	margin:0 !important;
	padding:0 !important;
	color:var(--ink-soft);
	overflow-wrap:anywhere;
}

/* Billing / shipping address columns were floating out of order with a big
   gap between them — WooCommerce's own col2-set floats were still active. */
.woocommerce-customer-details .woocommerce-columns,
.woocommerce-customer-details .col2-set,
.woocommerce-order-details + .woocommerce-customer-details .col2-set{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;
	gap:24px !important;
	width:100% !important;
	float:none !important;
}
.woocommerce-customer-details .col2-set::before,
.woocommerce-customer-details .col2-set::after,
.woocommerce-customer-details .woocommerce-columns::before,
.woocommerce-customer-details .woocommerce-columns::after{ display:none !important; }
.woocommerce-customer-details .woocommerce-column,
.woocommerce-customer-details .col-1,
.woocommerce-customer-details .col-2{
	float:none !important;
	width:auto !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
}
.woocommerce-customer-details .woocommerce-column__title,
.woocommerce-customer-details h2{ margin:0 0 12px !important; }

/* "Order #836 was placed on ... and is currently Processing." */
.woocommerce-order-details .woocommerce-order-overview,
p.order-again,
.woocommerce-MyAccount-content > p:first-of-type{
	font-size:14px; line-height:1.6;
}
.woocommerce-MyAccount-content mark,
.woocommerce-order-details mark{
	background:var(--flame); color:#fff;
	padding:2px 7px; font-weight:700; font-size:12.5px;
	letter-spacing:.04em; text-transform:uppercase;
}

/* Order table inside My Account picks up the same treatment as the
   thank-you page (that CSS is scoped to the table class, so it already
   applies) — just make sure it can't overflow its column. */
.woocommerce-MyAccount-content .woocommerce-table--order-details{
	display:table !important;
	table-layout:auto;
	width:100% !important;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details td,
.woocommerce-MyAccount-content .woocommerce-table--order-details th{
	word-break:normal;
	overflow-wrap:anywhere;
}

@media (max-width:760px){
	.woocommerce-customer-details .woocommerce-columns,
	.woocommerce-customer-details .col2-set{ grid-template-columns:1fr !important; }
}

/* =========================================================================
   v9.5 ORDER TRACKING PAGE
   ====================================================================== */

.fl-track-hero{
	background:var(--ink); color:#fff;
	padding:58px 0 50px; text-align:center;
}
.fl-track-hero-eyebrow{
	display:inline-block; margin-bottom:16px; padding:6px 13px;
	background:var(--flame); color:#fff;
	font-family:var(--display); font-size:11px; font-weight:700;
	letter-spacing:.16em; text-transform:uppercase;
}
.fl-track-hero h1{
	margin:0 0 14px; color:#fff;
	font-family:var(--display);
	font-size:clamp(32px,5vw,54px); font-weight:700;
	line-height:1; text-transform:uppercase; letter-spacing:-.01em;
}
.fl-track-hero p{
	max-width:520px; margin:0 auto;
	font-size:14.5px; line-height:1.6; color:rgba(255,255,255,.7);
}

.fl-track-sec{ padding:48px 0 80px; max-width:860px; }

/* ---- Lookup form ---- */
.fl-track-form{
	background:#fff; border:2px solid var(--ink-text);
	padding:26px 24px; margin-bottom:32px;
	box-shadow:8px 8px 0 rgba(0,0,0,.12);
}
.fl-track-fields{
	display:grid; grid-template-columns:1fr 1fr auto; gap:14px; align-items:end;
}
.fl-track-fields label{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.fl-track-fields label span{
	font-family:var(--display); font-size:12px; font-weight:700;
	letter-spacing:.07em; text-transform:uppercase; color:var(--ink-text);
}
.fl-track-fields input{
	height:52px; padding:0 14px;
	font-family:var(--body); font-size:14px; color:var(--ink-text);
	background:#fff; border:1.5px solid var(--line-warm);
	border-radius:0; box-sizing:border-box; width:100%;
}
.fl-track-fields input:focus{ outline:none; border-color:var(--flame); }
.fl-track-fields .fl-btn{ height:52px; min-height:52px; }

.fl-track-error{
	padding:14px 16px; margin:0 0 26px;
	background:rgba(192,52,26,.07); border-left:3px solid #c0341a;
	font-size:13.5px; line-height:1.55; color:#c0341a; font-weight:700;
}

/* ---- Result ---- */
.fl-track-result{ margin-top:8px; }

.fl-track-head{
	display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
	background:var(--ink); color:#fff;
	padding:24px 26px; margin-bottom:36px;
	box-shadow:8px 8px 0 rgba(0,0,0,.12);
}
.fl-track-head > div{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.fl-track-label{
	font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
	color:rgba(255,255,255,.5);
}
.fl-track-head b{
	font-family:var(--display); font-size:15px; font-weight:700; color:#fff;
	overflow-wrap:anywhere;
}
.fl-track-status{ color:var(--flame) !important; text-transform:uppercase; }

/* ---- Progress steps ---- */
.fl-track-steps{
	list-style:none; margin:0 0 32px; padding:0;
	display:grid; grid-template-columns:repeat(4,1fr);
}
.fl-track-steps li{
	position:relative; padding:26px 16px 0 0;
	border-top:3px solid var(--line-warm);
}
.fl-track-steps li::before{
	content:""; position:absolute; top:-9px; left:0;
	width:15px; height:15px; border-radius:50%;
	background:var(--cream-bg); border:3px solid var(--line-warm);
}
.fl-track-steps li.is-done{ border-top-color:var(--flame); }
.fl-track-steps li.is-done::before{ background:var(--flame); border-color:var(--flame); }
.fl-track-steps li.is-now::before{
	box-shadow:0 0 0 5px rgba(255,77,28,.22);
	animation:flPulse 1.8s ease-in-out infinite;
}
@keyframes flPulse{
	0%,100%{ box-shadow:0 0 0 4px rgba(255,77,28,.2); }
	50%{ box-shadow:0 0 0 9px rgba(255,77,28,.05); }
}
.fl-track-steps b{
	display:block; margin-bottom:6px;
	font-family:var(--display); font-size:13px; font-weight:700;
	letter-spacing:.04em; text-transform:uppercase; color:var(--ink-text);
}
.fl-track-steps li:not(.is-done) b{ color:var(--ash); }
.fl-track-steps span{ font-size:12.5px; line-height:1.5; color:var(--ink-soft); }

/* ---- Shipment card (also used on the order page) ---- */
.fl-track-card{
	display:flex; align-items:center; justify-content:space-between;
	flex-wrap:wrap; gap:18px;
	background:#fff; border:2px solid var(--ink-text);
	padding:22px 24px; margin:0 0 32px;
}
.fl-track-card-main{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.fl-track-eyebrow{
	font-family:var(--display); font-size:10.5px; font-weight:700;
	letter-spacing:.14em; text-transform:uppercase; color:var(--flame);
}
.fl-track-card-main b{
	font-family:var(--display); font-size:18px; font-weight:700;
	text-transform:uppercase; color:var(--ink-text);
}
.fl-track-awb{
	font-size:13.5px; letter-spacing:.06em; color:var(--ink-text);
	background:var(--cream-2); padding:4px 9px; align-self:flex-start;
}
.fl-track-eta{ font-size:12.5px; color:var(--ink-soft); }

.fl-track-pending{
	padding:16px 18px; margin:0 0 32px;
	background:var(--cream-2); border-left:3px solid var(--flame);
	font-size:13.5px; line-height:1.6; color:var(--ink-soft);
}
.fl-track-cancelled{
	padding:18px 20px; margin:0 0 32px;
	background:#fff; border:2px solid #c0341a;
	font-size:14px; line-height:1.6; color:var(--ink-text);
}

/* ---- Items ---- */
.fl-track-items{ margin:0 0 28px; }
.fl-track-items h3{
	margin:0 0 14px;
	font-family:var(--display); font-size:15px; font-weight:700;
	letter-spacing:.07em; text-transform:uppercase; color:var(--ink-text);
}
.fl-track-items ul{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line-warm); }
.fl-track-items li{
	display:flex; justify-content:space-between; gap:16px;
	padding:12px 0; border-bottom:1px solid var(--line-warm);
	font-size:13.5px; color:var(--ink-text);
}
.fl-track-items b{ font-weight:700; white-space:nowrap; }

.fl-track-help{ font-size:13px; color:var(--ink-soft); margin:0; }
.fl-track-help a{ color:var(--flame); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

.fl-track-content{ margin-top:48px; font-size:15px; line-height:1.7; }

@media (max-width:760px){
	.fl-track-fields{ grid-template-columns:1fr; }
	.fl-track-fields .fl-btn{ width:100%; }
	.fl-track-head{ grid-template-columns:1fr 1fr; gap:16px; }
	.fl-track-steps{ grid-template-columns:1fr 1fr; row-gap:26px; }
	.fl-track-card{ flex-direction:column; align-items:flex-start; }
	.fl-track-card .fl-btn{ width:100%; }
}
@media (max-width:460px){
	.fl-track-steps{ grid-template-columns:1fr; }
	.fl-track-steps li{ padding-right:0; }
}

/* =========================================================================
   v9.5 ORDER DETAILS + ADDRESSES — fixes for My Account → View order
   WooCommerce's own col2-set floats were fighting the grid, and item meta
   labels/values were breaking onto separate lines.
   ====================================================================== */

/* ---- Item meta: label and value on one line ------------------------- */
.wc-item-meta{
	list-style:none !important;
	margin:8px 0 0 !important;
	padding:0 !important;
	font-size:12.5px; line-height:1.5; color:var(--ink-soft);
}
.wc-item-meta li{
	display:flex !important;
	flex-wrap:wrap;
	align-items:baseline;
	gap:6px;
	margin:0 0 3px !important;
	padding:0 !important;
}
.wc-item-meta li::before{ content:none !important; }
.wc-item-meta .wc-item-meta-label,
.wc-item-meta strong{
	flex:0 0 auto;
	margin:0 !important;
	font-weight:700 !important;
	color:var(--ink-text) !important;
	font-size:12.5px !important;
}
/* Woo wraps the value in a <p> — kill its block margins */
.wc-item-meta li p,
.wc-item-meta li > *:not(strong):not(.wc-item-meta-label){
	display:inline !important;
	margin:0 !important;
	padding:0 !important;
	font-size:12.5px !important;
}

/* ---- Order details table (both thank-you and view-order) ------------ */
.woocommerce-MyAccount-content .woocommerce-table--order-details,
.woocommerce-order-details .woocommerce-table--order-details{
	width:100% !important;
	border-collapse:collapse !important;
	background:#fff !important;
	border:1.5px solid var(--ink-text) !important;
	margin-bottom:36px !important;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details thead th,
.woocommerce-order-details .woocommerce-table--order-details thead th{
	background:var(--ink-text) !important;
	color:#fff !important;
	font-family:var(--display) !important;
	font-size:11.5px !important;
	font-weight:700 !important;
	letter-spacing:.1em !important;
	text-transform:uppercase !important;
	border-bottom:none !important;
	padding:13px 18px !important;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details tbody td,
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th,
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot td{
	padding:14px 18px !important;
	border-bottom:1px solid var(--line-warm) !important;
	font-size:13.5px !important;
	vertical-align:top !important;
}
.woocommerce-table--order-details .woocommerce-table__product-name{ line-height:1.5; }
.woocommerce-table--order-details .woocommerce-table__product-name > a{
	font-weight:700; color:var(--ink-text);
}
.woocommerce-table--order-details .woocommerce-table__product-name > a:hover{ color:var(--flame); }

/* ---- Addresses: force a clean two-column grid ----------------------- */
.woocommerce-customer-details .woocommerce-columns,
.woocommerce-customer-details .col2-set,
.woocommerce-customer-details .addresses{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;
	gap:24px !important;
	float:none !important;
	width:100% !important;
	margin:0 !important;
}
/* Neutralise WooCommerce's float/width rules on the columns */
.woocommerce-customer-details .woocommerce-column,
.woocommerce-customer-details .col-1,
.woocommerce-customer-details .col-2{
	float:none !important;
	width:auto !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
	min-width:0;
}
.woocommerce-customer-details .woocommerce-columns::before,
.woocommerce-customer-details .woocommerce-columns::after,
.woocommerce-customer-details .col2-set::before,
.woocommerce-customer-details .col2-set::after{ content:none !important; display:none !important; }

.woocommerce-customer-details .woocommerce-column__title,
.woocommerce-customer-details h2,
.woocommerce-customer-details h3{
	font-family:var(--display) !important;
	font-size:15px !important;
	font-weight:700 !important;
	letter-spacing:.08em !important;
	text-transform:uppercase !important;
	color:var(--ink-text) !important;
	margin:0 0 12px !important;
}
.woocommerce-customer-details address{
	display:block;
	padding:18px 20px !important;
	font-style:normal !important;
	font-size:13.5px !important;
	line-height:1.7 !important;
	background:#fff !important;
	border:1.5px solid var(--line-warm) !important;
	color:var(--ink-text) !important;
	height:100%;
	box-sizing:border-box;
}

/* Order status line above the table */
.woocommerce-MyAccount-content > p:first-of-type{
	padding:14px 18px; margin:0 0 26px;
	background:var(--cream-2); border-left:3px solid var(--flame);
	font-size:13.5px; color:var(--ink-text);
}

@media (max-width:760px){
	.woocommerce-customer-details .woocommerce-columns,
	.woocommerce-customer-details .col2-set,
	.woocommerce-customer-details .addresses{ grid-template-columns:1fr !important; }
}

/* =========================================================================
   v9.6 PREPAID DROP NUDGE — cart, checkout and cart drawer
   ====================================================================== */

.fl-prepaid-nudge{
	display:flex; align-items:flex-start; gap:12px;
	padding:14px 16px; margin:0 0 18px;
	background:rgba(255,77,28,.06);
	border:1px dashed var(--flame);
}
.fl-prepaid-badge{
	flex:0 0 auto;
	background:var(--flame); color:#fff;
	font-family:var(--display);
	font-size:10.5px; font-weight:700;
	letter-spacing:.1em; text-transform:uppercase;
	padding:5px 9px; white-space:nowrap;
}
.fl-prepaid-copy{
	margin:0; font-size:12.5px; line-height:1.55; color:var(--ink-soft);
}
.fl-prepaid-copy b{
	display:block; margin-bottom:2px;
	font-size:14px; font-weight:700; color:var(--ink-text);
}

/* On the dark checkout sidebar, flip the text to light */
.wc-block-checkout__sidebar .fl-prepaid-nudge,
.cart-drawer .fl-prepaid-nudge{
	background:rgba(255,77,28,.12);
}
.wc-block-checkout__sidebar .fl-prepaid-copy,
.cart-drawer .fl-prepaid-copy{ color:rgba(255,255,255,.72); }
.wc-block-checkout__sidebar .fl-prepaid-copy b,
.cart-drawer .fl-prepaid-copy b{ color:#fff; }

/* The negative fee line in the totals — make the saving read as a win */
.wc-block-components-totals-fees .wc-block-components-totals-item__value,
.cart-discount .amount,
tr.fee .amount{ color:var(--flame) !important; font-weight:700; }
.wc-block-checkout__sidebar .wc-block-components-totals-fees .wc-block-components-totals-item__value{
	color:#ff8a63 !important;
}

@media (max-width:600px){
	.fl-prepaid-nudge{ flex-direction:column; gap:9px; padding:12px 14px; }
	.fl-prepaid-copy b{ font-size:13.5px; }
}

/* =========================================================================
   v10.0 INTRO LOADER + 3D MOTION LAYER
   Site-entry countdown loader, 3D hero reveal, tilt cards, depth carousel,
   scroll-reveal. All driven by assets/js/main.js — pure CSS/JS, no libs.
   ====================================================================== */

/* ---------- Intro loader (homepage only) ------------------------------ */
.fl-loader{
	position:fixed; inset:0; z-index:9999;
	background:var(--ink);
	display:flex; align-items:center; justify-content:center;
	overflow:hidden;
}
.fl-loader-grid{
	position:absolute; inset:-1px;
	background-image:
		linear-gradient(var(--line) 1px,transparent 1px),
		linear-gradient(90deg,var(--line) 1px,transparent 1px);
	background-size:56px 56px;
	opacity:.55;
	-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0%,transparent 72%);
	mask-image:radial-gradient(circle at 50% 50%,#000 0%,transparent 72%);
}
.fl-loader-in{ position:relative; text-align:center; padding:0 24px; }
.fl-loader-tag{
	display:inline-flex; align-items:center; gap:8px;
	font-family:var(--display); font-size:11px; font-weight:700;
	letter-spacing:.3em; text-transform:uppercase; margin-bottom:20px;
}
.fl-loader-brand{ color:var(--flame); }
.fl-loader-slash{ color:var(--ash); }
.fl-loader-state{ color:#f7f3e9; }
.fl-loader-num{
	font-family:var(--display); font-weight:800;
	font-size:clamp(64px,14vw,140px); color:#f7f3e9;
	line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums;
}
.fl-loader-bar{
	width:min(220px,52vw); height:2px; background:var(--line);
	margin:26px auto 14px; position:relative; overflow:hidden;
}
.fl-loader-bar-fill{
	position:absolute; top:0; left:0; bottom:0; width:0%;
	background:linear-gradient(90deg,var(--flame),var(--caution));
}
.fl-loader-hint{
	display:block; font-family:var(--display); font-size:10px;
	letter-spacing:.32em; color:var(--ash); text-transform:uppercase;
}
.fl-loader.is-done{
	opacity:0; transform:scale(1.05);
	transition:opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1);
	pointer-events:none;
}
.fl-loader-hidden{ display:none; }
body.fl-loading{ overflow:hidden; height:100%; }

/* ---------- Hero: 3D reveal + parallax tilt ---------------------------- */
.hero-split-inner{ perspective:1400px; }
.hero-split-text,
.hero-split-media{
	transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);
	will-change:transform;
}
body.fl-loading .hero-split-text{
	opacity:0; transform:translateY(30px) rotateX(8deg);
}
body.fl-loading .hero-split-media{
	opacity:0; transform:translateY(40px) rotateX(10deg) scale(.96);
}
body.fl-revealed .hero-split-media{ transition-delay:.12s; }
body.fl-revealed .hero-split-text,
body.fl-revealed .hero-split-media{ opacity:1; transform:none; }

.hero-media-frame{ transition:transform .12s ease-out; }

/* ---------- Scroll reveal (sections fade/rotate up into place) -------- */
.fl-reveal{
	opacity:0; transform:translateY(36px) rotateX(6deg);
	transform-origin:50% 100%;
	transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
}
.fl-reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
	.fl-reveal{ opacity:1; transform:none; transition:none; }
}

/* ---------- Product card 3D tilt --------------------------------------- */
.pcard{ will-change:transform; }

/* ---------- Trending carousel: 3D depth-on-scroll ---------------------- */
.trend-carousel{ perspective:1600px; }
.trend-item{
	transition:transform .35s cubic-bezier(.2,.7,.2,1), opacity .35s ease;
	will-change:transform, opacity;
}

@media (prefers-reduced-motion:reduce){
	.hero-split-text,.hero-split-media,.pcard,.trend-item{ transition:none !important; }
	body.fl-loading .hero-split-text,body.fl-loading .hero-split-media{ opacity:1; transform:none; }
}

/* Loader never blocks if JS fails to run (progressive enhancement) */
.no-js .fl-loader{ display:none; }

/* =========================================================================
   v10.1 STICKER LOGO + HARD-SHADOW BUTTONS
   Bold outlined wordmark + solid offset black shadow, neo-brutalist style —
   FULLOAT colors (cream/flame on ink), not a copy of any reference brand.
   ====================================================================== */

/* ---------- Sticker text (bold outline + hard offset shadow) ---------- */
.fl-sticker-text{
	display:inline-block;
	font-family:var(--display); font-weight:800;
	text-transform:uppercase; letter-spacing:-.01em;
	color:#f7f3e9;
	-webkit-text-stroke:2px var(--ink);
	text-shadow:
		-2px -2px 0 var(--ink), 2px -2px 0 var(--ink),
		-2px  2px 0 var(--ink), 2px  2px 0 var(--ink),
		0 -2px 0 var(--ink), 0 2px 0 var(--ink),
		-2px 0 0 var(--ink), 2px 0 0 var(--ink),
		7px 7px 0 var(--flame);
}
.fl-loader-logo{
	font-size:clamp(40px,9vw,72px); line-height:1;
	margin-bottom:26px;
}

/* ---------- Hard-shadow ("sticker") buttons ---------------------------- */
.btn,.btn-primary,.btn-ghost,
.pcard-add,.drop-atc,.quick-add-btn,
.cart-drawer-checkout,.whatsapp-btn{
	border:2px solid var(--ink);
	box-shadow:5px 5px 0 var(--ink);
	transition:background .2s ease, color .2s ease, transform .15s ease, box-shadow .15s ease;
}
.btn:hover,.btn-primary:hover,.btn-ghost:hover,
.drop-atc:hover,.quick-add-btn:hover,
.cart-drawer-checkout:hover,.whatsapp-btn:hover{
	transform:translate(-2px,-2px);
	box-shadow:7px 7px 0 var(--ink);
}
.btn:active,.btn-primary:active,.btn-ghost:active,
.drop-atc:active,.quick-add-btn:active,
.cart-drawer-checkout:active,.whatsapp-btn:active{
	transform:translate(3px,3px);
	box-shadow:1px 1px 0 var(--ink);
}

/* Smaller CTAs get a lighter offset so they don't overpower the card */
.pcard-add{ box-shadow:3px 3px 0 var(--ink); }
.pcard-add:hover{ transform:translate(-1px,-1px); box-shadow:4px 4px 0 var(--ink); }
.pcard-add:active{ transform:translate(2px,2px); box-shadow:1px 1px 0 var(--ink); }

/* Quantity stepper pill (cart drawer) — same sticker treatment */
.cd-item-qty{
	border:2px solid var(--ink);
	box-shadow:3px 3px 0 var(--ink);
	background:#fff;
	transition:box-shadow .15s ease, transform .15s ease;
}
.cd-qty-btn{ font-weight:800; }

@media (max-width:480px){
	.btn,.btn-primary,.btn-ghost,.drop-atc,.quick-add-btn,.cart-drawer-checkout,.whatsapp-btn{
		box-shadow:4px 4px 0 var(--ink);
	}
}
@media (prefers-reduced-motion:reduce){
	.btn,.btn-primary,.btn-ghost,.pcard-add,.drop-atc,.quick-add-btn,.cart-drawer-checkout,.whatsapp-btn{
		transition:background .2s ease, color .2s ease;
	}
}

/* =========================================================================
   v10.2 RELATED PRODUCTS — carousel (matches homepage Trending style)
   Same visual language as .trend-carousel: horizontal scroll-snap track,
   sticker nav arrows, 3D depth-on-scroll. Overrides the old grid layout.
   ====================================================================== */
.related-band .related,
.woocommerce .related{ position:relative; }

.related-band ul.products,
.woocommerce .related ul.products{
	display:flex !important;
	overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory;
	gap:20px !important;
	padding:4px 0 12px !important;
	-ms-overflow-style:none; scrollbar-width:none;
}
.related-band ul.products::-webkit-scrollbar,
.woocommerce .related ul.products::-webkit-scrollbar{ display:none; }

.related-band ul.products li.product,
.woocommerce .related ul.products li.product{
	flex:0 0 calc((100% - 60px) / 4) !important;
	width:calc((100% - 60px) / 4) !important;
	min-width:0; scroll-snap-align:start;
	transition:transform .35s cubic-bezier(.2,.7,.2,1), opacity .35s ease;
	will-change:transform, opacity;
}

.related-nav{
	position:absolute; top:38%; z-index:3;
	width:46px; height:46px;
	display:flex; align-items:center; justify-content:center;
	background:var(--cream-bg); color:var(--ink-text);
	border:2px solid var(--ink-text); cursor:pointer;
	box-shadow:4px 4px 0 rgba(0,0,0,.18);
	transition:background .18s ease, color .18s ease, opacity .2s ease;
}
.related-nav:hover{ background:var(--flame); border-color:var(--flame); color:#fff; }
.related-nav[disabled]{ opacity:0; pointer-events:none; }
.related-prev{ left:-16px; }
.related-next{ right:-16px; }

@media (max-width:1100px){
	.related-band ul.products li.product,
	.woocommerce .related ul.products li.product{
		flex:0 0 calc((100% - 40px) / 3) !important;
		width:calc((100% - 40px) / 3) !important;
	}
	.related-prev{ left:-8px; } .related-next{ right:-8px; }
}
@media (max-width:820px){
	.related-band ul.products li.product,
	.woocommerce .related ul.products li.product{
		flex:0 0 calc((100% - 20px) / 2) !important;
		width:calc((100% - 20px) / 2) !important;
	}
	.related-nav{ display:none; }
}
@media (max-width:520px){
	.related-band ul.products,
	.woocommerce .related ul.products{ gap:14px !important; }
	.related-band ul.products li.product,
	.woocommerce .related ul.products li.product{
		flex:0 0 78% !important;
		width:78% !important;
	}
}
@media (prefers-reduced-motion:reduce){
	.related-band ul.products li.product,
	.woocommerce .related ul.products li.product{ transition:none; }
}
