/* =====================================
   CANCELLATION POLICY — PREMIUM / RESPONSIVE
===================================== */

.legal-page{
    padding:clamp(64px, 8vw, 96px) 0;
}

/* HERO */

.legal-hero{
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-bottom:30px;
}

.legal-hero h1{
    margin:0;
    max-width:14ch;
}

.legal-intro{
    max-width:760px;
    margin:0;
    font-size:clamp(1rem, 1.2vw, 1.05rem);
    line-height:1.75;
    color:var(--text-soft);
}

/* LAYOUT */

.legal-layout{
    display:grid;
    grid-template-columns:minmax(0, 1.2fr) minmax(280px, 360px);
    gap:24px;
}

/* CARD */

.legal-card{
    padding:28px;
    background:rgba(255,255,255,0.92);
    border:1px solid var(--line);
    border-radius:28px;
    box-shadow:var(--shadow-sm);
}

.legal-card-main{
    display:flex;
    flex-direction:column;
    gap:26px;
}

/* SECTIONS */

.legal-section{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.legal-section h2{
    margin:0;
    font-size:clamp(1.2rem, 2vw, 1.45rem);
}

.legal-section p{
    margin:0;
    line-height:1.8;
}

/* SIDE */

.legal-side{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.legal-side-head{
    margin-bottom:18px;
}

.legal-side-actions{
    display:flex;
    flex-direction:column;
    gap:12px;
}

/* BUTTON FIX */

.legal-card .btn-secondary{
    background:#ffffff;
    color:var(--primary);
    border-color:var(--line-strong);
}

.legal-card .btn-secondary:hover{
    background:var(--primary);
    border-color:var(--primary);
    color:#ffffff;
}

/* RESPONSIVE */

@media (max-width:900px){

    .legal-layout{
        grid-template-columns:1fr;
    }

}

@media (max-width:680px){

    .legal-card{
        padding:22px;
        border-radius:22px;
    }

}

@media (max-width:480px){

    .legal-card{
        padding:20px;
        border-radius:20px;
    }

}