/* Reversible launch review: only text contrast, action colors and small labels.
   Keep the existing backgrounds, photography, layout and third-party branding.
   Removing this stylesheet's link from base.html disables these refinements. */
:root {
    --readability-green: #345541;
    --readability-green-hover: #284633;
    --readability-muted: #6e6a66;
    --readability-gold: #806023;
}

/* First-party actions. OAuth brand buttons and the obituary header stay as-is. */
:is(#checkout-pay-button, #faq-chat-submit, #auth-email-submit-btn,
    #auth-success-continue, #auth-phone-send-button, #auth-phone-confirm-button,
    #phone-send-button, #phone-confirm-button, .login-gate-primary,
    .readability-checkout button[type="submit"], .readability-checkout a.bg-primary) {
    color: #fff;
    background-color: var(--readability-green);
    border-color: var(--readability-green);
    box-shadow: 0 6px 18px #34554118;
}
:is(#checkout-pay-button, #faq-chat-submit, #auth-email-submit-btn,
    #auth-success-continue, #auth-phone-send-button, #auth-phone-confirm-button,
    #phone-send-button, #phone-confirm-button, .login-gate-primary,
    .readability-checkout button[type="submit"], .readability-checkout a.bg-primary):hover:not(:disabled) {
    color: #fff;
    background-color: var(--readability-green-hover);
    border-color: var(--readability-green-hover);
}
:is(#checkout-pay-button, #faq-chat-submit, #auth-email-submit-btn,
    #auth-success-continue, #auth-phone-send-button, #auth-phone-confirm-button,
    #phone-send-button, #phone-confirm-button, .login-gate-primary,
    .readability-checkout button[type="submit"], .readability-checkout a.bg-primary):focus-visible {
    outline: 3px solid var(--readability-green);
    outline-offset: 3px;
}
#auth-email-signup-btn { color: var(--readability-green); border-color: var(--readability-green); }
#auth-email-signup-btn:hover { color: #fff; background-color: var(--readability-green); }

/* The selected payment method stays clear when JavaScript updates utility classes. */
.readability-checkout [data-method] { color: #3d4940; }
.readability-checkout [data-method]:hover,
.readability-checkout [data-method][aria-pressed="true"] {
    color: var(--readability-green);
    border-color: var(--readability-green);
    background-color: #eef4ef;
}
.readability-checkout [data-method]:focus-visible { outline: 2px solid var(--readability-green); outline-offset: 3px; }
.readability-checkout :is(.text-primary, input[type="checkbox"]) { color: var(--readability-green); accent-color: var(--readability-green); }
.readability-checkout :is(.text-text-muted, [class~="text-[#78817D]"]) { color: var(--readability-muted); }
.readability-checkout :is([class~="text-[10px]"], [class~="text-[11px]"]) { font-size: 12px; }
.readability-checkout [class~="text-[9px]"] { font-size: 11px; }
.readability-checkout aside [class~="text-white/50"] { color: #dbe4dc; }

/* Legible amounts on both selected and unselected pricing tabs. */
.pricing-page .term-toggle button { color: #5f5b53; font-size: 13px; }
.pricing-page .term-toggle button small { color: var(--readability-gold); font-size: 12px; line-height: 1.5; }
.pricing-page .term-toggle button[aria-pressed="true"] { color: #254b3d; }
.pricing-page .term-toggle button[aria-pressed="true"] small { color: #254b3d; }
.pricing-page .term-toggle button:focus-visible { outline: 2px solid #254b3d; outline-offset: 3px; }
.pricing-page .final-card-addon small { color: var(--readability-muted); font-size: 12px; }

/* Deepen gold text without changing gold decorative surfaces. */
.readability-support .text-primary,
#auth-modal .text-primary,
.login-gate [class~="text-[#a18049]"] { color: var(--readability-gold); }
.readability-support .text-text-muted,
.readability-support [class~="text-[#6F746F]"],
#auth-modal .text-text-muted,
.login-gate [class~="text-[#989086]"],
.phone-verify-page :is(#phone-help, [class~="text-[#8c8479]"]) { color: var(--readability-muted); }
.readability-support #faq-chat-input::placeholder,
#auth-modal input::placeholder,
.readability-checkout :is(input, textarea)::placeholder,
.phone-verify-page input::placeholder { color: var(--readability-muted); opacity: 1; }
.login-gate [class~="text-[#989086]"],
.phone-verify-page :is(#phone-help, [class~="text-[#8c8479]"]) { font-size: 12px; }

/* Obituary form instructions are information, not decorative captions. */
.obituary-quick-page :is(.text-text-muted, .obituary-options-label, #age-help,
    #quick-preview-note, #quick-preview-state, #obituary-auth-notice),
.obituary-quick-page .obituary-quick-submit p,
.obituary-quick-page .obituary-auto-memorial-note small { color: var(--readability-muted); }
.obituary-quick-page :is(.text-text-muted, .obituary-options-label, #age-help,
    #quick-preview-note, #obituary-auth-notice),
.obituary-quick-page .obituary-quick-submit p,
.obituary-quick-page .obituary-auto-memorial-note small { font-size: 12px; }
.obituary-quick-page :is(.obituary-quick-description, .obituary-sender-field > p,
    .obituary-sender-field > label > span, #obituary-photo-help,
    .obituary-religion-entry small, .obituary-photo-entry small) { color: var(--readability-muted); }
.obituary-quick-page :is(.obituary-sender-field > p, .obituary-sender-field > label > span,
    #obituary-photo-help, .obituary-religion-entry small, .obituary-photo-entry small) { font-size: 12px; }
.obituary-quick-page :is(input, textarea)::placeholder { color: var(--readability-muted); opacity: 1; }
.obituary-quick-page :is(.obituary-quick-eyebrow, .obituary-essential-header span,
    .obituary-quick-card > p:first-of-type, .obituary-quick-card dt) { color: var(--readability-gold); }

/* Preserve the green/peach grief palette; increase contrast of informational text. */
.grief-page { --grief-muted: #596b61; }
.grief-page :is(.grief-reaction p, .grief-care-card p, .grief-care__note,
    .grief-story p, .grief-nav-card p, .grief-caption, .grief-hero__note,
    .grief-sources__copy span) { color: #596b61; }
.grief-page :is(.grief-caption, .grief-hero__note, .grief-sources__copy span) { font-size: 12px; }
.grief-page :is(.grief-eyebrow, .grief-story__meta) { color: var(--readability-gold); }
.grief-page .grief-reminder .grief-eyebrow { color: #f3d49e; }

/* Keep the approved home headline; clarify only its supporting labels. */
.service-hero .service-hero__tabs button:not([aria-selected="true"]) { color: #576456; }
.service-hero :is(.service-preview__letter small, .service-preview__badge,
    .service-preview__references figcaption) { color: var(--readability-muted); }
.mm-brand-values .mm-section-heading > p:last-child { color: var(--readability-muted); }
.mm-brand-values :is(.mm-eyebrow, .mm-value-grid article > span) { color: var(--readability-gold); }

/* Preserve each page's approved shapes and palette; align interaction behavior. */
:is(.ebook-button, .bookclub-button, .hero-button, .ab-overview-hero-link,
    .moriam-apply-action, .moriam-primary-action, .service-directory__primary,
    #auth-password-reset-btn) { min-height: 44px; }
:is(.ebook-button, .bookclub-button, .hero-button, .ab-overview-hero-link,
    .moriam-apply-action, .moriam-primary-action, .ebook-page-nav a,
    #auth-password-reset-btn):focus-visible { outline: 3px solid #345541; outline-offset: 4px; }
.service-availability, .ebook-start-note, .ebook-availability,
.bookclub-consent, #auth-signup-consents label { font-size: 13px; line-height: 1.8; }
.service-availability { margin-top: 12px; }
#auth-password-reset-message[data-error="true"] { color: #a12b27; }
.site-skip-link { position: fixed; top: -100px; left: 16px; z-index: 10001; padding: 12px 20px; background: #fffdf8; color: #345541; border: 2px solid #345541; border-radius: 8px; }
.site-skip-link:focus { top: 12px; }
:is(#application, #reservation, #ebook-workspace, #interview-workspace) { scroll-margin-top: 100px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }
