/* White product presentation, revision 1.0.0. Step 3 only. */
:is(.carrera-del-globo-premium-redesign,.carrera-virtual-premium-redesign) #review-content :is(.review-addon-card,.shirt-card,.review-addon-image,.shirt-card-image,.shirt-compact-image,.windbreaker-selection-list,.windbreaker-piece){background:#fff!important;background-image:none!important}
:is(.carrera-del-globo-premium-redesign,.carrera-virtual-premium-redesign) #review-content :is(.review-addon-image,.shirt-card-image,.shirt-compact-image) img{background:#fff!important;mix-blend-mode:normal!important;object-fit:contain;filter:none!important}
:is(.carrera-del-globo-premium-redesign,.carrera-virtual-premium-redesign) #review-content .review-addon-zoom-hint{background:rgba(255,255,255,.96)!important;color:#344054!important;border-top:1px solid #edf0f4;backdrop-filter:none}

/* Reserve a separate row for the caption so it never covers the product. */
#review-content button.review-addon-image.is-zoomable {
 display:grid!important;grid-template-rows:minmax(0,1fr) 26px!important;
 height:200px!important;aspect-ratio:auto!important;padding:0!important;
 align-items:stretch;overflow:hidden!important;
}
#review-content button.review-addon-image.is-zoomable img {
 position:static!important;display:block!important;width:100%!important;height:100%!important;
 min-height:0!important;max-height:100%!important;object-fit:contain!important;
 padding:10px!important;box-sizing:border-box;transform:none!important;
}
#review-content button.review-addon-image.is-zoomable .review-addon-zoom-hint {
 position:static!important;inset:auto!important;display:flex!important;
 align-items:center;justify-content:center;height:26px!important;min-height:26px;
 padding:0!important;margin:0!important;line-height:1.2!important;
 background:#fff!important;color:#344054!important;
}
@media(max-width:600px){#review-content button.review-addon-image.is-zoomable{height:180px!important}}

/* Compact mobile extras; keep the fieldset's accessible name without repeating it visually. */
#review-content .windbreaker-piece legend{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:600px){
 #review-content .review-addon-card:not([data-addon-type="extra_shirt"]){display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;grid-template-rows:auto auto!important;grid-template-areas:'image copy' 'image quantity' 'selections selections'!important;gap:6px 10px!important;padding:10px!important;min-height:0!important;align-items:start!important;align-content:start!important;border-radius:14px!important}
 #review-content .review-addon-card>.review-addon-image{grid-area:image!important;width:104px!important;align-self:start!important}
 #review-content .review-addon-card>.review-addon-copy{grid-area:copy!important;gap:3px!important;min-width:0!important}
 #review-content .review-addon-card>.review-addon-quantity{grid-area:quantity!important;margin:0!important;align-self:start!important;width:100%!important;max-width:160px!important}
 #review-content .review-addon-copy h4{font-size:14px!important;line-height:1.22!important;margin:0!important}
 #review-content .review-addon-copy p{font-size:12px!important;line-height:1.3!important;margin:0!important}
 #review-content .review-addon-copy strong{font-size:14px!important;line-height:1.25!important}
 #review-content button.review-addon-image.is-zoomable{height:132px!important;min-height:0!important;grid-template-rows:minmax(0,1fr) 24px!important}
 #review-content button.review-addon-image.is-zoomable img{padding:3px!important}
 #review-content button.review-addon-image.is-zoomable .review-addon-zoom-hint{height:24px!important;min-height:24px!important;font-size:10px!important;letter-spacing:.04em!important}
 #review-content .windbreaker-selection-list{grid-area:selections!important;margin:0!important;padding:0!important;gap:6px!important}
 #review-content .windbreaker-piece{padding:0!important;border:0!important;gap:6px!important;border-radius:0!important}
 #review-content .windbreaker-piece .review-addon-select{width:100%!important;max-width:none!important}
 #review-content .review-addons-grid{gap:10px!important}
 #review-content .review-addon-select,#review-content .review-addon-quantity{gap:4px!important;min-width:0!important}
 #review-content .review-addon-select>span,#review-content .review-addon-quantity>span{font-size:12px!important;line-height:1.25!important;text-align:left!important}
 #review-content .addon-stepper{height:44px!important;min-height:44px!important;border-radius:10px!important;width:100%!important;grid-template-columns:44px minmax(0,1fr) 44px!important}
 #review-content .addon-stepper-button{min-width:44px!important;min-height:44px!important;padding:0!important}
 #review-content select.form-select{appearance:none!important;-webkit-appearance:none!important;font-family:inherit!important;font-size:16px!important;font-weight:500!important;line-height:1.3!important;height:44px!important;min-height:44px!important;width:100%!important;min-width:0!important;padding:0 30px 0 12px!important;text-align:left!important;text-align-last:left!important;border:1px solid #cbd5e1!important;border-radius:10px!important;background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:right 10px center!important;background-size:16px!important;background-repeat:no-repeat!important;box-shadow:none!important;color:#172033!important}
 #review-content select.form-select option{font-size:16px!important;font-weight:400!important;background:#fff!important;color:#172033!important}
 #review-content select.form-select:focus-visible{outline:2px solid #0071e3!important;outline-offset:2px!important}
 #review-content .shirt-carousel-card{padding:12px!important;gap:8px!important;border-radius:14px!important}
 #review-content .shirt-carousel-card button.review-addon-image.is-zoomable{width:100%!important;height:148px!important;grid-area:auto!important}
 #review-content .shirt-card-controls{gap:8px!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
 #review-content .shirt-card-add{min-height:44px!important;padding:10px!important;font-size:12px!important;border-radius:10px!important}
}

/* Give the best-selling windbreaker more presence on mobile. */
@media(max-width:600px){
 #review-content .review-addon-card.review-addon-card--windbreaker{grid-template-columns:141px minmax(0,1fr)!important}
 #review-content .review-addon-card--windbreaker>button.review-addon-image.is-zoomable{width:141px!important;height:183px!important}
}
/* Respect the wizard's first-step navigation state. */
#wizard #btn-back[hidden] { display: none !important; }

/* Event sponsor layout and clear accordion controls. */
.product-sponsor .event-sponsor-logos{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;padding:14px 0;flex-wrap:wrap}
.product-sponsor .event-sponsor-logos>img{width:180px;height:132px;object-fit:contain;margin:0}
.product-sponsor .event-sponsor-atp{width:170px;height:132px;display:flex;align-items:center;justify-content:center;background:#092b4c;border-radius:12px;padding:16px}
.product-sponsor .event-sponsor-atp img{width:138px;height:96px;object-fit:contain;margin:0}
#rutas .event-detail-card>summary::before{font-family:Arial,sans-serif;font-size:28px;font-weight:300;line-height:1;display:grid;place-items:center}
@media(max-width:600px){.product-sponsor .event-sponsor-logos{gap:16px}.product-sponsor .event-sponsor-logos>img{width:132px;height:108px}.product-sponsor .event-sponsor-atp{width:132px;height:108px;padding:12px}.product-sponsor .event-sponsor-atp img{width:108px;height:76px}}

/* White sponsor surface; recolor only the supplied white wordmark in CSS. */
.product-sponsor .event-sponsor-atp{background:#fff;position:relative}
.product-sponsor .event-sponsor-atp .atp-wordmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);clip-path:inset(78% 0 0 0);filter:brightness(0);pointer-events:none}

/* Keep the sponsor heading above a single balanced logo row. */
.product-sponsor.sponsor-card { grid-template-columns: minmax(0, 1fr); text-align: center; gap: 8px; background: #fff; }
.product-sponsor.sponsor-card > span { display: block; text-align: center; }
.product-sponsor.sponsor-card .event-sponsor-logos { flex-wrap: nowrap; gap: clamp(16px, 3vw, 40px); padding: 4px 0; }

/* Four distances, grouped under their race day. */
.product-info .info-distances.distance-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}
.distance-days .distance-day-heading{grid-column:span 2;text-align:center;padding:9px 4px;border-radius:9px;font-size:14px;font-weight:800;line-height:1.2}
.distance-days .distance-day-heading.day-saturday{background:#0073e6;color:#fff}
.distance-days .distance-day-heading.day-sunday{background:#093966;color:#fff}
.product-info .distance-days .distance-card{min-width:0;width:auto;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 4px;min-height:78px;border-radius:13px}
.distance-days .distance-card.day-saturday{border-color:#9fcafb}
.distance-days .distance-card.day-sunday{border-color:#9ab0c7}
.distance-days .distance-card strong{font-size:24px;line-height:1.1}
.distance-days .distance-card small{font-size:11px;line-height:1.2}
@media(max-width:600px){.product-info .info-distances.distance-days{gap:6px}.distance-days .distance-day-heading{font-size:13px;padding:9px 3px}.product-info .distance-days .distance-card{padding:10px 3px;min-height:74px;border-radius:11px}.distance-days .distance-card strong{font-size:22px}.distance-days .distance-card small{font-size:10px}}

/* Approved combination: day headers with white, individually labeled cards. */
.distance-days .distance-day-heading.day-sunday{background:#ad5500;color:#fff}
.product-info .distance-days .distance-card{border-width:2px;padding:0 0 12px;gap:12px;min-height:138px;justify-content:flex-start;overflow:hidden;background:#fff}
.distance-days .distance-card.day-saturday{border-color:#8cbdf3}
.distance-days .distance-card.day-sunday{border-color:#e6b47b}
.distance-days .distance-date-label{display:block;width:100%;padding:9px 1px;font-size:10px;line-height:1.2;font-weight:800;text-transform:uppercase;letter-spacing:.4px;background:#e8f3ff;color:#07569f}
.distance-days .day-sunday .distance-date-label{background:#fff0dd;color:#874205}
.distance-days .distance-date-label>span{display:block;margin-top:3px;font-size:12px}
.distance-days .distance-card strong{color:#142b43}
.distance-days .distance-card small{padding:0 2px}

/* Compact square distance cards; each day is shown once in its header. */
.product-info .distance-days .distance-card { aspect-ratio: 1 / 1; min-height: 0; padding: 8px 3px; justify-content: center; gap: 6px; border-radius: 7px; }

/* Soft square cards with quiet borders and depth. */
.product-info .distance-days .distance-card { border-radius: 18px; border-width: 1px; box-shadow: 0 2px 5px rgba(20,43,67,.025), 0 7px 18px rgba(20,43,67,.045); }
.distance-days .distance-card.day-saturday { border-color: #c6dbf3; }
.distance-days .distance-card.day-sunday { border-color: #efd5b6; }
.distance-days .distance-card strong { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 700; letter-spacing: -.6px; }
.distance-days .distance-card small { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #657083; }
@media(max-width:600px) { .product-info .distance-days .distance-card { border-radius: 16px; } }
