/* ================= HERO ================= */

.partner-hero{
padding:56px 20px 30px;
text-align:center;
background:#ffffff;
}

.partner-hero h1{
font-size:38px;
font-weight:700;
color:#0b2244;
margin-bottom:15px;
}

.partner-hero p{
font-size:18px;
color:#555;
}

/* ================= BENEFIT CARDS ================= */

.partner-benefits{
padding:42px 20px;
background:#ffffff;
}

.grid-3{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
max-width:1100px;
margin:auto;
}

.benefit-card{
background:rgba(255,255,255,0.75);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
overflow: hidden;
border-radius:18px;
padding:32px 25px;
text-align:center;
position:relative;

border:1px solid rgba(30,120,255,0.15);

box-shadow:
0 12px 30px rgba(0,0,0,0.06),
0 0 0 1px rgba(30,120,255,0.05) inset;

transition:0.25s ease;
}

.benefit-card:hover{
transform:translateY(-6px);
box-shadow:
0 18px 40px rgba(0,0,0,0.10),
0 10px 25px rgba(30,120,255,0.15);
}

/* ICON BOX */

.benefit-icon{
width:62px;
height:62px;
margin:auto;
margin-bottom:16px;
border-radius:16px;
display:flex;
align-items:center;
justify-content:center;
font-size:26px;
color:#1e78ff;

background:linear-gradient(
135deg,
rgba(30,120,255,0.12),
rgba(0,200,180,0.12)
);
}

.benefit-card h3{
font-size:21px;
margin-bottom:8px;
color:#1c1c1c;
}

.benefit-card p{
font-size:14px;
color:#5f6b7a;
line-height:1.6;
}

/* soft floating reflection */
.benefit-card::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:1px;
background:linear-gradient(90deg,
transparent,
rgba(255,255,255,0.8),
transparent);
}

.benefit-card::after{
content:"";
position:absolute;
bottom:-18px;
left:50%;
transform:translateX(-50%);
width:55%;
height:16px;

background:radial-gradient(
ellipse at center,
rgba(30,120,255,0.25),
rgba(30,120,255,0.08),
transparent
);

filter:blur(10px);
opacity:.7;
}

/* ================= FORM ================= */

.partner-form{
padding:42px 20px 60px;
background:#ffffff;
text-align:center;
}

.partner-form-card{
width:min(920px,100%);
margin:auto;
padding:28px;
border:1px solid #dfe7f2;
border-radius:22px;
background:linear-gradient(180deg,#ffffff,#f8fbff);
box-shadow:0 24px 58px rgba(17,43,80,.08);
}

.partner-form h2{
font-size:28px;
margin-bottom:22px;
color:#222;
}

.partnerForm{
max-width:none;
margin:auto;
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:15px;
}

.partnerForm input,
.partnerForm select,
.partnerForm textarea{
box-sizing:border-box;
min-width:0;
}

.partnerForm select,
.partnerForm textarea,
.partnerForm button{
grid-column:1 / -1;
}

.partnerForm input,
.partnerForm select{
padding:14px;
border-radius:10px;
border:1px solid #ddd;
font-size:15px;
transition:0.2s;
}

.partnerForm input:focus,
.partnerForm select:focus{
border-color:#7a3cff;
box-shadow:0 0 0 2px rgba(122,60,255,0.15);
outline:none;
}

.partnerForm button{
margin-top:10px;
padding:14px;
border:none;
border-radius:12px;
font-size:17px;
font-weight:600;
color:#fff;
background:linear-gradient(90deg,#7a3cff,#4f8cff);
cursor:pointer;
transition:0.25s;
box-shadow:0 10px 25px rgba(122,60,255,0.35);
}

.partnerForm button:hover{
transform:translateY(-2px);
box-shadow:0 15px 35px rgba(122,60,255,0.5);
}

/* ================= MOBILE ================= */

@media(max-width:900px){

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

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

.partner-hero h1{
font-size:34px;
}

}

@media(max-width:600px){
html,
body{
overflow-x:hidden;
}

.partner-hero,
.partner-benefits,
.partner-form{
padding-left:12px;
padding-right:12px;
}

.partner-hero{
padding-top:30px;
padding-bottom:18px;
}

.partner-hero h1{
font-size:26px;
line-height:1.18;
}

.partner-hero p{
font-size:14px;
line-height:1.45;
}

.partner-form{
padding-top:24px;
padding-bottom:42px;
}

.partner-form-card{
width:100%;
max-width:100%;
padding:20px;
border-radius:18px;
box-sizing:border-box;
overflow:hidden;
}

.partner-form h2{
font-size:22px;
line-height:1.2;
}

.partnerForm{
width:100%;
gap:12px;
}

.partnerForm input,
.partnerForm select,
.partnerForm textarea,
.partnerForm button{
width:100%;
max-width:100%;
box-sizing:border-box;
font-size:13px;
}

.partnerForm button{
padding:13px 14px;
font-size:14px;
}
}

/*==================Text Area Box ====================*/
.partner-form textarea{
    width:100%;
    padding:12px 14px;
    border-radius:10px;
    border:1px solid #ddd;
    font-family:'Poppins',sans-serif;
    font-size:14px;
    resize:none;
    min-height:100px;
    transition:0.3s;
}

.partner-form textarea:focus{
    outline:none;
    border-color:#2a5bd7;
    box-shadow:0 0 0 2px rgba(42,91,215,0.1);
}

/*Consistency*/
.partner-form input,
.partner-form select,
.partner-form textarea{
    width:100%;
    padding:12px 14px;
    border-radius:10px;
    border:1px solid #ddd;
    font-family:'Poppins',sans-serif;
    transition:0.3s;
}

.partner-form input:focus,
.partner-form select:focus,
.partner-form textarea:focus{
    border-color:#2a5bd7;
    box-shadow:0 0 0 2px rgba(42,91,215,0.1);
    outline:none;
}

/* =========================
   TOAST ALERT (MODERN GLASS)
========================= */

.toast{
    position:fixed;
    top:25px;
    right:25px;
    z-index:9999;

    min-width:300px;
    max-width:380px;

    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(14px);

    border-radius:16px;
    box-shadow:0 15px 40px rgba(0,0,0,0.15);

    padding:16px 18px;

    animation:slideIn .4s ease;
    transition:.3s;
}

/* SUCCESS */
.toast.success{
    border-left:5px solid #00c851;
}

/* ERROR */
.toast.error{
    border-left:5px solid #ff4444;
}

.toast-content{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

/* ICON */
.toast-icon{
    width:40px;
    height:40px;
    border-radius:10px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:18px;
    font-weight:bold;

    background:rgba(0,0,0,0.05);
}

.toast.success .toast-icon{
    color:#00c851;
}

.toast.error .toast-icon{
    color:#ff4444;
}

/* TEXT */
.toast h3{
    margin:0;
    font-size:14px;
    color:#222;
}

.toast p{
    margin:4px 0 0;
    font-size:13px;
    color:#555;
}

/* CLOSE BUTTON */
.toast-close{
    margin-left:auto;
    cursor:pointer;
    font-size:14px;
    opacity:.6;
    padding-top:2px;
}

.toast-close:hover{
    opacity:1;
}

/* =========================
   ANIMATIONS
========================= */

@keyframes slideIn{
    from{
        transform:translateX(40px);
        opacity:0;
    }
    to{
        transform:translateX(0);
        opacity:1;
    }
}
