/* =========================================================
   Indian Pride FOUNDATION
   DONATION PAGE
========================================================= */


/* =========================================================
   DONATION PAGE BACKGROUND
========================================================= */

.donation-page {

    position: relative;

    min-height:
        calc(100vh - 78px);

    padding:
        70px 0 80px;

    overflow:
        hidden;

    background:
        linear-gradient(
            rgba(15, 42, 34, 0.78),
            rgba(15, 42, 34, 0.78)
        ),
        url("common.jpg");

    background-size:
        cover;

    background-position:
        center;

    background-attachment:
        fixed;
}


.donation-page::before {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        rgba(0, 0, 0, 0.08);

    pointer-events:
        none;

}


.donation-container {

    position:
        relative;

    z-index:
        2;

}


/* =========================================================
   WHITE PANELS
========================================================= */

.donation-panel {

    position:
        relative;

    background:
        rgba(255, 255, 255, 0.95);

    padding:
        50px;

    margin-bottom:
        28px;

    border-radius:
        10px;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.20);

    backdrop-filter:
        blur(5px);

    -webkit-backdrop-filter:
        blur(5px);

}


/* =========================================================
   INTRODUCTION
========================================================= */

.donation-intro {

    text-align:
        center;

}


.donation-label {

    display:
        inline-block;

    color:
       red;

    font-size:
        12px;

    font-weight:
        700;

    letter-spacing:
        2.5px;

    margin-bottom:
        10px;

}


.donation-intro h1 {

    font-family:
        "Playfair Display",
        serif;

    color:
        var(--dark);

    font-size:
        clamp(40px, 6vw, 58px);

    line-height:
        1.1;

    margin-bottom:
        20px;

}


.donation-intro h1 span,
.donation-heading h2 span,
.donation-cta h2 span {

    color:
        red;

}


.donation-intro p {

    max-width:
        800px;

    margin:
        0 auto 15px;

    color:
        var(--text);

    font-size:
        15px;

    line-height:
        1.8;

}


.donation-intro .donation-lead {

    font-size:
        17px;

    line-height:
        1.8;

}


/* =========================================================
   SECTION HEADINGS
========================================================= */

.donation-heading {

    margin-bottom:
        35px;

}


.donation-heading h2 {

    font-family:
        "Playfair Display",
        serif;

    color:
        var(--dark);

    font-size:
        clamp(34px, 5vw, 48px);

    line-height:
        1.12;

}


/* =========================================================
   DONATION METHODS
========================================================= */

.donation-methods {

    display:
        grid;

    grid-template-columns:
        1.5fr 1fr;

    gap:
        30px;

}


.bank-card,
.qr-card {

    background:
        rgba(248, 245, 237, 0.75);

    border:
        1px solid var(--border);

    border-radius:
        9px;

}


.bank-card {

    display:
        flex;

    gap:
        22px;

    padding:
        30px;

}


.qr-card {

    padding:
        30px;

    text-align:
        center;

}


.method-icon {

    width:
        48px;

    height:
        48px;

    flex-shrink:
        0;

    display:
        grid;

    place-items:
        center;

    background:
        var(--green-light);

    color:
        var(--green);

    border-radius:
        50%;

    font-size:
        20px;

    font-weight:
        700;

}


.bank-card h3,
.qr-card h3 {

    font-family:
        "Playfair Display",
        serif;

    color:
        var(--dark);

    font-size:
        25px;

    margin-bottom:
        8px;

}


.method-description,
.qr-card > p {

    color:
        var(--text);

    font-size:
        13px;

    line-height:
        1.7;

}


/* =========================================================
   BANK DETAILS
========================================================= */

.bank-details {

    margin-top:
        25px;

    border-top:
        1px solid var(--border);

}


.bank-detail {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    padding:
        13px 0;

    border-bottom:
        1px solid var(--border);

}


.bank-detail span {

    color: #718078;
    font-size: 14px;
    font-weight: 500;

}


.bank-detail strong {

    color: var(--dark);
    font-size: 16px;
    font-weight: 700;
    text-align: right;

}


/* =========================================================
   QR CODE
========================================================= */

.qr-card {

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

}


.qr-card .method-icon {

    margin-bottom:
        15px;

}


.qr-wrapper {

    width:
        230px;

    height:
        230px;

    padding:
        12px;

    margin:
        20px auto;

    background:
        white;

    border:
        1px solid var(--border);

    border-radius:
        8px;

    box-shadow:
        0 10px 30px rgba(0,0,0,.08);

}


.qr-wrapper img {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        contain;

}


.qr-note {

    max-width:
        350px;

    margin:
        0 auto 18px;

    font-size:
        12px !important;

}


.upi-id {

    display:
        flex;

    flex-direction:
        column;

    gap:
        5px;

    width:
        100%;

    padding:
        12px 15px;

    background:
        var(--green-light);

    border-radius:
        6px;

}


.upi-id span {

    color:
        var(--green);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        1.5px;

}


.upi-id strong {

    color:
        var(--dark);

    font-size:
        14px;

}


/* =========================================================
   DONATION NOTES
========================================================= */

.donation-notes {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        25px;

}


.donation-note {

    display:
        flex;

    gap:
        15px;

    padding:
        22px;

    background:
        rgba(248, 245, 237, 0.75);

    border:
        1px solid var(--border);

    border-radius:
        8px;

}


.donation-note > span {

    width:
        38px;

    height:
        38px;

    flex-shrink:
        0;

    display:
        grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        var(--green-light);

    color:
        var(--green);

    font-size:
        10px;

    font-weight:
        700;

}


.donation-note h3 {

    font-family:
        "Playfair Display",
        serif;

    color:
        var(--dark);

    font-size:
        18px;

    margin-bottom:
        7px;

}


.donation-note p {

    color:
        var(--text);

    font-size:
        12px;

    line-height:
        1.7;

}


/* =========================================================
   FINAL CTA
========================================================= */

.donation-cta {

    text-align:
        center;

    margin-bottom:
        0;

}


.donation-cta h2 {

    font-family:
        "Playfair Display",
        serif;

    color:
        var(--dark);

    font-size:
        clamp(32px, 5vw, 46px);

    line-height:
        1.15;

    margin-bottom:
        15px;

}


.donation-cta p {

    max-width:
        650px;

    margin:
        0 auto 25px;

    color:
        var(--text);

    font-size:
        14px;

    line-height:
        1.8;

}


.donation-contact-button {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        13px 28px;

    background:
        var(--green);

    color:
        white;

    border-radius:
        5px;

    font-size:
        13px;

    font-weight:
        700;

    text-decoration:
        none;

    transition:
        all .25s ease;

}


.donation-contact-button:hover {

    background:
        var(--orange);

    transform:
        translateY(-2px);

}


/* =========================================================
   FOOTER DONATION AREA
========================================================= */

.footer-main {

    padding:
        45px 0;

}


.footer-content {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        50px;

}


.footer-brand {

    max-width:
        500px;

}


.footer-brand .logo {

    display:
        inline-flex;

    margin-bottom:
        15px;

}


.footer-brand p {

    color:
        #b8c9c1;

    font-size:
        12px;

    line-height:
        1.7;

}


.footer-donation {

    text-align:
        right;

}


.footer-donation h3 {

    color:
        white;

    font-family:
        "Playfair Display",
        serif;

    font-size:
        22px;

    margin-bottom:
        6px;

}


.footer-donation p {

    color:
        #b8c9c1;

    font-size:
        12px;

    margin-bottom:
        15px;

}


.footer-donate-button {

    display:
        inline-flex;

    padding:
        11px 22px;

    background:
        var(--orange);

    color:
        white;

    text-decoration:
        none;

    border-radius:
        5px;

    font-size:
        12px;

    font-weight:
        700;

    transition:
        all .25s ease;

}


.footer-donate-button:hover {

    background:
        white;

    color:
        var(--dark);

}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.footer-bottom {

    min-height:
        70px;

    border-top:
        1px solid rgba(255,255,255,.1);

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    text-align:
        center;

    font-size:
        12px;

}


/* =========================================================
   QR CODE CLICK / LIGHTBOX
========================================================= */

.qr-clickable {

    cursor:
        pointer;

    transition:
        transform .25s ease,
        box-shadow .25s ease;

}


.qr-clickable:hover {

    transform:
        scale(1.03);

}


/* =========================================================
   FULL-SCREEN QR LIGHTBOX
========================================================= */

.qr-lightbox {

    position:
        fixed;

    inset:
        0;

    z-index:
        9999;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        30px;

    background:
        rgba(0, 0, 0, 0.88);

    opacity:
        0;

    visibility:
        hidden;

    pointer-events:
        none;

    transition:
        opacity .3s ease,
        visibility .3s ease;

}


/* Open state */

.qr-lightbox.active {

    opacity:
        1;

    visibility:
        visible;

    pointer-events:
        auto;

}


/* =========================================================
   QR LIGHTBOX CONTENT
========================================================= */

.qr-lightbox-content {

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    transform:
        scale(.85);

    transition:
        transform .3s ease;

}


.qr-lightbox.active
.qr-lightbox-content {

    transform:
        scale(1);

}


.qr-lightbox-content img {

    width:
        min(75vw, 500px);

    height:
        min(75vw, 500px);

    max-width:
        90vw;

    max-height:
        75vh;

    object-fit:
        contain;

    background:
        white;

    padding:
        18px;

    border-radius:
        12px;

    box-shadow:
        0 25px 80px rgba(0, 0, 0, 0.45);

}


.qr-lightbox-content p {

    margin-top:
        20px;

    color:
        white;

    font-size:
        15px;

    font-weight:
        500;

    letter-spacing:
        .3px;

}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.qr-lightbox-close {

    position:
        absolute;

    top:
        25px;

    right:
        30px;

    width:
        45px;

    height:
        45px;

    display:
        grid;

    place-items:
        center;

    border:
        none;

    border-radius:
        50%;

    background:
        rgba(255, 255, 255, 0.12);

    color:
        white;

    font-size:
        32px;

    line-height:
        1;

    cursor:
        pointer;

    transition:
        background .25s ease,
        transform .25s ease;

}


.qr-lightbox-close:hover {

    background:
        var(--orange);

    transform:
        rotate(90deg);

}


/* Prevent page scrolling while QR is open */

body.qr-lightbox-open {

    overflow:
        hidden;

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .qr-lightbox {

        padding:
            20px;

    }


    .qr-lightbox-content img {

        width:
            85vw;

        height:
            85vw;

        max-height:
            70vh;

        padding:
            12px;

    }


    .qr-lightbox-close {

        top:
            15px;

        right:
            15px;

        width:
            40px;

        height:
            40px;

        font-size:
            28px;

    }


    .qr-lightbox-content p {

        font-size:
            13px;

    }

}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .donation-page {

        padding:
            55px 0 65px;

    }


    .donation-panel {

        padding:
            40px;

    }


    .donation-methods {

        grid-template-columns:
            1fr;

    }


    .qr-card {

        max-width:
            600px;

        width:
            100%;

        margin:
            0 auto;

    }


    .donation-notes {

        grid-template-columns:
            1fr 1fr;

    }


    .donation-note:last-child {

        grid-column:
            1 / -1;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .donation-page {

        min-height:
            auto;

        padding:
            35px 0 45px;

        background-attachment:
            scroll;

    }


    .donation-panel {

        padding:
            28px 22px;

        margin-bottom:
            18px;

        border-radius:
            7px;

    }


    .donation-intro h1 {

        font-size:
            38px;

    }


    .donation-intro .donation-lead {

        font-size:
            15px;

    }


    .donation-heading {

        margin-bottom:
            25px;

    }


    .donation-heading h2 {

        font-size:
            34px;

    }


    .bank-card {

        flex-direction:
            column;

        padding:
            22px;

    }


    .bank-detail {

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            4px;

    }


    .bank-detail strong {

        text-align:
            left;

    }


    .donation-notes {

        grid-template-columns:
            1fr;

    }


    .donation-note:last-child {

        grid-column:
            auto;

    }


    .footer-main {

        padding:
            35px 0;

    }


    .footer-content {

        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            30px;

    }


    .footer-donation {

        text-align:
            left;

    }

}


/* =========================================================
   SMALL PHONES
========================================================= */

@media (max-width: 480px) {

    .donation-page {

        padding:
            25px 0 35px;

    }


    .donation-panel {

        padding:
            24px 18px;

    }


    .donation-intro h1 {

        font-size:
            32px;

    }


    .donation-heading h2 {

        font-size:
            30px;

    }


    .qr-wrapper {

        width:
            200px;

        height:
            200px;

    }


    .footer-bottom {

        min-height:
            65px;

        padding:
            15px;

        font-size:
            11px;

    }

}