.city-guide-open{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;margin-top:8px;padding:10px 12px;border:1px solid #d6b77880;border-radius:8px;background:#f1d797;color:#182d34;font:700 16px/1.3 system-ui;cursor:pointer}
.city-guide-open svg{width:18px;height:18px;flex:none}
.brand:has(.city-tools:not([open])){min-width:190px}
.city-guide{position:fixed;inset:0;width:min(1000px,calc(100vw - 32px));max-width:none;height:min(880px,92dvh);max-height:none;margin:auto;padding:0;border:1px solid #cbb38670;border-radius:20px;color:#ecf1ed;background:#0d1b24;box-shadow:0 25px 100px #0009;overflow:hidden;font-size:16px}
.city-guide::backdrop{background:#030b13bb;backdrop-filter:blur(7px)}
.city-guide[open]{display:flex;flex-direction:column}
.city-guide-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:22px 28px 18px;border-bottom:1px solid #ffffff25;flex:none}
.city-guide-heading small{font-size:.8rem;letter-spacing:.12em;color:#d5bb89}
.city-guide-heading h2{margin:8px 0;font:500 clamp(28px,4vw,36px)/1.15 Georgia,serif}
.city-guide-heading p{font-size:1rem;line-height:1.5;color:#c0d0d2;margin:0;max-width:630px}
.city-guide-heading button{flex:none;width:48px;height:48px;border:1px solid #8caaa9;background:transparent;color:white;border-radius:50%;font:26px system-ui;cursor:pointer}
.city-guide-search{padding:16px 28px 12px;flex:none}
.city-guide-search label{display:block;font-size:1rem;font-weight:600;margin-bottom:8px}
.city-guide-search input{width:100%;min-height:48px;padding:12px 15px;color:#eef7f6;background:#162d38;border:1px solid #8caaa9;border-radius:9px;font:1rem/1.5 system-ui}
.city-guide-layout{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:0;flex:1}
.city-guide-category-mobile{display:none}
.city-guide-groups{padding:8px 16px 14px 24px;display:flex;flex-direction:column;gap:6px;border-right:1px solid #ffffff25;overflow:auto}
.city-guide-groups button{min-height:48px;padding:10px 12px;border:1px solid transparent;border-radius:7px;background:transparent;text-align:left;color:#c5d4d1;font:600 1rem/1.4 system-ui;cursor:pointer}
.city-guide-groups button[aria-pressed=true]{background:#d5bb892a;color:#ffe3a6;border-color:#c9ad78}
.city-guide-content{padding:0 26px 20px;overflow:auto;overscroll-behavior:contain;min-width:0}
.city-guide-count{font-size:.9rem;line-height:1.5;color:#bacdd0;margin:10px 0}
.city-guide-result{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #ffffff25}
.city-guide-result-copy{min-width:0;overflow-wrap:anywhere}
.city-guide-place{color:#dfc58f;font-size:.85rem}
.city-guide-result h3{font:600 1.125rem/1.4 system-ui;margin:5px 0 8px}
.city-guide-primary{display:inline-flex;align-items:center;min-height:48px;color:#eef6f1;text-decoration:underline;text-underline-offset:4px;background:none;padding:0;border:0;font:inherit;text-align:left;cursor:pointer}
.city-guide-primary:hover{color:#ffe3a6}
.city-guide-result p{font:1rem/1.5 system-ui;color:#c0d0d2;margin:0;max-width:460px}
.city-guide-result-actions{display:flex;flex-direction:column;gap:8px;flex:none;align-items:stretch}
.city-guide-shop{justify-content:center;padding:10px 16px;background:#f1d797;color:#182d34;border:1px solid #f1d797;border-radius:8px;font:700 1rem/1.4 system-ui;text-decoration:none}
.city-guide-shop:hover{background:#ffe6b4;color:#182d34}
.city-guide-visit{min-height:48px;padding:10px 14px;color:#dceee8;background:#1b343d;border:1px solid #8caaa9;border-radius:8px;font:600 .95rem/1.4 system-ui;cursor:pointer}
.city-guide-footer{padding:14px 28px;background:#08151d;border-top:1px solid #ffffff25;display:flex;align-items:center;justify-content:space-between;gap:24px;flex:none}
.city-guide-footer label{display:flex;align-items:center;gap:12px;font-size:.9rem;line-height:1.5;cursor:pointer;min-height:48px;max-width:540px}
.city-guide-footer input{width:22px;height:22px;accent-color:#d5bb89;flex:none}
.city-guide-footer a{font-size:1rem;color:#f1d797;min-height:48px;display:flex;align-items:center;flex:none}
.city-guide-footer p{font-size:.9rem;line-height:1.5;color:#c0d0d2;max-width:540px;margin:5px 0 0}
.city-guide-footer p:empty{display:none}
.city-guide-empty{line-height:1.6;color:#c0d0d2;font-size:1rem}
.city-guide-empty a{display:inline-flex;align-items:center;min-height:48px;color:#f2dca6;padding:12px 0}
.city-guide-empty button{margin-top:12px}
.city-guide :is(input,button,a,select):focus-visible,.city-guide-open:focus-visible{outline:3px solid #ffe3a6;outline-offset:3px}
.city-guide input::placeholder{color:#b9ced2;opacity:1}
.guide-arrival{position:fixed;left:50%;bottom:max(70px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:3;max-width:calc(100vw - 32px);background:#102d32ed;border:1px solid #eed7a190;border-radius:10px;padding:12px 18px;pointer-events:none;color:#fff3d8;font:600 1rem/1.4 system-ui;text-align:center}
.guide-arrival:empty{display:none}
#headquartersGuide{margin-top:12px}
@media(max-width:760px){
  .brand:has(.city-tools:not([open])){min-width:0;max-width:205px}
  .city-guide-open{padding:10px 8px;gap:6px;font-size:14px}
  .city-guide{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:14px}
  .city-guide-heading{padding:16px;gap:10px}
  .city-guide-heading h2{font-size:28px}
  .city-guide-heading small{font-size:.75rem}
  .city-guide-heading button{width:44px;height:44px}
  .city-guide-search{padding:12px 16px 8px}
  .city-guide-layout{display:flex;flex-direction:column}
  .city-guide-category-mobile{display:flex;align-items:center;gap:12px;padding:4px 16px 8px;font-size:.95rem;flex:none}
  .city-guide-category-mobile select{min-height:48px;min-width:0;flex:1;padding:10px;border:1px solid #8caaa9;border-radius:8px;color:#edf6f1;background:#162d38;font:1rem system-ui}
  .city-guide-groups{display:none}
  .city-guide-content{padding:0 16px 16px}
  .city-guide-result{flex-direction:column;align-items:stretch;gap:14px;padding:20px 0}
  .city-guide-result h3{font-size:1.125rem}
  .city-guide-result-actions{flex-direction:row;flex-wrap:wrap}
  .city-guide-result-actions>*{flex:1}
  .city-guide-footer{padding:12px 16px;gap:8px;flex-wrap:wrap}
  .city-guide-footer label{font-size:.875rem}
  .guide-arrival{bottom:220px;max-width:85vw}
}
@media(max-height:640px){
  .city-guide{overflow:auto}
  .city-guide-layout{flex:none;min-height:auto;display:block}
  .city-guide-groups{flex-direction:row;flex-wrap:wrap;overflow:visible;border:0;padding:8px 24px}
  .city-guide-content{overflow:visible}
}
