/* ═══════════════════════════════════════════════════════════
   EYE OF HORUS BONUS FEATURES — page-specific layer
   "Temple journey" concept: a chamber-by-chamber scroll sequence.
   Reuses chrome/layer.css directly wherever the pattern already fits:
   .tt-*/.viz/.grid-shell/.reels/.reel/.cell/.tile/.wild-band/.pl-layer
   .stage-btns/.sbtn/.wsteps/.wstep  .ladder/.rung(-t/-s/-nm/-p)/.lad-state
   .counter/.counter-k/.counter-v/.add-row/.add/.eq  .tline/.tl-row
   .flow/.fbox/.farrow  .stack3/.s3  .vpanel/.vrow/.vcards  .chase/.chase-b
   .guides/.gtile  .nbox  .rp  .tablets/.tab-row/.tablet  .ornband (base.css)
   Everything genuinely new is namespaced "bf-" below.
   ═══════════════════════════════════════════════════════════ */

.bf-h2{font-family:var(--dsp);font-weight:900;color:var(--ink);
  font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.18;margin:.3rem 0 1rem}
.bf-kicker{font-family:var(--orn);font-weight:700;font-size:.7rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--turq-dk)}

/* ── chamber shell: alternating tint + arch cap, the "temple" motif ── */
.bf-chamber{position:relative;padding:clamp(30px,4.6vw,58px) 0}
.bf-chamber.gold{background:linear-gradient(180deg,rgba(247,230,181,.55),rgba(247,230,181,0))}
.bf-chamber.turq{background:linear-gradient(180deg,rgba(23,162,168,.1),rgba(23,162,168,0))}
.bf-arch{width:min(420px,86%);height:30px;margin:0 auto;
  background:linear-gradient(180deg,#E7D6AA,#C9B27C);
  border:2px solid var(--gold-dk);border-bottom:none;border-radius:999px 999px 0 0}
.bf-div{height:9px;margin:0 0 0;background:
  repeating-linear-gradient(90deg,#C9372A 0 9px,#E9B429 9px 18px,#2C93C2 18px 27px,#2E9E44 27px 36px);
  border-top:1px solid #8E6412;border-bottom:1px solid #8E6412}

/* ── hero: five stage labels ── */
.bf-route{display:flex;align-items:center;gap:clamp(4px,1vw,10px);flex-wrap:wrap;margin-top:1.5rem}
.bf-route a{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:999px;
  background:#FFFDF6;border:1.5px solid var(--line);font-weight:800;font-size:.72rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);transition:border-color .2s,background .2s}
.bf-route a:hover{border-color:var(--turq-dk);background:var(--turq-lt)}
.bf-route svg{width:11px;height:11px;fill:var(--gold-dk);flex:0 0 auto}

/* ── sandstone reel frame ── */
.bf-frame{position:relative}
.bf-frame .bf-arch{position:relative;z-index:1}
.bf-frame .grid-shell{border-radius:4px 4px 12px 12px}

/* ── door gate (Chamber One reveal) ── */
.bf-gate{position:relative;margin-top:1rem;height:92px;border-radius:8px;overflow:hidden;
  border:2px solid var(--gold-dk);background:#1B2E1C;
  box-shadow:inset 0 0 0 2px rgba(255,240,190,.25)}
.bf-gate-panel{position:absolute;top:0;bottom:0;width:51%;
  background:linear-gradient(90deg,#2A63CE,#1B3E78 55%,#122C5C);
  border:2px solid var(--gold);transition:transform .55s cubic-bezier(.4,0,.2,1)}
.bf-gate-panel.l{left:0;border-right:none;border-radius:6px 0 0 6px}
.bf-gate-panel.r{right:0;border-left:none;border-radius:0 6px 6px 0}
.bf-gate.open .bf-gate-panel.l{transform:translateX(-100%)}
.bf-gate.open .bf-gate-panel.r{transform:translateX(100%)}
.bf-gate-unlock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--orn);font-weight:900;font-size:clamp(.95rem,2vw,1.3rem);letter-spacing:.12em;
  text-transform:uppercase;color:#FFE89A;text-shadow:0 2px 8px rgba(0,0,0,.6);opacity:0;
  transition:opacity .3s ease .35s}
.bf-gate.open .bf-gate-unlock{opacity:1}
.bf-gate-panel b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--orn);font-weight:900;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:#C8D8F0}
.bf-next-row{display:flex;align-items:center;gap:.8rem;margin-top:1rem;flex-wrap:wrap}
.bf-scat-note{font-weight:700;font-size:.9rem;color:var(--ink-2)}

/* ── reveal-line sequences (Chamber Two + Final Horus) ── */
.bf-reveal-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}
.bf-lines{display:grid;gap:7px;margin-top:1rem}
.bf-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center;
  padding:.55rem .8rem;border-radius:10px;border:1.5px solid var(--line);background:#FBF1D6;
  opacity:0;transform:translateY(6px);max-height:0;overflow:hidden;
  transition:opacity .35s,transform .35s,max-height .35s,padding .35s;padding-top:0;padding-bottom:0;
  border-width:0}
.bf-line.shown{opacity:1;transform:translateY(0);max-height:60px;padding:.55rem .8rem;border-width:1.5px}
.bf-line-k{font-family:var(--orn);font-weight:900;font-size:.78rem;color:var(--turq-dk);width:58px}
.bf-line-d{font-weight:700;font-size:.88rem;color:var(--ink-2)}
.bf-line-x{font-family:var(--dsp);font-weight:900;font-size:.95rem;color:var(--turq-dk);white-space:nowrap}
.bf-total{margin-top:1rem;padding:.9rem 1rem;border-radius:12px;text-align:center;
  background:linear-gradient(178deg,#FFF6DC,#F7E2AE);border:2px solid var(--gold-dk)}
.bf-total b{display:block;font-family:var(--orn);font-weight:900;font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;color:#6B4E06}
.bf-total i{display:block;font-family:var(--dsp);font-weight:900;font-size:1.7rem;color:#8A5C05;
  font-style:normal;margin-top:.2rem;line-height:1}
.bf-total[hidden]{display:none}

/* ── hidden door transition ── */
.bf-hdoor{position:relative;margin-top:.5rem;border-radius:12px;overflow:hidden;
  border:2px solid var(--gold-dk);background:linear-gradient(178deg,#FFFDF5,#FBF1D6);
  min-height:120px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.bf-hdoor-panel{position:absolute;top:0;bottom:0;width:50%;display:flex;align-items:center;
  justify-content:center;background:linear-gradient(176deg,#2A63CE,#1B3E78 55%,#122C5C);
  transition:transform .6s cubic-bezier(.4,0,.2,1);z-index:2}
.bf-hdoor-panel.l{left:0}.bf-hdoor-panel.r{right:0}
.bf-hdoor-panel span{font-family:var(--orn);font-weight:900;font-size:clamp(.82rem,1.8vw,1.05rem);
  letter-spacing:.08em;text-transform:uppercase;color:#FFE89A;text-align:center;padding:0 1rem}
.bf-hdoor.open .bf-hdoor-panel.l{transform:translateX(-100%)}
.bf-hdoor.open .bf-hdoor-panel.r{transform:translateX(100%)}
.bf-hdoor-behind{position:relative;z-index:1;text-align:center;padding:1rem 1.3rem;font-weight:700;
  font-size:.95rem;color:var(--ink-2)}
.bf-hdoor-behind b{display:block;font-family:var(--dsp);font-weight:900;color:var(--ink);
  font-size:1.2rem;margin-bottom:.25rem}

/* ── ladder extensions: physically-rising tier ── */
@keyframes bfRise{
  0%{transform:translateY(0) scale(1);opacity:1}
  45%{transform:translateY(-22px) scale(1.04);opacity:.9;box-shadow:0 10px 18px rgba(184,122,12,.35)}
  100%{transform:translateX(-8px) scale(.985);opacity:.26}
}
.rung.bf-rising{animation:bfRise .62s ease-out forwards}
.rung.apex{border-color:var(--turq-dk);background:linear-gradient(90deg,#E8F8F8,#CFF0F1)}
.rung.apex .rung-p{color:var(--turq-dk)}
.bf-up-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:1rem}
.bf-up-label{font-family:var(--orn);font-weight:700;font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;color:#8A6B34}
.bf-up-count{display:flex;gap:6px}
.bf-up-count b{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--orn);font-weight:900;font-size:.82rem;background:#FBF1D6;border:1.5px solid var(--stone-dk);
  color:var(--ink);transition:background .25s,color .25s,border-color .25s}
.bf-up-count b.on{background:var(--turq-dk);color:#FFF6D8;border-color:#08474B}
.bf-mix{display:flex;gap:5px;margin-top:1rem;flex-wrap:wrap}
.bf-mix i{width:26px;height:26px;border-radius:6px;flex:0 0 auto;display:block;
  transition:background .4s ease}

/* ── early / late free-spin tracks ── */
.bf-track-wrap{margin-top:.6rem}
.bf-track-lb{font-weight:800;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);
  margin-bottom:.4rem}
.bf-track{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.bf-seg{height:34px;border-radius:6px;background:#EADCB4;border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-family:var(--orn);font-weight:800;
  font-size:.68rem;color:var(--muted)}
.bf-seg.aff{background:var(--turq-lt);border-color:var(--turq-dk);color:var(--turq-dk)}
.bf-seg.horus{background:linear-gradient(180deg,#F6C846,#DFA015);border-color:#B4780A;color:#5E3B02}
.bf-track-cap{margin-top:.5rem;font-size:.82rem;color:var(--muted);line-height:1.5}

/* ── extra spins (Chamber Four) ── */
.bf-extra-row{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(16px,2.4vw,28px);margin-top:.2rem}
.bf-persist{flex:0 0 auto;padding:.55rem .9rem;border-radius:10px;text-align:center;
  background:linear-gradient(178deg,#FFF6DC,#F7E2AE);border:2px solid var(--gold-dk)}
.bf-persist b{display:block;font-family:var(--orn);font-weight:900;font-size:.64rem;letter-spacing:.1em;
  text-transform:uppercase;color:#6B4E06}
.bf-persist span{font-family:var(--dsp);font-weight:900;font-size:1.15rem;color:#8A5C05}
.bf-horus-btn{min-height:44px;padding:.6rem 1.1rem;border-radius:9px;font-weight:800;font-size:.8rem;
  letter-spacing:.05em;text-transform:uppercase;color:#FFF6D8;background:var(--turq-dk);
  border:1.5px solid #08474B;cursor:pointer;transition:filter .18s}
.bf-horus-btn:hover{filter:brightness(1.08)}
.bf-horus-btn:disabled{opacity:.5;cursor:default;filter:none}
.counter.bf-pulse{animation:bfPulse .5s ease}
@keyframes bfPulse{0%,100%{transform:scale(1)}40%{transform:scale(1.08)}}

/* ── two corridors ── */
.bf-corridors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
.bf-corridors>*{min-width:0}
.bf-corridor{border-radius:13px;border:2px solid var(--line);overflow:hidden;background:var(--card)}
.bf-corridor-h{padding:.6rem .9rem;font-family:var(--orn);font-weight:900;font-size:.78rem;
  letter-spacing:.1em;text-transform:uppercase;color:#FFF6D8;background:var(--ink-2)}
.bf-corridor.strong .bf-corridor-h{background:var(--turq-dk)}
.bf-corridor-b{padding:clamp(12px,1.6vw,16px)}
.bf-ctotal{margin-top:.8rem;padding:.6rem;border-radius:10px;text-align:center;background:#FBF1D6;
  border:1.5px solid var(--line)}
.bf-corridor.strong .bf-ctotal{background:#E8F8F8;border-color:var(--turq-dk)}
.bf-ctotal b{display:block;font-family:var(--dsp);font-weight:900;font-size:1.5rem;color:var(--ink)}
.bf-ctotal span{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bf-same{margin-top:1.2rem;text-align:center;font-family:var(--orn);font-weight:700;font-size:.85rem;
  letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);line-height:1.8}
.bf-same b{color:var(--turq-dk)}

/* ── before / after symbol sets (late-stage upgrade + reset door) ── */
.bf-swap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
.bf-swap>*{min-width:0}
.bf-symset{border-radius:12px;padding:clamp(12px,1.6vw,16px);border:2px solid var(--line);
  background:linear-gradient(178deg,#FFFDF5,#FBF1D6);text-align:center}
.bf-symset.hi{border-color:var(--gold-dk);background:linear-gradient(178deg,#FFF6DC,#F7E2AE)}
.bf-symset .mlabel{margin-top:0;font-family:var(--orn);font-weight:900;font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink);margin-bottom:.7rem}
.bf-symrow{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}
.bf-symrow .tile{width:36px;height:36px;flex:0 0 auto;padding:4px}

/* ── feature memory split ── */
.bf-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.8vw,20px)}
.bf-split>*{min-width:0}

/* ── receipt ── */
.bf-receipt{max-width:420px;margin:0 auto}
.bf-receipt-hd{text-align:center;font-family:var(--orn);font-weight:900;font-size:.82rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.8rem}

/* ── "not saved" stamp ── */
.bf-stampbox{position:relative;overflow:hidden}
.bf-stamp{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%) rotate(-14deg);
  padding:.35rem 1.1rem;border:3px solid var(--red);border-radius:8px;color:var(--red);
  font-family:var(--orn);font-weight:900;font-size:clamp(1.1rem,2.6vw,1.5rem);letter-spacing:.14em;
  text-transform:uppercase;opacity:.82;pointer-events:none;z-index:2;background:rgba(253,237,235,.35)}

/* ── closed temple door (no gauge) ── */
.bf-gate2{position:relative;margin:1rem auto 0;width:min(260px,80%);height:150px;border-radius:14px 14px 4px 4px;
  background:linear-gradient(176deg,#24519040,#122F5E26);border:3px solid var(--gold-dk);
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.bf-gate2::before,.bf-gate2::after{content:'';position:absolute;top:6px;bottom:6px;width:46%;
  background:linear-gradient(176deg,#2A63CE,#1B3E78 55%,#122C5C);border:2px solid var(--gold);border-radius:4px}
.bf-gate2::before{left:6px}
.bf-gate2::after{right:6px}
.bf-gate2 b{position:relative;z-index:2;font-family:var(--orn);font-weight:900;font-size:.95rem;
  letter-spacing:.14em;text-transform:uppercase;color:#FFE89A;text-shadow:0 2px 6px rgba(0,0,0,.6)}
.bf-gate2-stat{text-align:center;font-family:var(--dsp);font-weight:900;font-size:1.6rem;color:var(--ink);
  margin-bottom:.2rem}

/* ── multiplier wall ── */
.bf-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.bf-wtile{padding:clamp(14px,2vw,20px) .5rem;border-radius:12px;border:2px solid var(--line);
  background:linear-gradient(178deg,#FFFDF5,#FBF1D6);text-align:center}
.bf-wtile b{display:block;font-family:var(--dsp);font-weight:900;font-size:1.5rem;color:var(--turq-dk);
  line-height:1}
.bf-wtile span{display:block;margin-top:.3rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)}

/* ── feature map ── */
.bf-map{display:grid;gap:0;max-width:360px;margin:0 auto}
.bf-mstep{padding:.7rem .9rem;border-radius:10px;border:2px solid var(--line);
  background:linear-gradient(178deg,#FFFDF5,#FBF1D6);text-align:center;font-weight:800;font-size:.86rem;
  color:var(--ink-2)}
.bf-mstep.gold{border-color:var(--gold-dk);background:linear-gradient(178deg,#FFF6DC,#F7E2AE)}
.bf-mstep.final{border-color:var(--turq-dk);background:var(--turq-dk);color:#FFF6D8}
.bf-marrow{display:flex;justify-content:center;padding:4px 0}
.bf-marrow svg{width:16px;height:16px;fill:var(--gold-dk);transform:rotate(90deg)}
.bf-loop{position:relative;border:2px dashed var(--turq-dk);border-radius:14px;padding:10px 10px 6px;
  margin:6px 0}
.bf-loop-tag{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.3rem;
  font-family:var(--orn);font-weight:800;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--turq-dk)}
.bf-loop-tag svg{width:13px;height:13px;fill:var(--turq-dk)}

/* ── comparison table ── */
table.bf-table{width:100%;border-collapse:collapse;background:var(--card);
  border:2px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(90,60,10,.1)}
table.bf-table thead th{font-family:var(--orn);font-weight:700;font-size:.66rem;letter-spacing:.08em;
  text-transform:uppercase;color:#FFF6D8;text-align:left;background:var(--ink-2);
  padding:.7rem clamp(.6rem,1.4vw,1rem)}
table.bf-table tbody th,table.bf-table tbody td{padding:.7rem clamp(.6rem,1.4vw,1rem);
  font-size:.88rem;border-bottom:1px solid var(--line);vertical-align:top}
table.bf-table tbody th{text-align:left;font-weight:800;color:var(--ink-2);white-space:nowrap}
table.bf-table tbody td{color:var(--body);font-weight:600;line-height:1.5}
table.bf-table tbody tr:last-child th,table.bf-table tbody tr:last-child td{border-bottom:none}
table.bf-table tbody tr:nth-child(even){background:rgba(231,214,170,.28)}
.bf-table-wrap.grid-scroll::after{content:none}
@media(max-width:700px){
  table.bf-table thead th,table.bf-table tbody th,table.bf-table tbody td{padding:.55rem .6rem;font-size:.82rem}
}

/* ── closing line ── */
.bf-closing{text-align:center;font-family:var(--dsp);font-weight:800;color:var(--ink);
  font-size:clamp(1.15rem,2.4vw,1.55rem);line-height:1.7;max-width:56ch;margin:0 auto}
.bf-closing b{color:var(--gold-dk)}
.bf-closing .sep{color:var(--stone-dk);margin:0 .35em;font-weight:400}

/* ═══════════ RESPONSIVE ═══════════ */
@media(max-width:980px){
  .bf-swap,.bf-split,.bf-corridors{grid-template-columns:1fr}
  .bf-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .bf-track{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:34px}
}
@media(max-width:560px){
  .bf-wall{grid-template-columns:1fr}
  .bf-gate{height:82px}
  .bf-route a{font-size:.64rem;padding:.4rem .6rem}
}
@media(prefers-reduced-motion:reduce){
  .bf-gate-panel,.bf-hdoor-panel,.rung.bf-rising,.counter.bf-pulse{transition:none;animation:none}
}
