/*
 * Gay Men's Club Connecting Plugin - Public styles
 * White-background version: all readable text is forced to black.
 */

:root {
    --gmc-navy: #07111B;
    --gmc-black-navy: #050809;
    --gmc-gold: #C8A86A;
    --gmc-champagne: #E1C48C;
    --gmc-ivory: #F8F3EA;
    --gmc-border: #e4e4e7;
    --gmc-muted-border: #d4d4d8;
    --gmc-soft-bg: #f8fafc;
    --gmc-text: #000000;
}

/*
 * Strong contrast reset.
 * This intentionally overrides theme styles that may make headings/text white.
 */
.gmc-intake-form,
.gmc-intake-form *,
.gmc-errors,
.gmc-errors *,
.gmc-confirmation,
.gmc-confirmation *,
.gmc-confirmation-page,
.gmc-confirmation-page * {
    color: var(--gmc-text) !important;
    box-sizing: border-box;
}

.gmc-intake-form {
    max-width: 980px;
    margin: 2rem auto;
    padding: 0 1rem;
    font-size: 16px;
    line-height: 1.55;
}

.gmc-form-section {
    background: #ffffff;
    border: 1px solid var(--gmc-border);
    border-radius: 18px;
    padding: 1.5rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .04);
}

.gmc-form-section h1,
.gmc-form-section h2,
.gmc-form-section h3,
.gmc-form-section h4,
.gmc-form-section p,
.gmc-form-section legend,
.gmc-form-section label,
.gmc-form-section span,
.gmc-form-section small,
.gmc-form-section strong,
.gmc-form-section em {
    color: #000000 !important;
}

.gmc-form-section h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    line-height: 1.2;
}

.gmc-form-section p {
    margin-top: 0;
}

.gmc-grid.two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.gmc-intake-form label {
    display: block;
    font-weight: 600;
}

.gmc-intake-form input[type="text"],
.gmc-intake-form input[type="email"],
.gmc-intake-form input[type="tel"],
.gmc-intake-form input[type="url"],
.gmc-intake-form input[type="number"],
.gmc-intake-form input[type="date"],
.gmc-intake-form select,
.gmc-intake-form textarea {
    width: 100%;
    margin-top: .35rem;
    padding: .78rem .85rem;
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid var(--gmc-muted-border);
    border-radius: 10px;
    font: inherit;
    line-height: 1.4;
    box-shadow: none;
}

.gmc-intake-form input::placeholder,
.gmc-intake-form textarea::placeholder {
    color: #000000 !important;
    opacity: .65;
}

.gmc-intake-form input:focus,
.gmc-intake-form select:focus,
.gmc-intake-form textarea:focus {
    outline: 3px solid rgba(200, 168, 106, .35);
    border-color: var(--gmc-gold);
}

.gmc-intake-form input[type="checkbox"],
.gmc-intake-form input[type="radio"] {
    accent-color: var(--gmc-gold);
}

.gmc-required {
    color: #000000 !important;
    font-weight: 800;
}

.gmc-note {
    background: var(--gmc-soft-bg);
    border: 1px solid var(--gmc-border);
    border-left: 4px solid var(--gmc-gold);
    padding: .85rem 1rem;
    border-radius: 8px;
}

.gmc-note,
.gmc-note * {
    color: #000000 !important;
}

.gmc-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem .9rem;
}

.gmc-checkbox,
.gmc-agreement {
    display: flex !important;
    align-items: flex-start;
    gap: .45rem;
    font-weight: 500 !important;
    color: #000000 !important;
}

.gmc-checkbox input,
.gmc-agreement input {
    flex: 0 0 auto;
    margin-top: .28rem;
}

.gmc-scale {
    padding: 1rem 0;
    border-bottom: 1px solid #eeeeee;
}

.gmc-scale:last-child {
    border-bottom: 0;
}

.gmc-scale,
.gmc-scale * {
    color: #000000 !important;
}

.gmc-scale-row {
    display: grid;
    grid-template-columns: 1fr repeat(5, auto) 1fr;
    gap: .5rem;
    align-items: center;
}

.gmc-scale-row label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.6rem;
    margin: 0;
}

.gmc-agreements label {
    margin-bottom: .7rem;
}

.gmc-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 1rem 1.5rem;
    background: var(--gmc-gold) !important;
    color: #000000 !important;
    font-weight: 800;
    cursor: pointer;
    text-decoration: none;
    transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.gmc-submit:hover,
.gmc-submit:focus {
    background: var(--gmc-champagne) !important;
    color: #000000 !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, .12);
}

.gmc-errors,
.gmc-confirmation {
    max-width: 900px;
    margin: 2rem auto;
    padding: 1.25rem;
    border-radius: 16px;
    color: #000000 !important;
}

.gmc-errors {
    background: #fff5f5;
    border: 1px solid #fecaca;
}

.gmc-confirmation {
    background: #f5fff8;
    border: 1px solid #bbf7d0;
}

.gmc-errors a,
.gmc-confirmation a,
.gmc-confirmation-page a,
.gmc-intake-form a {
    color: #000000 !important;
    text-decoration: underline;
    text-decoration-color: var(--gmc-gold);
    text-underline-offset: .18em;
}

.gmc-confirmation-page {
    max-width: 820px;
    margin: 3rem auto;
    padding: 2rem;
    background: #ffffff;
    border: 1px solid var(--gmc-border);
    border-radius: 24px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, .06);
}

.gmc-confirmation-page h1,
.gmc-confirmation-page h2,
.gmc-confirmation-page h3,
.gmc-confirmation-page p,
.gmc-confirmation-page li,
.gmc-confirmation-page span,
.gmc-confirmation-page strong,
.gmc-confirmation-page em {
    color: #000000 !important;
}

.gmc-confirmation-page .gmc-eyebrow {
    margin: 0 0 .5rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .78rem;
    font-weight: 800;
    color: #000000 !important;
}

.gmc-confirmation-alert {
    background: var(--gmc-soft-bg);
    border: 1px solid var(--gmc-border);
    border-left: 4px solid var(--gmc-gold);
    border-radius: 12px;
    padding: 1rem;
    margin: 1rem 0 1.5rem;
}

.gmc-confirmation-alert,
.gmc-confirmation-alert * {
    color: #000000 !important;
}

.gmc-confirmation-body p:last-child {
    margin-bottom: 0;
}

@media (max-width: 760px) {
    .gmc-intake-form {
        margin: 1.25rem auto;
        padding: 0 .75rem;
    }

    .gmc-form-section,
    .gmc-confirmation-page {
        border-radius: 16px;
        padding: 1.15rem;
    }

    .gmc-grid.two,
    .gmc-checkbox-grid,
    .gmc-scale-row {
        grid-template-columns: 1fr;
    }

    .gmc-scale-row {
        gap: .75rem;
    }

    .gmc-scale-row label {
        justify-content: flex-start;
    }
}
