/*
Theme Name: Royal TV
Description: Tema editorial para uma Web TV angolana.
Version: 2.0
Author: Royal TV
*/
:root{--bg:#0e0e10;--surface:#18181b;--surface-soft:#222226;--ink:#f7f6f2;--muted:#a5a5a7;--line:#303035;--red:#e51e2a;--red-deep:#a9121c;--maxw:1240px;}
[data-theme="light"]{--bg:#f6f5f2;--surface:#fff;--surface-soft:#eeece8;--ink:#151518;--muted:#64646a;--line:#dedcd7;}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Inter,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased} img{display:block;max-width:100%} a{color:inherit;text-decoration:none}.wrap{width:min(100%,var(--maxw));margin:auto;padding-inline:28px}:focus-visible{outline:2px solid var(--red);outline-offset:4px}

/* Cabeçalho */
.site-header{position:sticky;top:0;z-index:50;background:rgba(14,14,16,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px)}.header-inner{width:min(100%,var(--maxw));margin:auto;padding:13px 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.header-side{display:flex;align-items:center;gap:9px}.header-right{justify-content:flex-end}.brand{display:flex;align-items:center;gap:10px}.brand img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:1px solid rgba(255,255,255,.25)}.brand span,.foot-brand span{font-family:'Bebas Neue',sans-serif;font-size:25px;letter-spacing:.075em;line-height:1}.brand em{font-style:normal;color:var(--red)}.social{display:flex;gap:7px}.social a{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.25);color:#eee;transition:border-color .18s,color .18s}.social a svg{width:14px;height:14px}.social a:hover{border-color:var(--red);color:#fff}.burger,.theme-toggle{width:39px;height:39px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}.burger:hover,.theme-toggle:hover{border-color:var(--red)}.burger svg,.theme-toggle svg{width:18px;height:18px}.theme-toggle .ico-moon,[data-theme="light"] .theme-toggle .ico-sun{display:none}[data-theme="light"] .theme-toggle .ico-moon{display:block}
.desktop-menu{position:sticky;top:69px;z-index:40;background:#18181b;color:#f9f9f8;border-bottom:1px solid rgba(255,255,255,.1)}.desktop-menu ul{min-height:44px;display:flex;align-items:center;justify-content:center;gap:2px;list-style:none;padding:0;margin:0}.desktop-menu a{display:block;padding:11px 15px;color:#b9b9bc;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.08em}.desktop-menu a:hover,.desktop-menu .current-menu-item a{color:#fff}.desktop-menu .menu-live{color:#fff}.menu-live span{width:7px;height:7px;border-radius:50%;background:var(--red);display:inline-block;margin:0 6px 1px 0;box-shadow:0 0 0 3px rgba(229,30,42,.2);animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.35;transform:scale(.8)}}
.nav-drawer{position:fixed;z-index:80;inset:0 0 0 auto;width:min(350px,88vw);height:100vh;padding:24px;background:#161619;color:#fff;border-left:1px solid rgba(255,255,255,.15);transform:translateX(100%);transition:transform .24s ease}.nav-drawer.open{transform:none}.nav-drawer-close{width:39px;height:39px;margin:0 0 28px;border:1px solid rgba(255,255,255,.25);background:none;color:#fff;display:grid;place-items:center;cursor:pointer}.nav-drawer-close svg{width:18px}nav.primary-menu ul{padding:0;margin:0;list-style:none}nav.primary-menu li{border-bottom:1px solid rgba(255,255,255,.12)}nav.primary-menu a{display:block;padding:15px 4px;font-size:16px;font-weight:700}.nav-overlay{position:fixed;z-index:70;inset:0;background:rgba(0,0,0,.7);opacity:0;pointer-events:none;transition:opacity .2s}.nav-overlay.open{opacity:1;pointer-events:auto}

/* Publicidade */
.ad-top{background:var(--surface);border-bottom:1px solid var(--line)}.ad-top .wrap{display:flex;justify-content:center;padding-block:10px}.ad-item{text-align:center;width:100%}.ad-item img{width:auto;max-height:90px;margin:auto}.ad-mid{padding-top:34px}.ad-mid img{margin:auto}

/* Destaque de emissão */
.hero{position:relative;overflow:hidden;padding:76px 0 84px;background:#0c0c0e;color:#fff}.hero:before{content:"";position:absolute;width:700px;height:700px;right:-330px;top:-330px;border:1px solid rgba(229,30,42,.45);border-radius:50%;box-shadow:0 0 0 64px rgba(229,30,42,.055),0 0 0 130px rgba(229,30,42,.03)}.hero:after{content:"ROYAL";position:absolute;bottom:-85px;left:-8px;font-family:'Bebas Neue',sans-serif;font-size:min(27vw,340px);letter-spacing:-.04em;color:rgba(255,255,255,.025);line-height:.8;pointer-events:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(270px,.78fr) minmax(440px,1.22fr);align-items:center;gap:70px}.eyebrow{margin:0 0 12px;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.signal{display:inline-block;width:8px;height:8px;background:var(--red);border-radius:50%;margin-right:5px;box-shadow:0 0 0 4px rgba(229,30,42,.17)}.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(48px,7vw,88px);font-weight:400;letter-spacing:.015em;line-height:.92;margin:0 0 20px;text-transform:uppercase}.hero-copy{max-width:46ch;color:#c4c4c7;font-size:15px}.hero-copy p{margin:0}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin:30px 0}.button{display:inline-flex;align-items:center;gap:9px;background:var(--red);color:#fff;padding:13px 19px;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px);background:#fa2936}.button .dot,.tag .dot{width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse 1.4s infinite}.text-link{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.text-link span{padding-left:5px;color:var(--red);font-size:17px}.hero-facts{display:flex;gap:0;flex-wrap:wrap;padding:0;margin:0;list-style:none;color:#a7a7aa;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.hero-facts li+li:before{content:"/";color:var(--red);padding:0 12px}.live-stage{background:#141417;border:1px solid rgba(255,255,255,.19);box-shadow:18px 18px 0 rgba(229,30,42,.92)}.live-stage-top,.live-stage-bottom{display:flex;justify-content:space-between;align-items:center;min-height:43px;padding:0 15px;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800}.live-stage-top{border-bottom:1px solid rgba(255,255,255,.14)}.live-stage-top span:first-child{color:#fff}.live-stage-top span:last-child{color:#8f8f95}.live-stage-top i{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:6px;box-shadow:0 0 0 3px rgba(229,30,42,.2);animation:pulse 1.4s infinite}.live-stage-bottom{color:#a4a4a8}.live-stage-bottom strong{color:#fff;font-weight:700}.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000}.video-frame iframe,.video-frame video{width:100%;height:100%;border:0;display:block;background:#000}.video-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#999;text-align:center}

/* Grelhas e cartões */
.section{padding:66px 0;border-top:1px solid var(--line)}.recent-section{background:var(--surface)}.section-head{position:relative;margin:0 0 28px}.section-head-left{display:flex;align-items:end;justify-content:space-between;gap:18px}.section-head h2{margin:0;font-family:'Bebas Neue',sans-serif;font-size:42px;line-height:.95;letter-spacing:.02em;text-transform:uppercase}.section-head .eyebrow{margin-bottom:7px}.center-label{display:flex;align-items:center;gap:16px}.center-label .line{height:1px;flex:1;background:var(--line)}.center-label .label{font-size:11px;color:var(--red);font-weight:800;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}.see-all,.section-arrow{font-size:11px;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.section-arrow span{font-size:17px;vertical-align:-1px;padding-left:3px}.section-arrow:hover,.see-all:hover{color:var(--ink)}.section-head:not(.section-head-left) .see-all{position:absolute;right:0;top:50%;transform:translateY(-50%);background:var(--bg);padding-left:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.card:hover{transform:translateY(-5px);border-color:rgba(229,30,42,.7);box-shadow:0 16px 30px rgba(0,0,0,.12)}.card-media{position:relative;display:block;aspect-ratio:16/9;background:radial-gradient(circle at 30% 20%,rgba(229,30,42,.48),transparent 42%),#242429;overflow:hidden}.card-media img{height:100%;width:100%;object-fit:cover;transition:transform .4s ease}.card:hover .card-media img{transform:scale(1.05)}.card-media .play{position:absolute;left:16px;bottom:15px;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.3)}.card-media .play svg{width:15px;height:15px;margin-left:2px}.card-body{min-height:145px;display:flex;flex-direction:column;gap:7px;padding:16px 17px 17px}.card-body .cat{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.card-body h3{margin:0;font-size:15px;line-height:1.35;font-weight:800}.card-body h3 a:hover{color:var(--red)}.card-body .meta{margin-top:auto;padding-top:8px;color:var(--muted);font-size:11px}.empty-note{margin:0;color:var(--muted);font-size:14px}.single-content,.page-content{width:min(100%,800px);margin:auto;padding:62px 28px}.single-content h1,.page-content h1{font-family:'Bebas Neue',sans-serif;font-size:54px;letter-spacing:.02em;line-height:1;margin:0 0 10px}.single-content .meta,.page-content .meta{color:var(--muted);font-size:12px;margin-bottom:25px}.single-content .video-frame{margin-bottom:28px}

/* Rodapé */
.site-footer{background:#111113;color:#fff;border-top:4px solid var(--red);margin-top:0}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .9fr;gap:42px;padding-top:52px;padding-bottom:38px}.foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.foot-brand img{width:42px;height:42px;border-radius:50%;object-fit:cover}.foot-brand span{font-size:24px}.foot-grid p,.foot-grid li{color:#a5a5a8;font-size:13px}.foot-grid p{margin:0;max-width:35ch}.foot-grid h4{margin:0 0 17px;font-size:11px;color:#fff;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.foot-grid h4:after{content:"";display:block;width:28px;height:2px;margin-top:8px;background:var(--red)}.foot-grid ul{padding:0;margin:0;list-style:none;display:grid;gap:9px}.foot-grid li a:hover{color:#fff}.foot-social{margin-top:18px}.foot-live-tag{display:inline-flex;align-items:center;gap:7px;background:var(--red);color:#fff!important;padding:7px 10px;font-size:10px!important;font-weight:800!important;letter-spacing:.09em}.bottom-bar{border-top:1px solid rgba(255,255,255,.12);padding-top:17px;padding-bottom:17px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;color:#77777d;font-size:11px}.bottom-links{display:flex;gap:8px}.bottom-links a:hover{color:#fff}.back-to-top{position:fixed;right:21px;bottom:21px;z-index:45;width:43px;height:43px;border:0;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(9px);transition:.2s}.back-to-top.show{opacity:1;pointer-events:auto;transform:none}.back-to-top svg{width:20px}

@media(max-width:900px){.hero{padding:55px 0 65px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-copy-wrap{max-width:620px}.live-stage{box-shadow:12px 12px 0 var(--red)}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-grid{grid-template-columns:repeat(2,1fr);gap:35px}.desktop-menu{display:none}.header-inner{grid-template-columns:1fr auto 1fr}.site-header{top:0}}
@media(max-width:580px){.wrap{padding-inline:18px}.header-inner{padding:10px 18px}.header-left{visibility:hidden}.brand img{width:37px;height:37px}.brand span{font-size:22px}.theme-toggle{display:none}.hero{padding:44px 0 55px}.hero h1{font-size:56px}.hero-copy{font-size:14px}.hero-actions{gap:17px;margin:24px 0}.button{padding:12px 15px}.live-stage-top,.live-stage-bottom{padding:0 11px;font-size:9px}.live-stage-bottom strong{display:none}.section{padding:48px 0}.section-head h2{font-size:36px}.grid{grid-template-columns:1fr;gap:16px}.card-body{min-height:125px}.foot-grid{grid-template-columns:1fr;gap:30px;padding-top:42px}.bottom-bar{align-items:flex-start;flex-direction:column}.hero-facts{font-size:9px}.ad-mid{padding-top:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Capa centrada na transmissão: o conteúdo ao vivo passa a ser o protagonista. */
.header-inner{padding-block:9px}.brand{gap:13px}.brand img{width:60px;height:60px}.brand span{font-size:32px}.desktop-menu{top:80px}
.hero.hero-player-first{padding:42px 0 58px;background:#09090b}.hero-player-first:before{width:880px;height:880px;right:-420px;top:-500px}.hero-player{position:relative;isolation:isolate}.hero-player .live-stage{position:relative;z-index:0;width:100%;box-shadow:20px 20px 0 var(--red);background:#111114}.hero-player:after{content:"";position:absolute;z-index:1;inset:44px 0 45px;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.77) 0%,rgba(0,0,0,.4) 32%,rgba(0,0,0,0) 64%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 42%)}.hero-caption{position:absolute;z-index:2;left:clamp(24px,5vw,68px);bottom:clamp(76px,10vw,138px);width:min(440px,46%);color:#fff}.hero-caption .eyebrow{margin-bottom:10px}.hero-caption h1{margin:0 0 13px;font-family:'Bebas Neue',sans-serif;font-size:clamp(48px,6.6vw,96px);font-weight:400;line-height:.9;letter-spacing:.02em;text-transform:uppercase}.hero-caption>p:not(.eyebrow){margin:0 0 21px;color:#e1e1e3;font-size:14px;line-height:1.55}.hero-caption .text-link{display:inline-block;padding:10px 0;color:#fff;border-bottom:1px solid rgba(255,255,255,.5)}.hero-caption .text-link:hover{border-color:var(--red);color:var(--red)}
@media(max-width:900px){.desktop-menu{top:auto}.hero.hero-player-first{padding:28px 0 46px}.hero-player .live-stage{box-shadow:13px 13px 0 var(--red)}.hero-caption{left:36px;bottom:72px;width:min(440px,55%)}}
@media(max-width:580px){.header-inner{padding-block:8px}.brand{gap:9px}.brand img{width:49px;height:49px}.brand span{font-size:27px}.hero.hero-player-first{padding:20px 0 38px}.hero-player .live-stage{box-shadow:8px 8px 0 var(--red)}.hero-player:after{display:none}.hero-caption{position:static;width:auto;padding:22px 18px 20px;background:#161619;border:1px solid rgba(255,255,255,.15);border-top:0}.hero-caption h1{font-size:52px}.hero-caption>p:not(.eyebrow){font-size:13px;margin-bottom:14px}.hero-player .live-stage-bottom{min-height:37px}.hero-player .live-stage-top{min-height:37px}}

/* Mantém a transmissão inteira acima da dobra em ecrãs de computador. */
.hero.hero-player-first{padding:20px 0 28px}.hero-player{width:min(100%,920px);margin-inline:auto}.hero-player:after{display:none}.hero-player .live-stage{box-shadow:12px 12px 0 var(--red)}
@media(max-width:900px){.hero.hero-player-first{padding:20px 0 30px}.hero-player{width:100%}}
@media(max-width:580px){.hero.hero-player-first{padding:14px 0 28px}.hero-player .live-stage{box-shadow:7px 7px 0 var(--red)}}

/* Em computador, a transmissão usa um enquadramento panorâmico e contemporâneo. */
.hero-player{width:min(100%,1100px)}.hero-player .video-frame{aspect-ratio:21/9}
@media(max-width:580px){.hero-player .video-frame{aspect-ratio:16/9}}

/* Publicidade: banners rotativos (topo e meio da página) */
.ad-zone{width:100%;}
.ad-zone--top{padding:0;}
.ad-zone--mid{padding:34px 0 0;}
.ad-rotator{position:relative;width:100%;overflow:hidden;background:var(--surface);}
.ad-zone--top .ad-rotator{aspect-ratio:970/90;max-height:110px;}
.ad-zone--mid .ad-rotator{aspect-ratio:970/250;max-height:260px;}
.ad-label{position:absolute;top:6px;left:10px;z-index:2;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:rgba(0,0,0,.55);padding:3px 8px;border-radius:2px;}
.ad-banner{position:absolute;inset:0;display:block;opacity:0;pointer-events:none;transition:opacity .6s ease;}
.ad-banner.is-active{opacity:1;pointer-events:auto;}
.ad-banner img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:580px){
	.ad-zone--top .ad-rotator{aspect-ratio:5/2;max-height:150px;}
	.ad-zone--mid .ad-rotator{aspect-ratio:4/3;max-height:220px;}
}
