/* =====================================================
   MEMBERSHIP — AVENGERS DOOMSDAY
   Paleta: Preto / Branco / Verde
===================================================== */

:root{
    --black-deep:   #050608;
    --black-1:      #0a0c10;
    --black-2:      #0d1016;
    --black-3:      #12161d;
    --black-card:   #151921;
    --border-dark:  #20242c;
    --border-mid:   #2a2f3a;

    --white:        #ffffff;
    --off-white:    #d6d9df;
    --gray-text:    #858b96;
    --gray-mute:    #6a707b;

    --green:        #00A86B;
    --green-bright: #00e096;
    --green-light:  #33ffa8;
    --green-dark:   #006c46;
    --green-glow:   rgba(0, 168, 107, .35);
    --green-glow-strong: rgba(0, 224, 150, .55);
    --green-line:   rgba(0, 168, 107, .25);
}

/* Seleção de texto e scrollbar em verde */
::selection{
    background: var(--green);
    color: var(--black-deep);
}

::-webkit-scrollbar{
    width: 10px;
}
::-webkit-scrollbar-track{
    background: var(--black-deep);
}
::-webkit-scrollbar-thumb{
    background: linear-gradient(180deg, var(--green), var(--green-dark));
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover{
    background: var(--green-bright);
}

.membership-hero {
    position: relative;
    min-height: 570px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--black-deep);
    border-bottom: 1px solid var(--green-line);
}

.membership-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;

    background-image:
        linear-gradient(rgba(0,168,107,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,168,107,.05) 1px, transparent 1px);
    background-size: 42px 42px;

    mask-image: radial-gradient(circle at 75% 40%, black, transparent 65%);
    -webkit-mask-image: radial-gradient(circle at 75% 40%, black, transparent 65%);
}

.membership-hero-bg {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            var(--black-deep) 10%,
            rgba(5, 6, 8, .82) 45%,
            rgba(5, 6, 8, .35)
        ),
        linear-gradient(
            0deg,
            var(--black-deep) 0%,
            transparent 45%
        ),
        url("../img/members-hero.jpg") center / cover no-repeat;

    opacity: .9;
}

.membership-hero-content {
    position: relative;
    z-index: 2;

    width: min(1200px, 92%);
    margin: auto;
}

.eyebrow {
    position: relative;

    padding-left: 22px;

    color: var(--green-bright);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 4px;
    text-shadow: 0 0 12px var(--green-glow);
}

.eyebrow::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform: translateY(-50%);

    width: 14px;
    height: 2px;

    background: var(--green-bright);
    box-shadow: 0 0 8px var(--green-bright);
}

.membership-hero h1 {
    max-width: 800px;
    margin: 18px 0;

    color: var(--white);
    font-family: "Bebas Neue", sans-serif;
    font-size: clamp(65px, 9vw, 120px);
    line-height: .86;
    letter-spacing: 3px;
}

.membership-hero h1 strong {
    display: block;
    color: var(--green);
}

.membership-hero p {
    max-width: 560px;

    color: var(--off-white);
    font-size: 16px;
    line-height: 1.8;
}

.hero-line {
    width: 80px;
    height: 3px;
    margin-top: 30px;

    background: var(--green);
}


/* =====================================================
   PLANOS
===================================================== */

.membership-section {
    padding: 110px 0;
    background:
        linear-gradient(
            180deg,
            var(--black-1),
            var(--black-2)
        );
}

.section-intro {
    width: min(700px, 92%);
    margin: 0 auto 55px;
    text-align: center;
}

.section-label {
    color: var(--green-bright);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
}

.section-intro h2 {
    position: relative;

    margin: 10px 0 28px;
    padding-bottom: 18px;

    color: var(--white);
    font-family: "Bebas Neue", sans-serif;
    font-size: 58px;
    letter-spacing: 2px;
}

.section-intro h2::after{
    content:"";
    position:absolute;
    bottom:0;
    left:50%;
    transform: translateX(-50%);

    width: 70px;
    height: 3px;

    background: linear-gradient(90deg, transparent, var(--green-bright), transparent);
    box-shadow: 0 0 12px var(--green-glow-strong);
}

.section-intro p {
    color: var(--gray-text);
}


.plans {
    width: min(1000px, 92%);
    margin: auto;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}


.membership-card {
    position: relative;

    padding: 38px;

    background:
        linear-gradient(
            145deg,
            var(--black-card),
            #0b0d12
        );

    border: 1px solid var(--border-dark);
    border-top: 3px solid var(--green-dark);

    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.membership-card:hover{
    border-top-color: var(--green-bright);
}

.membership-card:hover {
    transform: translateY(-6px);
    border-color: #4b515c;
}


/* CARD VIP */

.membership-card.premium {
    border-color: rgba(0, 168, 107, .55);
    border-top: 3px solid var(--green-bright);

    background:
        linear-gradient(
            145deg,
            #0f1a15,
            #0b0d11
        );

    overflow: hidden;
}

.premium-glow {
    position: absolute;

    width: 250px;
    height: 250px;

    top: -120px;
    right: -100px;

    background: var(--green-glow);

    filter: blur(80px);

    border-radius: 50%;
}

.popular-label {
    position: absolute;
    top: 0;
    right: 0;

    padding: 9px 17px;

    background: var(--green-bright);
    color: var(--black-deep);

    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.5px;
}


/* TOPO DO CARD */

.card-top {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 35px;
}

.plan-number {
    color: #505762;
    -webkit-text-stroke: 1px var(--green-line);

    font-family: "Bebas Neue", sans-serif;
    font-size: 30px;
}

.plan-name {
    color: var(--green);

    font-size: 11px;
    font-weight: 900;
    letter-spacing: 2px;
}

.premium .plan-name {
    color: var(--green-bright);
}


/* PREÇO */

.plan-price {
    position: relative;

    color: var(--white);
    font-family: "Bebas Neue", sans-serif;
    font-size: 70px;
    line-height: 1;
    letter-spacing: 2px;
}

.plan-price small {
    font-family: "Inter", sans-serif;
    font-size: 20px;
    vertical-align: top;
}

.plan-price > span {
    font-family: "Inter", sans-serif;

    color: var(--green-bright);

    font-size: 12px;
    letter-spacing: 0;
}


.plan-description {
    min-height: 55px;
    margin-top: 18px;

    color: var(--gray-text);
    font-size: 13px;
    line-height: 1.7;
}


/* LINHA */

.card-separator {
    width: 100%;
    height: 1px;

    margin: 28px 0;

    background: linear-gradient(90deg, var(--green-line), var(--border-dark) 60%);
}


/* BENEFÍCIOS */

.membership-card ul {
    list-style: none;

    margin: 0 0 32px;
    padding: 0;
}

.membership-card li {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 9px 0;

    color: var(--off-white);

    font-size: 13px;

    transition: color .2s;
}

.membership-card li:hover{
    color: var(--green-bright);
}

.membership-card li span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 20px;
    height: 20px;

    background: rgba(0, 168, 107, .12);
    border: 1px solid var(--green);
    border-radius: 5px;

    color: var(--green-bright);

    font-size: 12px;

    box-shadow: 0 0 8px rgba(0, 168, 107, .15);
}


/* BOTÃO */

.membership-button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;

    padding: 16px;

    background: var(--green);

    color: var(--white);

    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1px;

    transition: .2s;
}

.membership-button:hover {
    background: var(--green-bright);
    color: var(--black-deep);
}

.premium-button {
    background: var(--white);
    color: var(--black-deep);
}

.premium-button:hover {
    background: var(--green-light);
    color: var(--black-deep);
}


.billing {
    margin-top: 13px;

    text-align: center;

    color: var(--gray-mute);
    font-size: 9px;
}


/* =====================================================
   BENEFÍCIOS
===================================================== */

.exclusive-section {
    padding: 100px 0;

    background: var(--black-deep);

    border-top: 1px solid #171a20;
}

.exclusive-container {
    width: min(1100px, 92%);
    margin: auto;
}

.exclusive-heading span {
    color: var(--green-bright);

    font-size: 10px;
    font-weight: 900;
    letter-spacing: 3px;
}

.exclusive-heading h2 {
    margin-top: 8px;

    color: var(--white);
    font-family: "Bebas Neue", sans-serif;
    font-size: 50px;
    text-shadow: 0 0 30px rgba(0, 168, 107, .18);
}


.benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    margin-top: 50px;

    border-top: 1px solid var(--green-line);
    border-bottom: 1px solid var(--green-line);
}


.benefit {
    padding: 35px 25px;

    border-right: 1px solid var(--border-dark);
    border-left: 2px solid transparent;

    transition: border-color .3s, background .3s;
}

.benefit:hover{
    border-left-color: var(--green-bright);
    background: rgba(0, 168, 107, .04);
}

.benefit:last-child {
    border-right: none;
}

.benefit-number {
    margin-bottom: 35px;

    color: var(--green-bright);
    text-shadow: 0 0 14px var(--green-glow);

    font-family: "Bebas Neue", sans-serif;
    font-size: 30px;
}

.benefit h3 {
    margin-bottom: 10px;

    color: var(--white);
    font-size: 16px;
}

.benefit p {
    color: var(--gray-mute);

    font-size: 12px;
    line-height: 1.7;
}


/* =====================================================
   APOIO
===================================================== */

.support-section {
    width: min(1100px, 92%);
    margin: 90px auto;

    padding: 45px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    border: 1px solid var(--border-dark);
    border-left: 3px solid var(--green-bright);

    background:
        linear-gradient(
            110deg,
            var(--black-3),
            #090b0f
        );

    box-shadow: -10px 0 30px -15px var(--green-glow);
}

.support-section span {
    color: var(--green-bright);

    font-size: 10px;
    font-weight: 900;
    letter-spacing: 2px;
}

.support-section h2 {
    margin: 7px 0;

    color: var(--white);
    font-family: "Bebas Neue", sans-serif;
    font-size: 38px;
}

.support-section p {
    color: var(--gray-mute);
    font-size: 13px;
}

.support-section a {
    flex-shrink: 0;

    padding: 14px 22px;

    border: 1px solid var(--green);

    color: var(--white);

    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1px;

    transition: .2s;
}

.support-section a:hover {
    background: var(--green);
    color: var(--black-deep);
}


/* =====================================================
   CONTADOR DE ACESSOS
===================================================== */

.access-counter {
    width: min(1100px, 92%);
    margin: -40px auto 90px;

    padding: 35px 45px;

    border: 1px solid var(--border-dark);
    border-top: 1px solid var(--green-line);

    background:
        linear-gradient(
            110deg,
            var(--black-2),
            #090b0f
        );
}

.access-counter > span {
    color: var(--green-bright);

    font-size: 10px;
    font-weight: 900;
    letter-spacing: 2px;
}

.access-counter-value {
    display: flex;
    align-items: baseline;
    gap: 12px;

    margin: 6px 0 4px;
}

.access-counter-value strong {
    color: var(--white);
    font-family: "Bebas Neue", sans-serif;
    font-size: 64px;
    line-height: 1;

    text-shadow: 0 0 30px var(--green-glow);
}

.access-counter-value em {
    color: var(--green);

    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 1px;
}

.access-counter p {
    color: var(--gray-mute);
    font-size: 13px;
}


/* =====================================================
   META + ÁREA DE SPOILERS
===================================================== */

.spoilers-section {
    width: min(1100px, 92%);
    margin: 0 auto 90px;
}

.goal-card {
    margin: 45px 0 40px;

    padding: 30px 35px;

    border: 1px solid var(--border-dark);
    border-left: 3px solid var(--green-bright);

    background:
        linear-gradient(
            110deg,
            var(--black-3),
            #090b0f
        );

    box-shadow: -10px 0 30px -15px var(--green-glow);
}

.goal-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.goal-label {
    color: var(--green-bright);

    font-size: 10px;
    font-weight: 900;
    letter-spacing: 2px;
}

.goal-numbers {
    display: flex;
    align-items: baseline;
    gap: 6px;

    color: var(--gray-text);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.goal-numbers strong {
    color: var(--white);
    font-family: "Bebas Neue", sans-serif;
    font-size: 34px;
    line-height: 1;
    text-shadow: 0 0 22px var(--green-glow);
}

.goal-numbers em {
    color: var(--gray-mute);
    font-style: normal;
}

.goal-bar {
    height: 12px;
    margin: 18px 0 12px;

    background: var(--black-deep);

    border: 1px solid var(--border-mid);
    clip-path: polygon(
        0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px)
    );
}

.goal-bar-fill {
    width: 0;
    height: 100%;

    background: linear-gradient(90deg, var(--green-dark), var(--green-bright));
    box-shadow: 0 0 18px var(--green-glow-strong);

    transition: width .8s ease;
}

.goal-note {
    color: var(--off-white);
    font-size: 13px;
    font-weight: 600;
}

.goal-you {
    margin-top: 4px;

    color: var(--gray-mute);
    font-size: 12px;
}


/* --- grade de vídeos --- */

.video-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
}

.video-card {
    border: 1px solid var(--border-dark);

    background: var(--black-2);

    clip-path: polygon(
        0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px)
    );

    transition: .25s;
}

.video-card:hover {
    border-color: var(--green-line);
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -25px var(--green-glow);
}

.video-frame {
    position: relative;
    aspect-ratio: 16 / 9;

    background: var(--black-deep);
}

.video-frame video,
.video-frame img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    display: block;
}

.video-frame-locked img {
    filter: grayscale(1) brightness(.35);
}

.video-lock {
    position: absolute;
    inset: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 20px;
    text-align: center;
}

.lock-icon {
    font-size: 26px;
}

.video-lock strong {
    color: var(--green-bright);
    font-family: "Bebas Neue", sans-serif;
    font-size: 26px;
    letter-spacing: 2px;
}

.video-lock p {
    color: var(--gray-text);
    font-size: 12px;
}

.lock-bar {
    width: 100%;
    max-width: 260px;
    height: 7px;

    background: var(--black-deep);
    border: 1px solid var(--border-mid);
}

.lock-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--green-dark), var(--green-bright));
}

.lock-cta {
    margin-top: 6px;

    padding: 10px 18px;

    border: 1px solid var(--green);

    color: var(--white);
    background: rgba(0, 168, 107, .12);

    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;

    text-decoration: none;

    transition: .2s;
}

.lock-cta:hover {
    background: var(--green);
    color: var(--black-deep);
}

.video-info {
    position: relative;

    padding: 22px 24px 26px;
}

.video-tag {
    color: var(--green-bright);

    font-size: 9px;
    font-weight: 900;
    letter-spacing: 2px;
}

.video-info h3 {
    margin: 7px 0 8px;

    color: var(--white);
    font-family: "Bebas Neue", sans-serif;
    font-size: 27px;
    line-height: 1.15;
}

.video-info p {
    color: var(--gray-mute);
    font-size: 13px;
    line-height: 1.7;
}

.video-badge {
    position: absolute;
    right: 24px;
    bottom: 24px;

    padding: 3px 9px;

    color: var(--gray-text);
    background: var(--black-deep);
    border: 1px solid var(--border-mid);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
}

.spoilers-warning {
    margin-top: 26px;

    padding: 14px 18px;

    border: 1px dashed var(--border-mid);

    color: var(--gray-mute);
    font-size: 12px;
    text-align: center;
}


/* =====================================================
   RESPONSIVO
===================================================== */

@media (max-width: 850px) {

    .plans {
        grid-template-columns: 1fr;
        max-width: 500px;
    }

    .benefits {
        grid-template-columns: 1fr 1fr;
    }

    .benefit:nth-child(2) {
        border-right: none;
    }

    .benefit:nth-child(-n+2) {
        border-bottom: 1px solid var(--border-dark);
    }

    .support-section {
        flex-direction: column;
        align-items: flex-start;
    }

    .access-counter-value strong {
        font-size: 52px;
    }

    .video-grid {
        grid-template-columns: 1fr;
    }

    .goal-numbers strong {
        font-size: 28px;
    }

}


@media (max-width: 600px) {

    .membership-hero {
        min-height: 500px;
    }

    .membership-hero h1 {
        font-size: 70px;
    }

    .membership-section {
        padding: 75px 0;
    }

    .section-intro h2 {
        font-size: 45px;
    }

    .membership-card {
        padding: 28px;
    }

    .plan-price {
        font-size: 60px;
    }

    .benefits {
        grid-template-columns: 1fr;
    }

    .benefit,
    .benefit:nth-child(2) {
        border-right: none;
        border-bottom: 1px solid var(--border-dark);
    }

    .benefit:last-child {
        border-bottom: none;
    }

    .support-section {
        padding: 30px;
    }

    .access-counter {
        padding: 28px 30px;
        margin: -20px auto 60px;
    }

    .access-counter-value strong {
        font-size: 44px;
    }

}

/* ==========================================
   DOOMSDAY CINEMATIC UPGRADE
========================================== */

.membership-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:
    radial-gradient(
        circle at 80% 30%,
        rgba(0,168,107,.20),
        transparent 35%
    ),
    radial-gradient(
        circle at 70% 50%,
        rgba(0,168,107,.09),
        transparent 55%
    );

    z-index:1;
}

.membership-hero-content{
    z-index:3;
}

.membership-hero h1{
    text-shadow:
        0 0 30px rgba(0,0,0,.7),
        0 0 60px rgba(0,0,0,.5);
}

.membership-hero h1 strong{
    background:
    linear-gradient(
        180deg,
        var(--green-light),
        var(--green),
        var(--green-dark)
    );

    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero-line{
    width:120px;
    height:4px;

    background:
    linear-gradient(
        90deg,
        var(--green),
        var(--green-bright)
    );

    box-shadow:
    0 0 15px var(--green-glow);
}


/* PLANOS */

.membership-section{
    position:relative;
    overflow:hidden;
}

.membership-section::before{
    content:"";
    position:absolute;
    inset:0;

    background:
    radial-gradient(
        circle at top,
        rgba(0,168,107,.06),
        transparent 50%
    );

    pointer-events:none;
}

.membership-card{
    border-radius:18px;

    backdrop-filter:blur(12px);

    box-shadow:
    0 12px 40px rgba(0,0,0,.35);

    transition:
        .35s ease;
}

.membership-card:hover{
    transform:
        translateY(-10px);

    border-color: var(--green);

    box-shadow:
    0 25px 60px rgba(0,0,0,.45),
    0 0 30px var(--green-glow);
}

.membership-card::before{
    content:"";
    position:absolute;
    inset:0;

    border-radius:18px;

    background:
    linear-gradient(
        130deg,
        rgba(255,255,255,.03),
        transparent 40%
    );

    pointer-events:none;
}


/* VIP */

.membership-card.premium{
    border:1px solid rgba(0,168,107,.7);

    box-shadow:
    0 20px 60px rgba(0,0,0,.45),
    0 0 35px rgba(0,168,107,.20);
}

.membership-card.premium:hover{
    box-shadow:
    0 25px 70px rgba(0,0,0,.55),
    0 0 45px rgba(0,168,107,.40);
}

.popular-label{
    border-bottom-left-radius:12px;
}


/* PREÇO */

.plan-price{
    text-shadow:
    0 0 25px rgba(255,255,255,.06);
}


/* BENEFÍCIOS */

.benefits{
    gap:20px;
    border:none;
}

.benefit{
    background:
    linear-gradient(
        145deg,
        var(--black-3),
        #0b0d12
    );

    border:1px solid var(--border-dark);
    border-radius:16px;

    transition:.3s;
}

.benefit:hover{
    transform:translateY(-8px);

    border-color: var(--green);

    box-shadow:
    0 15px 40px rgba(0,0,0,.4);
}

.benefit-number{
    font-size:42px;
}


/* BOTÕES */

.membership-button{
    border-radius:12px;

    box-shadow:
    0 8px 20px rgba(0,168,107,.25);

    transition:.3s;
}

.membership-button:hover{
    transform:translateY(-3px);

    box-shadow:
    0 12px 30px rgba(0,168,107,.45);
}

.premium-button{
    box-shadow:
    0 8px 20px rgba(255,255,255,.12);
}

.premium-button:hover{
    box-shadow:
    0 12px 30px rgba(51,255,168,.35);
}


/* APOIO */

.support-section{
    border-radius:20px;

    box-shadow:
    0 20px 60px rgba(0,0,0,.35);
}

html,
body{
    width:100%;
    overflow-x:hidden;
    background: var(--black-deep);
}

footer{
    background: var(--black-deep);
    border-top:1px solid #181d24;
    padding:80px 0 30px;
}

.footer-container{
    width:min(1200px,92%);
    margin:auto;

    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:50px;
}

.footer-bottom{
    margin-top:50px;
    padding-top:20px;

    border-top:1px solid #181d24;

    text-align:center;
    color: var(--gray-mute);
}

/* =========================
   NAVBAR
========================= */

.navbar{
    position:sticky;
    top:0;
    z-index:1000;

    background:rgba(5,6,8,.92);
    backdrop-filter:blur(12px);

    border-bottom:1px solid #171d25;
    box-shadow: 0 1px 0 var(--green-line);
}

.nav-container{
    width:min(1200px,92%);
    margin:auto;

    height:80px;

    display:flex;
    align-items:center;
    justify-content:space-between;
}

.logo img{
    height:48px;
}

.nav-links{
    display:flex;
    gap:28px;
}

.nav-links a{
    position: relative;

    color: var(--off-white);

    font-size:14px;
    font-weight:600;
    text-decoration: none;
    transition: color .3s;
}

.nav-links a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;

    width:0;
    height:2px;

    background: var(--green-bright);
    box-shadow: 0 0 8px var(--green-bright);

    transition: width .3s;
}

.nav-links a:hover{
    color: var(--green-bright);
}

.nav-links a:hover::after{
    width: 100%;
}

.nav-links .active{
    color: var(--green-bright);
}

.nav-links .active::after{
    width: 100%;
}

.login-button{
    padding:12px 22px;

    border:1px solid var(--green);

    color: var(--white);

    font-size:12px;
    font-weight:700;
    letter-spacing:1px;

    transition:.3s;
}

.login-button:hover{
    background: var(--green);
    color: var(--black-deep);
}


/* =========================
   FOOTER
========================= */

footer{
    background: var(--black-deep);

    border-top:1px solid var(--green-line);

    margin-top:120px;

    padding:80px 0 25px;

    box-shadow: 0 -20px 40px -30px var(--green-glow) inset;
}

.footer-container{
    width:min(1200px,92%);
    margin:auto;

    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:60px;
}

.footer-container img{
    height:55px;
    margin-bottom:20px;
}

.footer-container p{
    max-width:350px;

    color: var(--gray-text);
    line-height:1.8;
}

.footer-container h3{
    position: relative;

    margin-bottom:18px;
    padding-left: 14px;

    color: var(--white);

    font-family:"Bebas Neue",sans-serif;
    font-size:24px;
    letter-spacing:1px;
}

.footer-container h3::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform: translateY(-50%);

    width: 4px;
    height: 18px;

    background: var(--green-bright);
    box-shadow: 0 0 8px var(--green-bright);
}

.footer-container a{
    display:block;

    margin-bottom:12px;

    color: var(--gray-text);

    transition:.3s;
}

.footer-container a:hover{
    color: var(--green-bright);
}

.footer-bottom{
    width:min(1200px,92%);
    margin:60px auto 0;

    padding-top:25px;

    border-top:1px solid #171d25;

    text-align:center;

    color: var(--gray-mute);
    font-size:14px;
}

/* =====================================================
   DOAÇÃO / PIX
===================================================== */

.donation-section {
    position: relative;
    padding: 80px 0;
    background: var(--black-1);
    border-top: 1px solid var(--green-line);
    border-bottom: 1px solid var(--green-line);
}

.pix-card {
    max-width: 500px;
    margin: 40px auto 0;
    padding: 40px;
    text-align: center;
    background: linear-gradient(145deg, var(--black-card), #0b0d12);
    border: 1px solid var(--border-dark);
    border-top: 3px solid var(--green-bright);
    border-radius: 18px;
    box-shadow: 0 12px 40px rgba(0,0,0,.35), 0 0 25px rgba(0,168,107,.08);
}

.pix-icon {
    font-size: 48px;
    margin-bottom: 16px;
    filter: drop-shadow(0 0 14px var(--green-glow));
}

.pix-card h3 {
    font-family: "Bebas Neue", sans-serif;
    font-size: 28px;
    letter-spacing: 1px;
    margin-bottom: 24px;
    color: var(--white);
}

.pix-key-container {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

#pixKey {
    flex: 1;
    min-width: 200px;
    max-width: 320px;
    padding: 14px 16px;
    background: var(--black-1);
    border: 2px solid var(--border-mid);
    border-radius: 10px;
    color: var(--white);
    font-family: "Inter", monospace;
    font-size: 14px;
    letter-spacing: 1px;
    text-align: center;
}

#pixKey:focus{
    outline: none;
    border-color: var(--green);
}

.copy-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    background: var(--green);
    border: none;
    border-radius: 10px;
    color: var(--white);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1px;
    cursor: pointer;
    transition: .2s;
    white-space: nowrap;
}

.copy-btn:hover {
    background: var(--green-bright);
    color: var(--black-deep);
    transform: translateY(-2px);
}

.copy-btn.copied {
    background: var(--green-light);
    color: var(--black-deep);
}

.copy-success {
    color: var(--green-light);
}

.pix-note {
    color: var(--gray-mute);
    font-size: 12px;
    margin: 0;
}

.donation-options {
    max-width: 600px;
    margin: 50px auto 0;
    text-align: center;
}

.donation-options h3 {
    font-family: "Bebas Neue", sans-serif;
    font-size: 24px;
    letter-spacing: 1px;
    margin-bottom: 20px;
    color: var(--white);
}

.amount-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.amount-btn {
    padding: 12px 24px;
    background: linear-gradient(145deg, var(--black-card), #0b0d12);
    border: 1px solid var(--border-dark);
    border-radius: 10px;
    color: var(--off-white);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s;
}

.amount-btn:hover,
.amount-btn.selected {
    border-color: var(--green);
    background: rgba(0, 168, 107, .15);
    color: var(--white);
}

.amount-btn.custom {
    background: transparent;
    border-style: dashed;
    color: var(--green-bright);
}

.amount-btn.custom:hover {
    background: rgba(0, 168, 107, .1);
    border-color: var(--green-bright);
}

#customAmount {
    text-align: center;
}

#customAmount:focus{
    outline: none;
    border-color: var(--green);
}

@media (max-width: 600px) {
    .pix-key-container {
        flex-direction: column;
        align-items: center;
    }

    #pixKey {
        width: 100%;
        max-width: 100%;
    }

    .copy-btn {
        width: 100%;
    }

    .amount-buttons {
        flex-direction: column;
        align-items: center;
    }

    .amount-btn {
        width: 100%;
        max-width: 280px;
    }
}