/*
 * ============================================================
 *  WORKCAMPCONNECT — PLANS / PRICING PAGE
 *  Dark navy/gold theme matching the landing page.
 * ============================================================
 */

/* ── Layout wrappers ─────────────────────────────────────── */

.plans-container {
    max-width:          1100px;
    margin:             0 auto;
    padding:            0 var(--space-6);
}

.plans-container--narrow {
    max-width:          760px;
}

/* ── Hero ────────────────────────────────────────────────── */

.plans-hero {
    background:
        radial-gradient(ellipse at 70% 10%, rgba(26,82,112,0.55) 0%, transparent 60%),
        radial-gradient(ellipse at 20% 80%, rgba(232,172,37,0.10) 0%, transparent 50%),
        linear-gradient(160deg, #0b1e2d 0%, #0f2840 50%, #081420 100%);
    color:              #fff;
    text-align:         center;
    padding:            var(--space-20) var(--space-6) var(--space-16);
}

.plans-hero__eyebrow {
    font-size:          var(--font-size-sm);
    font-weight:        var(--font-weight-semibold);
    letter-spacing:     var(--letter-spacing-wider);
    text-transform:     uppercase;
    opacity:            0.65;
    margin-bottom:      var(--space-4);
}

.plans-hero__title {
    font-size:          var(--font-size-4xl);
    font-weight:        var(--font-weight-extrabold);
    line-height:        var(--line-height-tight);
    color:              #fff;
    margin-bottom:      var(--space-5);
}

.plans-hero__sub {
    font-size:          var(--font-size-lg);
    color:              rgba(255,255,255,0.7);
    margin-bottom:      var(--space-8);
}

.plans-hero__ctas {
    display:            flex;
    align-items:        center;
    justify-content:    center;
    gap:                var(--space-4);
    flex-wrap:          wrap;
}

/* Outline button for dark backgrounds */
.plans-btn-outline-light,
.plans-btn-outline-light:visited {
    border-color:       rgba(255,255,255,0.4) !important;
    color:              #fff !important;
    background:         transparent !important;
}

.plans-btn-outline-light:hover {
    background:         rgba(255,255,255,0.10) !important;
    border-color:       #fff !important;
    text-decoration:    none !important;
}

/* ── Plan grid ───────────────────────────────────────────── */

.plans-section {
    padding:            var(--space-16) var(--space-6);
    background:         #081420;
}

.plans-grid {
    display:            grid;
    grid-template-columns: 1fr 1fr;
    gap:                var(--space-8);
    align-items:        start;
}

/* ── Plan card ───────────────────────────────────────────── */

.plans-card {
    background:         rgba(255,255,255,0.04);
    border:             2px solid rgba(255,255,255,0.10);
    border-radius:      var(--radius-xl);
    padding:            var(--space-8);
    position:           relative;
    transition:         box-shadow 0.2s ease;
}

.plans-card--featured {
    border-color:       var(--color-accent);
    box-shadow:         0 0 0 4px rgba(232,172,37,0.12), 0 16px 40px rgba(0,0,0,0.3);
}

.plans-card__badge {
    position:           absolute;
    top:                -14px;
    left:               50%;
    transform:          translateX(-50%);
    background:         var(--color-accent);
    color:              #0b1e2d;
    font-size:          var(--font-size-xs);
    font-weight:        var(--font-weight-bold);
    letter-spacing:     var(--letter-spacing-wider);
    text-transform:     uppercase;
    padding:            var(--space-1) var(--space-5);
    border-radius:      var(--radius-pill);
    white-space:        nowrap;
}

.plans-card__header {
    text-align:         center;
    margin-bottom:      var(--space-6);
    padding-bottom:     var(--space-6);
    border-bottom:      1px solid rgba(255,255,255,0.10);
}

.plans-card__name {
    font-size:          var(--font-size-xl);
    font-weight:        var(--font-weight-bold);
    color:              #fff;
    margin-bottom:      var(--space-3);
}

.plans-card__price {
    display:            flex;
    align-items:        baseline;
    justify-content:    center;
    gap:                var(--space-1);
    margin-bottom:      var(--space-2);
}

.plans-price__amount {
    font-size:          var(--font-size-4xl);
    font-weight:        var(--font-weight-extrabold);
    color:              #fff;
    line-height:        1;
}

.plans-price__per {
    font-size:          var(--font-size-lg);
    color:              rgba(255,255,255,0.5);
    font-weight:        var(--font-weight-medium);
}

.plans-price__annual {
    font-size:          var(--font-size-sm);
    color:              rgba(255,255,255,0.5);
    margin-bottom:      var(--space-3);
}

.plans-card__tagline {
    font-size:          var(--font-size-sm);
    color:              rgba(255,255,255,0.45);
    margin:             0;
}

/* ── Feature list ────────────────────────────────────────── */

.plans-features {
    list-style:         none;
    margin:             0 0 var(--space-8) 0;
    padding:            0;
    display:            flex;
    flex-direction:     column;
    gap:                var(--space-3);
}

.plans-feature {
    display:            flex;
    align-items:        flex-start;
    gap:                var(--space-3);
    font-size:          var(--font-size-sm);
    color:              rgba(255,255,255,0.8);
    line-height:        var(--line-height-normal);
}

.plans-feature__icon {
    flex-shrink:        0;
    width:              20px;
    height:             20px;
    display:            inline-flex;
    align-items:        center;
    justify-content:    center;
    border-radius:      var(--radius-circle);
    font-size:          10px;
    font-weight:        var(--font-weight-bold);
    margin-top:         1px;
}

.plans-feature__icon--yes {
    background:         rgba(67,142,37,0.2);
    color:              #7dde5a;
}

.plans-feature__icon--no {
    background:         rgba(217,37,22,0.15);
    color:              #ff9a91;
}

.plans-feature--missing {
    color:              rgba(255,255,255,0.35);
}

.plans-feature__note {
    font-size:          var(--font-size-xs);
    color:              rgba(255,255,255,0.4);
    font-style:         italic;
}

/* ── Feature group headers (Full Hookup) ─────────────── */

.plans-feature-group {
    font-size:          var(--font-size-xs);
    font-weight:        var(--font-weight-bold);
    text-transform:     uppercase;
    letter-spacing:     var(--letter-spacing-wider);
    color:              var(--color-accent);
    padding-top:        var(--space-3);
    padding-bottom:     var(--space-1);
    border-bottom:      1px solid rgba(255,255,255,0.08);
    list-style:         none;
}

.plans-feature-group:first-child {
    padding-top:        0;
}

/* ── Yearly savings badge ────────────────────────────── */

.plans-price__save {
    display:            inline-block;
    background:         rgba(67,142,37,0.2);
    color:              #7dde5a;
    font-size:          var(--font-size-xs);
    font-weight:        var(--font-weight-bold);
    padding:            var(--space-1) var(--space-2);
    border-radius:      var(--radius-pill);
    margin-left:        var(--space-2);
    white-space:        nowrap;
}

/* ── Card CTA area ───────────────────────────────────────── */

.plans-card__cta .btn {
    text-align:         center;
    justify-content:    center;
}

/* Override outline button for dark card context */
.plans-card .btn-outline,
.plans-card .btn-outline:visited {
    border-color:       rgba(255,255,255,0.3);
    color:              #fff;
    background:         transparent;
}

.plans-card .btn-outline:hover {
    background:         rgba(255,255,255,0.08);
    border-color:       rgba(255,255,255,0.5);
    color:              #fff;
}

.plans-card__cta-note {
    font-size:          var(--font-size-xs);
    color:              rgba(255,255,255,0.4);
    text-align:         center;
    margin:             var(--space-3) 0 0;
    line-height:        var(--line-height-relaxed);
}

/* ── Trust strip ─────────────────────────────────────────── */

.plans-trust {
    background:         #0b1e2d;
    border-top:         1px solid rgba(255,255,255,0.06);
    border-bottom:      1px solid rgba(255,255,255,0.06);
    padding:            var(--space-8) var(--space-6);
}

.plans-trust__grid {
    display:            flex;
    justify-content:    center;
    align-items:        center;
    gap:                var(--space-10);
    flex-wrap:          wrap;
}

.plans-trust__item {
    display:            flex;
    align-items:        center;
    gap:                var(--space-2);
    font-size:          var(--font-size-sm);
    color:              rgba(255,255,255,0.5);
}

.plans-trust__icon {
    font-size:          1.1rem;
}

/* ── FAQ section ─────────────────────────────────────────── */

.plans-faq-section {
    background:         #0b1e2d;
    border-top:         none;
}

.plans-section__heading {
    font-size:          var(--font-size-3xl);
    font-weight:        var(--font-weight-bold);
    color:              #fff;
    text-align:         center;
    margin-bottom:      var(--space-10);
}

.plans-faq {
    display:            flex;
    flex-direction:     column;
}

.plans-faq__item {
    padding:            var(--space-6) 0;
    border-bottom:      1px solid rgba(255,255,255,0.08);
}

.plans-faq__item:last-child {
    border-bottom:      none;
}

/* FAQ question = clickable accordion trigger */
.plans-faq__q {
    display:            flex;
    align-items:        center;
    justify-content:    space-between;
    width:              100%;
    font-size:          var(--font-size-base);
    font-weight:        var(--font-weight-semibold);
    color:              #fff;
    background:         none;
    border:             none;
    padding:            0;
    margin:             0;
    cursor:             pointer;
    text-align:         left;
    line-height:        var(--line-height-normal);
    gap:                var(--space-4);
}

.plans-faq__q:hover {
    color:              var(--color-accent);
}

.plans-faq__q:focus-visible {
    outline:            2px solid var(--color-accent);
    outline-offset:     4px;
    border-radius:      var(--radius-sm);
}

/* Chevron rotation */
.plans-faq__chevron {
    flex-shrink:        0;
    transition:         transform 0.25s ease;
}

.plans-faq__q[aria-expanded="true"] .plans-faq__chevron {
    transform:          rotate(180deg);
}

/* FAQ answer panel */
.plans-faq__a {
    font-size:          var(--font-size-sm);
    color:              rgba(255,255,255,0.55);
    line-height:        var(--line-height-relaxed);
    margin:             0;
    padding-top:        var(--space-3);
}

.plans-faq__a p {
    margin:             0;
}

/* ── Pre-join contact nudge ──────────────────────────────── */

.plans-contact-nudge {
    background:         #081420;
    border-top:         1px solid rgba(255,255,255,0.06);
    border-bottom:      1px solid rgba(255,255,255,0.06);
    padding:            var(--space-10) var(--space-6);
    text-align:         center;
}

.plans-contact-nudge__icon {
    display:            block;
    font-size:          2rem;
    margin-bottom:      var(--space-3);
}

.plans-contact-nudge__text {
    font-size:          var(--font-size-lg);
    font-weight:        var(--font-weight-semibold);
    color:              #fff;
    margin-bottom:      var(--space-2);
}

.plans-contact-nudge__sub {
    font-size:          var(--font-size-sm);
    color:              rgba(255,255,255,0.5);
    margin-bottom:      var(--space-6);
}

/* Override outline button inside contact nudge */
.plans-contact-nudge .btn-outline,
.plans-contact-nudge .btn-outline:visited {
    border-color:       rgba(255,255,255,0.3);
    color:              #fff;
}

.plans-contact-nudge .btn-outline:hover {
    background:         rgba(255,255,255,0.08);
    border-color:       rgba(255,255,255,0.5);
    color:              #fff;
}

/* ── Bottom CTA banner ───────────────────────────────────── */

.plans-cta-banner {
    background:
        radial-gradient(ellipse at 50% 0%, rgba(232,172,37,0.15) 0%, transparent 60%),
        linear-gradient(160deg, #0b1e2d 0%, #0f2840 50%, #081420 100%);
    color:              #fff;
    text-align:         center;
    padding:            var(--space-16) var(--space-6);
}

.plans-cta-banner__title {
    font-size:          var(--font-size-4xl);
    font-weight:        var(--font-weight-extrabold);
    color:              #fff;
    margin-bottom:      var(--space-4);
}

.plans-cta-banner__sub {
    font-size:          var(--font-size-lg);
    color:              rgba(255,255,255,0.7);
    margin-bottom:      var(--space-8);
    max-width:          600px;
    margin-left:        auto;
    margin-right:       auto;
}

.plans-cta-banner__btns {
    display:            flex;
    align-items:        center;
    justify-content:    center;
    gap:                var(--space-4);
    flex-wrap:          wrap;
}

/* ── Responsive ──────────────────────────────────────────── */

@media (max-width: 767px) {

    .plans-hero {
        padding:        var(--space-12) var(--space-4) var(--space-10);
    }

    .plans-hero__title {
        font-size:      var(--font-size-3xl);
    }

    .plans-hero__sub {
        font-size:      var(--font-size-base);
    }

    .plans-grid {
        grid-template-columns: 1fr;
        gap:            var(--space-10);
    }

    /* Featured card floats to top on mobile */
    .plans-card--featured {
        order:          -1;
    }

    .plans-section {
        padding:        var(--space-10) var(--space-4);
    }

    .plans-trust__grid {
        gap:            var(--space-5);
    }

    .plans-faq-section {
        padding:        var(--space-10) var(--space-4);
    }

    .plans-cta-banner {
        padding:        var(--space-10) var(--space-4);
    }

    .plans-cta-banner__title {
        font-size:      var(--font-size-3xl);
    }

    .plans-cta-banner__sub {
        font-size:      var(--font-size-base);
    }

}
