/* ============================================================
   custom.css — ad-hoc overrides and team-added CSS
   Loads globally on every page after style.css.
   Use for one-off CSS that doesn't belong in a feature stylesheet
   (style.css for theme essentials, packages.css for packages,
   testimonials.css for testimonials).
   ============================================================ */

/* Process steps row — connector lines between Kadence columns
   on desktop only. Wrap row uses the class .phg-process-steps. */
@media (min-width: 1024px) {
    .phg-process-steps .kt-row-column-wrap {
        position: relative;
    }
    .phg-process-steps .wp-block-kadence-column:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 30px;
        right: 0;
        width: 50%;
        height: 2px;
        background-color: #C4853A;
    }
    .phg-process-steps .wp-block-kadence-column:not(:first-child)::before {
        content: '';
        position: absolute;
        top: 30px;
        left: 0;
        width: 50%;
        height: 2px;
        background-color: #C4853A;
    }
}

/* Services page — monospace font on all list items in the page content.
   Targets:
     - .page-id-13  : the live Services page (works immediately)
     - .ph-page-services : the body-classes helper (deploy fallback)
     - .kt-svg-icon-list-text : Kadence Icon List blocks put the visible
       text in a nested span and apply their own typography to it, so
       styling <li> alone isn't enough. */
.page-id-13 .entry-content li,
.page-id-13 .entry-content .kt-svg-icon-list-text,
.ph-page-services .entry-content li,
.ph-page-services .entry-content .kt-svg-icon-list-text {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
    font-size: 0.8rem;
}

/* Hide the Kadence footer bottom bar sitewide. The custom footer is
   built entirely with [premiumhomes_footer_layout] (in the footer
   middle row / HTML element), so the theme's bottom bar is redundant. */
.site-footer .site-bottom-footer-wrap,
.site-footer .site-footer-row-container.site-footer-focus-item[data-section="kadence_customizer_footer_bottom"] {
    display: none !important;
}

/* ============================================================
   Legal pages (Privacy Policy, Terms & Conditions) — CONTENT
   formatting only. Scoped to .ph-legal-content, the "Additional
   CSS class" on the white content row (set in the page's Kadence
   layout), so the green hero band and its heading are untouched.

   Goal: long-form legal text that is comfortable to read —
   a constrained reading measure, generous line-height, clear
   space between sections, and readable lists/links. Values follow
   web-typography readability guidance (≈66–70char measure,
   1.5–1.75 line-height, more space above a heading than below).
   ============================================================ */

/* Constrain the reading column (the row band stays full width). */
.ph-legal-content .kt-inside-inner-col {
    max-width: 760px;
    margin-inline: auto;
}

/* Body copy: comfortable size + rhythm, left-aligned. */
.ph-legal-content p,
.ph-legal-content li {
    font-size: 1.05rem;
    line-height: 1.75;
    color: #333333;
}
.ph-legal-content p {
    margin: 0 0 1.25em;
}

/* "Last updated" eyebrow — the first line in the content column. */
.ph-legal-content .kt-inside-inner-col > p:first-child {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8a8a8a;
    margin-bottom: 2.25em;
    padding-bottom: 1.25em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.ph-legal-content .kt-inside-inner-col > p:first-child em {
    font-style: normal;
}

/* Section headings: room above each, a hairline divider to separate
   sections, tighter space below (leads into its paragraph). Colour is
   left to the block's palette class so the brand accent is preserved. */
.ph-legal-content h2.wp-block-kadence-advancedheading {
    margin-top: 2.75rem;
    margin-bottom: 0.65rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    line-height: 1.3;
}
.ph-legal-content h3.wp-block-kadence-advancedheading {
    margin-top: 1.9rem;
    margin-bottom: 0.5rem;
    line-height: 1.35;
}

/* Lists: hang the markers in the brand accent, space the items. */
.ph-legal-content ul {
    margin: 0 0 1.4em;
    padding-left: 1.4em;
}
.ph-legal-content li {
    margin-bottom: 0.55em;
    padding-left: 0.25em;
}
.ph-legal-content li:last-child {
    margin-bottom: 0;
}
.ph-legal-content li::marker {
    color: var(--global-palette2, #C4853A);
}

/* Links: brand accent, underlined for scannability. */
.ph-legal-content a {
    color: var(--global-palette2, #C4853A);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}
.ph-legal-content a:hover,
.ph-legal-content a:focus {
    color: var(--global-palette1, #2d3b2d);
}

@media (max-width: 600px) {
    .ph-legal-content p,
    .ph-legal-content li {
        font-size: 1rem;
        line-height: 1.7;
    }
    .ph-legal-content h2.wp-block-kadence-advancedheading {
        margin-top: 2.25rem;
        padding-top: 1.25rem;
    }
}

/* "Why Choose Premium Homes Group" heading — force black text.
   The block ships with has-theme-palette-8-color (white), which was
   right on the old green background but disappears now that the section
   sits on cream. Two-class specificity + !important beats the palette
   class (itself !important). Targets the heading and its typed-text span. */
.wp-block-kadence-advancedheading.kt-adv-heading9_606aee-eb,
.kt-adv-heading9_606aee-eb .kt-typed-text {
    color: #000000 !important;
}
