/*==================================================
HERO
==================================================*/

.page-hero{

    position:relative;
    min-height:80vh;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;

}

.page-hero-image{

    position:absolute;
    inset:0;

}

.page-hero-image img{

    width:100%;
    height:100%;
    object-fit:cover;

}

.page-hero-overlay{

    position:absolute;
    inset:0;
    background:linear-gradient(
        rgba(16,40,77,.70),
        rgba(16,40,77,.55)
    );

}

.page-hero-content{

    position:relative;
    z-index:2;
    max-width:850px;
    text-align:center;
    color:#fff;

}

.page-subtitle{

    display:inline-block;
    margin-bottom:20px;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#D4A84F;
    font-size:.9rem;

}

.page-hero h1{

    font-size:clamp(2.8rem,6vw,5rem);
    margin-bottom:25px;
    line-height:1.1;

}

.page-hero p{

    max-width:720px;
    margin:0 auto 40px;
    font-size:1.15rem;
    line-height:1.8;

}

/*==================================================
SECTIONS
==================================================*/

.policy-section,
.policy-details,
.policy-groups,
.payment-section,
.cancellation-table,
.policy-contact{

    padding:110px 0;

}

.policy-section:nth-child(even),
.payment-section{

    background:#F8F8F8;

}

/*==================================================
GRID
==================================================*/

.policy-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:35px;
    margin-top:60px;

}

/*==================================================
CARD
==================================================*/

.policy-card{

    background:#fff;
    border-radius:22px;
    padding:40px;
    box-shadow:0 20px 45px rgba(0,0,0,.08);
    transition:.35s;
    position:relative;

}

.policy-card:hover{

    transform:translateY(-10px);

}

.policy-card.featured{

    border:2px solid #D4A84F;

}

.policy-badge{

    position:absolute;
    top:20px;
    right:20px;

    background:#D4A84F;
    color:#fff;

    padding:8px 16px;

    border-radius:50px;

    font-size:.8rem;
    font-weight:600;

}

.policy-icon{

    width:70px;
    height:70px;

    border-radius:50%;

    background:#10284D;
    color:#fff;

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

    font-size:1.5rem;

    margin-bottom:25px;

}

.policy-card h3{

    color:#10284D;
    margin-bottom:20px;

}

.policy-card p{

    color:#666;
    line-height:1.9;

}

.policy-card ul{

    margin-top:25px;

}

.policy-card li{

    display:flex;
    gap:12px;
    align-items:flex-start;

    margin-bottom:15px;

    line-height:1.7;

}

.policy-card li i{

    color:#D4A84F;
    margin-top:5px;

}

/*==================================================
DETAIL CARD
==================================================*/

.details-card{

    background:#fff;
    border-radius:22px;
    padding:55px;
    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.details-card h3{

    color:#10284D;
    margin-top:35px;
    margin-bottom:15px;

}

.details-card p{

    line-height:1.9;
    color:#666;

}

/*==================================================
INFO BOX
==================================================*/

.policy-note,
.policy-warning{

    margin-top:35px;

    padding:25px;

    border-radius:16px;

    display:flex;
    gap:18px;

}

.policy-note{

    background:#EEF6FF;

}

.policy-warning{

    background:#FFF5E8;

}

.policy-note i{

    color:#1E73BE;
    font-size:1.4rem;

}

.policy-warning i{

    color:#E49A00;
    font-size:1.4rem;

}

/*==================================================
TABLE
==================================================*/

.table-wrapper{

    overflow-x:auto;
    margin-top:50px;

}

.policy-table{

    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.policy-table thead{

    background:#10284D;
    color:#fff;

}

.policy-table th,
.policy-table td{

    padding:22px 28px;
    text-align:left;

}

.policy-table tbody tr:nth-child(even){

    background:#FAFAFA;

}

/*==================================================
CONTACT
==================================================*/

.policy-contact-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
    margin-top:60px;

}

.policy-contact-card{

    background:#fff;
    padding:35px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.policy-contact-card i{

    font-size:2rem;
    color:#D4A84F;
    margin-bottom:20px;

}

.policy-contact-card h3{

    margin-bottom:15px;
    color:#10284D;

}

/*==================================================
CTA
==================================================*/

.policy-cta{

    padding:120px 0;

    background:linear-gradient(rgba(16,40,77,.90),
    rgba(16,40,77,.90)),
    url("../images/home/hero.jpg") center/cover;

    color:#fff;
    text-align:center;

}

.policy-cta-content{

    max-width:850px;
    margin:auto;

}

.policy-cta h2{

    color:#fff;
    margin:25px 0;

}

.policy-cta p{

    max-width:700px;
    margin:0 auto 40px;
    line-height:1.9;

}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:768px){

    .policy-section,
    .policy-details,
    .payment-section,
    .policy-contact,
    .cancellation-table{

        padding:80px 0;

    }

    .details-card{

        padding:35px;

    }

    .policy-table th,
    .policy-table td{

        padding:18px;

    }

}

.policy-note{
    margin-top:40px;
    padding:22px 24px;
    border-left:4px solid var(--primary-color);
    background:#f8fafc;
    border-radius:12px;
}

.policy-note h3{
    margin:0 0 12px;
    font-size:1.15rem;
    color:#1f2937;
}

.policy-note p{
    margin:0;
    line-height:1.8;
    color:#4b5563;
}