/* =========================================================
   PRESIDENCE PROPERTY — MODULAR CSS
   File: pp-privacy-policy-page.css
   Scope: /privacy-policy/ page only
   Required body class: pp-css-privacy-policy-page
   Baseline source: Privacy Policy page HTML source captured 2026-08-05

   Status:
   - Modular CSS migration completed.
   - WordPress Additional CSS is disabled on /privacy-policy/.
========================================================= */

/* =========================================================
   PRIVACY POLICY PAGE HERO BACKGROUND
========================================================= */

body.pp-css-privacy-policy-page .pp-page-hero-contact,
body.pp-css-privacy-policy-page .pp-page-hero-privacy {
    background-image: url("/wp-content/uploads/2026/07/presidence-property-background-contact-2048x683px.webp");
}

/* =========================================================
   PRIVACY POLICY PAGE SECTIONS
========================================================= */

body.pp-css-privacy-policy-page .pp-page-section-white {
    background-color: var(--pp-white);
}

body.pp-css-privacy-policy-page .pp-page-section-ivory {
    background-color: var(--pp-ivory);
}

/* =========================================================
   12 PRIVACY POLICY PAGE
========================================================= */


/* =========================================================
   12.01 Privacy Policy - Shared Narrative Sections
   Exact structural rhythm based on ABOUT narrative sections
========================================================= */

.pp-privacy-narrative {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.pp-privacy-introduction,
.pp-privacy-scope,
.pp-privacy-enquiries {
    background-color: var(--pp-white);
}

.pp-privacy-controller,
.pp-privacy-data {
    background-color: var(--pp-ivory);
}

.pp-privacy-narrative-inner {
    width: calc(100% - 48px);
    max-width: var(--pp-inner-width);
    margin: 0 auto;
    padding: 48px 0 60px;
    box-sizing: border-box;
}

.pp-privacy-narrative-content {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0;
    text-align: left;
    box-sizing: border-box;
}


/* =========================================================
   12.02 Privacy Policy - Shared Eyebrows
========================================================= */

.pp-privacy-narrative-kicker {
    margin: 0 0 12px !important;
    padding: 0;
    color: var(--pp-gold);
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-align: left;
    text-transform: uppercase;
    box-sizing: border-box;
}


/* =========================================================
   12.03 Privacy Policy - Narrative Headings
========================================================= */

.pp-privacy-narrative-title {
    margin: 0 0 24px !important;
    padding: 0;
    color: var(--pp-navy);
    font-family: "Cormorant Garamond", serif;
    font-size: 42px;
    line-height: 48px;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-align: left;
    box-sizing: border-box;
}


/* =========================================================
   12.04 Privacy Policy - Narrative Copy
========================================================= */

.pp-privacy-narrative-copy {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.pp-privacy-narrative-text {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--pp-body);
    font-family: Inter, sans-serif;
    font-size: 18px;
    line-height: 30px;
    font-weight: 400;
    text-align: left;
    box-sizing: border-box;
}

.pp-privacy-narrative-text + .pp-privacy-narrative-text {
    margin-top: 18px !important;
}


/* =========================================================
   12.05 Privacy Policy - Last Updated
========================================================= */

.pp-privacy-updated {
    width: 100%;
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: var(--pp-muted);
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    text-align: left;
    box-sizing: border-box;
}

.pp-privacy-updated strong {
    color: var(--pp-navy);
    font-weight: 600;
}


/* =========================================================
   12.06 Privacy Policy - Lists
========================================================= */

.pp-privacy-list {
    width: 100%;
    margin: 18px 0 0 !important;
    padding: 0 0 0 24px !important;
    color: var(--pp-body);
    font-family: Inter, sans-serif;
    font-size: 18px;
    line-height: 30px;
    font-weight: 400;
    text-align: left;
    list-style-position: outside;
    box-sizing: border-box;
}

.pp-privacy-list li {
    margin: 0;
    padding: 0 0 0 6px;
}

.pp-privacy-list li + li {
    margin-top: 12px;
}

.pp-privacy-list li::marker {
    color: var(--pp-gold);
}

.pp-privacy-list + .pp-privacy-narrative-text {
    margin-top: 18px !important;
}


/* =========================================================
   12.07 Privacy Policy - Information Note
========================================================= */

.pp-privacy-note {
    margin-top: 18px !important;
    padding: 18px 24px !important;
    background-color: var(--pp-white);
    border-left: 2px solid var(--pp-gold);
    box-sizing: border-box;
}


/* =========================================================
   12.08 Privacy Policy - Structured Detail Panels
========================================================= */

.pp-privacy-details {
    width: 100%;
    margin: 24px 0 0;
    padding: 0;
    border: 1px solid var(--pp-border);
    box-sizing: border-box;
}

.pp-privacy-controller .pp-privacy-details {
    background-color: var(--pp-white);
}

.pp-privacy-enquiries .pp-privacy-details {
    background-color: var(--pp-ivory);
}

.pp-privacy-processors .pp-privacy-details {
    background-color: var(--pp-white);
} 

.pp-privacy-rights .pp-privacy-details {
    background-color: var(--pp-white);
}

.pp-privacy-policy-contact .pp-privacy-details {
    background-color: var(--pp-ivory);
}

.pp-privacy-details-row {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    column-gap: 24px;
    align-items: start;
    width: 100%;
    margin: 0;
    padding: 18px 24px;
    border-bottom: 1px solid var(--pp-border);
    box-sizing: border-box;
}

.pp-privacy-details-row:last-child {
    border-bottom: 0;
}

.pp-privacy-details dt,
.pp-privacy-details dd {
    margin: 0;
    padding: 0;
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 24px;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

.pp-privacy-details dt {
    color: var(--pp-navy);
    font-weight: 600;
}

.pp-privacy-details dd {
    color: var(--pp-body);
    font-weight: 400;
}

/*
   Use this modifier when narrative text follows
   directly after a structured detail panel.
*/

.pp-privacy-details.pp-privacy-details-followed {
    margin: 24px 0 !important;
}


/* =========================================================
   12.09 Privacy Policy - Links
========================================================= */

.pp-privacy-narrative a {
    color: var(--pp-navy);
    text-decoration-line: underline;
    text-decoration-color: rgba(176, 141, 87, 0.65);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition:
        color var(--pp-transition-fast),
        text-decoration-color var(--pp-transition-fast);
}

.pp-privacy-narrative a:hover,
.pp-privacy-narrative a:focus {
    color: var(--pp-gold-hover);
    text-decoration-color: var(--pp-gold-hover);
}

.pp-privacy-narrative a:focus-visible {
    outline: 2px solid rgba(176, 141, 87, 0.45);
    outline-offset: 4px;
}


/* =========================================================
   12.10 Privacy Policy - Tablet
========================================================= */

@media screen and (min-width: 768px) and (max-width: 1024px) {

    .pp-privacy-narrative-inner {
        width: calc(100% - 48px);
        max-width: var(--pp-inner-width);
        margin: 0 auto;
        padding: 48px 0 54px;
    }

    .pp-privacy-narrative-content {
        width: 100%;
        max-width: 1080px;
        margin: 0 auto;
    }

    .pp-privacy-details-row {
        grid-template-columns: 216px minmax(0, 1fr);
    }

}


/* =========================================================
   12.11 Privacy Policy - Mobile
========================================================= */

@media screen and (max-width: 767px) {

    .pp-privacy-narrative-inner {
        width: calc(100% - 48px);
        max-width: none;
        margin: 0 auto;
        padding: 42px 0 48px;
    }

    .pp-privacy-narrative-content {
        width: 100%;
        max-width: none;
        margin: 0;
    }

    .pp-privacy-narrative-kicker {
        margin-bottom: 12px !important;
        font-size: 16px;
        line-height: 24px;
        font-weight: 600;
        letter-spacing: 0.10em;
    }

    .pp-privacy-narrative-title {
        margin-bottom: 18px !important;
        font-size: 36px;
        line-height: 42px;
    }

    .pp-privacy-narrative-text {
        font-size: 16px;
        line-height: 24px;
    }

    .pp-privacy-narrative-text + .pp-privacy-narrative-text {
        margin-top: 18px !important;
    }

    .pp-privacy-updated {
        margin-bottom: 18px !important;
        font-size: 16px;
        line-height: 24px;
    }

    .pp-privacy-list {
        margin-top: 18px !important;
        padding-left: 24px !important;
        font-size: 16px;
        line-height: 24px;
    }

    .pp-privacy-list li {
        padding-left: 6px;
    }

    .pp-privacy-list li + li {
        margin-top: 12px;
    }

    .pp-privacy-list + .pp-privacy-narrative-text {
        margin-top: 18px !important;
    }

    .pp-privacy-note {
        margin-top: 18px !important;
        padding: 18px !important;
    }

    .pp-privacy-details {
        margin-top: 24px;
    }

    .pp-privacy-details-row {
        display: block;
        padding: 18px;
    }

    .pp-privacy-details dt {
        margin-bottom: 6px;
    }

    .pp-privacy-details dt,
    .pp-privacy-details dd {
        font-size: 16px;
        line-height: 24px;
    }

    .pp-privacy-legal-bases {
        margin-top: 24px;
        margin-bottom: 24px;
    } 

}
