/* ==========================================================================
   ConLiv Food Services — Shared Stylesheet
   Used by every page: index, about, brands, products, gifting, events, contact
   Fonts: Playfair Display (display/headings) + Poppins (body) — 2 families only
   ========================================================================== */

/* ============ RESET & BASE ============ */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  /* Core palette (festive, shared across the site) */
  --maroon:#6B1220;
  --maroon-dark:#43101A;
  --saffron:#F4A300;
  --turmeric:#F2B705;
  --orange:#E8631D;
  --purple:#4B2064;
  --teal:#0E6E68;
  --magenta:#A81D6E;
  --ivory:#FBF3E5;
  --ivory-deep:#F3E6CC;
  --choc:#3B2314;
  --gold:#C8960C;
  --gold-light:#E8B833;
  --white:#FFFFFF;
  --text:#2A160D;
  --muted:#7A6152;
  --border:#E7D8BC;
  --shadow-gold:0 10px 30px rgba(200,150,12,.18);
  /* Brand accents */
  --eppa-yellow:#F4A300;
  --emar-red:#B3221D;
  --fresh-green:#2E7D4F;
  --metallic-gold:#C8960C;
}
html{scroll-behavior:smooth;}
body{font-family:'Poppins',sans-serif;background:var(--ivory);color:var(--text);line-height:1.6;overflow-x:hidden;}
h1,h2,h3,h4,.headline{font-family:'Playfair Display',serif;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:1220px;margin:0 auto;padding:0 1.5rem;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* skip link */
.skip-link{position:absolute;top:-48px;left:1rem;background:var(--maroon);color:#fff;padding:10px 18px;border-radius:6px;z-index:10000;transition:top .2s;}
.skip-link:focus{top:1rem;}

/* eyebrow / edition marker */
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:.7rem;}
.eyebrow .line{width:30px;height:2px;background:var(--gold);}
.eyebrow span{font-size:.72rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);}
.eyebrow.center{justify-content:center;}
.eyebrow.on-dark span{color:var(--turmeric);}
.eyebrow.on-dark .line{background:var(--turmeric);}

.sec-title{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:800;color:var(--maroon-dark);letter-spacing:-.5px;line-height:1.15;margin-bottom:.7rem;}
.sec-title em{font-style:normal;color:var(--orange);}
.sec-sub{font-size:.95rem;color:var(--muted);max-width:640px;line-height:1.8;margin-bottom:2.6rem;}
.sec-sub.center{margin-left:auto;margin-right:auto;text-align:center;}
.center-head{text-align:center;}
.center-head .sec-sub{margin-left:auto;margin-right:auto;}

/* newspaper rule */
.rule-dbl{border-top:3px double var(--maroon);border-bottom:none;margin:.4rem 0 1.6rem;opacity:.35;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 30px;border-radius:6px;font-weight:700;font-size:.85rem;letter-spacing:.4px;text-transform:uppercase;transition:all .25s;border:2px solid transparent;white-space:nowrap;}
.btn-primary{background:var(--gold);color:#fff;box-shadow:var(--shadow-gold);}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-3px);box-shadow:0 14px 36px rgba(200,150,12,.3);}
.btn-outline{border-color:rgba(255,255,255,.55);color:#fff;}
.btn-outline:hover{border-color:var(--turmeric);color:var(--turmeric);}
.btn-outline-dark{border-color:var(--maroon);color:var(--maroon);}
.btn-outline-dark:hover{background:var(--maroon);color:#fff;}
.btn-maroon{background:var(--maroon);color:#fff;}
.btn-maroon:hover{background:var(--maroon-dark);transform:translateY(-3px);}
.btn-teal{background:var(--teal);color:#fff;}
.btn-teal:hover{background:#0A5852;transform:translateY(-3px);}
.btn-sm{padding:10px 20px;font-size:.75rem;}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}
.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none !important;}

/* ============ ANNOUNCEMENT BAR ============ */
.announce{background:var(--maroon-dark);color:var(--turmeric);text-align:center;font-size:.72rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:8px 1rem;position:relative;z-index:1001;}
.announce span{opacity:.9;}

/* ============ NAV ============ */
nav.main-nav{position:sticky;top:0;left:0;right:0;z-index:1000;background:#fff;border-bottom:3px solid var(--gold);box-shadow:0 4px 20px rgba(107,18,32,.08);}
.nav-in{max-width:1220px;margin:auto;display:flex;align-items:center;justify-content:space-between;height:76px;padding:0 1.5rem;gap:1rem;}
.nav-logo{display:flex;align-items:center;gap:.6rem;flex-shrink:0;}
.nav-logo img{height:64px;object-fit:contain;}
.nav-logo .wordmark{font-family:'Playfair Display',serif;font-weight:800;font-size:1.05rem;color:var(--maroon-dark);line-height:1.1;}
.nav-logo .wordmark small{display:block;font-family:'Poppins',sans-serif;font-size:.6rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--gold);}
.nav-links{display:flex;align-items:center;gap:1.3rem;font-size:.74rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase;}
.nav-links a{color:var(--muted);transition:color .2s;white-space:nowrap;position:relative;padding:4px 0;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold);transition:width .2s;}
.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current="page"]{color:var(--maroon);}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%;}
.nav-cta{background:var(--gold);color:#fff;padding:11px 22px;border-radius:5px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;transition:all .2s;white-space:nowrap;border:none;flex-shrink:0;box-shadow:0 4px 14px rgba(200,150,12,.25);}
.nav-cta:hover{background:var(--gold-light);transform:translateY(-2px);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none;flex-shrink:0;}
.hamburger span{width:26px;height:2.5px;background:var(--maroon);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(6px,6px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px);}
.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(43,16,10,.6);z-index:1500;}
.mobile-menu.open{display:block;}
.mobile-menu-panel{position:absolute;top:0;right:0;bottom:0;width:min(320px,85vw);background:#fff;padding:1.5rem;display:flex;flex-direction:column;gap:.3rem;box-shadow:-10px 0 40px rgba(0,0,0,.2);animation:slideIn .25s ease;overflow-y:auto;}
@keyframes slideIn{from{transform:translateX(100%);}to{transform:translateX(0);}}
.mobile-menu-close{align-self:flex-end;background:none;border:none;font-size:1.4rem;color:var(--maroon);padding:.4rem;margin-bottom:.5rem;}
.mobile-menu a{font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text);padding:.85rem .2rem;border-bottom:1px solid var(--border);}
.mobile-menu a:hover{color:var(--maroon);}
.mobile-menu .nav-cta{margin-top:1rem;text-align:center;}

/* ============ PAGE HERO (inner pages) ============ */
.page-hero{position:relative;padding:64px 0 54px;background:radial-gradient(ellipse at 20% -10%,rgba(232,99,29,.22),transparent 55%),radial-gradient(ellipse at 90% 110%,rgba(75,32,100,.3),transparent 55%),linear-gradient(160deg,var(--maroon-dark) 0%,var(--maroon) 55%,#5A0F1B 100%);color:#fff;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 38px,rgba(255,255,255,.025) 39px),repeating-linear-gradient(90deg,transparent,transparent 38px,rgba(255,255,255,.025) 39px);pointer-events:none;}
.page-hero-in{position:relative;z-index:1;}
.page-hero-split{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center;}
@media(max-width:860px){.page-hero-split{grid-template-columns:1fr;gap:1.6rem;}.page-hero-split figure{max-width:360px;margin:0 auto;}}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.72rem;color:rgba(255,255,255,.65);margin-bottom:1.1rem;letter-spacing:.3px;}
.breadcrumbs a{color:rgba(255,255,255,.85);}
.breadcrumbs a:hover{color:var(--turmeric);}
.breadcrumbs .sep{opacity:.5;}
.breadcrumbs .current{color:var(--turmeric);}
.page-hero h1{font-size:clamp(2rem,4.4vw,3rem);font-weight:900;color:#fff;line-height:1.08;letter-spacing:-1px;margin-bottom:.7rem;}
.page-hero h1 .accent{color:var(--turmeric);}
.page-hero p.lede{font-size:.95rem;color:rgba(255,255,255,.82);line-height:1.85;max-width:680px;}

/* ============ GENERIC SECTIONS ============ */
.section{padding:88px 0;}
.section.bg-ivory{background:var(--ivory);}
.section.bg-white{background:#fff;}
.section.bg-dark{background:linear-gradient(180deg,var(--maroon-dark) 0%,#3A0D16 100%);color:#fff;}
.section.bg-choc{background:var(--choc);color:#fff;}
.section.tight{padding:60px 0;}
.prose p{font-size:.92rem;color:var(--muted);line-height:1.9;margin-bottom:1.2rem;max-width:760px;}
.prose p:last-child{margin-bottom:0;}
.bg-dark .prose p,.bg-choc .prose p{color:rgba(255,255,255,.78);}

/* ============ THREE PACKS / CARD GRID (reused pattern) ============ */
.note-block{margin-top:1.8rem;text-align:center;font-size:.82rem;color:var(--muted);font-style:italic;max-width:680px;margin-left:auto;margin-right:auto;}
.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.7rem;}
.pack-card{background:#fff;border:1.5px solid var(--border);border-radius:18px;overflow:hidden;transition:all .35s;box-shadow:0 4px 18px rgba(107,18,32,.06);display:flex;flex-direction:column;position:relative;}
.pack-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(107,18,32,.16);border-color:var(--gold);}
.pack-media{position:relative;height:220px;overflow:hidden;}
.pack-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.pack-card:hover .pack-media img{transform:scale(1.06);}
.pack-ribbon{position:absolute;top:14px;left:14px;background:var(--maroon-dark);color:var(--turmeric);font-size:.62rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:20px;}
.pack-body{padding:1.6rem 1.6rem 1.8rem;flex:1;display:flex;flex-direction:column;}
.pack-body h3{font-size:1.35rem;font-weight:800;color:var(--maroon-dark);margin-bottom:.25rem;}
.pack-subtitle{font-size:.8rem;font-style:italic;color:var(--gold);font-weight:600;margin-bottom:.8rem;}
.pack-body p.desc{font-size:.84rem;color:var(--muted);line-height:1.75;margin-bottom:1.1rem;}
.pack-toggle{background:none;border:none;display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem 0;font-size:.74rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--maroon);border-top:1px dashed var(--border);margin-bottom:.4rem;}
.pack-toggle i{transition:transform .3s;}
.pack-toggle[aria-expanded="true"] i{transform:rotate(180deg);}
.pack-range{display:none;list-style:none;margin:0 0 1.1rem;padding:0;}
.pack-range.open{display:block;}
.pack-range li{font-size:.78rem;color:var(--text);padding:.35rem 0;display:flex;align-items:center;gap:.5rem;}
.pack-range li i{color:var(--gold);font-size:.6rem;}
.pack-body .btn{margin-top:auto;width:100%;}

/* ============ image placeholders ============ */
.placeholder{border:2px dashed var(--gold);border-radius:14px;background:repeating-linear-gradient(45deg,var(--ivory),var(--ivory) 10px,#F3E4C4 10px,#F3E4C4 20px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.6rem 1rem;min-height:220px;color:var(--muted);}
.placeholder i{font-size:1.8rem;color:var(--gold);margin-bottom:.6rem;}
.placeholder .ph-title{font-weight:700;font-size:.82rem;color:var(--maroon-dark);margin-bottom:.3rem;}
.placeholder .ph-file{font-family:monospace;font-size:.72rem;background:rgba(0,0,0,.06);padding:2px 8px;border-radius:4px;margin-bottom:.3rem;}
.placeholder .ph-dim{font-size:.7rem;}

/* ============ feature/use-case chip grid ============ */
/* ============ GIFT CATEGORY CARDS ============ */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.cat-card{background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:1.7rem 1.5rem;transition:all .35s;box-shadow:0 4px 18px rgba(107,18,32,.06);}
.cat-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(107,18,32,.14);border-color:var(--gold);}
.cat-card .cat-icon{width:46px;height:46px;border-radius:12px;background:var(--ivory);display:flex;align-items:center;justify-content:center;color:var(--maroon);font-size:1.15rem;margin-bottom:1rem;}
.cat-card h3{font-size:.98rem;font-weight:800;color:var(--maroon-dark);margin-bottom:.85rem;letter-spacing:.3px;text-transform:uppercase;}
.cat-list{list-style:none;margin:0;padding:0;}
.cat-list li{font-size:.82rem;color:var(--text);padding:.34rem 0;border-top:1px dashed var(--border);line-height:1.4;}
.cat-list li:first-child{border-top:none;}
.cat-list li.more{color:var(--muted);font-style:italic;}

/* ============ HERO DUAL BOX IMAGES ============ */
.hero-boxes-dual{position:relative;max-width:420px;margin:0 auto;}
.hero-boxes-dual .box-primary{margin:0;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);}
.hero-boxes-dual .box-primary img{width:100%;height:auto;display:block;}
.hero-boxes-dual .box-secondary{position:absolute;width:46%;left:-8%;bottom:-8%;margin:0;border-radius:12px;overflow:hidden;border:4px solid var(--ivory);box-shadow:0 20px 44px rgba(0,0,0,.4);z-index:1;}
.hero-boxes-dual .box-secondary img{width:100%;height:auto;display:block;}

/* ============ CUSTOMISATION FLOW/CYCLE ============ */
.cust-cycle{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:.9rem .4rem;max-width:1080px;margin:0 auto;}
.cust-cycle-item{width:130px;display:flex;flex-direction:column;align-items:center;text-align:center;}
.cust-cycle-item .cc-icon{width:56px;height:56px;border-radius:50%;background:var(--cc,var(--maroon));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:.6rem;box-shadow:0 8px 18px rgba(0,0,0,.14);border:3px solid var(--ivory);}
.cust-cycle-item span{font-size:.74rem;font-weight:600;color:var(--text);line-height:1.35;}
.cc-arrow{color:var(--gold);font-size:1rem;flex-shrink:0;align-self:center;margin-top:22px;}

.chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem;}
.chip{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:1.4rem 1.1rem;text-align:center;transition:all .3s;}
.chip:hover{border-color:var(--teal);transform:translateY(-4px);box-shadow:0 10px 24px rgba(14,110,104,.12);}
.chip i{font-size:1.5rem;color:var(--teal);margin-bottom:.7rem;display:block;}
.chip span{font-size:.78rem;font-weight:600;color:var(--text);}

/* ============ steps ============ */
.steps-row{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;margin-top:2.6rem;}
.steps-row.cols-4{grid-template-columns:repeat(4,1fr);}
.steps-row.cols-3{grid-template-columns:repeat(3,1fr);}
.step-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1.6rem 1.2rem;transition:all .3s;}
.step-card:hover{background:rgba(255,255,255,.09);border-color:var(--turmeric);transform:translateY(-6px);}
.step-num{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:800;color:var(--turmeric);opacity:.55;line-height:1;margin-bottom:.7rem;}
.step-card h4{font-size:.92rem;font-weight:700;margin-bottom:.5rem;}
.step-card p{font-size:.78rem;color:rgba(255,255,255,.68);line-height:1.6;}
.section.bg-white .step-card,.section.bg-ivory .step-card{background:#fff;border:1.5px solid var(--border);}
.section.bg-white .step-card h4,.section.bg-ivory .step-card h4{color:var(--maroon-dark);}
.section.bg-white .step-card p,.section.bg-ivory .step-card p{color:var(--muted);}

/* ============ ENQUIRY / CONTACT FORM (shared) ============ */
.enquire-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:3rem;align-items:start;}
.enquire-info p{font-size:.9rem;color:var(--muted);line-height:1.85;margin-bottom:2rem;}
.contact-block{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;}
.contact-row{display:flex;align-items:center;gap:1rem;background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:1rem 1.2rem;}
.contact-row i{font-size:1.2rem;color:var(--gold);width:26px;flex-shrink:0;}
.contact-row a,.contact-row span{font-size:.86rem;font-weight:600;color:var(--text);}
.wa-btn{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:13px 24px;border-radius:8px;font-weight:700;font-size:.85rem;box-shadow:0 8px 22px rgba(37,211,102,.3);transition:all .25s;}
.wa-btn:hover{background:#1EBE5A;transform:translateY(-3px);}

.enquiry-form{background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:2.2rem;box-shadow:0 10px 34px rgba(107,18,32,.07);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.field{display:flex;flex-direction:column;gap:.4rem;}
.field.full{grid-column:1/-1;}
.field label{font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--maroon);}
.field label .req{color:var(--orange);}
.field input,.field select,.field textarea{background:var(--ivory);border:1.5px solid var(--border);border-radius:7px;padding:11px 14px;font-size:.86rem;font-family:inherit;color:var(--text);outline:none;transition:border-color .2s;width:100%;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);background:#fff;}
.field textarea{resize:vertical;min-height:90px;}
.field.error input,.field.error select,.field.error textarea{border-color:#C0392B;}
.field-error-msg{font-size:.68rem;color:#C0392B;display:none;}
.field.error .field-error-msg{display:block;}
.field-hint{font-size:.68rem;color:var(--muted);}
.file-field{position:relative;}
.file-field input[type=file]{padding:9px 14px;}
.consent-row{display:flex;align-items:flex-start;gap:.6rem;grid-column:1/-1;margin-bottom:.2rem;}
.consent-row input[type=checkbox]{margin-top:.25rem;width:16px;height:16px;flex-shrink:0;accent-color:var(--maroon);}
.consent-row label{font-size:.76rem;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;}
.consent-row.error label{color:#C0392B;}
.consent-row.error input[type=checkbox]{outline:2px solid #C0392B;}
.submit-row{margin-top:.5rem;display:flex;flex-direction:column;gap:.8rem;align-items:flex-start;}
.submit-row .btn{width:100%;justify-content:center;}
.form-success{display:none;background:#E9F7EF;border:1.5px solid #27AE60;color:#1C6B37;border-radius:10px;padding:1.1rem 1.3rem;font-size:.86rem;line-height:1.6;align-items:flex-start;gap:.7rem;}
.form-success.show{display:flex;}
.form-success i{font-size:1.2rem;margin-top:.1rem;}
.form-fallback-note{font-size:.7rem;color:var(--muted);font-style:italic;margin-top:.8rem;}

/* ============ TABLE (brand comparison etc.) ============ */
.compare-table-wrap{overflow-x:auto;border-radius:14px;border:1.5px solid var(--border);box-shadow:0 6px 22px rgba(107,18,32,.06);}
table.compare-table{width:100%;border-collapse:collapse;min-width:560px;background:#fff;}
table.compare-table th,table.compare-table td{padding:.9rem 1.1rem;text-align:left;font-size:.84rem;border-bottom:1px solid var(--border);}
table.compare-table thead th{background:var(--maroon-dark);color:#fff;font-family:'Playfair Display',serif;font-weight:700;font-size:.9rem;}
table.compare-table tbody tr:nth-child(even){background:var(--ivory);}
table.compare-table td:first-child,table.compare-table th:first-child{font-weight:700;color:var(--maroon-dark);}

/* ============ BRAND PANELS (brands.html) ============ */
.brand-panel{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:70px 0;}
.brand-panel.reverse .brand-panel-media{order:2;}
.brand-panel-media .placeholder{min-height:320px;}
.brand-logo-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem;}
.brand-logo-row img{height:56px;width:auto;object-fit:contain;border-radius:8px;}
.brand-tagline{font-family:'Playfair Display',serif;font-style:italic;font-size:1.1rem;margin-bottom:1rem;}
.eppa-panel .brand-tagline{color:var(--eppa-yellow);}
.emar-panel{background:var(--ivory-deep);}
.emar-panel .brand-tagline{color:var(--emar-red);}
.brand-pill{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:5px 14px;border-radius:20px;margin-bottom:1rem;}
.eppa-panel .brand-pill{background:rgba(244,163,0,.15);color:#8a5c00;}
.emar-panel .brand-pill{background:rgba(179,34,29,.12);color:var(--emar-red);}

/* ============ PRODUCT GRID (products.html) ============ */
.filter-bar{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:2.4rem;}
.filter-btn{background:#fff;border:1.5px solid var(--border);border-radius:30px;padding:9px 20px;font-size:.76rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);transition:all .2s;}
.filter-btn:hover{border-color:var(--gold);color:var(--maroon-dark);}
.filter-btn.active{background:var(--maroon);border-color:var(--maroon);color:#fff;}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.product-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;overflow:hidden;transition:all .3s;box-shadow:0 4px 16px rgba(107,18,32,.05);display:flex;flex-direction:column;}
.product-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(107,18,32,.14);border-color:var(--gold);}
.product-card.hide{display:none;}
.product-media{position:relative;background:var(--ivory);padding:18px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;}
.product-media img{width:100%;height:auto;display:block;object-fit:contain;}
.product-brand-tag{position:absolute;top:12px;left:12px;font-size:.6rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:16px;color:#fff;}
.product-brand-tag.eppa{background:var(--orange);}
.product-brand-tag.emar{background:var(--emar-red);}
.product-body{padding:1.3rem 1.3rem 1.5rem;flex:1;display:flex;flex-direction:column;}
.product-body h3{font-size:1.05rem;font-weight:800;color:var(--maroon-dark);margin-bottom:.6rem;}
.spec-list{list-style:none;margin:0 0 1rem;padding:0;flex:1;}
.spec-list li{display:flex;justify-content:space-between;gap:.5rem;font-size:.74rem;color:var(--muted);padding:.3rem 0;border-bottom:1px dashed var(--border);}
.spec-list li:last-child{border-bottom:none;}
.spec-list li strong{color:var(--text);font-weight:600;}
.spec-note{font-size:.68rem;color:var(--muted);font-style:italic;margin-bottom:.8rem;}

/* ============ availability / ecommerce logos row ============ */
.avail-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;}
.avail-chip{display:flex;align-items:center;gap:.6rem;background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:.9rem 1.3rem;font-size:.84rem;font-weight:600;transition:all .2s;}
.avail-chip:hover{border-color:var(--gold);transform:translateY(-3px);}
.avail-chip i{color:var(--gold);font-size:1.1rem;}

/* ============ FAQ / accordion generic ============ */
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:none;border:none;padding:1.1rem 0;font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--maroon-dark);text-align:left;}
.faq-q i{transition:transform .3s;color:var(--gold);flex-shrink:0;}
.faq-q[aria-expanded="true"] i{transform:rotate(180deg);}
.faq-a{display:none;padding:0 0 1.2rem;font-size:.86rem;color:var(--muted);line-height:1.8;}
.faq-a.open{display:block;}

/* ============ FOOTER ============ */
footer{background:var(--maroon-dark);color:#fff;padding-top:60px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2.6rem;}
.footer-brand img{height:46px;margin-bottom:1rem;}
.footer-brand .tag{font-family:'Playfair Display',serif;font-style:italic;color:var(--turmeric);font-size:.9rem;margin-bottom:.8rem;}
.footer-brand p{font-size:.78rem;color:rgba(255,255,255,.55);line-height:1.75;max-width:260px;}
.footer-col h5{font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--turmeric);margin-bottom:1rem;}
.footer-col a,.footer-col span{display:block;font-size:.8rem;color:rgba(255,255,255,.65);margin-bottom:.55rem;transition:color .2s;}
.footer-col a:hover{color:var(--turmeric);}
.footer-social{display:flex;gap:.7rem;margin-top:.4rem;}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:.9rem;}
.footer-social a:hover{border-color:var(--turmeric);background:rgba(244,163,0,.12);}
.footer-note{font-size:.72rem;color:rgba(255,255,255,.4);font-style:italic;border-top:1px solid rgba(255,255,255,.1);padding:1.4rem 0;max-width:900px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.72rem;color:rgba(255,255,255,.45);}
.footer-bottom strong{color:var(--turmeric);}

/* ============ FLOATING UI ============ */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:900;width:58px;height:58px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;box-shadow:0 10px 28px rgba(37,211,102,.4);transition:transform .25s;}
.wa-float:hover{transform:scale(1.08);}
.back-top{position:fixed;bottom:24px;right:92px;z-index:900;width:44px;height:44px;background:var(--maroon);border:none;border-radius:50%;color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(107,18,32,.35);opacity:0;pointer-events:none;transition:all .3s;}
.back-top.show{opacity:1;pointer-events:auto;}
.back-top:hover{background:var(--gold);}

/* ============ SCROLL REVEAL ============ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}

/* ============ RESPONSIVE ============ */
@media(max-width:1080px){
  .pack-grid,.product-grid{grid-template-columns:1fr 1fr;}
  .cat-grid{grid-template-columns:1fr 1fr;}
  .chip-grid{grid-template-columns:1fr 1fr;}
  .footer-top{grid-template-columns:1fr 1fr 1fr;}
  .brand-panel{grid-template-columns:1fr;padding:50px 0;}
  .brand-panel.reverse .brand-panel-media{order:0;}
  .hero-in{grid-template-columns:1fr !important;gap:2rem !important;}
  .hero-boxes{max-width:360px !important;margin:0 auto !important;}
  .hero-boxes-dual{display:flex;flex-direction:column;gap:1.2rem;max-width:360px !important;}
  .hero-boxes-dual .box-secondary{position:static;width:70%;margin:0 auto;border:3px solid var(--ivory);}
  .personal-grid,.custom-grid{grid-template-columns:1fr !important;gap:2rem !important;}
  .cta-split{grid-template-columns:1fr !important;text-align:center;}
}
@media(max-width:860px){
  .nav-links,.nav-in>.nav-cta{display:none;}
  .hamburger{display:flex;}
  .enquire-grid{grid-template-columns:1fr;}
  .steps-row,.steps-row.cols-4,.steps-row.cols-3{grid-template-columns:1fr 1fr;}
  .times-boxes{grid-template-columns:1fr !important;}
  .times-features{grid-template-columns:1fr 1fr !important;}
  .trust-strip{grid-template-columns:1fr 1fr !important;}
  .pack-grid{grid-template-columns:1fr 1fr !important;}
  .cat-grid{grid-template-columns:1fr 1fr !important;}
  .chip-grid{grid-template-columns:1fr 1fr !important;}
  .cust-opts-grid{grid-template-columns:1fr 1fr !important;}
}
@media(max-width:640px){
  .pack-grid,.product-grid{grid-template-columns:1fr !important;}
  .cat-grid{grid-template-columns:1fr !important;}
  .chip-grid{grid-template-columns:1fr 1fr !important;}
  .form-row{grid-template-columns:1fr;}
  .steps-row,.steps-row.cols-4,.steps-row.cols-3{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem;}
  .footer-brand{grid-column:1/-1;}
  .page-hero{padding:44px 0 36px;}
  .section{padding:56px 0;}
  .section.tight{padding:40px 0;}
  .back-top{right:24px;bottom:92px;}
  .filter-bar{gap:.5rem;}
  .times-features,.custom-list,.custom-visuals,.cust-opts-grid{grid-template-columns:1fr !important;}
  .cust-cycle{flex-direction:column;align-items:center;}
  .cust-cycle-item{width:220px;}
  .cc-arrow{transform:rotate(90deg);margin:-2px 0;}
  .brand-logo-row img{max-width:140px;}
  .trust-strip{grid-template-columns:1fr 1fr !important;}
  .hero-boxes{max-width:300px !important;}
  .hero-boxes-dual{max-width:280px !important;}
}
