
:root{--red:#d4101f;--ink:#111;--mut:#5f5f5f;--line:#e3e3e3;--soft:#f3f3f3;--bg:#fff;--dark:#111;--serif:Georgia,"Times New Roman",Times,serif;--sans:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#f2f2f2;--mut:#a9a9a9;--line:#2b2b2d;--soft:#1b1b1d;--bg:#0f0f10;--dark:#000}}
*{box-sizing:border-box}html{scroll-padding-top:70px}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}button{font-family:inherit}img{max-width:100%}
/* topo */
#top{position:sticky;top:0;z-index:30;background:var(--red);padding-top:env(safe-area-inset-top,0px)}
.hb{max-width:1040px;margin:0 auto;height:54px;padding:0 6px;display:flex;align-items:center}
.ib{width:46px;height:46px;border:0;background:none;color:#fff;display:grid;place-items:center;cursor:pointer;border-radius:6px}
.ib svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.logo{flex:1;text-align:center;color:#fff;font:800 20px/1 var(--sans);letter-spacing:-.02em;display:flex;justify-content:center;align-items:center;gap:6px}
.logo b{background:#fff;color:var(--red);padding:3px 6px;border-radius:3px;font-size:17px}
#sp{display:none;background:var(--bg);border-bottom:1px solid var(--line)}#sp.on{display:block}
#sp div{max-width:1040px;margin:0 auto;padding:10px 16px}
#q{width:100%;padding:12px 14px;font-size:16px;border:2px solid var(--line);border-radius:4px;background:var(--soft);color:var(--ink);outline:none}#q:focus{border-color:var(--red)}
#bl{width:auto;min-width:46px;padding:0 6px;font:800 13px var(--sans);letter-spacing:.03em}
#lm{display:none;position:absolute;right:8px;top:calc(54px + env(safe-area-inset-top,0px));background:var(--bg);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:60;min-width:160px;overflow:hidden}#lm.on{display:block}
#lm button{display:block;width:100%;text-align:left;padding:14px 18px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:700 14px var(--sans);cursor:pointer}#lm button:last-child{border-bottom:0}#lm button:hover,#lm button.on{color:var(--red)}
.notpt{background:var(--soft);border-left:4px solid var(--mut);padding:10px 14px;font:13px/1.5 var(--sans);color:var(--mut);margin:0 0 18px}
#bu{width:46px}
/* seções */
.sec{background:var(--bg);border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap;scrollbar-width:none}.sec::-webkit-scrollbar{display:none}
.sec div{max-width:1040px;margin:0 auto;padding:0 8px;display:flex}
.sec a{flex:none;padding:14px 11px 11px;font:700 12.5px/1 var(--sans);text-transform:uppercase;letter-spacing:.03em;color:var(--mut);border-bottom:3px solid transparent}
.sec a:hover{color:var(--red)}.sec a.on{color:var(--red);border-bottom-color:var(--red)}
/* menu lateral */
#ov{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s}#ov.on{opacity:1;pointer-events:auto}
#dr{position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);z-index:50;background:var(--bg);transform:translateX(-102%);transition:transform .3s cubic-bezier(.2,.8,.2,1);overflow:auto;padding-bottom:30px}#dr.on{transform:none}
.dh{background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 4px) 6px 4px 18px;height:calc(54px + env(safe-area-inset-top,0px))}
.dh span{font:800 18px var(--sans)}.dh b{background:#fff;color:var(--red);padding:2px 6px;border-radius:3px;margin-left:5px;font-size:15px}
#dr a.m{display:block;padding:15px 20px;font-weight:700;font-size:15px;border-bottom:1px solid var(--line)}#dr a.m:hover{color:var(--red)}
#dr .sub{background:var(--soft);padding:4px 0;border-bottom:1px solid var(--line)}#dr .sub a{display:block;padding:10px 20px 10px 34px;font-size:14px;color:var(--mut)}#dr .sub a:hover{color:var(--red)}
.btn{display:inline-block;padding:12px 18px;border-radius:4px;font:700 14px/1.2 var(--sans);background:var(--red);color:#fff;border:2px solid var(--red);text-align:center;cursor:pointer}
.btn:hover{background:#b30d1a;border-color:#b30d1a}.btn.o{background:transparent;color:var(--red)}.btn.o:hover{background:var(--red);color:#fff}
#dr .wa{display:block;margin:14px 18px 0}
/* conteúdo */
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
.banner{display:block;width:100%;height:auto}
.cta{display:flex;gap:10px;padding:14px 0 6px}.cta .btn{flex:1;padding:13px 8px}
.kk{display:block;color:var(--red);font:800 11.5px/1 var(--sans);text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px}
.meta{font:12px/1.4 var(--sans);color:var(--mut);margin-top:8px}.meta b{color:var(--ink)}.pin{color:var(--red)}
.im{display:block;position:relative;background:var(--soft);overflow:hidden}.im img{display:block;width:100%;height:100%;object-fit:cover}
.rv{transition:opacity .5s,transform .5s}.rv.hid{opacity:0;transform:translateY(14px)}
.stitle{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:30px 0 4px;padding-bottom:8px;border-bottom:3px solid var(--ink)}
.stitle h2{margin:0;font:900 19px/1.1 var(--sans);text-transform:uppercase;letter-spacing:.01em;display:flex;align-items:center;gap:9px}.stitle h2:before{content:"";width:6px;height:20px;background:var(--red);display:block}
.stitle small{color:var(--mut);font-size:12px}
.hg{display:grid;gap:0;padding-top:18px}
.lead .im{aspect-ratio:16/9}.lead h2{font:800 27px/1.16 var(--serif);letter-spacing:-.01em;margin:12px 0 8px}.lead p{margin:0;color:var(--mut);font-size:16px;line-height:1.5}
.lead:hover h2,.row:hover h3,.cd:hover h3{color:var(--red)}
.side{margin-top:6px}
.row{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.row .tx{flex:1;min-width:0}.row h3{margin:0;font:700 17px/1.28 var(--serif)}.row p{display:none;margin:6px 0 0;color:var(--mut);font-size:14px;line-height:1.45}
.row .im{flex:0 0 112px;height:84px;border-radius:3px;order:2}
.cd .im{aspect-ratio:16/10;border-radius:3px}.cd h3{font:700 19px/1.25 var(--serif);margin:10px 0 0}
.g2{display:grid;gap:22px;margin-top:22px}
.rows{margin-top:4px}
.more{display:block;margin:26px auto;padding:13px 30px;border:2px solid var(--red);background:none;color:var(--red);font:800 14px var(--sans);border-radius:4px;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}.more:hover{background:var(--red);color:#fff}
.empty{padding:50px 0;color:var(--mut);text-align:center}
@media(min-width:900px){
 .banner{max-width:1040px;margin:18px auto 0;border-radius:4px}
 .hg{grid-template-columns:1.9fr 1fr;gap:34px}.lead h2{font-size:36px}.side{margin-top:0;border-left:1px solid var(--line);padding-left:26px}.side .row:first-child{padding-top:0}
 .g2{grid-template-columns:1fr 1fr 1fr}.rows.two{display:grid;grid-template-columns:1fr 1fr;column-gap:34px}.row p{display:block}
 .sec a{padding:15px 14px 12px}}
/* artigo e páginas */
.art{max-width:740px;margin:0 auto;padding:22px 16px 10px}
.crumb{display:flex;gap:12px;align-items:center;font:700 13px var(--sans);color:var(--red);margin-bottom:14px;flex-wrap:wrap}.crumb a:hover{text-decoration:underline}
.art h1{font:800 31px/1.15 var(--serif);letter-spacing:-.015em;margin:4px 0 10px}
.art .sub{font:400 19px/1.45 var(--serif);color:var(--mut);margin:0 0 14px}
.by{font:13px/1.5 var(--sans);color:var(--mut);padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}.by b{color:var(--ink)}
.art .p{font:19px/1.75 var(--serif);margin:0 0 22px}.art h2.sh{font:800 25px/1.25 var(--serif);margin:32px 0 12px}
.fig{margin:0 -16px 24px}.fig img{width:100%;max-height:520px;object-fit:cover;display:block;background:var(--soft)}
.fig figcaption{font:12px/1.4 var(--sans);color:var(--mut);padding:8px 16px 0}.fig figcaption a{color:var(--red);font-weight:700}
.srcbox{border-left:5px solid var(--red);background:var(--soft);padding:15px 17px;font:13.5px/1.55 var(--sans);color:var(--mut);margin:30px 0}.srcbox b{color:var(--ink)}.srcbox a{display:inline-block;margin-top:8px;color:var(--red);font-weight:800}
.acts{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 10px}
.rel{max-width:740px;margin:0 auto;padding:0 16px 10px}
@media(min-width:760px){.fig{margin:0 0 26px;border-radius:3px;overflow:hidden}.fig figcaption{padding-left:0}.art h1{font-size:40px}}
.emb{margin:0 0 26px;display:flex;justify-content:center}.emb>*{max-width:100%}.vid{position:relative;width:100%;aspect-ratio:16/9;background:#000}.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* calendário */
.cal-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0 10px}
.cal-top select,.cal-top button{font:700 14px var(--sans);padding:10px 12px;border:2px solid var(--line);border-radius:4px;background:var(--soft);color:var(--ink);cursor:pointer;min-height:44px}
.cal-top button:hover,.cal-top select:hover{border-color:var(--red)}
.cal-top .sp{flex:1}.cal-top .tb{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cal-next{display:block;width:100%;text-align:left;margin:0 0 14px;padding:11px 14px;border-left:5px solid var(--red);background:var(--soft);border-radius:0 4px 4px 0;font:13.5px/1.4 var(--sans);color:var(--mut);cursor:pointer;border-top:0;border-right:0;border-bottom:0}
.cal-next b{color:var(--ink)}
.cal-leg{display:flex;flex-wrap:wrap;gap:6px 14px;font:12px var(--sans);color:var(--mut);margin:12px 0 0}
.cal-leg span{display:inline-flex;align-items:center;gap:5px}.cal-leg i{width:12px;height:12px;border-radius:3px;background:var(--cc);display:inline-block}
.cal-leg i.t{background:var(--ink);border-radius:2px}.cal-leg i.f{background:none;border:2px dashed var(--mut)}
.cal-main{display:grid;gap:22px}
.cal-mt{font:800 22px/1.1 var(--sans);margin:0 0 10px}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-w{text-align:center;font:800 11px var(--sans);color:var(--mut);padding:6px 0;text-transform:uppercase}
.cal-e{aspect-ratio:1/1}
.cal-d{position:relative;aspect-ratio:1/1;min-height:42px;border:2px solid transparent;border-radius:6px;background:var(--soft);color:var(--ink);font:700 15px var(--sans);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:2px}
.cal-d:hover{border-color:var(--mut)}
.cal-d.has{background:var(--soft);background:color-mix(in srgb,var(--cc) 24%,var(--bg));border-color:var(--cc)}
.cal-d.fut{border-style:dashed}
.cal-d.today{background:var(--ink);color:var(--bg);border-color:var(--ink);border-radius:2px}
.cal-d.today.has{box-shadow:inset 0 -5px 0 var(--cc)}
.cal-d.sel{outline:3px solid var(--red);outline-offset:1px}
.cal-dots{display:flex;gap:3px;height:6px}.cal-dots i{width:6px;height:6px;border-radius:50%;display:block}
.cal-side h3.ct{font:800 14px var(--sans);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;color:var(--mut)}
.ev{border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:16px;background:var(--bg)}
.ev-b{position:relative;aspect-ratio:16/8;background:linear-gradient(135deg,var(--cc),#111);display:flex;align-items:flex-end;padding:12px 14px;color:#fff;overflow:hidden}
.ev-b img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ev-b.hi:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.65))}
.ev-ic{position:absolute;top:10px;left:12px;font-size:26px;z-index:2}
.ev-yr{position:relative;z-index:2;font:900 42px/1 var(--sans);opacity:.9;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.ev-c{padding:14px 16px 16px}
.ev-t{display:inline-block;font:800 11px/1 var(--sans);text-transform:uppercase;letter-spacing:.04em;padding:5px 8px;border-radius:3px;background:var(--cc);color:#fff;margin:0 6px 8px 0}
.ev-t.s{background:var(--soft);color:var(--mut)}
.ev-c h3{font:700 20px/1.25 var(--serif);margin:0 0 4px}
.ev-dt{font:12.5px var(--sans);color:var(--mut);margin:0 0 10px}
.ev-c p.ds{font:16px/1.6 var(--serif);margin:0 0 10px}
.ev-c .sr{font:12.5px var(--sans);color:var(--mut)}.ev-c .sr a{color:var(--red);font-weight:800}
.ev-c .acts{margin:12px 0 0}.ev-c .btn{padding:9px 14px;font-size:13px}
.cal-li{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:10px 4px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);cursor:pointer;font:14px/1.35 var(--sans)}
.cal-li:hover b{color:var(--red)}.cal-li i{flex:none;width:10px;height:10px;border-radius:50%}.cal-li small{color:var(--mut);display:block}
.cal-none{padding:18px;border:1px dashed var(--line);border-radius:6px;color:var(--mut);font:14px/1.5 var(--sans);margin-bottom:16px}
.c-musica{--cc:#d4101f}.c-premios{--cc:#a8780a}.c-shows{--cc:#1f6feb}.c-cinema{--cc:#8a3ffc}.c-marcos{--cc:#138a4f}.c-outros{--cc:#5f5f5f}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .c-musica{--cc:#ff4d5a}:root:not([data-theme="light"]) .c-premios{--cc:#e0a82e}:root:not([data-theme="light"]) .c-shows{--cc:#5b9bff}:root:not([data-theme="light"]) .c-cinema{--cc:#b184ff}:root:not([data-theme="light"]) .c-marcos{--cc:#3fc783}}
@media(min-width:900px){.cal-main{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}.cal-side{position:sticky;top:70px}.cal-d{font-size:16px}}
@media(prefers-reduced-motion:no-preference){.cal-d{transition:border-color .15s,transform .1s}.cal-d:active{transform:scale(.96)}}
/* rodapé */
footer{background:var(--dark);color:#d8d8d8;margin-top:44px;padding:34px 16px calc(34px + env(safe-area-inset-bottom,0px));font:13px/1.6 var(--sans)}
footer .fw{max-width:1040px;margin:0 auto;display:grid;gap:26px}
footer h4{margin:0 0 10px;color:#fff;font:800 12px var(--sans);text-transform:uppercase;letter-spacing:.06em}footer h4:before{content:"";display:inline-block;width:5px;height:12px;background:var(--red);margin-right:8px}
footer .fl a{display:block;padding:4px 0;color:#d8d8d8}footer .fl a:hover{color:#fff;text-decoration:underline}
footer .fb{font:800 22px var(--sans);color:#fff}footer .fb b{background:#fff;color:var(--red);padding:2px 6px;border-radius:3px;margin-left:6px;font-size:18px}
footer .fc{border-top:1px solid #2c2c2c;padding-top:18px;color:#9a9a9a;font-size:12px}
@media(min-width:760px){footer .fw{grid-template-columns:1.6fr 1fr 1fr}}
