
/* Modo Halloween — hotfix visual da versão 2.0 */
html.halloween-mode{
  --public-accent:#ff6a00;
  --public-accent-soft:#a93010;
  --halloween-orange:#ff6a00;
  --halloween-blood:#9d1818;
  --halloween-purple:#5a2486;
  --halloween-night:#030307;
  color-scheme:dark;
}
html.halloween-mode body{
  background:
    radial-gradient(circle at 12% 8%,rgba(122,24,12,.18),transparent 28rem),
    radial-gradient(circle at 88% 20%,rgba(73,21,112,.18),transparent 32rem),
    linear-gradient(180deg,#020204 0%,#09060d 52%,#030305 100%)!important;
  color:#f8eee2;
}
html.halloween-mode body::before{
  content:"";
  position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.13;
  background:
    repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.025) 4px),
    radial-gradient(ellipse at 50% 110%,rgba(255,90,0,.22),transparent 44%);
  mix-blend-mode:screen;
}
html.halloween-mode .public-navbar{
  background:rgba(3,3,6,.94)!important;
  border-bottom:1px solid rgba(255,99,20,.28)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.55),0 1px 0 rgba(255,91,0,.12);
}
html.halloween-mode .public-navbar::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:linear-gradient(90deg,transparent,#7e1717,#ff6a00,#592474,transparent);
  filter:blur(.2px);opacity:.7;
}
html.halloween-mode .public-brand strong,
html.halloween-mode .public-navbar .nav-link:hover,
html.halloween-mode .public-navbar .nav-link:focus{color:#ffb36b!important;text-shadow:0 0 18px rgba(255,91,0,.45)}
html.halloween-mode .btn-public-login,
html.halloween-mode .btn-public-primary,
html.halloween-mode .public-search button{
  background:linear-gradient(135deg,#bf2d12,#ff7200)!important;
  border-color:rgba(255,157,72,.5)!important;
  box-shadow:0 12px 34px rgba(124,26,4,.34)!important;
}
html.halloween-mode .public-hero{position:relative;overflow:hidden;isolation:isolate;background:#050306!important}
html.halloween-mode .public-hero>.container{z-index:4}
.halloween-hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.halloween-hero-media video{width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(.55) contrast(1.12)}
.halloween-hero-shade{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(2,2,5,.93) 0%,rgba(3,2,7,.78) 43%,rgba(5,2,8,.48) 72%,rgba(1,1,4,.83) 100%),
  linear-gradient(180deg,rgba(2,2,4,.2),rgba(3,2,5,.8));
}
html.halloween-mode .public-hero::before{
  content:"";position:absolute;inset:auto -15% -55px -15%;height:190px;z-index:3;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(200,205,211,.16),transparent 65%);
  filter:blur(18px);animation:halloweenFog 12s ease-in-out infinite alternate;
}
html.halloween-mode .public-hero h1{color:#fff7ea!important;text-shadow:0 6px 0 rgba(77,8,8,.46),0 0 36px rgba(255,80,0,.24)}
html.halloween-mode .public-eyebrow{border-color:rgba(255,101,20,.4)!important;background:rgba(53,5,8,.66)!important;color:#ffbd7d!important}
html.halloween-mode .hero-chips span{background:rgba(5,3,8,.68)!important;border-color:rgba(255,111,31,.25)!important}
html.halloween-mode .hero-cover{box-shadow:0 30px 65px rgba(0,0,0,.8),0 0 0 1px rgba(255,88,0,.22)!important}
html.halloween-mode .hero-float-card{background:rgba(10,4,10,.92)!important;border-color:rgba(255,100,19,.35)!important;box-shadow:0 18px 50px rgba(0,0,0,.75)!important}
html.halloween-mode .hero-float-card i{color:#ff7223!important}
html.halloween-mode .public-section-soft,
html.halloween-mode .public-info-card,
html.halloween-mode .public-feature-panel,
html.halloween-mode .featured-story,
html.halloween-mode .public-book-card,
html.halloween-mode .public-page-card,
html.halloween-mode .review-card,
html.halloween-mode .event-card,
html.halloween-mode .club-card{
  background:linear-gradient(145deg,rgba(15,10,18,.95),rgba(6,6,10,.96))!important;
  border-color:rgba(151,48,29,.28)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.28);
}
html.halloween-mode h2,html.halloween-mode h3{color:#fff2df}
html.halloween-mode .public-section-head>div>span,
html.halloween-mode .book-genre{color:#ff8b3d!important}
html.halloween-mode .public-footer{background:#020203!important;border-top:1px solid rgba(255,98,20,.2)!important}

/* Decoração fixa e leve */
.halloween-world-decor{position:fixed;inset:0;z-index:9988;pointer-events:none;overflow:hidden}
.halloween-web{position:absolute;font-size:clamp(5rem,10vw,12rem);opacity:.22;filter:grayscale(1) brightness(1.8)}
.web-left{left:-1.2rem;top:4.3rem;transform:rotate(-12deg)}
.web-right{right:-1rem;top:4rem;transform:scaleX(-1) rotate(-12deg)}
.halloween-bat{position:absolute;font-size:1.8rem;opacity:.55;filter:grayscale(1) drop-shadow(0 8px 9px #000);animation:halloweenBat 11s linear infinite}
.bat-one{top:18%;left:-5%;animation-delay:-2s}.bat-two{top:34%;left:-10%;animation-duration:15s;animation-delay:-8s;font-size:1.25rem}.bat-three{top:12%;left:-8%;animation-duration:18s;animation-delay:-12s;font-size:2.25rem}
.halloween-spider{position:absolute;right:5%;top:5.1rem;font-size:2rem;opacity:.38;animation:halloweenSpider 5s ease-in-out infinite alternate}
.halloween-mist{position:absolute;width:62vw;height:18vh;border-radius:50%;background:rgba(197,201,218,.08);filter:blur(36px);animation:halloweenMist 14s ease-in-out infinite alternate}
.mist-one{left:-15%;bottom:3%}.mist-two{right:-18%;bottom:20%;animation-delay:-7s}

/* Seleção temática */
.halloween-terror-section{position:relative;background:
  linear-gradient(180deg,rgba(15,4,8,.96),rgba(4,4,7,.98)),
  radial-gradient(circle at 50% 0,rgba(146,25,10,.2),transparent 55%);
  border-top:1px solid rgba(255,91,20,.18);border-bottom:1px solid rgba(117,23,14,.28);
}
.halloween-terror-section::before,.halloween-terror-section::after{
  content:"🕯";position:absolute;top:1rem;font-size:3rem;opacity:.32;filter:drop-shadow(0 0 16px #ff5b00)
}
.halloween-terror-section::before{left:2vw}.halloween-terror-section::after{right:2vw}
.halloween-section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}
.halloween-kicker{display:inline-block;color:#ff8437;font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.7rem}
.halloween-section-heading h2{font-size:clamp(2rem,4.6vw,4.2rem);letter-spacing:-.055em;margin:0 0 .6rem}
.halloween-section-heading p{color:#c3b5ad;max-width:760px;margin:0}
.halloween-all-link{color:#ff9a54;text-decoration:none;font-weight:800;white-space:nowrap}
.halloween-book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:1.25rem}
.halloween-book-card{min-width:0}
.halloween-cover{position:relative;display:block;aspect-ratio:2/3;border-radius:16px;overflow:hidden;background:#10080b;border:1px solid rgba(255,99,20,.25);box-shadow:0 24px 45px rgba(0,0,0,.52);transition:transform .3s ease,box-shadow .3s ease}
.halloween-cover img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.05)}
.halloween-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,0,2,.78));pointer-events:none}
.halloween-cover:hover{transform:translateY(-9px) rotate(-1deg);box-shadow:0 34px 65px rgba(0,0,0,.72),0 0 28px rgba(255,73,0,.16)}
.halloween-candle{position:absolute;left:12px;bottom:12px;width:7px;height:17px;background:#f7d5a0;border-radius:4px;z-index:2;box-shadow:0 -8px 18px 7px rgba(255,91,0,.38)}
.halloween-book-card>div{padding:.95rem .2rem 0}.halloween-book-card>div>span{color:#ff7b32;font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.halloween-book-card h3{font-size:1.02rem;margin:.3rem 0}.halloween-book-card h3 a{color:#fff0df;text-decoration:none}.halloween-book-card p{color:#9f9696;font-size:.88rem;margin:0}

/* Painel administrativo */
.halloween-settings-panel{padding:1.2rem;border:1px solid rgba(255,112,34,.26);border-radius:18px;background:linear-gradient(145deg,rgba(52,19,43,.62),rgba(19,17,34,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.halloween-settings-heading{display:flex;align-items:center;gap:1rem}
.halloween-settings-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:rgba(255,92,18,.13);font-size:1.65rem}
.halloween-settings-heading strong{display:block;color:#fff;font-size:1.03rem}.halloween-settings-heading small{display:block;color:#aca8ba;margin-top:.25rem;line-height:1.5}

@keyframes halloweenBat{0%{transform:translateX(0) translateY(0) rotate(-8deg)}40%{transform:translateX(48vw) translateY(-4vh) rotate(5deg)}70%{transform:translateX(82vw) translateY(3vh) rotate(-4deg)}100%{transform:translateX(112vw) translateY(-2vh) rotate(8deg)}}
@keyframes halloweenSpider{from{transform:translateY(-1rem)}to{transform:translateY(2.2rem)}}
@keyframes halloweenMist{from{transform:translateX(-7%) scale(.9);opacity:.4}to{transform:translateX(10%) scale(1.16);opacity:.82}}
@keyframes halloweenFog{from{transform:translateX(-5%) scale(.9)}to{transform:translateX(6%) scale(1.08)}}

@media(max-width:767px){
  .halloween-section-heading{align-items:flex-start;flex-direction:column;gap:1rem}
  .halloween-all-link{white-space:normal}
  .halloween-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
  .halloween-web{font-size:5rem;opacity:.14}
  .halloween-spider{display:none}
  html.halloween-mode .public-hero h1{font-size:clamp(2.7rem,14vw,4.6rem)!important}
}
@media(prefers-reduced-motion:reduce){
  .halloween-bat,.halloween-spider,.halloween-mist,html.halloween-mode .public-hero::before{animation:none!important}
  .halloween-hero-media video{display:none}
}


/* v2.2.4: morcegos percorrem a página inteira */
.halloween-bat-dynamic{position:absolute!important;margin:0!important;will-change:transform;animation-timing-function:linear!important;animation-iteration-count:infinite!important}
@keyframes halloweenBatReverse{0%{transform:translateX(12vw) translateY(0) scaleX(-1) rotate(4deg)}45%{transform:translateX(-45vw) translateY(-12vh) scaleX(-1) rotate(-7deg)}100%{transform:translateX(-115vw) translateY(10vh) scaleX(-1) rotate(8deg)}}
@keyframes halloweenBatDiagonal{0%{transform:translateX(-18vw) translateY(18vh) rotate(-8deg)}50%{transform:translateX(48vw) translateY(-22vh) rotate(5deg)}100%{transform:translateX(112vw) translateY(15vh) rotate(-4deg)}}
