/* ============================================================
   Orpat Quick Mix — Immersive Landing v2
   Premium, product-first. Dark cinematic base, champagne-gold
   luxury accents, Orpat red for action. Render-based (no video).
   ============================================================ */

:root{
  --qm-ink:#07080b;
  --qm-ink-2:#0c0e14;
  --qm-panel:rgba(255,255,255,.04);
  --qm-panel-line:rgba(255,255,255,.10);
  --qm-white:#f7f6f2;
  --qm-muted:#c3c8d1;
  --qm-red:#ed1c2e;
  --qm-red-2:#ff3a49;
  --qm-gold:#d6b676;
  --qm-gold-2:#f0d9a8;
  --qm-hot:#ff7a3c;
  --qm-cold:#69b6ff;
  --qm-serif:"Fraunces",Georgia,"Times New Roman",serif;
  --qm-sans:"Urbanist",ui-sans-serif,-apple-system,"Segoe UI",Roboto,sans-serif;
  --qm-shell:1220px;
}

/* ---- header-gap fix: this landing owns the viewport under the sticky header ---- */
body.qm-immersive .wd-page-title,
body.qm-immersive .wd-page-title-wrapper,
body.qm-immersive .woocommerce-breadcrumb,
body.qm-immersive .term-description{ display:none !important; }
body.qm-immersive .qmx-immersive-page,
body.qm-immersive .wd-page-content,
body.qm-immersive .wd-content-layout,
body.qm-immersive #main-content,
body.qm-immersive .main-page-wrapper,
body.qm-immersive .row-container{ padding-top:0 !important; padding-bottom:0 !important; margin-top:0 !important; }
body.qm-immersive .site-content{ overflow-x:clip; }
/* kill WoodMart's sticky-header spacer that leaves a gap above the landing */
body.qm-immersive .whb-sticky-prepared{ padding-top:0 !important; }
/* NOTE: never set overflow-x:hidden on <body> here — it turns body into a scroll
   container and breaks the position:sticky scroll sequences. The .site-content
   overflow-x:clip below is sticky-safe and already prevents horizontal scroll. */
/* position:sticky (the scroll sequences) needs no overflow:hidden ancestor */
body.qm-immersive .wd-page-wrapper,
body.qm-immersive .main-page-wrapper,
body.qm-immersive .qmx-immersive-page,
body.qm-immersive .row-container{ overflow:visible !important; }

/* ---- shell / base ---- */
.qm-landing,.qm-landing *{ box-sizing:border-box; }
.qm-landing{
  position:relative;
  width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-top:0;
  color:var(--qm-white);
  background:var(--qm-ink);
  font-family:var(--qm-sans);
  font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip; isolation:isolate;
}
.qm-landing a{ color:inherit; text-decoration:none; }
.qm-landing img{ display:block; max-width:100%; height:auto; }
.qm-shell{ width:min(calc(100% - 44px),var(--qm-shell)); margin-inline:auto; }

/* neutralise WoodMart's dark heading colours leaking into the landing */
.qm-landing :is(h1,h2,h3,h4){ color:var(--qm-white); }

.qm-eyebrow{
  margin:0 0 18px; font-size:12px; font-weight:800; letter-spacing:.24em;
  text-transform:uppercase; color:var(--qm-muted);
}
.qm-eyebrow--gold{
  color:var(--qm-gold);
  display:inline-flex; align-items:center; gap:12px;
}
.qm-eyebrow--gold::before{ content:""; width:26px; height:1px; background:linear-gradient(90deg,transparent,var(--qm-gold)); }

.qm-h2{
  margin:0; font-family:var(--qm-serif); font-weight:500;
  font-size:clamp(30px,4.6vw,58px); line-height:1.02; letter-spacing:-.015em;
  text-wrap:balance;
}
.qm-p{ margin:18px 0 0; color:var(--qm-muted); font-size:clamp(16px,1.3vw,18.5px); max-width:60ch; }
.qm-p b{ color:var(--qm-white); font-weight:700; }
.qm-p--center{ margin-inline:auto; text-align:center; }
.qm-p--lg{ font-size:clamp(18px,1.7vw,23px); color:#d7dae0; }

/* ---- buttons ---- */
.qm-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:32px; }
.qm-btn{
  min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:0 26px; border:1px solid transparent; border-radius:999px;
  font-family:var(--qm-sans); font-size:15px; font-weight:700; letter-spacing:.01em; line-height:1;
  cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.qm-btn--primary{ color:#fff; background:linear-gradient(135deg,var(--qm-red-2),var(--qm-red)); box-shadow:0 16px 40px -12px rgba(237,28,46,.6); }
.qm-btn--ghost{ color:#fff; border-color:var(--qm-panel-line); background:var(--qm-panel); backdrop-filter:blur(10px); }
.qm-btn--compact{ min-height:44px; padding-inline:20px; font-size:14px; }
.qm-btn:hover,.qm-btn:focus-visible{ transform:translateY(-2px); box-shadow:0 20px 46px -12px rgba(237,28,46,.7); }
.qm-btn--ghost:hover{ border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.08); box-shadow:none; }
.qm-btn:focus-visible,.qm-textlink:focus-visible,.qm-store:focus-visible{ outline:3px solid rgba(255,255,255,.85); outline-offset:4px; }
.qm-textlink{ display:inline-block; margin-top:22px; color:var(--qm-gold-2); font-weight:700; font-size:14.5px; letter-spacing:.02em; border-bottom:1px solid rgba(214,182,118,.4); padding-bottom:2px; }
.qm-textlink:hover{ border-color:var(--qm-gold-2); }

/* ---- bands / rhythm ---- */
.qm-band{ position:relative; padding-block:clamp(72px,9vw,132px); }
.qm-section-head{ max-width:760px; margin:0 auto clamp(40px,5vw,64px); text-align:center; }
.qm-section-head .qm-eyebrow--gold{ justify-content:center; }
.qm-section-head .qm-h2{ margin-top:6px; }

/* ---- reveal animation ---- */
.qm-reveal{ opacity:0; transform:translateY(28px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.qm-reveal.is-visible{ opacity:1; transform:none; }

/* ============ HERO ============ */
.qm-hero{
  position:relative; overflow:hidden;
  min-height:clamp(600px,calc(100svh - 70px),1000px);
  display:flex; align-items:center;
  padding-block:clamp(44px,6vw,82px) clamp(24px,3vw,44px);
  background:
    radial-gradient(120% 90% at 78% 28%,rgba(237,28,46,.14),transparent 46%),
    linear-gradient(160deg,#12141b 0%,#0a0c11 52%,#050609 100%);
}
.qm-hero__bg{ position:absolute; inset:0; pointer-events:none; }
.qm-hero__glow{
  position:absolute; right:-8vw; top:8%; width:52vw; height:52vw; border-radius:50%;
  background:radial-gradient(circle,rgba(237,28,46,.28),transparent 62%); filter:blur(40px);
}
.qm-hero__grid{
  position:absolute; inset:0;
  background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:66px 66px;
  mask-image:radial-gradient(120% 80% at 50% 40%,#000 30%,transparent 78%);
}
.qm-hero__inner{
  position:relative; z-index:2;
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:center; gap:clamp(24px,4vw,72px);
}
.qm-hero__copy{ max-width:600px; }
.qm-hero__title{
  margin:0; font-family:var(--qm-serif); font-weight:600; color:#fff;
  font-size:clamp(40px,6vw,84px); line-height:1.0; letter-spacing:-.02em;
  text-shadow:0 1px 34px rgba(0,0,0,.35);
}
.qm-hero__title em{ font-style:italic; font-weight:400; color:var(--qm-gold-2); text-shadow:0 0 40px rgba(214,182,118,.28); }
.qm-hero__lead{ margin:26px 0 0; color:#dde0e6; font-size:clamp(17px,1.6vw,21px); max-width:52ch; }

.qm-spec-strip{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(86px,1fr)); gap:8px;
  list-style:none; padding:0; margin:34px 0 0;
}
.qm-spec-strip li{
  display:flex; flex-direction:column; gap:5px; align-items:center; text-align:center;
  padding:15px 6px 13px; border:1px solid var(--qm-panel-line); border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
  transition:border-color .3s ease, transform .3s ease, background .3s ease;
}
.qm-spec-strip li:hover{ border-color:rgba(214,182,118,.45); transform:translateY(-3px); background:linear-gradient(180deg,rgba(214,182,118,.10),rgba(255,255,255,.012)); }
.qm-spec-strip b{ font-size:clamp(16px,1.6vw,21px); font-weight:800; color:#fff; letter-spacing:-.01em; }
.qm-spec-strip span{ font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--qm-muted); }

.qm-hero__stage{ position:relative; display:grid; place-items:center; min-height:340px; }
.qm-hero__halo{
  position:absolute; width:96%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(237,28,46,.32),rgba(214,182,118,.10) 42%,transparent 66%);
  filter:blur(14px); animation:qm-halo 7s ease-in-out infinite;
}
.qm-hero__product{
  position:relative; z-index:2; width:min(100%,460px); height:auto;
  filter:drop-shadow(0 44px 70px rgba(0,0,0,.6));
  animation:qm-float 6.5s ease-in-out infinite;
}
.qm-hero__steam{
  position:absolute; z-index:3; top:-6%; left:50%; transform:translateX(-50%);
  width:60%; max-width:320px; opacity:0; pointer-events:none; mix-blend-mode:screen;
  animation:qm-steam 6s ease-in-out infinite;
}
@keyframes qm-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-16px); } }
@keyframes qm-halo{ 0%,100%{ opacity:.85; transform:scale(1); } 50%{ opacity:1; transform:scale(1.05); } }
@keyframes qm-steam{ 0%{ opacity:0; transform:translate(-50%,10px) scale(1); } 40%{ opacity:.55; } 100%{ opacity:0; transform:translate(-50%,-34px) scale(1.12); } }

.qm-scrollcue{ position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:3; width:26px; height:42px; border:1.5px solid rgba(255,255,255,.35); border-radius:16px; display:grid; place-items:start center; padding-top:8px; }
.qm-scrollcue span{ width:4px; height:8px; border-radius:2px; background:var(--qm-gold-2); animation:qm-cue 1.7s ease-in-out infinite; }
@keyframes qm-cue{ 0%{ opacity:0; transform:translateY(0); } 40%{ opacity:1; } 100%{ opacity:0; transform:translateY(12px); } }

/* ============ THE RANGE ============ */
.qm-range{ background:linear-gradient(180deg,#050609,#0b0d13); }
.qm-range__grid{ display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(28px,5vw,80px); }
.qm-range__pills{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.qm-pill{ display:inline-flex; align-items:center; gap:9px; padding:10px 18px; border-radius:999px; font-size:13.5px; font-weight:700; border:1px solid var(--qm-panel-line); background:var(--qm-panel); }
.qm-pill::before{ content:""; width:9px; height:9px; border-radius:50%; }
.qm-pill--hot::before{ background:var(--qm-hot); box-shadow:0 0 12px var(--qm-hot); }
.qm-pill--cold::before{ background:var(--qm-cold); box-shadow:0 0 12px var(--qm-cold); }
/* "The range" hot/cold toggle — pills are clickable buttons that swap the image. */
button.qm-pill{ font-family:inherit; font-size:inherit; line-height:inherit; color:#f4efe6; cursor:pointer; -webkit-appearance:none; appearance:none; text-align:left; }
.qm-range__pills .qm-pill{ transition:opacity .2s ease, border-color .2s ease, box-shadow .2s ease; opacity:.6; }
.qm-range__pills .qm-pill.is-active{ opacity:1; border-color:var(--qm-gold); box-shadow:0 0 0 1px var(--qm-gold) inset; }
.qm-range__pills .qm-pill:hover,.qm-range__pills .qm-pill:focus-visible{ opacity:.92; }
.qm-range__media img{ transition:opacity .18s ease; }
.qm-range__media{ position:relative; border-radius:26px; overflow:hidden; border:1px solid var(--qm-panel-line); background:radial-gradient(120% 100% at 70% 20%,rgba(255,122,60,.14),transparent 60%),#0d0f15; }
.qm-range__media img{ width:100%; }

/* ============ TECHNOLOGY ============ */
.qm-tech{ background:radial-gradient(90% 60% at 50% 0%,rgba(214,182,118,.06),transparent 60%),#08090d; }
.qm-tech__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.qm-feature{ padding:28px 26px; border-radius:20px; border:1px solid var(--qm-panel-line); background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); transition:border-color .3s ease, transform .3s ease; }
.qm-feature:hover{ border-color:rgba(214,182,118,.4); transform:translateY(-4px); }
.qm-feature h3{ margin:0 0 10px; font-family:var(--qm-serif); font-weight:600; font-size:21px; letter-spacing:-.01em; }
.qm-feature p{ margin:0; color:var(--qm-muted); font-size:15px; }
.qm-tech__kicker{ margin:44px auto 0; text-align:center; font-family:var(--qm-serif); font-style:italic; font-size:clamp(20px,2.4vw,30px); color:#e7e2d6; }
.qm-tech__kicker b{ color:var(--qm-gold-2); font-style:normal; }

/* ============ WHAT IT REPLACES ============ */
.qm-replaces{ background:#0b0d13; }
.qm-replaces__grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; list-style:none; padding:0; margin:0; }
.qm-replaces__grid li{ padding:20px 18px; min-height:112px; display:flex; align-items:flex-end; border-radius:16px; border:1px solid var(--qm-panel-line); background:var(--qm-panel); font-weight:600; font-size:14.5px; line-height:1.3; color:#dfe2e7; }
.qm-replaces__grid li:last-child{ color:var(--qm-gold); font-style:italic; }

/* ============ APP ============ */
.qm-app{ background:linear-gradient(180deg,#0b0d13,#08090d); }
.qm-app__grid{ display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:clamp(28px,5vw,80px); }
.qm-app__media{ border-radius:26px; overflow:hidden; border:1px solid var(--qm-panel-line); background:radial-gradient(120% 100% at 30% 20%,rgba(105,182,255,.12),transparent 60%),#0d0f15; }
.qm-app__badges{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.qm-store{ display:inline-flex; flex-direction:column; justify-content:center; padding:10px 22px; border-radius:14px; border:1px solid var(--qm-panel-line); background:#101218; min-width:160px; transition:border-color .25s ease, background .25s ease; }
.qm-store:hover{ border-color:rgba(255,255,255,.32); background:#151822; }
.qm-store span{ font-size:11px; letter-spacing:.06em; color:var(--qm-muted); }
.qm-store b{ font-size:18px; font-weight:800; letter-spacing:-.01em; }

/* ============ AUDIENCE ============ */
.qm-audience{ background:radial-gradient(80% 60% at 50% 40%,rgba(105,182,255,.06),transparent 62%),#06070a; text-align:center; }
.qm-audience__inner{ max-width:820px; margin-inline:auto; }
.qm-audience .qm-eyebrow--gold{ justify-content:center; }
.qm-audience .qm-h2{ margin-top:8px; }
.qm-audience .qm-p{ margin-inline:auto; text-align:center; }

/* ============ BUILD ============ */
.qm-build{ background:#0b0d13; }
.qm-build__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--qm-panel-line); border:1px solid var(--qm-panel-line); border-radius:22px; overflow:hidden; }
.qm-build__grid article{ padding:30px 28px; background:var(--qm-ink-2); }
.qm-build__grid h3{ margin:0 0 10px; font-size:17px; font-weight:800; letter-spacing:-.01em; color:#fff; }
.qm-build__grid p{ margin:0; color:var(--qm-muted); font-size:14.5px; }

/* ============ RECIPES ============ */
.qm-recipes{ background:linear-gradient(180deg,#0b0d13,#06070a); }
.qm-recipes__row{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.qm-chip{ padding:14px 24px; border-radius:999px; border:1px solid rgba(214,182,118,.28); background:linear-gradient(180deg,rgba(214,182,118,.08),transparent); font-family:var(--qm-serif); font-size:clamp(15px,1.6vw,19px); }

/* ============ FAQ ============ */
.qm-faq{ background:#08090d; }
.qm-faq__list{ max-width:820px; margin-inline:auto; }
.qm-faq__item{ border-bottom:1px solid var(--qm-panel-line); }
.qm-faq__item summary{ list-style:none; cursor:pointer; padding:24px 44px 24px 0; position:relative; font-family:var(--qm-serif); font-size:clamp(18px,2vw,23px); font-weight:500; color:#fff; }
.qm-faq__item summary::-webkit-details-marker{ display:none; }
.qm-faq__item summary::after{ content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%); font-size:26px; font-weight:300; color:var(--qm-gold); transition:transform .3s ease; font-family:var(--qm-sans); }
.qm-faq__item[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.qm-faq__item p{ margin:0 0 26px; color:var(--qm-muted); font-size:16px; max-width:64ch; }

/* ============ FINAL ============ */
.qm-final{ background:radial-gradient(100% 80% at 74% 40%,rgba(237,28,46,.14),transparent 55%),linear-gradient(160deg,#12141b,#050609); }
.qm-final__grid{ display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(28px,5vw,72px); }
.qm-price{ margin:24px 0 4px; font-size:clamp(30px,3.4vw,42px); font-weight:800; letter-spacing:-.02em; color:#fff; }
.qm-price .woocommerce-Price-amount{ color:#fff; }
.qm-price del{ opacity:.5; font-size:.6em; font-weight:600; margin-right:10px; }
.qm-price ins{ text-decoration:none; }
.qm-final__media{ position:relative; display:grid; place-items:center; }
.qm-final__halo{ position:absolute; width:88%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(237,28,46,.28),transparent 64%); filter:blur(20px); }
.qm-final__media img{ position:relative; z-index:2; width:min(100%,420px); filter:drop-shadow(0 40px 60px rgba(0,0,0,.6)); }

/* ============ STICKY CTA ============ */
.qm-sticky{
  position:fixed; left:0; right:0; bottom:0; z-index:120;
  display:flex; align-items:center; justify-content:center; gap:20px;
  padding:14px 22px calc(14px + env(safe-area-inset-bottom));
  background:rgba(8,9,13,.86); backdrop-filter:blur(16px); border-top:1px solid var(--qm-panel-line);
  transform:translateY(120%); transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.qm-sticky.is-visible{ transform:none; }
.qm-sticky__info{ display:flex; flex-direction:column; }
.qm-sticky__info strong{ font-size:15px; }
.qm-sticky__info span{ font-size:14px; color:var(--qm-gold-2); font-weight:700; }
.qm-sticky__info .woocommerce-Price-amount{ color:var(--qm-gold-2); }

/* ============ NEW PREMIUM COMPONENTS ============ */

/* film-grain texture for depth (very subtle, non-interactive) */
.qm-landing::after{
  content:""; position:absolute; inset:0; z-index:40; pointer-events:none; opacity:.03; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;
}

/* 13 jobs — icon cards with draw-in + hover */
.qm-replaces__grid li.qm-job{ flex-direction:column; align-items:center; text-align:center; justify-content:flex-start; gap:14px; min-height:0; padding:26px 18px; }
.qm-job__txt{ align-items:center; }
.qm-job__ico{ width:46px; height:46px; display:grid; place-items:center; border-radius:13px; color:var(--qm-gold-2);
  background:rgba(214,182,118,.10); border:1px solid rgba(214,182,118,.24);
  transition:transform .45s cubic-bezier(.16,1,.3,1), background .3s ease; }
.qm-job__ico svg{ width:25px; height:25px; }
.qm-job__txt{ display:flex; flex-direction:column; gap:2px; }
.qm-job__txt b{ font-size:15.5px; color:#fff; font-weight:700; }
.qm-job__txt span{ font-size:12.5px; color:var(--qm-muted); }
.qm-job:hover .qm-job__ico{ background:rgba(214,182,118,.2); transform:translateY(-3px) rotate(-5deg); }
.qm-job__ico svg [stroke-linecap]{}
.qm-job__ico svg path,.qm-job__ico svg rect{ stroke-dasharray:90; stroke-dashoffset:90; }
.qm-reveal.is-visible .qm-job__ico svg path,.qm-reveal.is-visible .qm-job__ico svg rect{
  animation:qm-draw 1.1s cubic-bezier(.16,1,.3,1) forwards; animation-delay:calc(var(--i,0)*.055s + .2s); }
@keyframes qm-draw{ to{ stroke-dashoffset:0; } }

/* appliance marquee */
.qm-marquee{ margin-top:46px; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.qm-marquee__track{ display:flex; width:max-content; animation:qm-marq 42s linear infinite; }
.qm-marquee__track span{ display:inline-flex; align-items:center; font-family:var(--qm-serif); font-style:italic; font-size:clamp(18px,2.4vw,30px); color:rgba(255,255,255,.4); padding-inline:22px; white-space:nowrap; }
.qm-marquee__track span::after{ content:"◆"; margin-inline-start:22px; font-size:.5em; color:var(--qm-gold); font-style:normal; }
.qm-marquee:hover .qm-marquee__track{ animation-play-state:paused; }
@keyframes qm-marq{ to{ transform:translateX(-50%); } }

/* store badges */
.qm-store{ display:inline-flex; align-items:center; gap:12px; padding:11px 20px; border-radius:14px; color:#fff;
  border:1px solid var(--qm-panel-line); background:#0e1016; min-width:184px;
  transition:border-color .25s ease, background .25s ease, transform .25s ease; }
.qm-store:hover{ border-color:rgba(255,255,255,.34); background:#141721; transform:translateY(-2px); }
.qm-store__logo{ width:26px; height:28px; flex:none; }
.qm-store__txt{ display:flex; flex-direction:column; line-height:1.12; }
.qm-store__txt small{ font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:var(--qm-muted); }
.qm-store__txt b{ font-size:18px; font-weight:800; letter-spacing:-.01em; }

/* support */
.qm-support{ background:radial-gradient(80% 60% at 50% 24%,rgba(214,182,118,.06),transparent 62%),#0b0d13; }
.qm-support__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.qm-support__card{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:5px; padding:34px 28px; border-radius:20px; color:inherit;
  border:1px solid var(--qm-panel-line); background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  transition:border-color .3s ease, transform .3s ease; }
.qm-support__card:hover{ border-color:rgba(214,182,118,.42); transform:translateY(-4px); }
.qm-support__ico{ width:52px; height:52px; display:grid; place-items:center; border-radius:14px; margin-bottom:14px;
  background:rgba(237,28,46,.12); color:var(--qm-red-2); }
.qm-support__ico svg{ width:26px; height:26px; }
.qm-support__label{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--qm-muted); }
.qm-support__value{ font-family:var(--qm-serif); font-size:clamp(18px,1.9vw,25px); font-weight:600; color:#fff; letter-spacing:-.01em; word-break:break-word; }
.qm-support__meta{ font-size:13.5px; color:var(--qm-muted); }

/* range caption + hot dot */
.qm-range__cap{ position:absolute; left:16px; bottom:16px; display:inline-flex; align-items:center; gap:9px; padding:9px 15px; border-radius:999px;
  background:rgba(8,9,13,.66); backdrop-filter:blur(10px); border:1px solid var(--qm-panel-line); font-size:12.5px; font-weight:600; color:#fff; }
.qm-range__dot{ width:9px; height:9px; border-radius:50%; }
.qm-range__dot--hot{ background:var(--qm-hot); box-shadow:0 0 12px var(--qm-hot); animation:qm-pulse 2s ease-in-out infinite; }
@keyframes qm-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }

/* ============ SCROLLYTELLING (shared) ============ */
.qm-scrolly{ position:relative; }
.qm-scrolly__sticky{ position:sticky; top:0; height:100svh; overflow:hidden; }

/* ---- product reveal ---- */
.qm-showcase{ height:240vh; background:radial-gradient(80% 60% at 28% 42%,rgba(214,182,118,.07),transparent 60%),#08090d; }
.qm-showcase .qm-scrolly__sticky{ display:flex; align-items:center; }
.qm-showcase__inner{ display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(24px,5vw,72px); }
.qm-showcase__stage{ position:relative; display:grid; place-items:center; margin:0; }
.qm-showcase__halo{ position:absolute; width:82%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(237,28,46,.26),rgba(214,182,118,.10) 44%,transparent 66%); filter:blur(16px); animation:qm-halo 7s ease-in-out infinite; }
.qm-showcase__product{ position:relative; z-index:2; width:min(100%,400px); filter:drop-shadow(0 40px 64px rgba(0,0,0,.6)); animation:qm-float 6.5s ease-in-out infinite; }
.qm-showcase__panel{ position:relative; }
.qm-showcase__feats{ position:relative; min-height:210px; margin-top:6px; }
.qm-showcase__feat{ position:absolute; inset:0; opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease; pointer-events:none; }
.qm-showcase__feat.is-active{ opacity:1; transform:none; position:relative; pointer-events:auto; }
.qm-showcase__feat > span{ display:inline-block; font-family:var(--qm-serif); font-size:15px; color:var(--qm-gold); letter-spacing:.12em; margin-bottom:14px; }
.qm-showcase__feat h3{ margin:0 0 12px; font-family:var(--qm-serif); font-weight:600; font-size:clamp(24px,3vw,38px); letter-spacing:-.01em; }
.qm-showcase__feat p{ margin:0; color:var(--qm-muted); font-size:clamp(16px,1.4vw,19px); max-width:44ch; }
.qm-showcase__dots{ display:flex; gap:10px; margin-top:34px; }
.qm-showcase__dots span{ width:34px; height:3px; border-radius:2px; background:rgba(255,255,255,.16); transition:background .4s ease; }
.qm-showcase__dots span.is-active{ background:var(--qm-gold); }

/* ---- hot-soup cook sequence ---- */
.qm-cook{ height:520vh; background:#000; }
.qm-cook__frames{ position:absolute; inset:0; }
.qm-cook__frame{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity 1s ease, transform 1.8s ease; }
.qm-cook__frame.is-active{ opacity:1; transform:scale(1); }
.qm-cook__scrim{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,transparent 24%,transparent 46%,rgba(0,0,0,.85) 100%); }
.qm-cook__overlay{ position:absolute; inset:0; display:flex; align-items:flex-end; padding-bottom:clamp(46px,8vh,96px); }
.qm-cook__caps{ position:relative; min-height:2.4em; }
.qm-cook__cap{ position:absolute; left:0; bottom:0; margin:0; opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; font-family:var(--qm-serif); font-weight:500; font-size:clamp(26px,4.4vw,54px); line-height:1.04; letter-spacing:-.015em; text-wrap:balance; max-width:15ch; text-shadow:0 2px 34px rgba(0,0,0,.7); }
.qm-cook__cap.is-active{ opacity:1; transform:none; }
.qm-cook__steps{ display:flex; gap:8px; margin-top:clamp(22px,4vh,42px); }
.qm-cook__step{ width:26px; height:3px; border-radius:2px; background:rgba(255,255,255,.22); transition:background .4s ease; }
.qm-cook__step.is-active{ background:var(--qm-gold-2); }

/* ---- video scrub (comparison option C) ---- */
.qm-cinema{ height:360vh; background:#000; }
.qm-cinema__sticky{ position:sticky; top:0; height:100svh; overflow:hidden; }
.qm-cinema__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#000; }
.qm-cinema__scrim{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,transparent 26%,transparent 52%,rgba(0,0,0,.85) 100%); }
.qm-cinema__overlay{ position:absolute; inset:0; display:flex; align-items:flex-end; padding-bottom:clamp(46px,8vh,96px); }
.qm-cinema__overlay .qm-h2{ max-width:16ch; text-shadow:0 2px 34px rgba(0,0,0,.7); }

/* ============ VARIANT: cinematic (GSAP + WebGL heat-haze) ============ */
.qm-hero-shader{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.qm-variant-cinematic .qm-hero{ background:#050609; }
.qm-variant-cinematic .qm-hero .qm-reveal{ opacity:1; transform:none; } /* GSAP drives the hero intro */
.qm-cursor{ position:fixed; left:0; top:0; width:34px; height:34px; margin:-17px 0 0 -17px; border:1.5px solid rgba(214,182,118,.7); border-radius:50%; pointer-events:none; z-index:9999; mix-blend-mode:difference; transition:width .25s ease, height .25s ease, margin .25s ease, background .25s ease; }
.qm-cursor.is-lg{ width:56px; height:56px; margin:-28px 0 0 -28px; background:rgba(214,182,118,.14); }

/* ============ VARIANT: 3d (Three.js) ============ */
.qm-hero-3d{ position:absolute; inset:0; width:100%; height:100%; display:block; z-index:3; }
.qm-variant-3d .qm-hero__stage{ position:relative; min-height:min(62vh,580px); }
.qm-variant-3d .qm-hero__steam{ display:none; }
.qm-3d-ready .qm-hero__product{ opacity:0; transition:opacity .6s ease; }

/* ============ PROTOTYPES ============ */
/* liquid vortex hero */
.qm-hero-liquid{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.qm-variant-liquid .qm-hero{ background:#050609; }
.qm-variant-liquid .qm-hero__glow{ opacity:.28; }

/* hot / cold split */
.qm-hc-overlay{ position:absolute; inset:0; z-index:1; pointer-events:none; opacity:0; clip-path:inset(0 0 0 100%);
  background:radial-gradient(120% 90% at 78% 42%,rgba(105,182,255,.55),transparent 55%),linear-gradient(120deg,#081426,#0a2038 60%,#0a1220); }
.qm-hc-overlay::after{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.6) 1px,transparent 1.6px); background-size:26px 26px; opacity:.13; }
.qm-hc-tags{ position:absolute; left:0; right:0; bottom:24px; z-index:3; display:flex; justify-content:center; gap:12px; }
.qm-hc-tags span{ font-size:12.5px; font-weight:700; padding:8px 16px; border-radius:999px; border:1px solid var(--qm-panel-line); background:rgba(8,9,13,.62); backdrop-filter:blur(8px); }
.qm-hc-hot{ color:#ff8a4c; } .qm-hc-cold{ color:#7cc0ff; }

/* hotspots */
.qm-hs-stage{ position:relative; max-width:520px; margin:0 auto; }
.qm-hs-img{ width:100%; height:auto; filter:drop-shadow(0 40px 60px rgba(0,0,0,.5)); }
.qm-variant-hotspots .qm-hs-dot{ position:absolute !important; transform:translate(-50%,-50%); width:34px !important; height:34px !important; min-width:0 !important; min-height:0 !important; padding:0 !important; margin:0 !important; border-radius:50% !important; border:2px solid var(--qm-gold-2) !important; background:rgba(214,182,118,.22) !important; box-shadow:none !important; color:#fff !important; font-weight:800; font-size:13px; line-height:1; cursor:pointer; display:grid !important; place-items:center; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); transition:transform .25s ease, background .25s ease, color .25s ease; }
.qm-variant-hotspots .qm-hs-dot span{ position:relative; z-index:1; }
.qm-variant-hotspots .qm-hs-dot::before{ content:""; position:absolute; inset:-8px; border-radius:50%; border:1px solid rgba(214,182,118,.5); animation:qm-ping 2.4s ease-out infinite; }
.qm-variant-hotspots .qm-hs-dot:hover,.qm-variant-hotspots .qm-hs-dot.is-active{ transform:translate(-50%,-50%) scale(1.18); background:var(--qm-gold) !important; color:#141414 !important; }
@keyframes qm-ping{ 0%{ transform:scale(.55); opacity:.9; } 100%{ transform:scale(1.7); opacity:0; } }
.qm-hs-card{ position:absolute; transform:translate(-50%,0); width:232px; padding:16px 18px; border-radius:14px; background:rgba(12,15,22,.94); border:1px solid var(--qm-panel-line); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); opacity:0; pointer-events:none; transition:opacity .3s ease; z-index:6; }
.qm-hs-card.is-visible{ opacity:1; } .qm-hs-card.to-left{ transform:translate(-100%,0); }
.qm-hs-card h3{ margin:0 0 6px; font-size:16px; color:#fff; } .qm-hs-card p{ margin:0; font-size:13.5px; color:var(--qm-muted); }

/* ingredients drop */
.qm-ingredients{ height:420vh; background:radial-gradient(80% 60% at 50% 32%,rgba(255,122,60,.09),transparent 60%),#08090d; }
.qm-ing__sticky{ display:grid; place-items:center; }
.qm-ing__cap{ position:absolute; top:8vh; left:0; right:0; text-align:center; padding-inline:20px; }
.qm-ing__cap .qm-h2{ min-height:1.2em; }
.qm-ing__stage{ position:relative; width:min(360px,74vw); aspect-ratio:1/1.2; }
.qm-ing__jar{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; z-index:2; }
.qm-ing__fill{ position:absolute; left:50%; bottom:15%; transform:translateX(-50%); width:50%; height:0; z-index:1; border-radius:8px 8px 16px 16px; background:linear-gradient(180deg,#ffa348,#e5531f); box-shadow:0 0 46px rgba(229,83,31,.55); opacity:0; }
.qm-ing__item{ position:absolute; left:50%; top:0; width:100px; height:auto; z-index:3; opacity:0; will-change:transform; -webkit-mask-image:radial-gradient(circle at 50% 48%,#000 52%,transparent 78%); mask-image:radial-gradient(circle at 50% 48%,#000 52%,transparent 78%); }
.qm-ing__steam{ position:absolute; left:50%; top:-6%; transform:translateX(-50%); width:58%; z-index:4; opacity:0; mix-blend-mode:screen; pointer-events:none; }

/* exploded */
.qm-exploded{ height:340vh; background:#0b0d13; }
.qm-exp__sticky{ display:grid; place-items:center; }
.qm-exp__scene{ position:relative; width:min(330px,66vw); aspect-ratio:1/1.15; will-change:transform; }
.qm-exp__layer{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.qm-exp__base{ z-index:1; filter:drop-shadow(0 40px 60px rgba(0,0,0,.55)); }
.qm-exp__tamper{ z-index:3; width:42%; left:58%; top:6%; opacity:0; }
.qm-exp__label{ position:absolute; z-index:4; opacity:0; padding:8px 12px; border-radius:10px; background:rgba(12,15,22,.82); border:1px solid var(--qm-panel-line); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); font-size:12px; white-space:nowrap; }
.qm-exp__label b{ display:block; color:#fff; font-size:13px; } .qm-exp__label span{ color:var(--qm-muted); }
.qm-exp__l1{ left:88%; top:6%; } .qm-exp__l2{ left:88%; top:46%; } .qm-exp__l3{ left:88%; top:82%; }
.qm-exp__cap{ position:absolute; bottom:7vh; left:0; right:0; text-align:center; }

/* recipe gallery (horizontal) */
.qm-rgal{ height:320vh; background:#08090d; }
.qm-rgal__sticky{ display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.qm-rgal__head{ text-align:center; margin-bottom:32px; padding-inline:20px; }
.qm-rgal__track{ display:flex; gap:22px; padding-inline:8vw; width:max-content; will-change:transform; }
.qm-rgal__card{ position:relative; width:min(360px,74vw); aspect-ratio:3/4; border-radius:20px; overflow:hidden; border:1px solid var(--qm-panel-line); flex:none; }
.qm-rgal__card img{ width:100%; height:100%; object-fit:cover; }
.qm-rgal__meta{ position:absolute; inset:auto 0 0 0; padding:22px; background:linear-gradient(0deg,rgba(0,0,0,.86),transparent); }
.qm-rgal__meta span{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--qm-gold-2); }
.qm-rgal__meta h3{ margin:4px 0 0; font-family:var(--qm-serif); font-size:22px; color:#fff; }

/* Real-recipe gallery — static grid reusing the card styling (no JS/scroll). */
.qm-recipes-static{ background:#08090d; }
.qm-recipes-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.6vw,24px); }
.qm-recipes-grid .qm-rgal__card{ width:auto; }
@media (max-width:900px){ .qm-recipes-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .qm-recipes-grid{ grid-template-columns:1fr; } }

/* Recipe cards link to a YouTube video — play affordance. */
.qm-rgal__card--video{ cursor:pointer; display:block; text-decoration:none; }
.qm-rgal__card--video img{ transition:transform .5s cubic-bezier(.16,1,.3,1); }
.qm-rgal__play{ position:absolute; z-index:2; top:44%; left:50%; transform:translate(-50%,-50%);
  width:54px; height:54px; border-radius:50%; display:grid; place-items:center;
  background:rgba(0,0,0,.42); border:1.5px solid rgba(255,255,255,.75); color:#fff; opacity:.92;
  transition:transform .28s ease, background .28s ease, color .28s ease; }
.qm-rgal__play svg{ width:22px; height:22px; margin-left:3px; }
.qm-rgal__card--video:hover .qm-rgal__play,.qm-rgal__card--video:focus-visible .qm-rgal__play{
  transform:translate(-50%,-50%) scale(1.12); background:var(--qm-gold); color:#1a140a; border-color:var(--qm-gold); }
.qm-rgal__card--video:hover img{ transform:scale(1.06); }

/* App-section phone mockup (replaces the vegetable image). */
.qm-phone{ position:relative; width:min(300px,80%); margin:0 auto; aspect-ratio:9/18.6;
  background:#0b0d12; border-radius:40px; border:1px solid rgba(255,255,255,.14);
  box-shadow:0 34px 80px rgba(0,0,0,.5), inset 0 0 0 6px #05060a; padding:16px 12px 20px; }
.qm-phone__notch{ position:absolute; top:14px; left:50%; transform:translateX(-50%); width:34%; height:20px; background:#05060a; border-radius:0 0 14px 14px; z-index:2; }
.qm-phone__screen{ height:100%; border-radius:28px; overflow:hidden; display:flex; flex-direction:column; gap:6px; padding:30px 4px 4px; }
.qm-phone__bar{ display:flex; align-items:baseline; justify-content:space-between; padding:0 6px 8px; }
.qm-phone__bar b{ font-family:var(--qm-serif); font-size:21px; color:#fff; font-weight:600; }
.qm-phone__bar em{ font-style:normal; font-size:11px; color:var(--qm-gold); font-weight:700; letter-spacing:.02em; }
.qm-phone__search{ display:flex; align-items:center; gap:8px; margin:0 4px 4px; padding:9px 12px; border-radius:12px; background:rgba(255,255,255,.06); color:#8b8496; font-size:12px; }
.qm-phone__search svg{ width:14px; height:14px; flex:none; }
.qm-phone__row{ display:flex; align-items:center; gap:11px; padding:9px 8px; border-top:1px solid rgba(255,255,255,.06); }
.qm-phone__row:first-of-type{ border-top:0; }
.qm-phone__thumb{ width:38px; height:38px; border-radius:10px; flex:none; }
.qm-phone__thumb--a{ background:linear-gradient(135deg,#3f7a34,#8ab86a); }
.qm-phone__thumb--b{ background:linear-gradient(135deg,#54448c,#a08fd0); }
.qm-phone__thumb--c{ background:linear-gradient(135deg,#a3421f,#e07a3c); }
.qm-phone__thumb--d{ background:linear-gradient(135deg,#a9691d,#e0b256); }
.qm-phone__thumb--e{ background:linear-gradient(135deg,#8a2b2b,#c85a4a); }
.qm-phone__thumb--f{ background:linear-gradient(135deg,#6a4a2a,#b08850); }
.qm-phone__txt{ display:flex; flex-direction:column; gap:2px; flex:1; min-width:0; }
.qm-phone__txt b{ font-size:13px; color:#fff; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.qm-phone__txt em{ font-style:normal; font-size:11px; color:#8b8496; }
.qm-phone__go{ color:#5a5566; font-size:20px; line-height:1; }

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .qm-tech__grid,.qm-build__grid{ grid-template-columns:repeat(2,1fr); }
  .qm-replaces__grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:860px){
  .qm-hero__inner,.qm-range__grid,.qm-app__grid,.qm-final__grid{ grid-template-columns:minmax(0,1fr); }
  .qm-hero__copy,.qm-hero__lead,.qm-p,.qm-spec-strip{ max-width:100%; min-width:0; }
  .qm-hero{ min-height:0; text-align:left; }
  .qm-hero__stage{ order:-1; min-height:0; margin-bottom:8px; }
  .qm-hero__product{ width:min(74%,320px); }
  .qm-app__media{ order:2; }
  .qm-range__media,.qm-final__media{ max-width:460px; margin-inline:auto; }
  .qm-scrollcue{ display:none; }
  /* product reveal: unpin + stack + show all features */
  .qm-showcase{ height:auto; }
  .qm-showcase .qm-scrolly__sticky{ position:static; height:auto; display:block; padding-block:clamp(56px,10vw,80px); }
  .qm-showcase__inner{ grid-template-columns:minmax(0,1fr); text-align:center; gap:28px; }
  .qm-showcase__feat p,.qm-cook__cap{ max-width:100%; }
  .qm-showcase__stage{ order:-1; }
  .qm-showcase__product{ width:min(60%,240px); }
  .qm-showcase__feats{ position:static; min-height:0; display:grid; gap:26px; }
  .qm-showcase__feat{ position:relative; opacity:1; transform:none; }
  .qm-showcase__feat p{ margin-inline:auto; }
  .qm-showcase__dots{ display:none; }
  /* cook sequence: keep sticky crossfade, trim scroll length */
  .qm-cook{ height:460vh; }
  .qm-cinema{ height:320vh; }
  .qm-support__grid{ grid-template-columns:1fr; }
  .qm-replaces__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px){
  .qm-shell{ width:calc(100% - 34px); }
  .qm-tech__grid,.qm-build__grid,.qm-replaces__grid{ grid-template-columns:1fr; }
  .qm-build__grid{ border-radius:16px; }
  .qm-spec-strip{ gap:14px 22px; }
  .qm-spec-strip b{ font-size:17px; }
  .qm-actions .qm-btn{ width:100%; }
  .qm-sticky{ gap:12px; }
  .qm-store{ min-width:0; flex:1; }
}

/* mobile overflow hard-guard (wins over any base/theme width) */
@media (max-width:860px){
  body.qm-immersive .qm-hero__inner{ grid-template-columns:minmax(0,1fr) !important; }
  body.qm-immersive .qm-hero__copy,
  body.qm-immersive .qm-hero__lead,
  body.qm-immersive .qm-hero__title,
  body.qm-immersive .qm-eyebrow,
  body.qm-immersive .qm-spec-strip{ max-width:100% !important; min-width:0 !important; }
  body.qm-immersive .qm-hero__lead{ overflow-wrap:break-word; }
}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion:reduce){
  .qm-reveal{ opacity:1; transform:none; transition:none; }
  .qm-hero__product,.qm-hero__halo,.qm-hero__steam,.qm-scrollcue span,
  .qm-showcase__product,.qm-showcase__halo{ animation:none; }
  .qm-hero__steam{ opacity:.4; }
  .qm-btn,.qm-feature{ transition:none; }
  .qm-cook__frame{ transform:none; transition:opacity .35s ease; }
  .qm-cook__frame.is-active{ transform:none; }
}

/* ============ MOBILE FIX — floating Add-to-cart vs WoodMart bottom toolbar ============
   UPDATE (FAB): on mobile the Add-to-cart is a COMPACT FLOATING pill anchored bottom-right,
   NOT a full-width bar. The old full-width bar (bottom:55px, edge-to-edge) painted over the
   scroll-animation captions (qm-cook / qm-scrolly "Watch it work" sticky text sits near the
   bottom of the viewport). A corner pill only occupies the bottom-right, so those captions are
   visible again. The <a class="qm-btn"> IS the real WooCommerce add-to-cart control — only its
   presentation changes. Desktop (>=1025px, .wd-toolbar hidden) keeps the full-width bar.

   WoodMart shows a fixed mobile bottom toolbar (.wd-toolbar — Shop / Cart / My account)
   at <=1024px: position:fixed; bottom:0; height:55px; z-index:350. Two problems on the
   QuickMix immersive page:
     (1) The toolbar (z-index 350) painted OVER the bottom of the sticky Add-to-cart bar,
         hiding the button  ->  lift the bar by the 55px toolbar height. This mirrors
         WoodMart's own convention (see .wd-sticky-btn{bottom:55px}).
     (2) The whole immersive <main class="qm-landing"> sits in a stacking context that
         paints BELOW the site footer, so footer widgets overlapped the fixed bar and
         swallowed taps on "Add to cart" (raising the bar's own z-index does nothing —
         it is trapped inside the landing's context). Giving the landing a positive
         z-index lifts its stacking context (and the fixed bar inside it) above the
         footer, while staying BELOW the header (390), toolbar (350) and scroll-to-top
         (380) so all of those remain visible and tappable.
   Scope: this stylesheet loads only on QuickMix immersive pages, and every rule is pinned
   to body.qm-immersive. Desktop (>=1025px, where .wd-toolbar is display:none) is untouched.
   Rollback: delete this block and revert QM_IMMERSIVE_VERSION in the plugin PHP. */
@media (max-width:1024px){
  /* (2) lift the landing's stacking context above the footer so the bar is tappable */
  body.qm-immersive main.qm-landing{ position:relative; z-index:1; }

  /* (1) COMPACT FLOATING add-to-cart FAB (replaces the full-width bottom bar on mobile).
     Release the fixed container from edge-to-edge, strip the bar chrome (bg/blur/border/pad),
     and anchor it bottom-right ABOVE the 55px WoodMart toolbar so it reads as a floating pill. */
  body.qm-immersive .qm-sticky{
    left:auto; right:16px;                                  /* was left:0;right:0 — release full width */
    bottom:calc(60px + env(safe-area-inset-bottom));        /* float 5px above the 55px toolbar; keeps pill top at/below the qm-cook caption's baseline so long captions aren't clipped */
    width:auto; gap:0; padding:0;                           /* hug content; drop the bar's padding */
    background:transparent; backdrop-filter:none; border-top:0;  /* remove full-width bar chrome */
    justify-content:flex-end;
  }
  /* hide the product-name / price meta — the price is already shown in the hero */
  body.qm-immersive .qm-sticky__info{ display:none; }
  /* give the real add-to-cart control a floating elevation (dark drop + existing brand glow) */
  body.qm-immersive .qm-sticky .qm-btn{
    box-shadow:0 12px 30px -6px rgba(0,0,0,.55), 0 16px 40px -12px rgba(237,28,46,.6);
    white-space:nowrap;
  }
  /* keep the pill fully tucked below the toolbar until the hero scrolls past.
     :not(.is-visible) so the JS-toggled .is-visible{transform:none} still reveals it. */
  body.qm-immersive .qm-sticky:not(.is-visible){ transform:translateY(240%); }

  /* (dead rule kept for reversibility; .sticky-toolbar-on is never toggled by the JS) */
  body.qm-immersive.sticky-toolbar-on{ padding-bottom:130px; }
}
