@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--bg:#08090d;--panel:#101116;--soft:#171820;--line:#292b35;--text:#f6f3ee;--muted:#aaa9b0;--accent:#d62d50;--accent2:#ff6b6b;--gold:#e8bd70;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif}button,input{font:inherit}button,a{transition:.2s ease}a{color:inherit;text-decoration:none}.skip{position:fixed;top:-80px;left:20px;background:#fff;color:#000;padding:12px;z-index:99}.skip:focus{top:12px}.topbar{height:74px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(8,9,13,.88);backdrop-filter:blur(18px);position:fixed;inset:0 0 auto;z-index:30;border-bottom:1px solid rgba(255,255,255,.07)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.18em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 45% 55%;background:linear-gradient(135deg,var(--accent),#78152d);font-family:'Playfair Display';font-size:20px;box-shadow:0 0 30px rgba(214,45,80,.25)}nav{display:flex;gap:28px}nav a{font-size:14px;color:#bbb}nav a:hover,nav a.active{color:#fff}.header-actions{display:flex;gap:10px;align-items:center}button{border:0;cursor:pointer;color:inherit}.primary,.glass,.ghost,.outline{border-radius:999px;padding:13px 20px;font-weight:700}.primary{background:linear-gradient(120deg,var(--accent),#f04465);box-shadow:0 8px 28px rgba(214,45,80,.25)}.primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(214,45,80,.4)}.small{padding:10px 16px}.glass,.ghost{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13)}.outline{background:transparent;border:1px solid #434652}.icon-btn{background:transparent;font-size:24px}.hero{height:min(88vh,820px);min-height:620px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,13,.98) 0%,rgba(8,9,13,.67) 43%,rgba(8,9,13,.08) 78%),linear-gradient(0deg,var(--bg),transparent 30%)}.hero-content{position:relative;z-index:2;max-width:650px;margin:0 0 9vh 7vw}.eyebrow,.kicker{color:var(--accent2);font-size:12px;font-weight:800;letter-spacing:.2em}.hero h1,.plans h2,.app-copy h2{font-family:'Playfair Display',serif;font-size:clamp(42px,6vw,78px);line-height:1.02;margin:18px 0}.hero p{font-size:18px;line-height:1.65;color:#d2d0d3;max-width:580px}.hero-actions{display:flex;gap:12px;margin:28px 0}.hero-meta{display:flex;gap:16px;color:#b8b6bd;font-size:13px}.hero-meta span:first-child{border:1px solid #777;padding:1px 5px}.catalog-shell{padding:72px 6vw}.catalog-head,.result-line{display:flex;align-items:end;justify-content:space-between;gap:30px}.catalog-head h2,.plans h2{font-size:clamp(30px,4vw,48px);margin:10px 0}.search{width:min(430px,45vw);height:50px;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--panel);border:1px solid var(--line);border-radius:999px}.search:focus-within{border-color:var(--accent)}.search input{width:100%;border:0;outline:0;background:transparent;color:#fff}.filters{display:flex;gap:10px;overflow:auto;padding:28px 0 36px;scrollbar-width:none}.filter{white-space:nowrap;background:var(--panel);border:1px solid var(--line);padding:10px 17px;border-radius:999px;color:#bbb}.filter.active,.filter:hover{background:#fff;color:#111;border-color:#fff}.result-line{margin-bottom:18px}.result-line h3{font-size:22px;margin:0}.result-line span{color:var(--muted);font-size:13px}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 14px}.card{min-width:0;cursor:pointer}.poster{aspect-ratio:2/3;border-radius:14px;position:relative;overflow:hidden;background:linear-gradient(145deg,var(--c1),var(--c2));box-shadow:0 12px 30px rgba(0,0,0,.22)}.poster:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 65% 28%,rgba(255,255,255,.28),transparent 15%),linear-gradient(160deg,transparent 25%,rgba(0,0,0,.55));}.poster:after{content:attr(data-letter);position:absolute;inset:auto 14px 20px;font-family:'Playfair Display';font-size:72px;color:rgba(255,255,255,.15)}.poster .badge{position:absolute;top:10px;left:10px;background:var(--accent);font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px;z-index:2}.poster .play{position:absolute;inset:50% auto auto 50%;translate:-50% -45%;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.94);color:#111;display:grid;place-items:center;opacity:0;transform:scale(.8)}.card:hover .poster{transform:translateY(-5px);box-shadow:0 18px 36px rgba(0,0,0,.45)}.card:hover .play{opacity:1;transform:scale(1)}.poster,.play{transition:.25s}.card h4{margin:12px 3px 5px;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card p{margin:0 3px;color:#8f9098;font-size:12px}.empty{text-align:center;padding:70px;color:var(--muted)}.empty div{font-size:50px}.benefits{margin:10px 6vw 80px;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0}.benefits div{display:flex;align-items:center;gap:13px;justify-content:center;border-right:1px solid var(--line)}.benefits div:last-child{border:0}.benefits b{font-size:24px;color:var(--gold)}.benefits span{font-size:14px;color:#bbb}.plans{text-align:center;padding:70px 6vw 110px;background:radial-gradient(circle at 50% 25%,rgba(214,45,80,.1),transparent 35%)}.plans h2{font-size:50px}.section-copy{color:var(--muted)}.plan-grid{max-width:760px;margin:45px auto 20px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;text-align:left}.plan{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:32px}.plan.featured{border-color:var(--accent);box-shadow:0 20px 60px rgba(214,45,80,.15)}.popular{position:absolute;right:20px;top:-13px;background:var(--accent);border-radius:99px;padding:6px 12px;font-size:10px;font-weight:800}.price{font-size:54px;font-weight:800;margin:20px 0}.price small{font-size:14px;vertical-align:top}.price sup{font-size:24px}.price span{font-size:13px;color:var(--muted);font-weight:400}.plan ul{list-style:none;padding:0;margin:25px 0}.plan li{margin:13px 0;color:#c4c3c8}.plan li:before{content:'✓';color:var(--accent2);margin-right:9px}.wide{width:100%}.demo-note{color:#777}.app-section{min-height:600px;padding:90px 10vw;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;overflow:hidden}.app-copy h2{font-size:56px}.app-copy p{color:#aaa;line-height:1.7;max-width:600px}.store-row{display:flex;gap:12px;margin-top:30px}.store{background:#f3f3f3;color:#090909;border-radius:12px;text-align:left;padding:11px 18px;display:flex;flex-direction:column}.store span{font-size:10px}.phone{width:270px;height:540px;border:8px solid #292a2f;border-radius:40px;padding:8px;background:#09090c;transform:rotate(5deg);box-shadow:0 40px 90px rgba(214,45,80,.18);margin:auto}.phone-screen{height:100%;border-radius:27px;overflow:hidden;padding:20px;background:#0f1015}.mini-brand{color:var(--accent2);font-weight:900;font-size:13px}.mini-hero{height:230px;margin:18px -8px;background:linear-gradient(20deg,#2c0c16,#1f3661);border-radius:14px}.mini-cards{display:flex;gap:6px;margin-top:12px}.mini-cards i{height:90px;flex:1;background:linear-gradient(#4f2230,#181821);border-radius:7px}footer{border-top:1px solid var(--line);padding:44px 6vw;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:35px;color:#8f9098;font-size:13px}footer div{display:flex;gap:20px}footer small{grid-column:1/-1}dialog{border:1px solid #353741;background:#111217;color:#fff;border-radius:22px;padding:0;max-width:min(740px,92vw);box-shadow:0 30px 100px #000}dialog::backdrop{background:rgba(2,3,7,.8);backdrop-filter:blur(8px)}.modal-close{position:absolute;top:14px;right:16px;background:rgba(0,0,0,.45);border-radius:50%;width:36px;height:36px;font-size:24px;z-index:2}.detail-visual{height:300px;background:linear-gradient(120deg,var(--dc1),var(--dc2));display:flex;align-items:end;padding:28px}.detail-body{padding:28px}.detail-body h2{font-family:'Playfair Display';font-size:38px;margin:0 0 8px}.detail-body p{color:#bbb;line-height:1.6}.account-content{width:min(420px,85vw);padding:45px;text-align:center}.big{margin:auto;width:54px;height:54px}.account-content label{display:block;text-align:left;color:#aaa;font-size:13px;margin:18px 0}.account-content input{width:100%;margin-top:7px;background:#1b1c22;border:1px solid #333640;border-radius:10px;padding:13px;color:#fff;outline:0}.account-content small{display:block;margin-top:14px;color:#777}.toast{position:fixed;left:50%;bottom:30px;translate:-50% 20px;background:#f3f3f3;color:#111;padding:13px 20px;border-radius:999px;opacity:0;pointer-events:none;z-index:80;box-shadow:0 10px 40px #000}.toast.show{opacity:1;translate:-50% 0}.toast{transition:.25s}
@media(max-width:900px){nav{display:none}.grid{grid-template-columns:repeat(3,1fr)}.benefits{grid-template-columns:repeat(2,1fr);gap:25px}.benefits div:nth-child(2){border:0}.app-section{grid-template-columns:1fr}.phone{display:none}footer{grid-template-columns:1fr}.hero-content{margin-bottom:7vh}.header-actions .ghost{display:none}}
@media(max-width:600px){.topbar{height:64px;padding:0 18px}.header-actions .small{display:none}.hero{min-height:680px}.hero-shade{background:linear-gradient(0deg,var(--bg) 3%,rgba(8,9,13,.75) 62%,rgba(8,9,13,.2))}.hero-content{margin:0 22px 60px}.hero h1{font-size:43px}.hero p{font-size:16px}.hero-actions{flex-wrap:wrap}.hero-meta{flex-wrap:wrap}.catalog-shell,.plans{padding-inline:20px}.catalog-head{display:block}.search{width:100%;margin-top:24px}.grid{grid-template-columns:repeat(2,1fr);gap:20px 10px}.benefits{margin-inline:20px}.benefits div{flex-direction:column;text-align:center}.benefits span{font-size:12px}.plan-grid{grid-template-columns:1fr}.app-section{padding:80px 24px}.app-copy h2{font-size:42px}.store-row{flex-direction:column}.store{align-items:center}.plans h2{font-size:42px}footer{padding-inline:24px}.card h4{font-size:14px}}
.brand{flex:0 0 auto}.brand-logo{display:block;width:185px;height:66px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 16px rgba(214,45,80,.22))}.footer-logo{width:165px;height:70px}@media(max-width:600px){.brand-logo{width:128px;height:50px}.footer-logo{width:150px;height:64px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.library{padding-top:30px;background:#0b0c11}.library h2{font-family:'Playfair Display';font-size:40px;margin:8px 0}.admin-section{padding:100px 8vw;display:none !important;grid-template-columns:1fr 1fr;gap:55px;align-items:center;background:linear-gradient(145deg,#0c0d12,#151017)}.admin-copy h2{font-family:'Playfair Display';font-size:48px;margin:12px 0}.admin-copy p{color:var(--muted);line-height:1.7}.security-note{padding:16px;border:1px solid #343640;background:#12131a;border-radius:12px;color:#c8c7cb;font-size:13px}.import-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:25px}.dropzone{min-height:210px;border:1px dashed #50525d;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;background:#0c0d12}.dropzone:hover{border-color:var(--accent);background:#120d12}.dropzone b{font-size:18px}.dropzone span,#importStatus{color:var(--muted);font-size:13px}.dropzone input{position:absolute;opacity:0;pointer-events:none}.import-actions{display:flex;gap:10px;margin-top:18px}.import-actions button{flex:1}#importStatus{text-align:center;margin-bottom:0}.player-modal{width:min(1000px,96vw);background:#000}.player-wrap{aspect-ratio:16/9;position:relative;display:grid;place-items:center}.player-wrap video{width:100%;height:100%;display:none;background:#000}.player-wrap video.active{display:block}#playerFallback{text-align:center;padding:30px;color:#aaa}#playerFallback span{font-size:64px;color:var(--accent)}#playerFallback h2{color:#fff}.legal-content{padding:45px;max-width:700px}.legal-content h2{font-family:'Playfair Display';font-size:36px}.legal-content h3{margin-top:25px}.legal-content p,.legal-content li{color:#bbb;line-height:1.7}.footer-link{background:none;color:#8f9098;padding:0}.footer-link:hover{color:#fff}.progress{height:3px;background:#333;margin:8px 3px 0;border-radius:4px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent)}.favorite-mark{position:absolute;right:10px;top:10px;z-index:3;background:rgba(0,0,0,.55);width:31px;height:31px;border-radius:50%;display:grid;place-items:center}.account-state{display:flex;align-items:center;gap:8px;color:#ddd;font-size:13px}.account-state i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-style:normal;font-weight:800}
@media(max-width:900px){.admin-section{grid-template-columns:1fr}.admin-copy h2{font-size:40px}.account-state span{display:none}}
@media(max-width:600px){.admin-section{padding:75px 20px}.import-actions{flex-direction:column}.library h2{font-size:34px}.legal-content{padding:35px 22px}.player-modal{max-width:100vw;border-radius:0}}
.poster.has-image{background-size:cover;background-position:center}.poster.has-image:before{background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55))}.poster.has-image:after{display:none}.poster img{width:100%;height:100%;object-fit:cover;display:block}.cover-fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:'Playfair Display';font-size:72px;color:rgba(255,255,255,.22)}
.pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:38px 0 0}.pagination button{min-width:40px;height:40px;border-radius:10px;background:var(--panel);border:1px solid var(--line);color:#bbb}.pagination button.active{background:var(--accent);border-color:var(--accent);color:#fff}.pagination button:disabled{opacity:.35}.customer-area{padding:80px 8vw;display:grid;grid-template-columns:1fr 420px;gap:50px;align-items:center;background:#0d0e13}.customer-area h2{font-family:'Playfair Display';font-size:48px;margin:10px 0}.customer-area>div>p{color:var(--muted);line-height:1.7}.subscription-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px}.subscription-card p{margin:10px 0;color:#ccc}.status-pill{display:inline-block;background:#2b7d51;color:#d9ffe9;padding:6px 10px;border-radius:99px;font-size:10px;font-weight:800}.checkout-content{width:min(440px,88vw);padding:42px}.checkout-content h2{font-family:'Playfair Display';font-size:38px}.checkout-methods{display:grid;gap:10px;margin:25px 0}.checkout-methods label{border:1px solid var(--line);border-radius:12px;padding:14px}.checkout-summary{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:18px 0;margin:20px 0}.checkout-content small{display:block;color:#777;line-height:1.5;margin-top:15px}.subscriber-ok{border-color:#2b7d51}.subscriber-ok .status-pill{background:#2b7d51}.locked-note{background:#21151a;border:1px solid #50303a;border-radius:12px;padding:14px;color:#e8c9d1;font-size:13px;margin:16px 0}
@media(max-width:900px){.customer-area{grid-template-columns:1fr}.subscription-card{max-width:520px}.customer-area h2{font-size:40px}}
.checkout-hint{font-size:.88rem;color:var(--muted)}.payment-setup{grid-column:1/-1;margin-top:24px;padding:28px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.035)}.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.provider-grid article{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#0d0f15}.provider-grid article b{font-size:1.1rem}.provider-grid article span{color:var(--muted);min-height:24px}.provider-grid a{text-align:center;text-decoration:none}@media(max-width:700px){.provider-grid{grid-template-columns:1fr}}

/* Regras administrativas e recuperação de senha */
.admin-section.admin-visible{display:grid !important}
[hidden]{display:none !important}
.forgot-link{background:none;border:none;color:#ff3366;cursor:pointer;font-size:13px;text-decoration:underline;padding:0;font-family:inherit}
.forgot-link:hover{color:#fff}
.auth-switch-link{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;text-decoration:none;padding:6px;font-family:inherit}
.auth-switch-link:hover{color:#fff;text-decoration:underline}
.episode-section{margin-top:20px;border-top:1px solid #262833;padding-top:15px}
.episode-section h4{margin:0 0 10px 0;font-size:15px;color:#ddd}
.episode-list{display:flex;flex-wrap:wrap;gap:8px;max-height:180px;overflow-y:auto;padding:2px}
.ep-btn{background:#161822;border:1px solid #333644;color:#ccc;padding:7px 14px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s;font-family:inherit}
.ep-btn:hover,.ep-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}

/* ==========================================================================
   SEÇÃO EM ALTA (CARROSSEL DESLIZANTE LATERAL)
   ========================================================================== */
.trending-section {
  margin-bottom: 48px;
  position: relative;
}

.trending-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.trending-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.trending-fire {
  font-size: 26px;
  line-height: 1;
  filter: drop-shadow(0 0 10px rgba(249, 115, 22, 0.7));
}

.trending-title-wrap h2 {
  font-size: clamp(22px, 3.2vw, 30px);
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.02em;
  margin: 0;
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.trending-hint {
  color: #a1a1aa;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  user-select: none;
}

.trending-carousel-wrap {
  position: relative;
  width: 100%;
}

.trending-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 6px 4px 16px 4px;
  cursor: grab;
}

.trending-track:active {
  cursor: grabbing;
}

.trending-track::-webkit-scrollbar {
  display: none;
}

/* Card Em Alta - Estilo idêntico ao modelo com borda roxa vibrante */
.trending-card {
  flex: 0 0 158px;
  width: 158px;
  aspect-ratio: 2 / 3;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  scroll-snap-align: start;
  background: #11131c;
  border: 1.5px solid rgba(168, 85, 247, 0.45);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
  transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.25s ease, box-shadow 0.25s ease;
  user-select: none;
}

.trending-card:hover,
.trending-card:focus-visible {
  transform: translateY(-6px) scale(1.02);
  border-color: rgba(168, 85, 247, 0.95);
  box-shadow: 0 12px 28px rgba(168, 85, 247, 0.38), 0 0 14px rgba(168, 85, 247, 0.25);
  outline: none;
}

.trending-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.trending-card-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.02) 0%, transparent 40%, rgba(8,9,14,0.7) 72%, rgba(8,9,14,0.96) 100%);
  pointer-events: none;
}

.trending-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #e50914;
  color: #ffffff;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  z-index: 2;
}

.trending-card-title {
  position: absolute;
  bottom: 8px;
  left: 8px;
  right: 8px;
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 1px 3px rgba(0,0,0,0.95);
  z-index: 2;
}

/* Setas de navegação circulares sobrepostas ao carrossel */
.carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(15, 16, 22, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #ffffff;
  font-size: 26px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: all 0.2s ease;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
}

.carousel-arrow.prev {
  left: -16px;
}

.carousel-arrow.next {
  right: -16px;
}

.carousel-arrow:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  transform: translateY(-50%) scale(1.12);
  box-shadow: 0 6px 20px rgba(229, 9, 20, 0.55);
}

.carousel-arrow:active {
  transform: translateY(-50%) scale(0.95);
}

/* ==========================================================================
   AJUSTES MOBILE ESPECÍFICOS (CELULAR)
   ========================================================================== */
@media (max-width: 768px) {
  /* 1. Foto do Hero: Foco no casal e na varanda iluminada à direita */
  .hero {
    min-height: 560px !important;
    height: 76vh !important;
  }
  .hero > img {
    object-position: 82% 28% !important; /* Exatamente onde está o casal e a varanda */
  }
  .hero-shade {
    background: linear-gradient(0deg, var(--bg) 14%, rgba(8,9,13,0.7) 48%, rgba(8,9,13,0.12) 85%) !important;
  }
  .hero-content {
    margin: 0 18px 36px !important;
    max-width: calc(100% - 36px) !important;
  }
  .hero h1 {
    font-size: 32px !important;
    line-height: 1.12 !important;
    margin: 12px 0 !important;
  }
  .hero p {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
  .hero-actions {
    margin: 18px 0 !important;
    gap: 8px !important;
  }
  .hero-actions button {
    padding: 11px 18px !important;
    font-size: 14px !important;
  }
  .hero-meta {
    font-size: 12px !important;
    gap: 10px !important;
  }

  /* 2. Botões de categorias no celular: todos amostra fixos, sem deslizar */
  .filters {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    gap: 8px !important;
    padding: 14px 0 20px !important;
    justify-content: flex-start !important;
  }
  .filter {
    white-space: nowrap !important;
    flex: 0 0 auto !important;
    font-size: 13px !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
  }

  /* 3. Seção Em Alta no celular */
  .trending-section {
    margin-bottom: 32px;
  }
  .trending-header {
    margin-bottom: 12px;
  }
  .trending-card {
    flex: 0 0 130px;
    width: 130px;
  }
  .carousel-arrow {
    display: none; /* No celular o deslize touch é 100% fluido e natural */
  }
}


/* ==========================================================================
   Catálogo 8 colunas para PC - compacto, usa toda a largura disponível
   ========================================================================== */

.grid {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: 14px 10px;
  margin: 14px 0 0 0;
  width: 100%;
}

.card {
  min-width: 0;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease;
}

.card:hover {
  transform: translateY(-4px);
}

.poster {
  width: 100%;
  aspect-ratio: 2 / 3;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, var(--c1), var(--c2));
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
  transition: box-shadow 0.2s ease;
}

.card:hover .poster {
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.65);
}

.card-meta {
  margin-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 1px;
}

.card-meta b {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  color: #f1f1f1;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card-meta small {
  display: block;
  font-size: 10px;
  color: var(--muted, #8f9098);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Tablet: 5 colunas */
@media (max-width: 1024px) {
  .grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 14px 10px;
  }
}

/* Mobile grande: 4 colunas */
@media (max-width: 768px) {
  .grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px 8px;
  }
}

/* Mobile: 3 colunas */
@media (max-width: 600px) {
  .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px 6px;
  }
  .card-meta b {
    font-size: 10.5px;
  }
  .card-meta small {
    font-size: 9.5px;
  }
}

/* Mobile pequeno: 2 colunas */
@media (max-width: 420px) {
  .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 6px;
  }
}

/* ============================
   Preview Paywall Overlay
   ============================ */
#previewPaywall {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 20;
  background: rgba(8, 9, 13, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0;
  padding: 32px 24px;
  border-radius: inherit;
}
#previewPaywall.visible {
  display: flex;
  animation: paywallFadeIn 0.4s ease;
}
@keyframes paywallFadeIn {
  from { opacity: 0; transform: scale(0.97); }
  to   { opacity: 1; transform: scale(1); }
}
.paywall-icon {
  font-size: 52px;
  margin-bottom: 12px;
  filter: drop-shadow(0 0 18px rgba(214,45,80,.55));
}
.paywall-badge {
  background: var(--accent);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 999px;
  margin-bottom: 18px;
}
.paywall-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 800;
  color: #fff;
  margin: 0 0 8px;
  line-height: 1.15;
}
.paywall-sub {
  font-size: 15px;
  color: #bbb;
  margin: 0 0 28px;
  max-width: 380px;
  line-height: 1.5;
}
.paywall-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
.paywall-actions .btn-paywall-primary {
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 13px 30px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.15s;
  box-shadow: 0 4px 20px rgba(214,45,80,.4);
}
.paywall-actions .btn-paywall-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(214,45,80,.6);
}
.paywall-actions .btn-paywall-secondary {
  background: rgba(255,255,255,0.1);
  color: #ddd;
  border: 1px solid rgba(255,255,255,0.18);
  padding: 13px 26px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
}
.paywall-actions .btn-paywall-secondary:hover {
  background: rgba(255,255,255,0.18);
}
.paywall-preview-note {
  margin-top: 20px;
  font-size: 12px;
  color: #666;
}


/* ===== HERO BANNER ROTATIVO (TOP 10 EM ALTA) ===== */
.hero {
  position: relative;
  height: min(88vh, 820px);
  min-height: 580px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  user-select: none;
  background: #08090d;
}
.hero-slides {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
  pointer-events: none;
}
.hero-slide.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.hero-slide-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  transform: scale(1.04);
  transition: transform 7s ease-out;
  filter: brightness(0.88);
}
.hero-slide.active .hero-slide-bg {
  transform: scale(1);
}
.hero-shade {
  position: absolute;
  inset: 0;
  background: 
    linear-gradient(90deg, rgba(8,9,13,0.98) 0%, rgba(8,9,13,0.85) 35%, rgba(8,9,13,0.42) 65%, rgba(8,9,13,0.18) 100%),
    linear-gradient(0deg, var(--bg) 0%, rgba(8,9,13,0.65) 20%, transparent 50%);
  pointer-events: none;
  z-index: 2;
}
.hero-content-wrapper {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 6vw 7vh;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.hero-content {
  max-width: 680px;
  animation: heroFadeUp 0.5s ease forwards;
}
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
.hero-badge-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.hero-rank-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, #e50914, #ff414d);
  color: #fff;
  font-weight: 800;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 5px 13px;
  border-radius: 999px;
  box-shadow: 0 4px 16px rgba(229, 9, 20, 0.45);
}
.hero-eyebrow {
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #d8d6db;
  font-weight: 600;
}
.hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(34px, 5.2vw, 68px);
  line-height: 1.05;
  margin: 10px 0 16px;
  text-shadow: 0 3px 14px rgba(0,0,0,0.85);
  font-weight: 700;
  letter-spacing: -0.5px;
  color: #ffffff;
}
.hero p {
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.6;
  color: #d8d6db;
  max-width: 580px;
  margin-bottom: 22px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.hero-actions .primary {
  padding: 13px 26px;
  font-size: 15px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 6px 20px rgba(229, 9, 20, 0.35);
  transition: all 0.25s ease;
  cursor: pointer;
}
.hero-actions .primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(229, 9, 20, 0.55);
}
.hero-actions .glass {
  padding: 13px 22px;
  font-size: 14px;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.25s ease;
}
.hero-actions .glass:hover {
  background: rgba(255, 255, 255, 0.28);
  transform: translateY(-2px);
}
.hero-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #b5b3bb;
  font-size: 13px;
  font-weight: 500;
}
.hero-meta-age {
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 1px 7px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 800;
  color: #fff;
  background: rgba(0,0,0,0.4);
}
.hero-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(12, 14, 20, 0.55);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.25s ease;
  opacity: 0.7;
}
.hero-nav:hover {
  opacity: 1;
  background: rgba(229, 9, 20, 0.85);
  border-color: rgba(229, 9, 20, 0.9);
  transform: translateY(-50%) scale(1.1);
}
.hero-prev { left: 24px; }
.hero-next { right: 24px; }
.hero-indicators {
  position: absolute;
  bottom: 24px;
  right: 6vw;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 10;
}
.hero-dot {
  position: relative;
  width: 24px;
  height: 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.25);
  border: none;
  cursor: pointer;
  overflow: hidden;
  padding: 0;
  transition: width 0.3s ease, background 0.3s ease;
}
.hero-dot:hover {
  background: rgba(255, 255, 255, 0.5);
}
.hero-dot.active {
  width: 44px;
  background: rgba(255, 255, 255, 0.35);
}
.hero-dot-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #ff414d, #e50914);
  border-radius: 3px;
  transition: width 6.5s linear;
}
.hero-dot.active .hero-dot-progress {
  width: 100%;
}
@media (max-width: 900px) {
  .hero-nav { display: none; }
  .hero-indicators { right: 5vw; bottom: 18px; }
  .hero-content-wrapper { padding: 0 5vw 6vh; }
}
@media (max-width: 600px) {
  .hero { min-height: 540px; }
  .hero-content-wrapper { padding: 0 20px 5vh; }
  .hero h1 { font-size: 32px; }
  .hero p { font-size: 14px; -webkit-line-clamp: 2; }
  .hero-indicators { right: 20px; bottom: 14px; gap: 5px; }
  .hero-dot { width: 16px; height: 5px; }
  .hero-dot.active { width: 28px; }
}

/* ===== FIM HERO BANNER ===== */

/* ===== PARCERIAS E APLICATIVO REAL ===== */
#em-alta { margin-bottom: 0; }
#catalogo { padding-top: 18px; }
.plans { padding-bottom: 24px; }
.app-section { min-height: 0; padding-top: 24px; padding-bottom: 40px; }
.plan-grid {
  max-width: 1180px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.partnership {
  border-color: rgba(37, 211, 102, .55);
  background: linear-gradient(145deg, #101116, #0d1812);
}
.partnership p { color: #c4c3c8; line-height: 1.55; }
.partnership small { display: block; text-align: center; color: #aaa; margin-top: 12px; }
.partner-label { display: inline-block; color: #7ff0a6; font-size: 11px; font-weight: 800; letter-spacing: .16em; margin-bottom: 8px; }
.whatsapp-button { display: block; text-align: center; background: #25d366; color: #07140b; border-radius: 999px; padding: 13px 20px; font-weight: 800; }
.whatsapp-button:hover { background: #45e77f; transform: translateY(-2px); }
.app-phone-art { display: block; width: min(100%, 430px); max-height: 640px; object-fit: contain; margin: auto; filter: drop-shadow(0 35px 65px rgba(214,45,80,.22)); }
@media (max-width: 900px) {
  #catalogo { padding-top: 16px; }
  .plans { padding-bottom: 20px; }
  .app-section { min-height: 0; padding-top: 20px; }
  .plan-grid { grid-template-columns: 1fr; max-width: 520px; }
  .app-phone-art { width: min(86vw, 390px); max-height: 580px; }
}

/* ===== SEÇÃO MINHA LISTA REFORMULADA ===== */
.fav-count-badge {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 13px;
  color: var(--muted);
  font-weight: 600;
}

.empty-fav-wrapper {
  margin: 15px 0 35px;
}

.empty-fav-card {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 50% -20%, rgba(214, 45, 80, 0.22), transparent 70%),
              linear-gradient(180deg, #13141c 0%, #0c0d12 100%);
  border: 1px solid rgba(214, 45, 80, 0.25);
  border-radius: 26px;
  padding: 55px 36px 45px;
  text-align: center;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.empty-fav-glow {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 320px;
  height: 120px;
  background: radial-gradient(ellipse at center, rgba(214, 45, 80, 0.35), transparent 70%);
  filter: blur(40px);
  pointer-events: none;
}

.empty-fav-icon-wrap {
  width: 76px;
  height: 76px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(214, 45, 80, 0.3), rgba(232, 189, 112, 0.15));
  border: 1.5px solid rgba(214, 45, 80, 0.5);
  display: grid;
  place-items: center;
  color: #ff5b79;
  box-shadow: 0 0 35px rgba(214, 45, 80, 0.4), inset 0 0 15px rgba(214, 45, 80, 0.2);
  animation: favHeartPulse 3s ease-in-out infinite;
}

@keyframes favHeartPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 25px rgba(214, 45, 80, 0.35); }
  50% { transform: scale(1.06); box-shadow: 0 0 45px rgba(214, 45, 80, 0.6); }
}

.empty-fav-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.22em;
  color: var(--gold);
  background: rgba(232, 189, 112, 0.1);
  border: 1px solid rgba(232, 189, 112, 0.25);
  padding: 5px 14px;
  border-radius: 999px;
  margin-bottom: 14px;
}

.empty-fav-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(26px, 3.2vw, 36px);
  margin: 0 0 12px;
  color: #fff;
  letter-spacing: -0.01em;
}

.empty-fav-card p {
  color: #a8a7af;
  font-size: 15px;
  line-height: 1.65;
  max-width: 560px;
  margin: 0 auto 28px;
}

.empty-fav-card p b {
  color: #fff;
}

.empty-fav-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-bottom: 45px;
}

.empty-fav-btn {
  font-size: 15px;
  padding: 14px 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(120deg, #d62d50, #f04465);
  box-shadow: 0 8px 30px rgba(214, 45, 80, 0.35);
  transition: all 0.25s ease;
}

.empty-fav-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(214, 45, 80, 0.55);
}

.empty-fav-suggestions {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 32px;
  text-align: left;
}

.sugg-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  color: #e2e1e7;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
}

.sugg-fire {
  font-size: 16px;
}

.sugg-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

/* ===== SEÇÃO BENEFÍCIOS REFINADA ===== */
.benefits {
  margin: 20px 6vw 70px;
  background: rgba(16, 17, 22, 0.7);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 24px 10px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
}

.benefit-item {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: center;
  padding: 10px 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.07);
  transition: transform 0.2s ease;
}

.benefit-item:last-child {
  border-right: none;
}

.benefit-item:hover {
  transform: translateY(-2px);
}

.benefit-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(232, 189, 112, 0.12);
  border: 1px solid rgba(232, 189, 112, 0.3);
  display: grid;
  place-items: center;
  color: var(--gold);
  font-size: 18px;
  font-weight: 800;
  flex-shrink: 0;
}

.benefit-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.benefit-text strong {
  font-size: 14px;
  color: #fff;
  font-weight: 700;
  margin-bottom: 2px;
}

.benefit-text span {
  font-size: 12px;
  color: #9f9ea6;
}

@media (max-width: 900px) {
  .benefits {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding: 20px;
  }
  .benefit-item {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    padding: 12px 10px;
    justify-content: flex-start;
  }
  .benefit-item:nth-child(3), .benefit-item:nth-child(4) {
    border-bottom: none;
  }
  .sugg-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .empty-fav-card {
    padding: 35px 20px 25px;
  }
  .benefits {
    grid-template-columns: 1fr;
    margin-inline: 20px;
  }
  .benefit-item {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  }
  .benefit-item:last-child {
    border-bottom: none;
  }
  .sugg-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
