:root{
  --pink: #cb9541;
  --pink-dark: #a97a35;
  --pink-light: #ddb578;
  --charcoal: #1f1f21;
  --charcoal-2: #2a2a2c;
  --charcoal-3: #2c2c2e;
  --wood: #1f1f21;
  --cream: #f5eae4;
  --cream-2: #cccccc;
  --gold: #cb9541;
  --gold-light: #ddb578;
  --ink: #fafafa;
  --muted: #b3aca4;
  --silver: #b7bec5;
  --silver-dark: #888f96;
  --bronze: #b5713f;
  --bronze-dark: #8a5730;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Lora',serif;color:var(--ink);background:var(--charcoal);line-height:1.65;}
h1,h2,h3{font-family:'Anton',sans-serif;font-weight:400;margin:0 0 .4em;color:#fff;letter-spacing:.01em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
section[id]{scroll-margin-top:90px;}

/* Nav */
.site-nav{position:sticky;top:0;z-index:50;background:rgba(9,9,9,.97);box-shadow:0 2px 18px rgba(0,0,0,.35);border-bottom:1px solid rgba(255,255,255,.06);}
.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;}
.site-nav img.logo{height:74px;width:auto;}
.site-nav nav{display:flex;gap:28px;font-size:16.5px;font-weight:700;letter-spacing:.02em;color:var(--cream);}
.site-nav nav a{padding:6px 2px;border-bottom:2px solid transparent;transition:.2s;}
.site-nav nav a:hover,.site-nav nav a.active{border-color:var(--gold);color:var(--gold-light);}
.site-nav .cta-group{display:flex;gap:10px;}
.nav-cta-group{display:none;}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;background:none;border:none;cursor:pointer;padding:0;flex:0 0 auto;}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--cream);border-radius:2px;transition:.25s;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.btn{display:inline-block;padding:11px 22px;border-radius:30px;font-weight:700;font-size:14px;letter-spacing:.02em;transition:.2s;border:2px solid transparent;}
.btn-pink{background:var(--pink);color:var(--charcoal);}
.btn-pink:hover{background:var(--pink-dark);}
.btn-outline{border-color:var(--gold);color:var(--gold-light);}
.btn-outline:hover{background:var(--gold);color:var(--charcoal);border-color:var(--gold);}
.btn-gold{background:var(--gold);color:var(--charcoal);}

/* Hero */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;background:var(--wood);overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:url('images/hero-pie.jpg') center/cover;opacity:.95;filter:saturate(1.05) brightness(1);}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg, rgba(9,9,9,.94) 10%, rgba(9,9,9,.6) 42%, rgba(9,9,9,.2) 65%, rgba(9,9,9,.08) 100%);}
.hero .wrap{position:relative;z-index:2;padding-top:60px;padding-bottom:60px;}
.hero-tag{display:inline-block;background:var(--pink);color:var(--charcoal);padding:9px 22px;border-radius:24px;font-size:16px;letter-spacing:.12em;font-weight:700;margin-bottom:22px;text-transform:uppercase;font-family:'Montserrat',sans-serif;}
.tagline{font-family:'Montserrat',sans-serif;font-weight:600;}
.hero h1{color:#fff;font-size:56px;max-width:640px;line-height:1.12;}
.hero h1 span{color:var(--gold-light);}
.hero p{color:var(--cream-2);font-size:18px;max-width:520px;margin:20px 0 32px;font-family:'Lora',serif;}
.hero .btns{display:flex;gap:16px;flex-wrap:wrap;}

/* Section generic */
section{padding:88px 0;}
.eyebrow{color:var(--gold-light);font-weight:700;letter-spacing:.12em;font-size:13px;text-transform:uppercase;margin-bottom:10px;display:block;}
.section-head{max-width:640px;margin-bottom:48px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:38px;}
.section-head p{color:var(--muted);}
.bg-dark{background:var(--wood);}
.bg-alt{background:var(--cream);color:var(--charcoal);}
.bg-alt h1,.bg-alt h2,.bg-alt h3{color:var(--charcoal);}
.bg-alt .eyebrow{color:var(--pink-dark);}
.bg-alt .section-head p{color:rgba(9,9,9,.65);}
.bg-alt p{color:rgba(9,9,9,.7);}
.bg-alt .story-grid p{color:rgba(9,9,9,.68);}
.bg-alt .timeline{color:rgba(9,9,9,.7);}
.bg-alt .timeline .yr{color:var(--pink-dark);}
.bg-alt .pill{background:#fff;border-color:rgba(9,9,9,.14);color:var(--charcoal);}
.bg-alt .pill.active{background:var(--gold);color:var(--charcoal);border-color:var(--gold);}
.bg-alt .partner-row span{background:#fff;border-color:rgba(203,149,65,.4);color:var(--pink-dark);}
.bg-alt .cta-strip{background:var(--charcoal);color:var(--ink);}
.bg-alt .cta-strip h3{color:var(--ink);}
.bg-alt .cta-strip p{color:rgba(245,234,228,.82);}

/* Intro / story */
.story-grid{display:grid;grid-template-columns:0.82fr 1.18fr;gap:44px;align-items:stretch;}
.story-grid p{color:var(--muted);}
.story-grid .story-media{position:relative;min-height:460px;overflow:hidden;}
.story-grid .story-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.92);z-index:0;}
.story-grid .story-media::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg, var(--cream) 0%, rgba(245,234,228,0) 16%),radial-gradient(ellipse at center, rgba(245,234,228,0) 62%, rgba(245,234,228,.55) 100%);pointer-events:none;}
.timeline{margin-top:30px;border-left:3px solid var(--pink);padding-left:24px;display:flex;flex-direction:column;gap:22px;color:var(--muted);}
.timeline .yr{font-family:'Anton',sans-serif;font-weight:400;color:var(--gold-light);font-size:20px;}

/* Cards */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.card{background:var(--charcoal-3);border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.05);transition:.25s;display:flex;flex-direction:column;}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(0,0,0,.5);border-color:rgba(203,149,65,.3);}
.card img{height:190px;width:100%;object-fit:cover;filter:brightness(.85) saturate(.9);}
.card .body{padding:24px;display:flex;flex-direction:column;flex:1;}
.card .body .btn{margin-top:auto;align-self:flex-start;}
.card .body h3{font-size:20px;margin-bottom:8px;color:#fff;}
.card .body p{font-size:14.5px;color:var(--muted);margin:0 0 14px;}
.tag-count{display:inline-block;background:rgba(203,149,65,.15);color:var(--gold-light);font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px;margin-bottom:10px;}

/* Awards */
.award-spotlight{display:flex;gap:36px;align-items:center;background:linear-gradient(135deg, var(--charcoal-3), var(--charcoal-2));border:1.5px solid rgba(203,149,65,.5);border-radius:16px;padding:32px;margin-bottom:28px;box-shadow:0 20px 50px rgba(0,0,0,.45), 0 0 40px rgba(203,149,65,.08);}
.award-spotlight-media{flex:0 0 auto;width:340px;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.5);}
.award-spotlight-media img{width:100%;display:block;}
.award-spotlight-copy{flex:1 1 auto;}
.award-spotlight-tag{display:inline-block;background:var(--gold);color:var(--charcoal);font-weight:800;font-size:12px;letter-spacing:.1em;padding:6px 14px;border-radius:20px;text-transform:uppercase;margin-bottom:14px;}
.award-spotlight-copy h3{font-size:28px;margin-bottom:10px;color:#fff;}
.award-spotlight-copy p{color:var(--cream-2);font-size:15.5px;line-height:1.7;margin:0;}

.award-hero{display:flex;gap:32px;align-items:center;background:linear-gradient(120deg,var(--gold),var(--pink-dark));border-radius:14px;padding:40px;color:var(--charcoal);margin-bottom:34px;}
.award-hero .badge{flex:0 0 auto;width:180px;height:180px;border-radius:50%;background:var(--charcoal);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.35);overflow:hidden;}
.award-hero .badge img{width:100%;height:100%;object-fit:cover;}
.award-hero .sub-note{margin:10px 0 0;font-size:13.5px;color:rgba(9,9,9,.7);}

.award-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:40px;}
.award-stats .stat{background:var(--charcoal-3);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:20px 16px;text-align:center;}
.award-stats .stat .num{font-family:'Anton',sans-serif;font-size:34px;line-height:1;color:var(--gold-light);}
.award-stats .stat.stat-silver .num{color:var(--silver);}
.award-stats .stat.stat-bronze .num{color:var(--bronze);}
.award-stats .stat .lbl{font-size:12.5px;color:var(--muted);margin-top:6px;letter-spacing:.03em;}

.podium-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-bottom:44px;}
.podium-card{background:var(--charcoal-3);border-radius:10px;padding:18px;display:flex;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.05);box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer;transition:.15s;}
.podium-card:hover{border-color:rgba(203,149,65,.35);transform:translateY(-2px);}
.podium-card .thumb{flex:0 0 auto;width:56px;height:56px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--gold),var(--pink-dark));display:flex;align-items:center;justify-content:center;border:2px solid var(--gold-light);box-shadow:0 0 0 3px rgba(203,149,65,.2),0 6px 16px rgba(203,149,65,.5);}
.podium-card .thumb .trophy-icon{fill:#fff;width:32px;height:32px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));}
.placement-badge{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--pink-dark));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;color:var(--charcoal);letter-spacing:.02em;box-shadow:0 6px 14px rgba(0,0,0,.3);}
.podium-card .yr{font-weight:700;color:var(--gold-light);font-size:12px;letter-spacing:.05em;}
.podium-card .name{font-weight:600;margin-top:3px;font-size:14.5px;color:#fff;line-height:1.3;}
.podium-card .comp{font-size:12px;color:var(--muted);margin-top:2px;}

.cert-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;}
.cert-modal.open{display:flex;}
.cert-modal-backdrop{position:absolute;inset:0;background:rgba(9,9,9,.85);}
.cert-modal-card{position:relative;z-index:1;background:var(--charcoal-3);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:28px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 30px 70px rgba(0,0,0,.5);text-align:center;}
.cert-modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:none;background:rgba(255,255,255,.08);color:var(--ink);font-size:20px;line-height:1;cursor:pointer;transition:.15s;z-index:2;}
.cert-modal-close:hover{background:var(--gold);color:var(--charcoal);}
.cert-modal-card img{width:100%;border-radius:8px;margin-bottom:16px;}
.cert-modal-card h3{font-size:19px;margin-bottom:4px;padding-right:30px;}
.cert-modal-card .comp{color:var(--cream-2);font-size:13.5px;}

/* Stockists */
.pill{background:var(--charcoal-3);border:1.5px solid rgba(255,255,255,.08);padding:9px 18px;border-radius:30px;font-size:14px;font-weight:600;color:var(--cream-2);}
.pill.active{background:var(--pink);color:var(--charcoal);border-color:var(--pink);}

.brand-logos{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-bottom:24px;}
.brand-logo{display:flex;align-items:center;justify-content:center;}
.brand-logo img{max-height:33px;width:auto;object-fit:contain;}
.brand-logo.ritchies img{max-height:26px;}
.brand-logo.woolworths img{max-height:52px;}

.partner-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;}
.partner-row span{background:var(--charcoal-3);border:1px solid rgba(203,149,65,.25);padding:8px 16px;border-radius:6px;font-weight:600;font-size:13.5px;color:var(--gold-light);}
.cta-strip{margin-top:50px;background:linear-gradient(120deg,var(--pink-dark),var(--pink));color:var(--charcoal);border-radius:14px;padding:36px 40px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.cta-strip h3{color:var(--charcoal);margin-bottom:6px;}
.cta-strip p{margin:0;color:rgba(9,9,9,.72);font-size:14.5px;}

/* Testimonials */
.testi-scroller{position:relative;}
.testi-scroller::after{content:'';position:absolute;top:0;right:0;bottom:16px;width:70px;pointer-events:none;background:linear-gradient(to right, rgba(9,9,9,0), var(--charcoal));}
.testi-row{display:flex;gap:22px;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 4px 16px;margin:0 -4px;cursor:grab;scrollbar-width:thin;scrollbar-color:rgba(203,149,65,.4) transparent;}
.testi-row.dragging{cursor:grabbing;user-select:none;}
.testi-row::-webkit-scrollbar{height:6px;}
.testi-row::-webkit-scrollbar-track{background:transparent;}
.testi-row::-webkit-scrollbar-thumb{background:rgba(203,149,65,.4);border-radius:10px;}
.testi{flex:0 0 300px;background:var(--charcoal-3);border-radius:10px;padding:28px;border:1px solid rgba(255,255,255,.05);box-shadow:0 8px 24px rgba(0,0,0,.3);}
.testi p{font-style:italic;font-size:15px;color:var(--cream-2);}
.testi .who{margin-top:14px;font-weight:700;color:var(--gold-light);font-size:13.5px;}
.testi-nav{display:flex;justify-content:center;gap:14px;margin-top:8px;}
.testi-arrow{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.12);background:var(--charcoal-3);color:var(--cream);font-size:20px;cursor:pointer;transition:.2s;}
.testi-arrow:hover{background:var(--gold);color:var(--charcoal);border-color:var(--gold);}

/* FAQ */
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{border-bottom:1px solid rgba(255,255,255,.08);padding:20px 0;}
.faq-item summary{cursor:pointer;font-weight:700;font-size:16.5px;color:#fff;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:22px;color:var(--gold-light);flex:0 0 auto;transition:.2s;}
.faq-item[open] summary::after{content:'−';}
.faq-item p{color:var(--cream-2);margin:14px 0 0;font-size:15px;line-height:1.7;}
.bg-alt .faq-item{border-bottom-color:rgba(9,9,9,.12);}
.bg-alt .faq-item summary{color:var(--charcoal);}
.bg-alt .faq-item summary::after{color:var(--pink-dark);}
.bg-alt .faq-item p{color:rgba(9,9,9,.7);}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.loc-card{background:var(--charcoal-3);border-radius:10px;padding:30px;border:1px solid rgba(255,255,255,.05);box-shadow:0 8px 24px rgba(0,0,0,.3);}
.loc-card h3{color:var(--gold-light);}
.loc-card p{margin:4px 0;font-size:14.5px;color:var(--cream-2);}
.form-toggle{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap;}
.form-toggle .pill{cursor:pointer;}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-box{background:var(--charcoal-3);padding:30px;border-radius:10px;border:1px solid rgba(255,255,255,.05);box-shadow:0 8px 24px rgba(0,0,0,.3);}
.form-box input,.form-box select,.form-box textarea{width:100%;padding:12px 14px;background:var(--charcoal-2);border:1.5px solid rgba(255,255,255,.1);border-radius:6px;margin-bottom:14px;font-family:inherit;font-size:14.5px;color:var(--ink);}
.form-box input::placeholder,.form-box textarea::placeholder{color:var(--muted);}
.form-box label{font-size:13px;font-weight:600;color:var(--cream-2);display:block;margin-bottom:5px;}

footer{background:var(--wood);color:var(--cream-2);padding:50px 0 26px;font-size:14px;border-top:1px solid rgba(203,149,65,.2);}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;margin-bottom:30px;}
footer h4{color:#fff;font-family:'Lora',serif;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;}
footer a{display:block;margin-bottom:8px;color:var(--cream-2);}
.social-link{display:flex;align-items:center;gap:9px;}
.social-link svg{flex:0 0 auto;width:17px;height:17px;fill:var(--cream-2);transition:.2s;}
.social-link:hover svg{fill:var(--gold-light);}
footer a:hover{color:var(--gold-light);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;text-align:center;font-size:12.5px;color:var(--muted);}

.swatch-strip{display:flex;gap:0;height:6px;}
.swatch-strip span{flex:1;}

/* Product range pages */
.page-hero{position:relative;padding:64px 0 46px;background:var(--wood);border-bottom:1px solid rgba(255,255,255,.06);}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:16px;}
.breadcrumb a:hover{color:var(--gold-light);}
.page-hero h1{font-size:42px;margin-bottom:14px;}
.page-hero p{color:var(--cream-2);max-width:640px;font-size:16px;}
.range-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;}
.range-nav a{background:var(--charcoal-3);border:1.5px solid rgba(255,255,255,.08);padding:9px 18px;border-radius:30px;font-size:13.5px;font-weight:600;color:var(--cream-2);transition:.2s;}

/* Page hero with a full-bleed moody background photo (e.g. High Protein Range) */
.page-hero.page-hero-photo{overflow:hidden;}
.page-hero-bg{position:absolute;inset:0;background:url('images/hero-high-protein.jpg?v=2') center/cover;opacity:.4;filter:saturate(.8) brightness(.85);}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(110deg, rgba(9,9,9,.95) 20%, rgba(9,9,9,.72) 55%, rgba(203,149,65,.25));}
.page-hero-photo .wrap{position:relative;z-index:2;}
.range-nav a:hover,.range-nav a.active{background:var(--gold);color:var(--charcoal);border-color:var(--gold);}

.subcat-head{display:flex;align-items:baseline;gap:12px;margin:0 0 22px;flex-wrap:wrap;}
.subcat-head h3{font-size:22px;margin:0;}
.subcat-head .count{color:var(--muted);font-size:13.5px;}
.subcat-head .pack-note{margin-left:auto;font-size:14.5px;font-weight:700;color:#fff;background:var(--gold);border:1px solid var(--gold-light);padding:7px 18px;border-radius:20px;}
.bg-alt .subcat-head .pack-note{color:#fff;background:var(--pink-dark);border-color:var(--pink-dark);}

.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;margin-bottom:60px;}
.product-card{background:var(--charcoal-3);border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.05);box-shadow:0 8px 20px rgba(0,0,0,.3);transition:.2s;}
.product-card:hover{transform:translateY(-4px);border-color:rgba(203,149,65,.3);}
.product-card:hover .photo{transform:scale(1.32);}
.product-card .photo-frame{height:230px;width:100%;overflow:hidden;background:#e9e4de;}
.product-card .photo{height:100%;width:100%;object-fit:cover;transform:scale(1.24);transition:transform .35s ease;filter:brightness(.94) saturate(.96);}
.product-card .photo.placeholder{height:230px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, var(--charcoal-2), var(--charcoal-3));color:var(--muted);font-family:'Anton',sans-serif;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:16px;line-height:1.3;transform:none;}

/* Portrait packaging renders — frame matches the pack's own proportions, so the whole pack shows with no crop and no dead space */
.product-card .photo-frame.portrait{height:auto;aspect-ratio:1023/1537;background:#e9e4de;}
.product-card .photo-frame.portrait .photo{width:100%;height:100%;object-fit:contain;transform:none;}
.product-card:hover .photo-frame.portrait .photo{transform:none;}
.product-card .photo-frame.portrait .photo.tp-light{filter:brightness(1.1) saturate(1.02);}

/* Single Perforated (4:3) and High Protein (3:2) packaging renders — same no-crop treatment, own aspect ratio */
.product-card .photo-frame.pack-sp,
.product-card .photo-frame.pack-hp{height:auto;background:#e9e4de;}
.product-card .photo-frame.pack-sp{aspect-ratio:1448/1086;}
.product-card .photo-frame.pack-hp{aspect-ratio:1448/1086;}
.product-card .photo-frame.pack-sp .photo,
.product-card .photo-frame.pack-hp .photo{width:100%;height:100%;object-fit:contain;transform:none;}
.product-card:hover .photo-frame.pack-sp .photo,
.product-card:hover .photo-frame.pack-hp .photo{transform:none;}

/* Square (1:1) packaging renders — same no-crop treatment, avoids the cover+zoom combo cropping into the product itself */
.product-card .photo-frame.square{background:#e9e4de;}
.product-card .photo-frame.square .photo{width:100%;height:100%;object-fit:contain;transform:none;}
.product-card:hover .photo-frame.square .photo{transform:none;}
.product-card .info{padding:14px 16px;}
.product-card .info h4{font-family:'Lora',serif;font-weight:600;font-size:14.5px;color:#fff;margin:0 0 4px;}

.card-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.card .photo-placeholder{height:190px;width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, var(--charcoal-2), var(--charcoal-3));color:var(--gold-light);font-family:'Anton',sans-serif;font-size:16px;letter-spacing:.04em;text-transform:uppercase;text-align:center;padding:20px;}

/* Product detail page */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
.product-detail .photo{border-radius:10px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.45);}
.product-detail .photo img{width:100%;height:380px;object-fit:cover;transform:scale(1.24);filter:brightness(.9) saturate(.92);}
.product-detail .photo.portrait{height:auto;aspect-ratio:1023/1537;background:#e9e4de;max-width:360px;margin:0 auto;}
.product-detail .photo.portrait img{width:100%;height:100%;object-fit:contain;filter:none;}
.product-detail .photo.pack-sp,
.product-detail .photo.pack-hp{height:auto;background:#e9e4de;max-width:460px;margin:0 auto;}
.product-detail .photo.pack-sp{aspect-ratio:1448/1086;}
.product-detail .photo.pack-hp{aspect-ratio:1448/1086;}
.product-detail .photo.pack-sp img,
.product-detail .photo.pack-hp img{width:100%;height:100%;object-fit:contain;filter:none;}
.product-detail .photo.placeholder{height:380px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, var(--charcoal-2), var(--charcoal-3));color:var(--gold-light);font-family:'Anton',sans-serif;font-size:22px;letter-spacing:.03em;text-transform:uppercase;text-align:center;padding:30px;}
.product-detail h1{font-size:36px;margin-bottom:16px;}
.product-detail .desc{color:var(--cream-2);font-size:16px;margin-bottom:20px;}
.halal-note{display:inline-flex;align-items:center;gap:8px;background:rgba(203,149,65,.12);border:1px solid rgba(203,149,65,.3);color:var(--gold-light);font-size:13.5px;font-weight:600;padding:9px 16px;border-radius:8px;margin-bottom:24px;}
.halal-note.not-certified{background:rgba(219,63,63,.1);border-color:rgba(219,63,63,.3);color:#e57373;}
.wholesale-card{background:var(--charcoal-3);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:26px 28px;box-shadow:0 8px 24px rgba(0,0,0,.3);}
.wholesale-card h3{font-size:16px;letter-spacing:.06em;text-transform:uppercase;font-family:'Lora',serif;font-weight:700;color:var(--gold-light);margin-bottom:16px;}
.wholesale-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;}
.wholesale-grid dt{font-size:12px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px;}
.wholesale-grid dd{margin:0;font-size:15.5px;font-weight:600;color:#fff;}
.back-link{display:inline-block;margin-top:36px;color:var(--gold-light);font-size:14px;font-weight:600;}
.back-link:hover{color:#fff;}

@media(max-width:900px){
  .site-nav .wrap{padding:10px 20px;}
  .site-nav img.logo{height:52px;}
  .site-nav .cta-group{display:none;}
  .nav-toggle{display:flex;}
  .site-nav nav{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;
    background:var(--charcoal-2);
    padding:10px 20px 20px;
    gap:2px;
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow:0 16px 30px rgba(0,0,0,.45);
    max-height:calc(100vh - 62px);
    overflow-y:auto;
  }
  .site-nav nav.open{display:flex;}
  .site-nav nav a{padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.06);font-size:16px;}
  .nav-cta-group{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
  .nav-cta-group .btn{text-align:center;}
  .hero h1{font-size:38px;}
  .hero-bg{opacity:.5;}
  .hero-overlay{background:linear-gradient(180deg, rgba(9,9,9,.9) 0%, rgba(9,9,9,.85) 55%, rgba(9,9,9,.7) 100%);}
  .story-grid,.card-grid,.contact-grid,.foot-grid,.product-detail{grid-template-columns:1fr;}
  .testi{flex-basis:78vw;}
  .card-grid.cols-4{grid-template-columns:1fr 1fr;}
  .award-hero{flex-direction:column;text-align:center;}
  .award-spotlight{flex-direction:column;text-align:center;}
  .award-spotlight-media{width:100%;}
  .page-hero h1{font-size:32px;}
  section{padding:60px 0;}
  .cert-modal-card{padding:22px;}
}

@media(max-width:560px){
  .card-grid.cols-4{grid-template-columns:1fr;}
  .form-row-2{grid-template-columns:1fr;}
  .section-head h2{font-size:30px;}
  .hero h1{font-size:32px;}
  .cta-strip{flex-direction:column;text-align:center;}
  .cta-strip .btn{width:100%;text-align:center;}
}
