/* ============================================================
   Premium Homes Footer Layout (.ph-footer-layout)
   Three-column footer block — brand logo (left), contact details
   (middle), social icons (right). Used via [premiumhomes_footer_layout].
   Stacks to a single column on mobile.
   ============================================================ */

.ph-footer-layout {
    /* Per-instance overrides come from inline custom properties set by the
       shortcode (icon_color / text_color / link_hover_color attributes). */
    --ph-footer-icon: #C4853A;
    --ph-footer-link: #F5F0EB;
    --ph-footer-link-hover: #C4853A;
    padding: 56px 24px;
    max-width: 1200px;
    margin: 0 auto;
    color: #1A1A1A;
    box-sizing: border-box;
}

.ph-footer-layout__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px;
    align-items: start;
}

@media (min-width: 768px) {
    .ph-footer-layout {
        padding: 72px 32px;
    }
    .ph-footer-layout__grid {
        grid-template-columns: 1fr 1.2fr 1fr;
        gap: 48px;
        align-items: start;
    }
    /* Brand stays left; the combined contact + social block sits in the
       right-hand column (where the social column used to be). */
    .ph-footer-layout__col--contact {
        grid-column: 3 / 4;
    }
}

@media (min-width: 1024px) {
    .ph-footer-layout {
        padding: 80px 40px;
    }
    .ph-footer-layout__grid {
        gap: 64px;
    }
}

/* ---------- Brand column ---------- */
.ph-footer-layout__col--brand img,
.ph-footer-layout__col--brand .custom-logo {
    max-width: 220px;
    height: auto;
    display: block;
}

.ph-footer-layout__brand-text {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1A1A1A;
    text-decoration: none;
    letter-spacing: -0.01em;
}

/* ---------- Section headings ---------- */
.ph-footer-layout__heading {
    margin: 0 0 22px;
    font-size: 1.125rem;
    font-weight: 700;
    color: #1A1A1A;
    line-height: 1.3;
    letter-spacing: 0;
}

/* ---------- Contact rows ---------- */
.ph-footer-layout__row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0 0 16px;
    font-size: 0.95rem;
    line-height: 1.55;
    color: #1A1A1A;
}
.ph-footer-layout__row:last-child {
    margin-bottom: 0;
}

.ph-footer-layout__icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: var(--ph-footer-icon, #C4853A);
    margin-top: 2px;
}
.ph-footer-layout__icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

.ph-footer-layout__link {
    color: var(--ph-footer-link, #F5F0EB);
    text-decoration: none;
    transition: color 0.15s ease;
}
.ph-footer-layout__link:hover,
.ph-footer-layout__link:focus {
    color: var(--ph-footer-link-hover, #FFFFFF);
    text-decoration: underline;
}

.ph-footer-layout__address {
    color: var(--ph-footer-link, #F5F0EB);
}

/* ---------- Social icons (under the contact rows) ---------- */
.ph-footer-layout__social {
    margin-top: 24px;
}
.ph-footer-layout__social .ph-social {
    margin: 0;
    justify-content: flex-start;
}

@media (max-width: 767px) {
    .ph-footer-layout__social .ph-social {
        gap: 12px;
    }
}

/* ---------- Footer navigation (full-width, above the copyright) ---------- */
.ph-footer-layout__nav {
    margin-top: 40px;
    text-align: center;
}
.ph-footer-layout__nav .ph-footer-layout__heading {
    margin-bottom: 16px;
}
.ph-footer-layout__nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 28px;
}
.ph-footer-layout__nav-list li {
    margin: 0;
}
.ph-footer-layout__nav-list a {
    color: var(--ph-footer-link, #F5F0EB);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.15s ease;
}
.ph-footer-layout__nav-list a:hover,
.ph-footer-layout__nav-list a:focus {
    color: var(--ph-footer-link-hover, #C4853A);
    text-decoration: underline;
}

/* ---------- Copyright ---------- */
.ph-footer-layout__copyright {
    margin-top: 40px;
    padding-top: 28px;
    border-top: 1px solid rgba(245, 240, 235, 0.18);
    font-size: 0.85rem;
    line-height: 1.5;
    color: #F5F0EB;
}
.ph-footer-layout__copyright a {
    color: inherit;
    text-decoration: underline;
}
