/*
Theme Name: ASN Night Sky
Theme URI: https://asn.danoday.net/
Description: A dark, starfield-themed child of Twenty Twenty-Five for the Astronomical Society of Nevada. Cinzel display serif paired with Inter Tight body. Animated CSS starfield, warm amber accents, vintage observatory feel.
Author: Astronomical Society of Nevada
Author URI: https://asn.danoday.net/
Template: twentytwentyfive
Version: 1.0.1
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: asn-night-sky
*/

/* ============================================================
   Google Fonts — Cinzel (display) + Inter Tight (body)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Inter+Tight:wght@300;400;500;600;700&display=swap');

/* ============================================================
   Animated Starfield Background
   Three layered star canvases at different depths/speeds
   for parallax. CSS-only, no JS, no images.
   ============================================================ */

body {
    background-color: #050816 !important;
    color: #e8edf5;
    position: relative;
    overflow-x: hidden;
}

/* Nebula gradient wash behind stars */
body::before {
    content: '';
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background:
        radial-gradient(ellipse at 20% 10%, rgba(76, 51, 138, 0.18), transparent 55%),
        radial-gradient(ellipse at 80% 70%, rgba(20, 70, 120, 0.22), transparent 55%),
        radial-gradient(ellipse at 50% 100%, rgba(90, 40, 100, 0.12), transparent 60%);
    z-index: -2;
    pointer-events: none;
}

/* Star layers — generated via box-shadow */
body::after {
    content: '';
    position: fixed;
    top: 0; left: 0;
    width: 1px;
    height: 1px;
    z-index: -1;
    pointer-events: none;
    box-shadow:
        /* Far stars — small, dim, slow */
        137px 421px 0 0.5px rgba(255,255,255,0.45),
        289px 88px 0 0.5px rgba(255,255,255,0.5),
        612px 245px 0 0.5px rgba(255,235,200,0.6),
        881px 533px 0 0.5px rgba(255,255,255,0.4),
        1102px 167px 0 0.5px rgba(200,220,255,0.55),
        1334px 392px 0 0.5px rgba(255,255,255,0.5),
        1577px 78px 0 0.5px rgba(255,240,210,0.55),
        43px 712px 0 0.5px rgba(255,255,255,0.45),
        366px 891px 0 0.5px rgba(220,230,255,0.5),
        704px 1023px 0 0.5px rgba(255,255,255,0.4),
        965px 776px 0 0.5px rgba(255,250,230,0.55),
        1245px 1145px 0 0.5px rgba(255,255,255,0.45),
        1502px 944px 0 0.5px rgba(200,215,255,0.5),
        1789px 1267px 0 0.5px rgba(255,255,255,0.5),
        211px 1389px 0 0.5px rgba(255,235,200,0.55),
        548px 1556px 0 0.5px rgba(255,255,255,0.45),
        822px 1422px 0 0.5px rgba(220,235,255,0.5),
        1098px 1632px 0 0.5px rgba(255,250,225,0.55),
        1411px 1789px 0 0.5px rgba(255,255,255,0.45),
        1683px 1502px 0 0.5px rgba(200,220,255,0.5),

        /* Brighter mid-field stars */
        198px 234px 1px 0.5px rgba(255,255,255,0.85),
        467px 612px 1px 0.5px rgba(255,240,210,0.9),
        923px 156px 1px 0.5px rgba(220,235,255,0.85),
        1234px 678px 1px 0.5px rgba(255,255,255,0.9),
        1556px 423px 1px 0.5px rgba(255,235,200,0.85),
        78px 945px 1px 0.5px rgba(255,255,255,0.9),
        389px 1156px 1px 0.5px rgba(220,235,255,0.85),
        778px 834px 1px 0.5px rgba(255,250,225,0.9),
        1067px 1278px 1px 0.5px rgba(255,255,255,0.85),
        1389px 1512px 1px 0.5px rgba(220,235,255,0.9),
        1645px 822px 1px 0.5px rgba(255,240,210,0.85),
        267px 1678px 1px 0.5px rgba(255,255,255,0.9),

        /* A few brilliant amber "lamp" stars */
        334px 489px 1.5px 1px rgba(244,197,66,0.95),
        889px 967px 1.5px 1px rgba(255,210,130,0.9),
        1456px 256px 1.5px 1px rgba(244,197,66,0.95),
        612px 1334px 1.5px 1px rgba(255,210,130,0.9),
        1198px 1567px 1.5px 1px rgba(244,197,66,0.95);
    animation: drift 240s linear infinite;
}

@keyframes drift {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(-300px, -200px, 0); }
}

/* Subtle twinkle on a few stars — applied via pseudo-elements on .wp-site-blocks */
.wp-site-blocks::before {
    content: '';
    position: fixed;
    top: 15%; left: 22%;
    width: 2px; height: 2px;
    background: rgba(255,240,210,0.95);
    border-radius: 50%;
    box-shadow: 0 0 6px 1px rgba(255,210,130,0.6);
    animation: twinkle 4s ease-in-out infinite;
    z-index: -1;
    pointer-events: none;
}
.wp-site-blocks::after {
    content: '';
    position: fixed;
    top: 65%; left: 78%;
    width: 2px; height: 2px;
    background: rgba(244,197,66,0.95);
    border-radius: 50%;
    box-shadow: 0 0 8px 2px rgba(244,197,66,0.5);
    animation: twinkle 6s ease-in-out infinite 2s;
    z-index: -1;
    pointer-events: none;
}

@keyframes twinkle {
    0%, 100% { opacity: 0.3; transform: scale(0.8); }
    50%      { opacity: 1;   transform: scale(1.3); }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    body::after,
    .wp-site-blocks::before,
    .wp-site-blocks::after {
        animation: none;
    }
}

/* ============================================================
   Typography refinements
   ============================================================ */

body,
.wp-site-blocks,
p, li, td, th, input, textarea, select, button {
    font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, sans-serif;
    font-feature-settings: 'cv11', 'ss01';
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.site-title,
.wp-block-site-title a,
.wp-block-post-title,
.wp-block-post-title a {
    font-family: 'Cinzel', 'Playfair Display', Georgia, serif !important;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #f0e6d2;
}

h1, .wp-block-post-title { letter-spacing: 0.04em; }

/* Site title — extra polish */
.wp-block-site-title a {
    text-transform: uppercase;
    letter-spacing: 0.18em !important;
    font-size: 1.05rem !important;
    color: #f4c542 !important;
    text-decoration: none;
}
.wp-block-site-title a:hover {
    color: #ffd97a !important;
}

/* Site tagline — italicized small caps */
.wp-block-site-tagline {
    font-family: 'Cinzel', serif !important;
    font-style: italic;
    color: #b8a878;
    letter-spacing: 0.1em;
    font-size: 0.85rem;
}

/* ============================================================
   Links
   ============================================================ */

a {
    color: #f4c542;
    text-decoration: underline;
    text-decoration-color: rgba(244,197,66,0.35);
    text-underline-offset: 3px;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
a:hover {
    color: #ffd97a;
    text-decoration-color: #ffd97a;
}

/* ============================================================
   Navigation
   ============================================================ */

.wp-block-navigation {
    font-family: 'Cinzel', serif;
    letter-spacing: 0.08em;
    font-size: 0.9rem;
    text-transform: uppercase;
}

.wp-block-navigation .wp-block-navigation-item__content {
    color: #e8edf5 !important;
    text-decoration: none !important;
    padding: 0.5em 0.9em;
    border-radius: 2px;
    transition: all 0.25s ease;
}
.wp-block-navigation .wp-block-navigation-item__content:hover {
    color: #f4c542 !important;
    background: rgba(244,197,66,0.08);
}
.wp-block-navigation .current-menu-item .wp-block-navigation-item__content {
    color: #f4c542 !important;
    border-bottom: 1px solid rgba(244,197,66,0.5);
}

/* ============================================================
   Buttons
   ============================================================ */

.wp-block-button__link,
button.wp-block-button__link,
.pmpro_btn,
input[type=submit],
button[type=submit] {
    background: linear-gradient(135deg, #f4c542 0%, #d99a2a 100%) !important;
    color: #1a1208 !important;
    font-family: 'Cinzel', serif !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.85rem !important;
    font-weight: 600;
    padding: 0.85em 1.8em !important;
    border: none !important;
    border-radius: 2px !important;
    box-shadow: 0 0 0 1px rgba(244,197,66,0.3),
                0 4px 20px rgba(244,197,66,0.15);
    transition: all 0.3s ease;
    cursor: pointer;
}

.wp-block-button__link:hover,
button.wp-block-button__link:hover,
.pmpro_btn:hover,
input[type=submit]:hover,
button[type=submit]:hover {
    background: linear-gradient(135deg, #ffd97a 0%, #f4c542 100%) !important;
    box-shadow: 0 0 0 1px rgba(244,197,66,0.6),
                0 6px 28px rgba(244,197,66,0.3);
    transform: translateY(-1px);
}

/* Outline button variant */
.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link {
    background: transparent !important;
    color: #f4c542 !important;
    border: 1px solid rgba(244,197,66,0.5) !important;
    box-shadow: none;
}
.is-style-outline .wp-block-button__link:hover {
    background: rgba(244,197,66,0.08) !important;
    border-color: #f4c542 !important;
}

/* ============================================================
   Cards / Groups / Boxes — cosmic glass surfaces
   ============================================================ */

.asn-card,
.wp-block-group.has-background,
.wp-block-column.has-background {
    background: linear-gradient(180deg,
        rgba(20, 28, 50, 0.55) 0%,
        rgba(12, 18, 36, 0.65) 100%) !important;
    border: 1px solid rgba(244,197,66,0.12);
    border-radius: 4px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 2rem !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.04),
        0 8px 32px rgba(0,0,0,0.4);
}

/* Sidebar updates panel */
.asn-sidebar {
    background: linear-gradient(180deg,
        rgba(15, 22, 40, 0.6) 0%,
        rgba(10, 14, 28, 0.7) 100%);
    border: 1px solid rgba(244,197,66,0.15);
    border-radius: 4px;
    padding: 1.75rem;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.asn-sidebar h3 {
    font-family: 'Cinzel', serif !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #f4c542 !important;
    margin: 0 0 1.2rem 0 !important;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(244,197,66,0.2);
}

.asn-sidebar .wp-block-latest-posts__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.asn-sidebar .wp-block-latest-posts__list > li {
    padding: 0.9rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.asn-sidebar .wp-block-latest-posts__list > li:last-child {
    border-bottom: none;
}
.asn-sidebar .wp-block-latest-posts__list a {
    font-family: 'Cinzel', serif;
    color: #f0e6d2;
    text-decoration: none;
    font-size: 0.95rem;
    line-height: 1.4;
    display: block;
}
.asn-sidebar .wp-block-latest-posts__list a:hover {
    color: #f4c542;
}
.asn-sidebar .wp-block-latest-posts__post-date {
    color: #8a9bb8 !important;
    font-size: 0.75rem !important;
    font-family: 'Inter Tight', sans-serif;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: block;
    margin-top: 0.3rem;
}
.asn-sidebar .wp-block-latest-posts__post-excerpt {
    color: #b8c2d4;
    font-size: 0.85rem;
    line-height: 1.5;
    margin-top: 0.4rem;
}

/* ============================================================
   Hero / Mission section
   ============================================================ */

.asn-hero {
    text-align: center;
    padding: 4rem 1rem 3rem;
    position: relative;
}

.asn-hero h1 {
    font-size: clamp(2rem, 5vw, 3.5rem) !important;
    margin: 0.5rem 0 !important;
    text-shadow: 0 0 40px rgba(244,197,66,0.15);
}

.asn-tagline {
    font-family: 'Cinzel', serif;
    font-style: italic;
    font-size: 1.1rem;
    color: #b8a878;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin: 0 0 1.5rem 0 !important;
}

.asn-tagline::before,
.asn-tagline::after {
    content: '✦';
    color: rgba(244,197,66,0.5);
    margin: 0 0.8em;
    font-size: 0.7em;
    vertical-align: middle;
}

.asn-mission {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #d4dae8;
    max-width: 42rem;
    margin: 0 auto !important;
    font-style: italic;
    quotes: '“' '”';
}
.asn-mission::before { content: open-quote; color: #f4c542; font-size: 1.4em; line-height: 0; vertical-align: -0.3em; margin-right: 0.1em; }
.asn-mission::after  { content: close-quote; color: #f4c542; font-size: 1.4em; line-height: 0; vertical-align: -0.3em; margin-left: 0.1em; }

/* ============================================================
   Section dividers — constellation rule
   ============================================================ */

.asn-divider {
    text-align: center;
    margin: 3rem 0 !important;
    color: rgba(244,197,66,0.4);
    letter-spacing: 1.5em;
    font-size: 0.7rem;
}

/* ============================================================
   PMPro form polish
   ============================================================ */

.pmpro_form,
.pmpro_checkout,
.pmpro_account {
    background: rgba(15, 22, 40, 0.5);
    border: 1px solid rgba(244,197,66,0.1);
    border-radius: 4px;
    padding: 2rem;
    backdrop-filter: blur(8px);
}

.pmpro_form label,
.pmpro_checkout label,
.pmpro_form_label {
    color: #f0e6d2 !important;
    font-family: 'Cinzel', serif !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.85rem;
}

.pmpro_form input[type=text],
.pmpro_form input[type=email],
.pmpro_form input[type=password],
.pmpro_form input[type=tel],
.pmpro_form select,
.pmpro_form textarea,
input[type=text].pmpro_form-input,
input[type=email].pmpro_form-input {
    background: rgba(5, 8, 22, 0.7) !important;
    color: #e8edf5 !important;
    border: 1px solid rgba(244,197,66,0.2) !important;
    border-radius: 2px !important;
    padding: 0.7em 0.9em !important;
}

.pmpro_form input:focus,
.pmpro_form select:focus,
.pmpro_form textarea:focus {
    outline: none !important;
    border-color: #f4c542 !important;
    box-shadow: 0 0 0 3px rgba(244,197,66,0.15) !important;
}

/* PMPro pricing table */
.pmpro_level_cost,
.pmpro_level-name,
table.pmpro_levels-table th {
    color: #f4c542 !important;
    font-family: 'Cinzel', serif !important;
}
table.pmpro_levels-table td {
    color: #e8edf5;
    border-color: rgba(244,197,66,0.15) !important;
}

/* ============================================================
   Calendar embed wrapper
   ============================================================ */

.asn-calendar-wrap {
    background: rgba(15, 22, 40, 0.55);
    border: 1px solid rgba(244,197,66,0.15);
    border-radius: 4px;
    padding: 1rem;
    margin: 2rem 0;
    overflow: hidden;
}
.asn-calendar-wrap iframe {
    width: 100%;
    border: 0;
    display: block;
    /* Invert the calendar so its white background blends with our dark theme.
       Hue-rotate restores accurate colors after invert. */
    filter: invert(0.92) hue-rotate(180deg);
    border-radius: 2px;
}

/* ============================================================
   Footer
   ============================================================ */

.wp-block-template-part[data-type="wp_template_part"][data-slug="footer"],
footer.wp-block-template-part {
    border-top: 1px solid rgba(244,197,66,0.15);
    background: rgba(5, 8, 22, 0.6);
    padding: 2rem 0 !important;
    margin-top: 4rem;
}

/* ============================================================
   Forms (general — for contact form, etc)
   ============================================================ */

.wp-block-search__input,
input[type=text],
input[type=email],
input[type=tel],
textarea {
    background: rgba(5, 8, 22, 0.7);
    color: #e8edf5;
    border: 1px solid rgba(244,197,66,0.2);
    border-radius: 2px;
    padding: 0.7em 0.9em;
    font-family: 'Inter Tight', sans-serif;
}

input:focus,
textarea:focus {
    outline: none;
    border-color: #f4c542;
    box-shadow: 0 0 0 3px rgba(244,197,66,0.15);
}

/* ============================================================
   Responsive sidebar collapse
   ============================================================ */

@media (max-width: 781px) {
    .asn-hero {
        padding: 2.5rem 1rem 2rem;
    }
    .asn-card,
    .asn-sidebar {
        padding: 1.25rem !important;
    }
}

/* ============================================================
   v1.0.1 — Contrast fixes
   Dropdown submenus and PMPro form cards were rendering with
   default white backgrounds, making our amber/cream text
   illegible. Force dark surfaces so the existing typography
   keeps its contrast.
   ============================================================ */

/* ---- Navigation submenu (dropdown) ---- */

.wp-block-navigation .wp-block-navigation__submenu-container,
.wp-block-navigation-submenu .wp-block-navigation__submenu-container,
ul.wp-block-navigation__submenu-container {
    background: #0a1128 !important;
    border: 1px solid rgba(244,197,66,0.25) !important;
    border-radius: 2px !important;
    box-shadow: 0 12px 36px rgba(0,0,0,0.6),
                0 0 0 1px rgba(244,197,66,0.05) !important;
    padding: 0.4rem 0 !important;
    min-width: 14rem;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.wp-block-navigation__submenu-container a {
    color: #e8edf5 !important;
    background: transparent !important;
    padding: 0.55rem 1.1rem !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.1em;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus,
.wp-block-navigation__submenu-container a:hover,
.wp-block-navigation__submenu-container a:focus {
    color: #f4c542 !important;
    background: rgba(244,197,66,0.10) !important;
}

.wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
    color: #f4c542 !important;
    border-bottom: none;
}

/* Submenu indicator chevrons — recolor */
.wp-block-navigation__submenu-icon svg {
    fill: #f4c542 !important;
}

/* ---- PMPro: dark cards everywhere ---- */
/* PMPro 3.x ships a "Frontend" CSS that puts forms in white cards.
   Force them dark to match the site theme. */

.pmpro_card,
div.pmpro_card,
.pmpro_checkout .pmpro_card,
.pmpro_account .pmpro_card,
.pmpro_card_content,
.pmpro_member_profile_edit .pmpro_card {
    background: linear-gradient(180deg,
        rgba(20, 28, 50, 0.85) 0%,
        rgba(12, 18, 36, 0.92) 100%) !important;
    border: 1px solid rgba(244,197,66,0.18) !important;
    border-radius: 4px !important;
    color: #e8edf5 !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.04),
        0 8px 32px rgba(0,0,0,0.4) !important;
}

.pmpro_card *,
.pmpro_card p,
.pmpro_card li,
.pmpro_card span,
.pmpro_card div,
.pmpro_card_content,
.pmpro_card_content p,
.pmpro_card_content li {
    color: #e8edf5 !important;
}

.pmpro_card strong,
.pmpro_card b,
.pmpro_card_content strong {
    color: #f0e6d2 !important;
}

.pmpro_card_title,
.pmpro_card h1,
.pmpro_card h2,
.pmpro_card h3,
.pmpro_card h4,
.pmpro_card legend,
.pmpro_card_content h1,
.pmpro_card_content h2,
.pmpro_card_content h3 {
    color: #f0e6d2 !important;
    background: transparent !important;
    border-color: rgba(244,197,66,0.2) !important;
}

/* Section legends inside PMPro forms (e.g. "Account Information") */
.pmpro_form fieldset > legend,
.pmpro_form_field-group_name,
.pmpro_section-toggle-button,
.pmpro_form legend {
    color: #f0e6d2 !important;
    font-family: 'Cinzel', serif !important;
    background: transparent !important;
}

/* PMPro field labels — force readable color for both dark & white card cases */
.pmpro_form_label,
.pmpro_form label,
.pmpro_checkout label,
.pmpro_account label,
.pmpro_form_field label,
label.pmpro_form_label-required {
    color: #f0e6d2 !important;
    background: transparent !important;
}

/* Required-field asterisk */
.pmpro_asterisk,
.pmpro_form_label-required::after {
    color: #f4c542 !important;
}

/* PMPro inputs — keep dark with light text, with stronger borders */
.pmpro_form input[type=text],
.pmpro_form input[type=email],
.pmpro_form input[type=password],
.pmpro_form input[type=tel],
.pmpro_form input[type=number],
.pmpro_form input[type=url],
.pmpro_form select,
.pmpro_form textarea,
.pmpro_form_input,
input.pmpro_form_input,
select.pmpro_form_input,
textarea.pmpro_form_input {
    background: rgba(5, 8, 22, 0.85) !important;
    color: #e8edf5 !important;
    border: 1px solid rgba(244,197,66,0.3) !important;
    border-radius: 2px !important;
    padding: 0.7em 0.9em !important;
}

.pmpro_form input::placeholder,
.pmpro_form textarea::placeholder {
    color: rgba(232, 237, 245, 0.4) !important;
}

/* Helper / hint text under fields */
.pmpro_form_field-description,
.pmpro_field_description,
.pmpro_form .lite,
.pmpro_form small {
    color: #a8b2c4 !important;
}

/* PMPro alert / message banners (e.g. "Payment Gateway must be set up") */
.pmpro_message,
.pmpro_message_admin,
.pmpro_message.pmpro_alert,
.pmpro_message.pmpro_error,
.pmpro_message.pmpro_success {
    background: rgba(244, 197, 66, 0.10) !important;
    border: 1px solid rgba(244, 197, 66, 0.35) !important;
    color: #f0e6d2 !important;
    border-radius: 2px !important;
    padding: 1rem 1.2rem !important;
}

.pmpro_message.pmpro_error,
.pmpro_message.pmpro_alert {
    background: rgba(220, 70, 70, 0.12) !important;
    border-color: rgba(220, 70, 70, 0.4) !important;
    color: #ffd0d0 !important;
}

.pmpro_message.pmpro_success {
    background: rgba(80, 180, 120, 0.12) !important;
    border-color: rgba(80, 180, 120, 0.4) !important;
    color: #d4f0dc !important;
}

/* "Show Password" toggle button — keep amber but ensure it pairs with dark surroundings */
.pmpro_show_password_button,
button.pmpro_show_password_button {
    background: rgba(244,197,66,0.15) !important;
    color: #f4c542 !important;
    border: 1px solid rgba(244,197,66,0.4) !important;
    font-family: 'Cinzel', serif !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.75rem !important;
    padding: 0.5em 1em !important;
}
.pmpro_show_password_button:hover {
    background: rgba(244,197,66,0.25) !important;
}

/* PMPro pricing/order summary tables */
.pmpro_checkout-fields .pmpro_card_content table,
.pmpro_order_table,
table.pmpro_table {
    background: transparent !important;
    color: #e8edf5 !important;
}
.pmpro_order_table th,
.pmpro_order_table td,
table.pmpro_table th,
table.pmpro_table td {
    border-color: rgba(244,197,66,0.15) !important;
    color: #e8edf5 !important;
}

/* Captcha / honeypot wrappers */
.pmpro_captcha {
    background: transparent !important;
}

/* ---- Body text safety net ---- */
/* Some PMPro pages render plain content outside cards. Make sure body
   copy is never lost on the dark background regardless of where it is. */
.pmpro_content_message,
.pmpro_login_wrap,
.pmpro_account-wrap,
.pmpro_checkout-wrap {
    color: #e8edf5;
}

/* ---- Generic safety: any white-bg PMPro container ---- */
/* In case PMPro adds a class we haven't anticipated, force readable
   colors anywhere it tries to set white backgrounds via inline style. */
[style*="background-color: #fff"],
[style*="background-color:#fff"],
[style*="background: #fff"],
[style*="background:#fff"] {
    /* deliberately not overriding inline backgrounds globally — this is
       a placeholder reminder. If you find a stubborn white card, add its
       class to the .pmpro_card block above. */
}
