/* Dovesong unified site theme — navy with restrained gold accents */
:root {
  --ds-navy: #011536;
  --ds-navy-deep: #000d25;
  --ds-gold: #bf8b3e;
  --ds-gold-deep: #9f6e2d;
  --ds-ink: #26364f;
  --ds-muted: #5c6879;
  --ds-ivory: #fbfaf7;
  --ds-warm: #f5f1e8;
  --ds-line: rgba(1, 21, 54, .16);
  --ds-shadow: 0 16px 42px rgba(1, 21, 54, .12);
}

body { color: var(--ds-ink); }
main h1, main h2, main h3, main h4,
section h1, section h2, section h3, section h4 {
  color: var(--ds-navy);
}

/* Keep header/footer structure intact while ensuring a unified palette. */
.u-header.u-custom-color-3,
.u-footer.u-custom-color-3 { background-color: var(--ds-navy) !important; }
.u-header .u-nav-link,
.u-header .u-text,
.u-footer .u-text { color: #fff !important; }
.u-header .u-nav-link:hover,
.u-header .u-nav-link:focus,
.u-header .u-nav-link.active { color: #efd39b !important; }

/* Gold is used as an accent, never as a competing primary color. */
.u-custom-color-2,
.u-btn.u-custom-color-2,
.u-button-style.u-custom-color-2 { background-color: var(--ds-gold) !important; color: #fff !important; }
.u-btn.u-custom-color-2:hover,
.u-button-style.u-custom-color-2:hover { background-color: var(--ds-gold-deep) !important; }

/* Normalize light-blue Nicepage surfaces to warm, elegant neutrals. */
.u-palette-1-light-3,
.u-body.u-palette-1-light-3,
section.u-palette-1-light-3,
.u-container-style.u-palette-1-light-3,
.u-container-layout.u-palette-1-light-3 { background-color: var(--ds-ivory) !important; color: var(--ds-ink) !important; }
.u-text-palette-1-base { color: var(--ds-navy) !important; }
.u-border-palette-1-base { border-color: var(--ds-navy) !important; }

/* Shared cards and content panels. */
.service-card,
.package-card,
.form-card,
.terms-card,
.faq-section details,
.u-container-style[class*="u-radius"] {
  border-color: var(--ds-line);
}
.package-card,
.form-card,
.terms-card,
.faq-section details { box-shadow: var(--ds-shadow); }

.tier-label,
.booking-eyebrow,
.form-kicker,
.terms-kicker,
.featured-badge { color: var(--ds-gold) !important; }
.featured-badge { background: var(--ds-navy) !important; color: #fff !important; }
.price { color: var(--ds-navy) !important; }
.package-card.featured { border-color: rgba(191, 139, 62, .72) !important; }
.package-link,
.terms-text-link,
.form-card a:not(.booking-submit) { color: var(--ds-navy) !important; }
.package-link:hover,
.terms-text-link:hover,
.form-card a:not(.booking-submit):hover { color: var(--ds-gold-deep) !important; }

/* Consistent neutral backgrounds for informational blocks. */
.booking-alert,
.agreement-box,
.policy-panel,
.terms-index,
.terms-note,
.terms-closing,
.faq-section details[open] summary { background: var(--ds-ivory) !important; }
.policy-panel,
.terms-note { border-left-color: var(--ds-gold) !important; }
.terms-number,
.form-step { background: var(--ds-navy) !important; color: #fff !important; }

/* Form consistency. */
.field input,
.field select,
.field textarea,
.choice-grid label,
.radio-field label {
  border-color: var(--ds-line) !important;
  background: #fff !important;
}
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--ds-gold) !important;
  box-shadow: 0 0 0 4px rgba(191, 139, 62, .13) !important;
}
.booking-submit,
.terms-primary-btn { background: var(--ds-navy) !important; color: #fff !important; }
.booking-submit:hover,
.terms-primary-btn:hover { background: var(--ds-navy-deep) !important; }

/* Thin gold details create continuity without changing layouts. */
.service-page h2::after,
.pricing-section > .u-sheet > h2::after,
.faq-heading h2::after {
  content: "";
  display: block;
  width: 56px;
  height: 2px;
  margin-top: 12px;
  background: var(--ds-gold);
}

@media (max-width: 767px) {
  .service-page h2::after,
  .pricing-section > .u-sheet > h2::after,
  .faq-heading h2::after { width: 44px; }
}


/* Cohesive 2026 refinement */
:root { --ds-navy: #011536; --ds-navy-deep: #000d25; }
.u-text-custom-color-2 { color: var(--ds-gold) !important; }
.u-palette-4-base, .u-text-palette-4-base { color: var(--ds-gold) !important; }
.ds-page { background: var(--ds-ivory); }
.ds-shell { width: min(1140px, calc(100% - 40px)); margin: 0 auto; }
.ds-eyebrow { margin: 0 0 10px; color: var(--ds-gold); font-size: .76rem; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; }
.ds-section-title { margin: 0; color: var(--ds-navy); line-height: 1.08; }
.ds-section-title:after { content: ''; display: block; width: 52px; height: 2px; margin-top: 14px; background: var(--ds-gold); }
.ds-btn { display: inline-block; padding: 15px 25px; border-radius: 999px; background: var(--ds-navy); color: #fff !important; font-size: .78rem; font-weight: 800; letter-spacing: 1px; text-decoration: none; text-transform: uppercase; }
.ds-btn:hover { background: var(--ds-gold-deep); }
.ds-btn-gold { background: var(--ds-gold); }
.ds-btn-gold:hover { background: var(--ds-gold-deep); }
@media(max-width:575px){ .ds-shell{width:min(100% - 28px,1140px)} }


/* Final site footer */
.ds-site-footer {
  background: var(--ds-navy, #011536);
  color: #fff;
  text-align: center;
  padding: 42px 20px 30px;
}
.ds-footer-inner { width: min(920px, 100%); margin: 0 auto; }
.ds-site-footer h2 {
  margin: 0;
  color: #fff !important;
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.9rem, 4vw, 2.7rem);
  line-height: 1.1;
}
.ds-footer-tagline {
  margin: 12px auto 0;
  color: #fff !important;
  font-size: 1rem;
  line-height: 1.6;
}
.ds-footer-contact {
  margin: 13px 0 0;
  color: #fff !important;
  line-height: 1.7;
}
.ds-site-footer a { color: #fff !important; text-decoration: none; }
.ds-site-footer a:hover { color: var(--ds-gold, #bf8b3e) !important; }
.ds-footer-rule {
  width: 64px;
  height: 2px;
  margin: 22px auto 18px;
  background: var(--ds-gold, #bf8b3e);
}
.ds-footer-credit {
  margin: 0;
  color: #fff !important;
  font-size: .82rem;
  letter-spacing: .2px;
}
.u-backlink { display: none !important; }
@media (max-width: 575px) {
  .ds-site-footer { padding: 36px 18px 26px; }
  .ds-footer-contact span, .ds-footer-credit span { display: block; height: 4px; overflow: hidden; }
}

/* Refined footer scale and stronger separation */
.ds-site-footer {
  background: var(--ds-navy-deep, #000d25);
  border-top: 4px solid var(--ds-gold, #bf8b3e);
  padding: 34px 20px 24px;
}
.ds-site-footer h2 { font-size: clamp(1.65rem, 3vw, 2.25rem); }
.ds-footer-tagline { margin-top: 9px; font-size: .92rem; }
.ds-footer-contact { margin-top: 9px; font-size: .9rem; }
.ds-footer-rule { margin: 17px auto 13px; }
.ds-footer-credit { font-size: .7rem; letter-spacing: .12px; opacity: .86; }
@media (max-width: 575px) {
  .ds-site-footer { padding: 29px 16px 21px; }
  .ds-footer-tagline, .ds-footer-contact { font-size: .84rem; }
  .ds-footer-credit { font-size: .66rem; line-height: 1.55; }
}

/* Final brand-header refinement */
.u-header .u-sheet-1 {
  min-height: 126px !important;
  display: flex !important;
  align-items: center !important;
  gap: 28px;
  padding-top: 16px;
  padding-bottom: 16px;
}
.ds-brand-lockup {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 14px;
  min-width: 285px;
}
.u-header .ds-brand-lockup .u-image-1 {
  width: 66px !important;
  height: 70px !important;
  margin: 0 !important;
  flex: 0 0 66px;
}
.ds-brand-copy { display: flex; flex-direction: column; justify-content: center; line-height: 1; }
.u-header .ds-brand-copy .u-text-1 {
  margin: 0 !important;
  color: #fff !important;
  font-family: 'Playfair Display', serif;
  font-size: 1.72rem;
  line-height: 1.02;
  letter-spacing: .2px;
}
.u-header .ds-brand-copy .u-text-2 {
  margin: 7px 0 0 !important;
  color: var(--ds-gold) !important;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 1.25px;
  text-transform: uppercase;
  white-space: nowrap;
}
.u-header .u-menu-1 {
  margin: 0 0 0 auto !important;
  flex: 0 1 auto;
}
.u-header .u-btn-1 {
  order: 3;
  margin: 0 !important;
  flex: 0 0 auto;
  white-space: nowrap;
}
/* Keep desktop dropdown readable in every state. */
.u-header .u-nav-popup,
.u-header .u-nav-popup .u-nav { background: #fff !important; }
.u-header .u-nav-popup .u-nav-link,
.u-header .u-nav-popup .u-nav-link.u-white,
.u-header .u-nav-popup .u-nav-link:hover,
.u-header .u-nav-popup .u-nav-link:focus,
.u-header .u-nav-popup .u-nav-link:active {
  color: var(--ds-navy) !important;
  background: #fff !important;
}
.u-header .u-nav-popup .u-nav-link:hover,
.u-header .u-nav-popup .u-nav-link:focus {
  background: var(--ds-warm) !important;
  color: var(--ds-navy-deep) !important;
}
@media (max-width: 991px) {
  .u-header .u-sheet-1 { min-height: 110px !important; gap: 18px; }
  .ds-brand-lockup { min-width: 0; }
  .u-header .ds-brand-lockup .u-image-1 { width: 56px !important; height: 60px !important; flex-basis: 56px; }
  .u-header .ds-brand-copy .u-text-1 { font-size: 1.45rem; }
  .u-header .ds-brand-copy .u-text-2 { font-size: .62rem; letter-spacing: .9px; }
  .u-header .u-menu-1 { margin-left: auto !important; }
}
@media (max-width: 767px) {
  .u-header .u-sheet-1 { min-height: 96px !important; padding-top: 12px; padding-bottom: 12px; }
  .u-header .u-btn-1 { display: none !important; }
  .u-header .ds-brand-copy .u-text-2 { white-space: normal; max-width: 150px; }
}
@media (max-width: 420px) {
  .ds-brand-lockup { gap: 10px; }
  .u-header .ds-brand-lockup .u-image-1 { width: 48px !important; height: 52px !important; flex-basis: 48px; }
  .u-header .ds-brand-copy .u-text-1 { font-size: 1.25rem; }
  .u-header .ds-brand-copy .u-text-2 { font-size: .56rem; max-width: 125px; }
}

/* Pricing cards intentionally use equal visual weight; no featured tier callouts. */
.featured-badge{display:none!important}
.pricing-card-featured{transform:none!important;border-top-color:rgba(1,21,54,.16)!important}


/* Reviews, readings and music additions */
.ds-review-invite{background:#f4efe5;border-top:1px solid rgba(1,21,54,.10);padding:34px 0}.ds-review-invite-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.ds-review-invite h2{color:var(--ds-navy);margin:0 0 8px;font-size:clamp(1.65rem,3vw,2.25rem)}.ds-review-invite p:not(.ds-eyebrow){margin:0;max-width:700px;color:#364158;line-height:1.65}.ds-review-invite .ds-btn{white-space:nowrap}.ds-simple-hero{background:var(--ds-navy);color:#fff;padding:70px 0 62px;text-align:center}.ds-simple-hero h1{color:#fff;margin:0;font-size:clamp(2.3rem,6vw,4.4rem);line-height:1.04}.ds-simple-hero p:last-child{max-width:780px;margin:18px auto 0;line-height:1.7;color:rgba(255,255,255,.88)}.ds-content-section{padding:58px 0}.ds-content-section:nth-child(odd){background:#fff}.ds-section-intro{max-width:780px;margin-bottom:30px}.ds-section-intro>p:last-child{line-height:1.7;color:#455066}.ds-reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ds-reading-card{background:#fff;border:1px solid rgba(1,21,54,.12);border-top:3px solid var(--ds-gold);padding:24px;border-radius:14px;box-shadow:0 10px 28px rgba(1,21,54,.07)}.ds-reading-card span{color:var(--ds-gold-deep);font-weight:800;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase}.ds-reading-card h3{color:var(--ds-navy);margin:8px 0 10px}.ds-reading-card p{margin:0;line-height:1.65}.ds-reading-download{text-align:center;margin-top:28px}.ds-scripture-panel{margin-top:30px;background:#f4efe5;border-radius:16px;padding:28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.ds-scripture-list p{margin:0 0 14px;line-height:1.65}.ds-music-section{background:#f7f3eb}.ds-music-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ds-music-group{background:#fff;border:1px solid rgba(1,21,54,.12);border-radius:14px;padding:23px}.ds-music-group h3{color:var(--ds-navy);margin:0 0 15px;padding-bottom:12px;border-bottom:2px solid var(--ds-gold)}.ds-music-group ul{list-style:none;padding:0;margin:0}.ds-music-group li{padding:10px 0;border-bottom:1px solid rgba(1,21,54,.08)}.ds-music-group li:last-child{border-bottom:0}.ds-music-group a{color:var(--ds-navy)!important;text-decoration:none;line-height:1.45}.ds-music-group a:hover{text-decoration:underline;color:var(--ds-gold-deep)!important}.ds-note-panel{margin-top:22px;padding:18px 20px;border-left:4px solid var(--ds-gold);background:#fff;color:#364158}.ds-note-panel a{color:var(--ds-navy);font-weight:700}.ds-form-shell{max-width:860px}.ds-site-form{background:#fff;border:1px solid rgba(1,21,54,.12);border-radius:16px;padding:30px;box-shadow:0 12px 34px rgba(1,21,54,.08)}.ds-form-heading{margin-bottom:24px}.ds-form-heading h2{color:var(--ds-navy);margin:0}.ds-form-heading p:last-child{color:#5b6473}.ds-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ds-site-form label{display:block;color:var(--ds-navy);font-weight:700;margin-bottom:18px}.ds-site-form input:not([type=checkbox]),.ds-site-form select,.ds-site-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #b9c0ca;border-radius:8px;background:#fff;padding:12px 13px;font:inherit;color:#1e293b;box-sizing:border-box}.ds-site-form textarea{resize:vertical}.ds-site-form input:focus,.ds-site-form select:focus,.ds-site-form textarea:focus{outline:3px solid rgba(191,139,62,.22);border-color:var(--ds-gold)}.ds-consent-row{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;line-height:1.5}.ds-consent-row input{margin-top:4px}.u-header .u-nav-container>.u-nav{gap:0}.u-header .u-nav-link{padding-left:13px!important;padding-right:13px!important}
@media(max-width:900px){.ds-music-columns{grid-template-columns:1fr}.ds-scripture-panel{grid-template-columns:1fr}.ds-review-invite-inner{align-items:flex-start;flex-direction:column}.ds-review-invite{padding:28px 0}}
@media(max-width:620px){.ds-reading-grid,.ds-form-grid{grid-template-columns:1fr}.ds-simple-hero{padding:52px 0 46px}.ds-content-section{padding:42px 0}.ds-site-form{padding:22px}.ds-review-invite .ds-btn{width:100%;text-align:center}}

/* Readings page artwork breaks */
.ds-reading-art-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.ds-reading-art{margin:0;text-align:center}
.ds-reading-art img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid rgba(1,21,54,.10);box-shadow:0 12px 32px rgba(1,21,54,.10)}
.ds-reading-art-caption{margin:10px 0 0;text-align:left;font-size:.9rem;color:#666}
@media(max-width:760px){.ds-reading-art-row{grid-template-columns:1fr;max-width:520px;margin:26px auto 0}.ds-reading-art img{aspect-ratio:auto;max-height:none;border-radius:12px}}


/* Subtle warm-gold site canvas — July 2026 revision */
html, body.u-body {
  background-color: var(--ds-ivory);
  background-image: radial-gradient(circle at 82% 12%, rgba(191,139,62,.09), transparent 34%), linear-gradient(145deg,#fbfaf7 0%,#f8f3e9 52%,#fbfaf7 100%);
}
