/* LWVlife App v3 - senior-friendly mobile web app. Base text 19px, tap targets >= 48px. */
:root{--navy:#1B3A6B;--blue:#0a78cf;--blue2:#1e88e5;--green:#06995c;--orange:#f28c1b;--purple:#8b46e7;--red:#d8382f;--pink:#d52a95;--teal:#0f9d9d;
      --ink:#14254a;--muted:#55637a;--line:#d9e1ec;--bg:#eef3f9;--card:#fff;--fs:19px;--nav-h:76px;}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{font-size:var(--fs)}
body{margin:0;background:#dfe6ef;font-family:-apple-system,"Segoe UI",Roboto,"Noto Sans KR","Noto Sans TC","Noto Sans SC",Arial,sans-serif;color:var(--ink);line-height:1.4}
button,input,a{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
a{text-decoration:none}
:focus-visible{outline:3px solid #ffb600;outline-offset:2px}
.shell{max-width:520px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;box-shadow:0 0 30px rgba(0,0,0,.15);padding-bottom:calc(var(--nav-h) + 6px + env(safe-area-inset-bottom))}
main{min-height:60vh}
[hidden]{display:none!important}
.muted{color:var(--muted)}
small{font-size:.9em}
.ic{font-size:1.5em;line-height:1}

/* header */
.hdr{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 14px;background:#fff;border-bottom:1px solid var(--line);min-height:56px}
.brand{font-weight:900;font-size:1.65rem;letter-spacing:-.5px;line-height:1}
.wordmark{position:relative;display:inline-block;font-weight:900;letter-spacing:-.5px;line-height:1}.wordmark .lwv{color:#1a3f8f}.wordmark .life{color:#2f9e44;font-style:normal}.wordmark .leaves{position:absolute;left:46%;top:-.26em;width:.6em;height:auto;transform:translateX(-50%)}
.brand{padding-top:.3em;margin-top:2px}
.hdr-right{display:flex;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:22px;background:#eef3fb;color:var(--navy);font-weight:700;font-size:.9rem}
.chip-font{padding:0 12px}
.hdr-inner{background:var(--blue2);color:#fff;border:0}
.hdr-inner h1{margin:0;font-size:1.2rem;flex:1;text-align:center;font-weight:700}
.back{min-width:48px;min-height:48px;font-size:2.2rem;line-height:1;color:#fff}
.chip-inv{background:rgba(255,255,255,.22);color:#fff}

/* hero */
.hero{position:relative;overflow:hidden;background:#cfe6fb;display:flex;flex-direction:column;align-items:center;padding:8px 10px 8px;gap:4px}
.sky{position:absolute!important;inset:0;background:linear-gradient(#5aa9e6 0%,#bfe0fb 55%,#e9f5ff 100%);z-index:0}
.hills{position:absolute!important;left:-10%;right:-10%;bottom:0;height:52px;background:radial-gradient(ellipse 60% 100% at 20% 100%,#4caf50 0 60%,transparent 61%),radial-gradient(ellipse 70% 110% at 70% 100%,#2e8b57 0 60%,transparent 61%),linear-gradient(#3b9a46,#2e7d32);border-radius:50% 50% 0 0/100% 100% 0 0;z-index:0}
.hero>*:not(.sky):not(.hills){position:relative;z-index:1}
.hero-logo{text-align:center;padding:0 14px;line-height:0}
.hero-logo img{width:100%;max-width:300px;height:auto;filter:drop-shadow(0 1px 2px rgba(255,255,255,.9))}
.hero-text{font-size:1.1rem;font-weight:800;color:#0f2d5c;text-shadow:0 1px 2px rgba(255,255,255,.8);line-height:1.2;padding-top:.35em}
.hero-text .wordmark{font-size:1.25rem;vertical-align:-2px}
.hero-sub{font-size:.95rem;font-weight:700;margin-left:6px}
.hero-phones{display:flex;gap:4px;width:100%;justify-content:center;align-items:stretch;max-width:100%}
.hero-phones a{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;padding:2px 3px;border-radius:10px;background:rgba(255,255,255,.93);color:#8c1d18;font-weight:800;line-height:1.1;box-shadow:0 1px 3px rgba(0,0,0,.15);white-space:nowrap;text-align:center}
.hero-phones a span{font-size:.9rem;font-weight:600;color:var(--muted)}
.hero-phones a b{font-size:.9rem;display:flex;align-items:center;gap:2px;justify-content:center;letter-spacing:-.2px}
.hero-phones a.emg{flex:0 0 auto;min-width:4.4em;background:#b71c1c;color:#fff}
.hero-phones a.emg span{color:#ffd6d6}
.nh-img{width:96px;height:96px;display:inline-flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,#ffb347,#ff7b54);flex:none}
.card{background:var(--card);border-radius:16px;padding:10px 14px;margin:10px 12px;box-shadow:0 2px 8px rgba(20,37,74,.08)}
.card h2{margin:0 0 10px;font-size:1.1rem}
.today{display:flex;justify-content:space-between;align-items:center;gap:8px}.today>div:first-child{font-size:.95rem}
.today-wx{display:flex;align-items:center;gap:8px;font-size:1.5rem;font-weight:800;white-space:nowrap;text-align:right}.today-wx small{font-size:.9rem;font-weight:600}
.today-wx .wx-icon{font-size:2rem}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 12px}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:92px;border-radius:14px;color:#fff;font-weight:700;font-size:.9rem;text-align:center;padding:8px 6px;line-height:1.15;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.tile .ic{font-size:1.9rem}
.t-blue{background:var(--blue)}.t-green{background:var(--green)}.t-orange{background:var(--orange)}.t-purple{background:var(--purple)}.t-red{background:#e0373f}
.t-teal{background:var(--teal)}.t-navy{background:var(--navy)}.t-emg{background:#b71c1c}.t-dl{background:#0e1a2b}.tile .dl{width:46px;height:46px;border-radius:10px;display:block}
.aimee-banner{display:flex;align-items:center;gap:12px;margin:10px 12px 0;padding:8px 14px;border-radius:40px;background:linear-gradient(90deg,#e1306c,#8b46e7);color:#fff;width:calc(100% - 24px);text-align:left;min-height:62px;box-shadow:0 4px 12px rgba(139,70,231,.35)}
.aimee-face,.aimee-avatar,.aimee-mini{display:block;border-radius:50%;background:#f7d9e9 url(aimee2w-awake.jpg?v=20261027w4) center/cover no-repeat;border:3px solid #fff;flex:none}
.aimee-face{width:46px;height:46px}
.aimee-txt{flex:1;display:flex;flex-direction:column}.aimee-txt b{font-size:1.15rem}
.mic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--pink);font-size:1.5rem}
.emg-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:2px 12px 6px}
.emg-strip a{display:block;background:#fff;border:2px solid #e8c7c7;border-radius:12px;padding:6px 8px;text-align:center;font-weight:700;color:#8c1d18;font-size:.88rem;min-height:48px}
.emg-strip a span{display:block;font-weight:600;color:var(--muted);font-size:.9rem}

/* sub tabs */
.subtabs{display:flex;background:#fff;border-bottom:2px solid var(--line);position:sticky;top:56px;z-index:15}
.subtabs button{flex:1;min-height:52px;font-weight:700;color:var(--muted);border-bottom:4px solid transparent;font-size:.95rem}
.subtabs button.on{color:var(--blue);border-bottom-color:var(--blue)}
.pad{padding:12px}
.status{margin:6px 12px;color:var(--muted);min-height:1.2em}
.warn{background:#fff4d6;border-left:5px solid #f2b705;padding:10px 12px;border-radius:10px;font-size:.9rem;margin:10px 0}
.src{font-size:.9rem;color:var(--muted);margin:12px 0 4px}
.src a{color:var(--blue);text-decoration:underline}
.input{width:100%;min-height:52px;padding:10px 14px;border:2px solid #9fb1c9;border-radius:14px;background:#fff;font-size:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:10px 16px;border-radius:14px;font-weight:700;color:#fff;background:var(--navy);text-align:center}
.btn-primary{background:var(--blue)}.btn.t-blue{background:var(--blue)}.btn.t-green{background:var(--green)}.btn.t-purple{background:var(--purple)}.btn.t-red{background:#e0373f}.btn-soft{background:#e3edfb;color:var(--navy)}.wide{width:100%;margin:8px 0}
.btn-icon{min-width:48px;min-height:48px;font-size:1.6rem;color:var(--muted)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}
.row-link{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px;background:#fff;border-radius:12px;margin:8px 0;box-shadow:0 1px 4px rgba(0,0,0,.08);color:var(--ink);font-weight:600}
.row-link .chev{margin-left:auto;font-size:1.8rem;color:var(--muted)}
.row-link .num{margin-left:auto;color:var(--blue);font-weight:800}
.list .item{background:#fff;border-radius:14px;padding:12px 14px;margin:8px 0;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.item h3{margin:0 0 4px;font-size:1.02rem}
.item .meta{color:var(--muted);font-size:.9rem}
.item .tag{display:inline-block;font-size:.9rem;font-weight:700;padding:2px 8px;border-radius:8px;margin-right:6px;vertical-align:middle}
.tag-official{background:#e3f6ea;color:#0b6b3a}.tag-community{background:#fff1cc;color:#7a5200}
.item .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.item .actions a,.item .actions button{display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:6px 14px;border-radius:12px;background:#e3edfb;color:var(--navy);font-weight:700;font-size:.9rem}
.item .actions .call{background:#e3f6ea;color:#0b6b3a}

/* map */
.map-wrap{position:relative;height:340px;background:#dbe6d0}
#map{height:100%}
.locate{position:absolute;right:12px;top:12px;z-index:500;width:52px;height:52px;border-radius:50%;background:#fff;font-size:1.7rem;color:var(--blue);box-shadow:0 2px 8px rgba(0,0,0,.3)}
.dest-row{display:flex;gap:6px;align-items:center}
.results{margin:6px 0}
.results button{display:block;width:100%;text-align:left;padding:12px 14px;background:#fff;border-radius:12px;margin:6px 0;min-height:52px;font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.results button.on{outline:3px solid var(--blue)}
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0}
.mode{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:74px;background:#fff;border:2px solid var(--line);border-radius:14px;font-weight:700;color:var(--muted);padding:8px}
.mode.on{background:var(--green);border-color:var(--green);color:#fff}
.mode[data-mode=cart].on{background:#2c8a4a}
.leaflet-container{font:inherit}.leaflet-control-attribution{font-size:11px!important;line-height:1.3}
.you-dot{width:18px;height:18px;border-radius:50%;background:#1e88e5;border:3px solid #fff;box-shadow:0 0 0 6px rgba(30,136,229,.3)}
.pin{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--blue);color:#fff;font-weight:800;font-size:13px;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.pin span{transform:rotate(45deg)}
.pin.golf{background:var(--green)}.pin.facility{background:var(--orange)}
.leaflet-popup-content{font-size:16px;line-height:1.4}
.leaflet-popup-content a{color:var(--blue);font-weight:700}

/* news */
.news-hero{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);color:var(--ink);margin-bottom:10px;min-height:96px}
.news-hero img{width:120px;height:96px;object-fit:cover;flex:none}
.nh-txt{flex:1;display:flex;flex-direction:column}.nh-txt b{font-size:1.1rem;color:var(--navy)}
.play{width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-right:12px;flex:none}
.wx-row{display:grid;grid-template-columns:1fr 1.2fr;gap:12px}
.wx-big{font-size:2.3rem;font-weight:800;line-height:1.1}
.wx-days{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;text-align:center;font-size:.9rem;margin-top:6px}
.wx-days div b{display:block}
.alerts .alert{background:#fdecea;border-left:5px solid #c62828;padding:8px 12px;border-radius:8px;margin:8px 0;font-size:.9rem}
.alerts .ok{color:#0b6b3a;font-size:.9rem;margin:8px 0}

/* aimee */
.aimee{text-align:center}
.aimee-avatar{width:150px;height:200px;margin:14px auto 6px;border-width:4px;border-radius:24px;background:#f7d9e9 url(aimee2-portrait.jpg?v=20261026p1) center top/cover no-repeat;box-shadow:0 6px 16px rgba(139,70,231,.25)}
.aimee h2{margin:4px 0 2px;font-size:1.4rem}
.chat{text-align:left;margin:10px 0}
.bubble{padding:12px 14px;border-radius:16px;margin:8px 0;max-width:92%;line-height:1.45}
.bubble.me{background:#dcebff;margin-left:auto;border-bottom-right-radius:4px}
.bubble.ai{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08);border-bottom-left-radius:4px}
.bubble .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.bubble .actions a,.bubble .actions button{display:inline-flex;align-items:center;min-height:44px;padding:6px 14px;border-radius:12px;background:#e3edfb;color:var(--navy);font-weight:700;font-size:.9rem}
.ask-row{display:flex;gap:8px;margin:8px 0}
.ask-row .input{flex:1}
.talk{display:inline-flex;flex-direction:column;align-items:center;gap:6px;margin:12px auto;font-weight:800;color:var(--pink)}
.talk .mic{width:84px;height:84px;font-size:2.4rem;background:linear-gradient(135deg,#e1306c,#8b46e7);color:#fff;box-shadow:0 6px 16px rgba(139,70,231,.4)}
.talk.live .mic{animation:pulse 1s infinite}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
.lang-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:4px 0 12px}
.lang-row button{min-height:40px;padding:4px 12px;border-radius:20px;background:#fff;border:2px solid var(--line);font-weight:700;font-size:.9rem}
.lang-row button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
#aimee-quick button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border-radius:12px;padding:10px 14px;min-height:52px;margin:6px 0;font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.08)}

/* advertising strip - 3 x 2 small image tiles, always above the bottom navigation */
.ads{margin:8px 12px 4px;padding:8px 8px 8px;background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(20,37,74,.08)}
.ads-title{font-size:.9rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0 4px 6px}
.ads-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ad{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 3px;border-radius:10px;background:#f6f8fc;border:1px solid var(--line);min-height:64px;width:100%;overflow:hidden;text-align:center;color:var(--ink)}
.ad .ad-img{width:100%;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden}
.ad .ad-img svg{width:27px;height:27px}
.ad .ad-label{font-size:.9rem;font-weight:700;line-height:1.1;max-width:100%}
.ad .ad-biz{font-size:.9rem;color:var(--muted);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ad-logo-slot{width:120px;height:120px;margin:0 auto 10px;border:2px dashed #9fb1c9;border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem;background:#f6f8fc}

.foot{text-align:center;color:var(--muted);font-size:1rem;padding:2px 16px 4px;line-height:1.3}.foot p{margin:4px 0}
.foot a{color:var(--blue);text-decoration:underline}
.foot .tag{background:#ffe08a;color:#5a4300;padding:2px 8px;border-radius:8px;font-weight:700}

/* bottom nav */
.bnav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:520px;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);display:flex;z-index:30;box-shadow:0 -2px 10px rgba(0,0,0,.08)}
.bnav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-weight:700;font-size:.9rem;min-height:48px}
.bnav button .ic{font-size:1.6rem}
.bnav button.on{color:var(--blue)}
.aimee-mini{width:42px;height:42px;border-width:2px;margin:-3px 0 -2px}
@media (max-width:300px){.aimee-mini{width:28px;height:28px;margin:0}}

/* sheets */
.sheet{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;display:flex;align-items:flex-end;justify-content:center}
.sheet-box{background:#fff;width:100%;max-width:520px;border-radius:22px 22px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));text-align:center}
.sheet-box h2{margin:4px 0 12px}
.lang-opt{display:block;width:100%;min-height:56px;background:#eef3fb;border-radius:14px;margin:8px 0;font-weight:700;font-size:1.05rem}
.lang-opt.on{background:var(--navy);color:#fff}
@media (min-width:521px){.shell{margin:16px auto;min-height:calc(100vh - 32px);border-radius:28px;overflow:hidden}.hdr{top:0}}

/* golf cart navigation panel */
.cart{margin:10px 0}
.cart h2{margin:0 0 8px}
.cart-day{border-radius:10px;padding:8px 12px;font-weight:700;margin:6px 0 10px;font-size:.95rem}
.cart-day.day{background:#fff7d6;color:#6b4e00}.cart-day.night{background:#1f2a44;color:#fff}
.cart-day small{font-weight:600}
.noroute{background:#fdecea;border-left:6px solid #c62828;border-radius:10px;padding:12px 14px;margin:10px 0;color:#5a1a16}
.noroute p{margin:8px 0 0;font-size:.9rem}
.noroute .actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.noroute .actions a{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 12px;border-radius:12px;background:#fff;color:var(--navy);font-weight:700;font-size:.9rem;border:2px solid var(--line)}
.noroute .actions a.fallback{border-color:#e0373f;color:#8c1d18}
.item.route{border-left:6px solid #1e88e5}
.cart-status,.cart-survey{background:#fff;border-radius:12px;padding:8px 12px;margin:10px 0;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.cart-status summary,.cart-survey summary{font-weight:700;min-height:44px;display:flex;align-items:center;cursor:pointer}
.stat{list-style:none;padding:0;margin:6px 0}
.stat li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.stat b.ok{color:#0b6b3a}.stat b.no{color:#c62828}
.cart label{display:block;margin:8px 0;font-weight:600}
.cart select.input{appearance:auto}

.route-sel{background:#fff;border-radius:12px;padding:8px 12px;margin:8px 0;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.route-sel>div{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.route-sel>div:last-child{border-bottom:0}
.route-sel .lbl{flex:none;font-weight:700;color:var(--muted);min-width:7.5em}
.route-sel b{font-size:1rem}
.route-sel select{flex:1;min-height:48px;padding:6px 10px}
#cart-myloc{font-size:1.15rem;min-height:60px}

/* ---- 생활정보 / Community Information (KoMeRiCa) ---- */
.cinfo-home{display:flex;align-items:center;gap:12px;margin:10px 12px 0;padding:8px 14px;border-radius:16px;background:linear-gradient(90deg,#0a78cf,#06995c);color:#fff;width:calc(100% - 24px);text-align:left;min-height:62px;box-shadow:0 4px 12px rgba(10,120,207,.3)}
.cinfo-home .ic{font-size:1.9rem;line-height:1}
.cinfo-home .txt{display:flex;flex-direction:column;min-width:0;flex:1}
.cinfo-home b{font-size:1.15rem;line-height:1.15}
.cinfo-home small{font-size:.9rem;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cinfo-home .chev{font-size:1.8rem;opacity:.9}
.cinfo{margin:0 0 6px}
.cinfo-head h2{margin:4px 0 0;font-size:1.3rem;color:var(--navy)}
.cinfo-head p{margin:2px 0 8px;font-size:.9rem}
.cinfo-card{display:block;min-height:62px;padding:10px 12px;background:#fff;border-radius:14px;margin:8px 0;box-shadow:0 1px 4px rgba(0,0,0,.08);color:var(--ink)}
.cinfo-card .row{display:flex;align-items:center;gap:12px}
.cinfo-card .ic{font-size:1.7rem;line-height:1.2;width:36px;text-align:center;flex:0 0 36px}
.cinfo-card .txt{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}
.cinfo-card b{font-size:1.05rem;line-height:1.2}
.cinfo-card small{font-size:.9rem;color:var(--muted)}
.cinfo-card .cnt{display:flex;align-items:center;gap:6px;margin-left:auto}
.cinfo-card .cnt em{font-style:normal;font-size:.9rem;font-weight:800;color:var(--blue);background:#e3edfb;border-radius:999px;padding:3px 8px;white-space:nowrap}
.cinfo-card .chev{font-size:1.8rem;color:var(--muted);line-height:1}
.cinfo-sample{margin-top:8px;padding:8px 10px;border:1px dashed #c9d6ea;border-radius:10px;background:#f7faff}
.cinfo-sample ul{margin:4px 0;padding:0;list-style:none}
.cinfo-sample li{font-size:.86rem;color:var(--ink);padding:3px 0;line-height:1.3}
.cinfo-sample .tag{display:inline-block;font-size:.9rem;font-weight:800;color:#8a5a00;background:#ffe9b3;border-radius:6px;padding:1px 6px;margin-right:6px;vertical-align:middle}
.cinfo-how{background:#fff;border-radius:14px;padding:10px 12px;margin:8px 0 4px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.cinfo-how p{margin:4px 0 6px;font-size:.9rem;line-height:1.35}
/* family check-in */
.card.family h2{margin:0 0 4px;font-size:1.15rem;color:var(--navy)}
.card.family input{width:100%;min-height:52px;font-size:1.1rem;padding:8px 12px;border:2px solid #c9d6ea;border-radius:12px;margin:6px 0}
.fam-row{display:flex;gap:8px}
.fam-row .btn{flex:1 1 0;min-width:0;font-size:.95rem;padding:10px 8px}

/* ---- local business directory (biz.js) ---- */
.ads-title small{font-weight:600;text-transform:none;letter-spacing:0;color:#8a5a00}
.ad.has-biz{background:#eef6ff;border-color:#bcd6f5}
.ad.has-biz .ad-biz{color:var(--blue);font-weight:700}
.biz-box{text-align:left;max-height:88vh;overflow:auto;padding-top:12px}
.biz-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.biz-top h2{margin:0;font-size:1.3rem;color:var(--navy)}
.biz-x{width:44px;height:44px;border-radius:50%;background:#eef2f8;font-size:1.1rem;color:var(--navy)}
.biz-disc{font-size:.9rem;line-height:1.35;color:#6b4e00;background:#fff7df;border-radius:10px;padding:8px 10px;margin:4px 0 10px}
.bz-card{background:#f7f9fd;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:8px 0}
.bz-card.pending{background:#fafafa;border-style:dashed}
.bz-head b{font-size:1.1rem;line-height:1.2;display:block}
.bz-alt{color:var(--muted);font-size:.9rem}
.bz-meta{font-size:.9rem;color:var(--muted);margin:3px 0}
.bz-badge{display:inline-block;border-radius:999px;padding:1px 8px;font-size:.9rem;font-weight:700}
.bz-badge.ok{background:#d9f5e3;color:#0b6b2e}.bz-badge.wait{background:#fff3cd;color:#7a5a00}
.bz-sp{font-size:.9rem;margin:2px 0}
.bz-addr,.bz-phone{font-size:.92rem;margin:3px 0;line-height:1.3}
.bz-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
/* #42 r2: big text (A+) - buttons wrap to a second row instead of cutting the word off */
.bz-actions .bz-btn{flex:1 1 7em}
.bz-btn{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:50px;border-radius:12px;font-weight:800;font-size:.92rem;padding:6px 4px;color:#fff;white-space:normal;text-align:center;line-height:1.15;word-break:keep-all}
.bz-btn.call{background:var(--green)}.bz-btn.dir{background:var(--blue)}.bz-btn.web{background:var(--navy)}
.biz-adnote{font-size:.9rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:8px;margin:12px 0 4px;text-align:center}
/* compact community-info cards on the home screen + listings directory */
.cinfo-compact{margin:10px 12px 0}
.cinfo-compact .cinfo-card{margin:6px 0;padding:8px 10px;min-height:56px}
.cinfo-compact .cinfo-card b{font-size:1rem}
.cinfo-compact .cinfo-card small{font-size:.9rem}
.cinfo-compact .cinfo-head h2{font-size:1.2rem}
.cinfo-howline{font-size:.9rem;line-height:1.3;margin:6px 2px 0}
.bizdir{margin:0 0 6px}
.dir-row{width:100%;text-align:left}
.dir-cnt{margin-left:auto;font-style:normal;font-size:.9rem;font-weight:800;color:var(--blue);background:#e3edfb;border-radius:999px;padding:3px 8px;white-space:nowrap}
.dir-row .chev{margin-left:6px}
.dl-row .dl{width:36px;height:36px;border-radius:8px}
.aimee-banner{margin-top:12px}
/* ---- Aimee Quick Find ---- */
.ask-row .input{font-size:1.15rem;min-height:56px}
.aimee-tools{display:flex;gap:6px;margin:8px 0}
.aimee-tools button{flex:1 1 0;min-width:0;min-height:48px;border-radius:12px;background:#eef2f8;color:var(--navy);font-weight:700;font-size:.9rem;padding:6px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aimee-tools button.on,[data-tts=auto].on{background:#d9f5e3;color:#0b6b2e}
.tts-bar{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.tts-bar button{min-height:44px;padding:6px 10px;border-radius:10px;background:#eef2f8;color:var(--navy);font-weight:700;font-size:.9rem;flex:1 1 auto}
.qf-lead{margin:0 0 6px;font-weight:600}
.qf-list .bz-card{background:#fff}
.bubble.ai{max-width:100%}
.bz-head.has-star{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 6px}
.bz-head.has-star b{flex:1 1 60%;min-width:0;order:1}
.bz-head.has-star .bz-alt{flex:1 1 100%;order:3}
.fav-star{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;width:44px;height:44px;border-radius:50%;background:#fff6dd;color:#c98a00;font-size:1.5rem;line-height:1;flex:0 0 44px;order:2}
.fav-star.on{background:#ffd54f;color:#6b4e00}
#aimee-quick button{position:relative;padding-right:52px}
#aimee-quick .fav-star{position:absolute;right:6px;top:50%;transform:translateY(-50%)}
.card.favs h3{margin:0 0 6px;font-size:1.1rem;color:var(--navy)}
.fav-row{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding:4px 0}
.fav-open{flex:1;display:flex;align-items:center;gap:10px;text-align:left;min-height:52px;background:none;color:var(--ink);font-weight:600}
.fav-txt{display:flex;flex-direction:column;min-width:0}.fav-txt small{color:var(--muted);font-weight:500;font-size:.9rem}
.fav-act,.fav-del{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef2f8;color:var(--navy);font-size:1.1rem;flex:0 0 44px}
.fav-del{background:#fde8e8;color:#9b1c1c}
.fav-note{font-size:.9rem;margin:6px 0 0}
/* preview-only directory extras: menu + owner photos (issue #42) */
.bz-menu{margin-top:8px;border-top:1px solid var(--line);padding-top:6px}
.bz-menu h4{margin:4px 0;font-size:1rem;font-weight:800}
.bz-menu ul{list-style:none;margin:4px 0;padding:0}
.bz-menu li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dotted var(--line);font-size:.95rem;line-height:1.3}
.bz-menu li span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.bz-menu li b{white-space:nowrap}.bz-menu li s{color:var(--muted);font-weight:400;margin-left:4px}
.bz-small{font-size:.88rem;color:#444;margin:4px 0;line-height:1.35;overflow-wrap:anywhere}
.bz-photos{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.bz-photos a{flex:1 1 120px;max-width:48%;min-height:48px}
.bz-photos img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}

/* GitHub #82 ISS-0004 (2026-10-25): large text / 200% zoom. Inner-screen title may shrink and wraps only between words
   (Korean no longer breaks one letter per line); Back and language buttons keep their 48px size; the bottom bar always
   fits the screen: under 300px wide the five buttons keep icon + word, the word wraps in a smaller size. */
.hdr-inner h1{min-width:0;word-break:keep-all;overflow-wrap:anywhere;line-height:1.15;font-size:clamp(1rem,5.4vw,1.2rem)}
.hdr-inner .back,.hdr-inner .chip{flex:0 0 auto}
.bnav button{min-width:0;flex:1 1 0}
.bnav button span:not(.ic){max-width:100%;word-break:keep-all;overflow-wrap:anywhere;text-align:center}
@media (max-width:300px){
  .hdr-inner{padding:4px 4px;gap:2px}
  .hdr-inner .chip{padding:4px 6px;min-width:44px}
  .bnav button,.bigfs .bnav button,html.bigfs .bnav button{flex-direction:column!important;gap:0!important;font-size:11px!important;line-height:1.05!important;white-space:normal!important;padding:0 1px}
  .bnav button .ic,.bigfs .bnav button .ic,html.bigfs .bnav button .ic{font-size:18px!important}
}
/* #82 Who Do I Call? screen (whocall.js): compact picture so the first phone number is in the first view, also at 200% zoom */
#lv-sub.wc-mode .lv-hero{min-height:0;padding:10px 14px}
#lv-sub.wc-mode .lv-hero .lv-hico{font-size:1.6rem;margin-bottom:2px}
#lv-sub.wc-mode .lv-hero h2{font-size:1.3rem}
#lv-sub.wc-mode .lv-hero p{font-size:.95rem;margin-top:2px}
#lv-sub.wc-mode .wc-phones{margin-top:0}
/* #82 ISS-0004: at 200% zoom (under 300px wide) the site-switch bar (navkit .nk3) and the inner-screen header get compact
   so the screen's own content starts in the first view; the three links stay tappable (min 44px). */
@media (max-width:300px){
  .shell .nk3-w .nk3{grid-template-columns:repeat(3,1fr)!important;gap:3px!important;padding:4px!important}
  .shell .nk3-w .nk3 a{font-size:11px!important;line-height:1.1!important;min-height:44px!important;padding:4px 2px!important;word-break:keep-all;overflow-wrap:anywhere}
  .hdr-inner h1{font-size:.95rem}
  .hdr-inner .chip{font-size:12px;padding:4px 5px;min-width:40px}
  #lv-sub.wc-mode .lv-hero{background-image:none!important;background:#00838f;padding:6px 10px;margin-bottom:6px}
  #lv-sub.wc-mode .lv-hero .lv-hico{display:none}
  #lv-sub.wc-mode .lv-hero h2{font-size:1.05rem}
  #lv-sub.wc-mode .lv-hero p{font-size:.85rem}
}

/* 2026-10-28 restaurants by cuisine */
.bz-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}.bz-chip{min-height:44px;padding:6px 12px;border:2px solid #c9d3e3;border-radius:999px;background:#fff;color:#1a3f8f;font-weight:800;font-size:1rem;cursor:pointer}.bz-chip.on{background:#1a3f8f;color:#fff;border-color:#1a3f8f}.bz-chip:focus-visible{outline:4px solid #FFD54F;outline-offset:2px}
.bz-cui{margin:16px 0 6px;font-size:1.15rem;color:#1a3f8f;border-bottom:2px solid #e3e8f0;padding-bottom:4px}
.bz-pick{display:flex;align-items:center;gap:10px;margin:4px 0 8px;font-weight:800;color:#1a3f8f}.bz-pick select{flex:1;min-height:52px;font-size:1.1rem;font-weight:700;padding:8px 10px;border:2px solid #1a3f8f;border-radius:12px;background:#fff;color:#1f2937}
