/* Logo originale integro; contenimento senza ritaglio. */
.hero .hero-logo{border-radius:50%!important;aspect-ratio:1!important;height:auto!important;padding:5px!important;background:#fff;object-fit:contain!important;flex-shrink:0;box-shadow:0 4px 14px rgba(0,0,0,.16)}
.site-header .brand img{width:92px;height:92px;object-fit:contain;border-radius:0;flex:0 0 92px;clip-path:none}
.site-header .brand{overflow:visible}
.map-section .wrap{width:min(var(--max),calc(100% - 36px))}
.route-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "left" "right";gap:14px}
.route-layout .map-frame{position:relative;top:auto;align-self:auto;width:100%}
.route-stage-column{min-width:0}
.stage-table-scroll{overflow-x:auto}
.stage-table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.35;color:#252525;font-variant-numeric:tabular-nums}
.stage-table caption{text-align:left;font-size:1rem;font-weight:800;padding:5px 0 8px}
.stage-table th,.stage-table td{padding:7px 10px;border-bottom:1px solid #ded8d1;text-align:left;vertical-align:middle}
.stage-table thead th{font-weight:700;background:#eae3db;white-space:normal}
.stage-table tbody th{color:var(--red);width:7%;white-space:nowrap}
.stage-table td:nth-child(2){width:32%}
.stage-table td:nth-child(n+3){white-space:nowrap}
.stage-table tbody tr.is-variant{background:rgba(191,6,14,.04)}
.stage-table .stage-stars{color:#a9050c;letter-spacing:.04em}
.route-stats{padding:10px 14px;margin-bottom:14px;box-shadow:none}
.route-stats p{white-space:normal}
.route-prep{box-shadow:none}
@media(max-width:680px){
 .stage-table{min-width:690px}
 .map-section .wrap{width:min(var(--max),calc(100% - 24px))}
}
@media(max-width:560px){
 .site-header .brand img{width:68px;height:68px;flex-basis:68px}
 .links.open{top:86px}
}
