/* PRANA rebranding footer. The legacy ACF content remains the data source. */
footer.prana-rebrand-footer {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: #020702 var(--prana-footer-bg) center / cover no-repeat;
    font-family: 'Fixel Text', Arial, sans-serif;
    font-weight: 300;
}

footer.prana-rebrand-footer::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 14, 3, .34), rgba(0, 0, 0, .4) 55%, rgba(0, 0, 0, .66));
    pointer-events: none;
}

.prana-rebrand-footer .footer-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 88px 40px 28px;
}

.prana-footer-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: end; margin-bottom: 82px; }
.prana-footer-cta h2 { max-width: 650px; margin: 0 0 22px; color: #fff; font-family: 'Fixel Text', Arial, sans-serif !important; font-size: clamp(40px, 4vw, 58px); font-weight: 400 !important; line-height: 1.06; letter-spacing: -.02em; }
.prana-footer-cta p { max-width: 640px; margin: 0; color: rgba(255,255,255,.72); font-family: 'Fixel Text', Arial, sans-serif !important; font-size: 17px; font-weight: 300 !important; line-height: 1.5; }
.prana-footer-secondary { color: #fff !important; font-family: 'Fixel Text', Arial, sans-serif !important; font-size: 16px; font-weight: 400 !important; line-height: 1; white-space: nowrap; }
.prana-footer-secondary::after { content: ''; display: block; width: 40px; height: 1px; margin-top: 8px; background: currentColor; transition: width .2s ease; }
.prana-footer-secondary:hover::after { width: 100%; }

.prana-footer-content { display: grid; grid-template-columns: minmax(210px, 1.35fr) repeat(5, minmax(120px, 1fr)); gap: 40px 24px; align-items: start; }
.prana-footer-brand { min-width: 0; }
.prana-rebrand-footer .footer-logo { display: block; width: min(180px, 100%); margin: 0 0 18px; }
.prana-rebrand-footer .footer-logo img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); }
.prana-footer-description { max-width: 280px; margin: 0 0 24px; color: rgba(255,255,255,.78); font-family: 'Fixel Text', Arial, sans-serif !important; font-size: 15px; font-weight: 300 !important; line-height: 1.5; }
.prana-rebrand-footer .footer-social { display: grid; grid-template-columns: repeat(3, 40px); gap: 8px; width: max-content; align-items: center; }
.prana-rebrand-footer .footer-social a {
    display: grid !important;
    box-sizing: border-box !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 50% !important;
    color: #fff !important;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 1 !important;
    transform: none !important;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease !important;
}
.prana-rebrand-footer .footer-social a::before,
.prana-rebrand-footer .footer-social a::after { display: none !important; content: none !important; }
.prana-rebrand-footer .footer-social a:hover,
.prana-rebrand-footer .footer-social a:focus-visible {
    border-color: #88d88d !important;
    color: #88d88d !important;
    background: rgba(136,216,141,.10) !important;
    box-shadow: none !important;
    outline: none;
    transform: none !important;
}
.prana-rebrand-footer .footer-social svg { display: block; width: 18px !important; height: 18px !important; max-width: 18px !important; max-height: 18px !important; overflow: visible; }
.prana-rebrand-footer .footer-social svg * { fill: currentColor; }
.prana-rebrand-footer .footer-social svg [fill="none"] { fill: none; }

.prana-footer-column { min-width: 0; }
.prana-footer-column-title { margin: 0 0 18px; color: rgba(255,255,255,.76); font-family: 'Fixel Text', Arial, sans-serif !important; font-size: 13px; font-weight: 400 !important; line-height: 1.2; text-transform: none; }
.prana-rebrand-footer nav ul { display: flex; flex-direction: column; gap: 17px; margin: 0; padding: 0; list-style: none; }
.prana-rebrand-footer nav a { color: rgba(255,255,255,.9) !important; font-family: 'Fixel Text', Arial, sans-serif !important; font-size: 15px; font-weight: 300 !important; line-height: 1.3; letter-spacing: 0; transition: color .2s ease; }
.prana-rebrand-footer nav a:hover { color: #88d88d !important; }
.prana-footer-contacts { grid-column: 1 / -1; display: block; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); }
.prana-footer-contacts .prana-footer-column-title { margin: 0 0 18px; }
.prana-rebrand-footer .footer-info { display: grid; grid-template-columns: minmax(180px,.9fr) minmax(360px,1.7fr) minmax(180px,.9fr); gap: 28px 48px; width: 100%; align-items: start; }
.prana-footer-contact-group { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.prana-rebrand-footer .footer-info p,
.prana-rebrand-footer .footer-info a { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: rgba(255,255,255,.94) !important; font-family: 'Fixel Text', Arial, sans-serif !important; font-size: 15px; font-weight: 300 !important; line-height: 1.45; }
.prana-rebrand-footer .footer-info img { display: none; }
.prana-footer-contact-address p,
.prana-footer-contact-hours p { display: block !important; }
.prana-footer-phone-grid { display: grid; grid-template-columns: repeat(2, minmax(150px, max-content)); gap: 9px 28px; align-items: start; }
.prana-footer-phone-grid a,
.prana-footer-email-list a { display: block !important; width: max-content; max-width: 100%; white-space: nowrap; }
.prana-footer-email-list { display: flex; flex-direction: column; gap: 9px; margin-top: 12px; }

.prana-rebrand-footer .footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px 24px; margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); }
.prana-rebrand-footer .footer-bottom p,
.prana-rebrand-footer .footer-bottom a { margin: 0; color: rgba(255,255,255,.62) !important; font-family: 'Fixel Text', Arial, sans-serif !important; font-size: 13px; font-weight: 300 !important; line-height: 1.3; }
.prana-footer-legal { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.prana-rebrand-footer .footer-bottom .footer-credit img { filter: brightness(0) invert(1); opacity: .7; }

@media (max-width: 1199px) {
    .prana-footer-cta { grid-template-columns: 1fr; align-items: start; margin-bottom: 80px; }
    .prana-footer-content { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .prana-footer-brand { grid-column: span 4; }
    .prana-footer-contacts { grid-column: 1 / -1; }
    .prana-rebrand-footer .footer-info { grid-template-columns: minmax(160px,.8fr) minmax(300px,1.4fr) minmax(150px,.8fr); gap: 24px 30px; }
}

@media (max-width: 900px) {
    .prana-rebrand-footer .footer-info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .prana-footer-contact-hours { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
    .prana-rebrand-footer .footer-inner { padding: 72px 20px 24px; }
    .prana-footer-cta { gap: 36px; margin-bottom: 72px; }
    .prana-footer-cta h2 { margin-bottom: 18px; font-size: clamp(34px, 10vw, 44px); }
    .prana-footer-cta p { font-size: 16px; line-height: 1.5; }
    .prana-footer-secondary { font-size: 16px; }
    .prana-footer-content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 24px; }
    .prana-footer-brand { grid-column: span 2; }
    .prana-footer-contacts { grid-column: 1 / -1; }
    .prana-rebrand-footer .footer-info { grid-template-columns: 1fr; }
    .prana-footer-contact-hours { grid-column: auto; }
    .prana-rebrand-footer .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 479px) {
    .prana-footer-content { grid-template-columns: 1fr; }
    .prana-footer-brand { grid-column: auto; }
    .prana-footer-phone-grid { grid-template-columns: 1fr; }
}
