/* =====================================================
   LEGAL PAGES
   PRIVACY POLICY / TERMS / COOKIE POLICY
===================================================== */

.legal-page {

    min-height: 100vh;

    padding: 10rem 0 6rem;

    background: var(--surface);

}


/* =====================================================
   LEGAL CONTAINER
===================================================== */

.legal-page .container {

    max-width: 1100px;

    margin: 0 auto;

    padding: 0 1.5rem;

}


/* =====================================================
   LEGAL CONTENT
===================================================== */

.legal-content {

    background: var(--white);

    padding: 4rem 4.5rem;

    border: 1px solid var(--border);

    border-radius: var(--radius-lg);

    box-shadow: var(--shadow-md);

}


/* =====================================================
   LEGAL HEADER
===================================================== */

.legal-header {

    max-width: 800px;

    margin-bottom: 4rem;

    padding-bottom: 2rem;

    border-bottom: 1px solid var(--border);

}


.legal-header .section-subtitle {

    display: block;

    margin-bottom: .75rem;

    color: var(--gold);

    font-family: var(--font-body);

    font-size: .8rem;

    font-weight: 700;

    letter-spacing: .1em;

    text-transform: uppercase;

}


.legal-header h1 {

    margin: 0 0 1rem;

    color: var(--navy);

    font-family: var(--font-heading);

    font-size: clamp(2.5rem, 5vw, 4rem);

    line-height: 1.1;

}


.legal-updated {

    margin: 0;

    color: var(--gray);

    font-size: .85rem;

}


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

.legal-section {

    margin-bottom: 3rem;

}


.legal-section:last-of-type {

    margin-bottom: 0;

}


.legal-section h2 {

    margin: 0 0 1rem;

    color: var(--navy);

    font-family: var(--font-heading);

    font-size: 1.65rem;

    line-height: 1.3;

}


.legal-section p {

    max-width: 850px;

    margin: 0 0 1rem;

    color: var(--gray-dark);

    font-family: var(--font-body);

    font-size: .95rem;

    line-height: 1.8;

}


.legal-section p:last-child {

    margin-bottom: 0;

}


/* =====================================================
   LEGAL LISTS
===================================================== */

.legal-section ul {

    max-width: 850px;

    margin: 1rem 0 1.25rem;

    padding-left: 1.5rem;

}


.legal-section li {

    margin-bottom: .75rem;

    padding-left: .35rem;

    color: var(--gray-dark);

    font-family: var(--font-body);

    font-size: .95rem;

    line-height: 1.7;

}


.legal-section li::marker {

    color: var(--gold);

}


/* =====================================================
   STRONG TEXT
===================================================== */

.legal-section strong {

    color: var(--navy);

    font-weight: 700;

}


/* =====================================================
   LINKS
===================================================== */

.legal-section a {

    color: var(--navy);

    font-weight: 600;

    text-decoration: underline;

    text-decoration-color: var(--gold);

    text-underline-offset: 3px;

    transition: color .25s ease;

}


.legal-section a:hover {

    color: var(--gold);

}


/* =====================================================
   DISCLAIMER
===================================================== */

.legal-disclaimer {

    margin-top: 4rem;

}


.legal-disclaimer hr {

    margin: 0 0 1.5rem;

    border: 0;

    border-top: 1px solid var(--border);

}


.legal-disclaimer p {

    max-width: 850px;

    margin: 0;

    color: var(--gray);

    font-family: var(--font-body);

    font-size: .78rem;

    line-height: 1.7;

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1024px) {

    .legal-page {

        padding: 8rem 0 5rem;

    }


    .legal-page .container {

        padding: 0 1.25rem;

    }


    .legal-content {

        padding: 3rem;

    }


    .legal-header {

        margin-bottom: 3rem;

    }


    .legal-section {

        margin-bottom: 2.5rem;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .legal-page {

        padding: 7rem 0 4rem;

    }


    .legal-page .container {

        padding: 0 1rem;

    }


    .legal-content {

        padding: 2rem 1.5rem;

        border-radius: var(--radius-md);

    }


    .legal-header {

        margin-bottom: 2.5rem;

        padding-bottom: 1.5rem;

    }


    .legal-header .section-subtitle {

        font-size: .72rem;

        letter-spacing: .08em;

    }


    .legal-header h1 {

        font-size: 2.3rem;

        line-height: 1.1;

    }


    .legal-updated {

        font-size: .78rem;

    }


    .legal-section {

        margin-bottom: 2.25rem;

    }


    .legal-section h2 {

        margin-bottom: .85rem;

        font-size: 1.4rem;

    }


    .legal-section p {

        font-size: .9rem;

        line-height: 1.75;

    }


    .legal-section ul {

        margin: 1rem 0 1.25rem;

        padding-left: 1.25rem;

    }


    .legal-section li {

        margin-bottom: .65rem;

        padding-left: .2rem;

        font-size: .9rem;

        line-height: 1.65;

    }


    .legal-disclaimer {

        margin-top: 3rem;

    }


    .legal-disclaimer p {

        font-size: .72rem;

        line-height: 1.65;

    }

}


/* =====================================================
   SMALL PHONES
===================================================== */

@media (max-width: 480px) {

    .legal-page {

        padding: 6.5rem 0 3rem;

    }


    .legal-page .container {

        padding: 0 .75rem;

    }


    .legal-content {

        padding: 1.75rem 1.25rem;

    }


    .legal-header {

        margin-bottom: 2rem;

    }


    .legal-header h1 {

        font-size: 2rem;

    }


    .legal-section h2 {

        font-size: 1.3rem;

    }


    .legal-section p,
    .legal-section li {

        font-size: .88rem;

    }


    .legal-section ul {

        padding-left: 1.15rem;

    }

}