/*=====================================================
GIVING PAGE
Grace Chapel International - Kenol
======================================================*/


/*=====================================================
PAGE
======================================================*/

.giving-page{

    width:100%;
    max-width:100%;
    flex:1;

    overflow:hidden;

    --primary:#0E2345;
    --secondary:#D4AF37;

    --white:#FFFFFF;
    --light:#F8FAFC;

    --text:#243447;
    --muted:#64748B;

    --border:#E6ECF2;

    --radius:20px;

    --shadow:0 12px 35px rgba(15,23,42,.08);

    --transition:.3s ease;

    background:var(--light);

    color:var(--text);

}



/*=====================================================
HERO
======================================================*/

.giving-hero{

    position:relative;

    display:flex;

    align-items:center;

    min-height:72vh;

    padding:120px 0 100px;

    background:

    linear-gradient(

        rgba(14,35,69,.82),

        rgba(14,35,69,.82)

    ),

    url("../giving/giving-hero.jpg")

    center center/cover no-repeat;

}



.giving-hero-overlay{

    position:absolute;

    inset:0;

    background:

    linear-gradient(

        90deg,

        rgba(0,24,60,.45),

        rgba(0,24,60,.15)

    );

}



.giving-hero .wrap{

    position:relative;

    z-index:2;

    width:100%;

    max-width:1200px;

    margin:auto;

    padding:0 20px;

}



.eyebrow{

    display:inline-block;

    margin-bottom:22px;

    padding:10px 22px;

    border-radius:999px;

    background:rgba(212,175,55,.15);

    color:var(--secondary);

    font-size:.85rem;

    font-weight:700;

    letter-spacing:.12em;

    text-transform:uppercase;

}



.giving-hero h1{

    max-width:900px;

    margin-bottom:28px;

    color:#fff;

    font-size:clamp(2.8rem,5vw,4.8rem);

    line-height:1.08;

}



.giving-hero p{

    max-width:760px;

    color:rgba(255,255,255,.92);

    font-size:1.15rem;

    line-height:1.9;

}



/*=====================================================
PAYMENT NAVIGATION
======================================================*/

.giving-tabs{

    background:#fff;

    border-bottom:1px solid var(--border);

    box-shadow:0 2px 8px rgba(0,0,0,.04);

}



.giving-tabs .wrap{

    width:100%;

    max-width:1200px;

    margin:auto;

    padding:24px 20px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:16px;

}



.giving-tab{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    height:62px;

    background:#fff;

    border:1px solid var(--border);

    border-radius:18px;

    color:var(--primary);

    font-weight:600;

    cursor:pointer;

    transition:all var(--transition);

}



.giving-tab:hover{

    transform:translateY(-2px);

    box-shadow:var(--shadow);

}



.giving-tab.active{

    background:var(--primary);

    border-color:var(--primary);

    color:#fff;

}



.giving-tab i{

    font-size:18px;

}



/*=====================================================
CONTENT WRAPPER
======================================================*/

.giving-content{

    padding:70px 0;

}



.giving-content .wrap{

    width:100%;

    max-width:920px;

    margin:auto;

    padding:0 20px;

}

/*=====================================================
PAYMENT PANELS
======================================================*/

.giving-panel{

    display:none;

    background:#fff;

    border:1px solid var(--border);

    border-radius:24px;

    padding:50px;

    box-shadow:var(--shadow);

    animation:givingFade .35s ease;

}

.giving-panel.active{

    display:block;

}



.giving-panel h2{

    margin-bottom:18px;

    color:var(--primary);

    font-size:2rem;

    line-height:1.2;

}



.giving-panel>p{

    margin-bottom:35px;

    color:var(--muted);

    line-height:1.8;

}



/*=====================================================
FORM ELEMENTS
======================================================*/

.giving-panel label{

    display:block;

    margin-bottom:10px;

    color:var(--primary);

    font-weight:600;

}



.giving-panel select{

    width:100%;

    height:56px;

    padding:0 18px;

    margin-bottom:35px;

    border:1px solid var(--border);

    border-radius:14px;

    background:#fff;

    color:var(--text);

    transition:all var(--transition);

}



.giving-panel select:focus{

    outline:none;

    border-color:var(--secondary);

    box-shadow:0 0 0 4px rgba(212,175,55,.18);

}



/*=====================================================
PAYMENT GRID
======================================================*/

.payment-grid{

    display:grid;

    gap:20px;

    margin-bottom:40px;

}



/*=====================================================
PAYMENT CARD
======================================================*/

.payment-card{

    display:flex;

    align-items:center;

    gap:20px;

    padding:24px;

    background:#fff;

    border:1px solid var(--border);

    border-radius:18px;

    transition:all var(--transition);

}



.payment-card:hover{

    border-color:#d6dee8;

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(0,0,0,.06);

}



/*=====================================================
ICON
======================================================*/

.payment-icon{

    width:62px;

    height:62px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    border-radius:16px;

    background:#EDF4FF;

    color:var(--primary);

    font-size:24px;

}



/*=====================================================
TEXT
======================================================*/

.payment-body{

    flex:1;

}



.payment-body span{

    display:block;

    margin-bottom:6px;

    color:var(--muted);

    font-size:.9rem;

}



.payment-body strong{

    display:block;

    color:var(--primary);

    font-size:1.15rem;

    line-height:1.4;

    word-break:break-word;

}



/*=====================================================
COPY BUTTON
======================================================*/

.copy-btn{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:12px 18px;

    border:none;

    border-radius:12px;

    background:var(--primary);

    color:#fff;

    font-size:.9rem;

    font-weight:600;

    cursor:pointer;

    transition:all var(--transition);

}



.copy-btn:hover{

    background:var(--secondary);

    color:#1b1b1b;

}



/*=====================================================
PRIMARY BUTTON
======================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border-radius:14px;

    text-decoration:none;

    font-weight:600;

    transition:all var(--transition);

}



.btn-primary{

    background:var(--secondary);

    color:#111827;

}



.btn-primary:hover{

    transform:translateY(-2px);

    box-shadow:0 12px 28px rgba(212,175,55,.35);

}



/*=====================================================
HELP SECTION
======================================================*/

.giving-help{

    padding:80px 0;

    text-align:center;

}



.giving-help .wrap{

    max-width:920px;

    margin:auto;

    padding:0 20px;

}



.giving-help h2{

    margin-bottom:18px;

    color:var(--primary);

    font-size:2rem;

}



.giving-help p{

    max-width:650px;

    margin:0 auto 40px;

    color:var(--muted);

    line-height:1.9;

}



/*=====================================================
HELP BUTTONS
======================================================*/

.help-buttons{

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;

}



.help-buttons a{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:15px 28px;

    border-radius:50px;

    background:var(--primary);

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:all var(--transition);

}



.help-buttons a:hover{

    background:var(--secondary);

    color:#111827;

}



/*=====================================================
ANIMATION
======================================================*/

@keyframes givingFade{

    from{

        opacity:0;

        transform:translateY(15px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*=====================================================
RESPONSIVE PAYMENT GRID
======================================================*/

.payment-grid{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:22px;

}



/*=====================================================
TABLET
======================================================*/

@media (max-width:991px){

    .giving-hero{

        min-height:auto;

        padding:90px 0 70px;

        text-align:center;

    }

    .giving-hero h1{

        font-size:3rem;

    }

    .giving-hero p{

        margin:auto;

    }

    .giving-tabs .wrap{

        grid-template-columns:repeat(2,1fr);

    }

    .payment-grid{

        grid-template-columns:1fr;

    }

    .giving-panel{

        padding:40px;

    }

}



/*=====================================================
MOBILE
======================================================*/

@media (max-width:768px){

    .giving-hero{

        padding:80px 0 60px;

    }

    .giving-hero h1{

        font-size:2.4rem;

        line-height:1.15;

    }

    .giving-hero p{

        font-size:1rem;

        line-height:1.8;

    }

    .eyebrow{

        font-size:.78rem;

    }

    .giving-tabs .wrap{

        grid-template-columns:1fr;

        gap:12px;

    }

    .giving-tab{

        width:100%;

        height:58px;

    }

    .giving-panel{

        padding:30px 24px;

        border-radius:20px;

    }

    .giving-panel h2{

        font-size:1.6rem;

    }

    .payment-card{

        flex-direction:column;

        align-items:flex-start;

        text-align:left;

        gap:16px;

    }

    .payment-icon{

        width:58px;

        height:58px;

        font-size:22px;

    }

    .copy-btn{

        width:100%;

        justify-content:center;

    }

    .btn{

        width:100%;

        justify-content:center;

    }

    .help-buttons{

        flex-direction:column;

        align-items:stretch;

    }

    .help-buttons a{

        justify-content:center;

    }

}



/*=====================================================
SMALL MOBILE
======================================================*/

@media (max-width:480px){

    .giving-hero{

        padding:70px 0 50px;

    }

    .giving-hero h1{

        font-size:2rem;

    }

    .giving-panel{

        padding:24px 18px;

    }

}



/*=====================================================
FOCUS STATES
======================================================*/

.giving-tab:focus-visible,
.copy-btn:focus-visible,
.btn:focus-visible,
.help-buttons a:focus-visible{

    outline:3px solid var(--secondary);

    outline-offset:3px;

}



/*=====================================================
SMOOTH TRANSITIONS
======================================================*/

.giving-panel,
.payment-card,
.giving-tab,
.copy-btn,
.btn,
.help-buttons a{

    transition:

        background-color .3s ease,

        color .3s ease,

        border-color .3s ease,

        transform .3s ease,

        box-shadow .3s ease;

}



/*=====================================================
UTILITY
======================================================*/

.giving-page .text-center{

    text-align:center;

}

.giving-page .hidden{

    display:none !important;

}

/*======================================
THANK YOU PAGE
======================================*/

.giving-thank-you{

    background:#f8fafc;

    padding:80px 20px;

}

.giving-thank-you .wrap{

    max-width:900px;

    margin:0 auto;

}

.giving-success{

    text-align:center;

    margin-bottom:60px;

}

.success-icon{

    width:90px;

    height:90px;

    margin:0 auto 25px;

    border-radius:50%;

    background:#198754;

    color:#fff;

    font-size:48px;

    font-weight:700;

    display:flex;

    align-items:center;

    justify-content:center;

}

.giving-success h1{

    margin-bottom:15px;

    font-size:48px;

}

.giving-success p{

    font-size:22px;

    color:#666;

}

/*======================================
DONATION SUMMARY
======================================*/

.giving-summary{

    margin:0 auto 60px;

}

.summary-card{

    background:#fff;

    border-radius:18px;

    padding:40px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    border:1px solid #ececec;

}

.summary-card h2{

    text-align:center;

    margin-bottom:35px;

    color:#0d47a1;

}

.summary-card dl{

    display:grid;

    grid-template-columns:220px 1fr;

    align-items:center;

}

.summary-card dt{

    margin:0;

    font-weight:700;

    color:#555;

}

.summary-card dd{

    margin:0;

    color:#111;

    font-size:20px;

}


.status-completed{

    display:inline-block;

    background:#198754;

    color:#fff;

    padding:6px 16px;

    border-radius:50px;

    font-size:14px;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;

}

/*======================================
THANK YOU MESSAGE
======================================*/

.giving-message{

    margin-bottom:60px;

}

.message-card{

    background:#fff;

    border:1px solid #ececec;

    border-radius:18px;

    padding:40px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

/*======================================
THANK YOU MESSAGE
======================================*/

.giving-message{

    margin-bottom:60px;

}

.message-card{

    background:#fff;

    border:1px solid #ececec;

    border-radius:18px;

    padding:40px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}


.message-card blockquote{

    margin:35px 0 0;

    padding:25px 30px;

    background:#f8fafc;

    border-left:5px solid #0d47a1;

    font-style:italic;

    color:#555;

}

.giving-actions{

    display:flex;

    gap:20px;

    justify-content:center;

    flex-wrap:wrap;

    margin-top:50px;

}

/*======================================
ACTION BUTTONS
======================================*/

.giving-actions a,
.giving-actions button{

    min-width:220px;

    height:58px;

    padding:0 30px;

    border-radius:12px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    font-weight:600;

    transition:.25s ease;

    cursor:pointer;

}


.button-give{

    background:#0d47a1;

    color:#fff;

}

.button-give:hover{

    background:#0b3b86;

    transform:translateY(-2px);

}

.button-receipt{

    background:#d9dde4;

    color:#666;

    border:none;

    cursor:not-allowed;

}

.giving-actions{

    padding-bottom:80px;

}

.summary-card dt{

    padding:18px 0;

    border-top:1px solid #edf1f5;

}

.summary-card dd{

    padding:18px 0;

    border-top:1px solid #edf1f5;

}


.summary-card dt,
.summary-card dd{

    padding:20px 0;

    border-top:1px solid #edf1f5;

    margin:0;

}


.transaction-reference{

    display:inline-block;

    background:#f5f7fa;

    padding:10px 18px;

    border-radius:8px;

    font-family:monospace;

    font-size:22px;

    letter-spacing:1px;

}