/* ===== Rodoviária FC — estilos. Cores e medidas nas variáveis abaixo ===== */
:root{--h:150px;--navy:#020a5c;--navy2:#01063a;--royal:#0a2ea0;--royal2:#1346d6;--gold:#f5b82e;--white:#fff;
--shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 70'%3E%3Cpath d='M30 3 55 12v26c0 16-12 26-25 30C17 64 5 54 5 38V12z' fill='%230a2ea0' stroke='%23f5b82e' stroke-width='3'/%3E%3Ctext x='30' y='44' font-size='26' font-weight='700' text-anchor='middle' fill='white' font-family='Arial'%3ER%3C/text%3E%3C/svg%3E")}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--navy);color:var(--white);font:400 16px/1.5 Barlow,system-ui,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}
h2,h3,.brand-t b,.num,.pill,.seg button{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* header (modelo da referência: escudo grande + painel com barra de ícones e menu) */
.header{position:fixed;inset:0 0 auto;height:var(--h);z-index:50;display:flex;align-items:flex-start;justify-content:space-between;padding:12px 4vw 0;background:linear-gradient(#01063aee,#01063a00);transition:.3s}
.header.sc{--h:84px;background:#01063af0;backdrop-filter:blur(8px);padding-top:8px}
.brand{display:flex;align-items:center;gap:14px}
.crest{width:96px;height:96px;flex:none;transition:.3s;background:url(../assets/logo/escudo.png) center/contain no-repeat}
.sc .crest{width:64px;height:64px}
.brand-t{display:flex;flex-direction:column;line-height:1}
.brand-t b{font-size:40px;font-weight:800;letter-spacing:.03em}.sc .brand-t b{font-size:28px}
.brand-t small{font:600 18px "Barlow Condensed";letter-spacing:.3em;color:var(--gold)}
.panel{border:1px solid #ffffff22;border-top:0;border-radius:0 0 14px 14px;background:#00000040;backdrop-filter:blur(6px);margin-right:0}
.topbar{display:flex;justify-content:flex-end;padding:10px 22px;border-bottom:1px solid #ffffff18;transition:.3s;overflow:hidden;max-height:52px}.sc .topbar{max-height:0;padding:0 22px;border:0}
.topbar .ig,.nav .ig{color:var(--gold)}
.nav{display:flex;align-items:center;gap:4px;padding:0 14px}
.nav a{padding:16px 16px;font-weight:500;position:relative;transition:.25s}
.nav a:not(.ig)::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--gold);transform:scaleX(0);transition:.25s}
.nav a:hover,.nav a.on{color:var(--gold)}.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.ig svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;display:block}
.nav .ig{margin-left:6px}.sc .topbar .ig{display:none}
/* hero */
.hero{height:100vh;min-height:520px;position:relative;background:var(--navy2);overflow:hidden}
.slides,.slide{position:absolute;inset:0}.slide{opacity:0;transition:opacity 1.2s;background:center 40%/cover no-repeat}.slide.on{opacity:1}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 60%,var(--navy))}
.hero-ar{position:absolute;right:4vw;bottom:36px;z-index:3;margin:0}
/* seções */
.sec{padding:72px 4vw 40px}.sec.center{text-align:center}
h2{font-size:clamp(34px,5vw,52px);font-weight:800;margin-bottom:18px}
.pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.center .pills,.seg{justify-content:center}
.pill{border:1.5px solid #ffffff30;background:none;color:#ffffff99;border-radius:99px;padding:5px 18px;font-size:17px;font-weight:700;letter-spacing:.06em;transition:.2s}
@media(hover:hover){.pill:hover{color:#fff;border-color:#fff}}.pill.on{color:var(--gold);border-color:var(--gold)}
.car{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;padding-bottom:4px}
.car::-webkit-scrollbar{display:none}.car.drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.car>*{scroll-snap-align:start;flex:none}
.arrows{display:flex;gap:18px;margin-top:22px}
.arrows button{width:58px;height:50px;border:2px solid var(--gold);background:none;color:var(--gold);border-radius:8px;font-size:30px;line-height:1;transition:.2s}
.arrows button:active{background:var(--gold);color:var(--navy)}@media(hover:hover){.arrows button:hover{background:var(--gold);color:var(--navy)}}
/* notícias */
.news{width:min(520px,80vw);aspect-ratio:3/4;border-radius:14px;position:relative;overflow:hidden;background:var(--royal) center/cover;border:1px solid #ffffff22;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;transition:transform .3s}
.news::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,#020a5ce6 85%)}
@media(hover:hover){.news:hover{transform:translateY(-6px)}}
.news>*{position:relative}.news h3{font-size:26px;line-height:1.1;font-weight:700;margin-top:10px;user-select:none}
.tag{display:inline-block;background:#fff;color:var(--navy);border-radius:99px;padding:2px 14px;font-weight:600;font-size:14px}.news span.t{color:#ffffffb0;font-size:14px;margin-left:8px}
.demo-b{position:absolute!important;top:12px;left:12px;background:var(--gold);color:var(--navy);font:700 11px Barlow;padding:2px 8px;border-radius:4px;text-transform:uppercase}
/* partidas */
.match{width:min(440px,84vw);background:var(--royal);border-radius:10px;overflow:hidden;border:1px solid #ffffff1c;text-align:center;position:relative}
.match.next{border-color:var(--gold);box-shadow:0 0 30px #f5b82e30}
.match .comp{background:#0b2680;padding:12px;color:#38a8ff;font:700 17px "Barlow Condensed";text-transform:uppercase;letter-spacing:.05em}
.match .body{padding:22px 16px 26px}.match .d{font:800 30px "Barlow Condensed";text-transform:uppercase}.match small{display:block;font-weight:600;text-transform:uppercase;opacity:.85}
.teams{display:flex;align-items:center;justify-content:space-around;margin-top:14px}.team{display:grid;gap:6px;justify-items:center;font:700 20px "Barlow Condensed"}.team .crest{width:50px;height:58px}
.team .adv{background:#ffffff22;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;font-size:14px}
.score{font:800 40px "Barlow Condensed"}.fin{color:var(--gold);font:700 13px Barlow;text-transform:uppercase;letter-spacing:.1em}
.cd{display:flex;gap:8px;justify-content:center;margin-top:16px}.cd div{background:var(--navy);border-radius:6px;padding:6px 10px;min-width:58px}.cd b{display:block;font:800 30px "Barlow Condensed"}.cd small{font-size:10px;color:#6db5ff}
/* elenco */
.seg{display:inline-flex;border-radius:8px;overflow:hidden;margin-bottom:34px}.seg button{border:0;padding:16px 34px;font-size:18px;font-weight:700;background:#fff;color:var(--navy)}.seg button.on{background:var(--gold)}
.belt{overflow:hidden;cursor:grab;margin:0 -4vw;touch-action:pan-y;user-select:none}.belt-track{display:flex;gap:14px;width:max-content;will-change:transform}
.pl{width:260px;height:380px;border-radius:12px;position:relative;overflow:hidden;background:repeating-linear-gradient(90deg,#ffffff08 0 3px,transparent 3px 9px),linear-gradient(#0a2ea0,#020a5c);flex:none}
.pl .photo{position:absolute;inset:50px 0 70px;background:center bottom/contain no-repeat;pointer-events:none}.pl .photo.ph{background:radial-gradient(circle at 50% 30%,#ffffff30 0 28px,transparent 29px),radial-gradient(ellipse at 50% 100%,#ffffff22 0 80px,transparent 81px)}
.pl::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#020a5c 75%)}
.num{position:absolute;top:10px;right:18px;font-size:64px;font-weight:800;z-index:2;line-height:1}.pl h4{position:absolute;bottom:20px;left:0;right:0;z-index:2;font:700 24px "Barlow Condensed";letter-spacing:.08em;text-transform:uppercase}
/* loja */
.store{background:var(--royal);margin-top:40px}.store-h{display:flex;align-items:center;gap:14px;margin-bottom:28px}.bag{width:64px;height:64px;color:#fff}
.prod{width:min(300px,76vw);background:var(--navy);border-radius:14px;overflow:hidden;border:1px solid #ffffff1c;transition:transform .3s;position:relative}@media(hover:hover){.prod:hover{transform:translateY(-6px)}}
.prod .img{aspect-ratio:4/5;background:center/cover,linear-gradient(135deg,#1346d6,#020a5c)}.prod .in{padding:16px}.prod small{color:var(--gold);font-weight:600}.prod h3{font-size:24px;margin:2px 0}.prod .pr{opacity:.85;margin-bottom:12px}
.btn{border:1.5px solid var(--gold);background:none;color:var(--gold);border-radius:8px;padding:8px 14px;font-weight:600;transition:.2s}.btn.fill{background:var(--gold);color:var(--navy)}.btn:active{filter:brightness(1.15)}@media(hover:hover){.btn:hover{filter:brightness(1.15);transform:scale(1.03)}}
/* rodapé */
.foot{background:var(--navy2);padding:64px 4vw 28px;text-align:center}.foot h3{font-size:30px;margin-bottom:30px}
.sponsors{display:flex;flex-wrap:wrap;gap:36px 56px;justify-content:center;align-items:center;min-height:60px;padding-bottom:40px;border-bottom:1px solid #ffffff20}
.sponsors img{height:60px;max-width:200px;object-fit:contain;filter:brightness(0) invert(1);opacity:.85;transition:.2s}.sponsors img:hover{opacity:1}.sponsors p{opacity:.6}
.foot-b{display:grid;gap:14px;justify-items:center;padding-top:32px}.foot-b small{opacity:.6}.foot-b a:hover{color:var(--gold)}
/* modal e toast */
.modal{position:fixed;inset:0;background:#000a;z-index:100;display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}
.modal-b{background:var(--royal);border-radius:14px;max-width:640px;width:100%;max-height:88vh;overflow:auto;padding:32px;position:relative}.modal-b h3{font-size:32px;line-height:1.1;margin:8px 0 14px}.x{position:absolute;top:8px;right:14px;background:none;border:0;color:#fff;font-size:34px}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);background:var(--gold);color:var(--navy);padding:12px 22px;border-radius:99px;font-weight:600;z-index:120;transition:.3s}.toast.on{transform:translate(-50%,0)}
.rv{opacity:0;transform:translateY(24px);transition:.7s}.rv.in{opacity:1;transform:none}
/* cabeçalho em barra única sólida (todas as larguras); a foto começa abaixo dele */
.header,.header.sc{--h:84px;height:84px;flex-direction:row;align-items:center;gap:18px;padding:0 4vw;background:var(--navy2);backdrop-filter:none;border-bottom:1px solid #ffffff14}
.crest,.sc .crest{width:62px;height:62px}.brand-t b,.sc .brand-t b{font-size:32px}.brand-t small{font-size:14px}
.panel{flex:1;min-width:0;border:0;border-radius:0;background:none;backdrop-filter:none}.topbar{display:none}
.nav{justify-content:flex-end;padding:0;gap:6px}.nav a{padding:29px 16px;white-space:nowrap}.nav a:not(.ig)::after{bottom:0}.nav .ig{padding:0 12px}
.hero{margin-top:84px;height:calc(100vh - 84px);min-height:46vw}
@media(max-width:1100px){.header,.header.sc{--h:78px;height:78px;flex-direction:row;align-items:center;gap:10px;padding:0 3vw;background:#01063af0;backdrop-filter:blur(8px)}.brand{flex:none}.crest,.sc .crest{width:50px;height:50px}.brand-t b,.sc .brand-t b{font-size:24px}.brand-t small{font-size:12px}.panel{flex:1;min-width:0;border:0;border-radius:0;background:none;backdrop-filter:none}.topbar{display:none}.nav{overflow-x:auto;padding:0;gap:0;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a:first-child{margin-left:auto}.nav a{padding:29px 11px;white-space:nowrap;font-size:15px}.nav a:not(.ig)::after{left:6px;right:6px}.pl{width:200px;height:310px}.num{font-size:50px}.hero{height:auto;aspect-ratio:5/4;max-height:80vh;margin-top:78px}html{scroll-padding-top:90px}}
@media(max-width:600px){.crest,.sc .crest{width:40px;height:40px}.brand{gap:8px}.brand-t b,.sc .brand-t b{font-size:18px}.brand-t small{font-size:9px;letter-spacing:.2em}.nav a{padding:29px 8px;font-size:14px}}

/* galeria */
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.folder{border-radius:14px;overflow:hidden;background:var(--royal);border:1px solid #ffffff1c;color:#fff;padding:0;text-align:left;transition:transform .3s}.folder:hover{transform:translateY(-6px)}
.folder .cv{aspect-ratio:4/3;background:center/cover}.folder .in{padding:14px 16px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center}.folder .in span{font:700 22px "Barlow Condensed";text-transform:uppercase;line-height:1.1}.folder small{grid-column:2;opacity:.75}
.pg{aspect-ratio:4/3;border:0;border-radius:10px;background:center/cover;cursor:zoom-in;transition:transform .3s}.pg:hover{transform:scale(1.03)}
.back{margin-bottom:14px}.alb{font-size:30px;margin-bottom:16px}.modal-b.wide{max-width:1000px;padding:10px}.modal-b.wide .x{background:#000a;border-radius:50%;width:40px;height:40px;line-height:1;top:14px;right:14px}
/* mobile (celular): escudo+nome centralizados, Instagram à direita, menu rolável embaixo */
.ig-m{display:none}
@media(max-width:760px){
.header,.header.sc{--h:112px;height:112px;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 0}
.brand{justify-content:center;height:56px}.crest,.sc .crest{width:46px;height:46px}.brand-t b,.sc .brand-t b{font-size:22px}.brand-t small{font-size:10px}
.ig-m{display:block;position:absolute;right:4vw;top:18px}
.panel{flex:none;height:48px;border-top:1px solid #ffffff1c}
.nav{overflow-x:auto;justify-content:flex-start;padding:0 3vw;height:48px}.nav a:first-child{margin-left:0}.nav a{padding:14px 13px;font-size:15px}.nav .ig{display:none}.nav a:not(.ig)::after{left:8px;right:8px}
.hero{aspect-ratio:3/2;height:auto;min-height:0;max-height:none;margin-top:112px}.slide{background-position:center 70%}
.hero::after{background:linear-gradient(transparent 78%,var(--navy))}.hero-ar{bottom:14px}.hero-ar button{width:46px;height:40px;font-size:24px}
#clube{padding-top:40px}html{scroll-padding-top:125px}
.sponsors img{height:57px;max-width:190px}}

/* partidas: cartão em 3 colunas + contagem embaixo (cabe em qualquer largura) */
.teams{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:start}
.team{min-width:0;text-align:center;line-height:1.1}.team .crest,.crest-x{width:58px;height:58px}.crest-x{display:block;background:center/contain no-repeat}.team .adv{width:58px;height:58px}
.teams>div:nth-child(2){align-self:center;padding:0 4px}.vs{font:800 24px "Barlow Condensed";opacity:.7}
.cd{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:340px;margin:18px auto 0}.cd div{min-width:0;padding:8px 4px}
.match .demo-b{top:auto!important;bottom:10px;left:10px}.match .comp{font-size:16px;padding:12px 10px}
@media(max-width:760px){.match .d{font-size:26px}.score{font-size:34px}.cd b{font-size:26px}.team .crest,.crest-x,.team .adv{width:50px;height:50px}}

.sponsors a[href]{cursor:pointer;display:block;transition:transform .25s}@media(hover:hover){.sponsors a[href]:hover{transform:scale(1.06)}}
