/* speedyonline shared styles: edit here to restyle every speedy site */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,800&family=Figtree:wght@400;600;700&display=swap');
:root{--ink:#17123f;--pop:#ff4d6d;--sun:#ffd60a;--mint:#12e0b0;--sky:#3d5afe;--paper:#f3f0ff;--card:#fff;--muted:#5b5780}
@media(prefers-color-scheme:dark){:root{--paper:#120e33;--card:#1e1950;--ink:#f5f3ff;--muted:#b4afe0}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Figtree,system-ui,sans-serif}
h1,h2,h3,.logo{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-weight:800;line-height:1.05;margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
header{display:flex;justify-content:space-between;align-items:center;padding:16px 0}
.logo{font-size:1.7rem;text-decoration:none;letter-spacing:-.03em}
.logo b{color:var(--pop)}
nav a{margin-left:18px;font-weight:700;text-decoration:none;font-size:.95rem}
nav a:hover{color:var(--pop)}
.hero{background:var(--sky);color:#fff;border-radius:0 0 48px 48px;padding:20px 0 90px;position:relative;overflow:hidden}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%}
.hero:before{width:380px;height:380px;background:var(--pop);right:-120px;top:-140px}
.hero:after{width:220px;height:220px;background:var(--mint);left:-80px;bottom:-110px}
.hero .wrap{position:relative;z-index:1}
.hero header a{color:#fff}
h1{font-size:clamp(2.4rem,7vw,5rem);max-width:12em;margin:34px 0 10px;letter-spacing:-.035em;transform:rotate(-1.5deg);transform-origin:left}
.hero p.sub{font-size:1.15rem;max-width:34em;margin:0 0 26px}
.sticker{display:inline-block;background:var(--sun);color:var(--ink);font-weight:700;padding:4px 14px;border-radius:99px;transform:rotate(2deg);font-size:.9rem}
.box{background:var(--card);color:var(--ink);border-radius:28px;padding:16px;box-shadow:8px 8px 0 var(--ink);margin-top:-70px;position:relative;z-index:2;border:3px solid var(--ink)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tab{border:3px solid var(--ink);background:var(--paper);color:var(--ink);font:700 .98rem Figtree,system-ui,sans-serif;padding:9px 16px;border-radius:99px;cursor:pointer}
.tab[aria-selected=true]{background:var(--sun);transform:translateY(-3px) rotate(-1.5deg);box-shadow:3px 3px 0 var(--ink)}
.panel{display:none;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
.panel.on{display:grid}
label{font-size:.82rem;font-weight:700;display:block;color:var(--muted)}
input,select{width:100%;padding:11px 12px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);color:var(--ink);font:600 1rem Figtree,system-ui,sans-serif}
.go{background:var(--pop);color:#fff;border:3px solid var(--ink);border-radius:14px;padding:11px 18px;font:800 1.05rem 'Bricolage Grotesque',Figtree,system-ui,sans-serif;cursor:pointer;box-shadow:4px 4px 0 var(--ink);text-decoration:none;text-align:center;display:inline-block}
.go:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.go.alt{background:var(--mint);color:#17123f}
.note{grid-column:1/-1;font-size:.88rem;color:var(--muted);margin:0}
section{padding:54px 0 0}
h2{font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:6px}
.lead{color:var(--muted);margin:0 0 20px}
.search{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.search input{flex:1;min-width:200px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px}
.dest{border:3px solid var(--ink);border-radius:22px;overflow:hidden;background:var(--card);cursor:pointer;text-align:left;padding:0;color:var(--ink);font:inherit;transition:transform .15s}
.dest:hover{transform:rotate(-1.2deg) scale(1.02)}
.dest .im{height:150px;background:var(--mint) center/cover}
.dest div.t{padding:10px 14px;font-weight:700;display:flex;justify-content:space-between}
.dest span.p{background:var(--sun);color:#17123f;border-radius:99px;padding:0 10px;font-size:.8rem;align-self:center}
#result{display:none;border:3px solid var(--ink);border-radius:28px;background:var(--card);overflow:hidden;margin-bottom:24px;box-shadow:8px 8px 0 var(--pop)}
#result.on{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
#result .pic{min-height:260px;background:var(--sky) center/cover}
#result .body{padding:22px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.chip{background:var(--paper);border:2px solid var(--ink);border-radius:99px;padding:3px 12px;font-size:.88rem;font-weight:600}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.att{columns:2;padding-left:18px;margin:6px 0 0;font-size:.95rem}
.tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.tip{background:var(--card);border:3px solid var(--ink);border-radius:22px;padding:18px}
.tip:nth-child(3n+1){background:var(--sun);color:#17123f}
.tip:nth-child(3n+2){background:var(--mint);color:#17123f}
.tip h3{font-size:1.2rem;margin-bottom:6px}
.tip p{margin:0;font-size:.95rem}
footer{margin-top:60px;background:var(--ink);color:#f5f3ff;padding:34px 0;font-size:.9rem}
footer a{color:var(--sun)}
.msg{color:var(--muted);font-weight:600}
@media(max-width:760px){#result.on{grid-template-columns:1fr}nav{display:none}.att{columns:1}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

a.dest{display:block;text-decoration:none}
.crumbs{font-size:.9rem;margin:18px 0 0}.crumbs a{text-decoration:none;font-weight:700}.crumbs a:hover{color:var(--pop)}
.phero{background:var(--sky);color:#fff;border-radius:0 0 40px 40px;padding:14px 0 36px;position:relative;overflow:hidden}
.phero:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--pop);right:-80px;top:-110px}
.phero .wrap{position:relative}.phero a{color:#fff}
.phero h1{font-size:clamp(2.2rem,6vw,4rem);margin:18px 0 6px;transform:rotate(-1deg)}
.page{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;margin-top:28px}
.card{background:var(--card);border:3px solid var(--ink);border-radius:24px;padding:20px}
.card.pic{padding:0;overflow:hidden;min-height:240px;background:var(--mint) center/cover;margin-bottom:20px}
.links{list-style:none;margin:0;padding:0;columns:2}.links li{margin:4px 0}.links a{font-weight:600}
@media(max-width:760px){.page{grid-template-columns:1fr}.links{columns:1}}
.tip .go{margin-top:12px;font-size:.92rem;padding:8px 14px}.tip .go:hover{box-shadow:6px 6px 0 var(--ink)}

/* fixes: contrast problems in dark mode and the logo clashing with the pink circle */
:root{--deep:#17123f}
.hero .logo b,.phero .logo b{color:var(--sun)}
.sticker,.tab[aria-selected=true]{color:var(--deep)}
footer{background:var(--deep);color:#f5f3ff;border-radius:40px 40px 0 0}

/* popular-places cards */
.sg{cursor:default}.sg:hover{transform:none}.sg .t{align-items:center;gap:8px}.sg .go{margin:0 6px 8px 0;font-size:.88rem;padding:8px 12px}.sg small a{color:inherit}

/* shared footer, pop-ups and contact form */
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:18px}
.foot-links{list-style:none;margin:6px 0 0;padding:0;columns:2;column-gap:20px}.foot-links.one{columns:1}.foot-links li{margin:4px 0}
.foot-small{font-size:.85rem;opacity:.85;margin:0}
button.linklike{background:none;border:0;padding:0;color:var(--sun);font:inherit;text-decoration:underline;cursor:pointer}
dialog.sp-modal{border:3px solid var(--ink);border-radius:24px;background:var(--card);color:var(--ink);width:calc(100% - 32px);max-width:640px;padding:0;box-shadow:8px 8px 0 var(--ink)}
dialog.sp-modal::backdrop{background:rgba(23,18,63,.65)}
.sp-modal .in{padding:24px;max-height:80vh;overflow:auto;position:relative}
.sp-modal h2{font-size:1.7rem;margin-bottom:10px}.sp-modal h3{font-size:1.1rem;margin:14px 0 4px}
.sp-modal ul{padding-left:20px}.sp-modal a{color:var(--sky)}
.sp-close{position:absolute;right:14px;top:12px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:50%;width:36px;height:36px;font:700 1rem Figtree,sans-serif;cursor:pointer}
textarea{width:100%;padding:11px 12px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);color:var(--ink);font:600 1rem Figtree,system-ui,sans-serif,system-ui,sans-serif;resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* in-page search results */
.fare{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:3px solid var(--ink);border-radius:18px;padding:12px 16px;margin:10px 0;background:var(--paper)}
.fare .price{font:800 1.7rem 'Bricolage Grotesque',Figtree,sans-serif;min-width:80px}
.fare .mid{flex:1;min-width:180px}
.fare .go{margin:0}
