/* Shared design system. Feature scripts, roles, consent and forms keep their contracts. */
@font-face{font-family:Manrope;src:url('/brand/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--green:#083c3e;--ink:#123c3e;--orange:#ff7044;--cream:#fff;--muted:#597170;--site-ink:#123c3e;--site-muted:#597170;--site-cream:#fff;--site-line:#d5e1df;--site-orange:#d34b26;--brand-yellow:#f7d75a;--brand-dark:#083c3e;--brand-soft:#e2f0ec}
html{scroll-padding-top:24px}body{background:#fff;color:var(--ink);font-family:Manrope,system-ui,sans-serif;line-height:1.65}body.site-page,body.routes-body,body.e-body,body.guide-page,body.moderation-page,body.email-confirm{font-family:Manrope,system-ui,sans-serif;background:#fff;color:var(--ink)}
body :is(h1,h2,h3,h4,.btn,.site-button,.logo,.portal-tag,.eyebrow){font-family:Manrope,system-ui,sans-serif!important}body :is(h1,h2,h3){font-weight:800;letter-spacing:-.035em}body :is(input,select,textarea,button){font-family:inherit}body :is(input,select,textarea){accent-color:#0b5552}img{max-width:100%}button:disabled{cursor:not-allowed}
:is(.site-page,.routes-body,.guide-page,.e-body) :is(a,button,input,select,textarea,summary):focus-visible,body :focus-visible{outline:3px solid #b24421;outline-offset:4px}body :is(.btn,.site-button,.cp-add,.portal-link){min-height:44px}body :is(.btn,.site-button){border-radius:10px;font-weight:800;white-space:normal;text-align:center}
body :is(.btn.orange,.site-button.orange){background:#ff7044;border-color:#ff7044;color:#142f30!important}body :is(.btn.green,.site-button:not(.secondary):not(.orange)){background:#083c3e;border-color:#083c3e;color:#fff!important}body :is(.btn.cream,.site-button.secondary){background:#fff;border:1px solid #a8c0ba;color:#123c3e!important}body :is(.btn,.site-button):hover{filter:brightness(.96)}
body .site-header{width:100%;min-height:86px;max-width:none;padding:18px max(24px,calc((100% - 1260px)/2));margin:0;background:#fff;border-bottom:1px solid #e4ece9;position:relative;z-index:1001;gap:22px;flex-wrap:nowrap;font-family:Manrope,system-ui,sans-serif}
body .site-header .logo,body .site-footer .logo{display:inline-flex;align-items:center;font-family:Manrope,system-ui,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1.5px;line-height:1;white-space:nowrap;text-decoration:none}
body .brand-emblem{display:inline-grid;place-items:center;width:42px;height:38px;margin-right:9px;flex-shrink:0;background:#083c3e;border-radius:10px;transform:rotate(-5deg);color:#f7d75a!important}body .brand-emblem svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}body .site-header .brand-domain{color:#c54d29}
body .site-header nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:750;white-space:nowrap;width:auto;padding:0;margin:0;overflow:visible;line-height:1.5}body .site-header nav a{display:inline-flex;align-items:center;min-height:44px;padding:0;text-decoration:none}body .site-header nav a:hover{color:#a43f22}body .site-header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:#d34b26;text-underline-offset:9px}body .site-header .portal-account-link{border:1px solid #bfceca;border-radius:9px;padding:10px 15px!important;max-width:175px;white-space:normal}body .site-menu-button{border:1px solid #bfceca;border-radius:9px;font-weight:750;color:#123c3e;background:#fff}
body footer.site-footer{width:100%;max-width:none;margin:0;padding:50px 24px 24px;background:#062e31;color:#d9e7e2;display:block;border:0;font:14px/1.75 Manrope,system-ui,sans-serif;clear:both}body .site-footer .site-footer-grid,body .site-footer .site-footer-bottom{width:100%;max-width:1260px;margin-left:auto;margin-right:auto}body .site-footer .site-footer-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:36px}body .site-footer .logo{color:#fff;font-size:27px}body .site-footer .brand-emblem{background:#f7d75a;color:#073c3e!important;width:37px;height:33px}body .site-footer .brand-domain{color:#ff976c}body .site-footer h2{font-size:13px;line-height:1.5;letter-spacing:0;margin:0 0 17px;color:white}body .site-footer-grid a:not(.logo),body .site-footer p,body .site-footer small{color:#c0d6d0;font-size:13px}body .site-footer-grid a:not(.logo){min-height:32px;padding:3px 0;margin:0}body .site-footer .site-footer-bottom{margin-top:32px;padding-top:22px;border-top:1px solid #35595a;display:flex;align-items:center;justify-content:space-between;gap:24px}body .site-footer-bottom>div{display:flex;flex-wrap:wrap;gap:12px 22px}body .site-footer-bottom :is(a,button,small){font-size:12px;color:#c0d6d0}body .site-footer-bottom small{border:0;width:auto;padding:0}body .site-attribution{background:#edf5f2}
body :is(.routes-wrap,.forum-wrap,[data-account-page],[data-trip-page],.favorites-page,.guide-index,.e-main,.rules-wrap){max-width:1320px}body :is(.routes-hero,.forum-heading,.account-heading,.travel-page-heading,.guide-index-heading,.rental-publish-heading,.entry-place-heading,.mod-page-heading){border-bottom:1px solid #d5e1df;padding-bottom:26px;margin-bottom:26px}body :is(.routes-hero,.forum-heading,.account-heading,.travel-page-heading,.guide-index-heading) h1{font-size:clamp(32px,3.6vw,48px);line-height:1.15}body :is(.eyebrow,.site-kicker,.portal-tag){color:#496c65;font-weight:800;letter-spacing:.12em}
body :is(.routes-explorer,.portal-card,.forum-topic,.rental-publish-card,.account-settings,.account-entry,.cp-form,.guide-card,.rules-card,.e-country-card,.e-route-card,.mod-card,.detail-panel,.contact-card){border-color:#d5e1df;border-radius:16px;background:#fff;box-shadow:0 3px 14px #083c3e05}
body :is(.routes-tabs,.account-tabs,.travel-tabs,.cp-form-tabs){background:#e2eeeb;border-radius:11px}body :is(.routes-tabs button[aria-pressed=true],.account-tabs button[aria-selected=true],.travel-tabs button[aria-selected=true]){background:#083c3e;color:#fff}body .routes-toolbar{background:white}body :is(.routes-results,.routes-results-bar){background:#f6faf8}body .routes-result{background:#fff;border-color:#cfdfda}body .routes-result.is-selected{background:#e2f0ec;border-color:#0e635d;box-shadow:inset 4px 0 #0e635d}body .routes-result h2{font-size:19px;line-height:1.35}body .routes-detail{background:#fff}body .routes-tabs button{font-weight:800}body .routes-meta,body .routes-result p{color:#506967}body .routes-result-thumb{width:100%;height:140px;object-fit:cover;border-radius:9px;margin:0 0 12px;display:block}body .routes-result-thumb[hidden]{display:none}
body :is(.forum-filter-bar,.guide-controls,.trip-picker,.rental-map-tools,.place-nearby-tools){background:#e2f0ec;border-color:#d0e0da;border-radius:12px}body .guide-controls{padding:20px;gap:20px}body .guide-index .guide-index-heading + .guide-start{background:#f7d75a;border-color:#e6cc67}body .guide-index .guide-start + .guide-start{background:#b6dfdf;border-color:#9ac7c5}body .guide-card{border:1px solid #d5e1df;border-top:4px solid #efc645}body .guide-card:nth-child(3n+2){border-top-color:#5bada5}body .guide-card:nth-child(3n){border-top-color:#f08c62}body .guide-card:hover{background:#f5faf8;transform:translateY(-2px)}body :is(.guide-takeaway,.rules-takeaway){background:#083c3e;color:white;border-radius:14px}body .guide-takeaway :is(strong,p){color:white}body :is(.guide-checklist,.rules-checklist){background:#f9e58e;border-radius:14px;color:#123c3e}body :is(.guide-toc-panel,.rules-toc details){background:#e2f0ec}body :is(.guide-body,.rules-body,.site-document){font-size:16px;line-height:1.85}body :is(.guide-body,.rules-body){max-width:760px}body :is(.guide-body,.rules-body,.site-document) h2{line-height:1.25}
body :is(.account-travel-links>a,.account-empty,.trip-login,.account-login,.account-email-login,.favorites-empty){background:#e2f0ec;border-color:#c5dbd4}body .account-travel-links>a:first-child{background:#f9e58e}body .account-travel-links>a:hover{border-color:#0e635d}body .account-email-login{background:white;border-top:5px solid #f7d75a}body :is(.travel-summary,.cp-summary,.entry-summary){background:#e2f0ec}body .travel-routing{border:1px solid #c9dcd5;border-left:4px solid #ff7044;border-radius:12px}body .travel-save-bar{background:#fffffff5}body .travel-stop{border-radius:13px}body :is(.travel-stop-no,.travel-number,.routes-dot){background:#083c3e}body .form-location-tabs{background:#e2f0ec}body .form-location-tabs [aria-selected=true]{background:#083c3e;color:#fff}
body :is(.rules-hero-note,.e-panel-stat){background:#f7d75a;color:#123c3e}body .rules-card-top>span{background:#e2f0ec}body .rules-explainer{background:#fff4de;border-left-color:#dc7b36}body .rules-card-links a:first-child{font-weight:800}body .e-hero{background:#083c3e;color:#fff;border-radius:18px}body .e-hero :is(h1,h2,p,.eyebrow){color:inherit}body .e-hero em{color:#f7d75a;font-style:normal}body .e-country-opening{border-left:5px solid #f7d75a;padding-left:28px}body .e-criteria{background:#e2f0ec;border-radius:16px}body .e-map-panel{background:#f5faf8}
body .contact-card{border-top:5px solid #f7d75a}body .contact-info{background:#e2f0ec}body .contact-ad-note{border-bottom:3px solid #ff7044}body :is(.privacy-banner,.privacy-dialog){color:#123c3e;background:white;border-color:#c4d7d1;font-family:Manrope,system-ui,sans-serif}body .privacy-banner{box-shadow:0 12px 48px #062e3138}body .privacy-banner .site-button{font-size:13px}body .privacy-option input{accent-color:#0b5552}body .privacy-toast{background:#083c3e}body .email-confirm{background:#083c3e}body .email-confirm main{border-top:6px solid #f7d75a;color:#123c3e}body .email-confirm button{background:#ff7044;color:#142f30;font-family:Manrope,system-ui,sans-serif}body .email-confirm .email-brand{color:#123c3e}
body .moderation-page .mod-tabs button[aria-pressed=true],body.moderation-page .mod-tabs button[aria-pressed=true]{background:#083c3e;border-color:#083c3e}body.moderation-page .mod-filters{background:#e2f0ec}body .detail-lightbox{font-family:Manrope,system-ui,sans-serif}body .leaflet-popup-content{font-family:Manrope,system-ui,sans-serif}body .leaflet-control a{min-height:0}body :is(input,select,textarea){border-color:#a8c0b9;border-radius:8px}body :is(.portal-form,.cp-form,.rental-publish-form,.email-login-form,.contact-card) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}
body .travel-stop-no,body .travel-number{color:#fff}body [data-account-page] .account-email-login{background:#fff;border-top:5px solid #f7d75a}
@media(max-width:1150px){body .site-header nav{gap:13px;font-size:12px}body .site-header .logo{font-size:25px}body .brand-emblem{width:36px;height:34px}body .site-header{padding-inline:24px;gap:20px}}
@media(max-width:980px){body .site-header{min-height:76px;flex-wrap:wrap;padding:15px 20px;gap:10px}body .site-header[data-menu-ready] .site-menu-button{display:block;margin-left:auto;min-height:44px}body .site-header nav{width:100%;order:3;flex-wrap:wrap;white-space:normal;gap:3px;padding-top:10px;font-size:14px}body .site-header[data-menu-ready]:not(.site-menu-open) nav{display:none}body .site-header.site-menu-open nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}body .site-header nav a{padding:10px 12px;min-height:48px}body .site-header nav .portal-account-link{max-width:none;grid-column:1/-1;margin-top:8px}body .site-footer .site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body .site-header{padding:13px 18px}body .site-header .logo{font-size:26px}body .site-header .brand-emblem{width:35px;height:33px}body :is(.routes-wrap,.forum-wrap,[data-account-page],[data-trip-page],.guide-index,.rules-wrap){padding-left:18px;padding-right:18px}body :is(.routes-hero,.forum-heading,.account-heading,.travel-page-heading,.guide-index-heading,.rental-publish-heading,.entry-place-heading,.mod-page-heading){padding-bottom:20px;margin-bottom:22px}body :is(.routes-hero,.forum-heading,.account-heading,.travel-page-heading,.guide-index-heading) h1{font-size:32px}body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important}body :is(.guide-controls,.forum-filter-bar){padding:16px}body .guide-card{padding:22px}body .routes-result-thumb{height:165px}body :is(.guide-opening h1,.rules-opening h1){font-size:34px;line-height:1.18}body .e-country-opening{padding-left:18px}body footer.site-footer{padding:36px 20px 22px}body .site-footer .site-footer-grid{gap:28px 20px}body .site-footer-brand{grid-column:1/-1}body .site-footer .site-footer-bottom{display:block;margin-top:25px}body .site-footer-bottom>div{margin-top:14px;gap:8px 18px}body .site-footer-grid a:not(.logo),body .site-footer-bottom a,body .site-footer-bottom button{min-height:44px;display:flex;align-items:center;padding:8px 0}body .site-footer-grid>div:last-child{grid-column:auto}body :is(.btn,.site-button){min-height:48px}body .privacy-banner{left:10px;right:10px;bottom:10px;padding:18px}.site-document{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body *,body *::before,body *::after{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:#fff!important;color:#000!important}body :is(.site-header,.site-footer,.privacy-banner){display:none!important}body :is(.guide-takeaway,.guide-checklist,.rules-takeaway,.rules-checklist){background:#fff!important;color:#000!important}body .guide-takeaway :is(strong,p){color:#000!important}}
