
/* =====================================================
   MEMBRESÍAS - CHAMOY SPORT
   Archivo independiente para no afectar el index
===================================================== */

.membership-page{
    width:min(1280px,calc(100% - 32px));
    margin:0 auto;
    padding:28px 0 58px;
    color:var(--theme-text);
}

.membership-hero-v2{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) 280px;
    gap:38px;
    align-items:center;
    min-height:285px;
    padding:38px 44px;
    border:1px solid var(--theme-border);
    border-radius:var(--radius-lg);
    background:var(--theme-hero);
    overflow:hidden;
}

.membership-hero-copy h1{
    max-width:820px;
    margin:0 0 14px;
    color:var(--theme-text);
    font-size:clamp(2.7rem,5vw,4.8rem);
    line-height:.96;
    letter-spacing:-.04em;
}

.membership-hero-copy>p:not(.eyebrow){
    max-width:720px;
    margin:0;
    color:var(--theme-text-soft);
    font-size:1.02rem;
    line-height:1.65;
}

.membership-pills-v2{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:22px;
}

.membership-pills-v2 span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:34px;
    padding:0 12px;
    border:1px solid var(--theme-border);
    border-radius:999px;
    color:var(--theme-text-soft);
    background:var(--theme-card);
    font-size:.74rem;
    font-weight:800;
    text-transform:uppercase;
}

.membership-pills-v2 svg{
    width:15px;
    height:15px;
    color:#a78bfa;
}

.membership-hero-mark{
    display:grid;
    place-items:center;
    align-content:center;
    min-height:190px;
    padding:22px;
    border:1px solid rgba(139,92,246,.26);
    border-radius:28px;
    text-align:center;
    background:
        radial-gradient(circle at 50% 30%,rgba(139,92,246,.26),transparent 65%),
        var(--theme-card);
    box-shadow:var(--theme-shadow);
}

.membership-hero-icon{
    display:grid;
    place-items:center;
    width:66px;
    height:66px;
    margin-bottom:14px;
    border-radius:18px;
    color:#fff;
    background:linear-gradient(135deg,#7c3aed,#4c1d95);
    box-shadow:0 18px 40px rgba(124,58,237,.30);
}

.membership-hero-icon svg{
    width:31px;
    height:31px;
}

.membership-hero-mark strong{
    color:var(--theme-text);
    font-size:1.2rem;
    letter-spacing:.12em;
}

.membership-hero-mark small{
    margin-top:4px;
    color:var(--theme-text-soft);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.14em;
}

.membership-current{
    margin-top:22px;
    padding:24px;
    border:1px solid var(--theme-border);
    border-radius:var(--radius-lg);
    background:var(--theme-card);
    box-shadow:var(--theme-shadow);
}

.membership-current-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.membership-current-head h2{
    margin:0 0 6px;
    color:var(--theme-text);
    font-size:1.55rem;
}

.membership-current-head>div>p:not(.eyebrow){
    margin:0;
    color:var(--theme-text-soft);
}

.membership-current-badge{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:34px;
    padding:0 12px;
    border:1px solid var(--theme-border);
    border-radius:999px;
    color:var(--theme-text-soft);
    background:var(--theme-card-soft);
    font-size:.76rem;
    font-weight:900;
}

.membership-current-badge.is-active{
    color:#86efac;
    border-color:rgba(34,197,94,.24);
    background:rgba(34,197,94,.08);
}

.membership-current-badge svg{
    width:16px;
    height:16px;
}

.membership-current-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:20px;
}

.membership-current-stats>div{
    min-height:76px;
    padding:14px;
    border:1px solid var(--theme-border);
    border-radius:var(--radius-md);
    background:var(--theme-card-soft);
}

.membership-current-stats span{
    display:block;
    margin-bottom:6px;
    color:var(--theme-text-soft);
    font-size:.76rem;
    font-weight:800;
    text-transform:uppercase;
}

.membership-current-stats strong{
    display:block;
    color:var(--theme-text);
    font-size:1rem;
}

.membership-plans-section,
.membership-comparison{
    margin-top:30px;
}

.membership-section-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.membership-section-heading h2{
    margin:0;
    color:var(--theme-text);
    font-size:clamp(1.8rem,3vw,2.6rem);
    line-height:1.05;
}

.membership-section-heading>div>p:not(.eyebrow){
    max-width:720px;
    margin:8px 0 0;
    color:var(--theme-text-soft);
    line-height:1.6;
}

.membership-plans-v2{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    align-items:stretch;
}

.membership-plan-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:22px;
    border:1px solid var(--theme-border);
    border-radius:var(--radius-lg);
    background:var(--theme-card);
    box-shadow:0 12px 34px rgba(0,0,0,.10);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.membership-plan-card:hover{
    transform:translateY(-3px);
    border-color:var(--theme-border-hover);
}

.membership-plan-card.is-featured{
    border-color:rgba(139,92,246,.52);
    box-shadow:0 18px 48px rgba(124,58,237,.16);
}

.membership-plan-card.is-current{
    box-shadow:inset 0 0 0 1px rgba(139,92,246,.40),0 18px 48px rgba(124,58,237,.14);
}

.membership-plan-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:42px;
}

.membership-plan-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 auto;
    border:1px solid rgba(139,92,246,.25);
    border-radius:12px;
    color:#c4b5fd;
    background:rgba(139,92,246,.12);
}

.membership-plan-icon svg{
    width:20px;
    height:20px;
}

.membership-plan-tags{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
}

.membership-plan-tags span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 9px;
    border:1px solid rgba(139,92,246,.20);
    border-radius:999px;
    color:#c4b5fd;
    background:rgba(139,92,246,.10);
    font-size:.67rem;
    font-weight:900;
    text-transform:uppercase;
}

.membership-plan-tags .is-current-tag{
    color:#86efac;
    border-color:rgba(34,197,94,.22);
    background:rgba(34,197,94,.08);
}

.membership-plan-title{
    margin-top:20px;
}

.membership-plan-title h3{
    margin:0;
    color:var(--theme-text);
    font-size:1.35rem;
}

.membership-plan-price{
    display:flex;
    align-items:baseline;
    gap:7px;
    margin-top:16px;
}

.membership-plan-price strong{
    color:#a78bfa;
    font-size:2.15rem;
    line-height:1;
    letter-spacing:-.03em;
}

.membership-plan-price span{
    color:var(--theme-text-soft);
    font-size:.9rem;
    font-weight:700;
}

.membership-plan-limit{
    display:flex;
    align-items:baseline;
    gap:7px;
    margin-top:18px;
    padding:14px;
    border:1px solid var(--theme-border);
    border-radius:var(--radius-md);
    background:var(--theme-card-soft);
}

.membership-plan-limit strong{
    color:var(--theme-text);
    font-size:1.55rem;
}

.membership-plan-limit span{
    color:var(--theme-text-soft);
    font-size:.84rem;
    font-weight:700;
}

.membership-plan-benefits{
    display:grid;
    gap:9px;
    margin:18px 0 22px;
}

.membership-plan-benefits span{
    display:flex;
    align-items:flex-start;
    gap:8px;
    color:var(--theme-text-soft);
    font-size:.87rem;
    line-height:1.45;
}

.membership-plan-benefits svg{
    width:16px;
    height:16px;
    flex:0 0 auto;
    margin-top:2px;
    color:#a78bfa;
}

.membership-plan-form{
    margin-top:auto;
}

.membership-plan-button{
    width:100%;
    min-height:44px;
}

.membership-plan-button svg{
    width:16px;
    height:16px;
}

.membership-plan-card.is-disabled .membership-plan-button:disabled{
    opacity:.55;
    cursor:not-allowed;
}

.membership-comparison{
    padding:24px;
    border:1px solid var(--theme-border);
    border-radius:var(--radius-lg);
    background:var(--theme-card);
}

.membership-table-wrap{
    overflow-x:auto;
    border:1px solid var(--theme-border);
    border-radius:var(--radius-md);
}

.membership-table{
    width:100%;
    min-width:720px;
    border-collapse:collapse;
}

.membership-table th,
.membership-table td{
    padding:14px 16px;
    border-bottom:1px solid var(--theme-border);
    color:var(--theme-text-soft);
    text-align:center;
    font-size:.86rem;
}

.membership-table th:first-child,
.membership-table td:first-child{
    text-align:left;
    color:var(--theme-text);
    font-weight:800;
}

.membership-table thead th{
    color:var(--theme-text);
    background:var(--theme-card-soft);
    font-size:.8rem;
    text-transform:uppercase;
}

.membership-table tr:last-child td{
    border-bottom:0;
}

html[data-theme="light"] .membership-plan-icon{
    color:#4a2aa3;
    background:#f3f0ff;
}

html[data-theme="light"] .membership-plan-price strong{
    color:#4a2aa3;
}

html[data-theme="light"] .membership-plan-tags span{
    color:#4a2aa3;
    background:#f3f0ff;
}

html[data-theme="light"] .membership-current-badge.is-active{
    color:#15803d;
}

/* Responsive */
@media (max-width:1000px){
    .membership-hero-v2{
        grid-template-columns:1fr 220px;
    }

    .membership-current-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:860px){
    .membership-page{
        width:min(100% - 24px,1280px);
        padding-top:20px;
    }

    .membership-hero-v2{
        grid-template-columns:1fr;
        gap:24px;
        padding:30px;
    }

    .membership-hero-mark{
        min-height:150px;
    }

    .membership-plans-v2{
        grid-template-columns:1fr;
    }
}

@media (max-width:560px){
    .membership-page{
        width:min(100% - 20px,1280px);
        padding-top:14px;
    }

    .membership-hero-v2{
        padding:24px 20px;
        border-radius:var(--radius-md);
    }

    .membership-hero-copy h1{
        font-size:clamp(2.3rem,12vw,3.1rem);
    }

    .membership-pills-v2{
        display:grid;
        grid-template-columns:1fr;
    }

    .membership-pills-v2 span{
        justify-content:flex-start;
    }

    .membership-current{
        padding:18px;
    }

    .membership-current-head{
        flex-direction:column;
    }

    .membership-current-stats{
        grid-template-columns:1fr 1fr;
    }

    .membership-plan-card,
    .membership-comparison{
        padding:18px;
        border-radius:var(--radius-md);
    }
}
