/* Zip Apps single-app template - colours come from config (CSS variables set in index.html) */
*{box-sizing:border-box}html{font-size:20px}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:#111;padding-bottom:140px;line-height:1.4}
header{background:var(--brand);color:#fff;display:flex;align-items:center;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}
header img{border-radius:10px;box-shadow:0 0 0 2px #fff6}h1{margin:0;font-size:1.45rem;line-height:1.1}header p{margin:0;font-size:.9rem;opacity:.95}
.alert{display:flex;align-items:center;gap:10px;background:#fff;border-bottom:3px solid var(--brand);padding:8px 16px;font-weight:800;font-size:1.05rem;color:var(--brand-d)}
.alert span{flex:1}.alert a{background:var(--brand);color:#fff;text-decoration:none;border-radius:12px;padding:8px 14px;font-size:1rem;white-space:nowrap;min-height:48px;display:flex;align-items:center}
main{padding:14px 16px;max-width:640px;margin:auto}
button{font:inherit;border:0;border-radius:14px;cursor:pointer;color:#fff;background:var(--brand)}
.big{width:100%;min-height:76px;font-size:1.45rem;font-weight:800;background:var(--accent);box-shadow:0 2px 6px #0003}
.or{display:block;text-align:center;font-weight:700;color:#555;margin:12px 0 2px;font-size:.95rem}
.row{display:flex;gap:8px;margin:4px 0 12px}
input{flex:1;font-size:1.7rem;padding:8px 12px;border:2px solid var(--brand);border-radius:14px;min-width:0;letter-spacing:3px;text-align:center;font-weight:700;min-height:64px}
.go{min-width:84px;font-size:1.3rem;font-weight:800}.mic{min-width:64px;font-size:1.5rem;background:#fff;border:2px solid var(--brand)}.mic.on{background:#ffd54f;animation:p 1s infinite}
@keyframes p{50%{transform:scale(1.08)}}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 6px}.chips button{background:var(--chip);color:var(--brand-d);font-weight:800;font-size:1rem;min-height:58px;padding:6px 4px;line-height:1.15}
.chips button small{display:block;font-size:.75rem;font-weight:700;opacity:.85}.chips button.on{background:var(--brand);color:#fff}
#msg{margin:12px 0;font-size:1.1rem}.err{color:#b00020;font-weight:700}
.where{font-weight:800;font-size:1.15rem;margin:6px 0 0}.where small{display:block;font-weight:600;font-size:.85rem;color:#555}
.card{background:#fff;border-radius:16px;padding:6px 14px;margin:10px 0;box-shadow:0 1px 4px #0002}
.pl{list-style:none;margin:0;padding:0}.pl li{display:grid;grid-template-columns:auto 1fr auto;column-gap:12px;row-gap:10px;align-items:start;padding:14px 0;border-top:1px solid #e3e3e3}.pl li:first-child{border:0}
.ic{width:50px;height:50px;border-radius:12px;background:var(--chip);display:flex;align-items:center;justify-content:center;font-size:1.6rem}
.c{min-width:0}.c b{font-size:1.15rem;line-height:1.25;display:block}.c .br{display:block;font-size:.85rem;color:#555}
.ad2{display:block;color:#333;font-size:.95rem}.ad2.no{font-style:italic;color:#6b7280}.note{display:block;font-size:.8rem;color:#14532d;font-weight:600}
.hrs{display:block;font-size:.85rem;line-height:1.3;color:#444;margin-top:3px}.open{display:inline-block;font-size:.8rem;font-weight:800;border-radius:8px;padding:1px 8px;margin-top:4px;background:#dff3e3;color:#14532d}.open.shut{background:#fde2e2;color:#8e1b1b}
.m{font-weight:800;font-size:1.05rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.acts{grid-column:1/-1;display:flex;gap:8px}.acts a,.acts .nophone{flex:1;display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:56px;border-radius:14px;font-weight:800;font-size:1.05rem;text-decoration:none;background:#e8eef5;color:#0b4f8a}
.acts a.call{background:var(--accent);color:#fff}.acts .nophone{font-size:.85rem;color:#6b7280;background:#f3f4f6;border:1px dashed #cbd5e1}
.more{width:100%;min-height:56px;background:#e8eef5;color:#0b4f8a;font-weight:800;font-size:1.05rem;margin:4px 0}
.fine{font-size:.78rem;color:#444;margin-top:18px}.fine a{color:#0b4f8a;font-weight:700}.fam{text-align:center;font-size:.85rem;color:#555}.fam a{color:#0b4f8a}
#ad{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:#fffbea;border-top:2px solid #e5c25b;color:#222;text-decoration:none;min-height:100px}
#ad>span:not(.tag){transition:opacity .35s}#ad.fade>span:not(.tag){opacity:0}#ad .e{font-size:2.2rem;flex:none;width:68px;text-align:center}
#ad .e img{width:68px;height:68px;display:block;border-radius:14px;object-fit:cover;background:#fff;box-shadow:0 1px 4px #0003}
#ad .tx{flex:1;min-width:0}#ad b{display:block;font-size:1.1rem;line-height:1.25;color:#0b4f8a}#ad small{display:block;font-size:.9rem;line-height:1.3;color:#333}
#ad .tag{position:absolute;top:-13px;right:14px;font-size:.75rem;font-weight:700;color:#5a4300;background:#fffbea;border:2px solid #e5c25b;border-radius:8px;padding:0 8px}
[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
@media (prefers-reduced-motion:reduce){#ad>span:not(.tag){transition:none}.mic.on{animation:none}}
.alert{position:sticky;top:0;z-index:5;box-shadow:0 2px 6px #0002}#kinds{scroll-margin-top:84px}
