/* ============================================================
   Frontier Fireworks — theme stylesheet
   Ported pixel-for-pixel from the design handoff (styles.css +
   the per-page inline styles), then extended with the responsive
   layer, mobile navigation, WooCommerce and blog styling that the
   static prototypes did not include.
   Display: Big Shoulders Display · Body: Open Sans
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@400;500;600;700;800&family=Open+Sans:ital,wght@0,400;0,600;0,700;0,800;1,700&display=swap');

:root{
  --bg:#0a0b12;
  --border:#39393f;
  --yellow:#f3fb05;
  --orange:#f6700c;          /* buttons / case-study accent */
  --orange-d:#f6650c;
  --hero-orange:#ff6a00;     /* "30 Years of" */
  --logo-orange:#ff7a2d;     /* wordmark */
  --red:#ff3232;             /* shop / shop card */
  --white:#fff;
  --display:'Big Shoulders Display','Arial Narrow','Roboto Condensed',sans-serif;
  --body:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --container:1400px;
}

*{box-sizing:border-box;}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--white);
  font-family:var(--body);
  font-size:17px;
  line-height:25px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
h1,h2,h3,h4,h5{margin:0;}

/* centred content column — 1400px design width */
.container{
  width:var(--container);
  max-width:calc(100% - 40px);
  margin-inline:auto;
}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--yellow);color:#000;padding:12px 18px;font-weight:700;z-index:200;}
.skip-link:focus{left:8px;top:8px;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--body);font-weight:700;font-size:17px;line-height:20px;
  border:none;border-radius:3px;cursor:pointer;
  padding:17px 27px;white-space:nowrap;
  transition:filter .15s ease, transform .15s ease, box-shadow .15s ease;
  text-align:center;
}
.btn:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.32);}
.btn:active{transform:translateY(1px);}
.btn--yellow{background:var(--yellow);color:#000;}
.btn--orange{background:var(--orange);color:#fff;padding:14px 18px 16px 17px;border-radius:3px;}
.btn--red{background:var(--red);color:#fff;}
.btn--sm{padding:14px 18px 16px 17px;font-size:17px;}
.btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #54545c;}
.btn--ghost:hover{box-shadow:inset 0 0 0 2px var(--yellow);color:var(--yellow);filter:none;}
.btn .chev{width:9px;height:16px;flex:none;}
.chev{width:9px;height:16px;flex:none;}
.gbtn svg{width:9px;height:16px;flex:none;}

/* ============================================================
   TOP BAR + HEADER
   ============================================================ */
.topbar{
  border-bottom:1px solid var(--border);
  background:var(--bg);
}
.topbar .container{
  height:70px;display:flex;align-items:center;justify-content:space-between;
}
.topbar__left{display:flex;gap:28px;font-size:16px;line-height:25px;color:#fff;}
.topbar__left a{color:#fff;}
.topbar__left a:hover{color:var(--yellow);}
.topbar__right{display:flex;gap:25px;font-weight:700;font-size:17px;align-items:center;}
.topbar__right a:hover{color:var(--yellow);}

.nav{
  background:var(--bg);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:90;   /* stays at the top of the viewport on scroll */
}
.nav .container{
  height:125px;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;gap:14px;}
.brand__mono{height:46px;width:auto;}
.brand__txt{display:flex;flex-direction:column;justify-content:center;line-height:1;}
.brand__name{
  font-family:var(--display);font-weight:700;font-size:23.7px;line-height:1;
  letter-spacing:.5px;color:var(--white);white-space:nowrap;
}
.brand__tag{
  font-family:var(--display);font-weight:700;font-size:9.6px;line-height:1;
  letter-spacing:1.4px;color:#fff;margin-top:4px;white-space:nowrap;
}
.nav__links{
  display:flex;align-items:center;gap:22px;
  font-weight:700;font-size:16px;line-height:30px;
  list-style:none;margin:0;padding:0;
}
.nav__cta{display:flex;align-items:center;gap:20px;}
.nav__cta .btn{font-size:17px;height:40px;padding:0 18px;}
/* 89d55817 — basket summary lives in the sticky nav so it stays visible on scroll */
.nav__cart{display:inline-flex;align-items:center;gap:9px;color:#d7d7db;font-weight:700;font-size:15px;white-space:nowrap;transition:color .15s ease;}
.nav__cart:hover{color:var(--white);}
.nav__cart-ic{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none;}
.nav__cart .ff-cartline{display:inline;}

/* ---- mega / dropdown nav ---- */
.nav-item{position:relative;}
.nav-item>a{display:flex;align-items:center;gap:7px;color:#d7d7db;white-space:nowrap;transition:color .15s ease;padding:47px 0;}
.nav-item>a:hover,.nav-item.open>a,.nav-item.current>a,.nav-item.current-menu-item>a,.nav-item.current-menu-parent>a,.nav-item.current-menu-ancestor>a{color:var(--yellow);}
.nav-item .caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s ease;flex:none;}
.nav-item.open .caret{transform:translateY(1px) rotate(-135deg);}
.submenu{position:absolute;top:100%;left:-18px;min-width:268px;background:#101119;border:1px solid var(--border);border-radius:5px;padding:10px;box-shadow:0 22px 48px rgba(0,0,0,.55);display:none;z-index:60;list-style:none;margin:0;}
.submenu--mega{min-width:560px;}
.nav-item.open>.submenu{display:block;}
.nav-item.open>.submenu--mega{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
@media (hover:hover){
  .nav-item:hover>.submenu{display:block;}
  .nav-item:hover>.submenu--mega{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
  .nav-item:hover .caret{transform:translateY(1px) rotate(-135deg);}
}
.submenu li{margin:0;}
.submenu a{display:block;padding:11px 16px;border-radius:3px;color:#d7d7db;font-size:15px;font-weight:600;line-height:20px;white-space:nowrap;transition:background .12s ease,color .12s ease;}
.submenu a:hover{background:#1b1c26;color:var(--yellow);}
.submenu a.cur,.submenu li.current-menu-item>a{color:var(--yellow);}

/* hamburger (hidden on desktop) */
.nav__toggle{display:none;background:none;border:0;cursor:pointer;width:46px;height:46px;flex:none;padding:10px;}
.nav__toggle span{display:block;height:3px;background:#fff;border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
.nav__toggle span+span{margin-top:6px;}
body.menu-open .nav__toggle span:nth-child(1){transform:translateY(9px) rotate(45deg);}
body.menu-open .nav__toggle span:nth-child(2){opacity:0;}
body.menu-open .nav__toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{position:relative;}
.footer__main{
  position:relative;
  background:url('../images/footer-bg.jpg') 50% 0%/cover no-repeat;
  padding:96px 0 64px;
}
.footer__main::before{      /* top fade into page */
  content:"";position:absolute;left:0;top:0;width:100%;height:179px;
  background:linear-gradient(180deg,var(--bg) 0%,rgba(10,11,18,0) 100%);
  pointer-events:none;
}
.footer__main::after{       /* dim the photo */
  content:"";position:absolute;inset:0;background:rgba(10,11,18,.55);pointer-events:none;
}
.footer__grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.05fr .55fr 1.1fr;gap:51px;align-items:start;
}
.footer__brand-name{
  display:flex;align-items:center;gap:8px;
  font-weight:700;font-size:24px;line-height:35px;margin-bottom:20px;
}
.footer__brand-name img{height:24px;width:auto;}
.footer p{font-size:16px;line-height:25px;margin:0;}
.footer__contact{margin-top:20px;font-size:16px;line-height:25px;}
.footer__contact a{color:var(--white);transition:color .15s ease;}
.footer__contact a:hover{color:var(--yellow);}
.footer__social{display:flex;gap:22px;margin-top:24px;}
.footer__social a{display:inline-flex;}
.footer__social svg{width:26px;height:26px;fill:#fff;transition:fill .15s ease;}
.footer__social a:hover svg{fill:var(--yellow);}
.footer h4{
  font-weight:700;font-size:24px;line-height:35px;margin:0 0 16px;font-family:var(--body);
}
.footer__find{white-space:pre-line;font-size:16px;line-height:25px;}
.enquire-head{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;line-height:.92;margin:0;
}
.enquire-head .y{color:var(--yellow);}
.footer .enquire-head{font-size:40px;margin-bottom:22px;}
.footer__enquire p{font-size:16px;line-height:24px;max-width:430px;margin-bottom:24px;}

.footer__bar{
  background:var(--bg);border-top:1px solid var(--border);
}
.footer__bar .container{
  min-height:106px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 32px;
  font-weight:400;font-size:15px;line-height:24px;padding-top:22px;padding-bottom:22px;color:#9a9aa3;
}
.footer__bar-left{display:flex;align-items:center;column-gap:40px;row-gap:8px;flex-wrap:wrap;}
.footer__bar-left .links{display:flex;column-gap:20px;row-gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.footer__bar-left .links a:hover{color:var(--yellow);}
.footer__bar .container > span{white-space:nowrap;margin-left:auto;}   /* credit: keep on one line, push right */

/* decorative firework sprite helper (3x3 sheet) */
.spark{position:absolute;background-image:url('../images/firework-trans.png');background-repeat:no-repeat;pointer-events:none;z-index:0;}

/* ============================================================
   CONTENT PAGES (Display Overview, Low Noise, spokes)
   ============================================================ */
.prose{max-width:1040px;}
.prose.is-wide{max-width:1100px;}
.prose-h{font-family:var(--display);font-weight:700;font-size:54px;line-height:60px;margin:0 0 30px;color:#fff;}
.prose p{font-size:19px;line-height:32px;margin:0 0 24px;color:#e7e7ea;}
.prose p:last-child{margin-bottom:0;}
.prose a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover{color:var(--yellow);}
.prose strong{color:#fff;}
.lede{font-weight:700;font-size:25px;line-height:34px;color:#fff;}
/* WYSIWYG bullet lists inside prose adopt the design's diamond list */
.prose ul{list-style:none;padding:0;margin:24px 0;display:flex;flex-direction:column;gap:15px;}
.prose ul li{position:relative;padding-left:34px;font-size:19px;line-height:30px;color:#e7e7ea;}
.prose ul li::before{content:"";position:absolute;left:0;top:10px;width:11px;height:11px;background:var(--orange);transform:rotate(45deg);}
.prose ol{padding-left:22px;margin:24px 0;}
.prose ol li{font-size:19px;line-height:30px;color:#e7e7ea;margin:0 0 8px;}
.prose h3{font-family:var(--display);font-weight:700;font-size:30px;line-height:1.15;margin:34px 0 14px;}

/* hero shared (content) — cinematic right-anchored image, like the home page */
.chero{position:relative;overflow:hidden;background:var(--bg);padding:122px 0 132px;}
.chero__img{position:absolute;top:0;right:0;bottom:0;left:auto;width:72%;background-size:cover;background-position:center bottom;z-index:0;}
.chero__fade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--bg) 22%,rgba(10,11,18,.55) 42%,rgba(10,11,18,0) 70%);}
.chero__fadeb{position:absolute;left:0;right:0;bottom:0;height:38%;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,11,18,0) 0%,var(--bg) 100%);}
.chero .container{position:relative;z-index:2;}
.chero__h{font-family:var(--display);font-weight:700;font-size:56px;line-height:1.12;margin:0;max-width:830px;}
.chero__sub{font-weight:700;font-size:24px;line-height:33px;max-width:680px;margin:30px 0 0;color:#fff;}
.chero__trust{font-size:18px;line-height:28px;margin:18px 0 0;color:#cfcfd4;}
.chero__cta{display:flex;gap:18px;margin-top:34px;flex-wrap:wrap;}

/* hero background video (optional, in place of the image) */
.hero__video{z-index:0;}                /* also carries .hero__img for positioning */
.chero__video{position:absolute;top:0;right:0;bottom:0;width:72%;height:100%;object-fit:cover;object-position:center bottom;z-index:0;}
.hero__video,.chero__video{background:var(--bg);transition:opacity .5s ease;}  /* stays black until the video paints, then fades in */
.hero__img--poster,.chero__img--poster{display:none;}                         /* hide the still image while a video is set (no flash) */
@media (prefers-reduced-motion:reduce){
  .hero__video,.chero__video{display:none!important;}                         /* fall back to the still image */
  .hero__img--poster,.chero__img--poster{display:block!important;}
}

/* band text helpers (content) */
.band__txt .prose-h{font-size:48px;line-height:1.14;margin-bottom:24px;max-width:660px;}
.band__txt p{font-size:19px;line-height:32px;margin:0 0 22px;color:#e7e7ea;}
.band__txt p:last-child{margin-bottom:0;}
.band__txt p strong{color:#fff;}
.band__txt a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.band__txt a:hover{color:var(--yellow);}
/* a .btn inside a band is a button, not an orange underlined link - keep its own colour */
.band__txt a.btn{text-decoration:none;}
.band__txt a.btn--orange,.band__txt a.btn--orange:hover,.band__txt a.btn--red,.band__txt a.btn--red:hover{color:#fff;}
.band__txt a.btn--yellow,.band__txt a.btn--yellow:hover{color:#000;}
.band .kick{font-family:var(--display);font-weight:700;font-size:24px;line-height:1;color:var(--orange);margin:0 0 10px;letter-spacing:.03em;}

/* pull quote */
.pull{border-left:4px solid var(--orange);padding:6px 0 6px 34px;margin:34px 0 0;}
.pull p{font-family:var(--display);font-weight:700;font-size:34px;line-height:42px;color:#fff;margin:0;}

/* solo CTA band */
.cta-solo{border:1px solid var(--border);border-radius:3px;padding:64px;display:flex;flex-direction:column;align-items:flex-start;gap:0;background:#101119;}
.cta-solo .h64{margin-bottom:26px;max-width:1100px;}
.cta-solo .lede{margin-bottom:34px;max-width:1000px;}
.cta-solo__btns{display:flex;gap:18px;flex-wrap:wrap;align-items:center;}
.cta-solo .phone{font-weight:700;font-size:19px;line-height:28px;color:#cfcfd4;margin-top:22px;}
.cta-solo .phone .ph{color:var(--yellow);}
.cta-solo .phone a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.cta-solo .phone a:hover{color:var(--yellow);}
.cta-solo .phone a.ph{color:var(--yellow);text-decoration:none;}

/* three reasons grid */
.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:10px;}
.reason{padding-top:26px;border-top:3px solid var(--orange);}
.reason:nth-child(1){border-top-color:var(--yellow);}
.reason:nth-child(3){border-top-color:var(--red);}
.reason p{font-size:19px;line-height:32px;margin:0;color:#e7e7ea;}
.reason em{font-style:italic;}

/* ============================================================
   SHARED CONTENT-PAGE COMPONENTS (used by all spoke pages)
   ============================================================ */
.sec{padding:90px 0;}
.sec.no-top{padding-top:0;}
.h64{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:0;color:#fff;}
.lead24{font-weight:700;font-size:24px;line-height:35px;margin:0;color:#fff;}
.body17{font-size:17px;line-height:25px;margin:0;}

/* split image/text bands (image always right per design) */
.band{display:grid;grid-template-columns:1.1fr 1fr;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);align-items:stretch;padding-left:max(calc((100% - 1400px)/2),20px);}
.band__img{background-size:cover;background-position:center;min-height:640px;grid-column:2;grid-row:1;}
.band__txt{padding:96px 100px 96px 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;grid-column:1;grid-row:1;}
.band__txt>*{max-width:660px;}
/* 5ec5d36c — optional "Image on left" toggle: mirror of the default band */
.band--imgleft{grid-template-columns:1fr 1.1fr;padding-left:0;padding-right:max(calc((100% - 1400px)/2),20px);}
.band--imgleft .band__img{grid-column:1;}
.band--imgleft .band__txt{grid-column:2;padding:96px 0 96px 100px;}
/* fbc968e6 — optional case-study link button on a band */
.band__cta{margin-top:32px;}

/* breadcrumb */
.crumb{font-size:16px;line-height:25px;color:#9a9aa6;font-weight:700;padding:26px 0 0;}
.crumb a{color:#9a9aa6;}
.crumb a:hover{color:var(--yellow);}
.crumb .cur{color:#fff;}
.crumb .sep{padding:0 6px;}

/* FAQ accordion */
.faq{display:flex;flex-direction:column;gap:20px;margin-top:36px;}
.faq-item{border:2px solid var(--border);border-radius:3px;overflow:hidden;background:var(--border);}
.faq-item.open{background:#15161d;}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:25px 40px;width:100%;text-align:left;background:none;border:0;font-family:inherit;color:inherit;}
.faq-q span{font-weight:700;font-size:28px;line-height:36px;color:#fff;font-family:var(--body);}
.faq-q .ar{width:16px;height:16px;flex:none;transition:transform .2s;border-right:3px solid #9a9aa6;border-bottom:3px solid #9a9aa6;transform:rotate(45deg);margin-bottom:6px;}
.faq-item.open .faq-q .ar{transform:rotate(-135deg);margin-bottom:-2px;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-item.open .faq-a{max-height:1200px;}
.faq-a p{font-size:18px;line-height:29px;color:#cdcdcd;margin:0;padding:0 40px 30px;max-width:1180px;}
.faq-a a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.faq-a a:hover{color:var(--yellow);}

/* bullet list (inclusions, extras) */
.ulist{list-style:none;padding:0;margin:24px 0 0;max-width:1040px;display:flex;flex-direction:column;gap:15px;}
.ulist li{position:relative;padding-left:34px;font-size:19px;line-height:30px;color:#e7e7ea;}
.ulist li::before{content:"";position:absolute;left:0;top:10px;width:11px;height:11px;background:var(--orange);transform:rotate(45deg);}
.ulist li strong{color:#fff;}
.ulist li a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.ulist li a:hover{color:var(--yellow);}

/* pricing / duration table */
.ptable{width:100%;border-collapse:collapse;margin-top:8px;max-width:920px;}
.ptable th,.ptable td{text-align:left;padding:18px 24px;border-bottom:1px solid var(--border);font-size:18px;line-height:26px;}
.ptable thead th{font-family:var(--display);font-weight:700;font-size:22px;color:#fff;border-bottom:2px solid #54545c;}
.ptable td{color:#e7e7ea;}
.ptable td:last-child{color:var(--yellow);font-weight:700;white-space:nowrap;}
.ptable tbody tr:last-child td{border-bottom:none;}

/* ============================================================
   HOME PAGE
   ============================================================ */
/* ---------------- HERO ---------------- */
.hero{position:relative;overflow:hidden;background:var(--bg);}
.hero__img{
  position:absolute;top:0;right:0;height:100%;width:72%;
  object-fit:cover;object-position:center bottom;z-index:0;
}
.hero__fadeL{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,var(--bg) 22%,rgba(10,11,18,.55) 42%,rgba(10,11,18,0) 70%);}
.hero__fadeB{position:absolute;left:0;right:0;bottom:0;height:38%;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,11,18,0) 0%,var(--bg) 100%);}
.hero .container{position:relative;z-index:2;}
.hero__inner{padding:142px 0 168px;max-width:1154px;}
.hero__kicker{display:flex;align-items:baseline;gap:8px;color:var(--hero-orange);font-weight:700;margin-bottom:4px;}
.hero__kicker .n{font-size:40px;line-height:30px;font-family:var(--display);}
.hero__kicker .t{font-size:25px;line-height:30px;}
.hero__title{font-family:var(--display);font-weight:700;font-size:132px;line-height:138px;margin:0;color:#fff;white-space:nowrap;}
.hero__sub{font-weight:700;font-size:25px;line-height:34px;max-width:420px;margin:34px 0 0;}
.hero .btn{margin-top:33px;}

/* ---------------- CARDS ---------------- */
.cards{padding:0;}
.cards__row{display:flex;}
.card{
  flex:1;background:var(--bg);border:1px solid var(--border);margin-left:-1px;
  padding:60px 40px;display:flex;flex-direction:column;
}
.card:first-child{margin-left:0;}
.card__title{font-family:var(--display);font-weight:700;font-size:60px;line-height:66px;margin:0;display:flex;flex-direction:column;}
.card__title span{display:block;white-space:nowrap;}
.card__body{font-size:17px;line-height:25px;margin:20px 0 38px;max-width:301px;}
.card .btn{margin-top:auto;align-self:flex-start;}

/* ---------------- SECTION SHELL ---------------- */
.section{position:relative;}
.sec-pad{padding:96px 0;}

/* ---------------- TEXT COLUMNS + STATS ---------------- */
.lead-h{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:0 0 60px;}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.cols2 p{font-size:17px;line-height:25px;margin:0 0 25px;}
.cols2 p:last-child{margin-bottom:0;}
.stats{
  margin-top:117px;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:40px 0;
}
.stats.no-mt{margin-top:0;}
.stat__v{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;}
.stat__l{font-size:17px;line-height:25px;margin-top:15px;}

/* ---------------- CASE STUDY ---------------- */
.case{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);padding-left:max(calc((100% - var(--container))/2),20px);}
.case__text{padding:120px 100px 120px 0;}
.case__kick{font-family:var(--display);font-weight:700;font-size:30px;line-height:1;color:var(--orange);margin:0;}
.case__h{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:4px 0 24px;}
.case__text p{font-size:17px;line-height:25px;margin:0 0 24px;color:#e7e7ea;}
.case__text .btn{margin-top:8px;}
.case__img{background-size:cover;background-position:center;min-height:772px;}

/* ---------------- MID (reviews/enquire/news) ---------------- */
.mid{position:relative;overflow:hidden;}
.mid__smoke{position:absolute;left:0;right:0;top:0;height:1600px;z-index:0;pointer-events:none;
  background:url('../images/smoke.jpg') center/cover no-repeat;opacity:.5;mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);}
.mid .container{position:relative;z-index:2;}

/* ---------------- REVIEWS ---------------- */
.rev-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;position:relative;z-index:1;gap:24px;flex-wrap:wrap;}
.rev-head__l{display:flex;align-items:center;gap:18px;}
.rev-head__h{font-family:var(--display);font-weight:700;font-size:36px;line-height:1;margin:0;max-width:760px;}
.rev-rate{display:flex;align-items:center;gap:10px;font-size:17px;flex-wrap:wrap;}
.rev-rate .stars{display:flex;gap:3px;}
.gbtn{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:#fff;font-weight:700;font-size:17px;border-radius:3px;padding:13px 18px;}
.gbtn:hover{filter:brightness(.92);}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;position:relative;z-index:1;}
.review{background:#fff;color:#000;border-radius:4px;padding:40px;}
.review p{font-size:17px;line-height:25px;margin:0 0 33px;color:#000;}
.review__foot{display:flex;align-items:center;justify-content:space-between;}
.review__id{display:flex;align-items:center;gap:8px;}
.avatar{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--display);font-weight:700;font-size:26px;flex:none;}
.review__name{font-weight:700;font-size:19px;line-height:24px;color:#000;}
.review__name + .stars{display:flex;gap:3px;margin-top:2px;}
.gicon{width:34px;height:34px;flex:none;}
.star{width:18px;height:18px;}

/* ---------------- ENQUIRE BOX ---------------- */
.enq{border:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:50px 60px;margin-top:60px;align-items:center;}
.enq__h{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:64px;line-height:.92;margin:0 0 22px;}
.enq__h .y{color:var(--yellow);}
.enq__l p{font-size:24px;line-height:35px;font-weight:700;margin:0 0 33px;max-width:600px;}
.enq__q{font-style:italic;font-weight:700;font-size:20px;line-height:35px;margin:0 0 16px;}
.enq__by{display:flex;gap:14px;font-weight:700;font-size:20px;line-height:35px;flex-wrap:wrap;}
.enq__by .nm{color:var(--orange);}
.enq__qm{margin-top:10px;color:var(--orange);font-size:42px;line-height:1;font-family:Georgia,serif;}

/* ---------------- NEWS ---------------- */
.news-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:20px;position:relative;z-index:1;gap:24px;flex-wrap:wrap;}
.news-head h2{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:0;}
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:10px;position:relative;z-index:1;}
.ncard{border:1px solid var(--border);border-radius:3px;overflow:hidden;background:var(--bg);box-shadow:0 4px 4px rgba(0,0,0,.25);display:flex;flex-direction:column;}
.ncard__img{height:300px;background-size:cover;background-position:center;border-bottom:1px solid var(--border);display:block;}
.ncard__body{padding:10px 45px 40px;display:flex;flex-direction:column;flex:1;}
.ncard__meta{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:18px 0 10px;font-weight:700;font-size:17px;gap:14px;}
.ncard__title{font-family:var(--display);font-weight:700;font-size:36px;line-height:34px;margin:30px 0 20px;}
.ncard__title a:hover{color:var(--yellow);}
.ncard__snip{font-size:17px;line-height:25px;margin:0 0 30px;}
.ncard .btn{margin-top:auto;align-self:flex-start;}

/* decorative sparks sizing */
.spark{width:360px;height:360px;background-size:300% 300%;}

/* ============================================================
   GALLERY (ggrid)
   ============================================================ */
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:20px;margin-top:40px;}
.gcell{background-size:cover;background-position:center;border-radius:3px;overflow:hidden;background-color:#15161d;}
.gcell--tall{grid-row:span 2;}
.gcell--wide{grid-column:span 2;}
.gcell--split{display:grid;grid-template-rows:1fr 1fr;gap:20px;background:none;}
.gcell--split>span{background-size:cover;background-position:center;border-radius:3px;display:block;}

/* ============================================================
   GENERIC PAGE / POST PROSE (About, blog single, etc.)
   ============================================================ */
.page-hero{padding:80px 0 30px;}
.page-hero h1{font-family:var(--display);font-weight:700;font-size:64px;line-height:1.05;}
.entry{max-width:820px;margin-inline:auto;}
.entry h2{font-family:var(--display);font-weight:700;font-size:40px;line-height:1.1;margin:48px 0 18px;}
.entry h3{font-family:var(--display);font-weight:700;font-size:30px;line-height:1.15;margin:36px 0 14px;}
.entry p{font-size:19px;line-height:32px;color:#e7e7ea;margin:0 0 24px;}
.entry a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.entry a:hover{color:var(--yellow);}
.entry img{border-radius:3px;margin:30px 0;}
.entry ul,.entry ol{font-size:19px;line-height:32px;color:#e7e7ea;padding-left:24px;margin:0 0 24px;}
.entry blockquote{border-left:4px solid var(--orange);margin:30px 0;padding:6px 0 6px 28px;}
.entry blockquote p{font-family:var(--display);font-weight:700;font-size:28px;color:#fff;}
.post-meta{color:#9a9aa6;font-weight:700;font-size:16px;margin:0 0 30px;}

/* blog/news archive */
.archive-head{padding:70px 0 0;}
.archive-head h1{font-family:var(--display);font-weight:700;font-size:64px;line-height:1.05;}
.archive-head p{font-size:19px;color:#cdcdcd;margin-top:14px;max-width:680px;}
.pagination{display:flex;gap:10px;flex-wrap:wrap;margin-top:50px;}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:3px;font-weight:700;}
.pagination .page-numbers.current{background:var(--yellow);color:#000;border-color:var(--yellow);}
.pagination a.page-numbers:hover{border-color:var(--yellow);color:var(--yellow);}

/* simple two-column contact layout */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start;}
.contact-aside h3{font-family:var(--display);font-weight:700;font-size:30px;margin:0 0 14px;}
.contact-aside p{font-size:17px;line-height:27px;color:#cdcdcd;margin:0 0 18px;}
.contact-aside a{color:var(--yellow);}

/* ============================================================
   GRAVITY FORMS — dark theme match
   ============================================================ */
.gform_wrapper{max-width:720px;}
.gform_wrapper .gfield_label{font-weight:700;font-size:16px;color:#fff;margin-bottom:8px;font-family:var(--body);}
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=url],
.gform_wrapper input[type=number],
.gform_wrapper select,
.gform_wrapper textarea{
  width:100%;background:#101119;border:1px solid var(--border);border-radius:3px;
  color:#fff;font-family:var(--body);font-size:17px;padding:14px 16px;line-height:25px;
}
.gform_wrapper textarea{min-height:150px;}
.gform_wrapper input:focus,.gform_wrapper select:focus,.gform_wrapper textarea:focus{outline:none;border-color:var(--yellow);}
.gform_wrapper ::placeholder{color:#7c7c87;}
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_button{
  background:var(--yellow);color:#000;border:0;border-radius:3px;cursor:pointer;
  font-family:var(--body);font-weight:700;font-size:17px;padding:17px 27px;
  transition:filter .15s ease,transform .15s ease;
}
.gform_wrapper .gform_footer input[type=submit]:hover{filter:brightness(.92);}
.gform_wrapper .gform_footer input[type=submit]:active{transform:translateY(1px);}
.gform_required_legend,.gfield_required{color:var(--orange);}
.gform_confirmation_message{font-size:19px;color:#fff;background:#101119;border:1px solid var(--border);border-radius:3px;padding:28px 32px;}

/* ============================================================
   WOOCOMMERCE — styled to match the product design
   ============================================================ */
.woo-wrap{padding:72px 0 96px;position:relative;}
.woo-wrap .prod-bg{position:absolute;left:0;right:0;top:200px;height:1200px;z-index:0;pointer-events:none;
  background:url('../images/smoke.jpg') center/cover no-repeat;opacity:.32;mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);}
.woo-wrap .container{position:relative;z-index:1;}
.woocommerce-breadcrumb{font-size:17px;line-height:35px;color:#aaa;font-weight:700;margin-bottom:34px;}
.woocommerce-breadcrumb a{color:#aaa;}
.woocommerce-breadcrumb a:hover{color:var(--yellow);}

/* single product layout — gallery + summary in a 2-col grid; tabs/related full width below */
/* gallery kept compact so the summary takes the majority of the width (client feedback: summary too small) */
.single-product div.product{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:64px;align-items:start;}
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related.products,
.single-product div.product > .up-sells,
.single-product div.product > .prod-video{grid-column:1 / -1;}
.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none;margin:0;}
.single-product div.product .woocommerce-product-gallery__wrapper{background:#fff;border-radius:3px;padding:40px;margin:0;}
.single-product div.product .woocommerce-product-gallery__image{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.single-product div.product .woocommerce-product-gallery__image a{display:flex;width:100%;height:100%;align-items:center;justify-content:center;}
.single-product div.product .woocommerce-product-gallery__image img{width:100%;height:100%;object-fit:contain;border-radius:3px;}
.single-product div.product .flex-control-thumbs{display:flex;gap:26px;margin:18px 0 0;padding:0;}
.single-product div.product .flex-control-thumbs li{width:119px!important;height:119px;background:#fff;border-radius:2px;padding:7px;margin:0;list-style:none;}
.single-product div.product .flex-control-thumbs li img{border-radius:2px;opacity:.85;}
.single-product div.product .flex-control-thumbs li img.flex-active{opacity:1;}

/* higher specificity than WooCommerce's `.woocommerce div.product .summary{width:48%}` so the
   summary fills its grid column (client meeting 2026-07-03: widen the summary to the container) */
.single-product div.product .summary.entry-summary{margin:0;width:auto !important;max-width:none !important;float:none !important;}
/* PayPal "Pay in 3" Pay-Later messaging renders grey text inside PayPal's own cross-origin
   iframe (can't be recoloured from here); client opted to hide it. The gold PayPal button stays. */
.ppcp-messages{display:none !important;}
.single-product .product_title{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:0;color:#fff;}
.single-product .summary .price{font-family:var(--display);font-weight:700;font-size:36px;line-height:34px;margin:26px 0 0;color:#fff;}
.single-product .summary .price .amount,.single-product .summary .price ins .amount{color:var(--yellow);}
.single-product .summary .price del{color:#7c7c87;}
.single-product .summary .price::before{content:"Price: ";color:#fff;}
.single-product form.cart{margin:45px 0 0;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
/* quantity selector shown per the 2026-07-03 client meeting (multiples of torches/sparklers are common) */
.single-product form.cart .quantity input{width:80px;background:#101119;border:1px solid var(--border);color:#fff;border-radius:3px;padding:11px 10px;font-family:var(--body);font-size:17px;}
.single-product .single_add_to_cart_button{background:var(--red)!important;color:#fff!important;font-family:var(--body)!important;font-weight:700;font-size:17px!important;text-transform:uppercase;letter-spacing:.04em;height:44px;padding:0 22px!important;border-radius:3px!important;border:0;line-height:1!important;display:inline-flex!important;align-items:center;justify-content:center;}
.single-product .single_add_to_cart_button:hover{filter:brightness(.92);}
.single-product .woocommerce-product-details__short-description{font-size:19px;line-height:30px;margin:40px 0 0;color:#e7e7ea;}
.single-product .woocommerce-product-details__short-description ul{font-size:19px;line-height:30px;margin:24px 0 0;padding-left:22px;}
.single-product .product_meta{margin-top:30px;font-size:15px;color:#9a9aa6;}
.single-product .product_meta a{color:#cdcdcd;}

/* tabs — clean dark tab strip, content blends with the page (no black band) */
.single-product .woocommerce-tabs{margin-top:80px;clear:both;}
.single-product .woocommerce-tabs ul.tabs{display:flex;gap:10px;padding:0;margin:0;border:0;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.single-product .woocommerce-tabs ul.tabs::before,.single-product .woocommerce-tabs ul.tabs::after{display:none;}
.single-product .woocommerce-tabs ul.tabs li{border:1px solid var(--border);border-bottom:0;background:#15161d;border-radius:3px 3px 0 0;padding:0;margin:0 0 -1px;}
.single-product .woocommerce-tabs ul.tabs li.active{background:var(--orange);border-color:var(--orange);}
.single-product .woocommerce-tabs ul.tabs li a{display:block;padding:15px 26px;font-weight:700;font-size:16px;line-height:20px;color:#d7d7db;font-family:var(--body);}
.single-product .woocommerce-tabs ul.tabs li.active a{color:#fff;}
.single-product .woocommerce-tabs .panel{background:transparent;border:0;border-radius:0;width:auto;margin:0;padding:34px 0 8px;max-width:920px;}
.single-product .woocommerce-tabs .panel h2{font-family:var(--display);font-weight:700;font-size:30px;line-height:1.12;margin:0 0 16px;color:#fff;}
.single-product .woocommerce-tabs .panel p{font-size:17px;line-height:27px;margin:0 0 18px;color:#e7e7ea;}
.single-product .woocommerce-tabs .panel ul{padding-left:22px;margin:0 0 18px;}
.single-product .woocommerce-tabs .panel ul li,.single-product .woocommerce-tabs .panel li{font-size:17px;line-height:27px;color:#e7e7ea;}
.single-product .woocommerce-tabs .panel > :last-child{margin-bottom:0;}

/* product loop cards — the rich shop card is used in every loop (shop archive, related, cross-sells) */
.related.products,.up-sells.products{clear:both;}
.related.products>h2,.up-sells>h2,.products-head h2{font-family:var(--display);font-weight:700;font-size:48px;line-height:1;margin:96px 0 36px;color:#fff;}
ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:26px;margin:0;padding:0;list-style:none;}
ul.products::before,ul.products::after{content:none!important;display:none!important;} /* kill clearfix pseudo-elements that steal grid cells */
ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;text-align:left;}

/* shop archive header */
.shop-archive .woocommerce-products-header{padding-top:30px;}
.shop-archive .woocommerce-products-header__title{font-family:var(--display);font-weight:700;font-size:64px;line-height:1.05;color:#fff;}
.shop-archive .term-description,.shop-archive .woocommerce-result-count{color:#cdcdcd;}
/* 48973d4e — "no fireworks stored" deterrent line on every shop/category page */
.shop-notice{margin:14px 0 0;padding:12px 16px;border-left:3px solid var(--yellow);background:#101119;color:#cdcdcd;font-size:15px;line-height:1.5;max-width:860px;}
.shop-archive .woocommerce-ordering select{background:#101119;border:1px solid var(--border);color:#fff;border-radius:3px;padding:10px 12px;}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#101119;border-top:3px solid var(--yellow);color:#fff;border-radius:3px;}
.woocommerce-message a,.woocommerce-info a{color:var(--yellow);}
.woocommerce .cart .button,.woocommerce .checkout button,.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button{background:var(--yellow);color:#000;border-radius:3px;font-weight:700;}
.woocommerce table.shop_table{border-color:var(--border);}
.woocommerce-page .entry,.woocommerce-account .entry{max-width:none;}

/* ============================================================
   SHOP INDEX (archive) — matches Shop.html
   ============================================================ */
.shop-hero{position:relative;overflow:hidden;background:var(--bg);padding:70px 0 64px;}
.shop-hero__img{position:absolute;top:0;right:0;bottom:0;width:60%;background-size:cover;background-position:center;z-index:0;}
.shop-hero__fade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--bg) 30%,rgba(10,11,18,.5) 52%,rgba(10,11,18,0) 80%);}
.shop-hero__fadeb{position:absolute;left:0;right:0;bottom:0;height:45%;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,11,18,0),var(--bg));}
.shop-hero .container{position:relative;z-index:2;}
.shop-hero h1{font-family:var(--display);font-weight:700;font-size:72px;line-height:1.04;margin:0;}
.shop-hero p{font-weight:700;font-size:22px;line-height:31px;max-width:560px;margin:22px 0 0;color:#e7e7ea;}

.shop-index{display:block;}
.shop-index .shop{display:grid;grid-template-columns:300px 1fr;gap:44px;padding:54px 0 96px;align-items:start;}

/* sidebar */
.side{display:flex;flex-direction:column;gap:34px;position:relative;}
.side__group h3{font-family:var(--display);font-weight:700;font-size:26px;line-height:1;margin:0 0 16px;}
.cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.cats li{border-bottom:1px solid var(--border);}
.cats a{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 2px;font-size:15px;line-height:1.3;font-weight:600;color:#d7d7db;transition:color .12s ease;}
.cats a:hover{color:var(--yellow);}
.cats a.cur{color:var(--yellow);}
.cats .n{flex:none;color:#7d7d86;font-size:14px;font-weight:700;margin-top:1px;}
.price-filter{display:flex;flex-direction:column;gap:14px;}
.price-filter input[type=range]{width:100%;accent-color:var(--orange);}
.price-filter__row{display:flex;justify-content:space-between;font-size:15px;font-weight:700;color:#cfcfd4;}
.price-filter__apply{align-self:flex-start;background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #54545c;border:0;border-radius:3px;font-family:var(--body);font-weight:700;font-size:14px;padding:9px 16px;cursor:pointer;transition:all .15s ease;}
.price-filter__apply:hover{box-shadow:inset 0 0 0 2px var(--yellow);color:var(--yellow);}
.side__note{font-size:14px;line-height:21px;color:#8a8a94;border-top:1px solid var(--border);padding-top:20px;}

/* toolbar (result count + ordering) */
.shop-main .woocommerce-result-count,.shop-main .woocommerce-ordering{margin:0;}
.shop-bar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:34px;gap:20px;flex-wrap:wrap;}
.shop-bar .woocommerce-result-count{font-size:16px;font-weight:700;color:#cfcfd4;}
.shop-bar .woocommerce-ordering{display:flex;align-items:center;gap:12px;}
.shop-bar .woocommerce-ordering::before{content:"Sort by";font-size:15px;font-weight:700;color:#cfcfd4;}
.shop-bar select.orderby{appearance:none;background:#101119;color:#fff;border:1px solid var(--border);border-radius:3px;font-family:var(--body);font-weight:700;font-size:15px;padding:11px 38px 11px 16px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#9a9aa6 50%),linear-gradient(135deg,#9a9aa6 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 12px) 19px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}

/* product grid */
.shop-archive ul.products{grid-template-columns:repeat(3,1fr);gap:30px;}
.pcard__box{position:relative;background:#fff;border-radius:3px;padding:22px;overflow:hidden;display:block;}
.pcard__img{display:block;width:100%;aspect-ratio:1/1;background:#fff center/cover no-repeat;border-radius:2px;}
.pcard__tag{position:absolute;top:14px;left:14px;font-family:var(--body);font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#fff;padding:6px 11px;border-radius:3px;z-index:2;}
.pcard__tag--new{background:var(--orange);}
/* out-of-stock shown on the shop overview, not just the product page (client 2026-07-09) */
.pcard__tag--oos{background:#3a3a40;color:#e7e7ea;}
.pcard.outofstock .pcard__img{opacity:.5;filter:grayscale(.35);}
.pcard.outofstock .pcard__price{opacity:.7;}
.pcard.outofstock .btn--add,.pcard.outofstock ul.products li.product .button,ul.products li.product.outofstock .button{background:#3a3a40!important;color:#cfcfd6!important;}
.pcard__tag--low{background:#1f8a5b;}
.pcard__tag--top{background:var(--red);}
.pcard__cat{font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--orange);margin:20px 0 0;}
.pcard__title{font-family:var(--display);font-weight:700;font-size:30px;line-height:32px;margin:7px 0 0;}
.pcard__title a{color:#fff;}
.pcard__title a:hover{color:var(--yellow);}
.pcard__rate{display:flex;align-items:center;gap:7px;margin:10px 0 0;}
.pcard__rate .stars{display:flex;gap:2px;}
.pcard__rate .stars svg{width:15px;height:15px;}
.pcard__rate span{font-size:13px;font-weight:700;color:#9a9aa6;}
.pcard__foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;gap:12px;}
.pcard__price{font-family:var(--display);font-weight:500;font-size:30px;line-height:1;color:var(--yellow);}
.pcard__price small{display:block;font-family:var(--body);font-size:12px;font-weight:700;color:#8a8a94;margin-top:5px;letter-spacing:.02em;}
.pcard .btn--add,ul.products li.product .button{background:var(--red)!important;color:#fff!important;font-family:var(--body)!important;font-weight:700;font-size:15px!important;height:42px;line-height:1!important;padding:0 18px!important;border-radius:3px!important;display:inline-flex!important;align-items:center;justify-content:center;margin:0;white-space:nowrap;}
.pcard .btn--add:hover,ul.products li.product .button:hover{filter:brightness(.92);}
ul.products li.product .added_to_cart{display:none;}

/* pagination */
.shop-main .woocommerce-pagination{margin-top:60px;text-align:center;}
.shop-main .woocommerce-pagination ul{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:0;margin:0;padding:0;}
.shop-main .woocommerce-pagination ul li{border:0;margin:0;}
.shop-main .woocommerce-pagination ul li .page-numbers{min-width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:3px;font-weight:700;font-size:16px;color:#d7d7db;padding:0 12px;transition:all .12s ease;background:none;}
.shop-main .woocommerce-pagination ul li a.page-numbers:hover{border-color:#54545c;color:#fff;}
.shop-main .woocommerce-pagination ul li .page-numbers.current{background:var(--yellow);color:#000;border-color:var(--yellow);}

/* promo strip */
.promo{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#101119;}
.promo .container{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.promo__item{padding:40px 36px;display:flex;gap:18px;align-items:flex-start;}
.promo__item + .promo__item{border-left:1px solid var(--border);}
.promo__ic{width:40px;height:40px;flex:none;}
.promo__ic svg{width:40px;height:40px;stroke:var(--yellow);fill:none;stroke-width:1.6;}
.promo__item h4{font-family:var(--display);font-weight:700;font-size:24px;line-height:1;margin:2px 0 9px;}
.promo__item p{font-size:15px;line-height:23px;color:#bcbcc4;margin:0;}

/* ============================================================
   RESPONSIVE LAYER (prototypes were desktop-only @1440)
   ============================================================ */
@media (max-width:1200px){
  .hero__title{font-size:104px;line-height:108px;}
  .case__text{padding:90px 70px 90px 0;}
  .band__txt{padding:72px 70px 72px 0;}
  .single-product div.product{grid-template-columns:1fr 1fr;gap:50px;}
  .single-product div.product .woocommerce-product-gallery{width:100%!important;}
}
@media (max-width:1024px){
  .nav__links{display:none;}
  .topbar__left a:last-child{display:none;}      /* hide email, keep phone */
  .topbar__left a{white-space:nowrap;}
  .topbar__right{font-size:14px;gap:14px;}
  /* 89d55817 — keep the running basket total in the sticky nav on mobile too */
  .nav__cart{font-size:13.5px;gap:6px;}
  .nav__cart-ic{width:19px;height:19px;}
  .nav__toggle{display:block;}
  .nav .container{height:96px;gap:12px;}
  .topbar .container{height:auto;padding-top:10px;padding-bottom:10px;gap:12px;}
  /* mobile drawer */
  .nav__links{
    position:fixed;inset:0 0 0 auto;width:min(420px,86vw);height:100vh;
    background:#0c0d16;border-left:1px solid var(--border);z-index:120;
    flex-direction:column;align-items:stretch;gap:0;padding:90px 22px 40px;
    overflow-y:auto;transform:translateX(100%);transition:transform .28s ease;
  }
  body.menu-open .nav__links{display:flex;transform:translateX(0);}
  body.menu-open{overflow:hidden;}
  .nav-item{border-bottom:1px solid var(--border);}
  .nav-item>a{padding:16px 6px;font-size:18px;justify-content:space-between;}
  .nav-item .caret{transform:rotate(45deg);}
  .nav-item.open .caret{transform:rotate(-135deg);}
  .submenu,.nav-item.open>.submenu,.nav-item.open>.submenu--mega{position:static;display:none;min-width:0;box-shadow:none;border:0;background:none;padding:0 0 12px;}
  .nav-item.open>.submenu{display:block;}
  /* mega submenu (Displays) must be ONE column in the mobile drawer, or the second
     column runs off-screen (client 2026-07-13). */
  .nav-item.open>.submenu--mega{display:grid;grid-template-columns:1fr;gap:0;}
  @media (hover:hover){ .nav-item:hover>.submenu,.nav-item:hover>.submenu--mega{display:none;} .nav-item.open:hover>.submenu{display:block;} }
  .submenu a{padding:9px 14px;}
  /* 89d55817 — show only the basket in the top bar on mobile (ENQUIRE lives in the drawer),
     sat to the right beside the menu button so the running total stays visible the whole time */
  .nav__cta{display:flex;order:2;margin-left:auto;gap:0;}
  .nav__cta .btn{display:none;}
  .nav__toggle{order:3;margin-left:14px;}
  /* grids → fewer columns */
  ul.products{grid-template-columns:repeat(2,1fr);}
  .single-product .woocommerce-tabs{margin-top:60px;}
}
@media (max-width:900px){
  .cards__row{flex-wrap:wrap;}
  .card{flex:1 1 100%;margin-left:0;margin-top:-1px;}
  .cols2{grid-template-columns:1fr;gap:0;}
  .reviews{grid-template-columns:1fr;}
  .news{grid-template-columns:1fr;gap:30px;}
  .reasons{grid-template-columns:1fr;}
  .enq{grid-template-columns:1fr;gap:30px;padding:40px;}
  .ggrid{grid-template-columns:repeat(2,1fr);}
  /* bands + case + product stack */
  .band{grid-template-columns:1fr;padding-left:0;}
  .band--imgleft{grid-template-columns:1fr;padding-right:0;}
  .band__img{grid-column:1;grid-row:2;min-height:340px;}
  .band__txt,.band--imgleft .band__txt{grid-column:1;grid-row:1;padding:56px 20px;}
  .band__txt>*{max-width:none;}
  .band .container,.case{grid-template-columns:1fr;}
  .case{padding-left:0;}
  .case__img{grid-row:2;min-height:360px;}
  .case__text{grid-row:1;padding:56px 20px;}
  .single-product div.product{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:768px){
  body{font-size:16px;}
  .sec,.sec-pad{padding:56px 0;}
  .chero{padding:72px 0 80px;}
  .chero__img,.chero__video{width:100%;opacity:.42;}
  .chero__fade{background:linear-gradient(180deg,rgba(10,11,18,.55) 0%,rgba(10,11,18,.78) 100%);}
  .chero__h{font-size:38px;}
  .chero__sub{font-size:20px;line-height:29px;}
  .hero__inner{padding:90px 0 96px;max-width:none;}
  .hero__img{width:100%;opacity:.5;}
  .hero__title{font-size:64px;line-height:64px;white-space:normal;}
  .hero__sub{font-size:21px;max-width:none;}
  .prose-h,.band__txt .prose-h{font-size:34px;line-height:1.12;}
  .h64,.lead-h,.news-head h2,.case__h,.enq__h,.stat__v,.page-hero h1,.archive-head h1{font-size:42px;line-height:1.05;}
  .lede{font-size:21px;line-height:30px;}
  .prose p,.band__txt p,.ulist li{font-size:17px;line-height:28px;}
  .cta-solo{padding:36px 26px;}
  .faq-q{padding:20px 22px;}
  .faq-q span{font-size:21px;line-height:28px;}
  .faq-a p{padding:0 22px 24px;font-size:16px;}
  .review{padding:30px;}
  .stats{margin-top:50px;gap:24px 40px;}
  .stat{flex:1 1 40%;}
  .ncard__body{padding:10px 28px 32px;}
  .single-product .product_title{font-size:42px;line-height:1.05;}
  .single-product .woocommerce-tabs ul.tabs{flex-wrap:wrap;}
  .single-product .woocommerce-tabs .panel{padding:36px 26px 48px;}
  .single-product .woocommerce-tabs .panel h2{font-size:34px;}
  ul.products{grid-template-columns:repeat(2,1fr);gap:16px;}
  .footer__grid{grid-template-columns:1fr;gap:40px;}
  .footer__bar .container{flex-direction:column;align-items:flex-start;gap:14px;}
  .footer__bar .container > span{white-space:normal;margin-left:0;}
  .entry h2{font-size:32px;}
}
@media (max-width:480px){
  .ggrid{grid-template-columns:1fr;}
  ul.products{grid-template-columns:1fr;}
  .hero__title{font-size:52px;line-height:52px;}
  .stat{flex:1 1 100%;}
}

/* ---- shop index responsive ---- */
@media (max-width:1024px){
  .shop-index .shop{grid-template-columns:1fr;gap:36px;padding-top:36px;}
  .side{flex-direction:row;flex-wrap:wrap;gap:28px 40px;}
  .side__group{flex:1 1 240px;}
  .side__note{flex:1 1 100%;}
  .shop-archive ul.products{grid-template-columns:repeat(2,1fr);}
  .promo .container{grid-template-columns:1fr;}
  .promo__item + .promo__item{border-left:0;border-top:1px solid var(--border);}
}
@media (max-width:768px){
  .shop-hero{padding:48px 0 44px;}
  .shop-hero h1{font-size:44px;}
  .shop-hero p{font-size:19px;line-height:27px;}
  .shop-hero__img{width:100%;opacity:.4;}
  .shop-hero__fade{background:linear-gradient(180deg,rgba(10,11,18,.5) 0%,rgba(10,11,18,.82) 100%);}
  .shop-bar{flex-direction:column;align-items:flex-start;}
  .pcard__title{font-size:26px;line-height:28px;}
  .pcard__foot{flex-wrap:wrap;}
}
@media (max-width:560px){
  .shop-archive ul.products{grid-template-columns:1fr;}
  .side{flex-direction:column;}
}

/* ============================================================
   CLIENT FEEDBACK FIXES
   ============================================================ */
/* prevent long titles/words overflowing cards */
.pcard__title,.pcard__cat,.ncard__title,.page-hero h1,.archive-head h1,.product_title,.woocommerce-loop-product__title{overflow-wrap:break-word;word-wrap:break-word;hyphens:none;}
.ncard__title{font-size:30px;line-height:32px;}      /* a touch smaller so long news titles fit the card */

/* product card: duration + spec line */
.pcard__dur{font-size:13px;font-weight:700;letter-spacing:.04em;color:#bcbcc4;margin:8px 0 0;display:flex;align-items:center;gap:7px;}
.pcard__dur svg{width:14px;height:14px;flex:none;stroke:var(--orange);fill:none;stroke-width:1.8;}

/* enquire box with no testimonial → single column */
.enq--solo{grid-template-columns:1fr;}

/* ---- dual-ended price slider ---- */
.price-range{position:relative;height:30px;margin:6px 0 2px;}
.price-range__track{position:absolute;top:13px;left:0;right:0;height:4px;border-radius:3px;background:var(--border);}
.price-range__fill{position:absolute;top:13px;height:4px;border-radius:3px;background:var(--orange);}
.price-range input[type=range]{position:absolute;top:0;left:0;width:100%;height:30px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;}
.price-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--orange);cursor:pointer;margin-top:0;}
.price-range input[type=range]::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--orange);cursor:pointer;}
.price-range input[type=range]::-webkit-slider-runnable-track{background:none;height:30px;}
.price-range input[type=range]::-moz-range-track{background:none;height:30px;}

/* ---- single product: breadcrumb, spec list, video ---- */
.single-product .woo-wrap .crumb{padding-top:0;margin-bottom:30px;}
.prod-video{max-width:920px;}
.prod-specs{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
.prod-specs li{display:flex;gap:10px;font-size:18px;line-height:26px;color:#e7e7ea;}
.prod-specs li b{color:#fff;font-weight:700;flex:0 0 150px;}
.prod-video{margin:34px 0 0;}
.prod-video h3{font-family:var(--display);font-weight:700;font-size:26px;margin:0 0 14px;color:#fff;}
.prod-video__frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:3px;overflow:hidden;background:#000;}
.prod-video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ============================================================
   CART · CHECKOUT · ACCOUNT (classic shortcodes, dark theme)
   ============================================================ */
.woocommerce-cart .woo-wrap,.woocommerce-checkout .woo-wrap,.woocommerce-account .woo-wrap{padding:48px 0 96px;}
.woocommerce-cart .woo-wrap .prod-bg,.woocommerce-checkout .woo-wrap .prod-bg,.woocommerce-account .woo-wrap .prod-bg{display:none;}
.woocommerce-page h1.entry-title,.woocommerce-page .woocommerce h2{font-family:var(--display);font-weight:700;color:#fff;}

/* brand buttons on cart / checkout / account only (kills the default purple,
   without clobbering the shop + single-product add-to-basket buttons) */
.woocommerce-cart .woocommerce a.button,.woocommerce-cart .woocommerce button.button,.woocommerce-cart .woocommerce input.button,
.woocommerce-checkout .woocommerce a.button,.woocommerce-checkout .woocommerce button.button,.woocommerce-checkout .woocommerce input.button,
.woocommerce-account .woocommerce a.button,.woocommerce-account .woocommerce button.button,.woocommerce-account .woocommerce input.button,
.woocommerce #respond input#submit.alt,.woocommerce #place_order,
.wc-proceed-to-checkout a.checkout-button{
  background:var(--yellow)!important;color:#000!important;border:0!important;border-radius:3px!important;
  font-family:var(--body)!important;font-weight:700!important;font-size:17px!important;
  padding:15px 26px!important;line-height:1.2!important;text-transform:none!important;transition:filter .15s ease,transform .15s ease;cursor:pointer;
}
.woocommerce-cart .woocommerce a.button:hover,.woocommerce-checkout .woocommerce a.button:hover,.woocommerce-account .woocommerce a.button:hover,.woocommerce #place_order:hover,.wc-proceed-to-checkout a.checkout-button:hover{filter:brightness(.92);}
.woocommerce .button.disabled,.woocommerce button.button:disabled{opacity:.5;}
.woocommerce a.button.btn--add,.shop-archive .pcard .btn--add{background:var(--red)!important;color:#fff!important;} /* keep shop "add to basket" red */

/* cart table */
.woocommerce table.shop_table{border:1px solid var(--border);border-radius:3px;border-collapse:separate;border-spacing:0;background:transparent;color:#e7e7ea;}
.woocommerce table.shop_table th{font-family:var(--body);font-weight:700;color:#fff;font-size:14px;letter-spacing:.04em;text-transform:uppercase;padding:18px 20px;border-bottom:1px solid var(--border);}
.woocommerce table.shop_table td{padding:20px;border-top:1px solid var(--border);vertical-align:middle;}
.woocommerce-cart table.cart img,.woocommerce table.cart img,.woocommerce-cart .product-thumbnail img{width:72px!important;height:auto!important;border-radius:3px;background:#fff;padding:5px;}
.woocommerce table.cart td.product-name a{color:#fff;font-weight:700;}
.woocommerce table.cart td.product-name a:hover{color:var(--yellow);}
.woocommerce table.cart .product-price,.woocommerce table.cart .product-subtotal{color:#e7e7ea;}
.woocommerce table.cart td.product-remove a.remove{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#1b1c26;color:#ff3232!important;font-size:18px;line-height:1;border:1px solid var(--border);text-decoration:none;}
.woocommerce table.cart td.product-remove a.remove:hover{background:var(--red);color:#fff!important;}
.woocommerce .quantity .qty,.woocommerce input.qty{width:72px;background:#101119;border:1px solid var(--border);color:#fff;border-radius:3px;padding:10px;font-family:var(--body);font-size:16px;text-align:center;}
.woocommerce table.cart td.actions{padding:18px 20px;}
.woocommerce table.cart td.actions .coupon{display:flex;gap:10px;align-items:center;}
.woocommerce table.cart td.actions .coupon .input-text{background:#101119;border:1px solid var(--border);color:#fff;border-radius:3px;padding:13px 15px;font-family:var(--body);font-size:16px;min-width:200px;}
.woocommerce table.cart td.actions .coupon .button{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 2px #54545c;}
.woocommerce table.cart td.actions .coupon .button:hover{box-shadow:inset 0 0 0 2px var(--yellow);color:var(--yellow)!important;}
.woocommerce table.cart td.actions > .button{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 2px #54545c;float:right;}
.woocommerce table.cart td.actions > .button:hover{box-shadow:inset 0 0 0 2px var(--yellow);color:var(--yellow)!important;}

/* cart totals + checkout panels */
.cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout #payment{background:#101119;border:1px solid var(--border);border-radius:3px;padding:32px;}
.cart-collaterals{margin-top:36px;}
.cart-collaterals .cart_totals>h2,.woocommerce-checkout #order_review_heading,.woocommerce-checkout h3{font-family:var(--display);font-weight:700;font-size:30px;color:#fff;margin:0 0 18px;}
.woocommerce .cart_totals table.shop_table,.woocommerce-checkout #order_review table.shop_table{border:0;}
.woocommerce .cart_totals table th,.woocommerce .cart_totals table td,.woocommerce-checkout #order_review th,.woocommerce-checkout #order_review td{border:0;border-top:1px solid var(--border);padding:14px 0;text-transform:none;font-size:17px;}
.woocommerce .cart_totals .order-total .amount,.woocommerce-checkout .order-total .amount{color:var(--yellow);font-size:22px;}
.wc-proceed-to-checkout{padding-top:22px!important;}
.wc-proceed-to-checkout a.checkout-button{display:block;width:100%;text-align:center;font-size:18px!important;padding:18px 26px!important;}

/* checkout form fields */
.woocommerce form .form-row label,.woocommerce-checkout label{color:#fff;font-weight:700;font-size:15px;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-checkout input,.woocommerce-checkout textarea,.woocommerce select,.select2-container--default .select2-selection--single{
  background:#101119!important;border:1px solid var(--border)!important;color:#fff!important;border-radius:3px!important;padding:13px 15px!important;font-family:var(--body)!important;font-size:16px!important;line-height:1.4!important;height:auto!important;}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff;line-height:24px;}
.select2-dropdown{background:#101119;border-color:var(--border);color:#fff;}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--orange);}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:48%;}
/* c57eb49e — keep the account login/register off the page edge and tidy the two columns */
.woocommerce-account .woocommerce{max-width:1040px;margin:0 auto;padding:8px 20px 0;}
.woocommerce-account .u-columns.col2-set{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start;}
.woocommerce-account .u-columns.col2-set .u-column1,.woocommerce-account .u-columns.col2-set .u-column2{flex:1 1 0;min-width:0;width:auto;float:none;margin:0;}
@media (max-width:768px){.woocommerce-account .u-columns.col2-set{gap:30px;}.woocommerce-account .u-columns.col2-set .u-column1,.woocommerce-account .u-columns.col2-set .u-column2{flex:1 1 100%;}}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--border);}
.woocommerce-checkout #payment .payment_box{background:#15161d;color:#cdcdcd;border-radius:3px;}
.woocommerce-checkout #payment .payment_box::before{border-bottom-color:#15161d;}
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews,.cart-empty{background:#101119!important;border-top:3px solid var(--yellow);color:#fff!important;border-radius:3px;}

/* my account */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:3px;overflow:hidden;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--border);}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:14px 18px;color:#d7d7db;font-weight:700;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:#15161d;color:var(--yellow);}
.woocommerce-account .woocommerce-MyAccount-content{color:#e7e7ea;}

@media (max-width:782px){
  .woocommerce table.shop_table,.woocommerce-cart table.cart{font-size:15px;}
  .woocommerce table.cart td.actions > .button{float:none;width:100%;margin-top:12px;}
  .woocommerce table.cart td.actions .coupon{flex-wrap:wrap;}
  .woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;}
  .cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout #payment{padding:24px;}
}

/* ============================================================
   CLIENT SNAGGING — ROUND 2 (2026-06-29)
   ============================================================ */

/* 46333dc4 — brand logo stayed small on non-Woo pages but WooCommerce's
   `.woocommerce img{height:auto}` (specificity 0,1,1) overrode .brand__mono
   (0,1,0) on shop/cart/product pages, blowing the logo up. Raise specificity. */
.nav .brand__mono{height:46px;width:auto;}

/* d9ac3e74 — nav rollover made clearer: keep the colour change and add an
   animated underline beneath the label (follows the text, immune to the tall
   padding + sticky resize). The active page keeps a persistent underline. */
.nav-item>a{
  text-decoration-line:underline;text-decoration-color:transparent;
  text-decoration-thickness:2px;text-underline-offset:7px;
  transition:color .15s ease, text-decoration-color .15s ease;
}
.nav-item>a:hover,
.nav-item.open>a,
.nav-item.current>a,
.nav-item.current-menu-item>a,
.nav-item.current-menu-parent>a,
.nav-item.current-menu-ancestor>a{ text-decoration-color:var(--yellow); }

/* 8039f675 — "See Product" secondary CTA on every shop card (full product page
   is what most shoppers want before adding to basket). Sits at the card foot. */
.pcard__more{display:flex;align-items:center;justify-content:center;margin-top:12px;padding:11px 14px;border:1.5px solid #2c2c33;border-radius:3px;color:#fff;font-weight:700;font-size:14px;letter-spacing:.02em;transition:border-color .15s ease, background .15s ease;}
.pcard__more:hover{border-color:var(--red);background:rgba(255,50,50,.10);}

/* a4b4fd7f — when a product is on sale, show the original price struck through
   next to the sale price (not just the sale price). */
.pcard__price del{color:#8a8a94;font-size:20px;text-decoration:line-through;margin-right:8px;font-weight:500;}
.pcard__price ins{text-decoration:none;color:var(--yellow);}

/* 6eaad0b6 — news posts now use the cinematic hero; small "News" kicker above the title */
.chero__kicker{font-family:var(--display);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--orange);font-size:18px;line-height:1;margin:0 0 14px;}

/* 89d55817 — on small phones show the logo mark only so the basket total + menu button still fit */
@media (max-width:600px){
  .nav .brand__txt{display:none;}
}

/* 1f21cd65 / d15c38fd — long CTA button labels overflow the phone; let them stack full-width and wrap */
@media (max-width:600px){
  .chero__cta,.cta-solo__btns{flex-direction:column;align-items:stretch;}
  .chero__cta .btn,.cta-solo__btns .btn{white-space:normal;width:auto;max-width:100%;text-align:center;}
}
