/* City pages rendered by the renderCoffeeSeo Function. They follow the landing look:
   ink headings, orange kickers, light surfaces with soft blue and peach glows. */
:root{color-scheme:light;font-family:Figtree,Inter,sans-serif;color:#0d1433;background:#fff;
  --seo-ink:#0d1433;--seo-muted:#4b5375;--seo-brand:#1c3792;--seo-brand-soft:#eef2fd;--seo-orange:#fe6204;--seo-orange-text:#c94800;
  --seo-line:rgba(28,55,146,.12);--seo-radius:20px;--seo-shadow:0 30px 60px -44px rgba(18,32,96,.4)}
html,body,app-root{height:auto!important;min-height:100%;overflow:visible!important}
*{box-sizing:border-box}
body{margin:0;overflow-x:clip}
app-root{display:block}
a{color:var(--seo-brand)}
.seo-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.seo-language{display:flex;gap:6px}
.seo-language a{min-width:34px;padding:6px 5px;border-radius:8px;text-align:center;font-size:.78rem;text-decoration:none}
.seo-language a[aria-current=page]{background:var(--seo-brand);color:#fff}
@media(max-width:639px){.seo-language--header,.brew-public-header--localized .brew-public-header__cta{display:none}.seo-language--mobile{margin-top:12px}}
@media(min-width:640px){.seo-language--mobile{display:none}}

.seo-main{width:100%;min-height:55vh;padding:clamp(28px,5vw,64px) max(16px,calc((100vw - 1180px)/2)) clamp(56px,8vw,104px);
  background:radial-gradient(50% 45% at 92% 0,rgba(185,200,255,.5),transparent 70%),radial-gradient(40% 40% at 0 100%,rgba(255,210,181,.35),transparent 70%),#f7f9ff}
.seo-kicker{margin:0 0 12px;color:var(--seo-orange-text);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.seo-main h1{max-width:860px;margin:0 0 16px;color:var(--seo-ink);font-size:clamp(2.25rem,1.4rem + 3.4vw,3.75rem);font-weight:800;line-height:1.03;letter-spacing:-.04em;text-wrap:balance}
.seo-main>p,.seo-lead{max-width:44rem;margin:0 0 14px;color:var(--seo-muted);font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.6}
.seo-main h2{margin:0 0 6px;color:var(--seo-ink);font-size:clamp(1.375rem,1.1rem + 1vw,1.875rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;text-wrap:balance}
.seo-note{margin:14px 0 0;color:var(--seo-muted);font-size:.8125rem}
.seo-primary{max-width:420px}
.seo-actions{max-width:500px;margin-top:14px}
.seo-actions .brew-store-badge{background:#0c0c0f;color:#fff;border-color:rgba(255,255,255,.14)}

/* Breadcrumbs */
.seo-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0 0 22px;padding:0;list-style:none;font-size:.8125rem}
.seo-breadcrumbs li{display:flex;align-items:center;gap:8px;color:var(--seo-muted)}
.seo-breadcrumbs li+li:before{content:"/";color:rgba(75,83,117,.5)}
.seo-breadcrumbs a{color:var(--seo-muted);text-decoration:none}
.seo-breadcrumbs a:hover{color:var(--seo-brand);text-decoration:underline;text-underline-offset:3px}
.seo-breadcrumbs [aria-current]{color:var(--seo-ink);font-weight:600}

/* Hero: one heading, the answer in one sentence, then search and the key numbers. */
.seo-hero{max-width:860px;margin-bottom:clamp(24px,4vw,40px)}
.seo-search{position:relative;max-width:560px;margin:26px 0 0}
.seo-search__input{width:100%;min-height:56px;padding:0 20px 0 52px;border:1px solid var(--seo-line);border-radius:999px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%231c3792' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='8.5' cy='8.5' r='6.5'/%3E%3Cpath d='m13.5 13.5 5 5'/%3E%3C/svg%3E") no-repeat 20px 50%;
  box-shadow:0 18px 40px -28px rgba(18,32,96,.45);color:var(--seo-ink);font:inherit;font-size:1.0625rem;transition:border-color .18s ease,box-shadow .18s ease}
.seo-search__input::placeholder{color:#6b7391}
.seo-search__input:focus{border-color:var(--seo-brand);outline:none;box-shadow:0 0 0 4px rgba(28,55,146,.14),0 18px 40px -28px rgba(18,32,96,.45)}
.seo-search__results{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;margin:0;padding:6px;list-style:none;border:1px solid var(--seo-line);border-radius:18px;background:#fff;box-shadow:0 24px 50px -24px rgba(18,32,96,.45)}
.seo-search__results a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:12px;color:var(--seo-ink);text-decoration:none}
.seo-search__results a:hover,.seo-search__results a:focus-visible{background:var(--seo-brand-soft);outline:none}
.seo-search__results strong{font-weight:700}
.seo-search__results span{color:var(--seo-muted);font-size:.8125rem;text-align:right}
.seo-stats{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.seo-stats li{padding:7px 14px;border:1px solid var(--seo-line);border-radius:999px;background:rgba(255,255,255,.8);color:var(--seo-ink);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}
.seo-stats li:first-child{display:inline-flex;align-items:center;gap:8px}
.seo-stats li:first-child:before{content:"";width:8px;height:8px;border-radius:50%;background:#1fbf6a;box-shadow:0 0 0 4px rgba(31,191,106,.18)}

/* Map: Google Maps after consent, the poster before. */
.seo-atlas{margin:0 0 clamp(40px,6vw,64px)}
.seo-map{position:relative;overflow:hidden;height:clamp(420px,62vh,640px);border:1px solid var(--seo-line);border-radius:24px;background:#eef1f6;box-shadow:var(--seo-shadow);isolation:isolate}
.seo-map__canvas{position:absolute;inset:0}
.seo-map__poster{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:16px;
  background:radial-gradient(rgba(28,55,146,.12) 1px,transparent 1.6px) 0 0/18px 18px,radial-gradient(70% 70% at 50% 45%,#fbfcff,#e9eef9)}
.seo-map.is-ready .seo-map__poster{display:none}
.seo-map__world{position:absolute;inset:0;width:100%;height:100%;opacity:.75}
.seo-map__world image{opacity:.9}
.seo-map__world circle{fill:var(--seo-brand);stroke:#fff;stroke-width:1.2}
.seo-map__consent{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;max-width:360px;padding:22px 22px 18px;border:1px solid var(--seo-line);border-radius:20px;
  background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 50px -28px rgba(18,32,96,.5);text-align:center}
.seo-map__consent-pin{width:40px;height:40px;margin-bottom:2px}
.seo-map__consent strong{color:var(--seo-ink);font-size:1.0625rem}
.seo-map__consent p{margin:0 0 8px;color:var(--seo-muted);font-size:.8125rem;line-height:1.5}
.seo-map__show{min-height:44px;padding:0 22px;border:0;border-radius:999px;background:var(--seo-brand);color:#fff;font:inherit;font-size:.9375rem;font-weight:700;cursor:pointer;transition:background-color .18s ease,transform .18s ease}
.seo-map__show:hover{background:#15297a}
.seo-map__show:active{transform:scale(.98)}
.seo-map__show:focus-visible,.seo-map__privacy:focus-visible{outline:2px solid var(--seo-brand);outline-offset:3px}
.seo-map__privacy{margin-top:4px;color:var(--seo-muted);font-size:.75rem}
.seo-map.is-loading .seo-map__show{opacity:.6;pointer-events:none}
.seo-map.is-loading .seo-map__consent-pin{animation:seo-bob 1s ease-in-out infinite}
.seo-map__regions{position:absolute;z-index:3;top:12px;left:12px;right:60px;display:flex;flex-wrap:wrap;gap:4px;width:max-content;max-width:calc(100% - 72px);padding:4px;border:1px solid var(--seo-line);border-radius:999px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 24px -16px rgba(18,32,96,.5)}
.seo-map__region{min-height:36px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--seo-muted);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background-color .18s ease,color .18s ease}
.seo-map__region:hover{color:var(--seo-ink)}
.seo-map__region[aria-pressed=true]{background:var(--seo-brand);color:#fff}
.seo-map__region:focus-visible{outline:2px solid var(--seo-brand);outline-offset:2px}
.seo-map__card{position:absolute;z-index:3;left:12px;bottom:36px;display:flex;flex-direction:column;gap:3px;width:min(340px,calc(100% - 76px));padding:14px 44px 14px 16px;border:1px solid var(--seo-line);border-radius:16px;background:#fff;box-shadow:0 24px 50px -24px rgba(18,32,96,.55);animation:seo-rise .22s ease-out}
.seo-map__card[hidden]{display:none}
.seo-map__card-title{color:var(--seo-ink);font-size:1rem;line-height:1.3}
.seo-map__card-meta{color:var(--seo-muted);font-size:.8125rem}
.seo-map__card-meta:empty{display:none}
.seo-map__card-link{margin-top:6px;color:var(--seo-brand);font-size:.875rem;font-weight:700;text-decoration:none}
.seo-map__card-link:after{content:" \2192"}
.seo-map__card-link:hover{text-decoration:underline;text-underline-offset:3px}
.seo-map__card-close{position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--seo-muted);font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}
.seo-map__card-close:hover{background:var(--seo-brand-soft);color:var(--seo-ink)}

/* Pins: the app's pin with a label pill to its right; the tip marks the place. */
.seo-map__layer{position:absolute;left:0;top:0}
.seo-pin{position:absolute;left:0;top:0;display:flex;align-items:flex-start;height:34px;padding:0;border:0;background:none;font:inherit;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.seo-pin[hidden]{display:none}
.seo-pin__icon{flex:none;width:28px;height:28px;margin-top:6px;background:url(/seo-map/pin.png) center/contain no-repeat;filter:drop-shadow(0 3px 4px rgba(13,20,51,.35));transition:transform .18s ease}
.seo-pin__label{display:inline-flex;align-items:center;gap:6px;margin:2px 0 0 -2px;padding:3px 10px;border:1px solid rgba(28,55,146,.16);border-radius:999px;background:#fff;box-shadow:0 6px 14px -8px rgba(13,20,51,.5);color:var(--seo-ink);font-size:.78rem;font-weight:700;line-height:1.35;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.seo-pin__label b{color:var(--seo-brand);font-weight:800;font-variant-numeric:tabular-nums}
.seo-pin__more{font-style:normal}
.seo-pin__more:empty{display:none}
.seo-pin.has-more .seo-pin__more{padding:0 6px;border-radius:999px;background:var(--seo-orange-text);color:#fff;font-size:.6875rem;font-weight:800}
.seo-pin:hover .seo-pin__label,.seo-pin.is-hover .seo-pin__label{border-color:var(--seo-brand)}
.seo-pin:hover .seo-pin__icon,.seo-pin.is-hover .seo-pin__icon,.seo-pin.is-selected .seo-pin__icon{transform:translateY(-2px) scale(1.08)}
.seo-pin.is-selected .seo-pin__icon{background-image:url(/seo-map/pin-selected.png)}
.seo-pin.is-selected .seo-pin__label{border-color:var(--seo-brand);background:var(--seo-brand);color:#fff}
.seo-pin.is-selected .seo-pin__label b{color:#fff}
.seo-pin.is-compact .seo-pin__label{display:none}
.seo-pin:focus-visible{outline:none}
.seo-pin:focus-visible .seo-pin__label,.seo-pin.is-compact:focus-visible .seo-pin__icon{outline:2px solid var(--seo-brand);outline-offset:2px}

/* Directory: regions, then country cards with their cities. */
.seo-directory{margin:0 0 clamp(40px,6vw,64px)}
.seo-directory>h2{margin-bottom:20px}
.seo-region+.seo-region{margin-top:32px}
.seo-region[hidden],.seo-country[hidden],.seo-country li[hidden],.seo-no-results[hidden]{display:none}
.seo-region__title{display:flex;align-items:baseline;gap:10px;margin:0 0 14px;color:var(--seo-ink);font-size:1.125rem;font-weight:800;letter-spacing:-.01em}
.seo-region__title span{color:var(--seo-muted);font-size:.8125rem;font-weight:600}
.seo-country-grid{columns:4 160px;column-gap:12px}
.seo-country{break-inside:avoid;margin:0 0 12px;padding:16px 12px 10px;border:1px solid var(--seo-line);border-radius:18px;background:#fff;box-shadow:0 20px 40px -36px rgba(18,32,96,.5)}
.seo-country h4{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;margin:0 6px 8px;color:var(--seo-ink);font-size:1rem;font-weight:800}
.seo-country h4 span{color:var(--seo-muted);font-size:.75rem;font-weight:600;white-space:nowrap}
.seo-country ul{margin:0;padding:0;list-style:none}
.seo-country a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:8px 8px;border-radius:10px;color:var(--seo-ink);text-decoration:none;transition:background-color .16s ease,color .16s ease}
.seo-country a:hover,.seo-country a:focus-visible{background:var(--seo-brand-soft);color:var(--seo-brand)}
.seo-country a:focus-visible{outline:2px solid var(--seo-brand);outline-offset:0}
.seo-country__city{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600}
.seo-country__count{flex:none;min-width:36px;padding:2px 8px;border-radius:999px;background:#f1f4fb;color:var(--seo-muted);font-size:.75rem;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.seo-country a:hover .seo-country__count{background:#fff;color:var(--seo-brand)}
.seo-no-results{margin:12px 0 0;color:var(--seo-muted)}

/* Call to action band */
.seo-cta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:clamp(22px,3vw,32px);border:1px solid var(--seo-line);border-radius:24px;
  background:radial-gradient(60% 120% at 100% 0,rgba(185,200,255,.45),transparent 70%),#fff;box-shadow:var(--seo-shadow)}
.seo-cta__text{max-width:36rem;margin:0 0 6px;color:var(--seo-ink);font-size:clamp(1.125rem,1rem + .5vw,1.375rem);font-weight:800;line-height:1.3;letter-spacing:-.02em}
.seo-cta .seo-actions{width:100%}

/* City page: the selection beside its map. */
.seo-city-explore{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start;margin:0 0 clamp(32px,5vw,48px)}
.seo-picks__note{margin:0 0 16px;color:var(--seo-muted);font-size:.8125rem}
.seo-picks__list{margin:0;padding:6px;list-style:none;border:1px solid var(--seo-line);border-radius:var(--seo-radius);background:#fff;box-shadow:var(--seo-shadow)}
.seo-picks__list a{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:4px 12px;padding:12px;border-radius:14px;color:var(--seo-ink);text-decoration:none;transition:background-color .16s ease}
.seo-picks__list li+li a{box-shadow:0 -1px 0 #eef1f8}
.seo-picks__list a:hover,.seo-picks__list a:focus-visible,.seo-picks__list li.is-active a{background:var(--seo-brand-soft);box-shadow:none}
.seo-picks__list li.is-active+li a,.seo-picks__list li:hover+li a{box-shadow:none}
.seo-picks__list a:focus-visible{outline:2px solid var(--seo-brand);outline-offset:-2px}
.seo-picks__pin{width:22px;height:22px;background:url(/seo-map/pin.png) center/contain no-repeat}
.seo-picks__list li.is-active .seo-picks__pin{background-image:url(/seo-map/pin-selected.png)}
.seo-picks__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.seo-picks__body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:700}
.seo-picks__body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--seo-muted);font-size:.8125rem}
.seo-owner-invite{margin:14px 4px 0;color:var(--seo-muted);font-size:.875rem;line-height:1.5}
.seo-owner-invite a{font-weight:700;white-space:nowrap}
.seo-picks--empty{margin:0 0 clamp(32px,5vw,48px)}
.seo-picks--empty .seo-owner-invite{max-width:44rem;margin:0;padding:16px 18px;border:1px dashed rgba(28,55,146,.28);border-radius:16px;background:rgba(255,255,255,.7)}
.seo-city-map{position:sticky;top:88px}
.seo-city-map .seo-map{height:min(640px,calc(100vh - 120px));min-height:420px}
.seo-main--city .seo-cta{margin-bottom:clamp(32px,5vw,48px)}
.seo-nearby ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none}
.seo-nearby a{display:flex;flex-direction:column;gap:2px;height:100%;padding:16px;border:1px solid var(--seo-line);border-radius:18px;background:#fff;color:var(--seo-ink);text-decoration:none;transition:border-color .16s ease,transform .16s ease}
.seo-nearby a:hover,.seo-nearby a:focus-visible{border-color:var(--seo-brand);transform:translateY(-2px)}
.seo-nearby a:focus-visible{outline:2px solid var(--seo-brand);outline-offset:2px}
.seo-nearby strong{font-size:1rem}
.seo-nearby span{color:var(--seo-muted);font-size:.8125rem}
.seo-nearby small{margin-top:6px;color:var(--seo-brand);font-size:.75rem;font-weight:700}

@keyframes seo-rise{from{opacity:0;transform:translateY(6px)}}
@keyframes seo-bob{50%{transform:translateY(-4px)}}

@media(max-width:1023.98px){
  .seo-city-explore{grid-template-columns:1fr}
  .seo-city-map{position:static;order:-1}
  .seo-city-map .seo-map{height:380px;min-height:0}
}
@media(max-width:639.98px){
  .seo-main{padding-inline:16px}
  .seo-map{height:440px;border-radius:18px}
  .seo-city-map .seo-map{height:340px}
  .seo-map__regions{right:12px;max-width:calc(100% - 24px);overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .seo-map__region{flex:none}
  .seo-map__consent{padding:18px 16px 14px}
  .seo-picks__list a{grid-template-columns:20px minmax(0,1fr)}
  .seo-primary,.seo-actions{max-width:none}
  .seo-cta .brew-open-button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .seo-map__card,.seo-map.is-loading .seo-map__consent-pin{animation:none}
  .seo-pin__icon,.seo-pin__label,.seo-country a,.seo-picks__list a,.seo-nearby a,.seo-search__input,.seo-map__show{transition:none}
}
