/* CineStream Portal Preview · visual refresh
   CSS isolado em arquivo adicional: mantém o tema anterior como fallback. */
:root{
  --cs-bg:#09090e;--cs-surface:#15151e;--cs-surface-2:#1e1b25;
  --cs-border:rgba(255,255,255,.11);--cs-rose:#ff5364;--cs-rose-2:#fa2945;
  --cs-text:#faf7fa;--cs-muted:#b6abb7;
}
html{scroll-padding-top:92px}
body{
  color:var(--cs-text);
  background:radial-gradient(ellipse 50% 22% at 83% 1%,rgba(175,41,73,.16),transparent),
    radial-gradient(ellipse 36% 35% at 0% 50%,rgba(84,36,83,.10),transparent),
    linear-gradient(#0c0b10,#08080b);
}
header.site-header{
  position:sticky;top:0;z-index:30;
  width:min(100%,1600px);
  padding:13px clamp(18px,4vw,72px);min-height:76px;
  background:rgba(12,10,16,.78);backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,.09);
}
header.site-header .brand{display:flex;align-items:center;gap:10px;font:800 20px 'Space Grotesk',sans-serif;letter-spacing:-.9px}
header.site-header .brand span:not(.brand-play){color:#ff5364}
.brand-play{
  width:36px;height:36px;display:inline-grid;place-items:center;
  border-radius:12px;background:linear-gradient(135deg,#ff8063 0%,#f82751 52%,#a81984 100%);
  color:white;font-size:17px;font-weight:900;box-shadow:0 7px 22px #ff35503d;
  line-height:1;letter-spacing:0;transform:translateZ(0);
}
.main-nav{gap:4px}
.main-nav a{border-radius:999px;padding:11px 17px;color:#c5bac6;font-weight:700}
.main-nav a:hover,.main-nav a:focus-visible{background:#ffffff13;color:#fff}
header.site-header .header-help{
  padding:10px 16px;border:1px solid #ffffff26;border-radius:999px;
  background:rgba(255,255,255,.055);font-weight:700;
}
header.site-header .header-help:hover{background:#ffffff13;color:white}
main{max-width:1600px;padding:22px clamp(16px,4vw,70px) 50px}
.billboard{
  min-height:clamp(480px,47vw,640px);margin:7px 0 54px;border-radius:30px;
  background:#1a101a;border:1px solid rgba(255,255,255,.16);
  box-shadow:0 25px 80px #0007,0 0 0 1px rgba(255,83,100,.03);
}
.billboard::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 36% 55% at 93% 16%,rgba(255,84,103,.22),transparent 90%);
}
.billboard::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 40%);
}
.billboard-art{background:linear-gradient(115deg,#180e18,#37202c 52%,#13121b)}
.billboard-art>img{inset:-10%;width:120%;height:120%;filter:blur(24px) brightness(.62) saturate(1.15)}
.billboard-shade{
  background:linear-gradient(90deg,#0b0a0ef7 0%,#130e16ea 36%,#140b16a5 70%,#11080e8e),
  linear-gradient(0deg,#0b090deb 0%,transparent 43%);
}
.billboard-content{padding:clamp(32px,5vw,72px);max-width:72%;width:min(100%,870px)}
.billboard-eyebrow{
  width:max-content;max-width:100%;padding:8px 13px 8px 8px;
  border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);
  border-radius:999px;font-size:10px;color:#eadce2;letter-spacing:1.25px;
}
.brand-mark{border-radius:50%;width:25px;height:25px;background:linear-gradient(135deg,#ff7864,#ef2859);box-shadow:0 2px 13px #ed355878;font-size:13px}
.billboard-type{color:#ff8993;margin:25px 0 12px;font-size:11px;letter-spacing:3.5px}
.billboard h1{
  font-size:clamp(39px,5.5vw,78px);line-height:1.01;letter-spacing:-3px;
  margin:0 0 20px;max-width:720px;
}
.billboard-meta{font-size:12px;color:#ffd2d7;letter-spacing:.65px}
.billboard-desc{color:#ddd2da;font-size:clamp(14px,1.2vw,16px);line-height:1.75;max-width:540px;min-height:64px}
.billboard-buttons{margin-top:26px;gap:12px}
.billboard-main,.billboard-secondary{
  border-radius:999px;min-height:50px;padding:13px 25px;font-weight:800;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.billboard-main{background:linear-gradient(110deg,#fff,#eee5e9);color:#171019;border:1px solid #fff;box-shadow:0 10px 32px #0004}
.billboard-main:hover:not(:disabled){background:white;box-shadow:0 12px 30px #0008;transform:translateY(-2px)}
.billboard-secondary{background:rgba(255,255,255,.09);border:1px solid #ffffff39;color:white;backdrop-filter:blur(7px)}
.billboard-secondary:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.billboard-poster-frame{
  border-radius:22px;right:clamp(23px,6vw,100px);top:11%;height:77%;
  box-shadow:0 35px 70px #000b,0 0 0 1px #ffffff3a,0 0 62px #f22a4520;
  transform:perspective(1100px) rotateY(-9deg) rotate(3deg);
}
.billboard-poster-frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 35px #0005;pointer-events:none}
.billboard-controls{gap:15px;margin-top:30px}
.billboard-controls>button,.shelf-actions button{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:#ffffff17;border:1px solid #ffffff40;color:white;
  transition:background .2s ease,transform .2s ease;
}
.billboard-controls>button:hover,.shelf-actions button:hover{background:#ef455366;transform:translateY(-1px)}
.billboard-dot{width:8px;height:8px;min-width:8px;background:#ffffff66}
.billboard-dot.active{width:28px;background:linear-gradient(90deg,#ff5672,#f1284c)}
.catalog-section{scroll-margin-top:110px}
.section-eyebrow{color:#ff8191}
.catalog-section .toolbar{border-bottom:1px solid #ffffff18;padding:16px 0 23px;gap:20px}
.catalog-tabs{border-radius:999px!important;padding:5px!important;background:#19171e!important}
.catalog-tabs button{border-radius:999px;padding:11px 23px;min-height:43px}
.catalog-tabs button.active{background:linear-gradient(120deg,#f64757,#e72842);box-shadow:0 5px 20px #e62c4433}
#search{align-items:center}
#query{border-radius:999px;min-height:46px;background:#17141c;border:1px solid #ffffff25;padding:12px 20px}
#query:focus{outline:2px solid #fa6475;outline-offset:2px}
.search-submit,#clear-search,#retry,.pagination button{border-radius:999px;min-height:44px}
.search-submit{padding:10px 23px;background:linear-gradient(115deg,#fa5364,#d92a47)}
#notice{font-size:14px;letter-spacing:.1px}
.shelves{gap:37px}
.shelf-head{padding-bottom:18px}
.shelf h2{font-size:clamp(20px,2.2vw,27px);letter-spacing:-.9px}
.shelf-track{gap:19px;grid-auto-columns:clamp(150px,16vw,220px);padding:2px 4px 22px}
.card{border-radius:18px}
.poster-wrap{border-radius:18px;border:1px solid #ffffff17;box-shadow:0 6px 22px #0005}
.card:hover .poster-wrap,.card:focus-visible .poster-wrap{border-color:#ff6074;box-shadow:0 16px 46px #000b,0 0 0 2px #ed4c5738}
.card .poster-wrap img{transition:transform .35s cubic-bezier(.2,.7,.25,1)}
.poster-wrap::after{background:linear-gradient(transparent,#09050ca3);opacity:.8}
.card-action{
  bottom:13px;left:14px;right:14px;border-radius:999px;
  color:white;border:1px solid #ff6778;background:linear-gradient(120deg,#ef4857,#cf2548);
  box-shadow:0 8px 20px #0005;
}
.poster-rating{border-radius:999px;padding:6px 11px;backdrop-filter:blur(9px)}
.card strong{font-size:15px;line-height:1.45;margin-top:12px;letter-spacing:-.2px}
.card small{font-size:12px}
.steps{margin:84px 0 32px;padding-top:44px}
.steps-grid{gap:20px}
.steps-grid article{
  padding:26px;border-radius:24px;
  background:radial-gradient(circle at top right,#60212b22,transparent 45%),linear-gradient(145deg,#21171d,#121015);
  border:1px solid #ffffff20;transition:transform .2s,border-color .2s;
}
.steps-grid article:hover{border-color:#ff6d785c;transform:translateY(-3px)}
.steps-grid article>span{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:#ff46521b;color:#ff929d}
.steps-grid h3{font-size:19px}
.steps-grid p{font-size:14px;max-width:38ch}
dialog{
  width:min(880px,94vw);max-height:90dvh;border:1px solid #ffffff25;
  border-radius:28px;padding:32px;background:linear-gradient(150deg,#211820,#100f15 70%);
  box-shadow:0 32px 110px #000e,0 0 0 1px #ff5e6714;
}
dialog::backdrop{background:#050408d9;backdrop-filter:blur(14px)}
dialog .close{
  position:sticky;top:0;float:right;z-index:3;display:grid;place-items:center;
  width:39px;height:39px;border-radius:50%;background:#ffffff13;border:1px solid #ffffff38;
  font-size:26px;padding:0;margin:0;
}
.modal-header{gap:25px}
.modal-header img{border-radius:18px;width:155px;box-shadow:0 14px 36px #000a}
.modal-header h2{font-size:clamp(27px,3.3vw,40px);line-height:1.1;letter-spacing:-1px}
#description{font-size:14px;color:#cfc1c9;line-height:1.7}
#preferences{margin-top:18px}
#load-sources,dialog .primary{min-height:48px;border-radius:999px;font-weight:800;padding:12px 23px}
#load-sources{background:linear-gradient(130deg,#f54e61,#d92345);border-color:#fa6472;color:#fff;box-shadow:0 12px 26px #b62d4132}
dialog .primary{background:linear-gradient(130deg,#fa5364,#df2b48);box-shadow:0 12px 26px #b62d4132}
.fields{gap:17px}
.fields select,dialog select,dialog input,dialog textarea{min-height:46px;border-radius:15px;background:#17141a;border:1px solid #ffffff2a}
.source-recommendation{border-radius:18px;background:linear-gradient(135deg,#1b2621,#14191a)}
.source-details,#result code#code{border-radius:17px}
#command-text{border-radius:15px}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #ff9cab;outline-offset:3px}
@media(min-width:1100px){.billboard-content{max-width:69%}}
@media(max-width:980px){.billboard-content{max-width:76%}.billboard-poster-frame{right:28px;height:68%;top:15%}}
@media(max-width:700px){
  header.site-header{min-height:66px;padding:12px 18px;row-gap:12px}
  header.site-header .brand{font-size:19px}
  .brand-play{width:32px;height:32px;border-radius:10px}
  .main-nav{gap:3px;justify-content:space-between}
  .main-nav a{font-size:12px;padding:8px 11px}
  main{padding:14px 14px 40px}
  .billboard{min-height:535px;border-radius:24px;margin-bottom:39px}
  .billboard-content{max-width:100%;width:100%;padding:26px 21px 28px}
  .billboard-poster-frame{height:38%;right:20px;top:18px;border-radius:15px;opacity:.75}
  .billboard h1{font-size:clamp(32px,8.1vw,45px);letter-spacing:-1.4px;max-width:98%}
  .billboard-type{margin-top:22px}
  .billboard-desc{font-size:13px;line-height:1.6;min-height:0}
  .billboard-shade{background:linear-gradient(0deg,#0c0a0ffb,#0c090ff0 50%,#0c090f4d 100%)}
  .billboard-buttons{gap:9px}
  .billboard-main,.billboard-secondary{min-height:46px;padding:10px 17px;font-size:13px}
  .billboard-controls{margin-top:22px}
  .shelves{gap:25px}
  .shelf-track{grid-auto-columns:clamp(132px,43vw,186px);gap:13px}
  .shelf h2{font-size:19px}
  .catalog-section .toolbar{gap:12px}
  .catalog-tabs{align-self:flex-start}
  .catalog-tabs button{padding:9px 18px}
  #search{gap:8px}
  #query{min-width:0;flex:1}
  .poster-wrap{border-radius:14px}
  .steps{margin-top:51px}
  .steps-grid{gap:12px}
  .steps-grid article{border-radius:19px;padding:20px}
  dialog{width:min(97vw,880px);border-radius:22px;padding:19px}
  .modal-header{gap:12px}
  .modal-header img{width:88px;border-radius:12px}
}
@media(max-width:400px){
  .billboard{min-height:545px}.billboard-eyebrow{font-size:8px;letter-spacing:.5px}
  .billboard-buttons{flex-direction:column;align-items:stretch}
  .billboard-main,.billboard-secondary{width:100%}
  .header-right{display:none}
}
@media(prefers-reduced-motion:reduce){
  .steps-grid article,.billboard-main,.billboard-secondary,.card .poster-wrap img,
  .card-action,.billboard-controls>button,.shelf-actions button{transition:none!important;transform:none!important}
}


/* Branding real, acessibilidade e refinamento de interação. */
header.site-header .brand{
  display:inline-flex;align-items:center;gap:0;
  flex-shrink:0;padding:5px 0;
}
header.site-header .brand-logo{
  display:block;width:clamp(150px,15vw,190px);height:auto;max-height:52px;
  object-fit:contain;filter:drop-shadow(0 3px 11px #ef225020);
}
.billboard-eyebrow .brand-mark{
  width:25px;height:25px;object-fit:contain;border-radius:0;
  background:transparent;box-shadow:none;
}
.brand-footer{
  display:flex;flex-wrap:wrap;gap:13px;align-items:center;justify-content:space-between;
  padding:38px 0 14px;margin-top:42px;
  border-top:1px solid rgba(255,255,255,.12);color:#a9a0ad;font-size:13px;
}
.brand-footer img{width:171px;height:43px;object-fit:contain}
.brand-footer span{padding:0;color:#aaa0ac}
.billboard:focus-visible{outline:2px solid #ff8ca4;outline-offset:4px}
.billboard:focus:not(:focus-visible){outline:none}
.card:focus-visible .poster-wrap{
  border-color:#ff6d8b;outline:3px solid #ff8192;outline-offset:3px;
}
:where(.billboard-main,.billboard-secondary,.catalog-tabs button,.pagination button,.search-submit):active:not(:disabled){
  transform:scale(.975);
}
#query::-webkit-search-cancel-button{cursor:pointer}
#search:focus-within #query{border-color:#fd6987;box-shadow:0 0 0 3px #ed445121}
@media(max-width:700px){
  header.site-header .brand-logo{width:154px;max-height:43px}
  .brand-footer{justify-content:center;text-align:center;gap:9px}
  .billboard-eyebrow .brand-mark{width:22px;height:22px}
}
@media(prefers-reduced-motion:reduce){
  :where(.billboard-main,.billboard-secondary,.catalog-tabs button,.pagination button,.search-submit):active:not(:disabled){transform:none}
}

/* Full horizontal ribbon logo, not the former pink-square compact mark. */
header.site-header .brand-logo{width:clamp(190px,18.5vw,230px);height:auto;max-height:58px}
.brand-footer img{width:218px;height:auto}
@media(max-width:700px){header.site-header .brand-logo{width:176px;max-height:43px}}
@media(max-width:380px){header.site-header .brand-logo{width:162px}}
