/* Shared finishing rules for the Room, editorial pages and ministry readers. */
body .cp-site .mn-connected {
  width:calc(100% - 80px); max-width:1160px; margin:56px auto!important; padding:32px!important;
}
body .cp-site .mn-connected:not(.mn-connected--recording) { background:transparent!important; border:0; border-block:1px solid #353f43; border-radius:0; }
body .cp-site .mn-connected:not(.mn-connected--recording)>h2 { font:400 clamp(28px,3vw,40px)/1.16 Anton,sans-serif; margin:12px 0; }
body .cp-site .mn-connected:not(.mn-connected--recording)>p { max-width:60ch; color:#b7c1c5; }
body .cp-site .cp-utility-content>.cp-kicker { margin-bottom:18px; font:400 10px/1.7 Arial,sans-serif!important; letter-spacing:.15em; color:#a5dbe4!important; }
body .cp-site .cp-invitation.contextual-fan-cta {
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  align-items:center; gap:48px; width:calc(100% - 80px); max-width:1160px;
  margin:64px auto!important; padding:40px!important;
  border:1px solid #35434a; border-radius:20px;
  background:radial-gradient(ellipse at 0 0,#50233b38,transparent 65%),#0f171b!important;
}
body .cp-site .cp-invitation.contextual-fan-cta > div { min-width:0; }
body .cp-site .cp-invitation.contextual-fan-cta .follow-invitation-kicker { margin:0 0 14px; color:#a5dbe4; font:400 10px/1.6 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
body .cp-site .cp-invitation.contextual-fan-cta h2 { max-width:18ch; margin:0; color:#f5f3ee; font:400 clamp(30px,3.6vw,46px)/1.13 Anton,sans-serif; letter-spacing:-.015em; }
body .cp-site .cp-invitation.contextual-fan-cta .follow-invitation-actions { gap:12px; align-content:center; }
body .cp-site .cp-invitation.contextual-fan-cta .follow-invitation-actions > p { margin:0 0 8px; color:#b7c1c5; font:400 15px/1.75 Arial,sans-serif; }
body .cp-site .cp-invitation.contextual-fan-cta :is(.follow-invitation-primary,.follow-invitation-secondary) { min-height:48px; padding:12px 20px; border-radius:100px!important; font:400 13px/1.5 Arial,sans-serif!important; letter-spacing:0!important; text-transform:none!important; }
body .cp-site .cp-invitation.contextual-fan-cta .follow-invitation-secondary { color:#c5e1e5!important; background:transparent!important; border:1px solid #52616a!important; }
body .cp-site .cp-invitation.contextual-fan-cta .follow-invitation-secondary:hover { color:#f5f3ee!important; background:#19292f!important; border-color:#82b5c0!important; }
body .cp-site .cp-invitation.contextual-fan-cta a span { color:inherit; }

body .cp-site .gp-listen-footer,.lr-app .lr-footer {
  width:calc(100% - 80px); max-width:1160px; margin:56px auto 0!important;
  padding:30px 0 42px!important; border-top:1px solid #353f43!important;
}
body .cp-site .gp-listen-footer .gp-listen-footer-links,.lr-app .lr-footer .gp-listen-footer-links { display:flex; flex-wrap:wrap; align-items:center; width:100%; gap:8px 28px!important; margin:0; padding:0; }
body .cp-site .gp-listen-footer a,.lr-app .lr-footer nav>a { display:inline-flex; align-items:center; min-height:44px; font:400 13px/1.5 Arial,sans-serif; }
body .cp-site .gp-listen-footer .gp-listen-footer-return { margin-left:auto; color:#a7dce4!important; }
body .cp-site .gp-listen-footer>.gp-listen-footer-signature,.lr-app .lr-footer>span { margin:0; color:#99a7ad!important; font:400 11px/1.7 Arial,sans-serif; }

/* Four phone destinations with the same hit areas and active treatment. */
.lr-app .lr-feature { overflow-x:clip; }
.lr-app .lr-bottom-nav>a { min-width:0; flex:1; }
.lr-app .lr-bottom-nav .lr-nav-marker { width:calc((100% - 24px)/var(--nav-count,5)); }
/* One native modal menu across listening, Scripture, and editorial pages. */
body :is(.cp-site,.lr-app) .gp-menu-button { display:flex; flex:none; align-items:center; justify-content:center; gap:14px; min-width:44px; min-height:44px; padding:8px 0; border:0; background:none; color:#f5f3ee; font:400 14px/1.4 Arial,sans-serif; cursor:pointer; }
body :is(.cp-site,.lr-app) .gp-menu-button svg { width:22px; height:22px; color:#afb2b5; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog {
  position:fixed; inset:0; margin:auto; box-sizing:border-box;
  width:min(440px,calc(100% - 32px)); max-width:calc(100% - 32px); max-height:calc(100dvh - 32px);
  padding:24px; overflow:auto; overscroll-behavior:contain;
  border:1px solid #42545c; border-radius:16px; background:#0f171b; color:#f5f3ee;
  box-shadow:0 24px 70px #0008; font:400 14px/1.5 Arial,sans-serif;
}
body :is(.cp-site,.lr-app) .gp-navigation-dialog:not([open]) { display:none!important; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog[open] { display:block!important; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog::backdrop { background:#030708cf; backdrop-filter:blur(8px); }
html:has(.gp-navigation-dialog) { scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:#a33d59 #080b0c; }
html:has(.gp-navigation-dialog[open]) { overflow:hidden; }
body :is(.cp-site,.lr-app) .gp-navigation-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 20px; }
body :is(.cp-site,.lr-app) .gp-navigation-heading h2 { margin:0; color:#f5f3ee; font:400 22px/1.25 Arial,sans-serif; letter-spacing:-.025em; text-transform:none; }
body :is(.cp-site,.lr-app) .gp-navigation-heading button { display:grid; place-items:center; flex:none; width:44px; min-height:44px; margin:-8px -8px -8px 0; padding:0; border:0; border-radius:8px; background:transparent; color:#c9d4d5; cursor:pointer; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog>nav { display:grid; position:static; width:auto; max-height:none; gap:0; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog nav a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:17px 0; margin:0; border:0; border-top:1px solid #35454d; border-radius:0; background:transparent; color:#f5f3ee!important; font:400 18px/1.5 Arial,sans-serif!important; letter-spacing:0; text-transform:none; text-decoration:none; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog nav a>svg { display:block; flex:none; width:19px; height:19px; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog .gp-menu-group { grid-column:1/-1; margin:0; border-top:1px solid #35454d; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog .gp-menu-group>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; margin:0; padding:12px 0; list-style:none; cursor:pointer; color:#b7dbe3!important; font:400 13px/1.5 Arial,sans-serif!important; letter-spacing:0; text-transform:none; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog .gp-menu-group>summary::-webkit-details-marker { display:none; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog .gp-menu-group>summary::after { content:none; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog .gp-menu-group>summary>span { position:static; width:auto; height:auto; margin:0; clip-path:none; overflow:visible; font-size:20px; color:#85d8e8; rotate:none; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog .gp-menu-group[open]>summary>span { transform:rotate(45deg); }
body :is(.cp-site,.lr-app) .gp-navigation-dialog .gp-menu-group>div { display:grid; gap:2px; padding:0 0 14px 12px; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog .gp-menu-group:not([open])>div { display:none; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog .gp-menu-group>div>a { padding:9px 0; border:0; color:#c9d4d5!important; font-size:13px!important; }
body :is(.cp-site,.lr-app) .gp-navigation-dialog nav a[aria-current="page"],body :is(.cp-site,.lr-app) .gp-navigation-dialog nav a:hover { color:#96e2eb!important; }
body :is(.cp-site,.lr-app) :is(.gp-menu-button,.gp-navigation-dialog button,.gp-navigation-dialog a,.gp-navigation-dialog summary):focus-visible { outline:2px solid #85d8e8; outline-offset:4px; }

@media(min-width:701px) {
  body .cp-site .gp-brand-header.gp-listen-header .cp-primary-nav { display:flex!important; }
  body .cp-site .gp-brand-header.gp-listen-header .gp-brand-bottom-nav { display:none!important; }
  .lr-app .lr-desktop-nav { display:flex; }
}
@media(min-width:701px) and (max-width:1050px) {
  body .cp-site .gp-brand-header.gp-listen-header,.lr-app .lr-header { padding:24px!important; gap:18px!important; min-height:94px; }
  body .cp-site .gp-brand-header.gp-listen-header ._wordmark_1qjqh_17 strong,.lr-app .lr-brand strong { font-size:22px!important; }
  body .cp-site .gp-brand-header.gp-listen-header ._wordmark_1qjqh_17 small,.lr-app .lr-brand span { font-size:7px!important; letter-spacing:.15em!important; }
  body .cp-site .gp-brand-header.gp-listen-header .cp-primary-nav,.lr-app .lr-desktop-nav { gap:18px!important; margin-left:auto; }
  body .cp-site .gp-brand-header.gp-listen-header .cp-primary-nav>a,.lr-app .lr-desktop-nav>a { font-size:13px!important; white-space:nowrap; }
  body .cp-site .gp-listen-header .gp-listen-shop>span,.lr-app .lr-shop-link>span,
  body :is(.cp-site,.lr-app) .gp-menu-button>span { display:none; }
  body :is(.cp-site,.lr-app) .gp-menu-button { width:44px; justify-content:center; }
}
@media(max-width:700px) {
  body .cp-site .mn-connected { width:calc(100% - 48px); margin:40px auto!important; padding:24px 0!important; }
  body .cp-site .cp-invitation.contextual-fan-cta { width:calc(100% - 48px); grid-template-columns:minmax(0,1fr); gap:24px; margin:40px auto!important; padding:26px 22px!important; border-radius:18px; }
  body .cp-site .cp-invitation.contextual-fan-cta h2 { font-size:34px; }
  body .cp-site .cp-invitation.contextual-fan-cta .follow-invitation-actions>p { font-size:14px; }
  body .cp-site .gp-listen-footer,.lr-app .lr-footer { width:calc(100% - 48px); padding:26px 0 30px!important; margin-top:40px!important; gap:8px 24px; }
  body .cp-site .gp-listen-footer .gp-listen-footer-links,.lr-app .lr-footer .gp-listen-footer-links { gap:5px 24px!important; }
  body :is(.cp-site,.lr-app) .gp-menu-button { gap:10px; font-size:12px; }
  body :is(.cp-site,.lr-app) .gp-menu-button>span { display:none; }
  body :is(.cp-site,.lr-app) .gp-menu-button svg { width:19px; height:19px; }
  body .cp-site .gp-listen-footer .gp-listen-footer-return { margin-left:0; }
  body .cp-site .gp-brand-header.gp-listen-header .cp-primary-nav { display:none!important; }
  body .cp-site .gp-brand-header.gp-listen-header .gp-brand-bottom-nav>a { min-width:0; flex:1; }
  body :is(.cp-site,.lr-app) input:is([type=text],[type=email],[type=search],[type=url],[type=tel]),
  body :is(.cp-site,.lr-app) select,body :is(.cp-site,.lr-app) textarea { font-size:16px; }
}
@media(max-width:360px) {
  body .cp-site .cp-invitation.contextual-fan-cta,
  body .cp-site .gp-listen-footer,.lr-app .lr-footer { width:calc(100% - 40px); }
}

/* Product imagery leads the shop; retain the full approved garment mockup. */
body .cp-site .gh-hero[data-hero-art="shop-grace"] .gh-art {
  background:#faf8f5;
}
body .cp-site .gh-hero[data-hero-art="shop-grace"] .gh-art::before,
body .cp-site .gh-hero[data-hero-art="shop-grace"] .gh-art::after { display:none; }
body .cp-site .gh-hero[data-hero-art="shop-grace"] .gh-base {
  object-fit:contain!important; object-position:center!important;
  background:#fff; transform:none!important; filter:none!important;
}
@media(max-width:700px) {
  body .cp-site .gh-hero[data-hero-art="shop-grace"] > .gh-art {
    height:auto; aspect-ratio:1; margin-bottom:26px; border-radius:20px;
  }
}
