/* css/shared.css: the footer, the subscribe form and the "next steps" strip.
   Loaded by EVERY page (home, prayer and the shared layout) so the footer looks and works the same everywhere.
   It uses its own colours so it does not depend on which page stylesheet is also loaded. */

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---- footer ---- */
.sf{background:#070B22;color:#A8ABD0;padding:0 0 28px;font:400 .92rem/1.6 Inter,system-ui,sans-serif;letter-spacing:-.005em}
.sf *{box-sizing:border-box}
.sf .w{max-width:1200px;margin:0 auto;padding:0 28px;display:block}
.sf a{color:#C9CCE6;text-decoration:none;transition:color .2s}.sf a:hover{color:#E3C56E}
.sf .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 26px;border:1.5px solid #E3C56E;border-radius:999px;background:transparent;color:#E3C56E;font:600 .95rem Inter,system-ui,sans-serif;cursor:pointer;transition:.25s}
.sf .btn:hover{background:#E3C56E;color:#070B22}
.sf .btn.g{background:#E3C56E;color:#070B22}.sf .btn.g:hover{background:#fff;border-color:#fff;color:#070B22}
.sf .btn.o{border-color:rgba(255,255,255,.55);color:#fff}.sf .btn.o:hover{background:#fff;border-color:#fff;color:#070B22}
.sf-pray{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:34px 0;border-bottom:1px solid #262C52;margin-bottom:56px}
.sf-pray b{display:block;color:#fff;font:700 1.35rem/1.25 Inter,system-ui,sans-serif;letter-spacing:-.025em}
.sf-pray-a{display:flex;gap:12px;flex-wrap:wrap}
.sf-top{display:grid;grid-template-columns:1fr 2.8fr;gap:48px}
.sf-brand .logo{display:flex;align-items:center;gap:10px;color:#fff;font:800 1.15rem Inter,system-ui,sans-serif;letter-spacing:-.02em;white-space:nowrap}.sf-brand .logo svg{width:26px}
.sf-brand p{margin:16px 0 22px;max-width:34ch}
.sf-soc{display:flex;flex-wrap:wrap;gap:8px}
.sf-soc a{display:inline-flex;align-items:center;gap:9px;border:1px solid #3A4078;border-radius:999px;padding:7px 16px;font-weight:500}
.sf-soc a:hover{border-color:#E3C56E}
.sf-soc svg{width:17px;height:17px;flex:none}
.sf-cols{display:grid;grid-template-columns:repeat(5,auto);justify-content:space-between;gap:28px}
.sf-cols h4{margin:0 0 14px;color:#fff;font:700 .95rem Inter,system-ui,sans-serif;letter-spacing:0}.sf-cols h4 a{color:inherit}
.sf-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sf-cols address{font-style:normal;line-height:1.8}
.sf-bot{margin-top:48px;padding-top:24px;border-top:1px solid #262C52;display:flex;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;font-size:.85rem}
.sf-bot nav{display:flex;gap:20px;flex-wrap:wrap}

/* subscribe box (footer, /subscribe, home) */
.sf-sub{margin-top:26px;max-width:380px}
.sf-sub label{display:block;margin:0 0 10px;color:#fff;font-weight:700;font-size:.92rem}
.sf-sub-r{display:flex;border:1.5px solid #3A4078;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.04)}
.sf-sub-r:focus-within{border-color:#E3C56E}
.sf-sub input[type=email]{flex:1;min-width:0;border:0;background:none;color:#fff;font:inherit;padding:12px 8px 12px 18px;outline:0;margin:0;box-shadow:none;border-radius:0;width:auto}
.sf-sub input::placeholder{color:#8E92B8}
.sf-sub button{border:0;background:#E3C56E;color:#070B22;font:700 .9rem Inter,system-ui,sans-serif;padding:0 20px;cursor:pointer;transition:.2s}
.sf-sub button:hover{background:#fff}.sf-sub button[disabled]{opacity:.6;cursor:wait}
.sf-sub-s{min-height:1.4em;margin:10px 4px 0;font-size:.85rem;font-weight:600}
.sf-sub-s.ok{color:#E3C56E}.sf-sub-s.bad{color:#FF9AA6}
@media(max-width:860px){.sf .w{padding:0 20px}.sf-top{grid-template-columns:1fr;gap:36px}.sf-cols{grid-template-columns:1fr 1fr;justify-content:stretch}.sf-pray{margin-bottom:40px}}

/* ---- "keep going" strip shown after a form is sent ---- */
.nxt{margin:30px auto 0;max-width:46ch;padding-top:22px;border-top:1px solid var(--line,#E4DFCF);text-align:center}
.nxt p{margin:0 0 12px;font-weight:700;font-size:.92rem}
.nxt div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.nxt a{padding:9px 18px;border:1.5px solid var(--line,#E4DFCF);border-radius:999px;font-weight:600;font-size:.9rem;color:var(--ink,#0B1026);text-decoration:none;transition:.2s}
.nxt a:hover{border-color:var(--gold,#B8892B)}
.nxt a.p{background:var(--navy,#070B22);border-color:var(--navy,#070B22);color:#fff}.nxt a.p:hover{background:var(--gold,#B8892B);border-color:var(--gold,#B8892B)}

/* Legal pages (privacy, terms) */
.doc h3{font-size:1.1rem;margin:24px 0 8px}
.doc .toc{border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:0 0 28px;background:var(--p)}
.doc .toc b{display:block;margin-bottom:8px}
.doc .toc ol{margin:0;padding-left:22px;columns:2;column-gap:32px}
.doc .toc li{margin:0 0 6px;break-inside:avoid}
.doc h2[id]{scroll-margin-top:110px}
.doc .tbl{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:.92rem}
.doc .tbl th,.doc .tbl td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.doc .tbl th{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.doc code{font-size:.85em;background:rgba(0,0,0,.06);padding:1px 5px;border-radius:4px}
@media(max-width:700px){.doc .toc ol{columns:1}.doc .tbl{display:block;overflow-x:auto}}
.doc.wide{max-width:1080px}
