.calendar-page{color:#191919}.calendar-heading{margin-bottom:28px}.calendar-eyebrow{color:#805900;font-size:11px;font-weight:700;letter-spacing:2px}.calendar-heading>p:last-child{color:#555;max-width:650px}.calendar-summary{display:flex;justify-content:space-between;gap:16px;color:#555;font-size:13px;padding-bottom:18px;border-bottom:1px solid #ccc}.calendar-summary strong{color:#191919}.calendar-month{margin-top:32px}.calendar-month>h2{font-size:24px;margin-bottom:20px;text-transform:capitalize}.calendar-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.calendar-event{display:flex;flex-direction:column;overflow:hidden;border:1px solid #333;border-radius:6px;background:#191919;color:#fafafa}.calendar-image{position:relative;background:#111;aspect-ratio:12/7;overflow:hidden}.calendar-image img{width:100%;height:100%;object-fit:cover}.calendar-image-logo img{object-fit:contain;padding:30px}.calendar-badge{position:absolute;top:14px;right:14px;background:#ffc126;color:#111;padding:5px 10px;border-radius:3px;font-size:11px;font-weight:700}.calendar-event-content{display:flex;flex:1;flex-direction:column;padding:22px}.calendar-event-title{display:flex;align-items:center;gap:16px;margin-bottom:16px}.calendar-event-title time{display:flex;flex:none;align-items:center;flex-direction:column;justify-content:center;min-width:58px;min-height:66px;border:1px solid #555;border-radius:4px;color:#ffc126}.calendar-event-title time b{font-size:26px;line-height:1.2}.calendar-event-title time span{font-size:11px;text-transform:uppercase}.calendar-event-title h3{font-size:18px;line-height:1.35;overflow-wrap:anywhere}.calendar-location{font-size:14px;font-weight:600}.calendar-local,.calendar-organizer{font-size:12px;color:#b7b7b7;margin-top:5px}.calendar-modalities{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 22px}.calendar-modalities span{font-size:11px;color:#ddd;background:#303030;padding:5px 8px;border-radius:3px}.calendar-event-content>.athletes-button{margin-top:auto;white-space:normal;text-align:center}.calendar-empty{background:#191919;color:#fafafa;padding:32px;border-radius:6px;margin-top:24px}.calendar-empty p{color:#b7b7b7;margin:12px 0}.calendar-empty a{color:#ffc126}@media(max-width:1000px){.calendar-events{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.calendar-events{grid-template-columns:1fr}.calendar-summary{font-size:12px}.calendar-event-content{padding:18px}}
.results-event-list{margin-top:26px}.results-event-list .calendar-event-title h2{font-size:18px;line-height:1.35;overflow-wrap:anywhere}
.results-event-list>.calendar-empty{grid-column:1/-1}
.event-detail-page .event-info-block{margin:26px 0;padding:24px;background:#191919;color:#fafafa;border:1px solid #333;border-top:3px solid #ffc126;border-radius:6px}
.event-detail-page .event-info-block>h2{margin:0 0 20px;color:#ffc126;font-size:20px;line-height:1.3}
.event-detail-page h2{text-transform:uppercase}
.event-about-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;margin:0}
.event-about-details>div{min-width:0}.event-about-details dt{font-size:13px;font-weight:700;color:#ffc126;margin-bottom:6px}
.event-about-details dd{margin:0;font-size:15px;line-height:1.7;overflow-wrap:anywhere}.event-about-details address{font-style:normal}.event-about-details address>*{display:block}
@media(max-width:650px){.event-detail-page .event-info-block{padding:20px}.event-about-details{grid-template-columns:minmax(0,1fr);gap:18px}}
.event-detail-page .event-kits-intro{font-size:13px;line-height:1.6;color:#ccc;margin:0 0 20px}
.event-kits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.event-kit-card{display:flex;flex-direction:column;min-width:0;padding:20px;background:#242424;border:1px solid #444;border-radius:5px}
.event-kit-card h3{font-size:17px;line-height:1.4;overflow-wrap:anywhere}
.event-kit-card .event-kit-photo{display:block;width:100%;max-width:500px;height:auto;aspect-ratio:1;object-fit:contain;align-self:center;margin-bottom:16px;border-radius:4px;background:#191919}
.event-detail-page .event-kit-price{font-size:21px;font-weight:700;line-height:1.4;color:#ffc126;margin:12px 0 16px}.event-kit-price small{display:block;font-size:11px;font-weight:400;color:#ccc}
.event-kit-items{padding-left:18px;margin:0 0 18px;list-style:disc;color:#fafafa;font-size:13px;line-height:1.6}.event-kit-items li+li{margin-top:8px}.event-kit-items small{display:block;color:#b7b7b7;font-size:11px}
.event-detail-page .event-kit-modalities{margin:auto 0 0;padding-top:14px;border-top:1px solid #444;font-size:12px;color:#ddd;overflow-wrap:anywhere}.event-kit-modalities span{font-weight:700}
@media(max-width:650px){.event-kits-grid{grid-template-columns:minmax(0,1fr)}.event-kit-card{padding:16px}}

/* Calendário em lista; mantém as cores e a tipografia do portal. */
.calendar-list-page .calendar-events{display:flex;flex-direction:column;gap:18px;list-style:none;margin:0;padding:0}
.calendar-list-page .calendar-events>li{min-width:0}
.calendar-list-page .calendar-event{position:relative;flex-direction:row;align-items:stretch}
.calendar-list-page .calendar-badge{top:4px;left:124px;right:auto;z-index:1}
.calendar-list-page .calendar-image{flex:0 0 210px;width:210px;aspect-ratio:500/273;min-height:0;align-self:center}
.calendar-list-page .calendar-image img{position:absolute;inset:0;object-fit:contain;padding:0}
.calendar-list-page .calendar-event-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;min-width:0}
.calendar-list-page .calendar-event-information{min-width:0;overflow-wrap:anywhere}
.calendar-list-page .calendar-event-title{margin-bottom:12px}
.calendar-list-page .calendar-event-name{flex:1;min-width:0}
.calendar-list-page .calendar-event-name .calendar-location{margin-top:6px}
.calendar-list-page .calendar-modalities{margin-bottom:0}
.calendar-list-page .calendar-event-content>.athletes-button{margin-top:0;align-self:center}
@media(max-width:1000px){
    .calendar-list-page .calendar-image{flex-basis:170px;width:170px}
    .calendar-list-page .calendar-badge{left:84px}
    .calendar-list-page .calendar-event-content{grid-template-columns:minmax(0,1fr);gap:18px}
    .calendar-list-page .calendar-event-content>.athletes-button{justify-self:start}
}
@media(max-width:650px){
    .calendar-list-page .calendar-image{flex-basis:110px;width:110px;align-self:flex-start;margin:18px 0 18px 16px;border-radius:4px}
    .calendar-list-page .calendar-badge{left:20px;padding:3px 5px}
    .calendar-list-page .calendar-event-content{gap:16px}
    .calendar-list-page .calendar-event-title{gap:12px;flex-wrap:wrap}
    .calendar-list-page .calendar-event-content>.athletes-button{max-width:100%}
}
.event-route-information{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.event-route-card{min-width:0;padding:20px;background:#242424;border:1px solid #444;border-radius:5px}
.event-route-card h3{font-size:17px;line-height:1.4;color:#ffc126;overflow-wrap:anywhere;margin:0 0 18px}
.event-route-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.event-route-card dt{font-size:12px;line-height:1.5;color:#b7b7b7;margin-bottom:4px}
.event-route-card dd{margin:0;font-size:16px;line-height:1.5;font-weight:700;color:#fafafa;overflow-wrap:anywhere}
.event-route-empty{font-size:14px;line-height:1.6;color:#ccc}
.event-detail-page .event-regulation-intro{font-size:14px;line-height:1.6;color:#ddd;margin:0 0 20px}
.event-regulation-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.event-detail-page .event-schedule-intro{font-size:13px;line-height:1.6;color:#ccc;margin:0 0 20px}
.event-schedule-day+.event-schedule-day{margin-top:28px}.event-schedule-day h3{font-size:18px;color:#ffc126;line-height:1.5;margin:0 0 12px}
.event-schedule-day h3 span{font-size:13px;font-weight:400;color:#ccc}
.event-schedule-list{margin:0;padding:0;list-style:none;border:1px solid #444;border-radius:5px;overflow:hidden}
.event-schedule-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:20px;background:#242424}
.event-schedule-item+.event-schedule-item{border-top:1px solid #444}.event-schedule-time{font-size:20px;font-weight:700;color:#ffc126;line-height:1.4}
.event-schedule-time>span{display:block;font-size:13px;font-weight:400;color:#ccc}
.event-schedule-content{min-width:0;overflow-wrap:anywhere}.event-schedule-content h4{font-size:16px;line-height:1.5;color:#fafafa;margin:0 0 6px}
.event-schedule-content p{font-size:13px;line-height:1.6;color:#ccc;margin:4px 0 0}.event-schedule-content .event-schedule-location{color:#fafafa}
.event-schedule-content .event-schedule-notes{white-space:pre-line;margin-top:10px}
@media(max-width:650px){.event-schedule-item{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:16px}.event-schedule-time{font-size:18px}}
.event-kit-delivery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}
.event-kit-delivery-card{min-width:0;padding:20px;background:#242424;border:1px solid #444;border-radius:5px}
.event-kit-delivery-card h3{margin:0;color:#ffc126;font-size:22px;line-height:1.3}
.event-kit-delivery-card .event-kit-delivery-day{margin:4px 0 12px;color:#ccc;font-size:13px}
.event-kit-delivery-card .event-kit-delivery-hours{margin:0 0 16px;color:#fafafa;font-size:16px;font-weight:700}
.event-kit-delivery-card address{font-style:normal;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.event-kit-delivery-card address>*{display:block}.event-kit-delivery-card address strong{margin-bottom:4px}
.event-detail-page .event-kit-delivery-intro{font-size:13px;line-height:1.6;color:#ccc;margin:0 0 20px}
.event-detail-modalities{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
.event-detail-modality{display:flex;flex-direction:column;min-width:0;padding:20px;background:#242424;color:#fafafa;border:1px solid #444;border-radius:5px}
.event-detail-modality h3{font-size:17px;line-height:1.4;color:#ffc126;overflow-wrap:anywhere;margin:0 0 16px}
.event-detail-modality .event-modality-distance{font-size:32px;line-height:1.2;font-weight:700;margin:0 0 20px}
.event-modality-distance span{font-size:16px;font-weight:400}
.event-detail-modality .event-modality-price-label{font-size:12px;line-height:1.5;color:#ccc;margin:auto 0 4px}
.event-detail-modality .event-modality-price{font-size:25px;line-height:1.3;font-weight:700;color:#ffc126;margin:0}
.event-detail-modality .event-modality-unavailable{font-size:13px;line-height:1.6;color:#ccc;margin:auto 0 0}
.event-detail-page .event-modalities-validity{margin:18px 0 0;padding-top:16px;border-top:1px solid #444;font-size:13px;line-height:1.6;color:#ddd}
.percurso-integrado select{display:block;width:100%;max-width:420px;margin:8px 0 18px;padding:10px;background:#242424;color:#fafafa;border:1px solid #666;border-radius:4px;font:inherit}
.percurso-integrado .event-route-information{grid-template-columns:minmax(0,1fr)}
.percurso-integrado .event-route-card dl{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.percurso-integrado-mapa{margin-top:24px;padding-top:20px;border-top:1px solid #444}
.percurso-integrado [data-percurso-status]{font-size:14px;line-height:1.6;margin-bottom:16px}
.percurso-integrado .percurso-apoio h3,.percurso-integrado h3{color:#ffc126}
.percurso-integrado [data-percurso-conteudo]>h3{margin:20px 0 12px}
@media(max-width:400px){
    .calendar-list-page .calendar-image{flex-basis:88px;width:88px;margin-left:12px}
    .calendar-list-page .calendar-badge{left:16px}
    .calendar-list-page .calendar-event-content{padding:18px 12px}
}
