/* Fit & Fab Nutrition theme styles. Mobile first. Colours from the logo. Generated from design/assets/mock.css + tools/main-css-extra.css by tools/build-css.py; edit those, then rebuild. */
/* Fit & Fab Nutrition — design system for the P4.1 mockups.
   Mobile first. Colours come from the logo: berry/magenta, near-black, orange→pink band.
   This file becomes the base of the real theme's CSS (P4.3+). */

:root {
	--hdr-h: 112px;          /* sticky header height (mobile: logo row + search) */
	--ink: #160a10;          /* header / footer background (logo black) */
	--ink-2: #24121b;
	--berry: #9b1458;        /* brand primary (logo magenta, Flatsome secondary was #98145b) */
	--berry-700: #7a0f45;
	--berry-50: #fbeef4;
	--flame-1: #f26a2e;      /* logo band orange */
	--flame-2: #e2245f;      /* logo band pink */
	--flame: linear-gradient(90deg, var(--flame-1), var(--flame-2));
	--green: #0d8a4f;        /* savings, in stock */
	--green-50: #e8f6ee;
	--amber: #f5a524;
	--red: #c62828;
	--bg: #f6f3f5;
	--surface: #ffffff;
	--text: #1d181b;
	--muted: #6c6469;
	--line: #ebe5e9;
	--radius: 14px;
	--radius-sm: 10px;
	--shadow: 0 1px 2px rgba(22, 10, 16, .06), 0 6px 18px rgba(22, 10, 16, .06);
	--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--font-display: "Barlow Condensed", "Inter", system-ui, sans-serif;
	--wrap: 1200px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 15px/1.5 var(--font); color: var(--text); background: var(--bg); }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 16px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- announcement + header ---------- */
.announce { background: var(--flame); color: #fff; font-size: 13px; text-align: center; padding: 7px 12px; }
.announce b { background: rgba(255,255,255,.2); padding: 1px 6px; border-radius: 4px; letter-spacing: .5px; }
.hdr { background: var(--ink); color: #fff; position: sticky; top: 0; z-index: 40; }
.hdr-row { display: flex; align-items: center; gap: 12px; height: 60px; }
.hdr .logo { display: flex; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 700; font-size: 20px; letter-spacing: .5px; text-transform: uppercase; }
.hdr .logo img { width: 40px; height: 40px; }
.hdr .logo small { display: block; font-size: 10px; letter-spacing: 3px; color: #ffb2cf; font-weight: 600; line-height: 1; }
.icon-btn { background: none; border: 0; color: #fff; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; position: relative; }
.icon-btn:hover { background: rgba(255,255,255,.08); }
.icon-btn svg { width: 22px; height: 22px; }
.badge-count { position: absolute; top: 4px; right: 2px; background: var(--flame-2); color: #fff; font-size: 10px; font-weight: 700; min-width: 17px; height: 17px; border-radius: 9px; display: grid; place-items: center; }
.hdr .spacer { flex: 1; }
.searchbox { display: flex; align-items: center; gap: 8px; background: #fff; color: var(--muted); border-radius: 10px; height: 42px; padding: 0 12px; flex: 1; }
.searchbox svg { width: 18px; height: 18px; flex: none; }
.searchbox input { border: 0; outline: 0; flex: 1; font: inherit; color: var(--text); min-width: 0; }
.hdr-search-mobile { padding: 0 0 10px; }
.hdr-search-desktop { display: none; }
.nav { display: none; }
.trust-strip { background: var(--ink-2); color: #f3dbe6; font-size: 12.5px; }
.trust-strip .wrap { display: flex; gap: 18px; overflow-x: auto; white-space: nowrap; padding: 8px 16px; scrollbar-width: none; }
.trust-strip span::before { content: "✓ "; color: #7ee2a8; font-weight: 700; }

/* mega menu (desktop) */
.mega { position: relative; }
.mega-panel { display: none; position: absolute; left: 0; top: 100%; background: #fff; color: var(--text); border-radius: 0 0 var(--radius) var(--radius); box-shadow: var(--shadow); padding: 20px; width: 760px; grid-template-columns: repeat(4, 1fr); gap: 20px; z-index: 50; }
.mega:hover .mega-panel, .mega:focus-within .mega-panel { display: grid; }
.mega-panel h4 { margin: 0 0 8px; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--berry); }
.mega-panel a { display: block; padding: 4px 0; color: var(--text); font-size: 14px; }
.mega-panel a:hover { color: var(--berry); }

/* drawer (mobile menu) */
.drawer { position: fixed; inset: 0; z-index: 60; display: none; }
.drawer.open { display: block; }
.drawer .scrim { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.drawer .panel { position: absolute; left: 0; top: 0; bottom: 0; width: 86%; max-width: 360px; background: #fff; overflow-y: auto; padding: 16px; }
.drawer details { border-bottom: 1px solid var(--line); padding: 10px 0; }
.drawer summary { font-weight: 700; list-style: none; display: flex; justify-content: space-between; }
.drawer summary::after { content: "+"; color: var(--berry); }
.drawer details[open] summary::after { content: "–"; }
.drawer details a { display: block; padding: 7px 0 7px 8px; color: var(--muted); }

/* ---------- sections / headings ---------- */
.section { padding: 22px 0; }
.sec-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.sec-head h2 { font-family: var(--font-display); font-size: 26px; line-height: 1.05; margin: 0; text-transform: uppercase; letter-spacing: .3px; }
.sec-head a { color: var(--berry); font-weight: 600; font-size: 14px; white-space: nowrap; }
.tabs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin-bottom: 12px; }
.tab { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 7px 14px; font-size: 14px; font-weight: 600; white-space: nowrap; color: var(--muted); }
.tab.on { background: var(--ink); color: #fff; border-color: var(--ink); }

/* ---------- hero ---------- */
.hero { border-radius: var(--radius); overflow: hidden; position: relative; background: radial-gradient(120% 140% at 85% 30%, #c2186b 0%, #6d0d3d 45%, var(--ink) 100%); color: #fff; min-height: 220px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; }
.hero .copy { padding: 22px 0 22px 20px; position: relative; z-index: 1; }
.hero .kicker { display: inline-block; background: var(--flame); font-size: 11px; font-weight: 700; letter-spacing: 1px; padding: 3px 8px; border-radius: 6px; text-transform: uppercase; }
.hero h1, .hero .h1 { font-family: var(--font-display); font-size: 32px; line-height: .98; margin: 10px 0 8px; text-transform: uppercase; }
.hero p { margin: 0 0 14px; color: #ffd7e7; font-size: 14px; }
.hero img { width: 100%; height: 220px; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(0,0,0,.45)); }
.hero img.hero-pack { width: auto; max-width: 86%; height: auto; max-height: 190px; background: #fff; border-radius: 16px; padding: 8px; margin: 0 auto; transform: rotate(4deg); filter: none; box-shadow: 0 18px 30px rgba(0,0,0,.35); }
.dots { display: flex; gap: 6px; justify-content: center; margin-top: 10px; }
.dots i { width: 7px; height: 7px; border-radius: 4px; background: #d8cdd3; }
.dots i.on { width: 20px; background: var(--berry); }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 10px; height: 46px; padding: 0 20px; font-weight: 700; font-size: 15px; }
.btn-cta { background: var(--flame); color: #fff; box-shadow: 0 6px 16px rgba(226, 36, 95, .3); }
.btn-dark { background: var(--ink); color: #fff; }
.btn-ghost { background: #fff; color: var(--berry); border: 1.5px solid var(--berry); }
.btn-wa { background: #1fa855; color: #fff; }
.btn-block { width: 100%; }
.btn-sm { height: 34px; padding: 0 12px; font-size: 13px; border-radius: 8px; }

/* ---------- category circles / goal tiles ---------- */
.circles { display: grid; grid-auto-flow: column; grid-auto-columns: 82px; gap: 12px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
.circle { text-align: center; font-size: 12.5px; font-weight: 600; }
.circle .img { width: 82px; height: 82px; border-radius: 50%; background: #fff; border: 2px solid var(--berry-50); display: grid; place-items: center; overflow: hidden; margin-bottom: 6px; }
.circle img { width: 64px; height: 64px; object-fit: contain; }
.goals { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.goal { border-radius: var(--radius); padding: 14px; color: #fff; min-height: 128px; display: flex; flex-direction: column; justify-content: end; position: relative; overflow: hidden; }
.goal b { font-family: var(--font-display); font-size: 21px; text-transform: uppercase; line-height: 1; }
.goal span { font-size: 12px; opacity: .9; }
.goal img { position: absolute; right: 8px; top: 8px; width: 58px; height: 58px; object-fit: contain; background: #fff; border-radius: 12px; padding: 4px; }
.g1 { background: linear-gradient(135deg, #7a0f45, #c2186b); }
.g2 { background: linear-gradient(135deg, #b33a12, #f26a2e); }
.g3 { background: linear-gradient(135deg, #1f2a6b, #3b5bdb); }
.g4 { background: linear-gradient(135deg, #0b6b3d, #12a15b); }

/* ---------- product card ---------- */
.scroller { display: grid; grid-auto-flow: column; grid-auto-columns: 46%; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.scroller > * { scroll-snap-align: start; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.card { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow); display: flex; flex-direction: column; overflow: hidden; position: relative; }
.card .media { aspect-ratio: 1; background: #fff; display: grid; place-items: center; padding: 12px; position: relative; }
.card .media img { width: 100%; height: 100%; object-fit: contain; }
.card .off { position: absolute; left: 8px; top: 8px; background: var(--green); color: #fff; font-size: 11.5px; font-weight: 800; padding: 3px 7px; border-radius: 6px; }
.card .oos-tag { position: absolute; inset: auto 8px 8px 8px; background: rgba(22,10,16,.82); color: #fff; font-size: 11.5px; font-weight: 700; text-align: center; border-radius: 6px; padding: 4px; }
.card.oos .media img { opacity: .55; filter: grayscale(.4); }
.card .body { padding: 10px 10px 12px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.card .brand { font-size: 11.5px; font-weight: 700; color: var(--berry); text-transform: uppercase; letter-spacing: .4px; }
.card .title { font-size: 13.5px; line-height: 1.3; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 35px; }
.card .variant { font-size: 12px; color: var(--muted); }
.price { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.price .now { font-weight: 800; font-size: 16px; }
.price .mrp { color: var(--muted); text-decoration: line-through; font-size: 12.5px; }
.price .save { color: var(--green); font-weight: 700; font-size: 12.5px; }
.pps { font-size: 11.5px; color: var(--muted); }
.pps b { color: var(--text); }
.card .actions { margin-top: auto; padding-top: 6px; }
.card .add { width: 100%; height: 36px; border-radius: 9px; border: 0; background: var(--ink); color: #fff; font-weight: 700; font-size: 13.5px; }
.card .add:hover { background: var(--berry); }
.card .notify { width: 100%; height: 36px; border-radius: 9px; border: 1.5px solid #1fa855; background: #fff; color: #138a43; font-weight: 700; font-size: 12.5px; }

/* ---------- brands ---------- */
.brands { display: grid; grid-auto-flow: column; grid-auto-columns: 120px; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.brand-tile { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 10px; text-align: center; }
.brand-tile img { height: 70px; width: 100%; object-fit: contain; }
.brand-tile b { display: block; font-size: 13px; margin-top: 6px; }
.brand-tile span { font-size: 11.5px; color: var(--muted); }

/* ---------- why us / trust ---------- */
.why { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.why div { background: #fff; border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); }
.why b { display: block; font-size: 14px; margin: 6px 0 2px; }
.why p { margin: 0; font-size: 12.5px; color: var(--muted); }
.why .ic { width: 34px; height: 34px; border-radius: 10px; background: var(--berry-50); color: var(--berry); display: grid; place-items: center; font-size: 18px; }

/* ---------- SEO content + FAQ ---------- */
.seo { background: #fff; border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); }
.seo h2 { font-size: 18px; margin: 0 0 8px; }
.seo h3 { font-size: 15px; margin: 14px 0 6px; }
.seo p { margin: 0 0 10px; color: #3a3236; font-size: 14px; }
.faq details { border-top: 1px solid var(--line); padding: 12px 0; }
.faq summary { font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 10px; }
.faq summary::after { content: "+"; color: var(--berry); font-weight: 700; }
.faq details[open] summary::after { content: "–"; }
.faq p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.links-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.links-cloud a { background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; font-size: 13px; color: #3a3236; }

/* ---------- footer ---------- */
.ftr { background: var(--ink); color: #d9c7d0; margin-top: 28px; padding: 28px 0 90px; font-size: 14px; }
.ftr .cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ftr h4 { color: #fff; margin: 0 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; }
.ftr a { display: block; padding: 3px 0; color: #d9c7d0; }
.ftr a:hover { color: #fff; }
.ftr .pay { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 16px; }
.ftr .pay span { background: #2d1a24; border-radius: 6px; padding: 4px 8px; font-size: 11.5px; font-weight: 700; color: #f1dfe8; }
.ftr .legal { border-top: 1px solid #2d1a24; margin-top: 20px; padding-top: 14px; font-size: 12.5px; color: #a8939e; }

/* floating WhatsApp */
.wa-float { position: fixed; left: 14px; bottom: 84px; width: 52px; height: 52px; border-radius: 50%; background: #1fa855; color: #fff; display: grid; place-items: center; box-shadow: 0 8px 20px rgba(0,0,0,.25); z-index: 45; }
.wa-float svg { width: 28px; height: 28px; }

/* ---------- breadcrumbs / category page ---------- */
.crumbs { font-size: 12.5px; color: var(--muted); padding: 12px 0 4px; }
.crumbs a { color: var(--muted); }
.crumbs a:hover { color: var(--berry); }
.crumbs span { margin: 0 6px; }
.page-title { font-family: var(--font-display); font-size: 30px; line-height: 1; margin: 6px 0 6px; text-transform: uppercase; }
.intro { color: #3a3236; font-size: 14px; margin: 0 0 12px; }
.chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px 0 10px; }
.chip { background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 7px 12px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.chip.on { border-color: var(--berry); color: var(--berry); background: var(--berry-50); }
.toolbar { display: flex; gap: 8px; position: sticky; top: var(--hdr-h); z-index: 30; background: var(--bg); padding: 8px 0; }
.toolbar .btn { flex: 1; height: 40px; background: #fff; border: 1px solid var(--line); color: var(--text); font-size: 14px; }
.result-count { font-size: 13px; color: var(--muted); margin: 4px 0 10px; }
.sidebar { display: none; }
.filter-group { border-bottom: 1px solid var(--line); padding: 12px 0; }
.filter-group h4 { margin: 0 0 8px; font-size: 14px; }
.filter-group label { display: flex; gap: 8px; align-items: center; padding: 4px 0; font-size: 14px; }
.filter-group label span { margin-left: auto; color: var(--muted); font-size: 12.5px; }

/* ---------- product page ---------- */
.pdp { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.pdp > *, .cart-layout > *, .cat-layout > * { min-width: 0; }
.gallery { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 12px; position: relative; }
.gallery .main { height: 300px; display: grid; place-items: center; }
.gallery .main { overflow: hidden; }
.gallery .main img { height: 100%; width: 100%; object-fit: contain; }
.thumbs { display: flex; gap: 8px; overflow-x: auto; margin-top: 10px; scrollbar-width: none; }
.thumbs img { width: 62px; height: 62px; object-fit: contain; border: 1.5px solid var(--line); border-radius: 10px; padding: 4px; background: #fff; flex: none; }
.thumbs img.on { border-color: var(--berry); }
.buybox { display: flex; flex-direction: column; gap: 12px; }
.buybox .brand-link { color: var(--berry); font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .5px; }
.buybox h1 { font-size: 21px; line-height: 1.25; margin: 0; }
.pills { display: flex; gap: 6px; flex-wrap: wrap; }
.pill { font-size: 12px; font-weight: 600; padding: 4px 9px; border-radius: 999px; background: var(--green-50); color: var(--green); }
.pill.info { background: #e8f0fe; color: #1a56c4; }
.pill.dark { background: #e8f0fe; color: #1a56c4; }
.price-box { background: #fff; border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); }
.price-box .now { font-size: 28px; font-weight: 800; }
.price-box .mrp { font-size: 15px; }
.price-box .save { font-size: 13px; background: var(--green); color: #fff; padding: 2px 8px; border-radius: 6px; }
.price-box .tax { font-size: 12px; color: var(--muted); margin-top: 2px; }
.price-box .emi { margin-top: 8px; font-size: 13px; color: #3a3236; border-top: 1px dashed var(--line); padding-top: 8px; }
.opt h3 { font-size: 14px; margin: 0 0 8px; }
.opt h3 small { color: var(--muted); font-weight: 500; }
.opts { display: flex; gap: 8px; flex-wrap: wrap; }
.opt-btn { background: #fff; border: 1.5px solid var(--line); border-radius: 10px; padding: 8px 12px; text-align: left; min-width: 104px; }
.opt-btn b { display: block; font-size: 14px; }
.opt-btn small { font-size: 12px; color: var(--muted); }
.opt-btn.on { border-color: var(--berry); background: var(--berry-50); }
.opt-btn.na { opacity: .55; text-decoration: line-through; }
.facts { display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); text-align: center; }
.facts div { padding: 10px 4px; border-right: 1px solid var(--line); }
.facts div:last-child { border-right: 0; }
.facts b { display: block; font-size: 16px; }
.facts span { font-size: 11px; color: var(--muted); text-transform: uppercase; }
.qty { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: 10px; background: #fff; height: 46px; }
.qty button { width: 40px; height: 100%; background: none; border: 0; font-size: 20px; }
.qty input { width: 36px; text-align: center; border: 0; font: inherit; font-weight: 700; }
.buy-row { display: flex; gap: 10px; }
.buy-row .btn { flex: 1; }
.card-box { background: #fff; border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); }
.card-box h3 { margin: 0 0 8px; font-size: 15px; }
.pin { display: flex; gap: 8px; }
.pin input { flex: 1; height: 42px; border: 1.5px solid var(--line); border-radius: 10px; padding: 0 12px; font: inherit; min-width: 0; }
.ok-line { color: var(--green); font-size: 13px; font-weight: 600; margin-top: 8px; }
.list-ticks { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; font-size: 13.5px; }
.list-ticks li::before { content: "✓"; color: var(--green); font-weight: 800; margin-right: 8px; }
.coupon { border: 1.5px dashed var(--flame-2); background: #fff5f8; border-radius: 10px; padding: 10px 12px; display: flex; align-items: center; gap: 10px; font-size: 13.5px; }
.coupon code { background: #fff; border: 1px solid #f3b6c9; padding: 2px 8px; border-radius: 6px; font-weight: 800; color: var(--flame-2); }
.acc details { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 10px; padding: 0 14px; }
.acc summary { list-style: none; padding: 14px 0; font-weight: 700; display: flex; justify-content: space-between; cursor: pointer; }
.acc summary::after { content: "+"; color: var(--berry); }
.acc details[open] summary::after { content: "–"; }
.acc .in { padding: 0 0 14px; font-size: 14px; color: #3a3236; }
.spec { width: 100%; border-collapse: collapse; font-size: 14px; }
.spec th, .spec td { text-align: left; padding: 8px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.spec th { width: 42%; color: var(--muted); font-weight: 500; }
.sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; background: #fff; box-shadow: 0 -6px 20px rgba(0,0,0,.12); padding: 10px 16px; display: flex; gap: 10px; align-items: center; z-index: 46; transform: translateY(110%); transition: transform .2s; }
.sticky-buy.show { transform: none; }
.sticky-buy .p { line-height: 1.15; }
.sticky-buy .p b { font-size: 17px; }
.sticky-buy .p small { display: block; font-size: 12px; color: var(--green); font-weight: 700; }
.sticky-buy .btn { flex: 1; }
.review-empty { text-align: center; padding: 8px 0; color: var(--muted); font-size: 14px; }

/* ---------- cart ---------- */
.steps { display: flex; justify-content: center; gap: 8px; font-size: 12.5px; color: var(--muted); padding: 12px 0; }
.steps b { color: var(--berry); }
.progress { background: #fff; border-radius: var(--radius); padding: 12px 14px; box-shadow: var(--shadow); font-size: 13.5px; }
.bar { height: 7px; background: var(--line); border-radius: 4px; margin-top: 8px; overflow: hidden; }
.bar i { display: block; height: 100%; background: var(--green); }
.line-item { display: grid; grid-template-columns: 76px 1fr; gap: 12px; background: #fff; border-radius: var(--radius); padding: 12px; box-shadow: var(--shadow); }
.line-item img { width: 76px; height: 76px; object-fit: contain; }
.line-item .t { font-weight: 600; font-size: 14px; line-height: 1.3; }
.line-item .v { font-size: 12.5px; color: var(--muted); }
.line-item .row { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
.line-item .qty { height: 36px; }
.line-item .qty button { width: 32px; }
.remove { background: none; border: 0; color: var(--muted); font-size: 12.5px; text-decoration: underline; }
.summary { background: #fff; border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); }
.summary .r { display: flex; justify-content: space-between; padding: 6px 0; font-size: 14px; }
.summary .r.save { color: var(--green); font-weight: 700; }
.summary .r.total { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 10px; font-size: 17px; font-weight: 800; }
.summary small { color: var(--muted); }
.safe { display: flex; gap: 10px; align-items: center; justify-content: center; font-size: 12.5px; color: var(--muted); margin-top: 10px; }

/* ---------- desktop ---------- */
@media (min-width: 768px) {
	.scroller { grid-auto-columns: 23%; }
	.grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.goals { grid-template-columns: repeat(4, 1fr); }
	.why { grid-template-columns: repeat(4, 1fr); }
	.ftr .cols { grid-template-columns: 2fr 1fr 1fr 1fr; }
	.hero { min-height: 340px; }
	.hero .copy { padding: 40px 0 40px 48px; }
	.hero h1, .hero .h1 { font-size: 54px; }
	.hero p { font-size: 17px; }
	.hero img { height: 340px; }
	.circles { grid-auto-columns: 1fr; grid-auto-flow: column; }
	.circle .img { width: 104px; height: 104px; margin: 0 auto 8px; }
	.circle img { width: 80px; height: 80px; }
	.sec-head h2 { font-size: 32px; }
	.hdr-search-mobile { display: none; }
	.hdr-search-desktop { display: flex; max-width: 520px; }
	.nav { display: flex; gap: 4px; background: var(--ink); border-top: 1px solid #2a1720; }
	.nav .wrap { display: flex; gap: 2px; }
	.nav a, .nav .mega > span { display: block; padding: 10px 14px; font-size: 14px; font-weight: 600; color: #f2e6ec; cursor: pointer; }
	.nav a:hover, .nav .mega:hover > span { color: #fff; background: rgba(255,255,255,.06); }
	.nav .deal { color: #ffb37f; }
	.menu-toggle { display: none; }
	:root { --hdr-h: 101px; }  /* desktop: logo row + nav bar */
	.nav .mega-panel a { color: var(--text); padding: 5px 0; font-weight: 500; background: none; }
	.nav .mega-panel a:hover { color: var(--berry); background: none; }
	.cat-layout { display: grid; grid-template-columns: 250px 1fr; gap: 24px; }
	.sidebar { display: block; background: #fff; border-radius: var(--radius); padding: 4px 16px; box-shadow: var(--shadow); align-self: start; position: sticky; top: calc(var(--hdr-h) + 16px); }
	.toolbar .filter-btn { display: none; }
	.pdp { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 28px; align-items: start; }
	.gallery { position: sticky; top: calc(var(--hdr-h) + 16px); }
	.gallery .main { height: auto; aspect-ratio: 1; }
	.buybox h1 { font-size: 26px; }
	.sticky-buy { display: none; }
	.cart-layout { display: grid; grid-template-columns: 1fr 360px; gap: 24px; align-items: start; }
	.cart-layout .summary { position: sticky; top: calc(var(--hdr-h) + 16px); }
	.wa-float { bottom: 24px; }
	.ftr { padding-bottom: 28px; }
}
@media (min-width: 1100px) {
	.grid { grid-template-columns: repeat(4, 1fr); }
	.cat-layout .grid { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- authorisation certificate (product page) ---------- */
.cert { display: flex; gap: 12px; align-items: center; background: #fff; border: 1.5px solid #cfe7d9; border-radius: var(--radius); padding: 10px; box-shadow: var(--shadow); cursor: zoom-in; text-align: left; width: 100%; }
.cert img { width: 92px; height: 71px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); flex: none; }
.cert b { display: block; font-size: 14px; color: var(--green); }
.cert span { display: block; font-size: 12.5px; color: #3a3236; }
.cert small { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
.cert small.expired { color: var(--red); font-weight: 700; }
.lightbox { position: fixed; inset: 0; background: rgba(10, 4, 8, .88); z-index: 80; display: none; place-items: center; padding: 16px; cursor: zoom-out; }
.lightbox.open { display: grid; }
.lightbox img { max-height: 92vh; border-radius: 8px; background: #fff; }
/* Self-hosted fonts (assets/fonts/README.txt). font-display: swap shows text immediately in the fallback font. */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("../fonts/inter-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/barlow-condensed-700-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ====================================================================
   Theme-specific additions (WooCommerce markup, accessibility, templates)
   ==================================================================== */
.skip-link:focus { position: fixed; left: 8px; top: 8px; width: auto; height: auto; clip: auto; background: #fff; color: var(--ink); padding: 8px 12px; z-index: 100; border-radius: 8px; }
:focus-visible { outline: 3px solid #f5a524; outline-offset: 2px; }
[hidden] { display: none !important; }
.content-card { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 18px; }
.entry-content > * + * { margin-top: 12px; }
.entry-content h2 { font-size: 20px; margin: 22px 0 8px; }
.entry-content h3 { font-size: 17px; }
.entry-content img { border-radius: 10px; }
.entry-content a { color: var(--berry); text-decoration: underline; }
.entry-meta, .excerpt { color: var(--muted); font-size: 14px; }
.entry-thumb { margin: 10px 0 16px; }
.entry-thumb img { border-radius: var(--radius); width: 100%; }
.post-card .media { aspect-ratio: 16 / 10; padding: 0; }
.post-card .media img { object-fit: cover; }
.empty-state { display: grid; gap: 14px; justify-items: start; }
.section.tight { padding-top: 4px; }
.wrap > .page-title:first-child, main > .page-title { margin-top: 18px; }

/* logo (header) */
.hdr .logo { display: flex; align-items: center; gap: 8px; }
.hdr .logo img, .hdr .logo .custom-logo { width: 40px; height: 40px; border-radius: 4px; }
.hdr .logo-text { font-weight: 800; font-size: 19px; letter-spacing: .5px; text-transform: uppercase; line-height: 1.05; color: #fff; }
.hdr .logo-text small { display: block; font-size: 10px; letter-spacing: 3px; color: #ffb2cf; font-weight: 600; }
.cart-link .badge-count[hidden] { display: none; }
.nav .mega-trigger { background: none; border: 0; color: #f2e6ec; padding: 10px 14px; font-size: 14px; font-weight: 600; cursor: pointer; }
.nav .mega:hover .mega-trigger, .nav .mega.open .mega-trigger { color: #fff; background: rgba(255,255,255,.06); }
.nav .mega.open .mega-panel { display: grid; }
.nav .mega-panel h4 a { color: var(--berry); }
.mega-panel { grid-template-columns: repeat(4, minmax(150px, 1fr)); }

/* drawer */
.drawer .panel { padding-top: 56px; }
.drawer-close { position: absolute; right: 8px; top: 8px; color: var(--ink); }
.drawer .drawer-link { display: block; padding: 12px 0; font-weight: 700; border-bottom: 1px solid var(--line); color: var(--text); }
.drawer details a.drawer-head { font-weight: 700; color: var(--text); margin-top: 6px; }
.drawer details a.drawer-sub { padding-left: 20px; }
.drawer-wa { margin-top: 18px; }
body.drawer-open { overflow: hidden; }

/* ----- hero banner (image) ----- */
.hero .hero-pack { max-width: 86%; max-height: 190px; width: auto; height: auto; background: #fff; border-radius: 16px; padding: 8px; margin: 0 auto; transform: rotate(4deg); box-shadow: 0 18px 30px rgba(0,0,0,.35); object-fit: contain; }
.hero:not(:has(.hero-pack)) { grid-template-columns: 1fr; }
.tab-panel[hidden] { display: none; }

/* ----- loops ----- */
ul.products { list-style: none; margin: 0; padding: 0; }
ul.products.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
ul.products.scroller { display: grid; grid-auto-flow: column; grid-auto-columns: 46%; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; }
ul.products > li { display: flex; min-width: 0; scroll-snap-align: start; list-style: none; margin: 0; padding: 0; }
ul.products > li > .card { width: 100%; }
.card .actions .button, .card .actions .added_to_cart { display: flex; align-items: center; justify-content: center; width: 100%; height: 36px; border-radius: 9px; border: 0; background: var(--ink); color: #fff; font-weight: 700; font-size: 13.5px; padding: 0 8px; text-align: center; }
.card .actions .button:hover { background: var(--berry); color: #fff; }
.card .actions .button.loading { opacity: .6; }
.card .actions .button.added { background: var(--green); }
.card .actions .added_to_cart { background: var(--green-50); color: var(--green); margin-top: 6px; }
.card .actions .notify { display: grid; place-items: center; }
.card .brand { text-decoration: none; }
.card .title { color: var(--text); }
.related, .brand-row { margin-top: 26px; }
.related > h2, .sec-head h2 { font-family: var(--font-display); }
.related > h2 { font-size: 24px; margin: 0 0 12px; text-transform: uppercase; }
.related ul.products, .brand-row ul.products { display: grid; grid-auto-flow: column; grid-auto-columns: 46%; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }

/* ----- archive ----- */
.woocommerce-products-header__title, h1.page-title { font-family: var(--font-display); font-size: 30px; line-height: 1; margin: 6px 0; text-transform: uppercase; }
.term-description, .woocommerce-products-header .page-description { color: #3a3236; font-size: 14px; margin: 0 0 12px; }
.cat-layout { display: block; }
.cat-main { min-width: 0; }
.toolbar { align-items: stretch; }
.toolbar .woocommerce-ordering { flex: 1; margin: 0; }
.toolbar select { width: 100%; height: 40px; border-radius: 10px; border: 1px solid var(--line); background: #fff; padding: 0 10px; font: inherit; }
.woocommerce-result-count { font-size: 13px; color: var(--muted); margin: 4px 0 10px; }
.sidebar { display: none; background: #fff; border-radius: var(--radius); padding: 4px 16px; box-shadow: var(--shadow); margin-bottom: 12px; }
.sidebar.open { display: block; }
.filter-link { display: block; padding: 6px 0; font-size: 14px; color: var(--text); }
.filter-link.on { color: var(--berry); font-weight: 700; }
.filter-link.on::before { content: "✓ "; }
.filter-clear { margin: 10px 0 0; font-size: 13px; }
.filter-clear a { color: var(--berry); text-decoration: underline; }
.woocommerce-pagination, .navigation.pagination { margin: 20px 0; text-align: center; }
.woocommerce-pagination ul { display: inline-flex; gap: 6px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; justify-content: center; }
.woocommerce-pagination a, .woocommerce-pagination span, .nav-links a, .nav-links span { display: inline-block; min-width: 38px; padding: 8px 10px; background: #fff; border: 1px solid var(--line); border-radius: 8px; font-weight: 600; }
.woocommerce-pagination .current, .nav-links .current { background: var(--ink); color: #fff; border-color: var(--ink); }

/* ----- single product ----- */
.single-product div.product { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.single-product div.product > * { min-width: 0; }
.single-product .woocommerce-product-gallery { position: relative; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 12px; margin: 0; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image img { width: 100%; height: auto; object-fit: contain; }
.single-product .flex-control-thumbs { display: flex; gap: 8px; overflow-x: auto; margin: 10px 0 0; padding: 0; list-style: none; scrollbar-width: none; }
.single-product .flex-control-thumbs li { flex: none; width: 62px; }
.single-product .flex-control-thumbs img { width: 62px; height: 62px; object-fit: contain; border: 1.5px solid var(--line); border-radius: 10px; padding: 4px; background: #fff; opacity: .7; cursor: pointer; }
.single-product .flex-control-thumbs img.flex-active { border-color: var(--berry); opacity: 1; }
.woocommerce-product-gallery__trigger { position: absolute; right: 12px; top: 12px; z-index: 5; background: #fff; border-radius: 50%; width: 36px; height: 36px; box-shadow: var(--shadow); text-indent: -999px; overflow: hidden; }
.woocommerce-product-gallery__trigger::before { content: "⤢"; position: absolute; inset: 0; text-indent: 0; display: grid; place-items: center; font-size: 18px; }
.single-product .summary { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.single-product .summary .product_title { font-size: 21px; line-height: 1.25; margin: 0; }
.brand-link { color: var(--berry); font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .5px; }
.single-product .price-box { background: #fff; border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); }
.price-box .price .now { font-size: 28px; }
.price-box .price .mrp { font-size: 15px; }
.price-box .price .save { background: var(--green); color: #fff; padding: 2px 8px; border-radius: 6px; font-size: 13px; }
.price-box .tax { font-size: 12px; color: var(--muted); margin-top: 2px; }
.price-box .pps { margin-top: 6px; font-size: 13px; }
.facts { grid-template-columns: repeat(var(--n, 4), 1fr); }
.single-product .woocommerce-product-rating { margin: 0; }
.single-product .star-rating { color: var(--amber); }
/* variations */
.variations_form table.variations { width: 100%; border: 0; margin: 0 0 8px; border-collapse: collapse; }
.variations_form table.variations tr { display: block; margin-bottom: 12px; }
.variations_form table.variations th, .variations_form table.variations td { display: block; padding: 0; text-align: left; border: 0; }
.variations_form table.variations label { font-weight: 700; font-size: 14px; display: block; margin-bottom: 6px; }
.variations_form select { width: 100%; height: 46px; border: 1.5px solid var(--line); border-radius: 10px; padding: 0 12px; font: inherit; background: #fff; }
.variations_form .reset_variations { font-size: 12.5px; color: var(--muted); text-decoration: underline; display: inline-block; margin-top: 6px; }
.woocommerce-variation-price, .woocommerce-variation-description { display: none; }
.woocommerce-variation-availability .stock { margin: 0 0 8px; font-weight: 600; font-size: 14px; }
.stock.out-of-stock { color: var(--red); }
.stock.in-stock { color: var(--green); }
.single_variation_wrap, form.cart { display: block; }
form.cart .woocommerce-variation-add-to-cart, form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
form.cart .quantity { display: inline-flex; border: 1.5px solid var(--line); border-radius: 10px; background: #fff; height: 46px; overflow: hidden; }
form.cart .quantity input.qty { width: 54px; border: 0; text-align: center; font: inherit; font-weight: 700; -moz-appearance: textfield; }
form.cart .single_add_to_cart_button { flex: 1; min-width: 140px; height: 46px; border: 0; border-radius: 10px; background: var(--flame); color: #fff; font-weight: 700; font-size: 15px; box-shadow: 0 6px 16px rgba(226, 36, 95, .3); padding: 0 20px; }
form.cart .single_add_to_cart_button.disabled, form.cart .single_add_to_cart_button:disabled { opacity: .45; box-shadow: none; cursor: not-allowed; }
form.cart .buy-now { flex: 1 1 100%; height: 46px; }
.wa-help { margin-top: 2px; }
.cert-thumb { display: block; width: 100%; max-width: 420px; background: none; border: 0; padding: 0; margin-bottom: 10px; cursor: zoom-in; }
.cert-thumb img { border-radius: 10px; border: 1px solid var(--line); }
.cert img { flex: none; }
.legacy-details { margin-top: 10px; font-size: 14px; }
.legacy-details p { margin: 0 0 8px; }
.spec a { color: var(--berry); }
.acc { margin-top: 8px; }
.acc .acc-item { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 10px; padding: 0 14px; }
.acc .acc-item > summary { list-style: none; padding: 14px 0; font-weight: 700; display: flex; justify-content: space-between; cursor: pointer; }
.acc .acc-item > summary::-webkit-details-marker { display: none; }
.acc .acc-item > summary::after { content: "+"; color: var(--berry); }
.acc .acc-item[open] > summary::after { content: "–"; }
.acc .in { padding: 0 0 14px; font-size: 14px; color: #3a3236; }
.acc .in h2:first-child { display: none; }
.woocommerce-Reviews-title { font-size: 16px; }
#reviews #comments ol.commentlist { list-style: none; padding: 0; margin: 0; }
#reviews #comments ol.commentlist li { padding: 12px 0; border-bottom: 1px solid var(--line); }
#reviews .comment_container { display: grid; grid-template-columns: 44px 1fr; gap: 10px; }
#reviews img.avatar { width: 44px; height: 44px; border-radius: 50%; }
#reviews .meta { margin: 4px 0; font-size: 13px; color: var(--muted); }
#reviews .woocommerce-review__verified { color: var(--green); font-weight: 600; }
.woocommerce-noreviews, .woocommerce-verification-required { color: var(--muted); }
#review_form input[type="text"], #review_form input[type="email"], #review_form textarea { width: 100%; border: 1.5px solid var(--line); border-radius: 10px; padding: 10px 12px; font: inherit; }
#review_form .form-submit input { background: var(--ink); color: #fff; border: 0; border-radius: 10px; height: 44px; padding: 0 20px; font-weight: 700; }

/* sticky buy bar (mobile) */
.sticky-buy[hidden] { display: none !important; }
.sticky-buy { transform: none; }
.sticky-buy .btn { flex: 1; }
.lightbox { display: none; }
.lightbox:not([hidden]) { display: grid; }

/* ----- notices, forms, buttons (WooCommerce) ----- */
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 0 0 14px; padding: 12px 14px; border-radius: var(--radius-sm); background: #fff; border-left: 4px solid var(--green); box-shadow: var(--shadow); display: flex; gap: 12px; flex-wrap: wrap; align-items: center; justify-content: space-between; font-size: 14px; }
.woocommerce-info { border-left-color: #1a56c4; }
.woocommerce-error { border-left-color: var(--red); }
.woocommerce-message .button, .woocommerce-info .button { order: 2; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, button.button, a.button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--ink); color: #fff; font-weight: 700; font-size: 14px; cursor: pointer; }
.woocommerce .button.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .checkout-button, #place_order { background: var(--flame); color: #fff; box-shadow: 0 6px 16px rgba(226, 36, 95, .3); }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select, .woocommerce-input-wrapper input, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], textarea, select { border: 1.5px solid var(--line); border-radius: 10px; padding: 10px 12px; font: inherit; background: #fff; width: 100%; min-height: 44px; }
.woocommerce form .form-row { margin: 0 0 12px; padding: 0; }
.woocommerce form .form-row label { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 4px; }
.woocommerce form .form-row .required { color: var(--red); }
.searchbox input[type="search"], .searchbox input { border: 0; min-height: 0; padding: 0; background: transparent; }
.select2-container--default .select2-selection--single { border: 1.5px solid var(--line); border-radius: 10px; height: 44px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }

/* ----- cart ----- */
.woocommerce-cart .wrap > .page-title, .woocommerce-checkout .wrap > .page-title { margin-bottom: 12px; }
.woocommerce-cart-form { margin-bottom: 14px; }
table.shop_table { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
table.shop_table th, table.shop_table td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; font-size: 14px; }
table.shop_table thead th { background: #faf7f9; font-size: 12.5px; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); }
.shop_table .product-thumbnail img { width: 64px; height: 64px; object-fit: contain; }
.shop_table .product-remove a { color: var(--red); font-size: 22px; text-decoration: none; }
.shop_table .product-name a { font-weight: 600; color: var(--text); }
.shop_table .actions { background: #faf7f9; }
.shop_table .coupon { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; border: 0; background: none; padding: 0; }
.shop_table .coupon input { width: 180px; flex: 1; }
.cart-collaterals .cart_totals { background: #fff; border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); }
.cart_totals h2 { font-size: 18px; margin: 0 0 8px; }
.cart_totals table.shop_table { box-shadow: none; border-radius: 0; }
.cart_totals tr.you-save td { color: var(--green); font-weight: 700; }
.wc-proceed-to-checkout .checkout-button { width: 100%; height: 48px; font-size: 15px; }
.wc-proceed-to-checkout { margin-top: 12px; }
.cart-empty { text-align: center; font-size: 16px; }
.return-to-shop { text-align: center; }
@media (max-width: 767px) {
	table.shop_table_responsive thead { display: none; }
	table.shop_table_responsive tr { display: block; padding: 8px 0; border-bottom: 1px solid var(--line); }
	table.shop_table_responsive td { display: flex; justify-content: space-between; gap: 10px; border: 0; padding: 6px 14px; }
	table.shop_table_responsive td::before { content: attr(data-title); font-weight: 600; color: var(--muted); }
	table.shop_table_responsive td.product-remove::before, table.shop_table_responsive td.product-thumbnail::before, table.shop_table_responsive td.actions::before { content: none; }
	table.shop_table_responsive td.product-thumbnail { justify-content: center; }
}

/* ----- checkout ----- */
form.woocommerce-checkout { display: grid; gap: 16px; }
#customer_details, #order_review { background: #fff; border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); }
#order_review_heading, .woocommerce-billing-fields h3, .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3 { font-size: 18px; margin: 0 0 10px; }
#payment { background: transparent; }
#payment ul.payment_methods { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
#payment ul.payment_methods li { border: 1.5px solid var(--line); border-radius: 10px; padding: 10px 12px; }
#payment ul.payment_methods li label { display: inline; font-weight: 700; }
#payment .payment_box { margin-top: 8px; font-size: 13.5px; color: #3a3236; }
#place_order { width: 100%; height: 50px; font-size: 16px; }
.woocommerce-checkout-review-order-table { box-shadow: none; }

/* ----- my account ----- */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 14px; padding: 0; display: flex; gap: 8px; overflow-x: auto; }
.woocommerce-MyAccount-navigation a { display: block; white-space: nowrap; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 8px 14px; font-weight: 600; font-size: 14px; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce-MyAccount-content, .woocommerce-form-login, .woocommerce-form-register { background: #fff; border-radius: var(--radius); padding: 16px; box-shadow: var(--shadow); }
.u-columns { display: grid; gap: 16px; }

/* ----- desktop additions ----- */
@media (min-width: 768px) {
	ul.products.grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
	ul.products.scroller, .related ul.products, .brand-row ul.products { grid-auto-columns: 23%; }
	.cat-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: start; }
	.sidebar { display: block; margin-bottom: 0; position: sticky; top: calc(var(--hdr-h) + 16px); }
	.toolbar { position: static; justify-content: flex-end; }
	.toolbar .filter-btn { display: none; }
	.toolbar .woocommerce-ordering { flex: 0 0 240px; }
	.single-product div.product { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 28px; align-items: start; }
	.single-product .woocommerce-product-gallery { position: sticky; top: calc(var(--hdr-h) + 16px); }
	.single-product div.product > .woocommerce-tabs, .single-product div.product > section, .single-product div.product > .acc { grid-column: 1 / -1; }
	.single-product .summary .product_title { font-size: 26px; }
	.sticky-buy { display: none !important; }
	form.woocommerce-checkout { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; }
	#order_review_heading { grid-column: 2; }
	.u-columns { grid-template-columns: 1fr 1fr; }
	.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper, .woocommerce-cart .woocommerce > .progress { grid-column: 1 / -1; }
	.woocommerce-cart .cart-collaterals { position: sticky; top: calc(var(--hdr-h) + 16px); }
	.posts-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
	ul.products.grid { grid-template-columns: repeat(4, 1fr); }
	.cat-layout ul.products.grid { grid-template-columns: repeat(3, 1fr); }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* ----- polish ----- */
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { display: none; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { padding-left: 14px; }
.woocommerce-info a:not(.button), .woocommerce-message a:not(.button) { color: var(--berry); text-decoration: underline; }
.shop_table .product-name a, .shop_table .product-name a:hover { text-decoration: none; }
.shop_table td.actions { display: table-cell; }
.shop_table .actions .coupon { float: none; }
.shop_table .actions button[name="update_cart"] { margin-top: 8px; }
.shop_table .actions button[name="update_cart"][disabled] { opacity: .5; cursor: not-allowed; }
.shop_table .product-thumbnail img { width: 72px; height: 72px; }
.woocommerce form .form-row .select2-container { width: 100% !important; }
#customer_details .col-1, #customer_details .col-2 { float: none; width: 100%; }
form.cart .woocommerce-variation-add-to-cart { width: 100%; }
ul.products::before, ul.products::after { display: none !important; content: none !important; }

/* ----- variation buttons ----- */
.ffn-sel-hidden { position: absolute !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; overflow: hidden; }
.variations_form .opts { display: flex; gap: 8px; flex-wrap: wrap; }
.variations_form .opt-btn { background: #fff; border: 1.5px solid var(--line); border-radius: 10px; padding: 9px 14px; min-height: 44px; font: inherit; font-weight: 700; font-size: 14px; color: var(--text); cursor: pointer; }
.variations_form .opt-btn:hover { border-color: var(--berry); }
.variations_form .opt-btn.on { border-color: var(--berry); background: var(--berry-50); color: var(--berry-700); }
.variations_form .opt-btn.na { opacity: .6; text-decoration: line-through; }
.variations_form .opt-btn.na.on { opacity: 1; }

/* ----- quantity buttons ----- */
.quantity { display: inline-flex; align-items: stretch; border: 1.5px solid var(--line); border-radius: 10px; background: #fff; overflow: hidden; height: 46px; }
.quantity .qty-btn { width: 38px; border: 0; background: #faf7f9; font-size: 20px; line-height: 1; cursor: pointer; color: var(--text); }
.quantity .qty-btn:hover { background: var(--berry-50); color: var(--berry); }
.quantity input.qty { width: 46px; border: 0; border-radius: 0; text-align: center; font-weight: 700; min-height: 0; padding: 0; -moz-appearance: textfield; }
.quantity input.qty::-webkit-outer-spin-button, .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
form.cart .quantity { border: 1.5px solid var(--line); }
.shop_table .quantity { height: 38px; }
.shop_table .quantity .qty-btn { width: 32px; }
/* variation buttons with price underneath */
.variations_form .opt-btn b { display: block; font-size: 14px; }
.variations_form .opt-btn small { display: block; font-size: 12px; font-weight: 600; color: var(--green); margin-top: 2px; }
.variations_form .opt-btn.na small { color: var(--muted); }
.variations_form .opt-btn.na b { text-decoration: line-through; }
.variations_form .opt-btn { text-align: left; }
.variations_form table.variations label small { color: var(--muted); font-weight: 500; }

/* ----- gallery: show the first image immediately (WooCommerce hides it until its slider script has run) ----- */
.woocommerce-product-gallery { opacity: 1 !important; transition: none; }
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) { display: none; }

/* ----- popular searches / guide / cart stack ----- */
.popular { padding-top: 18px; }
.popular-title { margin: 0 0 10px; font-size: 15px; }
#guide .seo h2 { font-size: 18px; }
.stack-row { margin-top: 18px; }
.cart-collaterals .cart_totals h2 { font-size: 18px; }

/* ----- cart polish ----- */
.shop_table td.product-thumbnail { width: 88px; min-width: 88px; }
.shop_table .product-thumbnail img { width: 72px; min-width: 72px; height: 72px; object-fit: contain; }
.shop_table .actions button[name="update_cart"][disabled], .shop_table .actions button[name="update_cart"][aria-disabled="true"] { display: none; }

/* ----- cart on phones: each item as a compact card (thumbnail left, details right) ----- */
@media (max-width: 767px) {
	table.shop_table.cart { background: transparent; box-shadow: none; border-radius: 0; }
	table.shop_table.cart tbody { display: grid; gap: 10px; }
	table.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 76px 1fr; gap: 2px 12px; padding: 12px; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); position: relative; border: 0; }
	table.shop_table.cart tr.cart_item td { display: block; padding: 0; border: 0; text-align: left; }
	table.shop_table.cart tr.cart_item td::before { content: none; }
	table.shop_table.cart td.product-thumbnail { grid-column: 1; grid-row: 1 / 5; width: 76px; min-width: 0; }
	table.shop_table.cart td.product-thumbnail img { width: 76px; min-width: 0; height: 76px; }
	table.shop_table.cart td.product-name { grid-column: 2; font-weight: 600; font-size: 14px; padding-right: 22px; }
	table.shop_table.cart td.product-price { grid-column: 2; font-size: 13px; color: var(--muted); }
	table.shop_table.cart td.product-quantity { grid-column: 2; margin-top: 4px; }
	table.shop_table.cart td.product-subtotal { grid-column: 2; font-weight: 800; font-size: 15px; }
	table.shop_table.cart td.product-subtotal::before { content: "Total: "; font-weight: 500; color: var(--muted); }
	table.shop_table.cart td.product-remove { position: absolute; right: 10px; top: 6px; }
	table.shop_table.cart tr:not(.cart_item) { display: block; background: transparent; border: 0; padding: 0; }
	table.shop_table.cart td.actions { display: block; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 12px; margin-top: 10px; }
}
