/* The shell around every page (2026-11-08): the pages carry their own styles (from the city-page builder). */
:root{--ink:#17212B;--muted:#5B6773;--route:#E2702B;--sand:#FBF6EF;--line:#DCE1E7}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff}
.site-in{max-width:1100px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left))}
.site-head{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:1000}
.site-head .site-in{display:flex;align-items:center;gap:16px;min-height:60px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:var(--route);text-decoration:none}
.brand img{width:40px;height:40px;border-radius:8px}
.site-nav{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto}
.site-nav a{color:var(--ink);text-decoration:none;font-size:15px}
.site-nav a:hover{color:var(--route)}
.menu-btn{display:none;margin-left:auto;background:none;border:0;font-size:24px;cursor:pointer}
@media (max-width:820px){.menu-btn{display:block}.site-nav{display:none;width:100%;flex-direction:column;gap:0;padding-bottom:8px}
 .menu-open .site-nav{display:flex}.site-nav a{padding:10px 0;border-top:1px solid var(--line)}}
.site-main{padding:24px max(16px,env(safe-area-inset-left)) 48px}
.site-foot{border-top:1px solid var(--line);background:var(--sand);padding:24px 0;font-size:14px;color:var(--muted)}
.site-foot a{color:var(--muted)}
/* pages that were made with Elementor: plain text in a readable column */
.plain{max-width:70ch;margin:0 auto;font-size:17px;line-height:1.6}
.plain h1,.plain h2,.plain h3{line-height:1.25;margin:28px 0 10px}
.plain img{max-width:100%;height:auto}
.plain a{color:#1F6F8B}

.lang-bar{font-size:14px;margin:0 0 16px;color:#555}.lang-bar a{color:inherit;text-decoration:underline}.lang-bar strong{font-weight:600}
.lang-menu{font-size:14px;margin:0 0 16px;color:#555;position:relative}.lang-menu summary{cursor:pointer;display:inline-block;list-style:none;padding:4px 10px;border:1px solid var(--line);border-radius:16px;background:#fff}.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu ul{list-style:none;margin:6px 0 0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px 12px;width:min(640px,calc(100vw - 32px));box-sizing:border-box;position:absolute;z-index:20;box-shadow:0 4px 16px rgba(0,0,0,.12)}
.lang-menu li{margin:0}.lang-menu a{color:inherit;text-decoration:underline}.lang-menu strong{font-weight:600}
.tr-note{font-size:13px;color:#555;margin:-8px 0 16px;font-style:italic}.tr-note a{color:inherit}
.lang-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:#f4f8fb;font-size:15px}
.lang-note a{font-weight:600;color:var(--route)}
.lang-note button{margin-left:auto;border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:#555;padding:2px 6px}
.guide-list{list-style:none;padding:0;columns:2 240px;column-gap:32px}.guide-list li{padding:4px 0;break-inside:avoid}.guide-list span{color:#666;font-size:14px}
.foot-langs{margin-top:8px}

/* "Share this plan" under a city page's heading (2026-11-13) */
.share-plan { margin: 6px 0 14px; }
.share-plan-btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px;
  border: 1px solid #e2d4be; background: #fffcf6; color: #a84a15; font: 600 15px/1.2 system-ui, -apple-system, sans-serif; cursor: pointer; }
.share-plan-btn:hover { background: #faf4e9; }
/* Top menu Help ▾ (2026-11-12): a small dropdown on wide screens, a short sub-list in the phone's ☰ menu */
.nav-help{position:relative}
.nav-help>summary{list-style:none;cursor:pointer;color:var(--ink);font-size:15px}
.nav-help>summary::-webkit-details-marker{display:none}
.nav-help>summary::after{content:" ▾";font-size:12px}
.nav-help:hover>summary{color:var(--route)}
.nav-sub{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.08);padding:6px 0;min-width:170px;z-index:30;display:flex;flex-direction:column}
.nav-sub a{padding:8px 14px;white-space:nowrap}
.nav-app{font-weight:600}
@media (max-width:820px){.nav-help>summary{padding:10px 0;border-top:1px solid var(--line)}
 .nav-sub{position:static;border:0;box-shadow:none;padding:0 0 0 16px;min-width:0}
 .nav-sub a{padding:8px 0;border-top:0}}
/* phones: "Open the app" visible next to the ☰ (2026-11-13) */
.nav-app-quick{display:none}
@media (max-width:820px){.nav-app-quick{display:inline-block;margin-left:auto;padding:7px 14px;border-radius:999px;background:var(--route);color:#fff;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}
 .nav-app-quick+.menu-btn{margin-left:10px}}
@media (max-width:440px){.brand{font-size:17px;gap:8px}.brand img{width:34px;height:34px}.nav-app-quick{padding:6px 11px;font-size:14px}.nav-app-quick+.menu-btn{margin-left:6px}}
/* phones (2026-11-13): one header line — logo, "Open the app", "☰ Menu" (a button too); the open menu drops below */
@media (max-width:820px){
 .site-head .site-in{flex-wrap:wrap;column-gap:8px}
 .brand{min-width:0;flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 .nav-app-quick{margin-left:0;flex:0 0 auto}
 .menu-btn{display:inline-flex;align-items:center;gap:6px;margin-left:0;flex:0 0 auto;font-size:18px;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink)}
 .menu-label{font-size:14px;font-weight:600}
 .site-nav{order:5}}
@media (max-width:400px){.brand span,.brand{font-size:0}.brand img{width:34px;height:34px}.nav-app-quick{font-size:13px;padding:6px 10px}.menu-label{font-size:13px}}
