/* Sermon Writer AI — base styles. Warm, pastoral, clean; broadly Protestant-friendly. */
:root {
  --navy: #1f3a5f;
  --navy-dark: #16293f;
  --gold: #c9a24b;
  --gold-dark: #a8842f;
  --cream: #faf7f1;
  --ink: #20242b;
  --muted: #5c6672;
  --line: #e4ddd0;
  --card: #ffffff;
  --good: #2e7d52;
  --radius: 14px;
  --shadow: 0 6px 24px rgba(31, 58, 95, 0.08);
  --font: "Georgia", "Iowan Old Style", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: var(--sans); color: var(--ink); background: var(--cream); line-height: 1.6; }
img, picture, video, canvas, svg, iframe { max-width: 100%; }
img, video { height: auto; }
button, input, select, textarea { max-width: 100%; }
a { color: var(--navy); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { font-family: var(--font); color: var(--navy); line-height: 1.2; }
.container { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.narrow { max-width: 720px; }

/* Top bar */
.topbar {
  position: sticky; top: 0; z-index: 99;
  background: rgba(255,255,255,.94); color: var(--ink);
  border-bottom: 1px solid var(--line); box-shadow: 0 8px 24px rgba(31,58,95,.06);
  backdrop-filter: blur(16px);
}
.topbar .container { display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
.brand { font-family: var(--font); font-size: 22px; font-weight: 700; color: var(--navy); }
.brand .ai { color: var(--gold); }
.topnav ul { display:flex;align-items:center;gap:22px;margin:0;padding:0;list-style:none; }
.topnav a { color: var(--navy); font-size: 15px; }
.topnav a:hover { color: var(--navy-dark); }
.topnav .public-header-signup { display:inline-flex;padding:8px 14px;border-radius:8px;background:var(--navy);color:#fff; }
.topnav .public-header-signup:hover { background:var(--navy-dark);color:#fff;text-decoration:none; }
.mobile-menu-toggle { display:none;width:42px;height:42px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer; }
.mobile-menu-toggle .bar { display:block;width:22px;height:2px;margin:4px auto;border-radius:2px;background:var(--navy);transition:transform .2s,opacity .2s; }
.mobile-menu-toggle.active .bar:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.mobile-menu-toggle.active .bar:nth-child(2) { opacity:0; }
.mobile-menu-toggle.active .bar:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.generator-fixed-denomination { display:none!important; }
.generator-denom-blurb { color:var(--gold-dark); }
.dashboard-header .header-title,
.dashboard-header .header-actions {
  display: flex;
  align-items: center;
}
.dashboard-header .header-title { gap: 18px; min-width: 0; }
.dashboard-header .header-title h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--font);
  font-size: 18px;
}
.dashboard-header .header-actions { justify-content: flex-end; gap: 10px; }
.header-icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--navy);
  cursor: pointer;
  font-size: 16px;
}
.header-icon-btn:hover { background: var(--cream); color: var(--navy-dark); }
.notification-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  align-items: center;
  justify-content: center;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border: 2px solid var(--navy);
  border-radius: 999px;
  background: #c62828;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}

/* Buttons */
.btn { display: inline-block; border: none; border-radius: 10px; padding: 13px 22px; font-size: 16px;
  font-weight: 600; cursor: pointer; font-family: var(--sans); transition: transform .05s, background .2s; }
.btn:hover { text-decoration: none; }
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--gold); color: #2a1f06; }
.btn-primary:hover { background: var(--gold-dark); color: #fff; }
.btn-navy { background: var(--navy); color: #fff; }
.btn-navy:hover { background: var(--navy-dark); }
.btn-ghost { background: transparent; border: 1.5px solid var(--line); color: var(--navy); }
.btn-block { display: block; width: 100%; text-align: center; }

/* Hero */
.hero { background: linear-gradient(160deg, var(--navy) 0%, var(--navy-dark) 100%); color: #fff; padding: 56px 0 44px; }
.hero h1 { color: #fff; font-size: 42px; margin: 0 0 12px; }
.hero p.sub { font-size: 19px; color: #d7e2ee; max-width: 640px; margin: 0 auto 8px; }
.hero .center { text-align: center; }
.trust-note { color: var(--gold); font-size: 14px; margin-top: 10px; }

/* Cards / forms */
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 26px; }
.generator { margin-top: 28px; }
.field { margin-bottom: 16px; }
.field label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; color: var(--ink); }
.field input, .field select, .field textarea {
  width: 100%; padding: 12px 13px; border: 1.5px solid var(--line); border-radius: 10px;
  font-size: 15px; font-family: var(--sans); background: #fff; color: var(--ink); }
.field textarea { min-height: 84px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--navy); }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.row-end { display: flex; gap: 12px; align-items: center; margin-top: 10px; }
.hint { font-size: 13px; color: var(--muted); }
.mode-switch-helper {
  margin: -4px 0 18px;
  padding: 13px 15px;
  border: 1px solid rgba(31, 58, 95, .16);
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  background: #fffaf0;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 8px 18px rgba(31, 58, 95, .05);
}
.mode-switch-helper button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--gold-dark);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
}

/* Denomination selector — prominent on hero */
.denom-hero { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; padding: 16px; margin: 22px auto 0; max-width: 560px; }
.denom-hero label { color: #fff; font-weight: 600; display: block; margin-bottom: 8px; }
.denom-hero select { width: 100%; padding: 13px; border-radius: 10px; border: none; font-size: 16px; }
.denom-blurb { color: var(--gold); margin-top: 10px; font-size: 14px; min-height: 20px; }
.denom-help { margin-top: 10px; text-align: left; }
.denom-help > summary { color: #d7e2ee; font-size: 13px; cursor: pointer; list-style: none; text-decoration: underline; }
.denom-help > summary::-webkit-details-marker { display: none; }
.denom-help[open] > summary { color: #fff; margin-bottom: 8px; }
.denom-help-body { background: rgba(255,255,255,.06); border-radius: 10px; padding: 12px 14px; color: #e7eef6; font-size: 13.5px; }
.denom-help-body p { margin: 0 0 8px; }
.denom-help-body ul { margin: 0; padding-left: 18px; }
.denom-help-body li { margin-bottom: 5px; }
.denom-help-body strong { color: #fff; }

/* Sections */
.section { padding: 48px 0; }
.section h2 { font-size: 30px; text-align: center; margin: 0 0 8px; }
.section .lead { text-align: center; color: var(--muted); max-width: 640px; margin: 0 auto 28px; }
.denom-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.denom-cards a { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px; color: var(--navy); font-weight: 600; text-align: center; }
.denom-cards a:hover { border-color: var(--gold); text-decoration: none; box-shadow: var(--shadow); }

/* Result */
.result { margin-top: 22px; white-space: pre-wrap; font-family: var(--font); font-size: 17px; line-height: 1.75; }
.result h3 { margin-top: 0; }
.result.result-gated { position: relative; padding-bottom: 10px; }
.result-preview-fade { position: absolute; left: 0; right: 0; bottom: 0; height: 170px; pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--card) 88%); }
.result-unlock-btn { display: inline-block; margin-top: 10px; }
.badge { display: inline-block; background: var(--cream); border: 1px solid var(--line); color: var(--navy);
  border-radius: 999px; padding: 4px 12px; font-size: 13px; font-weight: 600; }
.spinner { display: inline-block; width: 18px; height: 18px; border: 3px solid rgba(255,255,255,.4);
  border-top-color: #fff; border-radius: 50%; animation: spin .8s linear infinite; vertical-align: middle; }
@keyframes spin { to { transform: rotate(360deg); } }
.notice { background: #fff8e6; border: 1px solid var(--gold); border-radius: 10px; padding: 14px; margin: 14px 0; }
.error { background: #fdecec; border: 1px solid #e0a0a0; color: #8a2b2b; border-radius: 10px; padding: 12px; margin: 12px 0; }

/* Auth pages */
.auth-wrap { max-width: 460px; margin: 48px auto; }
.auth-wrap .card h1 { font-size: 26px; margin-top: 0; }

/* Dashboard */
.dash { display: grid; grid-template-columns: 286px 1fr; min-height: calc(100vh - 64px); }
.sidebar {
  background: linear-gradient(180deg, var(--navy-dark), var(--navy));
  border-right: 1px solid rgba(201,162,75,.22); padding: 0;
  display: flex; flex-direction: column; color: #fff;
}
.sidebar-profile { margin: 18px 16px 8px; padding: 16px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(255,255,255,.07); }
.profile-avatar { display:flex;align-items:center;justify-content:center;width:50px;height:50px;margin-bottom:10px;border-radius:8px;background:linear-gradient(135deg,var(--gold),#e4c878);color:var(--navy-dark); }
.profile-name { color:#fff; font-weight:800; }
.profile-email { color:rgba(255,255,255,.7); font-size:12px; overflow-wrap:anywhere; }
.sidebar .denom-badge { background: var(--cream); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; font-size: 13px; color: var(--muted); margin-bottom: 14px; }
.sidebar .denom-badge strong { color: var(--navy); display: block; font-size: 15px; }
/* Prominent Create button at top of sidebar */
.create-btn { display: block; text-align: center; background: var(--gold); color: #2a1f06; font-weight: 700;
  padding: 12px 14px; border-radius: 8px; margin: 10px 16px 16px; font-size: 15px; }
.create-btn:hover { background: var(--gold-dark); color: #fff; text-decoration: none; }
.create-btn i { margin-right: 6px; }
.sidebar-menu { padding: 0 14px 18px; }
.menu-category { padding: 15px 8px 7px; color:rgba(255,255,255,.52);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
.sidebar nav a { display: flex; align-items: center; padding: 10px 11px; border:1px solid transparent;border-radius:8px; color: rgba(255,255,255,.84); font-size: 14px; margin-bottom: 3px; }
.sidebar nav a:hover { background: rgba(255,255,255,.09); color:#fff; text-decoration: none; }
.sidebar nav a.active { background: rgba(255,255,255,.13); border-color:rgba(201,162,75,.24); color: #fff; }
.sidebar nav a .menu-icon { display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;margin-right:9px;border-radius:7px;background:rgba(255,255,255,.08);color:var(--gold);font-size:14px; }
.sidebar nav a.active .menu-icon { color: var(--gold); }
.sidebar-footer { margin-top:auto;padding:18px 16px;border-top:1px solid rgba(255,255,255,.12); }
.current-plan-info { margin-bottom:10px;padding:14px;border:1px solid rgba(201,162,75,.24);border-radius:8px;background:rgba(255,255,255,.08); }
.current-plan-info h4 { margin:0 0 8px;color:rgba(255,255,255,.75);font:800 12px var(--sans); }
.plan-details { display:flex;align-items:center;gap:7px;margin-bottom:7px; }
.sidebar .plan-name { color:#fff;font-weight:800; }
.plan-badge { padding:2px 7px;border-radius:999px;background:rgba(201,162,75,.2);color:#e4c878;font-size:10px;font-weight:800;text-transform:capitalize; }
.homilies-remaining { color:rgba(255,255,255,.75);font-size:12px; }
.update-plan-btn { color:#fff;text-decoration:underline;font-size:12px;font-weight:700; }
/* Dashboard content header with Create button on the right */
.section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
  .section-head h1 { margin: 0 0 4px; }
.count { color: var(--muted); font-weight: 400; font-size: 18px; }
.empty-state { text-align: center; padding: 40px 20px; background: #fff; border: 1px dashed var(--line); border-radius: 14px; }
.empty-state i { font-size: 40px; color: var(--gold); margin-bottom: 12px; }
.empty-state h3 { margin: 0 0 6px; }
.empty-state .btn { margin-top: 14px; }
.dash-main { min-width:0; padding: 30px; }
.dash-main h1 { margin-top: 0; }

/* Payment Failure Banner Styles */
.payment-failure-banner {
  background: linear-gradient(135deg, #fff5f5 0%, #ffe0e0 100%);
  border: 2px solid #d32f2f;
  border-radius: 12px;
  padding: 20px 25px;
  margin: 20px 0 0;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: 0 4px 12px rgba(211, 47, 47, 0.2);
  animation: slideDown 0.5s ease-out;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.payment-failure-banner .alert-icon {
  font-size: 48px;
  color: #d32f2f;
  flex-shrink: 0;
}

.payment-failure-banner .alert-content {
  flex: 1;
}

.payment-failure-banner .alert-title {
  color: #d32f2f;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 10px 0;
}

.payment-failure-banner .alert-message {
  color: #333;
  font-size: 15px;
  margin: 0;
  line-height: 1.5;
}

.payment-failure-banner .alert-action {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
}

.payment-failure-banner .alert-btn {
  background-color: #d32f2f;
  color: white;
  padding: 12px 24px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.payment-failure-banner .alert-btn:hover {
  background-color: #b71c1c;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(211, 47, 47, 0.3);
  text-decoration: none;
}

.payment-failure-banner .alert-link {
  color: #d32f2f;
  text-decoration: none;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.3s ease;
}

.payment-failure-banner .alert-link:hover {
  color: #b71c1c;
  text-decoration: underline;
}

/* First-time dashboard welcome modal */
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(22, 41, 63, 0.56);
  padding: 20px;
}

.first-time-offer-modal {
  backdrop-filter: blur(4px);
}

.first-time-offer-content {
  position: relative;
  width: min(96vw, 560px);
  background: #fffdf8;
  border: 1px solid rgba(201, 162, 75, 0.35);
  border-radius: 14px;
  padding: 30px;
  text-align: center;
  box-shadow: 0 22px 70px rgba(31, 58, 95, 0.28);
  animation: slideDown 0.35s ease-out;
}

.first-time-offer-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--muted);
  cursor: pointer;
}

.first-time-offer-close:hover {
  color: var(--navy);
  border-color: var(--gold);
}

.first-time-offer-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--gold-dark);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.first-time-offer-icon {
  width: 66px;
  height: 66px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--navy);
  color: var(--gold);
  font-size: 28px;
}

.first-time-offer-content h2 {
  margin: 0 0 10px;
  font-size: 28px;
}

.first-time-offer-copy {
  margin: 0 auto 20px;
  max-width: 470px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}

.first-time-offer-coupon {
  margin: 20px 0;
  border: 1px solid rgba(201, 162, 75, 0.4);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.first-time-offer-applied {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 16px;
  background: var(--cream);
  color: var(--navy);
  font-weight: 700;
}

.first-time-offer-applied i {
  color: var(--good);
}

.first-time-offer-ticket {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--line);
}

.first-time-offer-ticket > div {
  padding: 16px 12px;
  border-right: 1px solid var(--line);
}

.first-time-offer-ticket > div:last-child {
  border-right: 0;
}

.first-time-offer-ticket strong {
  display: block;
  color: var(--navy);
  font-size: 18px;
  margin-bottom: 4px;
}

.first-time-offer-ticket span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.first-time-offer-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 20px;
}

.first-time-offer-primary,
.first-time-offer-secondary {
  border: 0;
  border-radius: 10px;
  padding: 13px 18px;
  font-family: var(--sans);
  font-weight: 800;
  cursor: pointer;
}

.first-time-offer-primary {
  background: var(--gold);
  color: #2a1f06;
}

.first-time-offer-primary:hover {
  background: var(--gold-dark);
  color: #fff;
}

.first-time-offer-secondary {
  background: var(--navy);
  color: #fff;
}

.first-time-offer-secondary:hover {
  background: var(--navy-dark);
}
.tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 20px; }
.tool-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px; }
.tool-card h3 { margin: 0 0 6px; font-size: 17px; }
.tool-card p { margin: 0 0 12px; color: var(--muted); font-size: 14px; }
.sermon-list { list-style: none; padding: 0; margin: 16px 0; }
.sermon-list li { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; }

/* Premium AI Chat */
.chat-wrap { display: flex; flex-direction: column; height: calc(100vh - 64px - 60px); min-height: 420px; }
.chat-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.chat-controls { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.chat-controls select { padding: 9px 10px; border: 1.5px solid var(--line); border-radius: 9px; background: #fff; font-size: 14px; max-width: 200px; }
.chat-messages { flex: 1; overflow-y: auto; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px; }
.chat-empty { text-align: center; color: var(--muted); padding: 48px 20px; }
.chat-empty i { font-size: 38px; color: var(--gold); display: block; margin-bottom: 12px; }
.chat-empty p { max-width: 460px; margin: 0 auto; }
.bubble { max-width: 80%; padding: 12px 15px; border-radius: 14px; margin-bottom: 12px; line-height: 1.6; font-size: 15.5px; white-space: normal; word-wrap: break-word; }
.bubble.user { background: var(--navy); color: #fff; margin-left: auto; border-bottom-right-radius: 4px; }
.bubble.ai { background: var(--cream); color: var(--ink); border: 1px solid var(--line); border-bottom-left-radius: 4px; }
.chat-error { color: #8a2b2b; }
.typing span { display: inline-block; width: 7px; height: 7px; margin-right: 3px; background: var(--muted); border-radius: 50%; animation: blink 1.2s infinite both; }
.typing span:nth-child(2){ animation-delay: .2s; } .typing span:nth-child(3){ animation-delay: .4s; }
@keyframes blink { 0%,80%,100%{opacity:.2} 40%{opacity:1} }
.chat-input { display: flex; gap: 10px; align-items: flex-end; margin-top: 14px; }
.chat-input textarea { flex: 1; resize: none; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; font-family: var(--sans); font-size: 15px; max-height: 160px; }
.chat-input textarea:focus { outline: none; border-color: var(--navy); }
.chat-input .btn { padding: 12px 18px; }

/* Admin */
.topbar-admin { background: #2a1f3d; }
.topbar-admin .brand { color: #fff; }
.topbar-admin .brand .ai { color: var(--gold); }
.admin-menu-toggle { display: none; }
.admin-tag { background: var(--gold); color: #2a1f06; font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 6px; vertical-align: middle; margin-left: 4px; }

/* Support */
.support-tabs { display: flex; gap: 6px; border-bottom: 2px solid var(--line); margin: 18px 0 20px; }
.support-tab { background: none; border: none; padding: 10px 16px; font-size: 15px; font-weight: 600; color: var(--muted); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; font-family: var(--sans); }
.support-tab.active { color: var(--navy); border-bottom-color: var(--gold); }
.support-tab:hover { color: var(--navy); }
.inq-row { cursor: pointer; }
.inq-row:hover { border-color: var(--gold); }
.status-badge { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; vertical-align: middle; }
.status-open { background: #eaf4ff; color: #1f5fa8; }
.status-replied { background: #eaf7ee; color: var(--good); }
.status-closed { background: #f0eee9; color: var(--muted); }
.unread-dot { background: var(--gold); color: #2a1f06; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; }
.bubble-meta { font-size: 11px; opacity: .7; margin-top: 6px; }

/* Footer */
.footer { background: var(--navy-dark); color: #c3cfdc; padding: 30px 0; margin-top: 40px; font-size: 14px; text-align:center; }
.footer p { margin:0; }
.footer a { color: #e7eef6; }
.swa-public-footer { padding:52px 0 22px;text-align:left; }
.swa-public-footer .public-footer-grid { display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(4,minmax(120px,1fr));gap:34px; }
.swa-public-footer .public-footer-brand { max-width:300px; }
.swa-public-footer .public-footer-logo { display:inline-block;color:#fff;font:800 24px var(--font);text-decoration:none; }
.swa-public-footer .public-footer-logo span { color:var(--gold); }
.swa-public-footer .public-footer-brand>p { margin:13px 0 18px;color:#c3cfdc;line-height:1.65; }
.swa-public-footer .public-footer-column { display:flex;flex-direction:column;align-items:flex-start;gap:9px; }
.swa-public-footer .public-footer-column h2 { margin:0 0 7px;color:#fff;font:800 15px var(--sans); }
.swa-public-footer .public-footer-column a { color:#cbd6e2;font-size:13px;line-height:1.45; }
.swa-public-footer .public-footer-column a:hover { color:#fff; }
.swa-public-footer .public-footer-social { display:flex;gap:9px; }
.swa-public-footer .public-footer-social a { display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:var(--gold); }
.swa-public-footer .public-footer-social a:hover { background:rgba(255,255,255,.08);text-decoration:none; }
.swa-public-footer .public-footer-bottom { display:flex;justify-content:space-between;gap:20px;margin-top:36px;padding-top:19px;border-top:1px solid rgba(255,255,255,.14);color:#98a9bb;font-size:12px; }

.dashboard-menu-toggle { display:none; }
.mobile-sidebar-overlay { display:none;position:fixed;inset:64px 0 0;background:rgba(15,23,42,.56);z-index:997;backdrop-filter:blur(3px); }

.plan-info-bar { position:sticky;bottom:0;z-index:96;margin-left:286px;width:calc(100% - 286px);padding:13px 0;background:var(--navy-dark);color:#fff;box-shadow:0 -3px 12px rgba(22,41,63,.16); }
.plan-info-container { display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1200px;margin:auto;padding:0 28px; }
.plan-info-item { display:flex;align-items:center;gap:7px; }
.plan-info-label { font-size:13px;opacity:.72; }
.plan-info-value { font-weight:800; }
.plan-info-upgrade-btn { display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:0;border-radius:8px;background:var(--gold);color:#2a1f06;font-weight:800;cursor:pointer; }
.dashboard-footer { margin-left:286px;width:calc(100% - 286px);padding:24px 28px;border-top:1px solid var(--line);background:#fff;text-align:center; }
.footer-content,.footer-logo { display:flex;flex-direction:column;align-items:center; }
.footer-brand { color:var(--navy);font:800 20px var(--font); }
.footer-brand span { color:var(--gold-dark); }
.dashboard-footer-links { display:flex;gap:18px;margin-top:9px; }
.dashboard-footer-links a { color:var(--navy);font-size:13px; }
.dashboard-footer p { margin:10px 0 0;color:var(--muted);font-size:12px; }

.dashboard-upgrade-modal { position:fixed;inset:0;z-index:3000;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.68);backdrop-filter:blur(5px); }
.dashboard-upgrade-content { position:relative;width:min(1180px,100%);max-height:92vh;overflow:auto;padding:30px;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.32); }
.dashboard-upgrade-content>h2 { margin:0;text-align:center;font-size:30px; }
.dashboard-upgrade-content>p { margin:8px auto 20px;text-align:center;color:var(--muted); }
.dashboard-upgrade-close { position:absolute;top:14px;right:14px;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);cursor:pointer; }
.dashboard-billing-cycle { display:flex;justify-content:center;gap:7px;margin-bottom:24px; }
.dashboard-billing-cycle button { padding:10px 18px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-weight:800;cursor:pointer; }
.dashboard-billing-cycle button.active { border-color:var(--navy);background:var(--navy);color:#fff; }
.dashboard-billing-cycle span { margin-left:5px;color:var(--gold-dark);font-size:11px; }
.dashboard-plans { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px; }
.dashboard-plan-card { position:relative;display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff; }
.dashboard-plan-card.recommended { border:2px solid var(--gold);box-shadow:0 12px 28px rgba(31,58,95,.1); }
.recommended-badge { position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:10px;font-weight:800;white-space:nowrap; }
.dashboard-plan-card h3 { margin:4px 0 10px;text-align:center; }
.dashboard-plan-price { text-align:center;color:var(--navy);font-size:34px;font-weight:800; }
.dashboard-plan-price small { font-size:12px;color:var(--muted); }
.dashboard-plan-note { min-height:38px;text-align:center;color:var(--muted);font-size:13px; }
.dashboard-plan-card ul { flex:1;margin:14px 0;padding:0;list-style:none; }
.dashboard-plan-card li { margin:9px 0;color:#4b5563;font-size:13px; }
.dashboard-plan-card li i { color:var(--gold-dark);margin-right:6px; }
.dashboard-plan-btn { width:100%;padding:11px;border:0;border-radius:8px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer; }

/* Copied HomilyWriterAI generation loader, recolored for Sermon Writer AI. */
.sermon-generation-loading {
  display:none;
  min-height:250px;
  margin-top:18px;
  padding:32px 20px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  text-align:center;
}
.sermon-generation-loading.active { display:block; }
.custom-spinner {
  display:block;
  width:80px;
  height:80px;
  margin:20px auto;
  animation:spin 2s linear infinite;
}
.sermon-loading-message {
  margin:15px 0 0;
  color:var(--navy);
  font-family:var(--sans);
  font-size:17px;
  font-weight:700;
  line-height:1.5;
}
.sermon-loading-note {
  max-width:560px;
  margin:10px auto 0;
  color:var(--muted);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.55;
}

/* Settings: copied dashboard account-settings presentation with brand-color substitutions. */
.settings-page { max-width:1050px;margin:0 auto; }
.settings-card { margin-top:20px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(31,58,95,.06);overflow:hidden; }
.settings-card-header { padding:18px 22px;border-bottom:1px solid var(--line);background:#fbfcfe; }
.settings-card-header h2 { margin:0;color:var(--navy);font-size:19px; }
.settings-card-body { padding:22px; }
.settings-toggle-row { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line); }
.settings-toggle-row:first-child { padding-top:0; }
.settings-toggle-row label { color:var(--ink);font-weight:800; }
.settings-toggle-row p { margin:4px 0 0;color:var(--muted);font-size:13px; }
.toggle-switch { position:relative;display:inline-flex;width:50px;height:28px;flex:0 0 50px;cursor:pointer; }
.toggle-switch input { width:0;height:0;opacity:0; }
.toggle-slider { position:absolute;inset:0;border-radius:999px;background:#cbd5e1;transition:.2s; }
.toggle-slider:before { position:absolute;content:"";width:22px;height:22px;left:3px;bottom:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.2s; }
.toggle-switch input:checked + .toggle-slider { background:var(--navy); }
.toggle-switch input:checked + .toggle-slider:before { transform:translateX(22px); }
.settings-fields-grid { display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:22px; }
.sermon-mode-setting { margin-top:24px;padding:20px;border:1px solid rgba(201,162,75,.35);border-radius:8px;background:var(--cream); }
.sermon-mode-setting-header h3 { margin:0 0 6px;color:var(--navy);font-size:17px; }
.sermon-mode-setting-header p { margin:0;color:var(--muted);font-size:14px;line-height:1.55; }
.sermon-mode-options { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px; }
.sermon-mode-option { display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;transition:.18s; }
.sermon-mode-option.active { border-color:var(--gold-dark);box-shadow:0 0 0 2px rgba(201,162,75,.15); }
.sermon-mode-option input { margin-top:5px; }
.sermon-mode-option-icon { display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:8px;background:var(--navy);color:var(--gold); }
.sermon-mode-option-copy strong,.sermon-mode-option-copy span { display:block; }
.sermon-mode-option-copy strong { color:var(--navy); }
.sermon-mode-option-copy span { margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45; }
.settings-save-btn { margin-top:20px; }
.settings-links { display:flex;flex-direction:column; }
.settings-link-item { display:flex;align-items:center;gap:14px;padding:17px 22px;border-bottom:1px solid var(--line);color:var(--ink); }
.settings-link-item:last-child { border-bottom:0; }
.settings-link-item:hover { background:#fbfcfe;text-decoration:none; }
.settings-link-icon { display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:8px;background:var(--navy);color:var(--gold); }
.settings-link-content { flex:1; }
.settings-link-content strong,.settings-link-content small { display:block; }
.settings-link-content small { margin-top:3px;color:var(--muted);line-height:1.4; }
.settings-link-item>i { color:var(--gold-dark); }
.settings-plan-panel,.danger-zone-panel { display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px; }
.settings-plan-panel p { display:flex;gap:10px;margin:5px 0; }
.settings-plan-panel p span { color:var(--muted); }
.danger-zone-card { border-color:#e3aaaa; }
.danger-zone-card .settings-card-header { background:#fff8f8; }
.danger-zone-panel h3 { margin:0 0 6px;color:#9b2525; }
.danger-zone-panel p { max-width:700px;margin:0;color:var(--muted);font-size:13px;line-height:1.55; }
.btn-danger { display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 15px;border:0;border-radius:8px;background:#b42318;color:#fff;font-family:var(--sans);font-weight:800;cursor:pointer;white-space:nowrap; }
.btn-danger:disabled { opacity:.45;cursor:not-allowed; }
.delete-account-content { position:relative;width:min(560px,96vw);max-height:90vh;overflow:auto;padding:24px;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.34); }
.delete-account-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:16px; }
.delete-account-header h2 { margin:0;color:#9b2525;font-size:22px; }
.delete-account-header button { width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);cursor:pointer; }
.delete-account-warning { margin-bottom:18px;padding:16px;border:1px solid #e3aaaa;border-radius:8px;background:#fff8f8;color:#6e2222;font-size:13px;line-height:1.55; }
.delete-account-warning ul { margin:10px 0 0;padding-left:20px; }
.delete-account-status { min-height:22px;margin:9px 0;color:var(--muted);font-size:13px; }
.delete-account-status.error-text { color:#9b2525; }
.delete-account-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:16px; }

@media (max-width: 860px) {
  html { -webkit-text-size-adjust: 100%; }
  body { min-width: 0; overflow-wrap: break-word; }
  h1, h2, h3, h4, h5, h6, p, li, a, button, label, td, th { overflow-wrap: anywhere; }
  .container { width: 100%; min-width: 0; padding-right: 18px; padding-left: 18px; }
  button,
  .btn,
  [role="button"],
  input[type="button"],
  input[type="submit"],
  input[type="reset"] { min-height: 44px; touch-action: manipulation; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
  select,
  textarea { min-height: 48px; font-size: 16px; }
  textarea { line-height: 1.5; }
  .grid-2, .grid-3, .tool-grid { grid-template-columns: 1fr; }
  .denom-cards { grid-template-columns: 1fr 1fr; }
  .dash { display:block; }
  .sidebar { position:fixed;top:64px;bottom:0;left:0;z-index:998;width:min(300px,calc(100vw - 48px));max-width:100%;overflow-y:auto;overscroll-behavior:contain;transform:translateX(-105%);transition:transform .25s ease;box-shadow:16px 0 40px rgba(15,23,42,.24); }
  .sidebar.active { transform:translateX(0); }
  .mobile-sidebar-overlay.active { display:block; }
  .dashboard-menu-toggle { display:inline-flex; }
  .dash-main { width:100%;padding:24px 18px; }
  .dash-main > * { min-width:0; }
  .dashboard-header .container { min-height:64px;padding-right:14px;padding-left:14px; }
  .dashboard-header .header-title { flex:1 1 auto;gap:0;overflow:hidden; }
  .dashboard-header .brand { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .dashboard-header .header-actions { flex:0 0 auto;gap:5px; }
  .header-icon-btn { width:44px;height:44px;flex:0 0 44px; }
  .plan-info-bar,.dashboard-footer { margin-left:0;width:100%; }
  .plan-info-container { flex-direction:column;align-items:stretch;gap:9px;padding:0 18px; }
  .plan-info-item { justify-content:space-between; }
  .dashboard-plans { grid-template-columns:1fr 1fr; }
  .settings-fields-grid,.sermon-mode-options { grid-template-columns:1fr; }
  .settings-plan-panel,.danger-zone-panel { align-items:flex-start;flex-direction:column; }
  .hero h1 { font-size: 32px; }
  .swa-public-header .container { gap:12px; }
  .swa-public-header .brand { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .swa-public-header .mobile-menu-toggle { display:block;position:relative;z-index:9002;width:44px;height:44px;flex:0 0 44px; }
  .swa-public-header .main-nav { position:fixed;inset:64px 0 auto;z-index:9001;display:none;padding:18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 16px 30px rgba(22,41,63,.14); }
  .swa-public-header .main-nav.active { display:block; }
  .swa-public-header .main-nav ul { flex-direction:column;align-items:stretch;gap:4px; }
  .swa-public-header .main-nav li { width:100%; }
  .swa-public-header .main-nav a { display:flex;width:100%;min-height:46px;align-items:center;justify-content:center;margin:0;padding:10px 14px;border-radius:8px;font-size:15px; }
  .swa-public-header .main-nav .public-header-signup { background:var(--navy);color:#fff; }
  .swa-public-footer .public-footer-grid { grid-template-columns:1.25fr 1fr 1fr; }
  .swa-public-footer .public-footer-brand { grid-column:1/-1;max-width:540px; }
  .swa-public-footer .public-footer-column a { display:flex;min-height:40px;align-items:center;padding:5px 0; }
  .swa-public-footer .public-footer-social a { width:44px;height:44px; }
  .dashboard-header .header-title h2 { display: none; }
  .dashboard-header .header-actions { gap: 6px; }
  .dashboard-header .topnav a:not(:last-child) { display: none; }
  .payment-failure-banner {
    flex-direction: column;
    text-align: center;
    padding: 15px;
  }
  .payment-failure-banner .alert-icon {
    font-size: 36px;
  }
  .payment-failure-banner .alert-action {
    width: 100%;
  }
  .payment-failure-banner .alert-btn {
    width: 100%;
    justify-content: center;
  }
  .first-time-offer-content {
    padding: 26px 18px 22px;
  }
  .first-time-offer-ticket {
    grid-template-columns: 1fr;
  }
  .first-time-offer-ticket > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .first-time-offer-ticket > div:last-child {
    border-bottom: 0;
  }
  .first-time-offer-actions {
    flex-direction: column;
  }
  .card { min-width:0;padding:22px 20px; }
  .section-head { align-items:stretch;flex-direction:column; }
  .section-head .btn { width:100%;text-align:center; }
  .row-end { align-items:stretch;flex-direction:column; }
  .row-end .btn { width:100%;text-align:center; }
  .mode-switch-helper button { display:inline-flex;align-items:center;min-height:44px;padding:8px 0;vertical-align:middle; }
  .sermon-list li { align-items:flex-start;flex-direction:column;gap:10px; }
  .sermon-list li > :last-child { width:100%; }
  .support-tabs { max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin; }
  .support-tab { min-width:max-content;min-height:44px; }
  .chat-wrap { height:auto;min-height:calc(100dvh - 128px); }
  .chat-messages { min-height:320px;padding:14px; }
  .bubble { max-width:92%; }
  .chat-input { gap:7px; }
  .chat-input .btn { flex:0 0 auto;padding:10px 14px; }
  .dashboard-upgrade-modal { align-items:flex-end;padding:0; }
  .dashboard-upgrade-content { width:100%;max-height:94dvh;padding:26px 18px 20px;border-radius:8px 8px 0 0;overscroll-behavior:contain; }
  .dashboard-upgrade-close { width:44px;height:44px; }
  .settings-card,.sermon-mode-setting { min-width:0; }
  .settings-link-content { min-width:0; }
  .delete-account-content { width:calc(100vw - 24px);max-height:92dvh;padding:20px 16px; }
  .table-wrap,
  .responsive-table,
  .admin-table-wrap { max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch; }
  table { max-width:100%; }

  .topbar-admin .container { gap:10px; }
  .topbar-admin .brand { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .topbar-admin .topnav { display:none; }
  .topbar-admin .admin-menu-toggle { display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;cursor:pointer; }
  .topbar-admin + .mobile-sidebar-overlay { top:64px; }
  .topbar-admin ~ .dash .sidebar { padding:12px 14px 20px; }
  .topbar-admin ~ .dash .sidebar nav a { min-height:46px; }
  .admin-access-panel { padding:28px 22px !important; }
  .admin-access-actions { align-items:stretch;flex-direction:column; }
  .admin-access-actions a { width:100%;min-height:46px;text-align:center; }
}
@media (max-width: 600px) {
  .swa-public-footer { padding-top:40px; }
  .swa-public-footer .public-footer-grid { grid-template-columns:1fr 1fr;gap:28px 20px; }
  .swa-public-footer .public-footer-brand { grid-column:1/-1; }
  .swa-public-footer .public-footer-bottom { flex-direction:column;gap:4px; }
  .dashboard-plans { grid-template-columns:1fr; }
  .dashboard-footer-links { flex-wrap:wrap;justify-content:center; }
  .dashboard-header .brand { font-size:18px; }
  .settings-card-header,.settings-card-body,.settings-link-item,.settings-plan-panel,.danger-zone-panel { padding-left:16px;padding-right:16px; }
  .settings-toggle-row { align-items:flex-start; }
  .delete-account-actions { flex-direction:column-reverse; }
  .delete-account-actions button { width:100%; }
  .section { padding:40px 0; }
  .section h2 { font-size:27px; }
  .auth-wrap { margin:28px auto; }
  .card { padding:20px 16px; }
  .plan-info-bar { padding:8px 0; }
  .plan-info-container { display:grid;grid-template-columns:auto auto minmax(104px,1fr);align-items:center;gap:8px;padding-right:12px;padding-left:12px; }
  .plan-info-item { min-width:0;align-items:flex-start;flex-direction:column;justify-content:center;gap:0; }
  .plan-info-item:first-child { padding-right:8px;border-right:1px solid rgba(255,255,255,.18); }
  .plan-info-label { font-size:10px;line-height:1.25;white-space:nowrap; }
  .plan-info-value { max-width:86px;overflow:hidden;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap; }
  .plan-info-upgrade-btn { width:100%;min-height:44px;justify-content:center;padding:8px 10px;font-size:12px; }
  .dashboard-footer { padding:22px 16px; }
  .settings-toggle-row { gap:14px; }
  .settings-plan-panel p { align-items:flex-start;flex-direction:column;gap:2px; }
}

@media (max-width: 480px) {
  .container { padding-right:16px;padding-left:16px; }
  .topbar .container { min-height:60px; }
  .swa-public-header .main-nav { inset:60px 0 auto;padding:12px 16px max(16px,env(safe-area-inset-bottom));max-height:calc(100dvh - 60px);overflow-y:auto; }
  .swa-public-header .brand { font-size:19px; }
  .swa-public-footer { padding-top:34px; }
  .swa-public-footer .public-footer-grid { grid-template-columns:1fr;gap:0; }
  .swa-public-footer .public-footer-brand { grid-column:auto;padding-bottom:24px; }
  .swa-public-footer .public-footer-column { padding:20px 0;border-top:1px solid rgba(255,255,255,.12); }
  .swa-public-footer .public-footer-column h2 { margin-bottom:5px; }
  .swa-public-footer .public-footer-bottom { margin-top:12px; }
  .dash-main { padding:20px 14px; }
  .dashboard-header .container { min-height:60px;padding-right:10px;padding-left:12px; }
  .dashboard-header .brand { font-size:16px; }
  .dashboard-header .header-actions { gap:3px; }
  .header-icon-btn { width:42px;height:42px;flex-basis:42px; }
  .sidebar { top:60px;width:min(300px,calc(100vw - 36px));padding-bottom:max(18px,env(safe-area-inset-bottom)); }
  .mobile-sidebar-overlay { inset:60px 0 0; }
  .dashboard-billing-cycle { align-items:stretch;flex-direction:column; }
  .dashboard-billing-cycle button { width:100%; }
  .dashboard-upgrade-content>h2 { padding-right:44px;text-align:left;font-size:25px; }
  .dashboard-upgrade-content>p { text-align:left; }
  .chat-input { align-items:stretch;flex-direction:column; }
  .chat-input .btn { width:100%; }
  .topbar-admin .brand { font-size:17px; }
  .topbar-admin .admin-tag { font-size:10px; }
}

@media (max-width: 340px) {
  .dashboard-header .brand { font-size:15px; }
  .header-icon-btn { width:40px;height:40px;flex-basis:40px; }
  .plan-info-container { grid-template-columns:auto auto minmax(96px,1fr);gap:6px;padding-right:8px;padding-left:8px; }
  .plan-info-value { max-width:74px; }
  .plan-info-upgrade-btn { padding-right:7px;padding-left:7px; }
}

.formatted-sermon-text {
  color: var(--text, #27313f);
  font-size: 1rem;
  line-height: 1.72;
  overflow-wrap: anywhere;
}
.formatted-sermon-text > *:first-child { margin-top: 0; }
.formatted-sermon-text > *:last-child { margin-bottom: 0; }
.formatted-sermon-text h2,
.formatted-sermon-text h3,
.formatted-sermon-text h4 {
  color: var(--navy, #1e3a5f);
  line-height: 1.22;
  margin: 1.35rem 0 .55rem;
  letter-spacing: 0;
}
.formatted-sermon-text h2 { font-size: 1.38rem; }
.formatted-sermon-text h3 { font-size: 1.12rem; }
.formatted-sermon-text h4 { font-size: 1rem; }
.formatted-sermon-text p {
  margin: 0 0 1rem;
}
.formatted-sermon-text ul,
.formatted-sermon-text ol {
  margin: .35rem 0 1rem 1.35rem;
  padding: 0;
}
.formatted-sermon-text li {
  margin: .35rem 0;
  padding-left: .15rem;
}
.formatted-sermon-text strong {
  color: var(--navy, #1e3a5f);
  font-weight: 800;
}
.formatted-sermon-text em {
  color: var(--muted, #5c6b7a);
}
.formatted-sermon-text.compact {
  font-size: .96rem;
  line-height: 1.62;
}
