.event-detail-page{padding-top:24px}
.event-detail-page .event-back-link{display:inline-block;font-size:13px;margin-bottom:18px}
.event-detail-page .event-hero{display:grid;gap:24px;margin-bottom:24px;align-items:center}
.event-hero-content{min-width:0}
.event-detail-page .event-hero .calendar-heading{margin-bottom:0}
.event-detail-page .event-hero h1{font-size:clamp(26px,3vw,40px);line-height:1.15;overflow-wrap:anywhere;margin:10px 0 16px}
.event-detail-page .event-hero .calendar-heading>p{line-height:1.6}
.event-detail-page .event-description{white-space:pre-line;line-height:1.65;font-size:14px;margin:16px 0 0;max-width:70ch}
.event-detail-page .event-detail-cover{display:block;width:100%;aspect-ratio:16/9;max-height:360px;object-fit:cover;border-radius:6px;min-width:0}
.event-sections-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px;min-width:0;max-width:100%}
.event-sections-nav a{flex:none;padding:9px 12px;border:1px solid #c8c1b3;border-radius:4px;color:#805900;font-size:11px;font-weight:700;line-height:1.4}
.event-sections-nav a:hover{background:#ffc126;border-color:#ffc126;color:#111}
.event-section-chooser{display:none}
.event-section-chooser label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#555}
.event-section-chooser select{display:block;width:100%;min-height:48px;padding:10px 12px;border:1px solid #c8c1b3;border-radius:4px;background:#faf7ef;color:#191919;font:inherit;font-size:14px}
.event-sections-navigation{min-width:0;margin-bottom:22px}
.event-sections-navigation .event-sections-nav{margin-bottom:0}
.event-blocks,.event-blocks-row{display:grid;gap:20px;min-width:0}
.event-blocks-row{grid-template-columns:minmax(0,1fr);align-items:start}
.event-detail-page .event-blocks .event-info-block{margin:0;padding:22px;min-width:0;overflow-wrap:anywhere}
.event-detail-page .event-blocks .event-info-block>h2{font-size:19px;margin-bottom:18px}
.event-detail-page .event-about-details{gap:16px 24px}
.event-detail-page .event-about-details dd{font-size:14px;line-height:1.6}
.event-detail-page .event-detail-modalities{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}
.event-detail-page .event-detail-modality{padding:16px}
.event-detail-page .event-detail-modality h3{font-size:16px;margin-bottom:12px}
.event-detail-page .event-detail-modality .event-modality-distance{font-size:28px;margin-bottom:14px}
.event-detail-page .event-detail-modality .event-modality-price{font-size:23px}
.event-modalities-footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid #444}
.event-detail-page .event-modalities-footer .event-modalities-validity{flex:1;min-width:200px;margin:0;padding:0;border:0}
.event-modalities-footer .athletes-button{margin-left:auto;min-height:44px;text-align:center}
.event-detail-page .event-kits-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.event-detail-page .event-kit-card{padding:16px}
.event-detail-page .event-kit-card .event-kit-photo{max-width:500px;width:100%;margin:0}
.event-kit-image-link{display:block;width:100%;max-width:500px;align-self:center;margin-bottom:18px;border-radius:4px;overflow:hidden;cursor:zoom-in}
.event-kit-image-link>span{display:block;padding:10px;background:#303030;color:#ffc126;text-align:center;font-size:13px;font-weight:700}
.event-detail-page .event-kit-items{font-size:14px;line-height:1.7}
.event-detail-page .event-kit-items small{font-size:12px;color:#ccc}
.event-detail-page .event-kit-card h3{font-size:18px}
.event-detail-page .event-kits-intro{font-size:14px}
.event-kit-content{display:flex;flex-direction:column;flex:1;min-width:0}
.event-detail-page .event-kit-price{font-size:20px;margin:10px 0 12px}
.event-detail-page .event-kit-items{margin-bottom:14px}
.event-detail-page .event-kits-grid--single{grid-template-columns:minmax(0,1fr)}
.event-detail-page .event-kit-delivery-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.event-detail-page .event-kit-delivery-card{padding:16px}
.event-detail-page .event-kit-delivery-card h3{font-size:20px}
.event-detail-page .event-kit-delivery-card .event-kit-delivery-hours{font-size:15px;margin-bottom:12px}
.event-schedule-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;align-items:start}
.event-detail-page .event-schedule-days .event-schedule-day{margin:0;min-width:0}
.event-detail-page .event-schedule-item{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:15px}
.event-detail-page .event-schedule-time{font-size:18px}
.event-route-controls{display:grid;gap:16px;align-items:end;min-width:0}
.event-route-selector{min-width:0}
.event-detail-page .event-route-selector select{max-width:none;margin-bottom:0;min-height:44px}
.event-detail-page .event-route-card{padding:16px}
.event-detail-page .event-route-card h3{font-size:15px;margin-bottom:12px}
.event-detail-page .event-route-card dl{gap:12px}
.event-detail-page .percurso-integrado-mapa{margin-top:18px;padding-top:16px}
.event-detail-page .event-regulation-intro{margin-bottom:16px}
@media(min-width:900px){
    .event-hero--with-cover{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
    .event-route-controls{grid-template-columns:minmax(200px,260px) minmax(0,1fr)}
    .event-detail-page .event-kits-grid--single .event-kit-card:has(>.event-kit-image-link){display:grid;grid-template-columns:minmax(280px,500px) minmax(0,1fr);gap:24px;align-items:start}
    .event-detail-page .event-kits-grid--single .event-kit-image-link{margin:0}
    .event-detail-page #regulamento-da-prova{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
    .event-detail-page #regulamento-da-prova>h2{grid-column:1;margin-bottom:8px}
    .event-detail-page #regulamento-da-prova .event-regulation-intro{grid-column:1;margin:0}
    .event-detail-page #regulamento-da-prova .event-regulation-actions{grid-column:2;grid-row:1/span 2}
}
@media(min-width:1100px){
    .event-sections-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
    .event-sections-nav a{display:flex;align-items:center;justify-content:center;min-height:40px;text-align:center}
    .event-blocks-row--schedule{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
    .event-blocks-row--schedule .event-schedule-days{grid-template-columns:minmax(0,1fr)}
    .event-blocks-row--schedule .event-kit-delivery-grid{grid-template-columns:minmax(0,1fr)}
}
.event-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.event-detail-page .event-detail-modality{display:flex;flex-direction:column;align-items:flex-start}
.event-detail-page .event-modality-enrollment{margin-top:auto;padding:12px 16px;min-height:44px;text-align:center}
.event-payment-grid{display:grid;gap:24px}
.event-payment-grid>div{min-width:0}
.event-detail-page .event-payment-grid h3,.event-detail-page .event-safety-notes h3{color:#ffc126;font-size:17px;line-height:1.4;margin:0 0 12px}
.event-detail-page .event-payment-grid p,.event-detail-page .event-payment-grid li,.event-detail-page .event-structure-list,.event-detail-page .event-safety-notes li,.event-detail-page .event-faq-list p{font-size:14px;line-height:1.7}
.event-detail-page .event-payment-grid p{margin:0 0 16px}
.event-optional-text{white-space:pre-line;overflow-wrap:anywhere}
.event-detail-page .event-safety-notes{grid-column:1/-1;margin-top:18px}
.event-faq-list details,.event-route-comparison{border:1px solid #444;border-radius:4px;background:#242424}
.event-faq-list details+details{margin-top:12px}
.event-faq-list summary,.event-route-comparison summary{padding:14px 16px;color:#ffc126;font-size:15px;font-weight:700;cursor:pointer;min-height:48px}
.event-faq-list p{padding:0 16px 16px;margin:0}
.event-route-comparison{margin-bottom:20px;min-width:0}
.event-comparison-scroll{overflow-x:auto;max-width:100%;padding:0 16px 16px}
.event-comparison-scroll table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.5;text-align:left}
.event-comparison-scroll caption{text-align:left;padding:0 0 12px;color:#ccc}
.event-comparison-scroll th,.event-comparison-scroll td{padding:12px;border-bottom:1px solid #555;vertical-align:top}
.event-link-note{font-size:12px;font-weight:400}
.event-detail-page :where(a,button,select,summary,[tabindex]):focus-visible{outline:3px solid #ffc126;outline-offset:4px}
@media(min-width:768px){.event-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
    .event-detail-page{padding-top:20px;padding-bottom:32px}
    .event-detail-page .event-hero{gap:16px;margin-bottom:18px}
    .event-detail-page .event-hero h1{font-size:27px;margin-bottom:12px}
    .event-detail-page .event-detail-cover{max-height:260px}
    .event-sections-nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;margin-bottom:16px}
    .event-sections-nav a{padding:10px;min-height:40px}
    .event-sections-navigation{margin-bottom:16px}
    .event-sections-navigation--enhanced .event-sections-nav{display:none}
    .event-sections-navigation--enhanced .event-section-chooser{display:block}
    .event-blocks,.event-blocks-row{gap:16px}
    .event-detail-page .event-blocks .event-info-block{padding:16px}
    .event-detail-page .event-blocks .event-info-block>h2{font-size:18px;margin-bottom:16px}
    .event-detail-page .event-detail-modalities{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .event-detail-page .event-detail-modality{padding:12px}
    .event-detail-page .event-detail-modality h3{font-size:14px}
    .event-detail-page .event-detail-modality .event-modality-distance{font-size:25px}
    .event-detail-page .event-detail-modality .event-modality-price{font-size:21px}
    .event-detail-page .event-detail-modality .event-modality-price-label{font-size:11px}
    .event-modalities-footer .athletes-button{width:100%}
    .event-detail-page .event-kits-grid{grid-template-columns:minmax(0,1fr)}
    .event-detail-page .event-kit-card .event-kit-photo{max-width:500px}
    .event-detail-page .event-schedule-item{grid-template-columns:65px minmax(0,1fr);gap:10px;padding:12px}
    .event-detail-page .event-schedule-content h4{font-size:15px}
    .event-detail-page .event-route-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}
    .event-detail-page .event-regulation-actions,.event-detail-page .event-regulation-actions .athletes-button{width:100%}
}
@media(max-width:359px){
    .event-detail-page .event-detail-modalities{grid-template-columns:minmax(0,1fr)}
}
.event-detail-page .event-enrollment-primary{min-height:56px;padding:16px 28px;font-size:18px;line-height:1.3;font-weight:800;box-shadow:0 4px 0 #a67600;text-align:center;white-space:normal}
.event-hero-content>.event-enrollment-primary{display:inline-flex;align-items:center;justify-content:center;margin-top:24px;min-width:250px}
.event-kit-dialog{position:fixed;inset:0;margin:auto;width:min(1000px,calc(100vw - 24px));max-width:none;max-height:92dvh;padding:0;border:1px solid #ffc126;border-radius:6px;background:#191919;color:#fafafa}
.event-kit-dialog[open]{display:flex;flex-direction:column}
.event-kit-dialog::backdrop{background:#000c}
body:has(.event-kit-dialog[open]){overflow:hidden}
.event-kit-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid #444}
.event-kit-dialog h2{margin:0;font-size:18px;line-height:1.4;color:#ffc126}
.event-kit-dialog button{flex:none;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #777;border-radius:4px;background:#303030;color:#fafafa;font:inherit;cursor:pointer}
.event-kit-dialog-tools{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:13px}
.event-kit-dialog-tools>span{margin-right:auto}
.event-kit-dialog-scroll{overflow:auto;min-height:0;padding:12px;overscroll-behavior:contain}
.event-kit-dialog-scroll img{display:block;max-width:none;height:auto;margin:0 auto}
.event-lodgings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;align-items:stretch}
.event-lodging-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #444;border-radius:5px;background:#242424}
.event-lodging-photo{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
.event-lodging-content{display:flex;flex-direction:column;flex:1;gap:14px;padding:20px;min-width:0}
.event-lodging-content h3{margin:0;color:#ffc126;font-size:19px;line-height:1.4;overflow-wrap:anywhere}
.event-detail-page .event-lodging-description{margin:0;font-size:14px;line-height:1.7;color:#eee;white-space:pre-line;overflow-wrap:anywhere}
.event-lodging-reservations{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:14px;border-top:1px solid #444}
.event-lodging-reservations>span{font-size:12px;color:#ccc}
.event-lodging-reservations>a{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;padding:8px 14px;color:#111;background:#ffc126;border-radius:4px;font-size:15px;font-weight:700;overflow-wrap:anywhere}
.event-detail-page .event-lodging-empty{margin:0;font-size:14px;line-height:1.6;color:#ccc}
@media(min-width:900px){
    .event-lodgings-grid:not(.event-lodgings-grid--single){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1300px){
    .event-lodgings-grid:not(.event-lodgings-grid--single){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:900px){
    .event-lodgings-grid--single{grid-template-columns:minmax(0,1fr)}
    .event-lodgings-grid--single .event-lodging-card{display:grid;grid-template-columns:minmax(0,500px) minmax(0,1fr);align-items:start}
}
@media(max-width:650px){
    .event-lodgings-grid{grid-template-columns:minmax(0,1fr);gap:16px}
    .event-lodging-content{padding:16px}
    .event-hero-content>.event-enrollment-primary{width:100%;margin-top:20px}
    .event-kit-dialog>header{padding:12px;gap:10px}
    .event-kit-dialog h2{font-size:16px}
}
