/* ======================================================================
   321 PRAY — BRIGHT CELESTIAL GATEWAY MASTER THEME
   Clean rebuild: 2026-08-12
   One source of truth for the approved mock-up direction.
   No remote fonts. No stacked legacy theme rules.
   ====================================================================== */

:root{
  --font-body: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --font-display: Georgia,"Times New Roman",Times,serif;
  --ink:#11165f;
  --ink-soft:#30366f;
  --ink-muted:#62688f;
  --purple:#4e25b8;
  --purple-2:#7241d8;
  --violet:#a77bf0;
  --lavender:#d8c8ff;
  --cyan:#77dcff;
  --gold:#efc66f;
  --paper:#fffefd;
  --paper-2:#fbf9ff;
  --line:rgba(88,54,185,.22);
  --line-strong:rgba(88,54,185,.36);
  --navy:#061747;
  --navy-2:#0a235f;
  --panel-shadow:0 22px 62px rgba(20,22,89,.28),0 0 26px rgba(141,91,237,.20);
  --card-shadow:0 7px 18px rgba(55,40,125,.075);
  --radius-page:25px;
  --radius-card:16px;
}

*{box-sizing:border-box}
html{min-height:100%;background:#17165e;scroll-behavior:smooth}
body.book-heaven{
  margin:0!important;
  min-height:100vh!important;
  max-width:none!important;
  padding:0!important;
  overflow-x:hidden!important;
  color:var(--ink)!important;
  color-scheme:light!important;
  font-family:var(--font-body)!important;
  font-size:16px;
  line-height:1.55;
  background:#201c6b!important;
}
/* Dedicated fixed backdrop: page-level/inline CSS can no longer replace the celestial world. */
body.book-heaven>.celestial-world-bg{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,rgba(14,13,73,.015),rgba(13,13,70,.045) 67%,rgba(3,14,58,.18)),
    url('theme-backgrounds/bright-gateway-world.webp?v=20260812-18') center top/cover no-repeat!important;
  transform:translateZ(0);
}
body.book-heaven>:not(.celestial-world-bg){position:relative;z-index:1}
body.book-heaven::before,body.book-heaven::after{display:none!important}
body.book-heaven *,body.book-heaven *::before,body.book-heaven *::after{box-sizing:border-box}
body.book-heaven button,body.book-heaven input,body.book-heaven textarea,body.book-heaven select{font-family:var(--font-body)!important}
body.book-heaven img{max-width:100%}

/* ---------- TOP NAV: exact visual grammar of approved mock-up ---------- */
body.book-heaven :is(.header,.site-header,.site-head,.ga-header,.ws-header,header.celestial-header,.site>header){
  position:relative!important;
  z-index:100!important;
  width:min(1370px,calc(100% - 34px))!important;
  min-height:72px!important;
  margin:0 auto!important;
  padding:8px 0!important;
  display:grid!important;
  grid-template-columns:minmax(210px,260px) minmax(560px,720px) minmax(150px,190px)!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  clip-path:none!important;
}
body.book-heaven :is(.brand,.brand-cross-logo,.ga-brand,.ws-brand){
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  padding:2px 4px!important;
  color:#fff!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.book-heaven :is(.brand,.brand-cross-logo,.ga-brand,.ws-brand) img,
body.book-heaven .brand-logo-img{display:none!important}
body.book-heaven .brand-emblem{
  width:48px!important;height:48px!important;flex:0 0 48px!important;
  display:grid!important;place-items:center!important;
  border:2px solid rgba(241,235,255,.96)!important;border-radius:50%!important;
  color:#fff!important;font-family:var(--font-display)!important;font-size:28px!important;line-height:1!important;
  background:radial-gradient(circle at 50% 38%,rgba(169,105,255,.62),rgba(43,38,130,.90) 62%,rgba(5,20,65,.98))!important;
  box-shadow:0 0 18px rgba(154,92,255,.48),inset 0 0 12px rgba(255,255,255,.15)!important;
  text-shadow:0 0 10px #fff!important;
}
body.book-heaven .brand-words{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0!important;white-space:nowrap!important;line-height:1!important;color:#fff!important}
body.book-heaven .brand-words strong{
  color:#fff!important;font-family:var(--font-display)!important;font-size:22px!important;font-weight:700!important;letter-spacing:.035em!important;line-height:1!important;text-shadow:0 2px 10px rgba(0,0,40,.38)!important
}
body.book-heaven .brand-words small{
  margin-top:5px!important;color:#eeeaff!important;font-family:var(--font-body)!important;font-size:8px!important;font-weight:800!important;letter-spacing:.19em!important;line-height:1!important
}
body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav){
  grid-column:2!important;grid-row:1!important;
  width:100%!important;max-width:720px!important;min-width:0!important;min-height:58px!important;
  justify-self:center!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:2px!important;
  margin:0!important;padding:7px 12px!important;
  overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important;
  background:linear-gradient(180deg,rgba(4,18,57,.99),rgba(6,27,76,.98))!important;
  border:1px solid rgba(153,125,255,.20)!important;border-top:0!important;border-radius:0 0 18px 18px!important;
  box-shadow:0 12px 30px rgba(5,10,49,.30),0 0 16px rgba(119,78,230,.12)!important;
  backdrop-filter:blur(16px)!important;clip-path:none!important;
}
body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav)::-webkit-scrollbar{display:none!important}
body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{
  flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:10px 10px!important;border:0!important;border-radius:10px!important;
  color:#fff!important;background:transparent!important;box-shadow:none!important;text-decoration:none!important;
  font-family:var(--font-body)!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.035em!important;line-height:1!important;text-transform:uppercase!important;white-space:nowrap!important
}
body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a:is(:hover,:focus-visible,.active){
  color:#fff!important;background:linear-gradient(180deg,rgba(121,78,239,.32),rgba(79,48,178,.27))!important;
  box-shadow:0 0 15px rgba(160,105,255,.43),inset 0 -2px 0 #c0a0ff!important;outline:none!important
}
body.book-heaven :is(.tag,.header-note,.header-badge){display:none!important}
body.book-heaven :is(.share-top,.share){
  grid-column:3!important;grid-row:1!important;justify-self:end!important;
  min-width:160px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:10px 14px!important;border:1px solid rgba(185,119,255,.94)!important;border-radius:12px!important;
  color:#fff!important;background:linear-gradient(180deg,rgba(35,43,111,.80),rgba(17,28,82,.90))!important;
  box-shadow:0 0 17px rgba(157,86,255,.34),inset 0 0 9px rgba(255,255,255,.06)!important;
  font-family:var(--font-body)!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.03em!important;line-height:1.1!important;text-transform:uppercase!important;text-decoration:none!important
}
body.book-heaven :is(.cyber-statusbar,.statusbar,.ga-status,.ws-status){display:none!important}
body.book-heaven .share-strip{width:min(900px,60vw)!important;margin:8px auto 0!important;padding:0!important;background:transparent!important;border:0!important;justify-content:flex-end!important}

/* ---------- CENTRAL PEARL-WHITE BOOK PAGE ---------- */
body.book-heaven .celestial-page-panel{
  position:relative!important;z-index:2!important;
  width:min(900px,59vw)!important;
  max-width:900px!important;
  margin:18px auto 14px!important;
  padding:19px 22px 22px!important;
  overflow:visible!important;
  color:var(--ink)!important;
  background:
    radial-gradient(circle at 50% -9%,rgba(238,232,255,.35),transparent 28rem),
    linear-gradient(180deg,rgba(255,255,255,.982),rgba(253,251,255,.962))!important;
  border:2px solid rgba(151,113,232,.37)!important;border-radius:var(--radius-page)!important;
  box-shadow:var(--panel-shadow)!important;
  backdrop-filter:blur(14px) saturate(1.04)!important;
  clip-path:none!important;
}
body.book-heaven .celestial-page-panel::before{
  content:""!important;position:absolute!important;inset:7px!important;z-index:0!important;pointer-events:none!important;
  border:1px solid rgba(132,92,222,.13)!important;border-radius:18px!important;background:transparent!important
}
body.book-heaven .celestial-page-panel>*{position:relative!important;z-index:1!important}

/* Pages with real interaction needs get only a modest width exception. */
body.book-heaven[data-page="rosary"] .celestial-page-panel{width:min(930px,61vw)!important;max-width:930px!important;padding:17px 19px 20px!important}
body.book-heaven[data-page="matching-game"] .celestial-page-panel,
body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
body.book-heaven[data-page="remember-order"] .celestial-page-panel,
body.book-heaven[data-page="armour"] .celestial-page-panel{width:min(980px,64vw)!important;max-width:980px!important}

/* ---------- MASTHEAD ---------- */
.celestial-masthead{text-align:center!important;margin:0 auto 15px!important;padding:3px 8px 13px!important;border-bottom:1px solid rgba(88,54,185,.12)!important}
.celestial-masthead .cm-welcome{
  color:#5d2dbc!important;font-family:var(--font-display)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.23em!important;line-height:1.2!important;text-transform:uppercase!important
}
.celestial-masthead .cm-brand{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:15px!important;margin-top:3px!important;
  color:#2d1a9c!important;font-family:var(--font-display)!important;font-size:clamp(43px,5vw,68px)!important;font-weight:400!important;letter-spacing:.035em!important;line-height:.95!important;text-transform:uppercase!important
}
.celestial-masthead .cm-brand::before,.celestial-masthead .cm-brand::after,
.home-gateway h1::before,.home-gateway h1::after{
  content:""!important;display:block!important;flex:0 0 66px!important;width:66px!important;height:42px!important;
  background:linear-gradient(145deg,#52baff 0%,#6c55e6 48%,#a55ae7 100%)!important;
  clip-path:polygon(0 59%,18% 47%,39% 28%,29% 55%,52% 37%,44% 65%,69% 46%,57% 75%,83% 60%,67% 86%,100% 76%,75% 100%,49% 87%,24% 96%)!important;
  filter:drop-shadow(0 0 7px rgba(112,76,225,.32))!important;transform:none!important
}
.celestial-masthead .cm-brand::after,.home-gateway h1::after{transform:scaleX(-1)!important}
.celestial-masthead .cm-page{margin-top:7px!important;color:#281486!important;font-family:var(--font-display)!important;font-size:clamp(19px,2.2vw,29px)!important;font-weight:700!important;letter-spacing:.13em!important;line-height:1.1!important;text-transform:uppercase!important}
.celestial-masthead .cm-cross{margin:2px auto 0!important;color:#6338cd!important;font-family:var(--font-display)!important;font-size:17px!important;line-height:1!important}
.celestial-masthead .cm-sub{max-width:760px!important;margin:6px auto 0!important;color:#232865!important;font-family:var(--font-body)!important;font-size:13px!important;font-weight:600!important;line-height:1.45!important}

/* ---------- REMOVE LEGACY DARK SHELLS ---------- */
body.book-heaven .celestial-page-panel>main,
body.book-heaven .celestial-page-panel>.site,
body.book-heaven .celestial-page-panel main,
body.book-heaven .celestial-page-panel :is(.site,.app-shell,.wrap,.main,.ga-grid,.privacy-paper,.ws-shell,.kids-hub,.game-shell){
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;clip-path:none!important;color:var(--ink)!important
}
body.book-heaven .celestial-page-panel :is(.site,.app-shell,.wrap,.main,.ga-grid,.privacy-paper,.ws-shell){padding-left:0!important;padding-right:0!important}
body.book-heaven .celestial-page-panel :is(.hero,.ws-hero,.ws-main,.ws-tools,.experience,.sanctuary){width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
body.book-heaven .celestial-page-panel .hero{background:transparent!important;border:0!important;box-shadow:none!important;clip-path:none!important}

/* ---------- TYPOGRAPHY: one reliable hierarchy ---------- */
body.book-heaven .celestial-page-panel,
body.book-heaven .celestial-page-panel :is(p,li,label,small,input,textarea,select,button,a,blockquote,cite,figcaption,td,th){font-family:var(--font-body)!important}
body.book-heaven .celestial-page-panel :is(h1,h2,h3,h4,h5,h6) :is(span,strong,b,em){font-family:inherit!important}
body.book-heaven .celestial-page-panel :is(h1,h2,h3,h4,h5,h6,.prayer-name,.event-title,.visual-head h2,.ga-title h1,.shop-copy h2){
  color:var(--ink)!important;font-family:var(--font-display)!important;text-shadow:none!important;overflow-wrap:anywhere!important
}
body.book-heaven .celestial-page-panel h1{font-weight:600!important;line-height:1.06!important;letter-spacing:-.025em!important}
body.book-heaven .celestial-page-panel h2{font-weight:600!important;line-height:1.12!important}
body.book-heaven .celestial-page-panel h3{font-weight:700!important;line-height:1.18!important}
body.book-heaven .celestial-page-panel :is(p,li,.intro,.summary,.reflection,.reflect,.prayer-text,.daily-note,.credit,.footer-note,.count-note,.mystery-reflection,.ga-panel p,.ga-module p){color:var(--ink-soft)!important;line-height:1.55!important}
body.book-heaven .celestial-page-panel :is(.kicker,.eyebrow,.section-label,.section-tag,.reference,.ref,.feature-label,.final-kicker,.count,.feast,.role,.theme,.num,.number,.ga-title .the){color:var(--purple)!important}
body.book-heaven .celestial-page-panel :is(blockquote,.scripture,.verse){color:#172064!important}
body.book-heaven .celestial-page-panel a{color:#4923a6}
body.book-heaven .celestial-page-panel :is(.muted,.sub,.subtitle,.meta,.note){color:var(--ink-muted)!important}
body.book-heaven .celestial-page-panel hr{border-color:rgba(84,43,181,.15)!important}

/* ---------- PAPER CARDS ---------- */
body.book-heaven .celestial-page-panel :is(
 .panel,.daily-card,.feature,.quote-card,.saint-card,.devotion,.prayer-card,.guide-card,.rosary-card,.prayer-box,.trinity-panel,.timer-panel,.audio-panel,.prayer-panel,.sanctuary,.sheet-panel,.final-inner,.ga-panel,.ga-module,.ga-center,.ga-completion,.ga-prayer-scroll,.ga-heaven-note,.activity-card,.game-card,.hub-card,.tile,.launcher-tile,.widget,.story-card,.miracle-card,.railcard,.module,.ws-panel,.ws-gridcard,.ws-wordlist,.ws-tool,.kids-activity-card,.shop-hero,.shop-strip
){
  color:var(--ink)!important;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(251,249,255,.98))!important;
  border:1px solid var(--line)!important;border-radius:var(--radius-card)!important;box-shadow:var(--card-shadow)!important;clip-path:none!important
}
body.book-heaven .celestial-page-panel :is(.panel,.daily-card,.saint-card,.module,.ga-module,.ws-panel,.kids-activity-card):hover{border-color:var(--line-strong)!important;box-shadow:0 10px 24px rgba(69,45,151,.12),0 0 14px rgba(128,80,226,.07)!important}

/* ---------- BUTTONS / INPUTS ---------- */
body.book-heaven .celestial-page-panel :is(.btn,.button,.primary,.action,.next,.prev,.mode-btn,.mystery-btn,.share321){
  color:#fff!important;background:linear-gradient(180deg,#7550dc,#4b22b4)!important;border:1px solid rgba(80,44,177,.18)!important;border-radius:9px!important;
  box-shadow:0 5px 12px rgba(73,35,168,.18)!important;text-shadow:none!important;font-family:var(--font-body)!important;font-weight:800!important
}
body.book-heaven .celestial-page-panel :is(.btn,.button,.primary,.action,.next,.prev,.mode-btn,.mystery-btn,.share321):is(:hover,:focus-visible){background:linear-gradient(180deg,#835ee5,#572cc1)!important;box-shadow:0 7px 16px rgba(73,35,168,.24),0 0 12px rgba(126,78,224,.18)!important;outline:none!important}
body.book-heaven .celestial-page-panel :is(input,textarea,select,.input,.search){
  color:var(--ink)!important;background:#fff!important;border:1px solid rgba(92,51,199,.26)!important;border-radius:11px!important;box-shadow:inset 0 1px 5px rgba(58,42,137,.04)!important
}
body.book-heaven .celestial-page-panel :is(input,textarea,select)::placeholder{color:#8d91ac!important;opacity:1!important}

/* ---------- HOME / LAUNCHER ---------- */
body.book-heaven[data-page="launcher"] .celestial-page-panel{width:min(900px,59vw)!important;max-width:900px!important}
.home-gateway{text-align:center!important;color:var(--ink)!important}
.home-gateway .home-eyebrow{color:#5d2dbc!important;font-family:var(--font-display)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.23em!important;text-transform:uppercase!important}
.home-gateway h1{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:15px!important;margin:4px 0 4px!important;
  color:#2d1a9c!important;background:none!important;-webkit-text-fill-color:currentColor!important;
  font-family:var(--font-display)!important;font-size:clamp(48px,5vw,69px)!important;font-weight:400!important;line-height:.96!important;letter-spacing:.035em!important;text-transform:uppercase!important
}
.home-gateway .gateway-subtitle{color:#2a168d!important;font-family:var(--font-display)!important;font-size:clamp(14px,1.7vw,18px)!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase!important}
.home-gateway .gateway-cross{color:#6338cd!important;font-family:var(--font-display)!important;font-size:18px!important}
.home-gateway .gateway-copy{max-width:610px!important;margin:6px auto 15px!important;color:#232865!important;font-family:var(--font-body)!important;font-size:13px!important;font-weight:600!important;line-height:1.45!important}
.home-quick-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important;margin-top:13px!important}
.home-quick-card{min-width:0!important;padding:12px 7px 11px!important;border:1px solid var(--line)!important;border-radius:15px!important;background:linear-gradient(180deg,#fff,#fbf9ff)!important;box-shadow:var(--card-shadow)!important;text-decoration:none!important}
.home-quick-card .hq-icon{width:54px!important;height:54px!important;margin:0 auto!important;border-radius:15px!important;display:grid!important;place-items:center!important;font-size:28px!important;color:#5626bd!important;background:linear-gradient(145deg,#f4edff,#fff)!important;border:1px solid rgba(102,57,203,.12)!important}
.home-quick-card strong{display:block!important;margin-top:7px!important;color:#271581!important;font-family:var(--font-body)!important;font-size:11.5px!important;font-weight:900!important;line-height:1.2!important}
.home-quick-card span{display:block!important;margin-top:4px!important;color:#62688f!important;font-size:9.5px!important;font-weight:600!important;line-height:1.35!important}
.home-quick-card b{display:inline-block!important;margin-top:8px!important;padding:7px 13px!important;border-radius:8px!important;color:#fff!important;background:linear-gradient(180deg,#7550dc,#4b22b4)!important;font-size:8.5px!important;font-weight:900!important}
.home-widget-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:9px!important;margin-top:11px!important}
.home-widget{min-height:124px!important;padding:12px 13px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:linear-gradient(180deg,#fff,#fbf9ff)!important;box-shadow:var(--card-shadow)!important}
.home-widget h2{color:#2d1a9c!important;font-family:var(--font-display)!important;font-size:14px!important}.home-widget p{color:#30366f!important;font-size:11px!important;line-height:1.42!important}.home-widget .widget-quote{font-family:var(--font-display)!important;font-size:15px!important;color:#2c198f!important}
.home-stats{margin-top:9px!important;padding:8px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:#fff!important}.home-stat{font-size:10.5px!important;color:#52577f!important}.home-stat strong{font-size:17px!important;color:#2d1a9c!important}
.home-shop-banner{margin-top:9px!important;padding:10px 13px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:linear-gradient(90deg,#faf7ff,#fff)!important}.home-shop-banner strong{font-family:var(--font-display)!important;font-size:16px!important;color:#322095!important}.home-shop-banner span{font-size:11px!important;color:#5c6185!important}

/* ---------- PAGE-SPECIFIC CLEANUPS ---------- */
body.book-heaven[data-page="kids"] .celestial-page-panel,
body.book-heaven[data-page="matching-game"] .celestial-page-panel,
body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
body.book-heaven[data-page="remember-order"] .celestial-page-panel,
body.book-heaven[data-page="word-search"] .celestial-page-panel{background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(255,251,255,.97))!important}
body.book-heaven[data-page="guardian-angel"] :is(.ga-shell,.ga-grid),
body.book-heaven[data-page="word-search"] :is(.ws-shell,.ws-main,.ws-hero),
body.book-heaven[data-page="armour"] .site{background:transparent!important;box-shadow:none!important;border:0!important;max-width:none!important}
body.book-heaven[data-page="armour"] .celestial-page-panel :is(.complete,.prayer,.crosspanel,.footerverse){background:linear-gradient(180deg,#fff,#faf8ff)!important;border:1px solid var(--line)!important;color:var(--ink)!important;border-radius:16px!important;box-shadow:var(--card-shadow)!important}
body.book-heaven[data-page="word-search"] .word-grid{background:#eef6ff!important;border:1px solid rgba(89,78,183,.20)!important;border-radius:14px!important}
body.book-heaven[data-page="word-search"] .cell{font-family:var(--font-body)!important;color:#24336f!important;background:#fff!important;border-color:#d9ddf2!important}
body.book-heaven[data-page="word-search"] .cell.found{background:linear-gradient(135deg,#fff0a9,#e5efff)!important;border-color:#e1bd57!important}
body.book-heaven[data-page="rosary"] .celestial-page-panel .card{background:#fff!important}
body.book-heaven[data-page="rosary"] :is(.mystery-btn,.text-button){font-family:var(--font-body)!important}
body.book-heaven[data-page="saints"] .saint-card .card-copy{color:var(--ink)!important}
body.book-heaven[data-page="shop"] .shop-photo img{background:#f6f6f6!important}

/* ---------- FOOTER ---------- */
body.book-heaven :is(.footer,.ga-footer,.celestial-footer){
  width:min(1440px,calc(100% - 54px))!important;margin:0 auto 10px!important;padding:16px 24px 13px!important;
  color:#fff!important;background:linear-gradient(90deg,rgba(4,20,61,.99),rgba(7,31,79,.985),rgba(4,20,61,.99))!important;
  border:1px solid rgba(139,110,239,.28)!important;border-radius:16px!important;box-shadow:0 10px 28px rgba(0,10,45,.20)!important;clip-path:none!important
}
.celestial-footer-grid{display:grid!important;grid-template-columns:1.3fr repeat(3,1fr)!important;gap:20px!important;align-items:start!important}
.celestial-footer .footer-quote{position:relative!important;min-height:62px!important;padding-left:78px!important;color:#fff!important;font-family:var(--font-display)!important;font-size:16px!important;font-style:italic!important;line-height:1.45!important}
.celestial-footer .footer-quote::before{
  content:"✝"!important;position:absolute!important;left:3px!important;top:0!important;width:58px!important;height:58px!important;display:grid!important;place-items:center!important;
  border:2px solid rgba(225,218,255,.92)!important;border-radius:50%!important;color:#fff!important;font-family:var(--font-display)!important;font-size:32px!important;
  background:radial-gradient(circle at 50% 40%,rgba(159,91,255,.55),rgba(18,30,91,.94))!important;box-shadow:0 0 17px rgba(144,83,249,.42)!important
}
.celestial-footer h3{margin:0 0 6px!important;color:#fff!important;font-family:var(--font-body)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.celestial-footer a{display:block!important;margin:4px 0!important;color:#edf0ff!important;font-family:var(--font-body)!important;font-size:10.5px!important;text-decoration:none!important}
.celestial-footer a:hover{color:#fff!important;text-decoration:underline!important}
.celestial-footer .footer-bottom{margin-top:10px!important;padding-top:8px!important;border-top:1px solid rgba(255,255,255,.10)!important;color:#cbd1ed!important;font-family:var(--font-body)!important;font-size:9.5px!important;text-align:center!important}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1240px){
  body.book-heaven :is(.header,.site-header,.site-head,.ga-header,.ws-header,header.celestial-header,.site>header){width:calc(100% - 24px)!important;grid-template-columns:minmax(170px,215px) minmax(500px,680px) minmax(125px,155px)!important}
  body.book-heaven .brand-emblem{width:42px!important;height:42px!important;flex-basis:42px!important;font-size:25px!important}
  body.book-heaven .brand-words strong{font-size:19px!important}.book-heaven .brand-words small{font-size:7px!important}
  body.book-heaven :is(.share-top,.share){min-width:135px!important;padding:9px 10px!important;font-size:9.5px!important}
  body.book-heaven .celestial-page-panel{width:min(900px,72vw)!important}
  body.book-heaven[data-page="rosary"] .celestial-page-panel{width:min(930px,75vw)!important}
  body.book-heaven[data-page="matching-game"] .celestial-page-panel,body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,body.book-heaven[data-page="remember-order"] .celestial-page-panel,body.book-heaven[data-page="armour"] .celestial-page-panel{width:min(980px,80vw)!important}
  .home-quick-grid{grid-template-columns:repeat(4,1fr)!important}
}
@media(max-width:980px){
  body.book-heaven{background-attachment:scroll!important;background-position:center top!important}
  body.book-heaven :is(.header,.site-header,.site-head,.ga-header,.ws-header,header.celestial-header,.site>header){display:flex!important;width:100%!important;min-height:60px!important;padding:7px 10px!important;gap:8px!important;background:rgba(5,22,64,.96)!important;border-radius:0 0 16px 16px!important}
  body.book-heaven :is(.brand,.brand-cross-logo,.ga-brand,.ws-brand){flex:0 0 auto!important}.book-heaven .brand-words small{display:none!important}.book-heaven .brand-emblem{width:36px!important;height:36px!important;flex-basis:36px!important;font-size:21px!important}.book-heaven .brand-words strong{font-size:16px!important}
  body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav){flex:1 1 auto!important;min-height:44px!important;justify-content:flex-start!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow-x:auto!important}
  body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{font-size:9px!important;padding:8px 7px!important}
  body.book-heaven :is(.share-top,.share){display:none!important}
  body.book-heaven .celestial-page-panel,body.book-heaven[data-page="rosary"] .celestial-page-panel,body.book-heaven[data-page="matching-game"] .celestial-page-panel,body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,body.book-heaven[data-page="remember-order"] .celestial-page-panel,body.book-heaven[data-page="armour"] .celestial-page-panel{width:calc(100% - 64px)!important;max-width:900px!important}
  .home-widget-grid{grid-template-columns:1fr!important}
  .celestial-footer-grid{grid-template-columns:1.25fr repeat(2,1fr)!important}.celestial-footer-grid>div:nth-child(4){display:none!important}
}
@media(max-width:760px){
  body.book-heaven{font-size:15px!important}
  body.book-heaven .celestial-page-panel,body.book-heaven[data-page="rosary"] .celestial-page-panel,body.book-heaven[data-page="matching-game"] .celestial-page-panel,body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,body.book-heaven[data-page="remember-order"] .celestial-page-panel,body.book-heaven[data-page="armour"] .celestial-page-panel{width:calc(100% - 18px)!important;margin:11px auto 12px!important;padding:14px 10px 18px!important;border-radius:20px!important}
  .celestial-masthead .cm-brand{font-size:clamp(35px,12vw,50px)!important;gap:7px!important}.celestial-masthead .cm-brand::before,.celestial-masthead .cm-brand::after,.home-gateway h1::before,.home-gateway h1::after{width:38px!important;flex-basis:38px!important;height:28px!important}
  .celestial-masthead .cm-page{font-size:18px!important;letter-spacing:.08em!important}.celestial-masthead .cm-sub{font-size:12px!important}
  .home-gateway h1{font-size:clamp(38px,12vw,50px)!important;gap:7px!important}.home-quick-grid{grid-template-columns:repeat(2,1fr)!important}
  body.book-heaven :is(.footer,.ga-footer,.celestial-footer){width:calc(100% - 18px)!important;padding:15px!important}
  .celestial-footer-grid{grid-template-columns:1fr 1fr!important}.celestial-footer .footer-quote{grid-column:1/-1!important;padding-left:70px!important}.celestial-footer-grid>div:nth-child(4){display:none!important}
}
@media(max-width:480px){
  body.book-heaven .brand-words{display:none!important}
  body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{font-size:8.5px!important;padding:8px 6px!important}
  .home-quick-card span{display:none!important}.home-quick-card .hq-icon{width:48px!important;height:48px!important}
  .celestial-footer-grid{grid-template-columns:1fr!important}.celestial-footer .footer-quote{grid-column:auto!important}.celestial-footer-grid>div:nth-child(n+3){display:none!important}
}

/* Existing dedicated Rosary landscape mode remains functional and readable. */
@media (orientation:landscape) and (max-height:680px){
  body.book-heaven[data-page="rosary"]{background:#071846!important;overflow:hidden!important}
  body.book-heaven[data-page="rosary"] .celestial-page-panel{width:100%!important;max-width:none!important;height:calc(100dvh - 44px)!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:hidden!important}
  body.book-heaven[data-page="rosary"] .celestial-page-panel::before,body.book-heaven[data-page="rosary"] .celestial-masthead{display:none!important}
  body.book-heaven[data-page="rosary"] :is(.header,.site-header,.site-head){display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;width:100%!important;height:44px!important;min-height:44px!important;padding:3px 8px!important;background:rgba(5,22,64,.98)!important;border-radius:0!important}
  body.book-heaven[data-page="rosary"] .brand-emblem{width:32px!important;height:32px!important;flex-basis:32px!important;font-size:19px!important}
  body.book-heaven[data-page="rosary"] .brand-words strong{font-size:14px!important}body.book-heaven[data-page="rosary"] .brand-words small{display:none!important}
  body.book-heaven[data-page="rosary"] :is(.nav,.top-nav,.topnav){grid-column:2!important;min-height:34px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;justify-content:flex-start!important}
  body.book-heaven[data-page="rosary"] :is(.nav,.top-nav,.topnav) a{font-size:.55rem!important;padding:5px 7px!important}
}
@media (orientation:landscape) and (max-height:430px){
  body.book-heaven[data-page="rosary"] .celestial-page-panel{height:100dvh!important}
  body.book-heaven[data-page="rosary"] :is(.header,.site-header,.site-head){display:none!important}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* ---------- LEGACY DARK-STYLE RESIDUE CLEANUP FOUND IN AUDIT ---------- */
body.book-heaven[data-page="armour"] .heroVisual{background:linear-gradient(180deg,#f7f3ff,#eef6ff)!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:var(--card-shadow)!important}
body.book-heaven[data-page="quotes"] .filter{background:#fff!important;color:var(--purple)!important;border:1px solid var(--line)!important;border-radius:999px!important;box-shadow:none!important}
body.book-heaven[data-page="quotes"] .filter.active{background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important}
body.book-heaven[data-page="saints"] .themes span{background:#f2edff!important;color:#4e25b8!important;border:1px solid rgba(88,54,185,.16)!important}
body.book-heaven[data-page="saints"] .detail-image{background:linear-gradient(180deg,#f4efff,#eef6ff)!important}
body.book-heaven[data-page="life-of-jesus"] .sheet-panel,
body.book-heaven[data-page="mary"] .sheet-panel{background:linear-gradient(180deg,#fff,#fbf9ff)!important}

/* ======================================================================
   PAGE-BY-PAGE THEME COMPLETION
   Removes the remaining legacy dark module surfaces discovered by audit.
   ====================================================================== */

/* PRAY / ALTAR */
body.book-heaven[data-page="altar"] .celestial-page-panel :is(.intention,.timer-option,.our-father-text,.prayer-plaque,.recording-note){
  background:linear-gradient(180deg,#fff,#faf8ff)!important;color:var(--ink-soft)!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important
}
body.book-heaven[data-page="altar"] .celestial-page-panel :is(.intention.selected,.timer-option.active){background:linear-gradient(180deg,#7651dc,#4c23b6)!important;color:#fff!important;border-color:transparent!important}
body.book-heaven[data-page="altar"] .celestial-page-panel .sanctuary{background:radial-gradient(circle at 50% 28%,rgba(255,235,181,.54),transparent 26%),linear-gradient(180deg,#faf7ff,#eef5ff)!important;box-shadow:var(--card-shadow)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="altar"] .celestial-page-panel .gateway-veil{background:radial-gradient(ellipse at 50% 42%,rgba(126,84,225,.08),transparent 60%)!important}
body.book-heaven[data-page="altar"] .celestial-page-panel :is(.offer-button,.begin-button,.light-next,.listen-button){background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important;border:1px solid rgba(80,44,177,.18)!important;box-shadow:0 5px 12px rgba(73,35,168,.18)!important}
body.book-heaven[data-page="altar"] .celestial-page-panel :is(.secondary-reset,.reset-timer,.audio-stop){color:var(--purple)!important}

/* ARMOUR OF GOD */
body.book-heaven[data-page="armour"] .celestial-page-panel .heroCopy{background:linear-gradient(145deg,#fff,#f7f2ff)!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:var(--card-shadow)!important}
body.book-heaven[data-page="armour"] .celestial-page-panel .module button{background:#f3edff!important;color:var(--purple)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="armour"] .celestial-page-panel .module.active button{background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important}
body.book-heaven[data-page="armour"] .celestial-page-panel :is(.heroVisual .caption,.progress){background:rgba(255,255,255,.92)!important;color:var(--purple)!important;border:1px solid var(--line)!important;box-shadow:none!important}
body.book-heaven[data-page="armour"] .celestial-page-panel .footerverse{background:linear-gradient(180deg,#fff,#faf8ff)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:14px!important}

/* GUARDIAN ANGEL */
body.book-heaven[data-page="guardian-angel"] .celestial-page-panel .ga-title{background:radial-gradient(circle at 15% 15%,rgba(255,232,166,.36),transparent 32%),linear-gradient(180deg,#fff,#f8f4ff)!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:var(--card-shadow)!important}
body.book-heaven[data-page="guardian-angel"] .celestial-page-panel .ga-center{background:radial-gradient(circle at 50% 23%,rgba(255,229,165,.40),transparent 28%),linear-gradient(180deg,#fff,#f4f0ff)!important}
body.book-heaven[data-page="guardian-angel"] .celestial-page-panel .ga-center::before{opacity:.23!important}
body.book-heaven[data-page="guardian-angel"] .celestial-page-panel .ga-module button,
body.book-heaven[data-page="guardian-angel"] .celestial-page-panel .ga-cta button{background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important;border:1px solid rgba(80,44,177,.18)!important}
body.book-heaven[data-page="guardian-angel"] .celestial-page-panel .ga-orbs i{background:#f4efff!important;color:var(--purple)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="guardian-angel"] .celestial-page-panel .ga-prayer-scroll{background:linear-gradient(180deg,#fffdf6,#fff8e9)!important;color:var(--ink)!important}

/* LIFE OF JESUS + MARY JOURNEY */
body.book-heaven[data-page="jesus"] .celestial-page-panel .experience,
body.book-heaven[data-page="mary"] .celestial-page-panel .experience{min-height:0!important;padding:14px 0 24px!important;background:transparent!important;overflow:visible!important}
body.book-heaven[data-page="jesus"] .celestial-page-panel .experience::before,
body.book-heaven[data-page="mary"] .celestial-page-panel .experience::before,
body.book-heaven[data-page="jesus"] .celestial-page-panel :is(.horizon,.path,.cross),
body.book-heaven[data-page="mary"] .celestial-page-panel :is(.horizon,.path,.star){display:none!important}
body.book-heaven[data-page="jesus"] .celestial-page-panel .stage-top,
body.book-heaven[data-page="mary"] .celestial-page-panel .stage-top{color:var(--ink-muted)!important}
body.book-heaven[data-page="jesus"] .celestial-page-panel .stage-dots button,
body.book-heaven[data-page="mary"] .celestial-page-panel .stage-dots button{background:#ddd3f5!important}
body.book-heaven[data-page="jesus"] .celestial-page-panel .stage-dots button.active,
body.book-heaven[data-page="mary"] .celestial-page-panel .stage-dots button.active{background:linear-gradient(90deg,#7c51dc,#a67df0)!important}
body.book-heaven[data-page="jesus"] .celestial-page-panel .scripture,
body.book-heaven[data-page="mary"] .celestial-page-panel .scripture{background:#f8f5ff!important;border-left:3px solid var(--purple-2)!important;color:var(--ink)!important}
body.book-heaven[data-page="jesus"] .celestial-page-panel :is(.tool,.navbtn,.allbtn),
body.book-heaven[data-page="mary"] .celestial-page-panel :is(.tool,.navbtn,.allbtn){background:#fff!important;color:var(--purple)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="jesus"] .celestial-page-panel :is(.tool,.navbtn,.allbtn):hover,
body.book-heaven[data-page="mary"] .celestial-page-panel :is(.tool,.navbtn,.allbtn):hover{background:#f4efff!important}
body.book-heaven[data-page="jesus"] .celestial-page-panel .final-space,
body.book-heaven[data-page="mary"] .celestial-page-panel .final-space{min-height:0!important;padding:28px 0 8px!important;background:transparent!important}
body.book-heaven[data-page="jesus"] .sheet-panel,
body.book-heaven[data-page="mary"] .sheet-panel{background:linear-gradient(180deg,#fff,#faf8ff)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="jesus"] .all-item,
body.book-heaven[data-page="mary"] .all-item{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="jesus"] .all-item:hover,body.book-heaven[data-page="jesus"] .all-item.current,
body.book-heaven[data-page="mary"] .all-item:hover,body.book-heaven[data-page="mary"] .all-item.current{background:#f3edff!important}

/* MIRACLES */
body.book-heaven[data-page="miracles"] .celestial-page-panel :is(.story,.discern-card,.prayer-card,.submit-strip){background:linear-gradient(180deg,#fff,#faf8ff)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:15px!important;box-shadow:var(--card-shadow)!important}
body.book-heaven[data-page="miracles"] .celestial-page-panel .story-top{background:linear-gradient(90deg,#7250dc,#b58bff)!important}
body.book-heaven[data-page="miracles"] .celestial-page-panel :is(.date-chip,.status,.filter){background:#f4efff!important;color:var(--purple)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="miracles"] .celestial-page-panel .filter:is(.active,:hover,:focus-visible){background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important}
body.book-heaven[data-page="miracles"] .celestial-page-panel .feature-art::after{background:linear-gradient(180deg,transparent,rgba(23,20,73,.28))!important}

/* PRAYER REQUEST */
body.book-heaven[data-page="prayer-request"] .celestial-page-panel :is(.privacy-pill,.check-row,.ready,.cat,.candle-button){background:#fff!important;color:var(--ink-soft)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="prayer-request"] .celestial-page-panel .cat.selected{background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important}
body.book-heaven[data-page="prayer-request"] .celestial-page-panel .candle-button{background:linear-gradient(180deg,#fff,#f5f0ff)!important}
body.book-heaven[data-page="prayer-request"] .celestial-page-panel .share-request{background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important}

/* QUOTES */
body.book-heaven[data-page="quotes"] .celestial-page-panel .tools{background:#fff!important;border:1px solid var(--line)!important;border-radius:15px!important;box-shadow:var(--card-shadow)!important}
body.book-heaven[data-page="quotes"] .celestial-page-panel .search{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="quotes"] .celestial-page-panel .small-btn{background:#f4efff!important;color:var(--purple)!important;border:1px solid var(--line)!important}

/* SAINTS & APOSTLES */
body.book-heaven[data-page="saints"] .celestial-page-panel .saint-card::before{display:none!important}
body.book-heaven[data-page="saints"] .celestial-page-panel .saint-image{background:linear-gradient(180deg,#f8f4ff,#edf5ff)!important}
body.book-heaven[data-page="saints"] .celestial-page-panel .detail-image{background:linear-gradient(180deg,#f8f4ff,#edf5ff)!important}
body.book-heaven[data-page="saints"] .celestial-page-panel .prayer-card{background:#f8f5ff!important;color:var(--ink)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="saints"] .celestial-page-panel :is(.open,.altar-link){background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important;border:0!important}

/* HOLY TRINITY */
body.book-heaven[data-page="trinity"] .celestial-page-panel .person{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="trinity"] .celestial-page-panel .light-buttons button{background:#f4efff!important;color:var(--purple)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="trinity"] .celestial-page-panel .light-buttons button.done{background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important}
body.book-heaven[data-page="trinity"] .celestial-page-panel .reveal.open{background:linear-gradient(180deg,#fff,#f8f4ff)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:15px!important}
body.book-heaven[data-page="trinity"] .celestial-page-panel .secondary{background:#fff!important;color:var(--purple)!important;border:1px solid var(--line)!important}

/* WALLPAPERS */
body.book-heaven[data-page="wallpapers"] .celestial-page-panel .wallpaper{background:linear-gradient(180deg,#fff,#faf8ff)!important;color:var(--ink)!important;border:1px solid var(--line)!important;box-shadow:var(--card-shadow)!important}
body.book-heaven[data-page="wallpapers"] .celestial-page-panel .preview-link{background:#f3efff!important}
body.book-heaven[data-page="wallpapers"] .celestial-page-panel :is(.free-pill,.filter,.note){background:#fff!important;color:var(--ink-soft)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="wallpapers"] .celestial-page-panel .filter:is(.active,:hover,:focus-visible){background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important}
body.book-heaven[data-page="wallpapers"] .celestial-page-panel .action{background:#f4efff!important;color:var(--purple)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="wallpapers"] .celestial-page-panel .action.primary{background:linear-gradient(180deg,#7550dc,#4b22b4)!important;color:#fff!important}

/* General overflow/formatting safety found during layout audit. */
body.book-heaven .celestial-page-panel :is(section,article,aside,div,nav){min-width:0}
body.book-heaven .celestial-page-panel :is(p,li,h1,h2,h3,h4,h5,h6,blockquote){overflow-wrap:anywhere}
body.book-heaven .celestial-page-panel table{max-width:100%;border-collapse:collapse}
body.book-heaven .celestial-page-panel pre{max-width:100%;overflow:auto}
body.book-heaven .celestial-page-panel svg,body.book-heaven .celestial-page-panel canvas{max-width:100%}

/* Generic content cards are themed, but memory/learning game card buttons are
   deliberately excluded so flip/tap mechanics keep their own faces. */
body.book-heaven:not([data-page="matching-game"]):not([data-page="symbol-meaning"]) .celestial-page-panel .card{
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(251,249,255,.98))!important;
  color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:var(--radius-card)!important;box-shadow:var(--card-shadow)!important;clip-path:none!important
}
body.book-heaven:not([data-page="matching-game"]):not([data-page="symbol-meaning"]) .celestial-page-panel .card:hover{border-color:var(--line-strong)!important}

/* Protect game mechanics from global theming. */
body.book-heaven[data-page="matching-game"] .celestial-page-panel button.card,
body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel button.card,
body.book-heaven[data-page="remember-order"] .celestial-page-panel button.choice{
  border-radius:inherit!important;box-shadow:inherit!important
}

/* ======================================================================
   FINAL STRUCTURE ALIGNMENT — approved bright celestial mock-up
   ====================================================================== */

/* Share actions now live in the right side of the top navigation, like the
   approved mock-up, instead of floating between the nav and the book page. */
body.book-heaven header > .share-strip,
body.book-heaven .site-header > .share-strip,
body.book-heaven .ga-header > .share-strip,
body.book-heaven .ws-header > .share-strip{
  grid-column:3!important;grid-row:1!important;justify-self:end!important;
  width:auto!important;min-width:0!important;margin:0!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important
}
body.book-heaven header > .share-strip .share321-status,
body.book-heaven .site-header > .share-strip .share321-status,
body.book-heaven .ga-header > .share-strip .share321-status,
body.book-heaven .ws-header > .share-strip .share321-status{display:none!important}
body.book-heaven header > .share-strip .share321,
body.book-heaven .site-header > .share-strip .share321,
body.book-heaven .ga-header > .share-strip .share321,
body.book-heaven .ws-header > .share-strip .share321{
  min-width:150px!important;margin:0!important;padding:10px 13px!important;
  border:1px solid rgba(185,119,255,.94)!important;border-radius:12px!important;
  color:#fff!important;background:linear-gradient(180deg,rgba(35,43,111,.88),rgba(17,28,82,.96))!important;
  box-shadow:0 0 17px rgba(157,86,255,.34),inset 0 0 9px rgba(255,255,255,.06)!important;
  font-family:var(--font-body)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.03em!important;line-height:1.1!important;text-transform:uppercase!important
}

/* Kids activity navigation is part of the pearl-white book page, not a
   separate strip floating on the celestial background. */
body.book-heaven .celestial-page-panel .kids-switcher{
  width:100%!important;max-width:none!important;margin:0 0 14px!important;padding:7px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important;
  background:linear-gradient(180deg,#f8f4ff,#fff)!important;border:1px solid var(--line)!important;border-radius:13px!important;
  box-shadow:none!important;clip-path:none!important
}
body.book-heaven .celestial-page-panel .kids-switcher::-webkit-scrollbar{display:none!important}
body.book-heaven .celestial-page-panel .kids-switcher a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;
  padding:7px 9px!important;border-radius:9px!important;color:#4d2aaa!important;background:transparent!important;border:1px solid transparent!important;
  font-family:var(--font-body)!important;font-size:10px!important;font-weight:800!important;text-decoration:none!important
}
body.book-heaven .celestial-page-panel .kids-switcher a:is(.active,:hover,:focus-visible){
  color:#fff!important;background:linear-gradient(180deg,#7550dc,#4b22b4)!important;border-color:rgba(80,44,177,.18)!important;outline:none!important
}

/* Guardian Angel closing prayer was previously outside the white page. */
body.book-heaven[data-page="guardian-angel"] .celestial-page-panel .ga-bottom{
  width:100%!important;max-width:none!important;margin:16px 0 0!important;padding:18px!important;
  color:var(--ink)!important;background:linear-gradient(180deg,#fffdf8,#f7f2ff)!important;
  border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:var(--card-shadow)!important;clip-path:none!important
}
body.book-heaven[data-page="guardian-angel"] .celestial-page-panel .ga-bottom :is(h2,h3){color:var(--ink)!important;font-family:var(--font-display)!important}
body.book-heaven[data-page="guardian-angel"] .celestial-page-panel .ga-bottom :is(p,.ga-final-status){color:var(--ink-soft)!important}

/* Small supporting copy is kept inside the page rather than on the artwork. */
body.book-heaven .celestial-page-panel .footer-note{
  margin:14px 0 0!important;padding:10px 12px!important;text-align:center!important;
  color:var(--ink-muted)!important;background:#f8f5ff!important;border:1px solid rgba(88,54,185,.12)!important;border-radius:10px!important;
  font-family:var(--font-body)!important;font-size:10px!important;line-height:1.4!important
}

/* Today page: remove the last dark remnants inside the pearl-white card. */
body.book-heaven[data-page="today"] .celestial-page-panel .daily-card{background:linear-gradient(180deg,#fff,#faf8ff)!important;border:1px solid var(--line)!important;box-shadow:var(--card-shadow)!important}
body.book-heaven[data-page="today"] .celestial-page-panel .scripture{background:linear-gradient(180deg,#faf7ff,#fff)!important;border-bottom:1px solid var(--line)!important}
body.book-heaven[data-page="today"] .celestial-page-panel .scripture::after{background:#fff!important;color:var(--purple)!important;border:1px solid var(--line)!important}
body.book-heaven[data-page="today"] .celestial-page-panel .reference{color:#29168d!important;font-family:var(--font-display)!important}
body.book-heaven[data-page="today"] .celestial-page-panel .reflection{color:var(--ink-soft)!important;font-family:var(--font-display)!important}
body.book-heaven[data-page="today"] .celestial-page-panel .prayer{background:#fff!important}
body.book-heaven[data-page="today"] .celestial-page-panel .action.secondary{background:#fff!important;color:var(--purple)!important;border:1px solid var(--line)!important}

/* Find-a-Word: force the legacy dark panel/title layer fully into the light Kids language. */
body.book-heaven[data-page="word-search"] .celestial-page-panel :is(.ws-title,.ws-bottom){
  background:linear-gradient(145deg,#f8f4ff,#fffdf5)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:15px!important;box-shadow:var(--card-shadow)!important;clip-path:none!important
}
body.book-heaven[data-page="word-search"] .celestial-page-panel :is(.ws-panel,.ws-gridcard,.ws-wordlist,.ws-tool,.ws-bottom){background:linear-gradient(180deg,#fff,#faf8ff)!important;color:var(--ink)!important}

/* The only full dark ribbon is the actual site footer. */
body.book-heaven .celestial-footer{
  width:min(1440px,calc(100% - 54px))!important;margin:0 auto 10px!important;padding:16px 24px 13px!important;
  color:#fff!important;background:linear-gradient(90deg,rgba(4,20,61,.99),rgba(7,31,79,.985),rgba(4,20,61,.99))!important;
  border:1px solid rgba(139,110,239,.28)!important;border-radius:16px!important;box-shadow:0 10px 28px rgba(0,10,45,.20)!important;clip-path:none!important
}

@media(max-width:980px){
  body.book-heaven header > .share-strip,body.book-heaven .site-header > .share-strip,body.book-heaven .ga-header > .share-strip,body.book-heaven .ws-header > .share-strip{display:none!important}
}
@media(max-width:760px){
  body.book-heaven .celestial-page-panel .kids-switcher{justify-content:flex-start!important;padding:6px!important}
  body.book-heaven .celestial-page-panel .kids-switcher a{font-size:9px!important;padding:7px 8px!important}
}

/* ===== HOME LAUNCHER V5 — approved illustrated icon language ===== */
body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{width:min(980px,64vw)!important;max-width:980px!important;padding:20px 22px 24px!important}
body.book-heaven[data-page="launcher"] .launcher-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.launcher-hero{text-align:center;padding:4px 12px 12px;border-bottom:1px solid rgba(89,54,185,.12)}
.launcher-eyebrow{color:#5d2dbc;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.23em;text-transform:uppercase}
.launcher-hero h1{display:flex;align-items:center;justify-content:center;gap:15px;margin:3px 0 2px!important;color:#2d1a9c!important;font-family:var(--font-display)!important;font-size:clamp(50px,5.4vw,72px)!important;font-weight:400!important;line-height:.95!important;letter-spacing:.035em!important;text-transform:uppercase!important}
.launcher-hero h1::before,.launcher-hero h1::after{content:"";display:block;flex:0 0 70px;width:70px;height:43px;background:linear-gradient(145deg,#57bfff 0%,#6d5be7 48%,#a75bea 100%);clip-path:polygon(0 59%,18% 47%,39% 28%,29% 55%,52% 37%,44% 65%,69% 46%,57% 75%,83% 60%,67% 86%,100% 76%,75% 100%,49% 87%,24% 96%);filter:drop-shadow(0 0 7px rgba(112,76,225,.32))}.launcher-hero h1::after{transform:scaleX(-1)}
.launcher-subtitle{color:#2a168d;font-family:var(--font-display);font-size:clamp(14px,1.7vw,18px);font-weight:700;letter-spacing:.19em;text-transform:uppercase}.launcher-cross{margin:1px 0;color:#6338cd;font-family:var(--font-display);font-size:18px;line-height:1}.launcher-hero p{max-width:650px;margin:6px auto 0!important;color:#3d4276!important;font-size:12.5px!important;font-weight:600!important;line-height:1.45!important}
.launcher-group{margin-top:20px}.launcher-group-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 3px 9px}.launcher-group-head>div>span{display:block;color:#6a3bc6;font-size:9.5px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.launcher-group-head h2{margin:2px 0 0!important;color:#241579!important;font-family:var(--font-display)!important;font-size:20px!important;font-weight:700!important;letter-spacing:.01em!important}.launcher-group-head p{max-width:300px;margin:0!important;color:#777b9b!important;font-size:10.5px!important;font-weight:600!important;text-align:right}
.launcher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.launcher-card{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:178px;padding:12px 10px 11px;overflow:hidden;text-align:center;text-decoration:none!important;color:var(--ink)!important;background:linear-gradient(180deg,rgba(255,255,255,.995),rgba(249,247,255,.99))!important;border:1px solid rgba(91,54,188,.18)!important;border-radius:18px!important;box-shadow:0 8px 18px rgba(60,44,135,.075),inset 0 1px 0 #fff!important;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.launcher-card::before{content:"";position:absolute;inset:0 0 auto;height:46%;pointer-events:none;background:radial-gradient(circle at 50% 4%,rgba(192,173,255,.14),transparent 72%)}.launcher-card:is(:hover,:focus-visible){transform:translateY(-4px);border-color:rgba(102,54,206,.34)!important;box-shadow:0 13px 27px rgba(68,43,151,.14),0 0 17px rgba(138,90,234,.10)!important;outline:none}
.launcher-icon{position:relative;width:76px;height:76px;flex:0 0 76px;display:block;margin:0 auto 8px;border-radius:22px;overflow:hidden;background:#eff8ff;border:1px solid rgba(111,169,213,.26);box-shadow:0 8px 17px rgba(82,123,159,.12),0 0 0 4px rgba(255,255,255,.78)}.launcher-icon img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}.launcher-copy{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;min-width:0;width:100%}.launcher-copy strong{display:block;color:#2e198d;font-family:var(--font-display);font-size:14px;font-weight:700;line-height:1.15}.launcher-copy em{display:block;min-height:31px;margin-top:4px;color:#656a8b;font-family:var(--font-body);font-size:9.5px;font-style:normal;font-weight:600;line-height:1.35}.launcher-copy b{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:8px;color:#5b2abd;font-size:8.5px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.launcher-copy b span{font-size:12px;line-height:1}
.launcher-grid-featured{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.launcher-card-featured{min-height:205px;padding:14px 12px 12px;border-color:rgba(95,54,194,.24)!important;box-shadow:0 11px 25px rgba(60,44,135,.11),0 0 13px rgba(133,88,227,.07)!important}.launcher-card-featured .launcher-icon{width:90px;height:90px;flex-basis:90px;border-radius:25px;box-shadow:0 10px 22px rgba(82,123,159,.14),0 0 0 5px rgba(255,255,255,.84)}.launcher-card-featured .launcher-copy strong{font-size:16px}.launcher-card-featured .launcher-copy em{font-size:10px}.launcher-card-featured.tint-gold{background:linear-gradient(180deg,#fffdf5,#fff9e9)!important}.launcher-card-featured.tint-rose{background:linear-gradient(180deg,#fffafd,#fff4f8)!important}.launcher-card-featured.tint-blue{background:linear-gradient(180deg,#fbfdff,#f1f8ff)!important}.launcher-card-featured.tint-violet{background:linear-gradient(180deg,#fdfbff,#f6f2ff)!important}.launcher-kids .launcher-card{background:linear-gradient(180deg,#fff,#fbfbff)!important}
.launcher-more-links{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px;padding:11px 12px;border-top:1px solid rgba(88,54,185,.12)}.launcher-more-links a{color:#5130a6!important;font-size:10px;font-weight:800;text-decoration:none!important}.launcher-more-links a:hover{text-decoration:underline!important}.launcher-more-links span{color:#b2a3d7}
@media(max-width:1240px){body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{width:min(940px,78vw)!important}}
@media(max-width:900px){body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{width:calc(100% - 28px)!important;max-width:none!important}.launcher-grid,.launcher-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.launcher-group-head p{display:none}}
@media(max-width:560px){body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{width:calc(100% - 16px)!important;padding:16px 11px 18px!important;border-radius:20px!important}.launcher-hero h1{font-size:44px!important;gap:8px}.launcher-hero h1::before,.launcher-hero h1::after{width:42px;flex-basis:42px;height:27px}.launcher-grid,.launcher-grid-featured{gap:8px}.launcher-card,.launcher-card-featured{min-height:159px;padding:10px 8px}.launcher-icon,.launcher-card-featured .launcher-icon{width:66px;height:66px;flex-basis:66px;border-radius:19px}.launcher-copy strong,.launcher-card-featured .launcher-copy strong{font-size:13px}.launcher-copy em,.launcher-card-featured .launcher-copy em{font-size:8.8px;min-height:28px}.launcher-group-head h2{font-size:17px!important}}


/* --- Launcher v6: illustrated icon dashboard --- */
body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{width:min(1100px,74vw)!important;max-width:1100px!important;padding:18px 20px 22px!important}
body.book-heaven[data-page="launcher"] .launcher-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.launcher-hero{text-align:center;padding:4px 12px 14px;border-bottom:1px solid rgba(89,54,185,.12)}
.launcher-hero p{max-width:760px;margin:8px auto 0!important;color:#2f3f7a!important;font-size:14px!important;font-weight:600!important;line-height:1.45!important}
.launcher-tile-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-top:18px}
.launcher-tile,.launcher-quick-card{position:relative;display:flex;text-decoration:none!important;color:var(--ink)!important;background:linear-gradient(180deg,rgba(255,255,255,.995),rgba(249,247,255,.99))!important;border:1px solid rgba(91,54,188,.18)!important;border-radius:18px!important;box-shadow:0 8px 18px rgba(60,44,135,.075),inset 0 1px 0 #fff!important;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.launcher-tile::before,.launcher-quick-card::before{content:"";position:absolute;inset:0 0 auto;height:40%;pointer-events:none;background:radial-gradient(circle at 50% 5%,rgba(192,173,255,.14),transparent 72%)}
.launcher-tile:is(:hover,:focus-visible),.launcher-quick-card:is(:hover,:focus-visible){transform:translateY(-4px);border-color:rgba(102,54,206,.34)!important;box-shadow:0 13px 27px rgba(68,43,151,.14),0 0 17px rgba(138,90,234,.10)!important;outline:none}
.launcher-tile{min-height:236px;padding:12px 10px 13px;flex-direction:column;align-items:center;text-align:center}
.launcher-tile-icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;overflow:hidden;border-radius:24px;background:rgba(255,255,255,.8);box-shadow:0 8px 17px rgba(82,123,159,.08),0 0 0 4px rgba(255,255,255,.78)}
.launcher-tile-icon img{display:block;width:100%;height:100%;object-fit:contain}
.launcher-tile strong{display:block;color:#2e198d;font-family:var(--font-display);font-size:14px;font-weight:700;line-height:1.15;text-transform:uppercase}
.launcher-tile em{display:block;min-height:54px;margin-top:6px;color:#5d648a;font-family:var(--font-body);font-size:10px;font-style:normal;font-weight:600;line-height:1.38}
.launcher-tile b,.launcher-quick-copy b{display:inline-flex;align-items:center;justify-content:center;align-self:center;margin-top:auto;padding:9px 14px;border-radius:999px;background:linear-gradient(180deg,#7142ec,#5026ba);box-shadow:0 7px 16px rgba(84,42,180,.22);color:#fff;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.launcher-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.launcher-quick-card{align-items:center;gap:12px;min-height:164px;padding:16px}
.launcher-quick-icon{width:92px;height:92px;flex:0 0 92px;display:flex;align-items:center;justify-content:center;border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 8px 17px rgba(82,123,159,.08),0 0 0 4px rgba(255,255,255,.78)}
.launcher-quick-icon img{display:block;width:100%;height:100%;object-fit:contain}
.launcher-quick-copy{display:flex;flex:1;flex-direction:column;min-width:0}
.launcher-quick-copy strong{display:block;color:#2e198d;font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.1}
.launcher-quick-copy em{display:block;margin-top:7px;color:#545d84;font-family:var(--font-body);font-size:11px;font-style:normal;font-weight:600;line-height:1.45}
.launcher-quick-copy b{align-self:flex-start;margin-top:12px}
.launcher-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(88,54,185,.12)}
.launcher-stat{padding:10px 12px;border-radius:15px;border:1px solid rgba(91,54,188,.12);background:rgba(255,255,255,.58);text-align:center}
.launcher-stat span{display:block;color:#4120b1;font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1}
.launcher-stat small{display:block;margin-top:4px;color:#5d648a;font-size:10px;font-weight:800;line-height:1.3}
@media(max-width:1240px){body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{width:min(1040px,90vw)!important}.launcher-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{width:calc(100% - 28px)!important;max-width:none!important}.launcher-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.launcher-quick-grid{grid-template-columns:1fr}.launcher-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{width:calc(100% - 16px)!important;padding:16px 11px 18px!important;border-radius:20px!important}.launcher-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.launcher-tile{min-height:220px;padding:10px 8px 11px}.launcher-tile-icon{width:84px;height:84px}.launcher-tile em{min-height:44px;font-size:9px}.launcher-quick-card{padding:14px;gap:10px;min-height:150px}.launcher-quick-icon{width:78px;height:78px;flex-basis:78px}.launcher-quick-copy strong{font-size:16px}.launcher-quick-copy em{font-size:10px}.launcher-stats{grid-template-columns:1fr 1fr;gap:8px}}

/* ======================================================================
   V8 RESPONSIVE + CONTENT AUDIT FIXES — 2026-08-12
   Launcher crop repair, Apostles gallery, portrait/landscape hardening.
   ====================================================================== */

/* Never allow content modules to create accidental horizontal overflow. */
body.book-heaven .celestial-page-panel,
body.book-heaven .celestial-page-panel main,
body.book-heaven .celestial-page-panel section,
body.book-heaven .celestial-page-panel article,
body.book-heaven .celestial-page-panel div{min-width:0}
body.book-heaven .celestial-page-panel img{max-width:100%;height:auto}

/* Launcher illustrations are complete artwork, never cover-cropped. */
body.book-heaven[data-page="launcher"] :is(.launcher-tile-icon,.launcher-quick-icon){overflow:hidden!important;background:linear-gradient(180deg,#fdfcff,#f8f6ff)!important}
body.book-heaven[data-page="launcher"] :is(.launcher-tile-icon,.launcher-quick-icon) img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;padding:3px!important}

/* Saints & Apostles restored gallery. */
body.book-heaven[data-page="saints"] .apostles-section{margin:34px 0 10px;padding-top:26px;border-top:1px solid rgba(88,54,185,.14)}
body.book-heaven[data-page="saints"] .apostles-heading{text-align:center;max-width:720px;margin:0 auto 18px}
body.book-heaven[data-page="saints"] .apostles-heading h2{margin:4px 0 7px!important;color:#28168b!important;font-size:clamp(1.8rem,4vw,2.6rem)!important}
body.book-heaven[data-page="saints"] .apostles-heading p{margin:0!important;color:#5a6086!important}
body.book-heaven[data-page="saints"] .apostles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
body.book-heaven[data-page="saints"] .apostle-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#faf8ff);box-shadow:var(--card-shadow)}
body.book-heaven[data-page="saints"] .apostle-image{aspect-ratio:1/1;overflow:hidden;background:#f3efff}
body.book-heaven[data-page="saints"] .apostle-image img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important}
body.book-heaven[data-page="saints"] .apostle-copy{padding:12px 12px 13px;text-align:center}
body.book-heaven[data-page="saints"] .apostle-copy h3{margin:0!important;color:#2e198d!important;font-size:1.05rem!important}
body.book-heaven[data-page="saints"] .apostle-copy p{min-height:40px;margin:5px 0 9px!important;color:#5b6286!important;font-size:.76rem!important;line-height:1.35!important}
body.book-heaven[data-page="saints"] .apostle-meta{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}
body.book-heaven[data-page="saints"] .apostle-meta span{padding:5px 8px;border-radius:999px;background:#f1ecff;color:#5b31b6;font-size:.62rem;font-weight:850}

/* Tablet/portrait: use the page width efficiently without covering all of Heaven. */
@media (max-width:980px){
  body.book-heaven .celestial-page-panel,
  body.book-heaven[data-page="rosary"] .celestial-page-panel,
  body.book-heaven[data-page="matching-game"] .celestial-page-panel,
  body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
  body.book-heaven[data-page="remember-order"] .celestial-page-panel,
  body.book-heaven[data-page="armour"] .celestial-page-panel{
    width:calc(100% - 24px)!important;max-width:940px!important;margin:12px auto!important
  }
  body.book-heaven[data-page="saints"] .apostles-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:760px){
  body.book-heaven :is(.header,.site-header,.site-head,.ga-header,.ws-header,header.celestial-header,.site>header){
    width:100%!important;min-height:56px!important;padding:6px 8px!important;border-radius:0 0 13px 13px!important;overflow:hidden!important
  }
  body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav){min-width:0!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;scroll-snap-type:x proximity}
  body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{scroll-snap-align:start;min-height:36px!important}
  body.book-heaven .celestial-page-panel{width:calc(100% - 14px)!important;margin:8px auto 10px!important;padding:12px 9px 15px!important}
  .celestial-masthead{margin-bottom:10px!important;padding-bottom:10px!important}
  body.book-heaven[data-page="saints"] .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  body.book-heaven[data-page="saints"] .apostles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  body.book-heaven[data-page="saints"] .apostle-copy{padding:10px 8px}
  body.book-heaven[data-page="saints"] .apostle-copy p{min-height:0;font-size:.7rem!important}
  body.book-heaven[data-page="miracles"] .stories{grid-template-columns:1fr!important}
  body.book-heaven[data-page="miracles"] .discernment{grid-template-columns:1fr!important}
  body.book-heaven[data-page="trinity"] :is(.persons,.light-buttons){grid-template-columns:1fr!important}
  body.book-heaven[data-page="shop"] .shop-hero{grid-template-columns:1fr!important}
}

@media (max-width:480px){
  body.book-heaven .celestial-page-panel{width:calc(100% - 10px)!important;padding:11px 7px 14px!important;border-radius:17px!important}
  body.book-heaven[data-page="saints"] .grid{grid-template-columns:1fr!important}
  body.book-heaven[data-page="saints"] .apostles-grid{grid-template-columns:1fr 1fr!important}
  body.book-heaven[data-page="saints"] .apostle-copy h3{font-size:.92rem!important}
  body.book-heaven[data-page="saints"] .apostle-meta span{font-size:.56rem;padding:4px 6px}
}

/* Short landscape: compact the chrome but retain horizontal navigation and natural page scroll. */
@media (orientation:landscape) and (max-height:620px) and (max-width:1100px){
  body.book-heaven:not([data-page="rosary"]){overflow-y:auto!important}
  body.book-heaven:not([data-page="rosary"]) :is(.header,.site-header,.site-head,.ga-header,.ws-header,header.celestial-header,.site>header){
    min-height:44px!important;height:44px!important;padding:3px 7px!important;gap:5px!important;border-radius:0!important
  }
  body.book-heaven:not([data-page="rosary"]) .brand-emblem{width:32px!important;height:32px!important;flex-basis:32px!important;font-size:19px!important}
  body.book-heaven:not([data-page="rosary"]) .brand-words{display:none!important}
  body.book-heaven:not([data-page="rosary"]) :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav){min-height:36px!important;padding:0!important}
  body.book-heaven:not([data-page="rosary"]) :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{min-height:32px!important;padding:6px 7px!important;font-size:8.5px!important}
  body.book-heaven:not([data-page="rosary"]) .celestial-page-panel{width:calc(100% - 16px)!important;max-width:none!important;margin:7px auto!important;padding:10px!important}
  body.book-heaven:not([data-page="rosary"]) .celestial-masthead{margin-bottom:8px!important;padding:0 6px 8px!important}
  body.book-heaven:not([data-page="rosary"]) .celestial-masthead .cm-welcome{display:none!important}
  body.book-heaven:not([data-page="rosary"]) .celestial-masthead .cm-brand{font-size:31px!important;gap:5px!important}
  body.book-heaven:not([data-page="rosary"]) .celestial-masthead .cm-brand::before,
  body.book-heaven:not([data-page="rosary"]) .celestial-masthead .cm-brand::after{width:30px!important;flex-basis:30px!important;height:20px!important}
  body.book-heaven:not([data-page="rosary"]) .celestial-masthead .cm-page{font-size:15px!important}
  body.book-heaven:not([data-page="rosary"]) .celestial-masthead .cm-sub{font-size:10px!important}
  body.book-heaven:not([data-page="rosary"]) :is(.footer,.ga-footer,.celestial-footer){width:calc(100% - 16px)!important;margin-bottom:6px!important}

  /* Launcher becomes a compact app grid in landscape phones/tablets. */
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{width:calc(100% - 16px)!important;max-width:none!important;padding:9px 11px!important}
  body.book-heaven[data-page="launcher"] .launcher-hero{padding-bottom:7px!important}
  body.book-heaven[data-page="launcher"] .launcher-eyebrow,body.book-heaven[data-page="launcher"] .launcher-cross{display:none!important}
  body.book-heaven[data-page="launcher"] .launcher-hero h1{font-size:34px!important}
  body.book-heaven[data-page="launcher"] .launcher-subtitle{font-size:11px!important}
  body.book-heaven[data-page="launcher"] .launcher-hero p{display:none!important}
  body.book-heaven[data-page="launcher"] .launcher-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin-top:9px!important}
  body.book-heaven[data-page="launcher"] .launcher-tile{min-height:150px!important;padding:7px!important}
  body.book-heaven[data-page="launcher"] .launcher-tile-icon{width:64px!important;height:64px!important;margin-bottom:5px!important}
  body.book-heaven[data-page="launcher"] .launcher-tile strong{font-size:10px!important}
  body.book-heaven[data-page="launcher"] .launcher-tile em{display:none!important}
  body.book-heaven[data-page="launcher"] .launcher-tile b{padding:6px 10px!important;font-size:7.5px!important}
  body.book-heaven[data-page="launcher"] .launcher-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-top:8px!important}
  body.book-heaven[data-page="launcher"] .launcher-quick-card{min-height:90px!important;padding:8px!important;gap:7px!important}
  body.book-heaven[data-page="launcher"] .launcher-quick-icon{width:52px!important;height:52px!important;flex-basis:52px!important}
  body.book-heaven[data-page="launcher"] .launcher-quick-copy strong{font-size:11px!important}
  body.book-heaven[data-page="launcher"] .launcher-quick-copy em{display:none!important}
  body.book-heaven[data-page="launcher"] .launcher-quick-copy b{padding:5px 8px!important;font-size:7px!important;margin-top:5px!important}
  body.book-heaven[data-page="launcher"] .launcher-stats{display:none!important}
}


/* ======================================================================
   V9 MOCKUP-LOCK — approved bright celestial reference
   Final presentation layer: matches the approved mockup proportions,
   typography, cards, buttons, navigation and Rosary visual language.
   ====================================================================== */

:root{
  --mockup-navy:#05184a;
  --mockup-navy-2:#08235f;
  --mockup-ink:#121b70;
  --mockup-purple:#4d25b8;
  --mockup-purple-2:#7446df;
  --mockup-line:rgba(91,58,190,.23);
  --mockup-paper:rgba(255,255,255,.985);
  --mockup-paper-2:rgba(251,249,255,.975);
  --mockup-shadow:0 18px 52px rgba(23,20,93,.27),0 0 22px rgba(143,92,235,.18);
}

/* Celestial world should always frame the white book page. */
body.book-heaven>.celestial-world-bg{
  background:
    linear-gradient(180deg,rgba(14,13,73,.01),rgba(13,13,70,.035) 72%,rgba(3,14,58,.13)),
    url('theme-backgrounds/bright-gateway-world.webp?v=20260812-18') center top/cover no-repeat!important;
}

/* Top chrome: same visual balance as the approved mockup. */
body.book-heaven :is(.header,.site-header,.site-head,.ga-header,.ws-header,header.celestial-header,.site>header){
  width:min(1440px,calc(100% - 70px))!important;
  min-height:72px!important;
  grid-template-columns:280px minmax(600px,714px) 220px!important;
  gap:14px!important;
  padding:7px 0!important;
}
body.book-heaven :is(.brand,.brand-cross-logo,.ga-brand,.ws-brand){gap:10px!important;padding-left:8px!important}
body.book-heaven .brand-emblem{
  position:relative!important;
  width:48px!important;height:48px!important;flex-basis:48px!important;
  overflow:visible!important;
}
body.book-heaven .brand-emblem::before,body.book-heaven .brand-emblem::after{
  content:""!important;position:absolute!important;top:21px!important;width:20px!important;height:15px!important;
  background:linear-gradient(145deg,#75cfff,#8062ef 50%,#c583ff)!important;
  clip-path:polygon(0 58%,22% 42%,47% 25%,35% 59%,68% 38%,54% 75%,100% 56%,69% 100%,40% 78%)!important;
  filter:drop-shadow(0 0 5px rgba(125,83,237,.45))!important;
  opacity:.95!important;
}
body.book-heaven .brand-emblem::before{left:-17px!important}
body.book-heaven .brand-emblem::after{right:-17px!important;transform:scaleX(-1)!important}
body.book-heaven .brand-words strong{font-size:23px!important}
body.book-heaven .brand-words small{font-size:8px!important}
body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav){
  max-width:714px!important;min-height:58px!important;padding:7px 12px!important;
  border-radius:0 0 16px 16px!important;
  background:linear-gradient(180deg,rgba(3,16,53,.995),rgba(5,27,75,.99))!important;
}
body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{padding:10px 10px!important;font-size:10px!important}
body.book-heaven :is(.share-top,.share){min-width:168px!important;min-height:38px!important;border-radius:11px!important;font-size:10px!important}

/* The mockup's defining element: a narrower pearl book page with Heaven visible on both sides. */
body.book-heaven .celestial-page-panel,
body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,
body.book-heaven[data-page="rosary"] .celestial-page-panel,
body.book-heaven[data-page="matching-game"] .celestial-page-panel,
body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
body.book-heaven[data-page="remember-order"] .celestial-page-panel,
body.book-heaven[data-page="armour"] .celestial-page-panel{
  width:min(900px,calc(100vw - 430px))!important;
  max-width:900px!important;
  margin:18px auto 13px!important;
  padding:18px 21px 20px!important;
  border:2px solid rgba(151,113,232,.37)!important;
  border-radius:24px!important;
  background:radial-gradient(circle at 50% -8%,rgba(238,232,255,.30),transparent 28rem),linear-gradient(180deg,var(--mockup-paper),var(--mockup-paper-2))!important;
  box-shadow:var(--mockup-shadow)!important;
}
body.book-heaven .celestial-page-panel::before{inset:6px!important;border-radius:18px!important}

/* Shared masthead dimensions match the mockup instead of oversizing individual pages. */
.celestial-masthead{margin:0 auto 12px!important;padding:2px 8px 11px!important}
.celestial-masthead .cm-welcome{font-size:11px!important;letter-spacing:.23em!important}
.celestial-masthead .cm-brand{font-size:clamp(46px,4.8vw,66px)!important;gap:13px!important;line-height:.94!important}
.celestial-masthead .cm-brand::before,.celestial-masthead .cm-brand::after{width:62px!important;flex-basis:62px!important;height:40px!important}
.celestial-masthead .cm-page{margin-top:6px!important;font-size:clamp(18px,2vw,26px)!important;letter-spacing:.13em!important}
.celestial-masthead .cm-sub{max-width:700px!important;margin-top:5px!important;font-size:12.5px!important;line-height:1.4!important}

/* Common inner cards: light, fine lavender border, almost no heavy shadow. */
body.book-heaven .celestial-page-panel :is(
 .panel,.daily-card,.feature,.quote-card,.saint-card,.devotion,.prayer-card,.guide-card,.rosary-card,.prayer-box,.trinity-panel,.timer-panel,.audio-panel,.prayer-panel,.sanctuary,.sheet-panel,.final-inner,.ga-panel,.ga-module,.ga-center,.ga-completion,.ga-prayer-scroll,.ga-heaven-note,.activity-card,.game-card,.hub-card,.tile,.launcher-tile,.widget,.story-card,.miracle-card,.railcard,.module,.ws-panel,.ws-gridcard,.ws-wordlist,.ws-tool,.kids-activity-card,.shop-hero,.shop-strip,.apostle-card
){
  background:linear-gradient(180deg,#fff,#fbfaff)!important;
  border:1px solid var(--mockup-line)!important;
  border-radius:15px!important;
  box-shadow:0 5px 14px rgba(55,40,125,.055)!important;
}
body.book-heaven .celestial-page-panel :is(.panel,.daily-card,.saint-card,.module,.ga-module,.ws-panel,.kids-activity-card,.apostle-card):hover{
  transform:none!important;border-color:rgba(91,58,190,.34)!important;box-shadow:0 7px 17px rgba(55,40,125,.08)!important
}

/* Buttons in the mockup are compact purple bars, not oversized pills. */
body.book-heaven .celestial-page-panel :is(.btn,.button,.primary,.action,.next,.mode-btn,.mystery-btn,.share321,.open,.tool,.navbtn,.allbtn,.offer-button,.begin-button,.light-next,.listen-button){
  min-height:28px!important;
  padding:7px 13px!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,#7547e4,#4d22b5)!important;
  color:#fff!important;
  border:1px solid rgba(77,34,181,.12)!important;
  box-shadow:0 4px 9px rgba(73,35,168,.16)!important;
  font-size:9px!important;font-weight:850!important;letter-spacing:.04em!important;text-transform:uppercase!important;
}
body.book-heaven .celestial-page-panel .prev{min-height:28px!important;border-radius:8px!important;padding:7px 10px!important}

/* ----- HOME / LAUNCHER: exact 7 + 3 mockup composition ----- */
body.book-heaven[data-page="launcher"] .launcher-hero{padding:2px 8px 11px!important}
body.book-heaven[data-page="launcher"] .launcher-hero h1{font-size:clamp(50px,5vw,68px)!important;gap:13px!important}
body.book-heaven[data-page="launcher"] .launcher-hero h1::before,body.book-heaven[data-page="launcher"] .launcher-hero h1::after{width:62px!important;flex-basis:62px!important;height:40px!important}
body.book-heaven[data-page="launcher"] .launcher-hero p{max-width:650px!important;margin:6px auto 0!important;font-size:12.5px!important;line-height:1.4!important}
body.book-heaven[data-page="launcher"] .launcher-tile-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:9px!important;margin-top:13px!important}
body.book-heaven[data-page="launcher"] .launcher-tile{
  min-height:238px!important;padding:10px 7px 11px!important;border-radius:15px!important;
}
body.book-heaven[data-page="launcher"] .launcher-tile-icon{
  width:88px!important;height:88px!important;margin:0 auto 8px!important;border-radius:18px!important;
  background:transparent!important;box-shadow:none!important;
}
body.book-heaven[data-page="launcher"] .launcher-tile-icon img{width:100%!important;height:100%!important;object-fit:contain!important;padding:0!important}
body.book-heaven[data-page="launcher"] .launcher-tile strong{font-size:12.5px!important;letter-spacing:.01em!important}
body.book-heaven[data-page="launcher"] .launcher-tile em{min-height:57px!important;margin-top:5px!important;font-size:9.4px!important;line-height:1.38!important}
body.book-heaven[data-page="launcher"] .launcher-tile b{padding:7px 13px!important;border-radius:8px!important;font-size:8px!important;box-shadow:0 4px 9px rgba(73,35,168,.15)!important}
body.book-heaven[data-page="launcher"] .launcher-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:11px!important}
body.book-heaven[data-page="launcher"] .launcher-quick-card{min-height:145px!important;padding:12px!important;gap:10px!important;border-radius:14px!important}
body.book-heaven[data-page="launcher"] .launcher-quick-icon{width:70px!important;height:70px!important;flex-basis:70px!important;border-radius:14px!important;background:transparent!important;box-shadow:none!important}
body.book-heaven[data-page="launcher"] .launcher-quick-icon img{padding:0!important}
body.book-heaven[data-page="launcher"] .launcher-quick-copy strong{font-size:14px!important;text-transform:uppercase!important}
body.book-heaven[data-page="launcher"] .launcher-quick-copy em{margin-top:5px!important;font-size:10px!important;line-height:1.4!important}
body.book-heaven[data-page="launcher"] .launcher-quick-copy b{margin-top:8px!important;padding:7px 12px!important;border-radius:8px!important;font-size:8px!important}
body.book-heaven[data-page="launcher"] .launcher-stats{gap:7px!important;margin-top:10px!important;padding-top:9px!important}
body.book-heaven[data-page="launcher"] .launcher-stat{padding:7px 8px!important;border-radius:11px!important;background:#fff!important}
body.book-heaven[data-page="launcher"] .launcher-stat span{font-size:22px!important}
body.book-heaven[data-page="launcher"] .launcher-stat small{font-size:8px!important}
body.book-heaven[data-page="launcher"] .launcher-more-links{margin-top:9px!important;padding:8px 10px!important}

/* ----- TODAY ----- */
body.book-heaven[data-page="today"] .daily-card{border-radius:15px!important;overflow:hidden!important}
body.book-heaven[data-page="today"] .scripture{padding:16px 16px 14px!important;background:linear-gradient(180deg,#faf7ff,#fff)!important}
body.book-heaven[data-page="today"] .prayer{padding:16px!important;background:#fff!important}
body.book-heaven[data-page="today"] .reference{font-size:.84rem!important}

/* ----- SAINTS + APOSTLES: clean portrait cards like the reference ----- */
body.book-heaven[data-page="saints"] .grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}
body.book-heaven[data-page="saints"] .saint-card{overflow:hidden!important;border-radius:14px!important}
body.book-heaven[data-page="saints"] .saint-image{aspect-ratio:1.28/1!important;overflow:hidden!important;background:#f4efff!important}
body.book-heaven[data-page="saints"] .saint-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important}
body.book-heaven[data-page="saints"] .saint-card .card-copy{padding:10px!important;text-align:center!important}
body.book-heaven[data-page="saints"] .saint-card h2{font-size:1.02rem!important;margin:4px 0!important}
body.book-heaven[data-page="saints"] .saint-card .role{min-height:34px!important;font-size:.7rem!important;line-height:1.35!important}
body.book-heaven[data-page="saints"] .themes{justify-content:center!important}
body.book-heaven[data-page="saints"] .apostles-section{margin-top:26px!important;padding-top:20px!important}
body.book-heaven[data-page="saints"] .apostles-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}
body.book-heaven[data-page="saints"] .apostle-image{aspect-ratio:1.28/1!important}
body.book-heaven[data-page="saints"] .apostle-copy{padding:9px!important}

/* ----- MIRACLES ----- */
body.book-heaven[data-page="miracles"] .stories{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
body.book-heaven[data-page="miracles"] .story{overflow:hidden!important}
body.book-heaven[data-page="miracles"] .story img{width:100%!important;aspect-ratio:1.55/1!important;object-fit:cover!important}
body.book-heaven[data-page="miracles"] .story h2,body.book-heaven[data-page="miracles"] .story h3{font-size:1rem!important}

/* ----- ROSARY: the interactive page keeps its function but visually follows the mockup. ----- */
body.book-heaven[data-page="rosary"] .celestial-page-panel{max-width:920px!important;width:min(920px,calc(100vw - 410px))!important;padding:16px 18px 18px!important}
body.book-heaven[data-page="rosary"] .mystery-picker{gap:6px!important;margin:0 auto 13px!important}
body.book-heaven[data-page="rosary"] .mystery-btn{padding:7px 10px!important;font-size:8.5px!important}
body.book-heaven[data-page="rosary"] .rosary-layout{grid-template-columns:minmax(0,42%) minmax(0,58%)!important;gap:12px!important;align-items:stretch!important}
body.book-heaven[data-page="rosary"] .rosary-card{min-height:570px!important;padding:15px!important;grid-template-rows:auto 1fr auto!important}
body.book-heaven[data-page="rosary"] .visual-head h2{font-size:1.3rem!important;color:#2e198d!important}
body.book-heaven[data-page="rosary"] .visual-head p,body.book-heaven[data-page="rosary"] .rosary-caption{color:#5d648a!important}
body.book-heaven[data-page="rosary"] .rosary-stage{min-height:420px!important}
body.book-heaven[data-page="rosary"] .rosary-svg{width:min(100%,390px)!important}
body.book-heaven[data-page="rosary"] .cord,body.book-heaven[data-page="rosary"] .connector-line{stroke:rgba(100,69,202,.44)!important}
body.book-heaven[data-page="rosary"] .bead{fill:#ddd1ff!important;stroke:#6540c6!important;stroke-width:2!important}
body.book-heaven[data-page="rosary"] .bead.large{fill:#c6b3ff!important}
body.book-heaven[data-page="rosary"] .bead.completed{fill:#7650dc!important;stroke:#a990f1!important;filter:drop-shadow(0 0 6px rgba(118,80,220,.35))!important}
body.book-heaven[data-page="rosary"] .bead.current{fill:#ffffff!important;stroke:#6e45d4!important;filter:drop-shadow(0 0 9px rgba(111,72,211,.55))!important}
body.book-heaven[data-page="rosary"] .medallion{fill:#f4efff!important;stroke:#6741c9!important}
body.book-heaven[data-page="rosary"] .medallion-ring,body.book-heaven[data-page="rosary"] .medallion-detail,body.book-heaven[data-page="rosary"] .medallion-monogram{stroke:#7048cf!important}
body.book-heaven[data-page="rosary"] .cross-line{stroke:#6941c8!important}
body.book-heaven[data-page="rosary"] .cross-body{fill:#d9ceff!important;stroke:#6941c8!important}
body.book-heaven[data-page="rosary"] .cross-highlight{fill:#fff!important;stroke:#9a7bec!important}
body.book-heaven[data-page="rosary"] .guide-card{padding:16px!important}
body.book-heaven[data-page="rosary"] .guide-card h2{font-size:clamp(1.55rem,2.5vw,2.1rem)!important;color:#2e198d!important}
body.book-heaven[data-page="rosary"] .progress-row{margin-bottom:11px!important;color:#62688f!important}
body.book-heaven[data-page="rosary"] .progress-track{background:#eee9fb!important}
body.book-heaven[data-page="rosary"] .progress-fill{background:linear-gradient(90deg,#9b7bea,#5d35c0)!important}
body.book-heaven[data-page="rosary"] .prayer-box{min-height:235px!important;margin:14px 0 12px!important;padding:15px!important;background:linear-gradient(180deg,#fff,#faf8ff)!important}
body.book-heaven[data-page="rosary"] .prayer-name{color:#5b31b6!important;margin-bottom:9px!important}
body.book-heaven[data-page="rosary"] .prayer-text{color:#19206d!important;font-size:.97rem!important;line-height:1.58!important}
body.book-heaven[data-page="rosary"] .count-note{color:#6d7192!important}
body.book-heaven[data-page="rosary"] .actions{gap:7px!important}
body.book-heaven[data-page="rosary"] .next{min-height:34px!important}

/* ----- SHOP ----- */
body.book-heaven[data-page="shop"] .shop-hero{gap:16px!important;padding:12px!important}
body.book-heaven[data-page="shop"] .shop-photo{border-radius:13px!important;overflow:hidden!important}
body.book-heaven[data-page="shop"] .shop-copy h2{font-size:1.65rem!important;color:#2c198f!important}
body.book-heaven[data-page="shop"] .shop-strip{padding:12px!important}

/* Footer has the same dark navy framed bar as the mockup. */
body.book-heaven :is(.footer,.ga-footer,.celestial-footer){
  width:min(1440px,calc(100% - 88px))!important;
  margin:0 auto 10px!important;
  padding:15px 24px 12px!important;
  border-radius:16px!important;
  background:linear-gradient(90deg,rgba(3,20,61,.995),rgba(6,33,82,.99),rgba(3,20,61,.995))!important;
  border:1px solid rgba(139,110,239,.30)!important;
  box-shadow:0 10px 28px rgba(0,10,45,.20)!important;
}
.celestial-footer-grid{grid-template-columns:1.35fr repeat(3,1fr)!important;gap:18px!important}
.celestial-footer .footer-quote{font-size:15px!important;line-height:1.42!important;padding-left:76px!important}
.celestial-footer h3{font-size:9.5px!important}.celestial-footer a{font-size:10px!important}
.celestial-footer .footer-bottom{font-size:9px!important}

/* Responsive behaviour keeps the mockup hierarchy rather than just shrinking desktop. */
@media(max-width:1280px){
  body.book-heaven :is(.header,.site-header,.site-head,.ga-header,.ws-header,header.celestial-header,.site>header){width:calc(100% - 26px)!important;grid-template-columns:210px minmax(0,1fr) 150px!important}
  body.book-heaven .celestial-page-panel,body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,body.book-heaven[data-page="rosary"] .celestial-page-panel,body.book-heaven[data-page="matching-game"] .celestial-page-panel,body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,body.book-heaven[data-page="remember-order"] .celestial-page-panel,body.book-heaven[data-page="armour"] .celestial-page-panel{width:min(900px,82vw)!important}
  body.book-heaven[data-page="launcher"] .launcher-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.book-heaven[data-page="saints"] .grid,body.book-heaven[data-page="saints"] .apostles-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  body.book-heaven :is(.header,.site-header,.site-head,.ga-header,.ws-header,header.celestial-header,.site>header){display:flex!important;width:100%!important;min-height:60px!important;padding:7px 9px!important;border-radius:0 0 14px 14px!important;background:rgba(4,20,61,.97)!important}
  body.book-heaven :is(.brand,.brand-cross-logo,.ga-brand,.ws-brand){padding-left:0!important}
  body.book-heaven .brand-emblem::before,body.book-heaven .brand-emblem::after{display:none!important}
  body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav){flex:1 1 auto!important;min-width:0!important;min-height:42px!important;justify-content:flex-start!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
  body.book-heaven :is(.share-top,.share){display:none!important}
  body.book-heaven .celestial-page-panel,body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,body.book-heaven[data-page="rosary"] .celestial-page-panel,body.book-heaven[data-page="matching-game"] .celestial-page-panel,body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,body.book-heaven[data-page="remember-order"] .celestial-page-panel,body.book-heaven[data-page="armour"] .celestial-page-panel{width:calc(100% - 24px)!important;max-width:900px!important;margin:11px auto!important}
  body.book-heaven[data-page="launcher"] .launcher-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.book-heaven[data-page="launcher"] .launcher-quick-grid{grid-template-columns:1fr!important}
  body.book-heaven[data-page="rosary"] .rosary-layout{grid-template-columns:1fr!important}
  body.book-heaven[data-page="rosary"] .rosary-card{min-height:520px!important}
  body.book-heaven[data-page="rosary"] .rosary-stage{min-height:360px!important}
  body.book-heaven[data-page="saints"] .grid,body.book-heaven[data-page="saints"] .apostles-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.book-heaven[data-page="miracles"] .stories{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.book-heaven :is(.footer,.ga-footer,.celestial-footer){width:calc(100% - 24px)!important}
}
@media(max-width:600px){
  body.book-heaven .celestial-page-panel,body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,body.book-heaven[data-page="rosary"] .celestial-page-panel,body.book-heaven[data-page="matching-game"] .celestial-page-panel,body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,body.book-heaven[data-page="remember-order"] .celestial-page-panel,body.book-heaven[data-page="armour"] .celestial-page-panel{width:calc(100% - 12px)!important;margin:7px auto!important;padding:12px 8px 15px!important;border-radius:18px!important}
  .celestial-masthead .cm-brand{font-size:clamp(34px,12vw,48px)!important;gap:6px!important}
  .celestial-masthead .cm-brand::before,.celestial-masthead .cm-brand::after{width:34px!important;flex-basis:34px!important;height:24px!important}
  .celestial-masthead .cm-page{font-size:17px!important;letter-spacing:.08em!important}
  body.book-heaven[data-page="launcher"] .launcher-hero h1{font-size:43px!important;gap:7px!important}
  body.book-heaven[data-page="launcher"] .launcher-hero h1::before,body.book-heaven[data-page="launcher"] .launcher-hero h1::after{width:38px!important;flex-basis:38px!important;height:27px!important}
  body.book-heaven[data-page="launcher"] .launcher-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body.book-heaven[data-page="launcher"] .launcher-tile{min-height:207px!important;padding:9px 6px!important}
  body.book-heaven[data-page="launcher"] .launcher-tile-icon{width:76px!important;height:76px!important}
  body.book-heaven[data-page="launcher"] .launcher-tile em{min-height:45px!important;font-size:8.8px!important}
  body.book-heaven[data-page="launcher"] .launcher-quick-card{min-height:125px!important;padding:10px!important}
  body.book-heaven[data-page="launcher"] .launcher-stats{grid-template-columns:1fr 1fr!important}
  body.book-heaven[data-page="saints"] .grid{grid-template-columns:1fr!important}
  body.book-heaven[data-page="saints"] .apostles-grid{grid-template-columns:1fr 1fr!important}
  body.book-heaven[data-page="miracles"] .stories{grid-template-columns:1fr!important}
  body.book-heaven[data-page="rosary"] .rosary-card{min-height:480px!important;padding:12px!important}
  body.book-heaven[data-page="rosary"] .rosary-stage{min-height:330px!important}
  body.book-heaven[data-page="rosary"] .guide-card{padding:13px!important}
  body.book-heaven[data-page="rosary"] .prayer-box{min-height:210px!important;padding:12px!important}
  body.book-heaven :is(.footer,.ga-footer,.celestial-footer){width:calc(100% - 12px)!important;padding:13px!important}
}

/* Landscape phones/tablets: remain responsive and scroll naturally. Rosary's existing
   dedicated prayer mode below this layer still takes precedence where required. */
@media (orientation:landscape) and (max-height:620px) and (max-width:1100px){
  body.book-heaven:not([data-page="rosary"]) .celestial-page-panel{width:calc(100% - 18px)!important;max-width:none!important}
  body.book-heaven[data-page="launcher"] .launcher-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.book-heaven[data-page="launcher"] .launcher-tile{min-height:145px!important}
  body.book-heaven[data-page="launcher"] .launcher-tile-icon{width:60px!important;height:60px!important}
  body.book-heaven[data-page="launcher"] .launcher-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* V9 final Rosary orientation safeguard — must sit after the mockup lock. */
@media (orientation:landscape) and (max-height:680px){
  body.book-heaven[data-page="rosary"]{overflow:hidden!important;background:#071846!important}
  body.book-heaven[data-page="rosary"] .celestial-page-panel{
    width:100%!important;max-width:none!important;height:calc(100dvh - 44px)!important;
    margin:0!important;padding:0!important;background:transparent!important;border:0!important;
    border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:hidden!important
  }
  body.book-heaven[data-page="rosary"] .celestial-page-panel::before,
  body.book-heaven[data-page="rosary"] .celestial-masthead{display:none!important}
  body.book-heaven[data-page="rosary"] :is(.header,.site-header,.site-head){
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;width:100%!important;
    height:44px!important;min-height:44px!important;padding:3px 8px!important;background:rgba(5,22,64,.98)!important;border-radius:0!important
  }
  body.book-heaven[data-page="rosary"] :is(.nav,.top-nav,.topnav){
    grid-column:2!important;min-height:34px!important;background:transparent!important;border:0!important;
    box-shadow:none!important;padding:0!important;justify-content:flex-start!important
  }
  body.book-heaven[data-page="rosary"] .rosary-layout{grid-template-columns:minmax(0,42%) minmax(0,58%)!important;gap:8px!important;height:100%!important;padding:6px!important}
  body.book-heaven[data-page="rosary"] .rosary-card{min-height:0!important;height:100%!important;padding:8px!important;overflow:hidden!important}
  body.book-heaven[data-page="rosary"] .rosary-stage{min-height:0!important;height:min(68vh,360px)!important}
  body.book-heaven[data-page="rosary"] .rosary-svg{width:auto!important;height:100%!important;max-width:100%!important}
  body.book-heaven[data-page="rosary"] .guide-card{height:100%!important;overflow-y:auto!important;padding:10px!important}
  body.book-heaven[data-page="rosary"] .mystery-picker{margin:0 0 6px!important;gap:4px!important}
  body.book-heaven[data-page="rosary"] .mystery-btn{padding:5px 7px!important;font-size:7px!important}
  body.book-heaven[data-page="rosary"] .prayer-box{min-height:0!important;margin:7px 0!important;padding:9px!important}
  body.book-heaven[data-page="rosary"] .prayer-text{font-size:.82rem!important;line-height:1.38!important}
}
@media (orientation:landscape) and (max-height:430px){
  body.book-heaven[data-page="rosary"] .celestial-page-panel{height:100dvh!important}
  body.book-heaven[data-page="rosary"] :is(.header,.site-header,.site-head){display:none!important}
}


/* V10 visible merchandise feature */
.launcher-merch-feature{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px;align-items:center;margin-top:16px;padding:14px;border:1px solid rgba(93,54,190,.16);border-radius:18px;background:linear-gradient(100deg,#fbf8ff,#fff);box-shadow:0 8px 20px rgba(60,43,137,.06)}.launcher-merch-image{min-height:160px;border-radius:14px;overflow:hidden;background:#f4efff;display:grid;place-items:center}.launcher-merch-image img{width:100%;height:100%;max-height:210px;object-fit:contain}.launcher-merch-copy span{display:block;color:#6b3ccc;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.launcher-merch-copy h2{margin:3px 0 5px!important;color:#2e188d!important;font-family:var(--font-display)!important;font-size:25px!important}.launcher-merch-copy p{margin:0!important;color:#5d6485!important;font-size:11px!important;line-height:1.45!important}.launcher-merch-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.launcher-redbubble-link{color:#5d2dc4!important;font-size:10px;font-weight:800;text-decoration:none!important}@media(max-width:700px){.launcher-merch-feature{grid-template-columns:1fr}.launcher-merch-image{min-height:130px}.launcher-merch-copy{text-align:center}.launcher-merch-actions{justify-content:center}}


/* --- V11 Bible Quotes visibility + bright celestial styling fix --- */
body.book-heaven[data-page="quotes"] .celestial-page-panel .hero h1,
body.book-heaven[data-page="quotes"] .celestial-page-panel .kicker,
body.book-heaven[data-page="quotes"] .celestial-page-panel .feature-label,
body.book-heaven[data-page="quotes"] .celestial-page-panel .quote-ref,
body.book-heaven[data-page="quotes"] .celestial-page-panel .theme{color:#4e2bb5!important}
body.book-heaven[data-page="quotes"] .celestial-page-panel .hero p,
body.book-heaven[data-page="quotes"] .celestial-page-panel .quote-text,
body.book-heaven[data-page="quotes"] .celestial-page-panel .translation,
body.book-heaven[data-page="quotes"] .celestial-page-panel .count{color:#31385f!important}
body.book-heaven[data-page="quotes"] .celestial-page-panel .num{color:#8d89a6!important}
body.book-heaven[data-page="quotes"] .celestial-page-panel .quote-card{
  background:linear-gradient(180deg,#ffffff 0%,#faf8ff 100%)!important;
  border:1px solid rgba(102,69,190,.17)!important;
  box-shadow:0 8px 22px rgba(62,42,126,.08)!important;
  min-height:230px!important;
}
body.book-heaven[data-page="quotes"] .celestial-page-panel .quote-card:before{color:rgba(96,53,193,.07)!important}
body.book-heaven[data-page="quotes"] .celestial-page-panel .feature{
  background:linear-gradient(180deg,#fff 0%,#f8f5ff 100%)!important;
  border:1px solid rgba(102,69,190,.18)!important;
  box-shadow:0 8px 22px rgba(62,42,126,.08)!important;
}
body.book-heaven[data-page="quotes"] .celestial-page-panel .feature blockquote,
body.book-heaven[data-page="quotes"] .celestial-page-panel #featuredText{color:#2e2b58!important}
body.book-heaven[data-page="quotes"] .celestial-page-panel #featuredRef{color:#5732bd!important}
body.book-heaven[data-page="quotes"] .celestial-page-panel .small-btn{
  background:#f3efff!important;color:#4e2bb5!important;border:1px solid rgba(102,69,190,.18)!important
}
body.book-heaven[data-page="quotes"] .celestial-page-panel .small-btn:hover{background:#eae2ff!important;color:#35167f!important}
body.book-heaven[data-page="quotes"] .celestial-page-panel .translation{border-top-color:rgba(102,69,190,.13)!important}
body.book-heaven[data-page="quotes"] .celestial-page-panel .translation strong{color:#4e2bb5!important}
@media(max-width:760px){
  body.book-heaven[data-page="quotes"] .celestial-page-panel .grid{grid-template-columns:1fr!important;gap:11px!important}
  body.book-heaven[data-page="quotes"] .celestial-page-panel .quote-card{min-height:auto!important;padding:17px!important}
  body.book-heaven[data-page="quotes"] .celestial-page-panel .quote-text{font-size:1rem!important;line-height:1.55!important}
}

.launcher-quotes-feature{margin-top:14px}.launcher-quotes-feature a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(98,61,190,.17);border-radius:16px;background:linear-gradient(180deg,#fff,#f8f5ff);text-decoration:none!important;box-shadow:0 7px 18px rgba(59,41,122,.07)}.lq-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#7650df,#4d24b3);color:#fff;font:700 32px Georgia,serif}.launcher-quotes-feature strong{display:block;color:#35208f;font-family:var(--font-display);font-size:17px}.launcher-quotes-feature em{display:block;margin-top:3px;color:#62698b;font-style:normal;font-size:10px;font-weight:600}.launcher-quotes-feature b{color:#5c2dbe;font-size:9px;text-transform:uppercase;letter-spacing:.055em}@media(max-width:620px){.launcher-quotes-feature a{grid-template-columns:auto 1fr}.launcher-quotes-feature b{grid-column:2}}

/* V12: merchandise promoted directly below the homepage masthead */
.launcher-merch-top{margin-top:14px!important;margin-bottom:18px!important;border-color:rgba(102,54,206,.24)!important;box-shadow:0 12px 28px rgba(60,43,137,.10),0 0 18px rgba(133,88,227,.07)!important}
.launcher-merch-top .launcher-merch-copy h2{font-size:28px!important}
@media(max-width:700px){.launcher-merch-top{margin-top:12px!important;margin-bottom:14px!important}.launcher-merch-top .launcher-merch-copy h2{font-size:23px!important}}

/* --- V13 responsive narrow pearl-page system ---
   Purpose: keep the celestial environment visibly framing the content
   across desktop, tablet portrait and short landscape screens. */

/* Wide desktop: intentionally book-like rather than dashboard-wide. */
@media (min-width:1400px){
  body.book-heaven .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,
  body.book-heaven[data-page="matching-game"] .celestial-page-panel,
  body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
  body.book-heaven[data-page="remember-order"] .celestial-page-panel,
  body.book-heaven[data-page="armour"] .celestial-page-panel{
    width:min(820px,62vw)!important;
    max-width:820px!important;
  }
}

/* Standard desktop / large landscape tablet. */
@media (min-width:1100px) and (max-width:1399px){
  body.book-heaven .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,
  body.book-heaven[data-page="matching-game"] .celestial-page-panel,
  body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
  body.book-heaven[data-page="remember-order"] .celestial-page-panel,
  body.book-heaven[data-page="armour"] .celestial-page-panel{
    width:min(840px,70vw)!important;
    max-width:840px!important;
  }
}

/* Portrait tablets / compact laptops: keep generous celestial gutters. */
@media (min-width:769px) and (max-width:1099px) and (orientation:portrait){
  body.book-heaven .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,
  body.book-heaven[data-page="matching-game"] .celestial-page-panel,
  body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
  body.book-heaven[data-page="remember-order"] .celestial-page-panel,
  body.book-heaven[data-page="armour"] .celestial-page-panel{
    width:min(760px,84vw)!important;
    max-width:760px!important;
  }
}

/* General tablet sizing, including 601–768 portrait. */
@media (min-width:601px) and (max-width:900px) and (orientation:portrait){
  body.book-heaven .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,
  body.book-heaven[data-page="matching-game"] .celestial-page-panel,
  body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
  body.book-heaven[data-page="remember-order"] .celestial-page-panel,
  body.book-heaven[data-page="armour"] .celestial-page-panel{
    width:88vw!important;
    max-width:760px!important;
  }
}

/* Small portrait phones: retain useful side scenery without squeezing copy. */
@media (max-width:600px) and (orientation:portrait){
  body.book-heaven .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,
  body.book-heaven[data-page="matching-game"] .celestial-page-panel,
  body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
  body.book-heaven[data-page="remember-order"] .celestial-page-panel,
  body.book-heaven[data-page="armour"] .celestial-page-panel{
    width:94vw!important;
    max-width:none!important;
  }
}

/* Short landscape screens: this was previously almost full width.
   Keep a visible celestial frame. Rosary is deliberately excluded because
   its focused landscape prayer mode is full-screen by design. */
@media (orientation:landscape) and (max-height:680px) and (max-width:1100px){
  body.book-heaven:not([data-page="rosary"]) .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,
  body.book-heaven[data-page="matching-game"] .celestial-page-panel,
  body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
  body.book-heaven[data-page="remember-order"] .celestial-page-panel,
  body.book-heaven[data-page="armour"] .celestial-page-panel{
    width:84vw!important;
    max-width:860px!important;
    margin:8px auto 12px!important;
  }
}

/* Slightly taller landscape tablets. */
@media (orientation:landscape) and (min-height:681px) and (max-width:1200px){
  body.book-heaven:not([data-page="rosary"]) .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{
    width:78vw!important;
    max-width:860px!important;
  }
}

/* Keep footer aligned visually with the new page width on larger screens. */
@media (min-width:901px){
  body.book-heaven :is(.footer,.ga-footer,.celestial-footer){
    width:min(900px,82vw)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* ======================================================================
   V14 — 40% CELESTIAL PAGE + VISIBLE BIBLE QUOTES NAV
   User-requested rule: the central pearl-white content page must never
   exceed 40% of viewport width on standard pages, regardless of format.
   Rosary is deliberately excluded because its responsive prayer layout
   was confirmed working and should not be disturbed.
   ====================================================================== */

/* Keep the background dominant: standard page panel is always <= 40vw. */
body.book-heaven:not([data-page="rosary"]) .celestial-page-panel,
body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,
body.book-heaven[data-page="matching-game"] .celestial-page-panel,
body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
body.book-heaven[data-page="remember-order"] .celestial-page-panel,
body.book-heaven[data-page="armour"] .celestial-page-panel{
  box-sizing:border-box!important;
  width:40vw!important;
  max-width:40vw!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:clamp(7px,1.2vw,18px)!important;
  container-type:inline-size;
}

/* The top navigation is no longer an overflow-first strip. Bible Quotes
   remains visibly present in the core navigation rather than hidden at
   the far right. */
body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav){
  max-width:820px!important;
  padding:7px 8px!important;
  gap:1px!important;
  overflow:visible!important;
  flex-wrap:nowrap!important;
}
body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{
  padding:9px 8px!important;
  font-size:9.2px!important;
  letter-spacing:.02em!important;
}

/* A 40vw page is intentionally book-like. Reflow components by the
   actual panel width so content doesn't remain in desktop-wide grids. */
@container (max-width:700px){
  .launcher-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .launcher-quick-grid,.launcher-merch-feature,.shop-category-grid,.kids-hub-grid,.intention-grid,.ga-grid,.pagegrid,.all-grid,.apostles-grid{grid-template-columns:1fr!important}
  .launcher-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.book-heaven[data-page="quotes"] .celestial-page-panel .grid{grid-template-columns:1fr!important}
  .launcher-merch-copy,.launcher-quick-copy{text-align:center!important}
  .launcher-merch-actions{justify-content:center!important}
  .launcher-quick-card{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important;text-align:center!important}
  .launcher-quick-copy b{align-self:center!important}
}
@container (max-width:430px){
  .launcher-tile-grid{grid-template-columns:1fr!important}
  .launcher-stats{grid-template-columns:1fr!important}
  .launcher-tile{min-height:auto!important;padding:9px 6px 10px!important}
  .launcher-tile-icon{width:70px!important;height:70px!important}
  .launcher-tile em{min-height:0!important;font-size:8.5px!important}
  .launcher-quick-icon{width:66px!important;height:66px!important;flex-basis:66px!important}
  .launcher-quick-copy strong{font-size:14px!important}
  .launcher-quick-copy em{font-size:9px!important}
  .launcher-merch-copy h2{font-size:18px!important}
  .celestial-masthead .cm-brand{font-size:clamp(25px,8cqw,42px)!important}
  .celestial-masthead .cm-page{font-size:clamp(11px,4cqw,18px)!important;letter-spacing:.08em!important}
  body.book-heaven[data-page="quotes"] .celestial-page-panel .quote-card{padding:10px!important;border-radius:14px!important}
  body.book-heaven[data-page="quotes"] .celestial-page-panel .quote-text{font-size:.88rem!important;line-height:1.45!important}
}

/* Tablet + phone navigation: show every core item by wrapping rather than
   forcing a hidden horizontal scroll. */
@media(max-width:900px){
  body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav){
    width:100%!important;
    max-width:none!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    overflow:visible!important;
    gap:2px!important;
    padding:5px 4px!important;
  }
  body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{
    padding:6px 6px!important;
    font-size:8px!important;
  }
  body.book-heaven:not([data-page="rosary"]) .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{
    width:40vw!important;
    max-width:40vw!important;
    padding:7px 6px!important;
    border-radius:16px!important;
  }
}

@media(max-width:520px){
  body.book-heaven :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{
    padding:5px 4px!important;
    font-size:7.2px!important;
  }
  body.book-heaven:not([data-page="rosary"]) .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{
    width:40vw!important;
    max-width:40vw!important;
    padding:6px 4px!important;
  }
}


/* ======================================================================
   V15 — 55% PEARL PAGE + ROSARY REGRESSION FIX
   Standard pages use 55% of the viewport. Rosary is explicitly isolated
   from the global navigation/panel system so its known-good locked prayer
   layout is preserved in portrait and landscape.
   ====================================================================== */

/* Standard pages: user-approved 55% celestial framing. */
body.book-heaven:not([data-page="rosary"]) .celestial-page-panel,
body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel,
body.book-heaven[data-page="matching-game"] .celestial-page-panel,
body.book-heaven[data-page="symbol-meaning"] .celestial-page-panel,
body.book-heaven[data-page="remember-order"] .celestial-page-panel,
body.book-heaven[data-page="armour"] .celestial-page-panel{
  box-sizing:border-box!important;
  width:55vw!important;
  max-width:55vw!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:clamp(8px,1.35vw,19px)!important;
  container-type:inline-size;
}

/* Make the V14 small-screen 40vw overrides impossible to win. */
@media(max-width:900px){
  body.book-heaven:not([data-page="rosary"]) .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{
    width:55vw!important;
    max-width:55vw!important;
    padding:clamp(6px,1.5vw,10px)!important;
  }
}
@media(max-width:520px){
  body.book-heaven:not([data-page="rosary"]) .celestial-page-panel,
  body.book-heaven[data-page="launcher"] .celestial-page-panel.launcher-panel{
    width:55vw!important;
    max-width:55vw!important;
    padding:6px 5px!important;
  }
}

/* Rosary: restore the known-good navigation geometry from V13.
   The page itself remains governed by its dedicated inline portrait and
   landscape rules, including full-screen short-landscape prayer mode. */
body.book-heaven[data-page="rosary"] :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav){
  width:auto!important;
  max-width:none!important;
  justify-content:center!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  flex-wrap:nowrap!important;
  scrollbar-width:thin!important;
  gap:0!important;
  padding:0!important;
}
body.book-heaven[data-page="rosary"] :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{
  flex:0 0 auto!important;
  padding:7px 10px!important;
  font-size:.75rem!important;
  letter-spacing:normal!important;
}
@media(max-width:900px){
  body.book-heaven[data-page="rosary"] :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav){
    width:auto!important;
    max-width:none!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
    padding:0!important;
  }
  body.book-heaven[data-page="rosary"] :is(.nav,.top-nav,.topnav,.ga-nav,.ws-nav) a{
    padding:6px 8px!important;
    font-size:.65rem!important;
  }
}

/* Rosary panel safety: normal portrait/tablet widths match the known-good
   V13 values. Landscape remains controlled by rosary.html's dedicated
   inline full-screen media queries. */
@media (orientation:portrait) and (min-width:901px){
  body.book-heaven[data-page="rosary"] .celestial-page-panel{
    width:min(930px,75vw)!important;
    max-width:930px!important;
  }
}
@media (orientation:portrait) and (max-width:900px){
  body.book-heaven[data-page="rosary"] .celestial-page-panel{
    width:calc(100% - 24px)!important;
    max-width:900px!important;
    margin:11px auto!important;
  }
}
@media (orientation:portrait) and (max-width:560px){
  body.book-heaven[data-page="rosary"] .celestial-page-panel{
    width:calc(100% - 12px)!important;
    max-width:none!important;
    margin:7px auto!important;
    padding:12px 8px 15px!important;
  }
}

/* V18 semantic masthead heading reset */
.celestial-masthead h1.cm-page{margin-bottom:0!important}
