
/* ============================================================
   Nurturing Self — Policies
   ============================================================ */


/* ============================================================
   PRIVACY INTRO
   ============================================================ */

.privacy-intro {
    max-width: 900px;
    margin-bottom: 90px;
}

.privacy-intro p {
    font-size: 1.2rem;
    line-height: 1.7;
}


/* ============================================================
   INTRO SVG BACKGROUND
   ============================================================ */

/*this gives the entire site a shift to the left - surprisingly easy to do and looks idk yet kinda something*/
.site-content {
    width: 94%;
    max-width: 1400px;
    margin-left: 3%;
    margin-right: auto;
}

body {
    position: relative;
}

.background-shapes {
    position: absolute;

    top: -50px;
    left: 0;
    right: 0;
    bottom: -1500px; /*truly dont understand why this is necessary*/

    width: 100%;
    overflow: hidden;

    z-index: -1;

    pointer-events: none;
}

.background-shapes img {
    position: absolute;

    top: 0;
    left: 0;
    right: 0;
    bottom: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* ============================================================
   PRIVACY BLOCKS
   ============================================================ */

.privacy-block {
    margin-bottom: 80px;
}


.privacy-heading {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 25px;
}

.privacy-heading .policy-label {
    margin: 0;
}


/* ============================================================
   PRIVACY INFORMATION TABLE
   ============================================================ */

.privacy-table {
    width: 100%;
    max-width: 1000px;

    border-top: 1px solid var(--charcoal);
}


.privacy-table-header {
    display: grid;
    grid-template-columns: 35% 65%;

    border-bottom: 1px solid var(--charcoal);

    font-family: var(--secondary-font);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;

    color: var(--sage-dark);
}


.privacy-table-header div {
    padding: 18px 0 18px 30px;
}


.privacy-table-header div:last-child {
    border-left: 1px solid var(--charcoal);
}

/* ============================================================
   PRIVACY TABLE ROWS
   ============================================================ */

.privacy-table-row {
    display: grid;
    grid-template-columns: 35% 65%;

    min-height: 105px;

    border-bottom: 1px solid var(--charcoal);
}


.privacy-item {
    display: flex;
    align-items: center;

    padding: 25px 30px;

    font-family: var(--primary-font);
    font-size: clamp(1.1rem, 1.5vw, 1.35rem);
    font-weight: 600;

    color: var(--charcoal);
}


.privacy-reason {
    display: flex;
    align-items: center;

    padding: 25px 30px;

    border-left: 1px solid var(--charcoal);

    font-family: var(--secondary-font);
    font-size: 0.95rem;
    line-height: 1.7;

    color: var(--charcoal);
}


/* ============================================================
   PRIVACY STORAGE NOTICE
   ============================================================ */

.privacy-storage-notice {
    width: 100%;
    max-width: 1000px;

    margin-top: 70px;
    padding: clamp(2rem, 5vw, 4rem);

    box-sizing: border-box;

    background: var(--charcoal);
    color: var(--pissy-cream);

    border-radius: 20px;
}


.privacy-storage-heading {
    margin-bottom: 25px;

    font-family: var(--primary-font);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 600;
    line-height: 1.05;
}


.privacy-storage-notice > p {
    max-width: 850px;

    margin: 0;

    font-family: var(--secondary-font);
    font-size: 1rem;
    line-height: 1.7;
}


/* ============================================================
   PRIVACY CONFIDENTIALITY WARNING
   ============================================================ */

.privacy-confidential-warning {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 25px;

    margin-top: 45px;
    padding-top: 25px;

    border-top: 1px solid var(--warm-grey);
}


.privacy-confidential-warning span {
    align-self: start;

    padding: 6px 12px;

    border: 1px solid var(--sage-dark);
    border-radius: 4px;

    color: var(--sage-dark);

    font-family: var(--secondary-font);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}


.privacy-confidential-warning p {
    max-width: 750px;

    margin: 0;

    font-family: var(--secondary-font);
    font-size: 0.9rem;
    line-height: 1.7;
}


/* ============================================================
   PRIVACY TEXT
   ============================================================ */

.privacy-text {
    max-width: 1000px;
}

.privacy-text p {
    margin-bottom: 25px;
}

.privacy-text p:last-child {
    margin-bottom: 0;
}


/* ============================================================
   PRIVACY RIGHTS
   ============================================================ */

.privacy-rights {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


.privacy-right {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 25px;
    align-items: start;

    padding-bottom: 20px;

    border-bottom: 1px solid var(--charcoal);
}


.privacy-right span {
    font-family: var(--secondary-font);
    color: var(--sage-dark);
}


.privacy-right p {
    margin: 0;
}


.privacy-final {
    margin-bottom: 0;
}


/* ============================================================
   POLICY INTRO
   ============================================================ */

.policy-intro {

    width: calc(100% - 64px);

    max-width: 1200px;

    margin: 24px auto 0;

    padding: 70px 100px 90px;

    box-sizing: border-box;

    background: var(--pissy-cream);

    border-radius: 14px;

    box-shadow:
        20px 20px 0 var(--charcoal),
        0 0 20px var(--shadow-halo);

}


.back-home-link {

    display: inline-block;

    margin-bottom: 70px;

    font-family: var(--secondary-font);

    font-size: 13px;

    color: var(--charcoal);

    text-decoration: none;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;

}


.back-home-link:hover {

    transform: translateX(-4px);

    opacity: 0.65;

}


.policies-intro {

    max-width: 760px;

}


.eyebrow {

    margin: 0 0 14px;

    font-family: var(--secondary-font);

    font-size: 12px;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    color: var(--sage-dark);

}


.policies-intro h1 {

    margin: 0;

    font-family: var(--primary-font);

    font-size: clamp(52px, 7vw, 96px);

    line-height: 0.92;

    font-weight: 700;

    letter-spacing: -0.05em;

    color: var(--charcoal);

}


.policies-intro .intro-text {
    margin: 25px 0 0;
    font-family: var(--primary-font);
    font-size: clamp(17px, 2vw, 24px);
    font-weight: 500;
    line-height: 1.4;
    color: var(--charcoal);
}


/* ============================================================
   POLICY SECTIONS
   ============================================================ */

.policy-section {

    width: calc(100% - 64px);

    max-width: 1200px;

    margin: 24px auto 0;

    padding: 80px 100px 120px;

    box-sizing: border-box;

    background: var(--pissy-cream);

    border-radius: 14px;

    box-shadow:
        20px 20px 0 var(--charcoal),
        0 0 20px var(--shadow-halo);
    scroll-margin-top: 40px;

}


.policy-section h2 {

    margin: 0 0 55px;

    font-family: var(--primary-font);

    font-size: clamp(32px, 4.5vw, 52px);

    line-height: 1;

    font-weight: 600;

    letter-spacing: -0.035em;

    color: var(--charcoal);

}


/* ============================================================
   SECTION INTRO
   ============================================================ */

.policy-lead {

    margin-bottom: 75px;

}


.policy-lead p,
#information-collected > p,
.confidentiality-main p {
    margin: 0;
    font-family: var(--primary-font);
    font-size: clamp(17px, 2vw, 22px);
    line-height: 1.55;
    color: var(--charcoal);
    font-weight: 500;
}


/* ============================================================
   INTERNAL CONTENT
   ============================================================ */

.policy-content-block {


    margin-bottom: 70px;

}


.policy-content-block:last-child {

    margin-bottom: 0;

}


.confidentiality-main {

    margin-bottom: 20px;

}


.policy-label {

    display: block;

    width: fit-content;

    

    padding: 0px 0px 10px 0px;



    color: var(--sage-dark);

    font-family: var(--secondary-font);

    font-size: small;

}


.confidentiality-main p {

    width: 100%;

}


.policy-content-block > p:not(.policy-label) {

    margin: 0;

    font-family: var(--secondary-font);

    font-size: 13px;

    line-height: 1.9;

    color: var(--charcoal);

}


/* ============================================================
   INFORMATION GRID
   ============================================================ */

.information-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 2px;

    max-width: 900px;

    background: var(--charcoal);

    border: 2px solid var(--charcoal);

}


.information-item {

    min-height: 145px;

    padding: 28px;

    box-sizing: border-box;

    background: var(--pissy-cream);

}


.information-item-wide {

    grid-column: 1 / -1;

}


.information-item span {

    display: block;

    margin-bottom: 15px;

    font-family: var(--primary-font);

    font-size: 19px;

    font-weight: 600;

    color: var(--charcoal);

}


.information-item p {

    max-width: 400px;

    margin: 0;

    font-family: var(--secondary-font);

    font-size: 11px;

    line-height: 1.7;

    color: var(--charcoal);

}


/* ============================================================
   STATEMENT ROWS
   ============================================================ */

.statement-row {

    display: grid;

    grid-template-columns: 42px 1fr;

    gap: 18px;

    align-items: center;

    max-width: 900px;

    min-height: 65px;

    margin-top: 8px;

    padding: 15px 0;

    border-bottom: 1px solid var(--charcoal-15);

}


.statement-row:last-child {

    border-bottom: none;

}


.statement-mark {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 32px;

    height: 32px;

    border: 1px solid var(--charcoal);

    border-radius: 50%;

    box-sizing: border-box;

    font-family: var(--secondary-font);

    font-size: 9px;

    color: var(--charcoal);

}


.statement-row p {

    margin: 0;

    font-family: var(--secondary-font);

    font-size: 12px;

    line-height: 1.7;

    color: var(--charcoal);

}


/* ============================================================
   LARGE STATEMENTS
   ============================================================ */

.large-statement {

    grid-template-columns: 58px 1fr;

    min-height: 105px;

    padding: 22px 0;

}


.large-statement .statement-mark {

    width: 42px;

    height: 42px;

}


.large-statement p {

    font-family: var(--primary-font);

    font-size: 16px;

    line-height: 1.55;

}


/* ============================================================
   NOTICE BOX
   ============================================================ */

.notice-box {

    display: grid;

    grid-template-columns: 34px 1fr;

    gap: 15px;

    max-width: 760px;

    margin-top: 30px;

    padding: 24px;

    box-sizing: border-box;

    background: var(--pale-nothing);

    border-radius: 12px;

}


.notice-symbol {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 28px;

    height: 28px;

    border: 1px solid var(--charcoal);

    border-radius: 50%;

    font-family: var(--primary-font);

    font-size: 14px;

}


.notice-box p {

    margin: 0;

    font-family: var(--secondary-font);

    font-size: 11px;

    line-height: 1.7;

}


/* ============================================================
   COOKIES
   ============================================================ */


/* Cookie section lead */

#cookies .policy-lead {

    margin-bottom: 55px;

}


/* ============================================================
   COOKIE SERVICE CARDS
   ============================================================ */

.cookies-cards {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;

    max-width: 1000px;

    margin-bottom: 75px;

}


.support-card {

    display: flex;

    flex-direction: column;

    min-height: 100%;

    padding: 30px;

    box-sizing: border-box;

    background: var(--pale-nothing);

    border: 1px solid var(--charcoal-25);

    border-radius: 12px;

}


.support-card-top {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 15px;

    margin-bottom: 45px;

}


.support-card-number {

    font-family: var(--secondary-font);

    font-size: 10px;

    letter-spacing: 0.08em;

    color: var(--sage-dark);

}


.support-card-label {

    font-family: var(--secondary-font);

    font-size: 9px;

    letter-spacing: 0.08em;

    text-align: right;

    text-transform: uppercase;

    color: var(--warm-grey);

}


.support-card h3 {

    margin: 0 0 22px;

    font-family: var(--primary-font);

    font-size: clamp(23px, 2.5vw, 30px);

    line-height: 1;

    font-weight: 600;

    letter-spacing: -0.025em;

    color: var(--charcoal);

}


.support-card p {

    margin: 0 0 20px;

    font-family: var(--secondary-font);

    font-size: 11px;

    line-height: 1.75;

    color: var(--charcoal);

}


.support-card p:last-child {

    margin-bottom: 0;

}


/* ============================================================
   COOKIE THIRD-PARTY NOTE
   ============================================================ */

.cookie-note {

    display: grid;

    grid-template-columns: 250px 1fr;

    gap: 35px;

    max-width: 1000px;

    padding: 30px 0;

    border-top: 1px solid var(--charcoal-25);

    border-bottom: 1px solid var(--charcoal-25);

}


.cookie-note .policy-label {

    margin: 4px 0 0;

}


.cookie-note p {

    max-width: 700px;

    margin: 0;

    font-family: var(--secondary-font);

    font-size: 11px;

    line-height: 1.75;

    color: var(--charcoal);

}


/* ============================================================
   HIGHLIGHT STATEMENT
   ============================================================ */

.highlight-statement {

    width: 100%;


    min-height: 180px;

    margin: 55px 0;

    padding: 38px 40px;

    box-sizing: border-box;

    display: flex;

    flex-direction: column;

    justify-content: center;

    background: var(--charcoal);

    border-radius: 14px;


}


.highlight-statement span {

    display: block;

    margin-bottom: 12px;

    font-family: var(--primary-font);

    font-size: clamp(32px, 4.5vw, 52px);

    line-height: 0.95;

    font-weight: 600;

    letter-spacing: -0.04em;

    color: var(--pissy-cream);

}


.highlight-statement p {


    margin: 0;

    font-family: var(--secondary-font);

    font-size: 11px;

    line-height: 1.7;

    color: var(--pissy-cream);

}


/* ============================================================
   IMPORTANT INFORMATION
   ============================================================ */

.important-statements {

    display: flex;

    flex-direction: column;

    max-width: 900px;

    gap: 3px;

}


.important-statement {

    display: grid;

    grid-template-columns: 65px 1fr;

    gap: 25px;

    align-items: start;

    padding: 30px;

    background: var(--pale-nothing);

}


.important-number {

    font-family: var(--secondary-font);

    font-size: 10px;

    letter-spacing: 0.08em;

    color: var(--sage-dark);

}


.important-statement strong {

    display: block;

    margin-bottom: 10px;

    font-family: var(--primary-font);

    font-size: 19px;

    font-weight: 600;

    color: var(--charcoal);

}


.important-statement p {


    margin: 0;

    font-family: var(--secondary-font);

    font-size: 11px;

    line-height: 1.75;

    color: var(--charcoal);

}


/* ============================================================
   LINKS
   ============================================================ */

.policy-section a {

    color: var(--charcoal);

    text-decoration-thickness: 1px;

    text-underline-offset: 3px;

}


.policy-section a:hover {

    opacity: 0.65;

}


/* ============================================================
   POLICY UPDATE CARD
   ============================================================ */

.policy-updates {

    margin-bottom: 0;

}


.update-card {

    overflow: hidden;

    border: 1px solid var(--charcoal);

    border-radius: 14px;

}


.update-card-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 18px 24px;

    background: var(--charcoal);

}


.update-label {

    font-family: var(--secondary-font);

    font-size: 10px;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    color: var(--pissy-cream);

}


.update-status {

    padding: 6px 12px;

    border-radius: 999px;

    background: var(--sage-dark);

    font-family: var(--secondary-font);

    font-size: 9px;

    color: var(--white);

}


.update-card-main {

    padding: 35px;

}


.update-card-main p {


    margin: 0 0 15px;

    font-family: var(--secondary-font);

    font-size: 12px;

    line-height: 1.8;

    color: var(--charcoal);

}


.update-card-main p:last-child {

    margin-bottom: 0;

}


.update-card-date {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding: 18px 35px;

    border-top: 1px solid var(--charcoal-25);

}


.update-card-date span {

    font-family: var(--secondary-font);

    font-size: 9px;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    color: var(--warm-grey);

}


.update-card-date strong {

    font-family: var(--secondary-font);

    font-size: 11px;

    font-weight: 500;

    color: var(--charcoal);

}


/* ============================================================
   SECTION DIVIDERS
   ============================================================ */

.section-divider {

    width: calc(100% - 64px);

    max-width: 1200px;

    height: 2px;

    margin: 120px auto 100px; 

    background: var(--charcoal);

}


#start-divider {

    display: none;

}


/* ============================================================
   CANCELLATION & RESCHEDULING
   ============================================================ */

.cancellation-timeline {

    width: 100%;

    max-width: 1000px;

    margin: 20px 0 70px;

}




.timeline-heading {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 30px;

    margin-bottom: 38px;

}


.timeline-heading .policy-label {

    margin: 0;

}


.timeline-heading strong {

    font-family: var(--primary-font);

    font-size: clamp(52px, 7vw, 82px);

    line-height: 0.85;

    font-weight: 600;

    letter-spacing: -0.05em;

    color: var(--charcoal);

}


.timeline {

    width: 100%;

}


.timeline-line {

    width: 100%;

    height: 2px;

    background: var(--charcoal);

}


.timeline-note {

    margin: 18px 0 0;

    font-family: var(--secondary-font);

    font-size: 10px;

    line-height: 1.5;

    color: var(--charcoal);

}


/* ============================================================
CANCELLATION — FAIRNESS STATEMENT
============================================================ */

.cancellation-fairness {

    display: grid;

    grid-template-columns: 250px 1fr;

    gap: 35px;

    max-width: 1000px;

    margin-top: 55px;

    padding: 30px 0;

    border-top: 1px solid var(--charcoal-25);

    border-bottom: 1px solid var(--charcoal-25);

}

.cancellation-fairness .policy-label {

    margin: 4px 0 0;

}

.cancellation-fairness p {

    max-width: 700px;

    margin: 0;

    font-family: var(--secondary-font);

    font-size: 11px;

    line-height: 1.75;

    color: var(--charcoal);

}


/* ============================================================
   CANCELLATION DETAILS
   ============================================================ */

.cancellation-details {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 2px;

    max-width: 1000px;

    background: var(--charcoal);

    border: 2px solid var(--charcoal);

}


.cancellation-detail {

    min-height: 190px;

    padding: 30px;

    box-sizing: border-box;

    background: var(--pissy-cream);

}


.cancellation-detail .policy-label {

    margin-bottom: 22px;

}


.cancellation-detail p {


    margin: 0;

    font-family: var(--secondary-font);

    font-size: 11px;

    line-height: 1.8;

    color: var(--charcoal);

}


/* ============================================================
   CANCELLATION — MOBILE
   ============================================================ */

@media (max-width: 900px) {

    .cancellation-details {

        grid-template-columns: 1fr;

    }


    .cancellation-detail {

        min-height: auto;

    }

}


/* ============================================================
   GENERAL MOBILE
   ============================================================ */

@media (max-width: 1150px) {

    .policy-intro {

        width: calc(100% - 24px);

        margin: 16px auto 0;

        padding: 56px 40px 70px;

        border-radius: 12px;

    }


    .policy-section {

        width: calc(100% - 24px);

        margin: 16px auto 0;

        padding: 60px 40px 90px;

        border-radius: 12px;

        box-shadow:
            0 0 0 5px var(--charcoal),
            0 10px 120px var(--shadow-halo);
    }


    .policies-intro {

        margin-bottom: 100px;

    }


    .policy-section h2 {

        margin-bottom: 45px;

    }


    .cookies-cards {

        grid-template-columns: 1fr;

    }


    /* Privacy table */

    .privacy-table {

        max-width: 100%;

    }


    .privacy-table-header,
    .privacy-table-row {

        grid-template-columns: 35% 65%;

    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 700px) {

    .policy-lead p,
        #information-collected > p {
        font-size: 15px;
    }   

    .policy-intro {

        width: calc(100% - 24px);

        padding: 48px 22px 60px;

    }


    .policy-section {

        width: calc(100% - 24px);

        padding: 48px 22px 70px;

    }


    .back-home-link {

        margin-bottom: 55px;

    }


    .policies-intro {

        margin-bottom: 80px;

    }


    .policies-intro h1 {

        font-size: clamp(46px, 15vw, 68px);

    }


    .policies-intro .intro-text {
        font-size: 18px;
        line-height: 1.4;
    }


    .policy-section h2 {

        margin-bottom: 40px;

        font-size: 32px;

    }


    .policy-lead {

        margin-bottom: 55px;

    }


    .policy-lead p,
    #information-collected > p,
    .confidentiality-main p {
        font-size: 15px;
    }


    .information-grid {

        grid-template-columns: 1fr;

    }


    .information-item-wide {

        grid-column: auto;

    }


    .information-item {

        min-height: auto;

        padding: 24px;

    }


    .policy-content-block {

        margin-bottom: 55px;

    }


    .large-statement {

        grid-template-columns: 48px 1fr;

        min-height: 90px;

    }


    .large-statement p {

        font-size: 14px;

    }


    /* --------------------------------------------------------
       PRIVACY TABLE MOBILE
       -------------------------------------------------------- */

    .privacy-table-header {

        display: none;

    }


    .privacy-table-row {

        display: block;

        min-height: auto;

        padding: 25px 0;

    }


    .privacy-item {

        display: block;

        padding: 0 0 12px;

        font-size: 1.15rem;

    }


    .privacy-reason {

        display: block;

        padding: 0;

        border-left: none;

        font-size: 0.9rem;

        line-height: 1.6;

    }


    .privacy-storage-notice {

        margin-top: 50px;

        padding: 2rem 1.5rem;

    }


    .privacy-storage-heading {

        font-size: clamp(2rem, 9vw, 3rem);

    }


    .privacy-confidential-warning {

        display: block;

        margin-top: 35px;

    }


    .privacy-confidential-warning span {

        display: inline-block;

        margin-bottom: 15px;

    }
    


    /* --------------------------------------------------------
       COOKIE MOBILE
       -------------------------------------------------------- */

    #cookies .policy-lead {

        margin-bottom: 35px;

    }


    .cookies-cards {

        grid-template-columns: 1fr;

        gap: 15px;

        margin-bottom: 55px;

    }


    .support-card {

        padding: 25px;

    }


    .support-card-top {

        margin-bottom: 35px;

    }


    .cookie-note {

        grid-template-columns: 1fr;

        gap: 15px;

        padding: 25px 0;

    }


    .highlight-statement {

        min-height: 160px;

        padding: 30px;

        margin: 40px 0 55px;

    }


    .highlight-statement span {

        font-size: 36px;

    }


    .highlight-statement p {

        font-size: 10px;

    }


    .important-statement {

        grid-template-columns: 40px 1fr;

        gap: 15px;

        padding: 24px;

    }


    .important-statement strong {

        font-size: 17px;

    }


    .update-card-main {

        padding: 28px 24px;

    }


    .update-card-date {

        align-items: flex-start;

        flex-direction: column;

        gap: 8px;

        padding: 18px 24px;

    }

    /* ============================================================
    CANCELLATION — FAIRNESS MOBILE
    ============================================================ */

    

    .cancellation-fairness {

        grid-template-columns: 1fr;

        gap: 15px;

        margin-top: 45px;

        padding: 25px 0;

    

    }


    .site-content {
        width: 100%;
        max-width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }


    /* the rest of your mobile CSS... */
    .policy-intro {

        width: calc(100% - 24px);

        margin: 16px auto 0;

        padding: 56px 40px 70px;

        border-radius: 12px;

        box-shadow:
            0 0 0 5px var(--charcoal),
            0 10px 120px var(--shadow-halo);
    }
    .privacy-confidential-warning {
        text-align: center;
    }

}
/* ============================================================
   DARK MODE
   ============================================================ */

@media (prefers-color-scheme: dark) {

    /* ── General page text ─────────────────────────────────── */

    body {
        color: var(--pale-nothing);
    }


    /* ── Policy intro ──────────────────────────────────────── */

    .policy-intro {
        background: var(--dark-bg);

        box-shadow:
            20px 20px 0 var(--dark-mode-shadow),
            0 0 20px var(--shadow-halo);
    }

    .back-home-link {
        color: var(--pale-nothing);
    }

    .back-home-link:hover {
        color: var(--white);
    }

    .policy-intro .eyebrow {
        color: var(--sage);
    }

    .policy-intro h1 {
        color: var(--pale-nothing);
    }

    .policy-intro .intro-text {
        color: var(--pale-nothing);
    }
    .policy-label{
        color: var(--white);
    }


    /* ── Main policy sections ──────────────────────────────── */

    .policy-section {
        background: var(--dark-bg);

        box-shadow:
            20px 20px 0 var(--dark-mode-shadow),
            0 0 20px var(--shadow-halo);
    }

    .policy-section h2 {
        color: var(--pale-nothing);
    }

    .policy-lead p,
    #information-collected > p,
    .confidentiality-main p,
    .policy-content-block > p {
        color: var(--pale-nothing);
    }

    /* ── Policy labels ─────────────────────────────────────── */

    .policy-section .policy-content-block > p {
        color: var(--pale-nothing) !important;
    }


    /* ── Privacy table ─────────────────────────────────────── */

    .privacy-table {
        border-top-color: var(--sage);
    }

    .privacy-table-header {
        border-bottom-color: var(--sage);
        color: var(--white);
    }

    .privacy-table-header div {
        border-color: var(--sage);
    }

    .privacy-table-header div:last-child {
        border-left-color: var(--sage);
    }

    .privacy-table-row {
        border-bottom-color: var(--sage);
    }

    .privacy-item {
        color: var(--pale-nothing);
    }

    .privacy-reason {
        border-left-color: var(--sage);
        color: var(--pale-nothing);
    }

    /* ── Privacy storage notice ────────────────────────────── */

    .privacy-storage-notice {
        background: var(--pale-nothing);
        color: var(--dark-bg);
    }

    .privacy-storage-heading {
        color: var(--dark-bg);
    }

    .privacy-storage-notice > p {
        color: var(--dark-bg);
    }


    /* ── Privacy confidentiality warning ───────────────────── */

    .privacy-confidential-warning {
        border-top-color: var(--sage-dark);
    }

    .privacy-confidential-warning span {
        border-color: var(--sage-dark);
        color: var(--sage-dark);
    }

    .privacy-confidential-warning p {
        color: var(--dark-bg);
    }


    /* ── Privacy rights / information blocks ──────────────── */

    .information-grid {
        background: var(--dark-mode-shadow);
        border-color: var(--dark-mode-shadow);
    }

    .information-grid .information-item {
        background: var(--dark-bg);
        color: var(--pale-nothing);
    }

    .information-grid .information-item strong,
    .information-grid .information-item p {
        color: var(--pale-nothing);
    }


    /* ── Statement rows ────────────────────────────────────── */

    .statement-row {
        border-bottom-color: rgba(181, 196, 177, 0.20);
    }

    .statement-mark {
        border-color: var(--sage);
        color: var(--sage);
    }

    .statement-row p,
    .large-statement p,
    .large-statement strong {
        color: var(--pale-nothing);
    }


    /* ── Notice boxes ──────────────────────────────────────── */

    .notice-box {
        background: var(--dark-mode-shadow);
        color: var(--pale-nothing);
    }

    .notice-symbol {
        border-color: var(--sage);
        color: var(--sage);
    }

    .notice-box p,
    .notice-box strong {
        color: var(--pale-nothing);
    }


    /* ── Cookie support cards ─────────────────────────────── */

    .support-card {
        background: var(--dark-mode-shadow);
        border-color: var(--sage);
    }

    .support-card-number {
        color: var(--sage);
    }

    .support-card-label {
        color: var(--sage);
    }

    .support-card h3,
    .support-card p {
        color: var(--pale-nothing);
    }

    .support-card code {
        color: var(--sage);
    }


    /* ── Cookie note ───────────────────────────────────────── */

    .cookie-note {
        border-color: rgba(181, 196, 177, 0.25);
        color: var(--pale-nothing);
    }

    .cookie-note p,
    .cookie-note strong {
        color: var(--pale-nothing);
    }


    /* ── No advertising highlight ──────────────────────────── */

    .highlight-statement {
        background: var(--pale-nothing);
        color: var(--dark-bg);
    }

    .highlight-statement {
        background: var(--pale-nothing);
        color: var(--dark-bg);
    }

    .highlight-statement span,
    .highlight-statement p {
        color: var(--dark-bg);
    }


    /* ── Important information ────────────────────────────── */

    .important-statement {
        background: var(--dark-mode-shadow);
    }

    .important-statement-number {
        color: var(--sage);
    }

    .important-statement strong,
    .important-statement p {
        color: var(--pale-nothing);
    }


    /* ── Links ─────────────────────────────────────────────── */

    .policy-section a {
        color: var(--pale-nothing);
    }

    .policy-section a:hover {
        color: var(--sage);
    }


    /* ── Updates card ──────────────────────────────────────── */

    .update-card {
        border-color: var(--sage);
        background: var(--dark-bg);
    }

    .update-card-top {
        background: var(--dark-mode-shadow);
    }

    .update-card-top-label {
        color: var(--pale-nothing);
    }

    .update-card-status {
        background: var(--sage);
        color: var(--dark-bg);
    }

    .update-card-main p {
        color: var(--pale-nothing);
    }

    .update-card-date {
        border-color: rgba(181, 196, 177, 0.25);
    }

    .update-card-date span {
        color: var(--sage);
    }

    .update-card-date strong {
        color: var(--pale-nothing);
    }


    /* ── Section divider ───────────────────────────────────── */

    .section-divider {
        background: var(--pale-nothing);
    }


    /* ── Cancellation timeline ─────────────────────────────── */

    .cancellation-timeline strong {
        color: var(--pale-nothing);
    }

    .cancellation-timeline::before {
        background: var(--sage);
    }

    .timeline-note {
        color: var(--sage);
    }

    .cancellation-fairness {
        border-color: rgba(181, 196, 177, 0.25);
        color: var(--pale-nothing);
    }

    .cancellation-fairness p,
    .cancellation-fairness strong {
        color: var(--pale-nothing);
    }


    /* ── Cancellation details ──────────────────────────────── */

    .cancellation-details {
        background: var(--dark-mode-shadow);
        border-color: var(--dark-mode-shadow);
    }

    .cancellation-detail {
        background: var(--dark-bg);
    }

    .cancellation-detail-label {
        color: var(--sage);
    }

    .cancellation-detail p {
        color: var(--pale-nothing);
    }


    /* ── Responsive shadows ───────────────────────────────── */

    @media (max-width: 1150px) {

        .policy-section {
            box-shadow:
                0 0 0 5px var(--dark-mode-shadow),
                0 10px 120px var(--shadow-halo);
        }
    }


    @media (max-width: 700px) {

        .policy-intro,
        .policy-section {
            box-shadow:
                0 0 0 5px var(--dark-mode-shadow),
                0 10px 120px var(--shadow-halo);
        }
    }
}