/* eat-site.css (verified1 + mobile1, Oct 9 2026; mobile1: footer colours pinned to the site palette #123229 / #f6f1e4 so footer text is
   AA on every page whatever the page's theme tokens are; Trips link emphasised): site-wide 'Verified <Month Year>' badge + the new footer (footer.eat-footer).
   Linked by every page. Source: batches/b02/build/gen/shared/eat-site.css. Footer rules are scoped to footer.eat-footer so
   they win over legacy page CSS; colours use each page's theme tokens with the site palette as fallback. */
.verified-date .verified-badge, a.verified-badge { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .3em .6em; padding: .34em .85em .34em .7em; border: 1px solid color-mix(in srgb, currentColor 38%, transparent); border-radius: 999px; background: color-mix(in srgb, currentColor 7%, transparent); color: inherit; font-family: inherit; font-size: .8rem; font-weight: 700; line-height: 1.3; letter-spacing: .01em; text-decoration: none; }
a.verified-badge .vb-dot { flex: 0 0 auto; width: .62em; height: .62em; border-radius: 50%; background: #3f9d5a; box-shadow: 0 0 0 3px color-mix(in srgb, #3f9d5a 28%, transparent); }
a.verified-badge .vb-text { white-space: nowrap; }
a.verified-badge .vb-link { font-weight: 600; text-decoration: underline; text-underline-offset: 2px; opacity: .82; }
a.verified-badge:hover .vb-link, a.verified-badge:focus-visible .vb-link { opacity: 1; }
a.verified-badge:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.verified-date--hero, .verified-date--glance, .verified-date--sources { margin: 0 0 14px; }
.trip-card .verified-date--glance { margin: 14px 0 0; }
.verified-row { display: grid; gap: 8px; justify-items: start; }
.verified-row .verified-date--sources { margin: 0; }

footer.eat-footer { display: block; margin: 0; padding: 0; background: #123229; color: #f6f1e4; font-family: inherit; text-align: left; }
footer.eat-footer .footer-inner { box-sizing: border-box; max-width: var(--max, 1180px); margin: 0 auto; padding: 48px 24px 28px; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px 48px; background: none; border: 0; }
footer.eat-footer .footer-brand { display: grid; grid-template-columns: minmax(0, 1fr); grid-column: auto; gap: 14px; justify-items: start; align-items: start; padding: 0; border: 0; text-align: left; }
footer.eat-footer .footer-brand > a { display: inline-block; }
footer.eat-footer .footer-logo { display: block; width: 72px; height: 72px; max-width: none; border-radius: 50%; }
footer.eat-footer .footer-tagline { margin: 0; max-width: none; color: inherit; font-size: 1rem; line-height: 1.5; }
footer.eat-footer .follow-buttons { display: flex; flex-wrap: wrap; justify-content: flex-start; grid-column: auto; gap: 10px; }
footer.eat-footer .follow-button { display: inline-block; margin: 0; padding: 10px 14px; border-radius: 0; border: 1px solid color-mix(in srgb, #f6f1e4 50%, transparent); background: none; color: inherit; text-decoration: none; font-weight: 800; font-size: .84rem; letter-spacing: normal; text-transform: none; line-height: 1.4; }
footer.eat-footer .follow-button:hover { background: none; border-color: color-mix(in srgb, #f6f1e4 50%, transparent); color: inherit; }
footer.eat-footer .follow-button.primary:hover { background: #f6f1e4; color: #123229; }
footer.eat-footer .follow-button.primary { background: #f6f1e4; color: #123229; }
footer.eat-footer .footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 24px; align-content: start; margin: 0; padding: 0; border: 0; }
footer.eat-footer .footer-nav a { display: block; color: inherit; text-decoration: none; font-size: .92rem; font-weight: 400; letter-spacing: normal; text-transform: none; line-height: 1.5; padding: 4px 0; border: 0; background: none; }
footer.eat-footer .footer-nav a:hover { color: #f6d47a; }
footer.eat-footer .footer-lower { flex-direction: row; margin: 0; width: auto; max-width: none; grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px; padding-top: 20px; border-top: 1px solid color-mix(in srgb, #f6f1e4 22%, transparent); font-size: .86rem; }
footer.eat-footer .footer-lower p { margin: 0 0 4px; color: inherit; }
footer.eat-footer .to-top { color: inherit; font-weight: 800; font-size: inherit; letter-spacing: normal; text-transform: none; padding: 0; border: 0; background: none; text-decoration: underline; }
footer.eat-footer .email-line, footer.eat-footer .legal { margin: 0 0 4px; padding: 0; border: 0; color: inherit; font-size: inherit; }
footer.eat-footer .email-line strong { display: inline; margin: 0; color: inherit; font-family: inherit; font-size: inherit; }
footer.eat-footer .footer-lower > div { margin: 0; padding: 0; border: 0; }
@media (max-width: 860px) { footer.eat-footer .footer-inner { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { footer.eat-footer .footer-nav { grid-template-columns: minmax(0, 1fr); } }
footer.eat-footer .footer-nav a.footer-trips { font-weight: 800; color: #f6d47a; }
footer.eat-footer .footer-nav a.footer-trips:hover { color: #fffaf0; text-decoration: underline; }
/* mobile1 contrast: the glance + sources badges sit on the page's light cards; some guide themes colour every .verified-date for the dark
   hero (e.g. Kauai #e8dccf on #faf6ee = 1.2:1). These two spots take the surrounding text colour instead (hero badge unchanged). */
p.verified-date.verified-date--glance, p.verified-date.verified-date--sources { color: inherit; }
/* mobile1 contrast (homepage + topic hubs, legacy pages with no generator): ember #d96536 / dark-mode #ed8457 behind or as small text
   is 2.5-3.4:1. Deeper ember #a8441c keeps the look: #fffaf0 on it 5.7:1, it on the #f4f0e6 page 5.2:1. */
body .social-callout { background: #a8441c; }
@media not (prefers-color-scheme: dark) { body .dispatch-title > p { color: #a8441c; } }
/* menutrips1 (Oct 9 2026): the header TRIPS dropdown's 'All trips / Trip finder' link (a.menu-all.menu-trips in .menu-panel-head) is shown
   on every page as a full-width button under the panel title (menu.css and some legacy page styles hide .menu-panel-head .menu-all). */
details.trip-menu .menu-panel-head { flex-wrap: wrap; }
details.trip-menu .menu-panel-head a.menu-all.menu-trips { display: inline-flex; order: 3; flex: 1 0 100%; align-items: center; justify-content: center; box-sizing: border-box;
  min-height: 44px; margin: 4px 0 0; padding: 10px 16px; border-radius: 999px; background: #1c4938; color: #fffaf0; font-size: .82rem; font-weight: 800;
  letter-spacing: .06em; text-transform: uppercase; text-decoration: none; white-space: normal; }
details.trip-menu .menu-panel-head a.menu-all.menu-trips:hover, details.trip-menu .menu-panel-head a.menu-all.menu-trips:focus-visible { background: #102e25; color: #fffaf0; }

/* acct1 (Oct 11 2026): accounts - header account icon, Save (wishlist) button, SignupPrompt, dialog, /account/. Uses each page's own theme vars. */
html{scroll-padding-top:96px}                         /* WCAG 2.4.11: anchored/focused targets never hide under a sticky header */
:focus-visible{scroll-margin-top:96px;scroll-margin-bottom:24px}
.eat-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* acct1b (owner, Oct 11 1:20 PM ET): the account icon wears the same square bordered box as Search and Share (signed in and out) */
.site-nav > a.header-account,.header-account{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:content-box;width:44px;height:44px;margin:0 0 0 8px;padding:0;background:transparent;border:1px solid rgba(255,255,255,.42);border-radius:0;color:var(--cream,#fffaf0);text-decoration:none;position:relative;cursor:pointer}
.header-account svg{width:20px;height:20px}
.header-account .acct-initial{display:none;width:24px;height:24px;border-radius:50%;background:var(--sun,#efbd4c);color:var(--berry-deep,#2b2140);font:800 13px/24px system-ui,sans-serif;text-align:center}
.header-account.is-signed-in svg{display:none}.header-account.is-signed-in .acct-initial{display:block}
.header-account:hover{border-color:var(--sun,#efbd4c);color:var(--sun,#efbd4c)}
.header-account:focus-visible{outline:3px solid var(--sun,#efbd4c);outline-offset:2px;border-color:var(--sun,#efbd4c)}
.header-account + details.trip-menu,.header-account + .trip-menu{margin-left:8px}
.header-share + .header-account{margin-left:8px}
/* Share/Search render as a 42px box; the account box matches visually (inner border) while keeping a 44x44 tap target (WCAG 2.5.8 / brief) */
@media all{.site-nav > a.header-account,.header-account{box-sizing:border-box;width:44px;height:44px;border-color:transparent}
 .header-account::before{content:"";position:absolute;inset:1px;border:1px solid rgba(255,255,255,.42);pointer-events:none}
 .header-account:hover{border-color:transparent}.header-account:hover::before,.header-account:focus-visible::before{border-color:var(--sun,#efbd4c)}
 .header-account svg{width:20px;height:20px}}
@media (max-width:480px){.header-account svg{width:18px;height:18px}}
.footer-account{font-weight:700}
.share-control{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.share-control .share-trip-button{margin-top:18px}
/* acct1f: Save matches Share's outline, label and contrast (CSS default = Share's base look; account.js then copies the guide's own
   Share styles so themed guides match exactly). Signed-out and loading-auth both show this normal state - nothing is faded. */
.save-guide{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:44px;padding:10px 20px;margin-top:18px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:800;line-height:1.2;cursor:pointer}
.save-guide svg{width:18px;height:18px;flex:0 0 auto}
.save-guide .heart-fill{fill:transparent;transition:fill .15s}
.save-guide[aria-pressed="true"] .heart-fill{fill:currentColor}
.save-guide:hover{text-decoration:underline;text-underline-offset:3px}
.save-guide:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.save-guide[aria-busy="true"]{cursor:progress}
.save-guide[aria-busy="true"] svg{animation:eatpulse .9s ease-in-out infinite}
@keyframes eatpulse{50%{transform:scale(.82)}}
@media (prefers-reduced-motion:reduce){.save-guide[aria-busy="true"] svg{animation:none}}
.eat-slot:empty,.eat-slot[hidden]{display:none}
.eat-slot[data-slot^="account-"]{max-width:1080px;margin:28px auto;padding:0 20px}
.eat-prompt{border:1px solid rgba(0,0,0,.12);border-left:4px solid var(--maple,#c8553d);border-radius:10px;padding:18px 20px;background:var(--cream,#fbf7ef);color:#2a2622}
.eat-prompt-title{margin:0 0 4px;font-size:1.08rem;font-weight:800;color:inherit}
.eat-prompt-line{margin:0 0 12px;font-size:.95rem;line-height:1.5}
.eat-prompt-actions,.eat-auth-btns{display:flex;flex-wrap:wrap;gap:10px}
.eat-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;border-radius:999px;font:700 .95rem/1.2 system-ui,-apple-system,sans-serif;cursor:pointer;border:2px solid transparent;text-decoration:none}
.eat-btn:disabled{opacity:.6;cursor:not-allowed}
.eat-btn--primary{background:var(--berry-deep,#2b2140);color:#fff}
.eat-btn--google{background:#fff;color:#1f1f1f;border-color:#747775}
.eat-auth-btns .eat-btn--primary,.eat-auth-btns .eat-btn--google{flex:1 1 220px}
.eat-btn--quiet{background:transparent;color:inherit;border-color:currentColor}
.eat-btn--danger{background:#a4262c;color:#fff}
.eat-btn:focus-visible,.eat-form input:focus-visible,.eat-x:focus-visible{outline:3px solid #1a5fb4;outline-offset:2px}
.eat-dialog{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:14px;padding:0;background:var(--cream,#fbf7ef);color:#2a2622;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.eat-dialog::backdrop{background:rgba(20,16,30,.55)}
.eat-dialog-body{position:relative;padding:24px 20px 20px}
.eat-x{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:inherit}
.eat-form{display:grid;gap:8px}
.eat-form label{font-weight:700;font-size:.9rem}
.eat-form input[type=email],.eat-form input:not([type]),.eat-form input[type=text],#del-word{min-height:44px;padding:10px 12px;border:1px solid #6b6560;border-radius:8px;font:inherit;font-size:16px;background:#fff;color:#1f1f1f;width:100%;box-sizing:border-box}
.eat-err{margin:0;min-height:1em;color:#a4262c;font-size:.88rem}
.eat-fine,.acct-fine{font-size:.8rem;color:#5b554f;margin:10px 0 0}
.eat-mock-note{background:#fff4c2;border-radius:8px;padding:10px 12px;font-size:.88rem}
.acct-wrap{max-width:760px;margin:0 auto;padding:28px 16px 56px}
.acct-wrap h1{margin:0 0 18px}
.acct-card{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:20px;margin:0 0 16px;color:#2a2622}
.acct-card h2{margin:0 0 12px;font-size:1.2rem}
.acct-meta{font-size:.9rem;color:#4d4842}
.acct-empty{color:#4d4842}
.acct-check{display:flex;gap:10px;align-items:flex-start}.acct-check input{width:24px;height:24px;margin:2px 0 0;flex:0 0 24px}.acct-check label{font-weight:400}
.acct-saved{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.acct-saved li{display:flex;align-items:center;gap:12px;justify-content:space-between}
.acct-saved a{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;flex:1}
.acct-saved img{width:64px;height:80px;object-fit:cover;border-radius:6px}
.acct-saved small{display:block;color:#5b554f}
.acct-danger{border-color:#e3b7b9}
/* acct1d phone header fit (measured in WebKit + Chromium, Oct 11): with 4 boxed controls the wordmark needs ~510px, so it hides
   below 520px; the logo badge never shrinks (min 44px); the menu's "Trips" word is visually hidden below 400px (still read aloud) */
.site-header .home-mark{flex:0 0 auto}
.site-header .brand-logo{flex-shrink:0;min-width:44px;min-height:44px}
@media (max-width:519px){.site-header .brand-wordmark{display:none}}
@media (max-width:399px){.site-header .header-inner{padding-left:12px;padding-right:12px}
 .site-header details.trip-menu summary > span:not(.menu-bars):not(.menu-chevron){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
/* acct1f: skip link visually hidden until keyboard focus (all pages that load this sheet) */
.skip-link:not(:focus):not(:focus-visible){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;padding:0!important;border:0!important}
.skip-link:focus,.skip-link:focus-visible{position:fixed;top:8px;left:8px;z-index:1000}
/* acct2 (Oct 11 2026): header icon boxes - Search, Share and Account are ONE size on every page type and width
   (44x44 border-box, 1px border, square corners, 20px icon). Overrides per-page/guide-base sizes (some were 40px or content-box 46px). */
header .header-search,header .header-share,header .site-nav > a.header-account,header a.header-account{box-sizing:border-box!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:0!important;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px!important}
header .header-search svg,header .header-share svg,header a.header-account svg{width:20px!important;height:20px!important}
header a.header-account::before{content:none!important;display:none!important}
header .header-search:hover,header .header-search[aria-expanded="true"],header .header-share:hover,header a.header-account:hover,header a.header-account:focus-visible{border-color:var(--sun,#efbd4c)!important}
/* acct2: Trips for you (interest picker + matching cards) */
#trips-for-you .acct-lede{margin:0 0 12px;color:#3d3832}
.fy-group{border:0;margin:0 0 14px;padding:0;min-width:0}
.fy-group legend{font-weight:800;font-size:1rem;margin:0 0 8px;padding:0;color:#2a2622}
.fy-chips{display:flex;flex-wrap:wrap;gap:8px}
.fy-chip{min-height:44px;padding:10px 16px;border-radius:999px;border:1.5px solid #6b645c;background:#fff;color:#2a2622;font:600 16px/1.2 system-ui,sans-serif;cursor:pointer;text-align:left}
.fy-chip:hover{border-color:#2a2622}
.fy-chip[aria-pressed="true"]{background:#2b2140;border-color:#2b2140;color:#fff}
.fy-chip[aria-pressed="true"]::before{content:"\2713\00a0"}
.fy-chip:focus-visible{outline:3px solid #b8860b;outline-offset:2px}
.fy-more{margin:8px 0 0}.fy-more summary{min-height:44px;display:inline-flex;align-items:center;cursor:pointer;font-weight:700;color:#2b2140;text-decoration:underline}
.fy-count{font-size:1.15rem;margin:18px 0 0}
#trips-for-you section#trips.eat-tb{padding:0;margin:0;background:none}
#trips-for-you .fy-grid{margin-top:12px}
#trips-for-you .fy-all{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;font-size:.95rem;font-weight:600;text-decoration:none;color:#2a2622}
.fy-foot{margin:14px 0 0;font-size:.95rem;color:#4d4842}
.fy-email{border-top:1px solid rgba(0,0,0,.12);margin:20px 0 0;padding:16px 0 0}.fy-email h3{margin:0 0 8px;font-size:1rem}
.acct-switch{display:flex;gap:12px;align-items:center;min-height:44px}
.acct-switch input{appearance:none;-webkit-appearance:none;flex:0 0 52px;width:52px;height:30px;border-radius:999px;background:#8a837a;position:relative;cursor:pointer;margin:0}
.acct-switch input::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:left .15s}
.acct-switch input:checked{background:#1f6b3a}.acct-switch input:checked::after{left:25px}
.acct-switch input:focus-visible{outline:3px solid #b8860b;outline-offset:2px}
.acct-switch label{font-weight:600}
@media (prefers-reduced-motion:reduce){.acct-switch input::after{transition:none}}
/* acct2 hdr (Oct 11 2026): phone header keeps the brand name. Option A (default, also ?hdr=a): fitted header - patch + stacked
   3-line wordmark, compact icon-only 44px boxes (Search/Share/Account/Menu, equal size) with 6px gaps; below 360px Share moves into
   the Trips menu ('Share this page'). Option B (?hdr=b, preview only): one lockup file /shared/brand-lockup.svg (existing patch
   emblem + name) replaces logo + wordmark. Variant is set by /shared/account.js on <html data-hdr>. Replaces acct1d's wordmark hide. */
@media (max-width:519px){
 .site-header .header-inner{padding-left:10px!important;padding-right:10px!important;gap:8px!important}
 .site-header .home-mark{gap:6px!important;min-width:0;flex:0 1 auto!important}
 .site-header .home-mark .brand-logo{width:44px!important;height:44px!important;min-width:44px}
 .site-header .brand-wordmark{display:grid!important;font-size:.8rem!important;line-height:1.05!important;gap:0!important;white-space:nowrap}
 .site-header .site-nav{gap:6px!important;flex:0 0 auto}
 .site-header .site-nav > .header-search,.site-header .site-nav > .header-share,.site-header .site-nav > .header-account,.site-header .header-share + .header-account,.site-header .header-account + details.trip-menu{margin-left:0!important}
 .site-header details.trip-menu summary{box-sizing:border-box!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;justify-content:center!important;gap:0!important}
 .site-header details.trip-menu summary > span:not(.menu-bars){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (max-width:359px){.site-header .header-share{display:none!important}}
.menu-share{display:none}
@media (max-width:359px){html:not([data-hdr=b]) .menu-share{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;margin:8px 0 0;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:600 1rem/1.2 system-ui,sans-serif;cursor:pointer}}
html[data-hdr=b] .site-header .home-mark .brand-logo,html[data-hdr=b] .site-header .brand-wordmark{display:none!important}
html[data-hdr=b] .site-header .home-mark::before{content:"";display:block;flex:0 0 auto;width:202px;height:60px;background:url(/shared/brand-lockup.svg) left center/contain no-repeat}
@media (max-width:1100px){html[data-hdr=b] .site-header .home-mark::before{width:168px;height:50px}}
@media (max-width:519px){html[data-hdr=b] .site-header .home-mark::before{width:148px;height:44px}}
@media (max-width:399px){html[data-hdr=b] .site-header .home-mark::before{width:128px;height:38px}}
@media (max-width:359px){html[data-hdr=b] .site-header .header-share{display:none!important}html[data-hdr=b] .menu-share{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;margin:8px 0 0;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:600 1rem/1.2 system-ui,sans-serif;cursor:pointer}}
/* acct2: signup prompts - 70% scroll prompt = small non-modal bottom sheet; logged-out Save = inline bottom sheet; end-of-guide text link */
.eat-prompt--sheet{position:fixed;left:8px;right:8px;bottom:8px;z-index:90;max-width:520px;margin:0 auto;max-height:45vh;overflow:auto;background:var(--cream,#fbf7ef);color:#2a2622;border-radius:14px;padding:16px 48px 16px 16px;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.eat-prompt--sheet .eat-x{position:absolute;top:4px;right:4px}
.eat-prompt--sheet .eat-prompt-actions{display:flex;gap:10px;flex-wrap:wrap}
dialog.eat-dialog--sheet{position:fixed;inset:auto 0 0 0;margin:0 auto;width:min(520px,100vw);max-height:80vh;border-radius:16px 16px 0 0;z-index:95;box-shadow:0 -10px 40px rgba(0,0,0,.3)}
.eat-plan-signup{margin:12px 0 0;text-align:center}
.eat-textlink{background:none;border:0;padding:10px 4px;min-height:44px;font:600 1rem/1.3 system-ui,sans-serif;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (prefers-reduced-motion:no-preference){.eat-prompt--sheet,dialog.eat-dialog--sheet{animation:eatUp .2s ease-out}@keyframes eatUp{from{transform:translateY(16px);opacity:0}}}
/* acct2: stable header height (no shift when the avatar initial replaces the icon, or when fonts load) */
.site-header .header-inner{min-height:64px;box-sizing:border-box}
/* acct2: logged-out Save = account-creation sheet styled like the /account/ sign-up card */
dialog.acct-signup-sheet{background:#fff;color:#2a2622;border:1px solid rgba(0,0,0,.1)}
dialog.acct-signup-sheet .eat-prompt-title{font-size:1.25rem;line-height:1.25;padding-right:40px}
dialog.acct-signup-sheet .eat-auth-btns{flex-direction:column}
dialog.acct-signup-sheet .eat-btn--primary{width:100%;min-height:52px;font-size:1.05rem;box-shadow:0 4px 14px rgba(43,33,64,.25)}
dialog.acct-signup-sheet input{font-size:16px}
.eat-toast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:99;background:#1f6b3a;color:#fff;padding:12px 18px;border-radius:999px;font:700 1rem/1.2 system-ui,sans-serif;box-shadow:0 6px 24px rgba(0,0,0,.3);max-width:calc(100vw - 32px)}
dialog.acct-signup-sheet .eat-auth-btns .eat-btn{flex:0 0 auto}
dialog.acct-signup-sheet{background:#fff!important;z-index:1000}.eat-prompt--sheet{z-index:1000}
/* acct2 legal: separate, unchecked marketing box + Terms/Privacy line on every sign-up form */
.eat-mkt{margin:12px 0 4px;min-height:44px;align-items:flex-start}.eat-mkt label{font-size:.95rem;line-height:1.4;padding-top:2px;cursor:pointer}
.eat-legal{margin-top:10px}.eat-legal a{color:inherit;text-decoration:underline}
/* acct2 UX must-fix (Oct 11 2026): compact header <=56px on every width (option A) = 6px padding around 44x44 controls;
   menu summary never shows the native disclosure marker on any page type (guide site.css can't override) */
.site-header .header-inner{min-height:56px!important;height:56px;padding-top:6px!important;padding-bottom:6px!important;box-sizing:border-box;align-items:center}
.site-header{min-height:0!important}
.site-header .home-mark{gap:8px!important}
.site-header .home-mark .brand-logo{width:44px!important;height:44px!important;min-width:44px;min-height:44px}
.site-header .brand-wordmark{font-size:.8rem!important;line-height:1.02!important;gap:0!important}
@media (min-width:520px){.site-header .brand-wordmark{font-size:.84rem!important}}
.site-header details.trip-menu > summary{list-style:none!important;min-height:44px!important;height:44px;box-sizing:border-box!important;align-items:center}
.site-header details.trip-menu > summary::marker{content:""!important;font-size:0!important}
.site-header details.trip-menu > summary::-webkit-details-marker{display:none!important}
html[data-hdr=b] .site-header .home-mark::before{width:148px!important;height:44px!important}
@media (max-width:399px){html[data-hdr=b] .site-header .home-mark::before{width:128px!important;height:38px!important}}
/* sticky header never covers a focused field */
html{scroll-padding-top:72px}
:target,input:focus,textarea:focus,select:focus{scroll-margin-top:72px}
header.site-header{height:56px!important;box-sizing:border-box!important}
header.site-header .header-inner{height:100%!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important}
/* ===== acct3 brand frame (UX Director, Oct 11 2026): painted band + serif headings + cream cards on /account/;
   plain controls (system font 16px+, labels above, 44px taps, visible focus). Sheets: cream, forest primary, grab handle. ===== */
:root{--eat-forest:#173b30;--eat-forest-2:#0f2a22;--eat-gold:#e2b04a;--eat-gold-ink:#8a5f12;--eat-cream:#f7f1e3;--eat-cream-2:#fbf7ee;--eat-ink:#1d2a24;--eat-serif:"Noto Serif Display","Newsreader",Georgia,serif}
#account-app .acct-band{position:relative;overflow:hidden;border-radius:14px;margin:0 0 20px;height:160px;background:var(--eat-forest);color:#fff}
@media (min-width:768px){#account-app .acct-band{height:220px}}
#account-app .acct-band-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
#account-app .acct-band-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,42,34,.92) 0%,rgba(15,42,34,.82) 45%,rgba(15,42,34,.35) 80%,rgba(15,42,34,.15) 100%)}
#account-app .acct-band-text{position:relative;z-index:1;height:100%;display:flex;align-items:center;gap:14px;padding:0 20px;max-width:640px}
#account-app .acct-avatar{flex:0 0 auto;width:52px;height:52px;border-radius:50%;background:var(--eat-gold);color:var(--eat-forest-2);display:grid;place-items:center;font:800 22px/1 system-ui,sans-serif;box-shadow:0 0 0 3px rgba(255,255,255,.85)}
#account-app .acct-band-kicker{margin:0;font:800 .78rem/1.2 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--eat-gold)}
#account-app .acct-band h2{margin:2px 0 4px;font-family:var(--eat-serif);font-weight:600;font-size:clamp(1.55rem,6vw,2.4rem);line-height:1.08;color:#fff;border:0;padding:0}
#account-app .acct-band h2::after{display:none}
#account-app .acct-band-meta{margin:0;font:500 .95rem/1.3 system-ui,sans-serif;color:#f1ece0}
#account-app .acct-card{background:var(--eat-cream);border:1px solid rgba(23,59,48,.16);border-radius:14px;color:var(--eat-ink)}
#account-app .acct-card > h2{font-family:var(--eat-serif);font-weight:600;font-size:1.55rem;line-height:1.15;color:var(--eat-forest);margin:0 0 14px;padding-bottom:8px;position:relative}
#account-app .acct-card > h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;border-radius:2px;background:var(--eat-gold)}
#account-app .acct-card[data-flag]{background:var(--eat-cream)}
/* plain zone: profile, data, sign out, delete - no texture, system type */
#account-app #profile,#account-app #your-data,#account-app #signin-options,#account-app .acct-danger,#account-app .acct-card:has(#acct-signout){background:var(--eat-cream-2)}
#account-app input:not([type=checkbox]):not([type=radio]),.eat-dialog input:not([type=checkbox]),.eat-prompt input{font:400 16px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif!important;min-height:44px;box-sizing:border-box}
#account-app label{display:block}
#account-app .acct-check label,#account-app .acct-switch label,.eat-mkt label{display:inline}
#account-app :focus-visible,.eat-dialog :focus-visible,.eat-prompt :focus-visible,.eat-toast :focus-visible{outline:3px solid #1a5fb4!important;outline-offset:2px}
#account-app .eat-btn--primary,.eat-dialog .eat-btn--primary,.eat-prompt .eat-btn--primary{background:var(--eat-forest)!important;color:#fff!important;box-shadow:0 4px 14px rgba(23,59,48,.28)}
#account-app .eat-btn--danger{background:#a3261c;color:#fff}
/* saved guides + trips for you: real trip cards */
#account-app .acct-saved-grid,#account-app .fy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:768px){#account-app .acct-saved-grid,#account-app .fy-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
#account-app .acct-saved-item{display:flex;flex-direction:column;gap:6px}
#account-app .acct-saved-item .tb-card{flex:1}
#account-app .acct-remove{min-height:44px;width:100%}
#account-app .eat-heart-fill,.eat-heart-fill{fill:var(--eat-gold);stroke:var(--eat-gold-ink);stroke-width:1}
#account-app .card-meta{display:flex;align-items:center;gap:6px}
#account-app .fy-chip{border-radius:999px;border:1.5px solid rgba(23,59,48,.55);background:transparent;color:var(--eat-forest);font:800 .82rem/1.2 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;min-height:44px;padding:10px 16px}
#account-app .fy-chip[aria-pressed=true]{background:var(--eat-forest);border-color:var(--eat-forest);color:#fff}
/* ---- sheets ---- */
.eat-prompt--sheet,.eat-dialog--sheet{background:var(--eat-cream)!important;color:var(--eat-ink)!important;border-radius:18px 18px 0 0!important}
.eat-prompt--sheet{left:0;right:0;bottom:0;max-height:40vh;padding:10px 16px 16px;border-radius:18px 18px 0 0}
.eat-handle{display:block;width:40px;height:5px;border-radius:3px;background:rgba(23,59,48,.35);margin:0 auto 8px}
.eat-prompt--sheet .eat-prompt-title,.eat-dialog .eat-prompt-title{font-family:var(--eat-serif)!important;color:var(--eat-forest)!important;font-weight:600}
.eat-strip{height:64px;margin:0 -16px 10px;overflow:hidden;background:var(--eat-forest)}
.eat-strip img{width:100%;height:100%;object-fit:cover;object-position:50% 72%;display:block}
.eat-prompt--sheet .eat-x{top:18px}
.eat-textlink.eat-notnow{min-height:44px;padding:10px 12px;background:none;border:0;color:var(--eat-forest);font:600 1rem system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.eat-save-head{display:flex;gap:12px;align-items:flex-start;margin:0 36px 10px 0}
.eat-thumb{flex:0 0 64px;width:64px;height:80px;border-radius:8px;overflow:hidden;background:var(--eat-forest)}
.eat-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.eat-save-head .eat-prompt-title{margin:0 0 2px;font-size:1.45rem}
.eat-save-head .eat-prompt-line{margin:0}
.eat-subline{margin:4px 0 0;font:400 .9rem/1.35 system-ui,sans-serif;color:#3d4a43}
.eat-thumb-scope{margin:4px 0 0;font:800 .74rem/1.2 system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--eat-gold-ink)}
.eat-dialog .eat-form,.eat-prompt .eat-form{background:transparent}
.eat-or{display:flex;align-items:center;gap:10px;margin:12px 0;font:600 .9rem system-ui,sans-serif;color:#4a554f}.eat-or::before,.eat-or::after{content:"";flex:1;height:1px;background:rgba(23,59,48,.25)}
.eat-btn--google{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f1f1f;border:1px solid #747775;border-radius:999px;font:600 1rem system-ui,sans-serif}
.eat-alt{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 0}
.eat-alt .eat-textlink{min-height:44px;padding:10px 4px;background:none;border:0;color:var(--eat-forest);font:600 1rem system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* ---- saved toast ---- */
.eat-toast--saved{display:flex;align-items:center;gap:10px;background:var(--eat-forest)!important;color:#fff;padding:8px 8px 8px 16px!important}
.eat-toast--saved a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;color:var(--eat-gold);font-weight:800;text-decoration:underline;text-underline-offset:3px}
/* ---- end-of-guide link ---- */
.eat-plan-signup .eat-textlink,.eat-plan-signup a{font-family:var(--eat-serif)!important;font-size:1.1rem!important;color:inherit;text-decoration:underline;text-decoration-color:var(--eat-gold);text-decoration-thickness:2px;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
/* ---- motion: 150ms fade/slide only ---- */
.eat-prompt--sheet,.eat-dialog--sheet,.eat-toast--saved{animation:eatIn .15s ease-out!important}
@keyframes eatIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.eat-toast--saved{animation-name:eatInC!important}@keyframes eatInC{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.eat-prompt--sheet,.eat-dialog--sheet,.eat-toast--saved{animation:none!important}}
/* UX polish: +12px so field labels clear the sticky header */
html{scroll-padding-top:84px}input:focus,textarea:focus,select:focus{scroll-margin-top:84px}
.eat-toast--saved{white-space:nowrap;width:max-content}.eat-toast--saved span{white-space:nowrap}
#account-app .acct-band-scrim{background:linear-gradient(90deg,rgba(15,42,34,.94) 0%,rgba(15,42,34,.9) 55%,rgba(15,42,34,.72) 80%,rgba(15,42,34,.5) 100%)}
#account-app .acct-band-kicker,#account-app .acct-band h2,#account-app .acct-band-meta{width:fit-content;max-width:100%}
.eat-dialog--sheet{overflow-y:auto!important;overscroll-behavior:contain}
@media (max-width:767px){#account-app .acct-band-scrim{background:linear-gradient(90deg,rgba(15,42,34,.94) 0%,rgba(15,42,34,.88) 60%,rgba(15,42,34,.8) 100%)}}
#account-app .fy-chip{font-size:1rem;letter-spacing:.06em;background:var(--eat-cream-2)}#account-app .fy-chip[aria-pressed=true]{background:var(--eat-forest)}
#account-app .tb-card{display:block;border-radius:12px;overflow:hidden;background:#fff;border:1px solid rgba(23,59,48,.14)}#account-app .tb-card a{display:block;color:inherit;text-decoration:none}#account-app .browser-card-media{aspect-ratio:4/5;overflow:hidden;background:var(--eat-forest)}#account-app .browser-card-media img{width:100%;height:100%;object-fit:cover;display:block}#account-app .browser-card-copy{padding:10px 12px}#account-app .browser-card-copy h3{font-family:var(--eat-serif);font-size:1.05rem;line-height:1.2;margin:4px 0;color:var(--eat-forest)}#account-app .card-dek{display:none}#account-app .card-route{margin:0;font:800 .72rem/1.2 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--eat-gold-ink)}
/* acct3b (UX sign-off): every sheet/dialog scrolls internally at any zoom - max-height = viewport minus the 56px header */
.eat-dialog,.eat-dialog--sheet{max-height:calc(100dvh - 56px)!important;overflow-y:auto!important;overscroll-behavior:contain}
.eat-prompt--sheet{max-height:min(40vh,calc(100dvh - 56px))!important;overflow-y:auto!important;overscroll-behavior:contain}
#account-app .acct-row-title{font:700 1.05rem/1.3 system-ui,sans-serif;margin:8px 0 6px;color:var(--eat-ink)}
.eat-hint{margin:6px 0 0;font:400 .95rem/1.35 system-ui,sans-serif;color:#3d4a43}
