/*
Theme Name: Krisses BBQ Theme 2.2 KBK - Workshop
Author: Krisses BBQ / ChatGPT
Description: Premium WordPress theme for Krisses BBQ Smokers with admin settings, projects and BBQ Academy.
Version: 2.2.0
Text Domain: krisses-bbq
*/
:root{--orange:#f59e0b;--hover:#d97706;--bg:#0f0f0f;--card:#181818;--line:#2a2a2a;--white:#fff;--text:#cfcfcf;--muted:#9f9f9f;--max:1200px;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050505;color:#fff;font-family:Poppins,system-ui,sans-serif;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 42px));margin:auto}.cursor-glow{position:fixed;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.12),transparent 60%);pointer-events:none;z-index:0;transform:translate(-50%,-50%)}.header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(18px,4vw,52px);background:rgba(5,5,5,.74);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.logo{text-decoration:none;font-family:Orbitron,sans-serif;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:12px}.logo span{background:var(--orange);color:#111;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font-weight:900}.main-nav{display:flex;gap:28px;color:var(--text);font-weight:700;font-size:14px}.main-nav a{text-decoration:none}.main-nav a:hover{color:var(--orange)}.burger{display:none}.hero{min-height:100svh;position:relative;display:grid;align-items:center;overflow:hidden}.hero-media{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.58),rgba(0,0,0,.15)),var(--hero-bg) center/cover no-repeat;transform:scale(1.02)}.hero-inner{position:relative;padding-top:80px;max-width:980px;margin-left:max(21px,calc((100vw - var(--max))/2))}.eyebrow{margin:0 0 16px;color:var(--orange);font-weight:800;text-transform:uppercase;letter-spacing:.2em;font-size:14px}h1,h2,h3{font-family:Orbitron,sans-serif;text-transform:uppercase;line-height:1.04;margin:0}h1{font-size:clamp(48px,7vw,104px);letter-spacing:-.055em}h2{font-size:clamp(36px,5vw,72px);letter-spacing:-.045em}h3{font-size:24px}.hero p:not(.eyebrow),.title p,.statement p,.split-title p,.special-copy p,.contact p{color:var(--text);font-size:clamp(17px,1.5vw,22px);line-height:1.65;max-width:760px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:17px 30px;border-radius:14px;font-weight:900;text-decoration:none;border:1px solid transparent;transition:.22s}.btn:hover{transform:translateY(-3px)}.primary{background:var(--orange);color:#111}.primary:hover{background:var(--hover)}.ghost{border-color:rgba(255,255,255,.35)}.section,.statement{padding:120px 0}.dark{background:var(--bg)}.light{background:#f3f1ea;color:#111}.statement{text-align:center;background:#080808}.statement h2{max-width:980px;margin:auto}.title{text-align:center;max-width:920px;margin:0 auto 58px}.model-showcase,.feature-row,.process,.reviews,.academy-grid,.video-grid{display:grid;gap:24px}.model-showcase{grid-template-columns:repeat(4,1fr)}.model-showcase article,.feature-row div,.process div,.reviews blockquote,.academy-card,.video-card{background:var(--card);color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:28px;box-shadow:0 22px 70px rgba(0,0,0,.35);transition:.25s}.model-showcase article:hover,.feature-row div:hover,.process div:hover,.academy-card:hover,.video-card:hover{transform:translateY(-8px);border-color:rgba(245,158,11,.6)}.pic{aspect-ratio:1/1;border-radius:18px;margin-bottom:24px;background:var(--pic) center/cover no-repeat}small{color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:.16em}.model-showcase p,.feature-row p,.process p,.reviews p,.academy-card p,.video-card p{color:var(--text);line-height:1.55}.model-showcase a,.academy-card a,.video-card a{color:var(--orange);font-weight:900;text-decoration:none}.feature-row{grid-template-columns:repeat(4,1fr)}.feature-row span{font-size:42px;color:var(--orange)}.split-title{display:grid;grid-template-columns:1fr .9fr;gap:42px;align-items:end;margin-bottom:38px}.wide,.special-img{border-radius:var(--radius);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 90px rgba(0,0,0,.5);width:100%}.process{grid-template-columns:repeat(5,1fr);margin-top:28px}.process b{font:800 34px Orbitron,sans-serif;color:var(--orange)}.process h3{font-size:19px}.special{background:#090909;padding:130px 0}.special-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}.special-copy p:not(.eyebrow){margin:24px 0 32px}.masonry{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:18px}.masonry img{width:100%;height:100%;object-fit:cover;border-radius:20px}.masonry img:first-child{grid-row:span 2}.masonry img:nth-child(4){grid-column:span 2}.academy-grid{grid-template-columns:repeat(3,1fr)}.video-grid{grid-template-columns:repeat(3,1fr)}.video-thumb{aspect-ratio:16/9;border-radius:18px;background:#111;display:grid;place-items:center;margin-bottom:18px;color:var(--orange);font-size:42px}.reviews{grid-template-columns:repeat(3,1fr)}.reviews blockquote{margin:0}.reviews b{color:var(--orange);letter-spacing:.15em}.reviews cite{color:#777;font-style:normal}.contact{padding:130px 0;background:linear-gradient(135deg,#0f0f0f,#050505)}.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:60px}.contact a{display:inline-block;color:var(--orange);font-weight:900;margin-top:20px}form{background:var(--card);border-radius:var(--radius);padding:30px;display:grid;gap:18px;border:1px solid rgba(255,255,255,.08)}label{display:grid;gap:8px;color:var(--text);font-weight:700}input,textarea{background:#090909;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:15px;color:#fff;font:inherit}form small{color:#999;line-height:1.5}.footer{background:#050505;border-top:1px solid rgba(255,255,255,.08);padding:44px 0;color:var(--text)}.footer-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:24px;align-items:center}.footer-grid div{display:flex;gap:16px;flex-wrap:wrap}.footer-grid a{text-decoration:none;color:var(--text)}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.on{opacity:1;transform:none}@media(max-width:1000px){.model-showcase,.feature-row,.academy-grid,.video-grid{grid-template-columns:repeat(2,1fr)}.process{grid-template-columns:repeat(2,1fr)}.split-title,.special-wrap,.contact-grid{grid-template-columns:1fr}.masonry{grid-template-columns:repeat(2,1fr)}.reviews{grid-template-columns:1fr}}@media(max-width:767px){.cursor-glow{display:none}.header{position:sticky;padding:14px 18px}.logo b{font-size:13px}.burger{display:block;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:8px 10px}.main-nav{display:none;position:fixed;left:14px;right:14px;top:70px;flex-direction:column;background:#080808;padding:20px;border-radius:18px;border:1px solid rgba(255,255,255,.1)}.main-nav.open{display:flex}.wrap{width:calc(100% - 28px)}.hero{min-height:auto}.hero-media{background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.55),rgba(0,0,0,.96)),var(--hero-bg) center bottom/cover no-repeat}.hero-inner{padding:76px 0 70px;margin:auto}h1{font-size:42px;line-height:1.08}h2{font-size:34px}.hero p:not(.eyebrow),.title p,.statement p,.split-title p,.special-copy p,.contact p{font-size:16px;line-height:1.55}.btn,.actions{width:100%}.section,.statement,.special,.contact{padding:74px 0}.model-showcase,.feature-row,.process,.masonry,.academy-grid,.video-grid{grid-template-columns:1fr}.masonry{grid-auto-rows:auto}.masonry img,.masonry img:first-child,.masonry img:nth-child(4){grid-row:auto;grid-column:auto;aspect-ratio:16/10}.footer-grid{grid-template-columns:1fr}}
:root{
  --brand-orange:var(--orange);
  --brand-orange-hover:var(--hover);
  --bg-black:#050505;
  --bg-coal:var(--bg);
  --bg-card:var(--card);
  --border-subtle:rgba(255,255,255,.08);
  --border-muted:rgba(255,255,255,.12);
  --border-accent:rgba(245,158,11,.28);
  --text-muted:var(--muted);
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:var(--radius);
  --radius-xl:28px;
  --shadow-card:0 24px 70px rgba(0,0,0,.35);
  --shadow-card-hover:0 32px 90px rgba(0,0,0,.46),0 0 0 1px rgba(245,158,11,.14) inset;
  --shadow-button:0 14px 34px rgba(0,0,0,.4),0 0 24px rgba(245,158,11,.22);
  --transition-fast:.18s ease;
  --transition-base:.24s ease;
  --transition-slow:.35s ease;
  --heading-line:1.06;
  --heading-spacing:0;
  --body-line:1.65;
  --body-line-loose:1.75;
  --section-heading-gap:28px;
}


/* Photo Edition polish */
.hero-media{
  background:
    linear-gradient(90deg,rgba(0,0,0,.98),rgba(0,0,0,.62) 48%,rgba(0,0,0,.2)),
    var(--hero-bg) center/cover no-repeat !important;
}
.hero::after{
  content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(transparent,#0f0f0f);pointer-events:none;
}
.model-showcase article,.feature-row div,.process div,.academy-card,.video-card,.reviews blockquote{
  position:relative;overflow:hidden;
}
.model-showcase article::before,.feature-row div::before,.process div::before,.academy-card::before,.video-card::before{
  content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -20%,rgba(245,158,11,.12),transparent 45%);opacity:.7;pointer-events:none;
}
.pic{box-shadow: inset 0 -60px 80px rgba(0,0,0,.35);}
.wide,.special-img,.masonry img{filter:contrast(1.08) saturate(.92);}
.masonry img{transition:transform .25s, filter .25s;}
.masonry img:hover{transform:scale(1.025);filter:contrast(1.12) saturate(1);}
.photo-band{
  min-height:420px;background:center/cover no-repeat;position:relative;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);
}
.photo-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.38),rgba(0,0,0,.82));}
.photo-band .wrap{position:relative;padding:100px 0;}
.photo-band h2{max-width:850px;}
.academy-card h3,.video-card h3{font-size:22px;}
@media(max-width:767px){
  .photo-band{min-height:320px}.photo-band .wrap{padding:70px 0}
}


/* Contact Edition v1.0.3 */
.hero-media{z-index:0;}
.hero::after{
  z-index:1;
  height:32%;
  background:linear-gradient(transparent,rgba(15,15,15,.92));
}
.hero-inner{
  z-index:2;
  text-shadow:0 3px 22px rgba(0,0,0,.65);
}
.header{
  background:rgba(0,0,0,.88);
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.header::before{
  content:"BYGGDA FÖR PITMASTERS · HANDMADE IN SWEDEN · PREMIUM MATERIAL";
  position:absolute;
  left:0;right:0;top:-32px;
  height:32px;
  display:flex;align-items:center;justify-content:center;
  background:#050505;
  color:#f59e0b;
  font-size:12px;
  letter-spacing:.18em;
  border-bottom:1px solid rgba(245,158,11,.35);
}
body.admin-bar .header::before{display:none;}
.hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:#F59E0B;
}
.hero .eyebrow::before{
  content:"";
  width:58px;
  height:2px;
  background:#F59E0B;
  display:inline-block;
}
.hero h1{
  max-width:820px;
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.65));
}
.hero p:not(.eyebrow){
  margin-top:26px;
  color:#f1f1f1;
}
.hero .btn.primary,
.hero .btn-primary{
  background:#F59E0B!important;
  color:#111!important;
  border-color:#F59E0B!important;
  box-shadow:0 0 34px rgba(245,158,11,.42),0 16px 34px rgba(0,0,0,.55)!important;
}
.hero .btn.primary:hover,
.hero .btn-primary:hover{
  background:#FFC247!important;
  border-color:#FFC247!important;
  color:#111!important;
}
.hero .btn.ghost,
.hero .btn-outline{
  background:rgba(0,0,0,.58)!important;
  color:#fff!important;
  border:2px solid #F59E0B!important;
  box-shadow:0 12px 34px rgba(0,0,0,.55)!important;
  backdrop-filter:blur(8px);
}
.hero .btn.ghost:hover,
.hero .btn-outline:hover{
  background:#F59E0B!important;
  color:#111!important;
}
.hero-badges{
  position:relative;
  z-index:2;
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  margin-top:26px;
  color:#fff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
}
.hero-badges span::before{
  content:"✓";
  color:#F59E0B;
  margin-right:8px;
}
.statement{
  border-top:1px solid rgba(245,158,11,.18);
}
.feature-row div{
  text-align:center;
}
.contact .btn,
.contact button{
  background:#F59E0B!important;
  color:#111!important;
}
.model-showcase article .btn-shop,
.woocommerce,
.woocommerce-page .woocommerce{
  display:none!important;
}
@media(max-width:767px){
  .header::before{display:none;}
  .hero h1{font-size:44px;}
  .hero-badges{gap:12px;font-size:12px;}
  .hero .btn.primary,.hero .btn.ghost,.hero .btn-primary,.hero .btn-outline{
    min-height:60px;
  }
}


/* Krisses BBQ Theme 1.1 Final - visible refinements */
.header{
  background:rgba(0,0,0,.92)!important;
  border-bottom:1px solid rgba(245,158,11,.32)!important;
}

.logo span{
  box-shadow:0 0 24px rgba(245,158,11,.5);
}

.hero-media{
  background:
    linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.58) 45%,rgba(0,0,0,.18)),
    var(--hero-bg) center/cover no-repeat!important;
}

.hero .eyebrow{
  background:rgba(0,0,0,.45);
  border:1px solid rgba(245,158,11,.35);
  padding:10px 16px;
  border-radius:999px;
  display:inline-flex;
  width:auto;
}

.hero .btn.primary,
.hero .btn-primary{
  background:#F59E0B!important;
  color:#111!important;
  border:2px solid #F59E0B!important;
  box-shadow:0 0 38px rgba(245,158,11,.55),0 18px 42px rgba(0,0,0,.6)!important;
}

.hero .btn.ghost,
.hero .btn-outline{
  background:#ffffff!important;
  color:#111!important;
  border:2px solid #ffffff!important;
  box-shadow:0 0 28px rgba(255,255,255,.25),0 18px 42px rgba(0,0,0,.6)!important;
}

.hero .btn.ghost:hover,
.hero .btn-outline:hover{
  background:#F59E0B!important;
  color:#111!important;
  border-color:#F59E0B!important;
}

.hero-badges{
  position:relative;
  z-index:2;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.hero-badges span{
  background:rgba(0,0,0,.58);
  border:1px solid rgba(245,158,11,.35);
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.hero-badges span::before{
  content:"✓";
  color:#F59E0B;
  margin-right:7px;
}

.model-showcase article,
.feature-row div,
.process div,
.academy-card,
.video-card{
  border-color:rgba(245,158,11,.18)!important;
}

.contact form{
  border-color:rgba(245,158,11,.28)!important;
}

@media(max-width:767px){
  .hero .btn.ghost,
  .hero .btn-outline{
    background:#fff!important;
    color:#111!important;
  }
}


/* Krisses BBQ Theme 1.2 Offert */
.quote-form{
  background:linear-gradient(180deg,#1a1a1a,#101010);
  border:1px solid rgba(245,158,11,.35);
  border-radius:28px;
  padding:34px;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}
.quote-form fieldset{
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  padding:20px;
  margin:0 0 18px;
}
.quote-form legend{
  color:#F59E0B;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:13px;
  padding:0 10px;
}
.quote-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.quote-form .choice{
  display:flex;
  align-items:center;
  gap:10px;
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:12px 14px;
  color:#fff;
  cursor:pointer;
}
.quote-form .choice:hover{
  border-color:#F59E0B;
}
.quote-form input[type="checkbox"],
.quote-form input[type="radio"]{
  width:auto;
  accent-color:#F59E0B;
}
.quote-form input,
.quote-form textarea{
  background:#080808;
  border:1px solid rgba(255,255,255,.16);
}
.quote-form .form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.quote-form button{
  width:100%;
  margin-top:8px;
}
.quote-note{
  color:#aaa;
  font-size:13px;
  line-height:1.5;
}
@media(max-width:767px){
  .quote-form{padding:22px;}
  .quote-grid,.quote-form .form-row{grid-template-columns:1fr;}
}


/* Krisses BBQ Theme 1.3 Offert Pro */
.quote-benefits{display:grid;gap:14px;margin-top:34px;max-width:560px}
.quote-benefit{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.04);border:1px solid rgba(245,158,11,.22);border-radius:16px;padding:14px 16px;color:#f4f4f4;font-weight:800}
.quote-benefit span{color:#F59E0B;font-size:20px}
.quote-form input[type="checkbox"],.quote-form input[type="radio"]{position:absolute;opacity:0;pointer-events:none}
.quote-form .choice{position:relative;min-height:58px;font-weight:900;transition:.18s}
.quote-form .choice::before{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.65);border-radius:4px;flex:0 0 auto}
.quote-form .choice:has(input[type="radio"])::before{border-radius:50%}
.quote-form .choice:has(input:checked){background:#F59E0B!important;color:#111!important;border-color:#F59E0B!important;box-shadow:0 0 24px rgba(245,158,11,.35)}
.quote-form .choice:has(input:checked)::before{background:#111;border-color:#111;box-shadow:inset 0 0 0 3px #F59E0B}
.kbbq-alert{border-radius:18px;padding:18px 20px;margin-bottom:24px;font-weight:800}
.kbbq-alert.success{background:rgba(245,158,11,.16);border:1px solid rgba(245,158,11,.55);color:#fff}
.kbbq-alert.error{background:rgba(180,30,30,.2);border:1px solid rgba(255,80,80,.45);color:#fff}
.process-mini{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:34px}
.process-mini div{background:rgba(255,255,255,.04);border:1px solid rgba(245,158,11,.18);border-radius:16px;padding:16px 14px}
.process-mini b{color:#F59E0B;font-family:Orbitron,sans-serif}
.process-mini p{margin:6px 0 0;color:#cfcfcf;font-size:13px;line-height:1.4}
.quote-form button{box-shadow:0 0 32px rgba(245,158,11,.32)}
@media(max-width:900px){.process-mini{grid-template-columns:1fr}}


/* Krisses BBQ Theme 1.4 Gallery Lightbox */
.masonry img{
  cursor: zoom-in;
}
.kbbq-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  background:rgba(0,0,0,.94);
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.kbbq-lightbox.open{
  display:flex;
}
.kbbq-lightbox img{
  max-width:min(96vw,1500px);
  max-height:90vh;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 30px 100px rgba(0,0,0,.85),0 0 38px rgba(245,158,11,.22);
}
.kbbq-lightbox-close{
  position:absolute;
  top:22px;
  right:26px;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(245,158,11,.45);
  background:#0b0b0b;
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.kbbq-lightbox-close:hover{
  background:#F59E0B;
  color:#111;
}
.kbbq-lightbox-hint{
  position:absolute;
  bottom:22px;
  left:50%;
  transform:translateX(-50%);
  color:#aaa;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.18em;
}
@media(max-width:767px){
  .kbbq-lightbox{padding:14px}
  .kbbq-lightbox-close{top:14px;right:14px}
}


/* Krisses BBQ Theme 1.5 KBK */
.kbk-section{
  background:#070707;
  padding:130px 0;
  border-top:1px solid rgba(245,158,11,.14);
  border-bottom:1px solid rgba(245,158,11,.10);
}
.kbk-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
  align-items:center;
}
.kbk-panel{
  background:linear-gradient(180deg,#181818,#0d0d0d);
  border:1px solid rgba(245,158,11,.24);
  border-radius:28px;
  padding:34px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}
.kbk-panel h3{
  font-size:30px;
  margin-bottom:14px;
}
.kbk-panel p{
  color:#cfcfcf;
  line-height:1.65;
}
.kbk-list{
  display:grid;
  gap:12px;
  margin-top:24px;
}
.kbk-list span{
  display:flex;
  gap:10px;
  align-items:center;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:12px 14px;
  color:#fff;
  font-weight:800;
}
.kbk-list span::before{
  content:"✓";
  color:#F59E0B;
}
.kbk-image{
  min-height:520px;
  border-radius:28px;
  background:var(--kbk-img) center/cover no-repeat;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 30px 90px rgba(0,0,0,.55);
  position:relative;
  overflow:hidden;
}
.kbk-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.58));
}
.kbk-cta-strip{
  margin-top:34px;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.custom-builds-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:42px;
}
.custom-build-card{
  min-height:310px;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  background:var(--custom-img) center/cover no-repeat;
  border:1px solid rgba(255,255,255,.10);
}
.custom-build-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.82));
}
.custom-build-card div{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:22px;
}
.custom-build-card h3{
  font-size:24px;
  margin-bottom:8px;
}
.custom-build-card p{
  color:#ddd;
  line-height:1.45;
  margin:0;
}
@media(max-width:900px){
  .kbk-split,.custom-builds-grid{grid-template-columns:1fr}
  .kbk-image{min-height:360px}
}


/* Krisses BBQ Theme 1.5.1 - Premium conversion polish */
.hero h1{max-width:940px;}
.hero p:not(.eyebrow){max-width:720px;}
.statement{background:radial-gradient(circle at 50% 0,rgba(245,158,11,.12),transparent 38%),#080808;}
.model-showcase article{isolation:isolate;}
.model-showcase article h3{margin-top:10px;}
[data-product-results] article h2{margin-top:10px;font-size:24px;}
.model-showcase article a{display:inline-flex;margin-top:14px;border-bottom:1px solid rgba(245,158,11,.45);padding-bottom:4px;}
.kbk-panel,.contact form{box-shadow:0 30px 90px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.04);}
.contact{background:radial-gradient(circle at 20% 0,rgba(245,158,11,.16),transparent 32%),linear-gradient(135deg,#0f0f0f,#050505)!important;}
.contact h2{font-size:clamp(36px,4.4vw,64px);}
.quote-benefits{display:grid;gap:12px;margin:30px 0 28px;max-width:620px;}
.quote-benefit{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 16px;color:#fff;font-weight:800;}
.quote-benefit span{color:#F59E0B;font-weight:900;}
.process-mini{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:26px;max-width:700px;}
.process-mini div{background:rgba(0,0,0,.35);border:1px solid rgba(245,158,11,.22);border-radius:16px;padding:14px 10px;text-align:center;}
.process-mini b{font-family:Orbitron,sans-serif;color:#F59E0B;font-size:15px;}
.process-mini p{font-size:12px!important;line-height:1.25!important;margin:6px 0 0!important;color:#fff!important;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.quote-form fieldset{border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:18px;margin:0;}
.quote-form legend{padding:0 10px;color:#F59E0B;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.choice{display:flex!important;align-items:center;gap:10px;background:#0b0b0b;border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:12px 13px;cursor:pointer;}
.choice input{accent-color:#F59E0B;}
.kbbq-alert{border-radius:16px;padding:16px 18px;margin-bottom:18px;font-weight:800;}
.kbbq-alert.success{background:rgba(22,163,74,.14);border:1px solid rgba(22,163,74,.38);color:#dcfce7;}
.kbbq-alert.error{background:rgba(220,38,38,.14);border:1px solid rgba(220,38,38,.38);color:#fee2e2;}
.quote-note{display:block;color:#bdbdbd!important;}
@media(max-width:767px){.form-row,.quote-grid,.process-mini{grid-template-columns:1fr}.process-mini{text-align:left}.contact h2{font-size:34px}.quote-benefits{margin-top:22px}}


/* Krisses BBQ Theme 2.0 - The Forge | Sprint 1-5 */
:root{--steel:#171717;--coal:#050505;--ember:#f59e0b;--paper:#f3f1ea;--smoke:#cfcfcf}
body{background:var(--coal)}
.header[data-kbbq-header]{box-shadow:0 18px 60px rgba(0,0,0,.38)}
.hero-forge{min-height:96svh;background:#050505}.hero-forge .hero-media{background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.66) 42%,rgba(0,0,0,.24)),radial-gradient(circle at 28% 42%,rgba(245,158,11,.22),transparent 28%),var(--hero-bg) center/cover no-repeat!important}.hero-forge h1{max-width:1000px;text-wrap:balance}.hero-forge .actions{margin-top:38px}.hero-badges span{backdrop-filter:blur(10px)}
.forge-statement{padding:100px 0;background:linear-gradient(180deg,#080808,#0f0f0f)!important}.forge-statement h2{text-wrap:balance}
.products-forge{position:relative}.products-forge::before{content:"";position:absolute;inset:0 0 auto 0;height:160px;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent);pointer-events:none}.forge-products article{position:relative;overflow:hidden}.forge-products article::after{content:"";position:absolute;inset:auto 24px 0;height:3px;background:linear-gradient(90deg,var(--ember),transparent);opacity:.85}.forge-products .pic{aspect-ratio:4/3}.card-actions{margin-top:auto}.model-showcase article{display:flex;flex-direction:column;min-height:100%}.model-showcase article p{flex:1}
.why-forge .feature-row div{background:linear-gradient(180deg,#1a1a1a,#101010);border-color:rgba(245,158,11,.16)}.why-forge .feature-row div:hover{box-shadow:0 28px 80px rgba(245,158,11,.12)}
.build-process .wide{max-height:620px;object-fit:cover}.build-process .process div{background:linear-gradient(180deg,#181818,#0c0c0c)}
.special-forge{background:radial-gradient(circle at 72% 20%,rgba(245,158,11,.16),transparent 30%),#080808}.special-forge .special-img{aspect-ratio:16/10;object-fit:cover}.special-copy h2{text-wrap:balance}
.academy-forge .academy-card{background:#fff;color:#111;border-color:rgba(0,0,0,.08);box-shadow:0 24px 60px rgba(0,0,0,.12)}.academy-forge .academy-card p{color:#444}.academy-forge .academy-card:hover{border-color:rgba(245,158,11,.65)}
.contact-forge{background:radial-gradient(circle at 20% 0,rgba(245,158,11,.2),transparent 34%),linear-gradient(135deg,#111,#050505)!important}.contact-forge .contact-grid{align-items:start}.contact-forge form{position:relative;overflow:hidden}.contact-forge form::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--ember),transparent)}
.footer-forge{background:#030303}.footer-forge .footer-grid{grid-template-columns:1.1fr 1.3fr .9fr}.footer-forge strong{font-family:Orbitron,sans-serif;text-transform:uppercase;color:#fff}.footer-forge p{margin:.35rem 0;color:#aaa}.footer-forge b{color:#fff}
.woocommerce,.woocommerce-page .woocommerce{display:block!important}.woocommerce ul.products li.product,.woocommerce div.product{background:#111;border:1px solid rgba(245,158,11,.18);border-radius:24px;padding:22px;color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35)}.woocommerce ul.products li.product a img{border-radius:18px}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce div.product .product_title{font-family:Orbitron,sans-serif;text-transform:uppercase;color:#fff}.woocommerce .button,.woocommerce button.button,.woocommerce a.button{background:#f59e0b!important;color:#111!important;border-radius:14px!important;font-weight:900!important}.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce ul.products li.product .price{color:#f59e0b!important;font-weight:900}.single-product .summary{padding:24px}.single-product .product_meta{color:#aaa}.woocommerce-product-details__short-description{color:#ddd;line-height:1.65}
@media(max-width:1000px){.footer-forge .footer-grid{grid-template-columns:1fr}.forge-products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.hero-forge{min-height:auto}.hero-forge .hero-media{background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.6),rgba(0,0,0,.98)),var(--hero-bg) center/cover no-repeat!important}.forge-products{grid-template-columns:1fr}.feature-row{grid-template-columns:1fr}.contact-forge .contact-grid{gap:28px}}
@media(max-width:767px){
  .contact-forge .contact-grid,
  .contact-forge .contact-grid > *,
  .quote-form,
  .quote-form fieldset,
  .quote-form label,
  .quote-form input,
  .quote-form textarea,
  .quote-form button{
    min-width:0;
    max-width:100%;
  }
  .contact-forge .contact-grid{
    grid-template-columns:minmax(0,1fr);
    width:100%;
  }
  .quote-form{
    width:100%;
    padding:20px;
  }
  .quote-form fieldset{
    padding:16px;
  }
  .quote-form input,
  .quote-form textarea,
  .quote-form button{
    width:100%;
  }
  .quote-form .form-row,
  .quote-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Krisses BBQ Theme 2.1 - Academy Forge */
/* Academy är nu en egen sida. Startsidan visar bara en kort teaser för att hålla startsidan snabbare och mer säljande. */
/*
Theme Name marker below is intentionally duplicated only in CSS comments for easy manual review.
*/
.academy-teaser{padding:105px 0;background:radial-gradient(circle at 80% 20%,rgba(245,158,11,.16),transparent 34%),#080808;border-top:1px solid rgba(245,158,11,.14);border-bottom:1px solid rgba(245,158,11,.14)}
.academy-teaser-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}.academy-teaser p{color:#d7d7d7;font-size:18px;line-height:1.7;max-width:760px}.academy-pills{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 30px}.academy-pills span,.lesson-meta span{border:1px solid rgba(245,158,11,.3);background:rgba(255,255,255,.045);border-radius:999px;padding:8px 12px;color:#fff;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.academy-teaser-card{background:linear-gradient(180deg,#1a1a1a,#0d0d0d);border:1px solid rgba(245,158,11,.26);border-radius:28px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.45)}.academy-teaser-card h3{font-size:30px}.academy-teaser-card p{font-size:16px;color:#cfcfcf}
.academy-page{background:#050505}.academy-hero{min-height:72svh;display:grid;align-items:center;padding:140px 0 90px;background:radial-gradient(circle at 72% 28%,rgba(245,158,11,.22),transparent 32%),linear-gradient(135deg,#050505,#111)}.academy-hero h1{max-width:1000px;font-size:clamp(44px,6vw,92px)}.academy-hero p{max-width:820px;color:#d7d7d7;font-size:clamp(17px,1.6vw,22px);line-height:1.7}.academy-hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.academy-library{border-top:1px solid rgba(245,158,11,.14)}.academy-filter{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 32px}.academy-filter a{text-decoration:none;border:1px solid rgba(245,158,11,.26);border-radius:999px;padding:11px 15px;color:#fff;background:rgba(255,255,255,.045);font-weight:900}.academy-filter a:hover,.academy-filter a.active{background:#f59e0b;color:#111;border-color:#f59e0b}.academy-video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.academy-video-card{background:linear-gradient(180deg,#191919,#0d0d0d);border:1px solid rgba(245,158,11,.2);border-radius:28px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.42)}.academy-video-card:hover{border-color:rgba(245,158,11,.58);transform:translateY(-5px);transition:.22s}.academy-embed{position:relative;aspect-ratio:16/9;background:#000}.academy-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.academy-video-body{padding:24px}.lesson-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.academy-video-body h3{font-size:25px}.academy-video-body p{color:#cfcfcf;line-height:1.6}.krisses-note{margin:18px 0;padding:16px;border-radius:18px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2)}.krisses-note b{color:#f59e0b}.krisses-note p{margin:.4rem 0 0}.academy-video-body a{color:#f59e0b;font-weight:900;text-decoration:none}.academy-roadmap .academy-card{background:#fff;color:#111}.academy-roadmap .academy-card p{color:#444}.academy-topic-grid{grid-template-columns:repeat(3,1fr)}.single-embed{margin:34px 0}.academy-content{margin-top:34px;color:#d6d6d6;font-size:19px;line-height:1.8}.academy-content a{color:#f59e0b;font-weight:800}
.academy-guide-library{
  padding-top:64px;
}
.academy-archive-page .academy-hero{
  min-height:auto;
  padding:96px 0 70px;
}
.academy-archive-page .academy-hero h1{
  max-width:920px;
  font-size:clamp(40px,5vw,72px);
}
.academy-archive-page .academy-hero p{
  max-width:760px;
}
.academy-archive-tools{
  display:grid;
  gap:22px;
  margin-bottom:34px;
}
.academy-search{
  position:relative;
  display:block;
  max-width:620px;
}
.academy-search .screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}
.academy-search__icon{
  position:absolute;
  left:18px;
  top:50%;
  color:#f6a21a;
  font-size:20px;
  font-weight:900;
  transform:translateY(-50%);
  pointer-events:none;
}
.academy-search input{
  width:100%;
  min-height:58px;
  border:1px solid rgba(245,158,11,.24);
  border-radius:18px;
  padding:0 20px 0 52px;
  background:rgba(255,255,255,.055);
  color:#fff;
  box-shadow:0 20px 70px rgba(0,0,0,.28);
  font:inherit;
  font-weight:800;
  outline:none;
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.academy-search input::placeholder{
  color:rgba(255,255,255,.56);
}
.academy-search input:focus{
  border-color:rgba(245,158,11,.68);
  background:rgba(255,255,255,.075);
  box-shadow:0 24px 80px rgba(0,0,0,.34),0 0 0 3px rgba(245,158,11,.12);
}
.academy-guide-filter span,
.academy-guide-filter a,
.academy-guide-filter button{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  border:1px solid rgba(245,158,11,.26);
  border-radius:999px;
  padding:11px 15px;
  color:#fff;
  background:rgba(255,255,255,.045);
  cursor:pointer;
  font:inherit;
  font-weight:900;
}
.academy-guide-filter span.active,
.academy-guide-filter a:hover,
.academy-guide-filter button:hover,
.academy-guide-filter button.active{
  background:#f59e0b;
  color:#111;
  border-color:#f59e0b;
}
.academy-guide-filter button:focus-visible,
.academy-guide-filter a:focus-visible,
.academy-guide-card a:focus-visible,
.academy-related-product-card a:focus-visible{
  outline:3px solid rgba(246,162,26,.68);
  outline-offset:4px;
}
.academy-guide-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.academy-guide-card[hidden]{
  display:none;
}
.academy-guide-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(245,158,11,.2);
  border-radius:28px;
  background:linear-gradient(180deg,#191919,#0d0d0d);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.academy-guide-card:hover{
  transform:translateY(-5px);
  border-color:rgba(245,158,11,.58);
  box-shadow:0 34px 100px rgba(0,0,0,.44),0 0 0 1px rgba(245,158,11,.1) inset;
}
.academy-guide-card:focus-within,
.academy-related-product-card:focus-within{
  border-color:rgba(245,158,11,.58);
  box-shadow:0 34px 100px rgba(0,0,0,.44),0 0 0 1px rgba(245,158,11,.12) inset;
}
.academy-guide-card__media{
  display:block;
  overflow:hidden;
  background:#111;
}
.academy-guide-card__media img{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center 40%;
  transition:transform .35s ease,filter .35s ease;
}
.academy-guide-card__media--youtube img{
  object-fit:contain;
  object-position:center center;
  background:#000;
}
.academy-guide-card:hover .academy-guide-card__media img{
  transform:scale(1.04);
  filter:contrast(1.08) saturate(1.04);
}
.academy-guide-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px;
}
.academy-guide-card__meta{
  margin-bottom:16px;
}
.academy-guide-card h3{
  font-size:clamp(22px,2vw,30px);
  letter-spacing:0;
}
.academy-archive-page .academy-guide-card h2{
  font-size:clamp(22px,2vw,30px);
  letter-spacing:0;
}
.academy-guide-card p{
  color:#cfcfcf;
  line-height:1.65;
}
.academy-guide-card .btn{
  width:100%;
  margin-top:auto;
}
.academy-empty-state{
  margin:24px 0 0;
  padding:28px;
  border:1px solid rgba(245,158,11,.2);
  border-radius:22px;
  background:rgba(255,255,255,.045);
  color:#d8d2c8;
  font-size:18px;
  font-weight:700;
}
.academy-article-page{
  background:#050505;
  color:#fff;
}
.academy-article-hero{
  position:relative;
  padding:132px 0 78px;
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 18%,rgba(245,158,11,.18),transparent 30%),
    linear-gradient(135deg,#050505,#111 62%,#070707);
  border-bottom:1px solid rgba(245,158,11,.18);
}
.academy-article-hero-inner{
  position:relative;
  z-index:1;
  max-width:980px;
}
.academy-article-hero h1{
  max-width:960px;
  font-size:clamp(40px,5.8vw,82px);
  letter-spacing:0;
}
.academy-article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.academy-article-meta span{
  border:1px solid rgba(245,158,11,.32);
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,255,255,.045);
  color:#f6c56d;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.academy-article-summary{
  max-width:780px;
  margin:28px 0 0;
  color:#d8d2c8;
  font-size:clamp(17px,1.5vw,21px);
  line-height:1.65;
}
.academy-article-wrap{
  max-width:980px;
  padding:64px 0 118px;
}
.academy-article-media{
  margin:0 0 50px;
}
.academy-article-media img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 34px 100px rgba(0,0,0,.5);
}
.academy-article-content{
  max-width:760px;
  margin:0 auto;
  color:#ddd6cc;
  font-size:19px;
  line-height:1.85;
}
.academy-article-content > *:first-child{
  margin-top:0;
}
.academy-article-content h2,
.academy-article-content h3{
  margin:2.2em 0 .75em;
  color:#fff;
  letter-spacing:0;
}
.academy-article-content p,
.academy-article-content ul,
.academy-article-content ol{
  margin:0 0 1.35em;
}
.academy-article-content a{
  color:#f6a21a;
  font-weight:800;
}
.academy-video-section{
  max-width:860px;
  margin:74px auto 0;
  padding:30px;
  border:1px solid rgba(245,158,11,.2);
  border-radius:28px;
  background:linear-gradient(180deg,#171717,#0b0b0b);
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.academy-video-section__header{
  margin-bottom:22px;
}
.academy-video-section__header h2{
  font-size:clamp(28px,3vw,42px);
  letter-spacing:0;
}
.academy-video-section__embed{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:#000;
  box-shadow:0 20px 70px rgba(0,0,0,.38);
}
.academy-video-section__embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.academy-related-products{
  margin-top:78px;
  padding-top:58px;
  border-top:1px solid rgba(245,158,11,.18);
}
.academy-related-products__header{
  max-width:760px;
  margin:0 auto 30px;
}
.academy-related-products__header h2{
  font-size:clamp(28px,3vw,44px);
  letter-spacing:0;
}
.academy-related-products__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.academy-related-product-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:linear-gradient(180deg,#171717,#0c0c0c);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.academy-related-product-card:hover{
  transform:translateY(-6px);
  border-color:rgba(245,158,11,.58);
  box-shadow:0 34px 100px rgba(0,0,0,.44),0 0 0 1px rgba(245,158,11,.12) inset;
}
.academy-related-product-card__media{
  display:block;
  overflow:hidden;
  background:#111;
}
.academy-related-product-card__media img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .35s ease,filter .35s ease;
}
.academy-related-product-card:hover .academy-related-product-card__media img{
  transform:scale(1.045);
  filter:contrast(1.08) saturate(1.04);
}
.academy-related-product-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:22px;
}
.academy-related-product-card__body h3{
  font-size:clamp(19px,1.6vw,25px);
  letter-spacing:0;
}
.academy-related-product-card__price{
  margin:14px 0 22px;
  color:#f6a21a;
  font-size:1.15rem;
  font-weight:900;
}
.academy-related-product-card__body .btn{
  width:100%;
  margin-top:auto;
}
.academy-related-guides{
  margin-top:78px;
  padding-top:58px;
  border-top:1px solid rgba(245,158,11,.18);
}
.academy-related-guides__header{
  max-width:760px;
  margin:0 auto 30px;
}
.academy-related-guides__header h2{
  font-size:clamp(28px,3vw,44px);
  letter-spacing:0;
}
.academy-related-guides__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.academy-related-guide-card .academy-guide-card__body h3{
  font-size:clamp(19px,1.6vw,25px);
}
@media(max-width:767px){
  .academy-article-hero{
    padding:92px 0 54px;
  }
  .academy-article-hero h1{
    font-size:38px;
  }
  .academy-article-wrap{
    padding:44px 0 82px;
  }
  .academy-article-media{
    margin-bottom:34px;
  }
  .academy-article-media img{
    border-radius:20px;
    aspect-ratio:16/10;
  }
  .academy-article-content{
    font-size:17px;
    line-height:1.75;
  }
  .academy-video-section{
    margin-top:52px;
    padding:18px;
    border-radius:22px;
  }
  .academy-video-section__embed{
    border-radius:16px;
  }
  .academy-related-products{
    margin-top:54px;
    padding-top:42px;
  }
  .academy-related-guides{
    margin-top:54px;
    padding-top:42px;
  }
  .academy-related-products__grid,
  .academy-related-guides__grid{
    grid-template-columns:1fr;
  }
  .academy-related-product-card__media img{
    aspect-ratio:16/10;
  }
}
@media(max-width:1000px){
  .academy-guide-grid,
  .academy-related-products__grid,
  .academy-related-guides__grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:767px){
  .academy-archive-page .academy-hero{
    padding:78px 0 52px;
  }
  .academy-archive-page .academy-hero h1{
    font-size:38px;
  }
  .academy-guide-library{
    padding-top:46px;
  }
  .academy-guide-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .academy-archive-page .academy-guide-card{
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .academy-archive-page .academy-guide-card__media{
    order:1;
    width:100%;
  }
  .academy-archive-page .academy-guide-card__media img{
    width:100%;
    aspect-ratio:16/10;
  }
  .academy-archive-page .academy-guide-card__body{
    order:2;
    display:flex;
    flex-direction:column;
    padding:20px;
  }
  .academy-archive-page .academy-guide-card__meta{
    order:1;
    margin:0 0 12px;
  }
  .academy-archive-page .academy-guide-card h3{
    order:2;
    margin:0 0 10px;
  }
  .academy-archive-page .academy-guide-card h2{
    order:2;
    margin:0 0 10px;
  }
  .academy-archive-page .academy-guide-card p{
    order:3;
    margin:0;
  }
  .academy-archive-page .academy-guide-card .btn{
    order:4;
    width:100%;
    min-height:48px;
    margin-top:18px;
    padding:13px 18px;
  }
  .academy-guide-card__body{
    padding:20px;
  }
}
@media(max-width:1000px){.academy-teaser-grid,.academy-video-grid,.academy-topic-grid{grid-template-columns:1fr}}@media(max-width:767px){.academy-teaser{padding:74px 0}.academy-hero{min-height:auto;padding:96px 0 70px}.academy-hero h1{font-size:42px}.academy-hero-actions,.academy-hero .btn{width:100%}.academy-video-body{padding:20px}.academy-video-body h3{font-size:22px}}


/* === KBK Workshop Sprint 2.2 === */
:root{--forge-orange:#f59e0b;--forge-black:#090909;--steel:#1f2933;--smoke:#f5f0e8;}
.model-highlights{display:grid;gap:8px;margin:18px 0 16px;padding:0;list-style:none;color:#e8e0d3;font-size:13px;}
.model-highlights li{display:flex;gap:8px;align-items:center;border-top:1px solid rgba(255,255,255,.08);padding-top:8px;}
.model-highlights li::before{content:"✓";color:var(--forge-orange);font-weight:900;}
.card-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:auto;}
.card-actions .mini-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid rgba(245,158,11,.55);border-radius:999px;color:#111;background:var(--forge-orange);font-weight:800;text-decoration:none;}
.card-actions .text-link{color:#f6c56d;font-weight:800;text-decoration:none;}
.workshop-timeline{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-top:28px;}
.workshop-step{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:18px;min-height:160px;box-shadow:0 18px 45px rgba(0,0,0,.28);}
.workshop-step b{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:rgba(245,158,11,.16);color:var(--forge-orange);border:1px solid rgba(245,158,11,.4);margin-bottom:12px;}
.workshop-step h3{font-size:18px;margin:0 0 8px;}
.workshop-step p{font-size:14px;line-height:1.55;color:#d7d0c4;margin:0;}
.workshop-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:28px;}
.workshop-gallery img{width:100%;height:100%;object-fit:cover;border-radius:28px;border:1px solid rgba(255,255,255,.1);box-shadow:0 26px 70px rgba(0,0,0,.38);}
.workshop-card-stack{display:grid;gap:18px;}
.live-workshop{background:#0b0b0b;border-top:1px solid rgba(245,158,11,.22);border-bottom:1px solid rgba(245,158,11,.18);}
.live-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;}
.live-card{background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.1);border-radius:28px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.34);}
.live-card img{width:100%;height:220px;object-fit:cover;display:block;filter:contrast(1.08) saturate(.95);}
.live-card div{padding:22px;}.live-card h3{margin:0 0 8px}.live-card p{margin:0;color:#d8d1c7}
.academy-next{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.academy-next a{padding:11px 15px;border-radius:999px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35);color:#f6c56d;text-decoration:none;font-weight:800;}
.krisses-note{border-left:3px solid var(--forge-orange);background:rgba(245,158,11,.08)!important;}
@media(max-width:1100px){.workshop-timeline{grid-template-columns:repeat(2,1fr)}.workshop-gallery{grid-template-columns:1fr}.live-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.workshop-timeline,.live-grid{grid-template-columns:1fr}.workshop-step{min-height:auto}.card-actions .mini-btn,.card-actions .text-link{width:100%}.card-actions .mini-btn{padding:13px 16px}}

/* Krisses BBQ Premium Rebuild 3.0.1 */
.kbbq-premium .hero-premium h1{max-width:980px}.trust-strip{background:#070707;border-top:1px solid rgba(245,158,11,.25);border-bottom:1px solid rgba(255,255,255,.08)}.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:16px 0;text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:#f6c46a}.premium-products{grid-template-columns:repeat(5,1fr)}.premium-products article{min-height:100%;display:flex;flex-direction:column}.premium-products .card-actions{margin-top:auto}.pic-link{display:block;color:inherit;text-decoration:none}.faq-premium{background:#f2eee6}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.faq-grid details{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:20px;box-shadow:0 18px 45px rgba(0,0,0,.06)}.faq-grid summary{cursor:pointer;font-weight:800;color:#161616}.faq-grid p{color:#4b4b4b;line-height:1.6}.kbbq-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.quote-form input,.quote-form textarea{font-size:16px}.model-highlights li{line-height:1.35}@media(max-width:1180px){.premium-products{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.premium-products,.faq-grid,.trust-grid{grid-template-columns:1fr}.trust-grid{text-align:left}.hero-badges{gap:8px}.hero-badges span{font-size:12px}.kbbq-premium .actions{align-items:stretch}}

/* Module 1 - premium product CTA */
.products-premium{
  background:
    radial-gradient(circle at 84% 8%,rgba(245,158,11,.16),transparent 30%),
    linear-gradient(180deg,#f6f1e7,#ebe2d2);
  overflow:hidden;
}
.products-header{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.72fr);
  gap:32px;
  align-items:end;
  margin-bottom:42px;
}
.products-header h2{
  color:#111;
  max-width:820px;
}
.products-header > p{
  color:#3d3428;
  font-size:18px;
  line-height:1.7;
  margin:0;
}
.premium-product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.premium-product-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(25,21,16,.12);
  border-radius:20px;
  background:linear-gradient(180deg,#1a1713,#0b0b0b);
  color:#fff;
  box-shadow:0 24px 70px rgba(24,18,10,.18);
}
.premium-product-card.is-featured{
  border-color:rgba(245,158,11,.55);
  box-shadow:0 30px 90px rgba(24,18,10,.24),0 0 0 1px rgba(245,158,11,.16) inset;
}
.premium-product-card::after{
  content:"";
  position:absolute;
  inset:auto 22px 0;
  height:3px;
  background:linear-gradient(90deg,#f59e0b,rgba(245,158,11,0));
}
.premium-product-media{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  position:relative;
  overflow:hidden;
}
.premium-product-media .pic{
  display:block;
  width:100%;
  margin:0;
  border-radius:0;
  aspect-ratio:5/4;
  transition:transform .35s ease, filter .35s ease;
}
.premium-product-card:hover .pic{
  transform:scale(1.045);
  filter:contrast(1.08) saturate(1.04);
}
.premium-product-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:22px 22px 12px;
}
.premium-product-kicker{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:24px;
  margin-bottom:10px;
}
.premium-product-kicker small{
  color:#f6c56d;
}
.premium-product-kicker span{
  border:1px solid rgba(245,158,11,.38);
  border-radius:999px;
  padding:5px 8px;
  background:rgba(245,158,11,.12);
  color:#ffe1a1;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}
.premium-product-card h3{
  min-height:58px;
  font-size:clamp(20px,1.55vw,27px);
  line-height:1.08;
  letter-spacing:0;
}
.model-showcase .premium-product-card p{
  color:#d8d2c8;
  flex:0;
  margin:14px 0 0;
}
.premium-highlights{
  margin-top:20px;
}
.premium-highlights li{
  color:#f4ead8;
}
.premium-product-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  padding:0 22px 24px;
}
.premium-product-actions .mini-btn,
.premium-product-actions .text-link{
  width:100%;
  min-height:46px;
  justify-content:center;
  margin:0!important;
  padding:12px 14px;
  border-radius:12px;
  text-align:center;
  text-decoration:none;
}
.premium-product-actions .mini-btn{
  border:1px solid #f59e0b;
  background:#f59e0b;
  color:#111;
  font-weight:900;
}
.premium-product-actions .text-link{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.055);
  color:#f9d28b;
  font-weight:900;
}
.premium-product-actions .mini-btn:hover,
.premium-product-actions .text-link:hover{
  transform:translateY(-2px);
}
@media(max-width:1180px){
  .premium-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .premium-product-card.is-featured{
    grid-column:span 2;
  }
}
@media(max-width:760px){
  .products-header{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:28px;
  }
  .products-header h2{
    font-size:34px;
  }
  .products-header > p{
    font-size:16px;
  }
  .premium-product-grid{
    grid-template-columns:1fr;
  }
  .premium-product-card.is-featured{
    grid-column:auto;
  }
  .premium-product-media .pic{
    aspect-ratio:16/10;
  }
  .premium-product-card h3{
    min-height:0;
  }
}

/* Module 2 - opt-in product framework */
.kbbq-product-page{
  background:#050505;
  color:#fff;
}
.product-framework{
  overflow:hidden;
}
.product-hero{
  position:relative;
  padding:104px 0 34px;
  background:
    radial-gradient(circle at 18% 0,rgba(245,158,11,.11),transparent 28%),
    linear-gradient(135deg,#050505,#111 62%,#070707);
}
.product-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(180deg,rgba(5,5,5,0),#0f0f0f);
  pointer-events:none;
}
.product-hero-compact{
  position:relative;
  z-index:1;
  max-width:980px;
}
.product-hero-compact h1{
  max-width:920px;
  font-size:clamp(36px,4.2vw,62px);
  letter-spacing:0;
}
.product-intro{
  color:#d8d2c8;
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.55;
  max-width:700px;
  margin:14px 0 0;
}
.product-hero-usps{
  display:flex;
  flex-wrap:wrap;
  gap:12px 20px;
  margin-top:18px;
}
.product-hero-usps span{
  display:inline-flex;
  align-items:center;
  color:#d8d8d8;
  font-size:.92rem;
  font-weight:600;
}
.product-hero-usps span::before{
  content:"✓";
  color:#f6a21a;
  font-weight:700;
  margin-right:8px;
}
.product-content-usps{
  background:#0b0b0b;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.product-content-usps__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding:22px 0;
}
.product-content-usps span,
.product-use-case-list li{
  border:1px solid rgba(246,162,26,.22);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  color:#fff;
  font-weight:800;
}
.product-content-usps span{
  padding:16px 18px;
}
.product-use-case-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
}
.product-use-case-list li{
  padding:18px 20px;
}
.product-content-benefits .product-benefit-grid article p{
  margin:14px 0 0;
}
.product-faq-grid details{
  background:#fff;
}
.product-image-placeholder{
  position:relative;
  z-index:1;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 34px 100px rgba(0,0,0,.55);
}
.product-image-placeholder{
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#1d1a15,#090909);
}
.product-image-placeholder span{
  font-family:Orbitron,sans-serif;
  font-size:96px;
  font-weight:900;
  color:#f59e0b;
}
.product-quick-facts{
  background:#0f0f0f;
  border-top:1px solid rgba(245,158,11,.2);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:18px 0;
}
.product-quick-facts-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.product-quick-facts-grid div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:54px;
  padding:12px 10px;
  border:1px solid rgba(245,158,11,.18);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  color:#f4ead8;
  font-size:13px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.product-quick-facts-grid span{
  display:grid;
  place-items:center;
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#f59e0b;
  color:#111;
  font-size:13px;
  font-weight:900;
}
.product-premium-spec-section{
  padding-top:82px;
  padding-bottom:92px;
  background:
    radial-gradient(circle at 16% 18%,rgba(245,158,11,.12),transparent 28%),
    #0f0f0f;
}
.product-premium-spec-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
  gap:46px;
  align-items:start;
}
.product-premium-spec-media{
  margin:0;
  position:relative;
}
.product-premium-spec-media::before{
  content:"";
  position:absolute;
  inset:34px 42px -20px -18px;
  border:1px solid rgba(245,158,11,.24);
  border-radius:28px;
  pointer-events:none;
}
.product-spec-image,
.product-spec-placeholder,
.product-gallery__main{
  position:relative;
  z-index:1;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 34px 100px rgba(0,0,0,.5);
}
.product-gallery__main{
  aspect-ratio:4/3;
  margin-bottom:22px;
  overflow:hidden;
}
.product-gallery__main img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity .22s ease,transform .3s ease;
}
.product-gallery__main img.is-loading{
  opacity:.2;
}
.product-gallery__zoom{
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:zoom-in;
}
.product-gallery__thumbs{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.product-gallery__thumb{
  width:76px;
  aspect-ratio:1;
  padding:4px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  background:rgba(255,255,255,.045);
  cursor:pointer;
  opacity:.72;
  transition:transform .22s ease,opacity .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.product-gallery__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:8px;
}
.product-gallery__thumb:hover{
  transform:translateY(-2px);
  opacity:1;
  border-color:rgba(246,162,26,.56);
}
.product-gallery__thumb.is-active{
  transform:translateY(-2px) scale(1.03);
  opacity:1;
  border-color:rgba(246,162,26,.88);
  box-shadow:0 12px 34px rgba(246,162,26,.18);
}
@media(hover:hover){
  .product-gallery__zoom:hover img{
    transform:scale(1.02);
  }
}
.product-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(0,0,0,.88);
}
.product-lightbox[hidden]{
  display:none;
}
.product-lightbox__image{
  max-width:92vw;
  max-height:90vh;
  border-radius:12px;
  box-shadow:0 28px 90px rgba(0,0,0,.55);
}
.product-lightbox__close{
  position:absolute;
  top:20px;
  right:24px;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(10,10,10,.72);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.product-price-card{
  width:100%;
  background:rgba(18,18,18,.92);
  border:1px solid rgba(255,160,20,.25);
  border-radius:18px;
  padding:22px 28px;
  margin-bottom:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.32);
}
.product-price-card__label{
  margin:0 0 8px;
  color:#f6a21a;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.8rem;
  font-weight:800;
}
.product-price-card__value{
  margin:0;
  color:#fff;
  font-size:clamp(1.45rem,2.4vw,2.15rem);
  font-weight:900;
}
.product-price-card__note{
  margin:10px 0 0;
  color:rgba(255,255,255,.72);
  font-size:.95rem;
  line-height:1.5;
}
.product-detail-sidebar{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.product-detail-sidebar .product-price-card{
  margin-bottom:0;
}
.product-premium-spec-panel{
  position:relative;
  top:auto;
  padding:24px;
  border-color:rgba(245,158,11,.28);
  background:linear-gradient(180deg,#151515,#0a0a0a);
}
.product-premium-spec-list{
  grid-template-columns:1fr;
  margin:10px 0 18px;
}
.product-premium-spec-list div:first-child{
  border-top:0;
}
.product-premium-spec-list div{
  grid-template-columns:1fr 1.15fr;
  gap:14px;
  padding:12px 0;
}
.product-spec-note{
  color:#cfc7bb;
  font-size:15px;
  line-height:1.55;
  margin:0 0 20px;
}
.product-content-section{
  padding-top:0;
}
.product-content-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:44px;
  align-items:start;
}
.product-main-content{
  color:#d7d7d7;
  font-size:18px;
  line-height:1.78;
}
.product-main-content h2,
.product-main-content h3{
  color:#fff;
  margin:1.6em 0 .6em;
  letter-spacing:0;
}
.product-main-content h2:first-child,
.product-main-content h3:first-child{
  margin-top:0;
}
.product-main-content a{
  color:#f59e0b;
  font-weight:800;
}
.product-main-content img{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
}
.product-spec-panel{
  position:sticky;
  top:110px;
  padding:28px;
  border:1px solid rgba(245,158,11,.22);
  border-radius:22px;
  background:linear-gradient(180deg,#191919,#0d0d0d);
  box-shadow:0 26px 80px rgba(0,0,0,.4);
}
.product-spec-list{
  display:grid;
  gap:0;
  margin:18px 0 24px;
}
.product-spec-list div{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:16px;
  padding:15px 0;
  border-top:1px solid rgba(255,255,255,.09);
}
.product-spec-list dt{
  color:#f6c56d;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
}
.product-spec-list dd{
  margin:0;
  color:#eee;
  line-height:1.45;
}
.product-spec-cta{
  width:100%;
}
.product-benefits-section{
  background:
    radial-gradient(circle at 18% 0,rgba(245,158,11,.16),transparent 28%),
    #f2eee6;
}
.product-section-heading{
  max-width:820px;
  margin-bottom:36px;
}
.product-use-cases-section .product-section-heading{
  margin-bottom:18px;
}
.product-section-heading h2{
  color:#111;
  font-size:clamp(34px,4.8vw,68px);
  letter-spacing:0;
}
.product-benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.product-benefit-grid article{
  min-height:100%;
  padding:28px;
  border:1px solid rgba(20,16,10,.1);
  border-radius:20px;
  background:#fff;
  color:#111;
  box-shadow:0 22px 60px rgba(24,18,10,.12);
}
.product-benefit-grid h3{
  margin-top:12px;
  color:#111;
  letter-spacing:0;
}
.product-benefit-grid p{
  color:#4a4338;
  line-height:1.6;
}
@media(max-width:980px){
  .product-premium-spec-grid,
  .product-content-grid,
  .product-benefit-grid{
    grid-template-columns:1fr;
  }
  .product-quick-facts-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .product-spec-panel{
    position:relative;
    top:auto;
  }
}
@media(max-width:767px){
  .product-hero{
    padding:78px 0 30px;
  }
  .product-hero-compact h1{
    font-size:36px;
  }
  .product-intro,
  .product-main-content{
    font-size:16px;
  }
  .product-content-usps__grid,
  .product-use-case-list{
    grid-template-columns:1fr;
  }
  .product-image-placeholder,
  .product-spec-image,
  .product-spec-placeholder{
    border-radius:20px;
    aspect-ratio:16/10;
  }
  .product-premium-spec-section{
    padding-top:58px;
    padding-bottom:64px;
  }
  .product-premium-spec-grid{
    gap:32px;
  }
  .product-premium-spec-media::before{
    inset:16px -8px -10px 18px;
    border-radius:20px;
  }
  .product-content-section{
    padding-top:72px;
  }
  .product-quick-facts-grid{
    grid-template-columns:1fr;
  }
  .product-quick-facts-grid div{
    justify-content:flex-start;
    text-align:left;
  }
  .product-spec-panel,
  .product-benefit-grid article{
    padding:22px;
  }
  .product-spec-list div{
    grid-template-columns:1fr;
    gap:6px;
  }
}

/* Module 3C - premium project archive */
.project-archive{
  min-height:100svh;
  padding-top:150px;
  background:
    radial-gradient(circle at 78% 8%,rgba(245,158,11,.18),transparent 30%),
    linear-gradient(180deg,#050505,#101010 42%,#050505);
}
.project-archive-title{
  text-align:left;
  margin:0 0 46px;
}
.project-archive-title h1{
  max-width:980px;
  font-size:clamp(44px,6vw,88px);
  letter-spacing:0;
}
.project-archive-title p:not(.eyebrow){
  color:#d8d2c8;
  font-size:clamp(17px,1.6vw,22px);
  line-height:1.65;
  max-width:760px;
}
.project-archive-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:auto;
  gap:22px;
}
.project-card{
  min-width:0;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(180deg,#191919,#0b0b0b);
  box-shadow:0 28px 80px rgba(0,0,0,.36);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.project-card:hover{
  transform:translateY(-6px);
  border-color:rgba(245,158,11,.58);
  box-shadow:0 34px 100px rgba(0,0,0,.44),0 0 0 1px rgba(245,158,11,.12) inset;
}
.project-card a{
  display:flex;
  flex-direction:column;
  min-height:100%;
  color:inherit;
  text-decoration:none;
}
.project-card-media{
  position:relative;
  overflow:hidden;
  background:#111;
}
.project-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.48));
  pointer-events:none;
}
.project-card-media img,
.project-card-media .pic,
.project-fallback-image{
  width:100%;
  aspect-ratio:4/3;
  height:auto;
  min-height:0;
  margin:0;
  border:0;
  border-radius:0;
  object-fit:cover;
  transition:transform .35s ease,filter .35s ease;
}
.project-card:hover .project-card-media img,
.project-card:hover .project-card-media .pic{
  transform:scale(1.045);
  filter:contrast(1.08) saturate(1.04);
}
.project-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px;
}
.project-card-body h3{
  margin-top:10px;
  font-size:clamp(21px,2vw,30px);
  letter-spacing:0;
}
.project-archive .project-card-body h2{
  margin-top:10px;
  font-size:clamp(21px,2vw,30px);
  letter-spacing:0;
}
.project-card-body p{
  color:#cfc7bb;
  line-height:1.6;
  margin:14px 0 0;
}
.project-card-link{
  display:inline-flex;
  align-items:center;
  margin-top:auto;
  padding-top:22px;
  color:#f59e0b;
  font-weight:900;
}
.project-card-link::after{
  content:"";
  width:34px;
  height:1px;
  margin-left:10px;
  background:#f59e0b;
  transition:width .25s ease;
}
.project-card:hover .project-card-link::after{
  width:48px;
}
.custom-builds-section{
  background:radial-gradient(circle at 74% 12%,rgba(245,158,11,.16),transparent 34%),#080808;
  border-top:1px solid rgba(245,158,11,.14);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.custom-builds-title{
  max-width:980px;
}
.custom-builds-project-grid{
  margin-top:42px;
}
.custom-builds-cta{
  max-width:820px;
  margin:56px auto 0;
  padding:34px;
  text-align:center;
  border:1px solid rgba(245,158,11,.22);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  box-shadow:0 28px 80px rgba(0,0,0,.34);
}
.custom-builds-cta h3{
  font-size:clamp(26px,3vw,42px);
  letter-spacing:0;
}
.custom-builds-cta p{
  max-width:660px;
  margin:16px auto 26px;
  color:#d8d2c8;
  line-height:1.7;
}
.project-fallback-image{
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  box-shadow:0 28px 80px rgba(0,0,0,.32);
}
.project-archive-actions{
  justify-content:center;
  margin-top:44px;
}
.project-archive-actions .btn{
  min-width:220px;
}
.kbbq-product-search{
  margin:0 0 18px;
  padding:0;
  border:0;
  background:transparent;
}
.kbbq-product-search__field{
  position:relative;
  display:block;
}
.kbbq-product-search__icon{
  position:absolute;
  left:18px;
  top:50%;
  color:#f6a21a;
  font-size:24px;
  font-weight:900;
  line-height:1;
  transform:translateY(-50%);
  pointer-events:none;
}
.kbbq-product-search__input{
  width:100%;
  min-height:62px;
  border:1px solid rgba(245,158,11,.26);
  border-radius:18px;
  background:linear-gradient(180deg,#171717,#0b0b0b);
  box-shadow:0 18px 55px rgba(0,0,0,.28);
  color:#fff;
  padding:0 20px 0 56px;
  font-size:17px;
  font-weight:700;
}
.kbbq-product-search__input::placeholder{
  color:rgba(255,255,255,.52);
}
.kbbq-product-search__input:focus{
  outline:2px solid rgba(245,158,11,.48);
  outline-offset:3px;
  border-color:rgba(245,158,11,.72);
}
.kbbq-product-search.is-loading .kbbq-product-search__input{
  border-color:rgba(245,158,11,.55);
}
.kbbq-product-filters{
  margin:0 0 34px;
  padding:24px;
  border:1px solid rgba(245,158,11,.22);
  border-radius:22px;
  background:linear-gradient(180deg,#171717,#0b0b0b);
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.kbbq-product-filters__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.kbbq-product-filters__field{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:8px;
}
.kbbq-product-filters__field span{
  color:#f6a21a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.kbbq-product-filters__field select,
.kbbq-product-filters__field input{
  width:100%;
  min-height:48px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:#0f0f0f;
  color:#fff;
  padding:0 13px;
  font:inherit;
}
.kbbq-product-filters__field select:focus,
.kbbq-product-filters__field input:focus{
  outline:2px solid rgba(245,158,11,.42);
  outline-offset:2px;
}
.kbbq-product-filters__actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}
.kbbq-product-filters__status{
  color:#d7d7d7;
  font-size:14px;
  font-weight:700;
}
.kbbq-product-filters__loader{
  display:none;
  width:20px;
  height:20px;
  border:2px solid rgba(255,255,255,.18);
  border-top-color:#f6a21a;
  border-radius:50%;
  animation:kbbq-product-filter-spin .7s linear infinite;
}
.kbbq-product-filters.is-loading .kbbq-product-filters__loader{
  display:inline-block;
}
[data-product-results].is-loading{
  pointer-events:none;
}
@keyframes kbbq-product-filter-spin{
  to{
    transform:rotate(360deg);
  }
}
[data-product-results].model-showcase{
  align-items:stretch;
}
[data-product-results] article{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:22px;
}
[data-product-results] .pic-link{
  overflow:hidden;
  margin-bottom:18px;
  border-radius:18px;
}
[data-product-results] .pic-link img{
  width:100%;
  height:auto;
  border-radius:18px;
}
[data-product-results] article small{
  margin-bottom:8px;
}
[data-product-results] article h3{
  display:-webkit-box;
  min-height:3.1em;
  overflow:hidden;
  font-size:clamp(21px,1.7vw,25px);
  line-height:1.05;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
[data-product-results] article p:not(.kbbq-product-archive-price){
  display:-webkit-box;
  overflow:hidden;
  margin:10px 0 0;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
[data-product-results] article > a:last-child{
  margin-top:auto;
  padding-top:14px;
}
.kbbq-product-archive-price{
  color:#f6a21a!important;
  font-weight:900;
  margin:10px 0 0;
}
@media(max-width:1100px){
  .project-archive-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .kbbq-product-filters__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:767px){
  .project-archive{
    padding-top:96px;
  }
  .project-archive-title{
    margin-bottom:30px;
  }
  .project-archive-title h1{
    font-size:42px;
  }
  .project-archive-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .project-card-body{
    padding:20px;
  }
  .project-card-media img,
  .project-card-media .pic,
  .project-fallback-image{
    aspect-ratio:16/10;
  }
  .project-archive-actions,
  .project-archive-actions .btn{
    width:100%;
  }
  .custom-builds-cta{
    margin-top:34px;
    padding:24px;
    border-radius:22px;
  }
  .custom-builds-cta .btn{
    width:100%;
  }
  .kbbq-product-filters{
    padding:18px;
  }
  .kbbq-product-filters__grid{
    grid-template-columns:1fr;
  }
  .kbbq-product-filters__actions,
  .kbbq-product-filters__actions .btn{
    width:100%;
  }
}

/* Design system polish */
.btn,
.btn-primary,
.btn-outline,
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.contact button,
.quote-form button,
form button[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  border-radius:var(--radius-sm);
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
  transition:transform var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),color var(--transition-base);
}
.btn:hover,
.btn-primary:hover,
.btn-outline:hover,
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.contact button:hover,
.quote-form button:hover,
form button[type="submit"]:hover{
  transform:translateY(-3px);
}
.primary,
.btn.primary,
.btn-primary,
.contact button,
.quote-form button,
form button[type="submit"],
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button{
  border-color:var(--brand-orange)!important;
  background:var(--brand-orange)!important;
  color:#111!important;
  box-shadow:var(--shadow-button);
}
.primary:hover,
.btn.primary:hover,
.btn-primary:hover,
.contact button:hover,
.quote-form button:hover,
form button[type="submit"]:hover,
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover{
  border-color:var(--brand-orange-hover)!important;
  background:var(--brand-orange-hover)!important;
  color:#111!important;
}
.ghost,
.btn.ghost,
.btn-outline{
  border-color:rgba(245,158,11,.48)!important;
  background:rgba(0,0,0,.42)!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(0,0,0,.36);
}
.ghost:hover,
.btn.ghost:hover,
.btn-outline:hover{
  border-color:var(--brand-orange)!important;
  background:rgba(245,158,11,.12)!important;
  color:#fff!important;
}
.model-showcase article,
.feature-row div,
.process div,
.academy-card,
.video-card,
.academy-video-card,
.academy-guide-card,
.academy-related-product-card,
.project-card,
.product-price-card,
.product-spec-panel,
.kbbq-product-filters,
.kbbq-product-search__input{
  border-color:var(--border-subtle);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base);
}
.model-showcase article:hover,
.feature-row div:hover,
.process div:hover,
.academy-card:hover,
.video-card:hover,
.academy-video-card:hover,
.academy-guide-card:hover,
.academy-related-product-card:hover,
.project-card:hover{
  border-color:rgba(245,158,11,.58);
  box-shadow:var(--shadow-card-hover);
}
.model-showcase article,
.feature-row div,
.process div,
.academy-card,
.video-card,
.academy-related-product-card,
.project-card{
  overflow:hidden;
}
.pic,
.video-thumb,
.academy-related-product-card__media,
.academy-guide-card__media,
.project-card-media{
  border-radius:var(--radius-md);
}

/* Typography rhythm polish */
h1,
h2,
h3,
.product-hero-compact h1,
.product-section-heading h2,
.academy-hero h1,
.academy-article-hero h1,
.academy-guide-card h3,
.academy-related-product-card__body h3,
.premium-product-card h3,
.project-card-body h3{
  line-height:var(--heading-line);
  letter-spacing:var(--heading-spacing);
  text-wrap:balance;
}
.eyebrow{
  margin-bottom:14px;
  line-height:1.25;
}
.title{
  margin-bottom:clamp(34px,4vw,52px);
}
.title p,
.hero p:not(.eyebrow),
.statement p,
.split-title p,
.special-copy p,
.contact p,
.product-intro,
.academy-hero p,
.academy-article-summary,
.academy-guide-card p,
.academy-video-body p,
.academy-related-product-card__body p,
.project-card-body p,
.product-main-content,
.product-main-content p,
.product-benefit-grid p,
.product-spec-note,
.faq-grid p{
  line-height:var(--body-line);
}
.hero p:not(.eyebrow),
.title p,
.product-intro,
.academy-hero p,
.academy-article-summary{
  margin-top:18px;
}
.actions,
.academy-hero-actions{
  margin-top:28px;
}
.model-showcase article h3,
[data-product-results] article h2,
.feature-row h3,
.process h3,
.academy-card h3,
.video-card h3,
.academy-guide-card h3,
.academy-archive-page .academy-guide-card h2,
.academy-related-product-card__body h3,
.premium-product-card h3,
.project-card-body h3,
.project-archive .project-card-body h2{
  margin-top:0;
  margin-bottom:10px;
}
.model-showcase article p,
.feature-row p,
.process p,
.academy-card p,
.video-card p,
.academy-guide-card p,
.academy-related-product-card__body p,
.project-card-body p{
  margin-top:0;
}
.product-section-heading,
.academy-video-section__header,
.academy-related-products__header,
.academy-related-guides__header{
  margin-bottom:var(--section-heading-gap);
}
.product-use-cases-section .product-section-heading{
  margin-bottom:18px;
}
.product-section-heading h2{
  font-size:clamp(32px,4.4vw,60px);
}
.product-benefit-grid h3{
  margin:10px 0 8px;
}
.product-benefit-grid p,
.product-content-benefits .product-benefit-grid article p{
  margin-top:10px;
}
.product-use-case-list li{
  line-height:1.45;
}
.product-spec-list dt,
.product-spec-list dd{
  line-height:1.45;
}
.product-faq-grid details,
.faq-grid details{
  line-height:var(--body-line);
}
.faq-grid summary{
  line-height:1.35;
}
.academy-article-content{
  line-height:var(--body-line-loose);
}
.academy-article-content h2,
.academy-article-content h3{
  line-height:1.12;
  margin:2em 0 .65em;
}
.academy-article-content p,
.academy-article-content ul,
.academy-article-content ol{
  margin-bottom:1.2em;
}
.academy-guide-card__meta,
.lesson-meta{
  margin-bottom:14px;
}
.academy-related-product-card__price,
.kbbq-product-archive-price{
  line-height:1.25;
}

/* Academy premium article layout v1.0 */
.academy-article-wrap{
  max-width:1040px;
}
.academy-article-content{
  max-width:800px;
  font-size:19px;
  line-height:1.82;
  color:#e2dbd1;
}
.academy-article-content h2{
  margin:2.85em 0 .58em;
  padding-top:.25em;
  color:#fff;
  font-size:clamp(30px,3vw,44px);
  line-height:1.12;
  letter-spacing:0;
}
.academy-article-content h3{
  margin:2.15em 0 .72em;
  color:#fff;
  font-size:clamp(22px,2vw,28px);
  line-height:1.18;
  letter-spacing:0;
}
.academy-article-content h2 + p,
.academy-article-content h3 + p{
  margin-top:0;
}
.academy-article-content h2 + ul,
.academy-article-content h2 + ol,
.academy-article-content h3 + ul,
.academy-article-content h3 + ol{
  margin-top:.2em;
}
.academy-article-content p{
  margin:0 0 1.55em;
}
.academy-article-content ul,
.academy-article-content ol{
  margin:1.35em 0 1.85em;
  padding-left:1.25em;
}
.academy-article-content li{
  margin:.65em 0;
  padding-left:.25em;
}
.academy-article-content ul li::marker{
  color:#f6a21a;
}
.academy-article-content ol li::marker{
  color:#f6a21a;
  font-weight:900;
}
.academy-article-content blockquote{
  margin:2.2em 0;
  padding:26px 30px;
  border-left:4px solid #f6a21a;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(255,255,255,.035));
  color:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.academy-article-content blockquote p{
  margin:0 0 .9em;
  font-size:1.06em;
  line-height:1.7;
}
.academy-article-content blockquote p:last-child{
  margin-bottom:0;
}
.academy-article-content table{
  width:100%;
  margin:2.2em 0;
  border-collapse:collapse;
  overflow:hidden;
  border:1px solid rgba(245,158,11,.2);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  box-shadow:0 20px 60px rgba(0,0,0,.24);
}
.academy-article-content th,
.academy-article-content td{
  padding:15px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
  vertical-align:top;
}
.academy-article-content th{
  color:#f6c56d;
  font-size:.82em;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.academy-article-content tr:last-child th,
.academy-article-content tr:last-child td{
  border-bottom:0;
}
.academy-article-content img{
  width:auto;
  max-width:100%;
  height:auto;
  margin:2.1em auto;
  border-radius:22px;
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.academy-article-content figure{
  margin:2.4em 0;
}
.academy-article-content figure img{
  margin:0 auto;
}
.academy-article-content figcaption{
  margin-top:12px;
  color:rgba(255,255,255,.62);
  font-size:.9em;
  line-height:1.5;
  text-align:center;
}
.academy-article-content details{
  margin:18px 0;
  padding:20px 22px;
  border:1px solid rgba(245,158,11,.22);
  border-radius:18px;
  background:rgba(255,255,255,.04);
}
.academy-article-content details:first-of-type{
  margin-top:1.7em;
}
.academy-article-content details:last-of-type{
  margin-bottom:3.2em;
}
.academy-article-content summary{
  cursor:pointer;
  color:#fff;
  font-family:Orbitron,sans-serif;
  font-size:.98em;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.academy-article-content details > *:last-child{
  margin-bottom:0;
}
.kbbq-callout{
  margin:2.25em 0;
  padding:24px 28px;
  border:1px solid rgba(245,158,11,.24);
  border-left:4px solid #f6a21a;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(245,158,11,.11),rgba(255,255,255,.035));
  color:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.kbbq-callout > *:first-child{
  margin-top:0;
}
.kbbq-callout > *:last-child{
  margin-bottom:0;
}
.kbbq-callout p,
.kbbq-callout ul,
.kbbq-callout ol{
  color:inherit;
}
.kbbq-callout--tip{
  border-color:rgba(246,162,26,.28);
  border-left-color:#f6a21a;
  background:linear-gradient(135deg,rgba(246,162,26,.12),rgba(255,255,255,.035));
}
.kbbq-callout--warning{
  border-color:rgba(255,196,71,.28);
  border-left-color:#ffc447;
  background:linear-gradient(135deg,rgba(255,196,71,.12),rgba(255,255,255,.035));
}
.kbbq-callout--info{
  border-color:rgba(125,181,255,.26);
  border-left-color:#7db5ff;
  background:linear-gradient(135deg,rgba(125,181,255,.11),rgba(255,255,255,.035));
}
.kbbq-callout--success{
  border-color:rgba(74,222,128,.24);
  border-left-color:#4ade80;
  background:linear-gradient(135deg,rgba(74,222,128,.1),rgba(255,255,255,.035));
}
.kbbq-learning-box{
  margin:2.5em 0 2.7em;
  padding:28px 32px;
  border:1px solid rgba(245,158,11,.24);
  border-left:5px solid #f6a21a;
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 12%,rgba(245,158,11,.14),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  color:#e8e0d7;
  box-shadow:0 28px 80px rgba(0,0,0,.3);
}
.kbbq-learning-box > *:first-child{
  margin-top:0;
}
.kbbq-learning-box > *:last-child{
  margin-bottom:0;
}
.kbbq-learning-box h2,
.kbbq-learning-box h3,
.kbbq-learning-box h4{
  margin:0 0 .75em;
  color:#fff;
  font-size:clamp(22px,2.2vw,30px);
  line-height:1.14;
  letter-spacing:0;
}
.kbbq-learning-box p{
  margin:0 0 1.1em;
  color:#e8e0d7;
  line-height:1.7;
}
.kbbq-learning-box ul{
  margin:1.1em 0 0;
  padding-left:1.15em;
}
.kbbq-learning-box li{
  margin:.55em 0;
  padding-left:.2em;
}
.kbbq-learning-box li::marker{
  color:#f6a21a;
}
.kbbq-next-guide{
  margin:3.3em 0 2.4em;
  padding:30px 32px;
  border:1px solid rgba(245,158,11,.24);
  border-top:5px solid #f6a21a;
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 0,rgba(245,158,11,.18),transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  color:#e8e0d7;
  box-shadow:0 28px 80px rgba(0,0,0,.3);
}
.kbbq-next-guide > *:first-child{
  margin-top:0;
}
.kbbq-next-guide > *:last-child{
  margin-bottom:0;
}
.kbbq-next-guide h2,
.kbbq-next-guide h3,
.kbbq-next-guide h4{
  margin:0 0 .65em;
  color:#fff;
  font-size:clamp(24px,2.5vw,34px);
  line-height:1.12;
  letter-spacing:0;
}
.kbbq-next-guide p{
  margin:0 0 1.35em;
  color:#d8d2c8;
  line-height:1.7;
}
.kbbq-next-guide a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 18px;
  border:1px solid rgba(245,158,11,.55);
  border-radius:999px;
  background:#f6a21a;
  color:#111;
  font-weight:900;
  text-decoration:none;
  transition:transform var(--transition-base),background-color var(--transition-base),box-shadow var(--transition-base);
}
.kbbq-next-guide a:hover{
  transform:translateY(-2px);
  background:#ffc247;
  box-shadow:0 16px 36px rgba(245,158,11,.24);
}
.kbbq-toc{
  margin:2em 0 2.6em;
  padding:24px 26px;
  border:1px solid rgba(245,158,11,.24);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  color:#e8e0d7;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.kbbq-toc > *:first-child{
  margin-top:0;
}
.kbbq-toc > *:last-child{
  margin-bottom:0;
}
.kbbq-toc h2,
.kbbq-toc h3,
.kbbq-toc h4{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(20px,2vw,26px);
  line-height:1.16;
  letter-spacing:0;
}
.kbbq-toc ol,
.kbbq-toc ul{
  display:grid;
  gap:8px;
  margin:0;
  padding-left:1.15em;
}
.kbbq-toc li{
  margin:0;
  padding-left:.15em;
}
.kbbq-toc li::marker{
  color:#f6a21a;
  font-weight:900;
}
.kbbq-toc a{
  color:#f2e9dc;
  font-weight:800;
  text-decoration:none;
  transition:color var(--transition-base),padding-left var(--transition-base);
}
.kbbq-toc a:hover{
  color:#f6a21a;
  padding-left:4px;
}
.academy-key-takeaways,
.academy-article-callouts,
.academy-faq-section{
  max-width:800px;
  margin-right:auto;
  margin-left:auto;
}
.academy-article-media{
  margin-bottom:64px;
}
.academy-article-content > p:first-of-type{
  margin-bottom:1.85em;
  color:#eee6dc;
  font-size:1.08em;
  line-height:1.78;
}
.academy-article-content h2:first-of-type{
  margin-top:3.25em;
}
.academy-article-content > h2:first-child{
  margin-top:.45em;
}
.academy-key-takeaways{
  margin-bottom:2.6em;
}
.academy-key-takeaways h2,
.academy-faq-section__header h2{
  margin:0 0 .72em;
  color:#fff;
  font-size:clamp(26px,2.6vw,38px);
  line-height:1.14;
  letter-spacing:0;
}
.academy-key-takeaways ul{
  display:grid;
  gap:.75em;
  margin:0;
  padding:0;
  list-style:none;
}
.academy-key-takeaways li{
  display:flex;
  gap:.7em;
  align-items:flex-start;
  color:#e2dbd1;
  line-height:1.65;
}
.academy-key-takeaways li span{
  flex:0 0 auto;
  color:#f6a21a;
  font-weight:900;
}
.academy-article-callouts{
  margin-bottom:3.2em;
}
.academy-article-callouts .kbbq-callout:first-child{
  margin-top:0;
}
.academy-article-callouts .kbbq-callout:last-child{
  margin-bottom:0;
}
.academy-faq-section{
  margin-top:4.6em;
}
.academy-faq-section__header{
  margin:0 0 1.4em;
}
.academy-faq-section__header .eyebrow{
  margin-bottom:10px;
}
.academy-faq-grid{
  gap:14px;
}

@media(max-width:767px){
  h1,
  .hero h1,
  .academy-hero h1,
  .academy-article-hero h1,
  .product-hero-compact h1{
    font-size:clamp(36px,10vw,44px);
    line-height:1.08;
  }
  h2,
  .product-section-heading h2,
  .academy-video-section__header h2,
  .academy-related-products__header h2,
  .academy-related-guides__header h2{
    font-size:clamp(30px,8vw,38px);
    line-height:1.1;
  }
  .title{
    margin-bottom:30px;
  }
  .eyebrow{
    margin-bottom:12px;
  }
  .actions,
  .academy-hero-actions{
    margin-top:24px;
  }
  .hero p:not(.eyebrow),
  .title p,
  .product-intro,
  .academy-hero p,
  .academy-article-summary,
  .academy-article-content{
    font-size:16px;
    line-height:1.65;
  }
  .product-section-heading,
  .academy-video-section__header,
  .academy-related-products__header,
  .academy-related-guides__header{
    margin-bottom:22px;
  }
  .academy-article-wrap{
    padding-top:42px;
    padding-bottom:78px;
  }
  .academy-article-content{
    max-width:100%;
    font-size:16.5px;
    line-height:1.72;
  }
  .academy-article-content h2{
    margin-top:2.35em;
    margin-bottom:.62em;
    font-size:clamp(28px,8vw,36px);
  }
  .academy-article-content h3{
    margin-top:1.9em;
    font-size:22px;
  }
  .academy-article-content ul,
  .academy-article-content ol{
    margin:1.2em 0 1.55em;
  }
  .academy-article-content blockquote{
    padding:22px;
    border-radius:18px;
  }
  .kbbq-callout{
    padding:20px 22px;
    border-radius:18px;
  }
  .kbbq-learning-box{
    padding:22px 24px;
    border-radius:18px;
  }
  .kbbq-next-guide{
    margin-top:2.8em;
    padding:24px;
    border-radius:18px;
  }
  .kbbq-next-guide a{
    width:100%;
  }
  .kbbq-toc{
    padding:20px 22px;
    border-radius:18px;
  }
  .academy-key-takeaways{
    margin-bottom:2.2em;
  }
  .academy-article-media{
    margin-bottom:44px;
  }
  .academy-article-content > p:first-of-type{
    margin-bottom:1.65em;
    font-size:1.04em;
    line-height:1.72;
  }
  .academy-article-content h2:first-of-type{
    margin-top:2.75em;
  }
  .academy-article-content > h2:first-child{
    margin-top:.3em;
  }
  .academy-key-takeaways h2,
  .academy-faq-section__header h2{
    font-size:clamp(26px,7vw,34px);
  }
  .academy-article-callouts{
    margin-bottom:2.6em;
  }
  .academy-faq-section{
    margin-top:3.4em;
  }
  .academy-article-content th,
  .academy-article-content td{
    padding:13px 14px;
  }
}

/* Homepage hero experience polish */
.kbbq-premium .hero-premium .hero-inner{
  max-width:900px;
}
.kbbq-premium .hero-premium .eyebrow{
  margin-bottom:18px;
  padding:9px 14px;
  font-size:12px;
  letter-spacing:.16em;
  line-height:1.2;
}
.kbbq-premium .hero-premium h1{
  max-width:900px;
  font-size:clamp(44px,6.5vw,96px);
  line-height:1.03;
}
.kbbq-premium .hero-premium p:not(.eyebrow){
  max-width:680px;
  margin-top:22px;
  font-size:clamp(16px,1.35vw,20px);
  line-height:1.65;
}
.kbbq-premium .hero-premium .actions{
  gap:14px;
  margin-top:30px;
}
.kbbq-premium .hero-premium .btn.primary{
  box-shadow:0 0 32px rgba(245,158,11,.38),0 16px 38px rgba(0,0,0,.52);
}
.kbbq-premium .hero-premium .btn.ghost{
  border-color:rgba(255,255,255,.68)!important;
  background:rgba(255,255,255,.1)!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.12);
}
.kbbq-premium .hero-premium .btn.ghost:hover{
  border-color:rgba(245,158,11,.78)!important;
  background:rgba(245,158,11,.16)!important;
  color:#fff!important;
  box-shadow:0 16px 38px rgba(0,0,0,.42),0 0 22px rgba(245,158,11,.18);
}

@media(max-width:767px){
  .kbbq-premium .hero-premium .hero-inner{
    padding:72px 0 66px;
  }
  .kbbq-premium .hero-premium .eyebrow{
    padding:8px 12px;
    font-size:11px;
    letter-spacing:.13em;
  }
  .kbbq-premium .hero-premium h1{
    font-size:clamp(34px,9.4vw,42px);
    line-height:1.08;
  }
  .kbbq-premium .hero-premium p:not(.eyebrow){
    margin-top:18px;
    font-size:16px;
  }
  .kbbq-premium .hero-premium .actions{
    gap:12px;
    margin-top:24px;
  }
  .kbbq-premium .hero-premium .btn.ghost{
    border-color:rgba(255,255,255,.72)!important;
    background:rgba(255,255,255,.12)!important;
  }
}

.btn:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(246,162,26,.9);
  outline-offset:3px;
}

/* Premium Custom Build detail template */
.custom-build-page{
  background:#070707;
  color:#fff;
}
.custom-build-hero{
  padding:96px 0 46px;
  background:
    radial-gradient(circle at 18% 12%,rgba(246,162,26,.14),transparent 34%),
    linear-gradient(180deg,#101010 0%,#070707 100%);
}
.custom-build-hero__inner{
  display:block;
}
.custom-build-hero__content h1{
  max-width:900px;
  margin:0;
  color:#fff;
  font-family:Orbitron,system-ui,sans-serif;
  font-size:clamp(42px,6vw,84px);
  line-height:1.02;
  text-transform:uppercase;
}
.custom-build-hero__intro{
  max-width:760px;
  margin:24px 0 0;
  color:rgba(255,255,255,.78);
  font-size:clamp(17px,1.6vw,22px);
  line-height:1.65;
}
.custom-build-hero__media{
  position:relative;
  margin:44px auto 0;
  display:table;
  width:auto;
  max-width:min(900px,100%);
  overflow:hidden;
  border:1px solid rgba(246,162,26,.08);
  border-radius:16px;
  background:#070707;
  box-shadow:0 24px 68px rgba(0,0,0,.42);
}
.custom-build-hero__media img{
  width:auto;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
  display:block;
}
.custom-build-detail-wrap{
  padding:46px 0 96px;
}
.custom-build-section{
  margin-top:58px;
}
.custom-build-section:first-child{
  margin-top:0;
}
.custom-build-section h2{
  margin:0 0 22px;
  color:#fff;
  font-family:Orbitron,system-ui,sans-serif;
  font-size:clamp(28px,3.5vw,46px);
  line-height:1.12;
  text-transform:uppercase;
}
.custom-build-content{
  max-width:820px;
  color:rgba(255,255,255,.76);
  font-size:18px;
  line-height:1.72;
}
.custom-build-content p{
  margin:0 0 1.35em;
}
.custom-build-case-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.custom-build-text-block{
  padding:30px;
  border:1px solid rgba(246,162,26,.18);
  border-radius:22px;
  background:rgba(18,18,18,.88);
  box-shadow:0 20px 56px rgba(0,0,0,.28);
}
.custom-build-text-block h2{
  margin-bottom:16px;
  font-size:clamp(22px,2.4vw,32px);
}
.custom-build-text-block p{
  margin:0 0 1em;
  color:rgba(255,255,255,.74);
  line-height:1.68;
}
.custom-build-text-block p:last-child{
  margin-bottom:0;
}
.custom-build-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.custom-build-fact{
  align-self:start;
  padding:24px;
  border:1px solid rgba(246,162,26,.18);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
  box-shadow:0 18px 50px rgba(0,0,0,.24);
}
.custom-build-fact span{
  display:block;
  margin-bottom:8px;
  color:#f6a21a;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.custom-build-fact strong{
  display:block;
  color:#fff;
  font-size:1.08rem;
  line-height:1.35;
}
.custom-build-dimensions{
  display:grid;
  gap:12px;
}
.custom-build-dimension span{
  display:block;
  margin:0 0 4px;
  color:rgba(255,255,255,.58);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.custom-build-dimension strong{
  font-size:1.16rem;
}
.custom-build-dimension--plain{
  color:#fff;
  font-size:1.08rem;
  font-weight:800;
  line-height:1.35;
}
.custom-build-features{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}
.custom-build-features li{
  position:relative;
  padding:18px 20px 18px 46px;
  border:1px solid rgba(246,162,26,.16);
  border-radius:16px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.82);
  line-height:1.45;
}
.custom-build-features li::before{
  content:"";
  position:absolute;
  left:20px;
  top:24px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#f6a21a;
  box-shadow:0 0 0 5px rgba(246,162,26,.13);
}
.custom-build-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.custom-build-gallery figure{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  background:#111;
  aspect-ratio:4/3;
}
.custom-build-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.custom-build-detail-cta{
  padding:38px;
  border:1px solid rgba(246,162,26,.22);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(246,162,26,.12),rgba(255,255,255,.045));
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.custom-build-detail-cta p{
  max-width:620px;
  margin:0 0 24px;
  color:rgba(255,255,255,.76);
  font-size:18px;
  line-height:1.65;
}
@media(max-width:980px){
  .custom-build-case-grid{
    grid-template-columns:1fr;
  }
  .custom-build-facts,
  .custom-build-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:767px){
  .custom-build-hero{
    padding:78px 0 36px;
  }
  .custom-build-hero__content h1{
    font-size:clamp(34px,10vw,46px);
  }
  .custom-build-hero__media{
    margin-top:30px;
    max-width:100%;
    border-radius:16px;
  }
  .custom-build-detail-wrap{
    padding:42px 0 72px;
  }
  .custom-build-section{
    margin-top:42px;
  }
  .custom-build-facts,
  .custom-build-features,
  .custom-build-gallery{
    grid-template-columns:1fr;
  }
  .custom-build-text-block,
  .custom-build-detail-cta{
    padding:24px;
    border-radius:18px;
  }
  .custom-build-detail-cta .btn{
    width:100%;
  }
}
