/* Seven Days HTX. Layout: one reading column (max 860px), sticky header with the Sabbath sunset strip, three tabs (featured reel, events, churches). */
:root{
  /* Adventist (ALPS) palette: Denim #2f557f, Denim dark #04132b, Denim light #84adfc; NAD Spark orange #d86018 / #ffe5d5 */
  --bg:#f6f8fb; --surface:#ffffff; --ink:#0e2240; --muted:#55657a; --line:#d6dde6;
  --accent:#d86018; --accent-ink:#ffffff; --accent-soft:#ffe5d5; --deep:#2f557f; --deep-soft:#e4ecf5;
  --ok:#2f7d4f; --warn:#a8460c;
  --map-water:#dbe7f3; --map-land:#ffffff; --map-edge:#b9c8d8;
  --f-display:"Young Serif", Georgia, "Times New Roman", serif;
  --f-body:"Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  --r:10px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#04132b; --surface:#0b2140; --ink:#e6edf5; --muted:#9fb0c4; --line:#1f3657;
  --accent:#f0884a; --accent-ink:#1d0b00; --accent-soft:#3a1f0d; --deep:#84adfc; --deep-soft:#132a4c;
  --ok:#6cc391; --warn:#ffb383; --map-water:#061a36; --map-land:#0e2748; --map-edge:#2a4670; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#04132b; --surface:#0b2140; --ink:#e6edf5; --muted:#9fb0c4; --line:#1f3657;
  --accent:#f0884a; --accent-ink:#1d0b00; --accent-soft:#3a1f0d; --deep:#84adfc; --deep-soft:#132a4c;
  --ok:#6cc391; --warn:#ffb383; --map-water:#061a36; --map-land:#0e2748; --map-edge:#2a4670; color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
.contact a{font-weight:600}

body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.55}
.wrap{max-width:860px;margin:0 auto;padding-inline:16px}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px 10px;flex-wrap:wrap}
.brand-id{display:flex;align-items:center;gap:12px;min-width:0}
.logo-mark{width:46px;height:64px;flex:none}
.lock-txt{border-left:3px solid var(--deep);padding-left:12px;display:grid;gap:5px;min-width:0}
.brand h1{display:grid}
.n1{color:var(--ink)} .n2{color:var(--deep)}
.lock-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.htx{background:var(--accent);color:var(--accent-ink);font:800 .68rem var(--f-body);letter-spacing:.3em;padding:3px 4px 3px 7px;border-radius:3px;line-height:1.3}
.foot-brand{font-weight:600;color:var(--ink);margin-bottom:6px}
.lm-7{fill:var(--deep)} .lm-pin{fill:var(--accent);stroke:var(--bg);stroke-width:5} .lm-dot{fill:var(--bg)}
.brand h1{font-family:var(--f-display);font-weight:400;font-size:1.4rem;margin:0;letter-spacing:.01em;line-height:1.08}
.brand p{margin:0;color:var(--muted);font-size:.84rem}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.lang button{border:0;background:transparent;color:var(--muted);font:600 .8rem var(--f-body);padding:6px 12px;cursor:pointer;letter-spacing:.04em}
.lang button[aria-pressed="true"]{background:var(--deep);color:var(--bg)}
.sunset{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-block:8px;font-size:.88rem;color:var(--ink)}
.sun-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);flex:none}
.sunset b{font-family:var(--f-mono);font-weight:500;font-variant-numeric:tabular-nums}
.sunset .sub{color:var(--muted)}
nav.tabs{display:flex;gap:4px}
nav.tabs a{padding:10px 14px;text-decoration:none;color:var(--muted);font-weight:600;border-bottom:3px solid transparent;font-size:.95rem}
nav.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
nav.tabs .count{font-family:var(--f-mono);font-size:.75rem;color:var(--muted);margin-left:4px}
main{padding-block:20px 48px;display:grid;gap:20px}
h2{font-family:var(--f-display);font-weight:400;font-size:1.35rem;margin:0;text-wrap:balance}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 12px;font:500 .84rem var(--f-body);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--deep);border-color:var(--deep);color:var(--bg)}
select,input,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-width:0}
input[type="search"]{flex:1 1 220px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.day{display:grid;gap:8px}
.day-head{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding-bottom:4px}
.day-head .d{font-family:var(--f-display);font-size:1.1rem}
.day-head .sab{font:600 .7rem var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.ev{display:grid;grid-template-columns:76px 1fr;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.ev .t{font-family:var(--f-mono);font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px}
.ev .body{min-width:0;display:grid;gap:4px}
.ev h3{margin:0;font-size:1.02rem;line-height:1.3}
.ev .meta{color:var(--muted);font-size:.86rem}
.ev p{margin:2px 0 0;font-size:.9rem;max-width:65ch}
.cat{display:inline-block;font:600 .68rem var(--f-body);letter-spacing:.07em;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:var(--accent-soft);color:var(--warn)}
.links{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;margin-top:4px}
a{color:var(--deep)}
.empty{border:1px dashed var(--line);border-radius:var(--r);padding:22px;background:var(--surface);display:grid;gap:8px}
.empty h3{margin:0;font-family:var(--f-display);font-weight:400;font-size:1.15rem}
.empty p{margin:0;color:var(--muted);max-width:60ch}
.ch-list{display:grid;border-top:1px solid var(--line)}
.ch{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 2px;border-bottom:1px solid var(--line)}
.ch .n{font-weight:600;min-width:0}
.ch .n small{font-weight:500;color:var(--muted);margin-left:6px;font-size:.78rem}
.ch .addr{grid-column:1/2;color:var(--muted);font-size:.88rem;min-width:0}
.ch .addr.pending{font-style:italic}
.ch .tags{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:.74rem;padding:1px 8px;border-radius:999px;background:var(--deep-soft);color:var(--deep)}
.tag.es{background:var(--accent-soft);color:var(--warn)}
.ch .city{font-family:var(--f-mono);font-size:.78rem;color:var(--muted);text-align:right;white-space:nowrap}
.note{font-size:.84rem;color:var(--muted);max-width:70ch}
.btn{border:1px solid var(--deep);background:var(--deep);color:var(--bg);border-radius:8px;padding:8px 14px;font:600 .88rem var(--f-body);cursor:pointer}
.btn.ghost{background:transparent;color:var(--deep)}
.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.small{padding:4px 10px;font-size:.8rem}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.form label{display:grid;gap:4px;font-size:.8rem;font-weight:600;color:var(--muted)}
.form .wide{grid-column:1/-1}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mini{display:grid;gap:6px}
.mini div{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-block:6px;font-size:.88rem}
.mini span{min-width:0}
.status{font-size:.85rem;color:var(--muted)}
.status.ok{color:var(--ok)} .status.bad{color:var(--warn)}
pre.dump{max-height:200px;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;font:12px var(--f-mono);white-space:pre-wrap;word-break:break-all}
.mapbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid}
.mapbox svg{display:block;width:100%;height:auto;max-height:560px;background:var(--map-water)}
.map-county{fill:var(--map-land);stroke:var(--map-edge);stroke-width:2}
.map-clabel{font:600 15px var(--f-body);fill:var(--muted);letter-spacing:.12em;text-transform:uppercase;opacity:.7;pointer-events:none}
.map-dot{cursor:pointer;outline:none}
.map-dot circle.b{fill:var(--accent);stroke:var(--surface);stroke-width:3}
.map-dot text{font:700 15px var(--f-mono);fill:var(--accent-ink);pointer-events:none}
.map-dot .lbl{font:600 15px var(--f-body);fill:var(--ink);paint-order:stroke;stroke:var(--map-land);stroke-width:5px;stroke-linejoin:round}
.map-dot:hover circle.b,.map-dot:focus-visible circle.b,.map-dot.on circle.b{stroke:var(--deep);stroke-width:5}
.map-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:10px 14px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.lg{display:inline-flex;align-items:center;gap:6px}
.lg i{display:inline-block;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.map-pop{padding:14px;border-top:1px solid var(--line);display:grid;gap:8px}
.map-pop h3{margin:0;font-family:var(--f-display);font-weight:400;font-size:1.1rem}
.map-pop ul{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:.9rem}
.map-pop li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.map-pop li span{color:var(--muted);font-size:.84rem}
.feat{display:grid;gap:14px}
.feat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.reel-ctl{display:flex;gap:6px}
.rbtn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--deep);font:700 1.1rem var(--f-body);cursor:pointer;display:grid;place-items:center}
.rbtn:hover{border-color:var(--deep)}
.reel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-block:4px 14px;scrollbar-width:thin;min-width:0}
.rcard{flex:0 0 min(300px,78vw);scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.rcard:hover,.rcard:focus-visible{transform:translateY(-2px);box-shadow:0 8px 22px rgba(4,19,43,.14)}
.rimg{aspect-ratio:4/3;background:var(--deep-soft);display:grid;place-items:center;overflow:hidden;position:relative}
.rimg img{width:100%;height:100%;object-fit:contain}
.rimg .ph{padding:18px;text-align:center;font-family:var(--f-display);font-size:1.25rem;color:var(--deep);text-wrap:balance}
.rdate{position:absolute;left:10px;top:10px;background:var(--accent);color:var(--accent-ink);border-radius:6px;padding:4px 8px;font:700 .72rem var(--f-body);letter-spacing:.05em;text-transform:uppercase;line-height:1.2;text-align:center}
.rdate b{display:block;font:500 1.15rem var(--f-mono)}
.rbody{padding:12px 14px 14px;display:grid;gap:4px}
.rbody h3{margin:0;font-size:1rem;line-height:1.3}
.rbody .meta{color:var(--muted);font-size:.84rem}
.detail{display:grid;gap:16px}
.detail .back{font-size:.9rem;font-weight:600;text-decoration:none}
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;align-items:start}
.dimg{background:var(--deep-soft);border-radius:var(--r);overflow:hidden;display:grid;place-items:center;min-height:200px}
.dimg img{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block}
.dinfo{display:grid;gap:10px;min-width:0}
.dinfo h2{font-size:1.6rem}
.dinfo dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.92rem}
.dinfo dt{color:var(--muted);font-weight:600}
.dinfo dd{margin:0;min-width:0}
.dinfo p{margin:0;max-width:60ch}
.dlinks{display:flex;gap:10px;flex-wrap:wrap}
.ev h3 a{color:inherit;text-decoration:none}
.ev h3 a:hover{text-decoration:underline}
.ev .thumb{width:76px;height:57px;object-fit:cover;border-radius:6px;background:var(--deep-soft);margin-top:8px}
footer{border-top:1px solid var(--line);padding-block:20px 32px;color:var(--muted);font-size:.82rem}
@media (max-width:520px){.ev{grid-template-columns:1fr}.ev .t{padding:0}.brand h1{font-size:1.2rem}.logo-mark{width:38px;height:53px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
