:root{--bg-color:#0f172a;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-color:#38bdf8;--accent-hover:#0ea5e9;--hero-gradient:radial-gradient(circle at 50% -20%, #38bdf826 0%, transparent 70%);--card-bg:#ffffff08;--card-border:#ffffff0d;--card-hover:#ffffff14}.crawlable-directory{border:1px solid var(--card-border);background:var(--card-bg);border-radius:18px;margin:64px auto 20px;padding:32px}.crawlable-directory h2{color:#fff;margin:0 0 8px;font-family:Outfit,sans-serif;font-size:1.8rem}.crawlable-directory>p{color:var(--text-secondary);margin:0 0 22px}.crawlable-destination-links{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 16px;display:grid}.crawlable-destination-links a{border-bottom:1px solid var(--card-border);color:var(--accent-color);padding:9px 0;font-size:.88rem;text-decoration:none}.crawlable-destination-links a:hover{color:#fff}body.theme-surfing{--bg-color:#0c4a6e;--accent-color:#38bdf8;--accent-hover:#0ea5e9;--hero-gradient:radial-gradient(circle at 50% -20%, #38bdf840 0%, transparent 70%)}body.theme-hiking{--bg-color:#064e3b;--accent-color:#34d399;--accent-hover:#10b981;--hero-gradient:radial-gradient(circle at 50% -20%, #34d39926 0%, transparent 70%)}body.theme-climbing{--bg-color:#334155;--accent-color:#f1f5f9;--accent-hover:#fff;--hero-gradient:radial-gradient(circle at 50% -20%, #f1f5f926 0%, transparent 70%)}body.theme-skiing{--bg-color:#1e1b4b;--accent-color:#e0f2fe;--accent-hover:#bae6fd;--hero-gradient:radial-gradient(circle at 50% -20%, #e0f2fe26 0%, transparent 70%)}body.theme-budget{--bg-color:#451a03;--accent-color:#fbbf24;--accent-hover:#f59e0b;--hero-gradient:radial-gradient(circle at 50% -20%, #fbbf2426 0%, transparent 70%)}body.theme-luxury{--bg-color:#1a102f;--accent-color:#f59e0b;--accent-hover:#fbbf24;--hero-gradient:radial-gradient(circle at 50% -20%, #f59e0b33 0%, transparent 70%)}body.theme-kitesurfing{--accent-color:#f59e0b;--accent-hover:#fbbf24;--hero-gradient:radial-gradient(circle at 50% -20%, #f59e0b47 0%, transparent 70%)}body.theme-mtb{--accent-color:#10b981;--accent-hover:#34d399;--hero-gradient:radial-gradient(circle at 50% -20%, #10b98147 0%, transparent 70%)}body.theme-diving{--accent-color:#06b6d4;--accent-hover:#22d3ee;--hero-gradient:radial-gradient(circle at 50% -20%, #06b6d447 0%, transparent 70%)}body.theme-paragliding{--accent-color:#f43f5e;--accent-hover:#fb7185;--hero-gradient:radial-gradient(circle at 50% -20%, #f43f5e47 0%, transparent 70%)}body.theme-rafting{--bg-color:#083344;--accent-color:#22d3ee;--accent-hover:#67e8f9;--hero-gradient:radial-gradient(circle at 50% -20%, #22d3ee4d 0%, transparent 70%)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;font-family:Plus Jakarta Sans,sans-serif;line-height:1.6;transition:background-color .5s}.navbar{z-index:1000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--card-border);background:#0f172ad9;padding:14px 24px;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.brand-logo{cursor:pointer;color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.logo-icon{filter:drop-shadow(0 0 10px #43d9b342);width:40px;height:40px;display:block}.brand-text{letter-spacing:-.5px;color:#fff;font-family:Outfit,sans-serif;font-size:1.4rem;font-weight:900}.brand-highlight{background:linear-gradient(135deg,#38bdf8 0%,#34d399 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.header-menu{align-items:center;gap:10px;display:flex}.header-menu>a,.site-menu summary{color:var(--text-secondary);border-radius:10px;padding:8px 12px;font-size:.82rem;font-weight:750;text-decoration:none}.header-menu>a:hover,.site-menu summary:hover,.site-menu[open] summary{color:var(--accent-color);background:#38bdf81a}.site-menu{position:relative}.site-menu summary{border:1px solid var(--card-border);cursor:pointer;align-items:center;gap:7px;list-style:none;display:flex}.site-menu summary::-webkit-details-marker{display:none}.site-menu summary:after{content:"⌄";color:var(--accent-color);font-size:1rem;line-height:1}.site-menu[open] summary:after{transform:rotate(180deg)}.site-menu__panel{z-index:1001;border:1px solid var(--card-border);background:#0a1424fa;border-radius:14px;min-width:220px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 50px #00000061}.site-menu__panel a{color:var(--text-secondary);border-radius:9px;padding:10px 12px;font-size:.8rem;font-weight:700;text-decoration:none}.site-menu__panel a:hover,.site-menu__panel a:focus-visible{color:var(--accent-color);background:#38bdf81a}@media (width<=620px){.brand-text{font-size:1.05rem}.header-menu__primary{display:none}}.hero{text-align:center;background:var(--hero-gradient);padding:50px 20px 40px;transition:background .5s}.hero-content{max-width:800px;margin:0 auto}.hero-badge{letter-spacing:1px;color:var(--accent-color);border:1px solid var(--card-border);background:#ffffff0d;border-radius:20px;margin-bottom:16px;padding:6px 14px;font-size:.75rem;font-weight:800;display:inline-block}.hero h1{letter-spacing:-1.5px;margin-bottom:16px;font-family:Outfit,sans-serif;font-size:3.8rem;font-weight:900}.hero p{color:var(--text-secondary);margin-bottom:40px;font-size:1.25rem}.filter-bar{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:20px;display:flex}.filter-btn{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:30px;padding:10px 20px;font-family:inherit;font-size:.95rem;font-weight:500;transition:all .3s}.filter-btn:hover{background:var(--card-hover);color:var(--text-primary);border-color:#ffffff26}.filter-btn.active{background:var(--accent-color);color:#0f172a;border-color:var(--accent-color);font-weight:600}.container{max-width:1200px;margin:0 auto;padding:0 20px 60px}.city-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.city-card{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1;color:inherit;border-radius:16px;flex-direction:column;min-width:0;text-decoration:none;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s;display:flex;position:relative;overflow:hidden}.city-card:link,.city-card:visited,.city-card:hover,.city-card:active,.city-card *{text-decoration:none}.city-card:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px}.city-card:hover{border-color:var(--accent-color);background:var(--card-hover);transform:translateY(-8px);box-shadow:0 20px 40px #0006}.city-image{object-fit:cover;background-color:#1e293b;border-radius:16px 16px 0 0;width:100%;height:200px}.city-info{flex-direction:column;flex-grow:1;min-width:0;padding:24px;display:flex}.city-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.city-header>div:first-child,.stat-item{min-width:0}.city-title{color:var(--text-primary);font-size:1.4rem;font-weight:700;line-height:1.2}.city-country{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.city-score-badge{color:var(--accent-color);border:1px solid var(--accent-color);background:#ffffff1a;border-radius:12px;padding:4px 10px;font-size:1rem;font-weight:700}.city-stats{border-bottom:1px solid var(--card-border);grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;padding-bottom:20px;display:grid}.stat-item{flex-direction:column;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-size:.75rem}.stat-value{overflow-wrap:anywhere;font-size:1rem;font-weight:600}.outdoor-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;margin-top:auto;display:grid}.metric{border:1px solid var(--card-border);text-align:center;min-width:0;color:var(--text-secondary);background:#ffffff09;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:7px 3px;font-size:.72rem;line-height:1.15;display:flex}.metric svg{fill:currentColor;width:16px;height:16px}.metric.active{color:#10b981}.condition-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px;display:grid}.condition-item{border:1px solid var(--card-border);background:#0f172a61;border-radius:10px;min-width:0;padding:9px 8px}.condition-item span,.condition-item strong,.condition-item small{overflow-wrap:anywhere;display:block}.condition-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.62rem;line-height:1.2}.condition-item strong{color:var(--text-primary);margin-top:4px;font-size:.82rem;line-height:1.2}.condition-item small{color:var(--text-secondary);margin-top:3px;font-size:.58rem;line-height:1.25}.card-data-source{color:var(--text-secondary);margin:10px 0 0;font-size:.62rem;line-height:1.35}@media (width<=768px){.hero h1{font-size:2.5rem}}.image-container{color:inherit;border-radius:16px 16px 0 0;line-height:0;text-decoration:none;position:relative;overflow:hidden}.image-attribution{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:.7;pointer-events:none;background:#0009;border-radius:4px;padding:2px 6px;font-size:.65rem;position:absolute;bottom:8px;right:8px}.custom-tooltip{cursor:help;position:relative}.custom-tooltip:after{content:attr(data-tooltip);color:var(--text-primary);border:1px solid var(--accent-color);white-space:nowrap;opacity:0;visibility:hidden;z-index:9999;pointer-events:none;background:#0f172af2;border-radius:8px;padding:8px 12px;font-size:.75rem;font-weight:600;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:absolute;bottom:135%;left:50%;transform:translate(-50%)translateY(10px);box-shadow:0 12px 30px #000c}.custom-tooltip:before{content:"";border:6px solid #0000;border-top-color:var(--accent-color);opacity:0;visibility:hidden;z-index:10000;pointer-events:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:absolute;bottom:135%;left:50%;transform:translate(-50%)translateY(10px)}.custom-tooltip:hover:after,.custom-tooltip:hover:before{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.map-wrapper{border:1px solid var(--card-border);background:var(--card-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;border-radius:20px;max-width:1000px;margin:0 auto 36px;position:relative;overflow:hidden;box-shadow:0 16px 40px #0006}#map{background:#0f172a;width:100%;height:380px}.leaflet-container{background:#0b1120!important;font-family:Inter,sans-serif!important}.leaflet-tile-pane{filter:brightness(.6)invert()contrast(3)hue-rotate(200deg)saturate(.3)}.leaflet-popup-content-wrapper{color:#f8fafc!important;border:1px solid var(--accent-color)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;background:#0f172af2!important;border-radius:12px!important;padding:4px!important;box-shadow:0 10px 25px #0009!important}.leaflet-popup-tip{background:#0f172af2!important}.map-popup-card{flex-direction:column;gap:6px;width:180px;display:flex}.map-popup-img{object-fit:cover;border-radius:8px;width:100%;height:90px}.map-popup-title{color:#f8fafc;font-size:.95rem;font-weight:700}.map-popup-subtitle{color:#94a3b8;font-size:.75rem}.map-popup-score{color:var(--accent-color);font-size:.8rem;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;opacity:0;visibility:hidden;background:#0f172abf;justify-content:flex-end;width:100vw;height:100vh;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;visibility:visible}.modal-drawer{border-left:1px solid var(--card-border);background:#0f172a;flex-direction:column;width:100%;max-width:580px;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;transform:translate(100%);box-shadow:-10px 0 40px #00000080}.modal-overlay.active .modal-drawer{transform:translate(0)}.modal-close-btn{color:#fff;cursor:pointer;z-index:10;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.8rem;transition:background .2s;display:flex;position:absolute;top:20px;right:20px}.modal-close-btn:hover{background:#ffffff40}.modal-body{height:100%;padding:0 0 40px;overflow-y:auto}.modal-hero{width:100%;height:240px;position:relative}.modal-hero-img{object-fit:cover;width:100%;height:100%}.modal-hero-overlay{background:linear-gradient(#0000 20%,#0f172a 90%);align-items:flex-end;padding:24px;display:flex;position:absolute;inset:0}.modal-header-info h2{color:#fff;font-size:2.2rem;font-weight:800}.modal-header-info p{color:var(--text-secondary);font-size:1rem}.modal-section{border-bottom:1px solid var(--card-border);padding:24px}.modal-section-title{color:var(--accent-color);align-items:center;gap:8px;margin-bottom:16px;font-size:1.1rem;font-weight:700;display:flex}.spot-list{flex-direction:column;gap:14px;display:flex}.spot-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:16px;transition:border-color .2s,background .2s}.spot-card:hover{border-color:var(--accent-color);background:var(--card-hover)}.spot-name{color:#fff;margin-bottom:6px;font-size:1.05rem;font-weight:700}.spot-tags{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.spot-tag{border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:600}.spot-tag.type{color:#38bdf8;background:#38bdf826}.spot-tag.level{color:#34d399;background:#34d39926}.spot-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.view-map-spot-btn{border:1px solid var(--accent-color);color:var(--accent-color);cursor:pointer;background:0 0;border-radius:8px;margin-top:10px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:all .2s}.view-map-spot-btn:hover{background:var(--accent-color);color:#0f172a}.gmaps-spot-btn{color:#34d399;background:#34d3991a;border:1px solid #34d39966;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.gmaps-spot-btn:hover{color:#0f172a;background:#34d399;transform:translateY(-1px)}.faq-journey-list{flex-direction:column;gap:10px;display:flex}.faq-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:12px 16px;transition:border-color .2s}.faq-item[open]{border-color:var(--accent-color);background:var(--card-hover)}.faq-question{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.92rem;font-weight:700;list-style:none}.faq-question::-webkit-details-marker{display:none}.faq-answer{color:var(--text-secondary);border-top:1px solid #ffffff14;margin-top:10px;padding-top:8px;font-size:.85rem;line-height:1.5}.segmentation-container{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;max-width:1000px;margin:24px auto 0;padding:24px}.segmentation-grid{text-align:left;grid-template-columns:repeat(4,1fr);gap:24px;display:grid}@media (width<=900px){.segmentation-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=550px){.segmentation-grid{grid-template-columns:1fr}}.seg-col{flex-direction:column;display:flex}.seg-title{color:var(--text-primary);border-bottom:1px solid var(--card-border);margin-bottom:12px;padding-bottom:6px;font-size:1rem;font-weight:700}.seg-list{flex-direction:column;gap:8px;list-style:none;display:flex}.seg-link{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;padding:2px 0;font-family:inherit;font-size:.88rem;transition:color .2s,transform .2s}.seg-link:hover{color:var(--accent-color);transform:translate(3px)}.seg-link.active{color:var(--accent-color);font-weight:700}.month-selector-title{color:var(--text-secondary);margin:14px 0 8px;font-size:.85rem;font-weight:600}.month-chips{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.month-chip{border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:6px;padding:4px 6px;font-family:inherit;font-size:.75rem;transition:all .2s}.month-chip:hover,.month-chip.active{background:var(--accent-color);color:#0f172a;border-color:var(--accent-color);font-weight:700}.housing-preview{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.housing-tag{border:1px solid var(--card-border);color:var(--text-secondary);background:#ffffff0d;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:500}@media (width<=480px){.container{padding-inline:14px}.city-grid{grid-template-columns:minmax(0,1fr)}.city-info{padding:18px}.city-stats{gap:10px}.condition-item{padding-inline:6px}.condition-item strong{font-size:.76rem}.outdoor-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}.housing-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=480px){.housing-grid{grid-template-columns:1fr}}.housing-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;flex-direction:column;padding:12px;display:flex}.housing-type{color:var(--text-secondary);font-size:.8rem;font-weight:600}.housing-price{color:var(--accent-color);margin:4px 0 2px;font-size:1.1rem;font-weight:800}.housing-sub{color:var(--text-secondary);font-size:.7rem}.practical-badges{flex-wrap:wrap;gap:10px;display:flex}.practical-pill{border:1px solid var(--card-border);color:var(--text-primary);background:#38bdf81a;border-radius:20px;padding:6px 14px;font-size:.82rem;font-weight:600}.budget-breakdown-container{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.budget-row{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.budget-val{color:var(--text-primary);font-weight:700}.school-card{background:var(--card-bg);border:1px solid var(--accent-color);border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex;box-shadow:0 8px 20px #0000004d}.school-header{justify-content:space-between;align-items:center;display:flex}.school-name{color:#fff;font-size:1.05rem;font-weight:800}.school-rating{color:#fbbf24;font-size:.9rem;font-weight:700}.school-price{color:var(--accent-color);font-size:.85rem;font-weight:600}.school-quote{color:var(--text-primary);border-left:3px solid var(--accent-color);background:#ffffff08;border-radius:0 6px 6px 0;margin-top:4px;padding:8px 12px;font-size:.85rem;font-style:italic;line-height:1.4}.school-author{color:var(--text-secondary);text-align:right;font-size:.75rem;font-weight:600}.modal-top-actions{z-index:1005;align-items:center;gap:12px;display:flex;position:absolute;top:16px;right:20px}.full-page-toggle-btn{border:1px solid var(--accent-color);color:var(--accent-color);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad9;border-radius:20px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .2s}.full-page-toggle-btn:hover{background:var(--accent-color);color:#0f172a}.modal-drawer{background:var(--bg-color);border-left:1px solid var(--card-border);box-sizing:border-box;width:540px;max-width:92vw;height:100%;padding:24px;transition:transform .3s cubic-bezier(.16,1,.3,1),width .3s,max-width .3s;position:relative;overflow:hidden auto;box-shadow:-10px 0 40px #0009}.modal-drawer:not(.full-page-mode) .full-page-wrapper{max-width:100%;padding:0}.modal-drawer:not(.full-page-mode) .full-page-grid{flex-direction:column;gap:20px;width:100%;margin-top:16px;display:flex}.modal-drawer:not(.full-page-mode) .spot-list.grid-mode{flex-direction:column;gap:12px;display:flex}.modal-drawer:not(.full-page-mode) .score-gauges-grid,.modal-drawer:not(.full-page-mode) .similar-destinations-grid{flex-direction:column;gap:10px;display:flex}.modal-drawer:not(.full-page-mode) .full-page-sidebar{width:100%;position:static}.modal-drawer.full-page-mode{background:var(--bg-color);border-radius:0;width:100vw;max-width:100vw;height:100vh;padding:0}.full-page-wrapper{box-sizing:border-box;max-width:1240px;margin:0 auto;padding:24px 24px 60px}.full-page-grid{grid-template-columns:1fr 380px;align-items:start;gap:32px;margin-top:24px;display:grid}@media (width<=960px){.full-page-grid{grid-template-columns:1fr}}.full-page-main{flex-direction:column;gap:24px;display:flex}.full-page-sidebar{flex-direction:column;gap:20px;display:flex;position:sticky;top:80px}.spot-list.grid-mode{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=600px){.spot-list.grid-mode{grid-template-columns:1fr}}.affiliate-btn{cursor:pointer;box-sizing:border-box;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:10px 16px;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.affiliate-btn-gold{color:#0f172a;background:linear-gradient(135deg,#f59e0b 0%,#fbbf24 100%)}.affiliate-btn-gold:hover{transform:translateY(-2px);box-shadow:0 4px 14px #f59e0b66}.affiliate-btn-blue{color:#fff;background:linear-gradient(135deg,#38bdf8 0%,#3b82f6 100%)}.affiliate-btn-blue:hover{transform:translateY(-2px);box-shadow:0 4px 14px #38bdf866}.affiliate-disclosure{color:var(--text-secondary);background:#34d39912;border:1px solid #34d3994d;border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:.78rem;line-height:1.45}.modal-booking-list{gap:10px;margin-bottom:12px;display:grid}.modal-booking-card{border:1px solid var(--card-border);color:var(--text-primary);background:#0f172a73;border-radius:12px;grid-template-columns:120px 1fr;gap:12px;text-decoration:none;display:grid;overflow:hidden}.modal-booking-card:hover{border-color:var(--accent-color)}.modal-booking-card img{object-fit:cover;width:120px;height:100%;min-height:105px}.modal-booking-card>span{flex-direction:column;gap:5px;padding:11px 12px 11px 0;display:flex}.modal-booking-card small{color:var(--text-secondary)}.modal-booking-card b{color:var(--accent-color);font-size:.8rem}@media (width<=520px){.modal-booking-card{grid-template-columns:92px 1fr}.modal-booking-card img{width:92px}}.utility-grid{flex-direction:column;gap:8px;margin-top:10px;display:flex}.utility-btn{border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-primary);border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:.84rem;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.utility-btn:hover{border-color:var(--accent-color);background:#38bdf814;transform:translate(4px)}.slider-box{border:1px solid var(--card-border);background:#0f172a80;border-radius:10px;padding:10px 14px}.slider-label{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.8rem;font-weight:700;display:flex}.slider-badge{color:var(--accent-color);font-weight:800}.range-slider{width:100%;accent-color:var(--accent-color);cursor:pointer;height:6px}.checkbox-group{flex-direction:column;gap:10px;margin-top:6px;display:flex}.custom-checkbox{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:.85rem;font-weight:600;display:flex}.custom-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer}.progress-bar-bg{background:#ffffff1a;border-radius:4px;width:100%;height:8px;margin-top:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent-color), #34d399);border-radius:4px;height:100%;transition:width .6s}.score-gauges-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.score-gauge-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:12px 14px}.score-gauge-header{justify-content:space-between;margin-bottom:6px;font-size:.85rem;font-weight:700;display:flex}.dest-mini-map{border:1px solid var(--card-border);z-index:1;border-radius:12px;width:100%;height:320px;margin-top:8px}.similar-destinations-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}@media (width<=600px){.similar-destinations-grid{grid-template-columns:1fr}}.similar-card{background:var(--card-bg);border:1px solid var(--card-border);cursor:pointer;border-radius:10px;transition:transform .2s,border-color .2s;overflow:hidden}.similar-card:hover{border-color:var(--accent-color);transform:translateY(-3px)}.similar-card img{object-fit:cover;width:100%;height:90px}.similar-card-info{padding:10px}.similar-card-title{color:#fff;font-size:.9rem;font-weight:800}.similar-card-sub{color:var(--text-secondary);font-size:.75rem}.month-explorer{background:linear-gradient(135deg,#0e2336f2,#0c182ae6);border:1px solid #38bdf847;border-radius:18px;margin:0 0 26px;padding:22px;overflow:hidden;box-shadow:0 16px 45px #02081747}.month-explorer__intro{grid-template-columns:minmax(180px,.7fr) minmax(280px,1.3fr);align-items:end;column-gap:28px;display:grid}.month-explorer__eyebrow{color:var(--accent-color);letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;margin:0 0 5px;font-size:.68rem;font-weight:800}.month-explorer h2{margin:0;font-family:Outfit,sans-serif;font-size:clamp(1.45rem,3vw,2rem)}.month-explorer__intro>p:last-child{color:var(--text-secondary);margin:0;line-height:1.45}.month-explorer__rail{grid-template-columns:repeat(12,minmax(46px,1fr));gap:7px;margin-top:18px;display:grid}.month-explorer-button{border:1px solid var(--card-border);min-height:42px;color:var(--text-secondary);cursor:pointer;background:#ffffff0b;border-radius:10px;font:700 .78rem/1 inherit;transition:transform .18s,color .18s,background .18s,border-color .18s}.month-explorer-button:hover,.month-explorer-button.active{border-color:var(--accent-color);background:var(--accent-color);color:#07111c;transform:translateY(-2px)}.month-explorer-button:focus-visible{outline-offset:2px;outline:3px solid #fff}.month-explorer__status{color:var(--text-secondary);margin:10px 0 0;font-size:.72rem}.condition-item{isolation:isolate;position:relative;overflow:hidden}.condition-item:before,.condition-item:after{content:"";pointer-events:none;display:block}.weather-condition:before{border-radius:50%;width:27px;height:27px;margin:2px 0 9px}.weather-sun:before{background:radial-gradient(circle, #fff7a6 0 30%, #fbbf24 34% 52%, transparent 55%), repeating-conic-gradient(from 0deg, #fbbf24 0 7deg, transparent 7deg 30deg);animation:9s linear infinite weather-spin}.weather-cloud:before{background:#a9bed0;border-radius:999px;width:34px;height:15px;margin-top:12px;animation:3.8s ease-in-out infinite alternate cloud-drift;box-shadow:9px -8px 0 -2px #d9e7f2,20px -3px 0 -3px #c8d8e5}.weather-rain:before,.weather-snow:before{background:#8ba5ba;border-radius:999px;width:34px;height:15px;margin-top:9px;animation:3.2s ease-in-out infinite alternate cloud-drift;box-shadow:10px -7px 0 -2px #c5d5e2}.weather-rain:after,.weather-snow:after{background:repeating-linear-gradient(105deg,#0000 0 7px,#38bdf8 8px 10px,#0000 11px 15px);width:36px;height:16px;margin-top:-5px;animation:1.1s linear infinite precipitation-fall}.weather-snow:after{background:radial-gradient(circle,#fff 0 2px,#0000 2.5px) 0 0/12px 9px;animation-duration:2.2s}.elevation-condition:before{background:linear-gradient(to top, #34d399 0 var(--elevation-level), #34d39924 var(--elevation-level) 100%);clip-path:polygon(0 100%,25% 54%,42% 72%,68% 16%,100% 100%);transform-origin:bottom;width:46px;height:31px;margin:1px 0 7px;animation:1.4s cubic-bezier(.2,.8,.2,1) both elevation-rise}.wave-condition:before{background-color:#0000;background-image:radial-gradient(18px 12px at 12px 19px,#0000 54%,#38bdf8 58% 72%,#0000 76%),radial-gradient(18px 12px at 38px 19px,#0000 54%,#22d3ee 58% 72%,#0000 76%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:52px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:0 0 12px 12px;width:52px;height:28px;margin:2px 0 9px;animation:2.2s linear infinite wave-travel}.route-condition:before{border:2px solid #34d399cc;border-radius:55% 45% 60% 40%;width:42px;height:29px;margin:2px 0 8px;animation:2.6s ease-in-out infinite route-pulse;box-shadow:inset 0 0 0 5px #34d3991a,0 0 0 5px #34d39912}.potential-good strong{color:#86efac}.potential-powerful strong{color:#fbbf24}.potential-variable strong{color:#7dd3fc}.potential-low strong{color:var(--text-secondary)}@keyframes weather-spin{to{transform:rotate(360deg)}}@keyframes cloud-drift{to{transform:translate(7px)}}@keyframes precipitation-fall{to{background-position:0 16px}}@keyframes elevation-rise{0%{opacity:.35;transform:scaleY(.1)}to{opacity:1;transform:scaleY(1)}}@keyframes wave-travel{to{background-position:52px 0,52px 0}}@keyframes route-pulse{50%{transform:scale(1.08);box-shadow:inset 0 0 0 5px #34d39929,0 0 0 8px #34d39908}}@media (width<=760px){.month-explorer{padding:18px}.month-explorer__intro{grid-template-columns:1fr;gap:6px}.month-explorer__rail{scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 0 8px;display:flex;overflow-x:auto}.month-explorer-button{scroll-snap-align:start;flex:0 0 52px}}@media (prefers-reduced-motion:reduce){.weather-condition:before,.weather-condition:after,.elevation-condition:before,.wave-condition:before,.route-condition:before,.month-explorer-button{transition:none!important;animation:none!important}}.legal-hero{min-height:360px}.legal-updated{margin-top:14px;font-size:.88rem}.legal-page{max-width:1040px;margin-top:28px}.legal-toc{border:1px solid var(--card-border);background:#0f172ab3;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 18px;padding:16px 20px;display:flex}.legal-toc a{color:var(--accent-color);text-decoration:none}.legal-card{border:1px solid var(--card-border);color:var(--text-primary);background:#0f172adb;border-radius:22px;padding:clamp(24px,4vw,52px);box-shadow:0 22px 70px #0000002e}.legal-card section{border-bottom:1px solid var(--card-border);margin:0 0 34px;padding:0 0 34px}.legal-card section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.legal-card h2{margin:6px 0 16px;font:800 clamp(1.45rem,2.5vw,2rem)/1.2 Outfit Variable,Outfit,sans-serif}.legal-card h3{margin:24px 0 8px;font-size:1.08rem}.legal-card p,.legal-card li{color:var(--text-secondary);line-height:1.75}.legal-card a,.inline-privacy-button{color:var(--accent-color)}.legal-card ul{padding-left:22px}.legal-table-wrap{border:1px solid var(--card-border);border-radius:14px;margin:20px 0;overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;min-width:680px}.legal-table th,.legal-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--card-border);padding:14px 16px;line-height:1.55}.legal-table th{color:#f8fafc;background:#38bdf814}.legal-table td{color:var(--text-secondary)}.legal-table tr:last-child td{border-bottom:0}.privacy-choice-box{background:#38bdf80f;border:1px solid #38bdf847;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;padding:18px;display:flex}.inline-privacy-button,.legal-footer button,.site-menu__panel button{appearance:none;cursor:pointer;font:inherit;text-underline-offset:.18em;background:0 0;border:0;padding:0;text-decoration:underline}.privacy-request-form{gap:18px;margin-top:24px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-field{gap:7px;display:grid}.form-field label{font-weight:700}.form-field label span{color:var(--text-secondary);font-weight:500}.form-field input,.form-field select,.form-field textarea{box-sizing:border-box;border:1px solid var(--card-border);color:#f8fafc;width:100%;font:inherit;background:#091427;border-radius:10px;padding:13px 14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--accent-color);outline-offset:2px}.form-check{color:var(--text-secondary);align-items:flex-start;gap:10px;line-height:1.55;display:flex}.form-check input{margin-top:5px}.form-trap{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-10000px!important}.form-status{min-height:1.5em;font-weight:700;margin:0!important}.form-status[data-state=success]{color:#86efac}.form-status[data-state=error]{color:#fda4af}.legal-footer{text-align:center;border-top:1px solid var(--card-border);color:var(--text-secondary);margin-top:60px;padding:42px 20px;font-size:.86rem}.legal-footer a,.legal-footer button{color:var(--text-secondary)}@media (width<=680px){.legal-hero{min-height:300px}.legal-card{padding:22px 18px}.form-grid{grid-template-columns:1fr}}
