:root{--orange:#f57c20;--orange-soft:#f57c201a;--purple:#6b2d5b;--bg:#fff;--bg-hover:#f8f7f6;--border:#eee;--text:#1a1a1a;--text-secondary:#777;--text-dim:#aaa;--sidebar-w:380px;--radius:8px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,sans-serif}#map{z-index:1;position:absolute;inset:0}.maplibregl-ctrl-group button{border-color:var(--border);background:#fff}.maplibregl-ctrl-group button:hover{background:#f8f8f8}#sidebar{width:var(--sidebar-w);background:var(--bg);z-index:1000;flex-direction:column;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:0;left:0;box-shadow:1px 0 8px #0000000f}#sidebar.collapsed{transform:translateX(calc(-1 * var(--sidebar-w)))}#sidebar.dragging{transition:none}#sidebar-header{border-bottom:2px solid var(--border);padding:18px 20px 14px}.header-content{align-items:center;gap:12px;display:flex}.club-logo{object-fit:contain;border-radius:10px;flex-shrink:0;width:44px;height:44px}.header-text h1{color:var(--text);letter-spacing:.02em;margin-bottom:1px;font-family:Bebas Neue,sans-serif;font-size:1.45rem;line-height:1}.header-text .subtitle{color:var(--orange);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:600}.calendar-btn{background:var(--orange);color:#fff;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:7px 12px;font-size:.72rem;font-weight:700;transition:transform .1s,filter .1s;display:inline-flex}.calendar-btn:hover{filter:brightness(1.05)}.calendar-btn:active{transform:scale(.96)}#stats-bar{border-bottom:1px solid var(--border);align-items:center;gap:0;padding:10px 20px;display:flex}.stat{flex-direction:column;flex:1;align-items:center;gap:0;display:flex}.stat-value{color:var(--text);font-family:Bebas Neue,sans-serif;font-size:1.35rem;line-height:1.1}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.6rem}.stat-divider{background:var(--border);width:1px;height:24px}#filter-toggle{display:none}.filter-badge{background:var(--orange);color:#fff;border-radius:10px;margin-left:4px;padding:1px 6px;font-size:.6rem;font-weight:700}#date-toggle{display:none}#filters{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 20px;display:flex}.filter-toggles{gap:6px;display:flex}.filter-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:6px;flex:1;padding:5px 0;font-family:DM Sans,system-ui,sans-serif;font-size:.72rem;font-weight:600;transition:all .15s}.filter-btn:hover{border-color:var(--orange);color:var(--orange)}.filter-btn.active{background:var(--orange);border-color:var(--orange);color:#fff}.filter-row{gap:8px;display:flex}.filter-row select{border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23aaa'/%3E%3C/svg%3E") right 8px center no-repeat;border-radius:6px;flex:1;padding:5px 24px 5px 8px;font-family:DM Sans,system-ui,sans-serif;font-size:.75rem;transition:border-color .2s}.filter-row select:focus{border-color:var(--orange);outline:none}.filter-dates{gap:8px;display:flex}.filter-group{flex:1;align-items:center;gap:6px;display:flex}#filters label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:.7rem}#filters input[type=date]{border:1px solid var(--border);min-width:0;color:var(--text);background:#fff;border-radius:6px;flex:1;padding:5px 8px;font-family:DM Sans,system-ui,sans-serif;font-size:.78rem;transition:border-color .2s}#filters input[type=date]:focus{border-color:var(--orange);outline:none}#legend{bottom:30px;left:calc(var(--sidebar-w) + 12px);z-index:10;backdrop-filter:blur(4px);background:#ffffffeb;border-radius:6px;gap:10px;padding:6px 12px;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;box-shadow:0 1px 4px #0000001a}#sidebar.collapsed~#sidebar-toggle~#map~#legend{left:12px}.legend-item{color:var(--text-secondary);align-items:center;gap:5px;font-size:.68rem;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 0 2px #0000000f}.dot-this-week{background:#e53935}.dot-this-month{background:var(--orange)}.dot-future{background:var(--purple)}.dot-past{background:#bbb}.legend-sep{background:var(--border);align-self:stretch;width:1px}.legend-shape{width:13px;height:11px;fill:var(--text-secondary);flex-shrink:0}#race-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;overflow-y:auto}#race-list::-webkit-scrollbar{width:4px}#race-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.race-card{border-bottom:1px solid var(--border);cursor:pointer;padding:14px 20px;transition:background .15s}.race-card:hover{background:var(--bg-hover)}.race-card .race-name{color:var(--text);margin-bottom:6px;font-size:.88rem;font-weight:600;line-height:1.3}.race-card .race-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;font-size:.75rem;display:flex}.race-card .race-meta .date{color:var(--text);font-weight:600}.race-card .race-meta .location{color:var(--text-secondary)}.race-card .race-meta .location:before{content:"·";margin-right:6px}.race-card .member-badge{background:var(--orange-soft);color:var(--orange);white-space:nowrap;border-radius:20px;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.type-badge{text-transform:uppercase;vertical-align:middle;letter-spacing:.03em;border-radius:10px;margin-left:4px;padding:1px 6px;font-size:.58rem;font-weight:700;display:inline-block}.type-trail{color:#2e7d32;background:#e8f5e9}.type-route{color:#1565c0;background:#e3f2fd}.race-card .race-meta .dist{color:var(--text-dim);font-size:.7rem}.race-card .race-meta .dist:before{content:"·";margin-right:6px}.edition-badge{background:var(--purple);color:#fff;vertical-align:middle;letter-spacing:.02em;border-radius:10px;margin-left:4px;padding:1px 6px;font-size:.6rem;font-weight:700;display:inline-block}.race-card[data-temp=this-week]{background:#e5393508;border-left:4px solid #e53935;padding-left:16px}.race-card[data-temp=this-month]{border-left:4px solid var(--orange);background:#f57c2008;padding-left:16px}.race-card[data-temp=future]{border-left:4px solid var(--purple);padding-left:16px}.race-card[data-temp=past]{opacity:.45;border-left:4px solid #ddd;padding-left:16px}.race-card[data-temp=past]:hover{opacity:.65}.empty-state{text-align:center;color:var(--text-dim);padding:48px 24px;font-size:.85rem}.empty-state .empty-icon{opacity:.4;margin-bottom:10px;font-size:1.8rem}#sidebar-footer{border-top:1px solid var(--border);color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;padding:8px 20px;font-size:.65rem;display:flex}#private-badge{color:var(--accent,#e8722a);white-space:nowrap;border:1px solid;border-radius:8px;padding:1px 6px}#legal-link{color:var(--text-dim);text-decoration:none}#legal-link:hover{color:var(--orange)}#sidebar-toggle{top:14px;left:calc(var(--sidebar-w) + 6px);z-index:1001;border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:7px 5px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute}#sidebar-toggle:hover{color:var(--orange);border-color:var(--orange)}#sidebar.collapsed~#sidebar-toggle{left:14px}.maplibregl-popup-content{border-radius:var(--radius)!important;padding:14px 16px!important;font-family:DM Sans,system-ui,sans-serif!important;box-shadow:0 4px 16px #0000001f!important}.maplibregl-popup-close-button{color:var(--text-dim);padding:4px 8px;font-size:18px}.maplibregl-popup-close-button:hover{color:var(--orange);background:0 0}.race-popup{min-width:180px;max-height:300px;padding:2px 0;overflow-y:auto}.race-popup-item+.race-popup-item{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.race-popup .popup-title{color:var(--text);margin-bottom:4px;font-size:.92rem;font-weight:700;line-height:1.3}.race-popup .popup-meta{color:var(--text-secondary);margin-bottom:8px;font-size:.78rem}.race-popup .popup-members-count{color:var(--orange);background:var(--orange-soft);border-radius:20px;align-items:center;gap:4px;margin-bottom:6px;padding:3px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.race-popup .popup-link{color:var(--text-secondary);margin-top:4px;font-size:.73rem;text-decoration:none;transition:color .15s;display:inline-block}.race-popup .popup-link:hover{color:var(--orange)}.race-popup .popup-edition-badge{background:var(--purple);color:#fff;border-radius:12px;margin:6px 0;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-block}.timeline{margin-top:8px;padding-left:2px}.timeline-item{align-items:flex-start;gap:10px;padding:6px 0;display:flex;position:relative}.timeline-item+.timeline-item{border-top:1px solid var(--border)}.timeline-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:3px;box-shadow:0 0 0 2px #00000014}.timeline-content{flex:1;min-width:0}.timeline-year{color:var(--text);font-size:.78rem;font-weight:600;line-height:1.3}.timeline-members{color:var(--text-secondary);align-items:center;gap:8px;font-size:.72rem;display:flex}.timeline-members .popup-link{font-size:.68rem}.timeline-names{color:var(--text-dim);margin-top:1px;font-size:.68rem;font-style:italic}.popup-names{color:var(--text-secondary);margin-bottom:6px;font-size:.76rem;font-style:italic}.countdown-badge{color:#fff;letter-spacing:.02em;white-space:nowrap;background:#e53935;border-radius:20px;align-items:center;padding:2px 8px;font-size:.62rem;font-weight:700;animation:2s ease-in-out infinite pulse-countdown;display:inline-flex}@keyframes pulse-countdown{0%,to{opacity:1}50%{opacity:.7}}.race-actions{justify-content:flex-end;margin-top:4px;display:flex}.whatsapp-btn{color:#fff;cursor:pointer;background:#25d366;border-radius:20px;align-items:center;gap:5px;min-height:28px;padding:4px 10px;font-size:.7rem;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,transform .1s;display:inline-flex}.whatsapp-btn:hover{background:#1da851}.whatsapp-btn:active{transform:scale(.95)}.popup-whatsapp{margin-top:8px;font-size:.72rem;display:inline-flex}.race-detail{padding:20px}.detail-back{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;margin-bottom:16px;padding:6px 12px;font-family:DM Sans,system-ui,sans-serif;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.detail-back:hover{border-color:var(--orange);color:var(--orange)}.detail-title{color:var(--text);margin-bottom:8px;font-family:Bebas Neue,sans-serif;font-size:1.4rem;line-height:1.2}.detail-badges{gap:6px;margin-bottom:12px;display:flex}.detail-meta{color:var(--text-secondary);margin-bottom:12px;font-size:.82rem;line-height:1.6}.detail-date{color:var(--text);font-weight:600}.detail-distances{color:var(--text-dim);font-size:.78rem}.detail-members{margin-bottom:8px}.detail-names{color:var(--text-secondary);margin-bottom:12px;font-size:.82rem;font-style:italic;line-height:1.5}.detail-names-note{color:var(--text-secondary);margin:-8px 0 12px;font-size:.72rem}.exclusion-list{margin:0 0 12px;padding:0;font-size:.8rem;list-style:none}.exclusion-list li{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.exclusion-list li.excluded{color:var(--text-secondary)}.exclusion-btn{border:1px solid var(--text-secondary);color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:3px 8px;font-size:.72rem}.exclusion-btn:disabled{opacity:.5;cursor:default}.detail-link{color:var(--orange);margin-bottom:16px;font-size:.82rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-block}.detail-link:hover{color:var(--purple)}.detail-actions{margin-top:8px}.race-detail[data-temp=this-week]{border-left:4px solid #e53935}.race-detail[data-temp=this-month]{border-left:4px solid var(--orange)}.race-detail[data-temp=future]{border-left:4px solid var(--purple)}.race-detail[data-temp=past]{border-left:4px solid #ddd}.race-names{color:var(--text-dim);margin-top:4px;padding-left:0;font-size:.7rem;font-style:italic;line-height:1.4}.race-card.highlighted{transition:background .3s;background:var(--orange-soft)!important}.modal{backdrop-filter:blur(3px);z-index:2000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.hidden{display:none}.modal-content{border-radius:var(--radius);background:#fff;width:90%;max-width:460px;max-height:80vh;padding:24px 28px;position:relative;overflow-y:auto;box-shadow:0 12px 40px #00000026}.modal-content h2{letter-spacing:.03em;color:var(--text);margin-bottom:4px;font-family:Bebas Neue,sans-serif;font-size:1.3rem}.modal-divider{background:linear-gradient(90deg, var(--orange), var(--purple), transparent);height:2px;margin-bottom:18px}.modal-content p{color:var(--text-secondary);margin-bottom:12px;font-size:.8rem;line-height:1.6}.modal-content strong{color:var(--text)}.calendar-cta{text-align:center;border-radius:var(--radius);background:linear-gradient(90deg, var(--orange), var(--purple));color:#fff;margin:4px 0 10px;padding:13px 18px;font-size:.9rem;font-weight:700;text-decoration:none;transition:filter .1s,transform .1s;display:block}.calendar-cta:hover{filter:brightness(1.06)}.calendar-cta:active{transform:scale(.98)}.calendar-hint{color:var(--text-secondary);text-align:center;font-size:.72rem!important}.modal-close{cursor:pointer;color:var(--text-dim);background:0 0;border:none;font-size:1.3rem;position:absolute;top:14px;right:18px}.modal-close:hover{color:var(--orange)}@media (width<=768px){:root{--sidebar-w:100%}#sidebar{will-change:transform;border-radius:16px 16px 0 0;width:100%;height:auto;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:8dvh;bottom:0;left:0;transform:translateY(45%);box-shadow:0 -2px 12px #00000014}#sidebar.dragging{transition:none}#sidebar.collapsed{transform:translateY(calc(100% - 70px))}#sidebar-toggle{display:none}#sidebar-header{cursor:pointer;border-radius:16px 16px 0 0;padding:12px 20px}#sidebar-header:before{content:"";background:#ccc;border-radius:2px;width:36px;height:4px;margin:0 auto 8px;display:block}.club-logo{width:36px;height:36px}.header-text h1{font-size:1.2rem}#filter-toggle{border:1px solid var(--border);width:calc(100% - 40px);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:6px;margin:8px 20px 0;padding:8px 12px;font-family:DM Sans,system-ui,sans-serif;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}#filter-toggle:hover,#filter-toggle.active{border-color:var(--orange);color:var(--orange)}#filters{display:none}#filters.filters-open{display:flex}.filter-row-main{gap:4px;display:flex}.filter-row-main select{background-position:right 4px center;padding:5px 18px 5px 4px;font-size:.68rem}#date-toggle{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-family:DM Sans,system-ui,sans-serif;font-size:.68rem;font-weight:600;transition:all .15s;display:inline-flex}#date-toggle:hover,#date-toggle.active{border-color:var(--orange);color:var(--orange)}#filter-dates-panel{display:none}#filter-dates-panel.dates-open{gap:8px;margin-top:6px;display:flex}#legend{flex-wrap:wrap;gap:4px 8px;max-width:calc(100% - 70px);padding:5px 10px;font-size:.6rem;top:10px;bottom:auto;left:10px}#legend .legend-item{white-space:nowrap}#legend .legend-sep{display:none}#legend .legend-dot{width:7px;height:7px}}#map{background:radial-gradient(#1b2550 0%,#0a0f24 55%,#04060f 100%)}#intro-skip{z-index:50;backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#0a0f248c;border:1px solid #ffffff59;border-radius:999px;padding:10px 20px;font:600 14px DM Sans,system-ui,sans-serif;animation:.6s .8s both intro-skip-in;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}#intro-skip:hover{background:#f57c20d9;border-color:#0000}@keyframes intro-skip-in{0%{opacity:0;transform:translate(-50%,10px)}}.club-halo{pointer-events:none;border-radius:50%;width:14px;height:14px}.club-halo:before,.club-halo:after{content:"";border:2px solid #f57c208c;border-radius:50%;animation:3s ease-out infinite club-halo;position:absolute;inset:0}.club-halo:after{animation-delay:1.5s}@keyframes club-halo{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media (prefers-reduced-motion:reduce){.club-halo:before,.club-halo:after{opacity:0;animation:none}}.season-ctrl .season-btn{color:#6b2d5b;white-space:nowrap;align-items:center;gap:6px;width:auto;padding:0 10px;font:600 .72rem/1 DM Sans,system-ui,sans-serif;display:flex}.season-ctrl .season-btn:disabled{opacity:.5;cursor:default}#legend{transition:opacity .3s}.season-on #legend{opacity:0;pointer-events:none}#season-hud{top:16px;left:calc(var(--sidebar-w) + (100% - var(--sidebar-w)) / 2);z-index:11;backdrop-filter:blur(6px);color:#2b2b2b;text-align:center;background:#fffffff0;border-radius:16px;width:320px;padding:10px 14px;position:fixed;transform:translate(-50%);box-shadow:0 6px 22px #0000002e}#sidebar.collapsed~#season-hud{left:50%}#season-hud[hidden]{display:none}.season-month{color:#6b2d5b;letter-spacing:.03em;font-family:Bebas Neue,sans-serif;font-size:1.8rem;line-height:1.05}.season-stats{color:#555;font-variant-numeric:tabular-nums;margin-top:1px;font-size:.8rem}.season-stats b{color:#f57c20;font-size:.95rem}.season-name{color:#f57c20;letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:flex}.season-prev,.season-next{color:#6b2d5b;letter-spacing:.02em;white-space:nowrap;cursor:pointer;background:#6b2d5b1a;border:0;border-radius:11px;padding:4px 8px;font:700 .68rem/1 DM Sans,system-ui,sans-serif}.season-prev:hover:not(:disabled),.season-next:hover:not(:disabled){background:#6b2d5b33}.season-prev:disabled,.season-next:disabled{visibility:hidden}.season-caption{color:#6b2d5b;white-space:nowrap;text-overflow:ellipsis;height:1.2em;margin-top:3px;font-size:.78rem;font-weight:600;overflow:hidden}.season-seek:disabled{cursor:default}.season-controls{align-items:center;gap:10px;margin-top:8px;display:flex}.season-play,.season-speed{cursor:pointer;border:0;border-radius:15px;flex:none;place-items:center;height:30px;font:700 .75rem/1 DM Sans,system-ui,sans-serif;display:grid}.season-play{color:#fff;background:#6b2d5b;width:30px}.season-speed{color:#6b2d5b;font-variant-numeric:tabular-nums;background:#6b2d5b1a;width:38px}.season-play:hover{background:#57234a}.season-speed:hover{background:#6b2d5b2e}.season-bar{background:#6b2d5b26;border-radius:3px;flex:1;height:6px;position:relative}.season-fill{pointer-events:none;background:linear-gradient(90deg,#6b2d5b,#f57c20);border-radius:3px;width:0;position:absolute;inset:0 auto 0 0}.season-today{pointer-events:none;background:#e53935;border-radius:1px;width:2px;height:14px;margin-left:-1px;position:absolute;top:-4px}.season-today[hidden]{display:none}.season-seek{cursor:pointer;-webkit-appearance:none;appearance:none;background:0 0;width:100%;height:calc(100% + 20px);margin:0;position:absolute;inset:-10px 0}.season-seek::-webkit-slider-runnable-track{background:0 0;height:100%}.season-seek::-moz-range-track{background:0 0}.season-seek::-webkit-slider-thumb{-webkit-appearance:none;background:#f57c20;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin-top:6px;box-shadow:0 1px 4px #0000004d}.season-seek::-moz-range-thumb{background:#f57c20;border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 4px #0000004d}.season-seek:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #6b2d5b}.season-stop{color:#888;cursor:pointer;background:0 0;border:0;border-radius:50%;width:26px;height:26px;font-size:.85rem;position:absolute;top:6px;right:8px}.season-stop:hover{color:#333;background:#0000000f}#season-hud.season-done .season-month{animation:.5s ease-out season-pop}@keyframes season-pop{0%{opacity:.4;transform:scale(.9)}60%{opacity:1;transform:scale(1.06)}to{transform:scale(1)}}@media (width<=768px){#season-hud{width:calc(100% - 64px);padding:8px 12px 9px;left:10px;transform:none}.season-month{font-size:1.4rem}.season-ctrl .season-btn span{display:none}.season-ctrl .season-btn{justify-content:center;width:29px;padding:0}}#sidebar-toggle{transition:left .3s cubic-bezier(.4,0,.2,1),opacity .3s}.immersive #legend,.immersive .tour-ctrl,.immersive:not(.season-on) .season-ctrl{opacity:0;pointer-events:none}.season-ctrl,.tour-ctrl{transition:opacity .3s}@media (width>=769px){.immersive #sidebar{transform:translateX(calc(-1 * var(--sidebar-w)))}.immersive #sidebar-toggle{opacity:0;pointer-events:none}.immersive #season-hud{width:400px;padding:12px 18px;left:50%}.immersive .season-month{font-size:2.3rem}}.season-end-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0 2px;display:none}#season-hud.season-done .season-end-actions{display:flex}.season-other{color:#6b2d5b;cursor:pointer;background:#6b2d5b1a;border:0;border-radius:16px;padding:7px 14px;font:700 .8rem/1 DM Sans,system-ui,sans-serif}.season-other:hover{background:#6b2d5b33}.season-other[hidden]{display:none}.season-tour{color:#fff;cursor:pointer;background:#f57c20;border:0;border-radius:16px;padding:7px 14px;font:700 .8rem/1 DM Sans,system-ui,sans-serif}.season-tour:hover{background:#e06a10}.tour-btn{color:#6b2d5b;font:700 .95rem/1 DM Sans,system-ui,sans-serif}.tour-overlay{z-index:2000;position:fixed;inset:0}.tour-spot{z-index:2001;pointer-events:none;border-radius:10px;outline:2px solid #f57c20;transition:left .3s,top .3s,width .3s,height .3s;position:fixed;box-shadow:0 0 0 9999px #120a1e94}.tour-bubble{z-index:2002;color:#2b2b2b;background:#fff;border-radius:14px;width:min(290px,100vw - 24px);padding:12px 14px;transition:left .3s,top .3s;position:fixed;box-shadow:0 10px 30px #0000004d}.tour-head{justify-content:space-between;align-items:center;display:flex}.tour-count{color:#f57c20;letter-spacing:.04em;font-size:.72rem;font-weight:700}.tour-close{color:#888;cursor:pointer;background:0 0;border:0;border-radius:50%;width:26px;height:26px}.tour-close:hover{background:#0000000f}.tour-title{color:#6b2d5b;letter-spacing:.02em;font-family:Bebas Neue,sans-serif;font-size:1.5rem;line-height:1.1}.tour-text{margin:4px 0 12px;font-size:.86rem;line-height:1.4}.tour-actions{justify-content:space-between;gap:8px;display:flex}.tour-prev,.tour-next{cursor:pointer;border:0;border-radius:16px;padding:8px 12px;font:700 .8rem/1 DM Sans,system-ui,sans-serif}.tour-prev{color:#6b2d5b;background:#6b2d5b1a}.tour-prev[hidden]{visibility:hidden;display:block}.tour-next{color:#fff;background:#6b2d5b;margin-left:auto}.tour-next:hover{background:#57234a}.tour-next:focus-visible,.tour-prev:focus-visible,.tour-close:focus-visible{outline-offset:2px;outline:2px solid #f57c20}#tour-offer{left:calc(var(--sidebar-w) + (100% - var(--sidebar-w)) / 2);z-index:1500;background:#fffffff5;border-radius:24px;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:8px 8px 8px 16px;font-size:.85rem;animation:.4s ease-out tour-offer-in;display:flex;position:fixed;top:16px;transform:translate(-50%);box-shadow:0 6px 22px #0003}#tour-offer b{color:#6b2d5b}.tour-offer-go{color:#fff;cursor:pointer;background:#f57c20;border:0;border-radius:16px;flex:none;padding:8px 14px;font:700 .8rem/1 DM Sans,system-ui,sans-serif}.tour-offer-close{color:#888;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;width:28px;height:28px}@keyframes tour-offer-in-mobile{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes tour-offer-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}@media (width<=768px){#tour-offer{max-width:none;animation-name:tour-offer-in-mobile;inset:auto 12px calc(55dvh + 10px);transform:none}}@media (prefers-reduced-motion:reduce){.tour-spot,.tour-bubble,#tour-offer{transition:none;animation:none}}.location-auto{opacity:.7;font-size:.85em;font-style:italic}
