/* Fenix CMS — Footer Profiles 1a (v2.20)
 *
 * One stylesheet for every footer component + the host <footer class="fenix-footer">.
 * Values driven by CSS custom properties so the Razor view can stamp per-profile colours +
 * widths without inline styles on each element (matches the project's no-inline-CSS rule).
 *
 * Naming follows BEM: .fenix-footer__component-name__detail.
 * data-attributes drive the visual variants — data-padding="lg", data-border-top="true", etc.
 */

/* ───── Host element ─────────────────────────────────────────────────────── */
.fenix-footer {
    --fenix-footer-bg: #ffffff;
    --fenix-footer-text: #4b5563;
    --fenix-footer-link: var(--fenix-footer-text);
    --fenix-footer-max-w: 1280px;
    --fenix-footer-pad-y: 2.5rem;

    background: var(--fenix-footer-bg);
    color: var(--fenix-footer-text);
    font-family: var(--fenix-font-body, system-ui, sans-serif);
    font-size: 0.875rem;
    line-height: 1.5;
    padding-top: var(--fenix-footer-pad-y);
    padding-bottom: var(--fenix-footer-pad-y);
    margin-top: auto; /* push footer to the bottom when content is short */
}
.fenix-footer[data-border-top="true"] {
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.fenix-footer[data-padding="sm"] { --fenix-footer-pad-y: 1rem; }
.fenix-footer[data-padding="md"] { --fenix-footer-pad-y: 1.75rem; }
.fenix-footer[data-padding="lg"] { --fenix-footer-pad-y: 2.5rem; }
.fenix-footer[data-padding="xl"] { --fenix-footer-pad-y: 4rem; }

/* When the bg is dark, soften the divider so it doesn't read as a hard line. */
.fenix-footer[data-border-top="true"][style*="--fenix-footer-bg:#0"],
.fenix-footer[data-border-top="true"][style*="--fenix-footer-bg:#1"],
.fenix-footer[data-border-top="true"][style*="--fenix-footer-bg:#2"] {
    border-top-color: rgba(255, 255, 255, 0.08);
}

.fenix-footer__inner {
    max-width: var(--fenix-footer-max-w);
    margin: 0 auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.fenix-footer a {
    color: var(--fenix-footer-link);
    text-decoration: none;
    transition: opacity 0.15s ease;
}
.fenix-footer a:hover { opacity: 0.7; }

/* ───── Row layouts ──────────────────────────────────────────────────────── */
.fenix-footer__row {
    display: block;
}
.fenix-footer__row + .fenix-footer__row {
    margin-top: 1.5rem;
}
.fenix-footer__row[data-row="inline"] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: center;
}
.fenix-footer__row[data-row="split"] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    align-items: center;
    justify-content: space-between;
}

/* When the host align="center", apply centering to stack rows too. */
.fenix-footer[data-align="center"] .fenix-footer__row[data-row="stack"] {
    text-align: center;
}
.fenix-footer[data-align="right"] .fenix-footer__row[data-row="stack"] {
    text-align: right;
}

/* ───── Logo ─────────────────────────────────────────────────────────────── */
.fenix-footer__logo { display: inline-flex; align-items: center; }
.fenix-footer__logo-img { display: block; }

/* ===== Theme-following logo mark (2026-07-19) ==========================================
   Mirror of the header rule (fenix-header.css ▸ "Theme-following logo mark"): recolour the
   footer brand emblem to the ACTIVE theme accent (--fenix-color-primary) across every footer
   design (standard, blush, coastal, …). The <img> logo is blanked and repainted through a
   CSS mask of the kolam glyph so the fill tracks the theme; an inline <svg> logo takes the
   accent as currentColor. Fallback = currentColor (the footer's own readable text colour) so
   an unthemed footer keeps a legible mark. Reversible: delete this block. Documented in the
   fenix-footer-system skill ▸ "Theme-following logo". */
/* Inline <svg> logo (the default now — LogoFooterComponent inlines the settings SVG): currentColor. */
.fenix-footer__logo-svg {
    color: var(--fenix-color-primary, currentColor);
}
/* Raster <img> / raw-layout logos (explicit imageUrl, or the blush/coastal footer layouts that
   hardcode <img class="bl-foot-logo">): blank + mask the kolam glyph. :not() keeps this off the
   inline <svg> above. */
.fenix-footer__logo-img:not(.fenix-footer__logo-svg),
.bl-foot-logo,
.cs-foot-logo {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'%3E%3C/svg%3E");
    background-color: var(--fenix-color-primary, currentColor);
    -webkit-mask: url('/Themes/GVTheme/Content/images/gvt-logo-cream.svg') center / contain no-repeat;
            mask: url('/Themes/GVTheme/Content/images/gvt-logo-cream.svg') center / contain no-repeat;
    filter: none;
}

/* ───── Inline nav ───────────────────────────────────────────────────────── */
.fenix-footer__inline-nav {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem;
    justify-content: inherit;
}
.fenix-footer__inline-nav-sep {
    opacity: 0.5;
    font-size: 0.875em;
    user-select: none;
}
.fenix-footer__row[data-row="stack"] .fenix-footer__inline-nav {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
}

/* ───── Nav columns ──────────────────────────────────────────────────────── */
.fenix-footer__nav-columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
}
.fenix-footer__nav-columns[data-count="1"] { grid-template-columns: 1fr; }
.fenix-footer__nav-columns[data-count="2"] { grid-template-columns: repeat(2, 1fr); }
.fenix-footer__nav-columns[data-count="3"] { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 768px) {
    .fenix-footer__nav-columns { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .fenix-footer__nav-columns { grid-template-columns: 1fr; }
}

.fenix-footer__nav-col-title {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--fenix-footer-text);
    margin: 0 0 1rem 0;
}
.fenix-footer__nav-col-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

/* ───── Copyright ────────────────────────────────────────────────────────── */
.fenix-footer__copyright {
    display: block;
    font-size: 0.875rem;
    opacity: 0.85;
}
.fenix-footer__row[data-row="split"] .fenix-footer__copyright { display: inline-block; }
.fenix-footer__row[data-row="stack"] .fenix-footer__copyright {
    text-align: inherit;
    margin-top: 0.5rem;
}

/* ───── Socials ──────────────────────────────────────────────────────────── */
.fenix-footer__socials {
    display: inline-flex;
    gap: 0.75rem;
    align-items: center;
}
.fenix-footer__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.05);
    color: var(--fenix-footer-text);
    transition: background 0.15s ease, transform 0.15s ease;
}
.fenix-footer__social:hover {
    background: rgba(0, 0, 0, 0.12);
    opacity: 1;
    transform: translateY(-1px);
}
/* Dark-bg variant: invert the chip background. Detected via parent's --fenix-footer-bg
   starting with #0/#1/#2 (rough dark heuristic). Fallback to lighten on hover. */
.fenix-footer[style*="--fenix-footer-bg:#0"] .fenix-footer__social,
.fenix-footer[style*="--fenix-footer-bg:#1"] .fenix-footer__social,
.fenix-footer[style*="--fenix-footer-bg:#2"] .fenix-footer__social {
    background: rgba(255, 255, 255, 0.08);
}
.fenix-footer[style*="--fenix-footer-bg:#0"] .fenix-footer__social:hover,
.fenix-footer[style*="--fenix-footer-bg:#1"] .fenix-footer__social:hover,
.fenix-footer[style*="--fenix-footer-bg:#2"] .fenix-footer__social:hover {
    background: rgba(255, 255, 255, 0.16);
}

/* ───── Newsletter ───────────────────────────────────────────────────────── */
.fenix-footer__newsletter {
    width: 100%;
    max-width: 420px;
}
.fenix-footer__newsletter-heading {
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 0.25rem;
}
.fenix-footer__newsletter-blurb {
    font-size: 0.875rem;
    opacity: 0.85;
    margin-bottom: 0.75rem;
}
.fenix-footer__newsletter-form {
    display: flex;
    gap: 0.5rem;
}
.fenix-footer__newsletter-input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    border: 1px solid rgba(0, 0, 0, 0.15);
    background: rgba(255, 255, 255, 0.95);
    color: #111827;
    font-size: 0.875rem;
}
.fenix-footer__newsletter-input:focus {
    outline: 2px solid var(--fenix-color-primary, #db2777);
    outline-offset: 1px;
    border-color: transparent;
}
.fenix-footer__newsletter-cta {
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    border: none;
    background: var(--fenix-color-primary, #db2777);
    color: #ffffff;
    font-weight: 600;
    font-size: 0.875rem;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity 0.15s ease;
}
.fenix-footer__newsletter-cta:hover { opacity: 0.9; }

/* ───── Payment icons ────────────────────────────────────────────────────── */
.fenix-footer__payments {
    display: inline-flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}
.fenix-footer__payment {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.625rem;
    border-radius: 0.25rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: inherit;
}
/* On light-bg footers, use neutral chip background. Same heuristic as socials. */
.fenix-footer[style*="--fenix-footer-bg:#f"] .fenix-footer__payment,
.fenix-footer[style*="--fenix-footer-bg:#e"] .fenix-footer__payment,
.fenix-footer[style*="--fenix-footer-bg:#ffffff"] .fenix-footer__payment {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.1);
}

/* ───── Legal links ──────────────────────────────────────────────────────── */
.fenix-footer__legal-links {
    display: inline-flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    font-size: 0.8125rem;
    opacity: 0.85;
}
.fenix-footer__legal-sep {
    opacity: 0.5;
    user-select: none;
}

/* ───── Text block ───────────────────────────────────────────────────────── */
.fenix-footer__text-block-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: var(--fenix-footer-text);
}
.fenix-footer__text-block-body p { margin: 0 0 0.5rem 0; }
.fenix-footer__text-block-body p:last-child { margin-bottom: 0; }

/* ───── Spacer ───────────────────────────────────────────────────────────── */
.fenix-footer__spacer { width: 100%; }

/* ════════════════════════════════════════════════════════════════════════════
   PROFILE — "gv-home" footer (Growth Vision Home, 2026-07-03)
   Ported from "Growth Vision (standalone).html": slate #45483F band, two
   2-column uppercase Jost link stacks flanking the cream kolam mark, centred
   muted copyright line. Colours ride in StylesJson (bg/text/link vars); this
   block owns typography + the 5-column split geometry.
   ════════════════════════════════════════════════════════════════════════════ */
.fenix-footer[data-profile="gv-home"] { padding-top: 1.5rem; }
.fenix-footer[data-profile="gv-home"] .fenix-footer__row[data-row="split"] {
    align-items: center;
    gap: 24px;
}
/* Each nav-columns cell is a 2-col grid; the logo cell stays natural width. */
.fenix-footer[data-profile="gv-home"] .fenix-footer__nav-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px;
    flex: 1 1 0;
}
.fenix-footer[data-profile="gv-home"] .fenix-footer__nav-col-list { gap: 11px; }
.fenix-footer[data-profile="gv-home"] .fenix-footer__nav-col-list li a {
    font-family: 'Jost', sans-serif;
    font-size: 11px; font-weight: 400;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--fenix-footer-link, #CBC7BC); text-decoration: none;
    transition: color 0.15s ease;
}
.fenix-footer[data-profile="gv-home"] .fenix-footer__nav-col-list li a:hover { color: #FFFFFF; }
.fenix-footer[data-profile="gv-home"] .fenix-footer__logo-img {
    max-height: 64px !important; opacity: 0.92; display: block;
}
.fenix-footer[data-profile="gv-home"] .fenix-footer__copyright {
    font-family: 'Jost', sans-serif;
    font-size: 10.5px; font-weight: 300; letter-spacing: 0.08em;
    text-align: center; color: #8E897E; opacity: 1;
    margin-top: 2.5rem;
}
@media (max-width: 768px) {
    .fenix-footer[data-profile="gv-home"] .fenix-footer__row[data-row="split"] {
        flex-direction: column; gap: 32px;
    }
    .fenix-footer[data-profile="gv-home"] .fenix-footer__nav-columns {
        width: 100%; text-align: center;
    }
    .fenix-footer[data-profile="gv-home"] .fenix-footer__copyright { margin-top: 1.5rem; }
}

/* ════════════════════════════════════════════════════════════════════════════
   PROFILE — "growth-vision-home" footer (Growth Vision Home1b / earth2, 2026-07-03)
   Ported from "Growth Vision - Home1b.html": dark-olive #43472f band. Top split row
   = brand block (cream logo + wordmark + blurb + socials, in a text-block cell) ·
   "Explore" column · "Company" column · newsletter. Bottom split row = copyright vs
   Privacy/Terms/Sitemap, divided by a hairline. Mulish body, Cormorant wordmark.
   Colours ride in StylesJson (bg/text/link vars); this block owns geometry + type.
   ════════════════════════════════════════════════════════════════════════════ */
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__inner { max-width: 1200px; }

/* Top row — four zones (brand 1.7fr · explore 1fr · company 1fr · newsletter 1.4fr) */
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__row[data-row="split"]:first-child {
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr 1.4fr;
    gap: 44px;
    align-items: start;
    padding-bottom: 52px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__nav-columns {
    grid-template-columns: 1fr !important;
    gap: 0;
}

/* Brand block (text-block) — logo row, blurb, socials */
.fenix-footer[data-profile="growth-vision-home"] .e2f-brand {
    display: flex; align-items: center; gap: 12px; text-decoration: none; margin-bottom: 20px;
}
.fenix-footer[data-profile="growth-vision-home"] .e2f-brand-logo { height: 38px; width: auto; display: block; opacity: 0.92; }
.fenix-footer[data-profile="growth-vision-home"] .e2f-brand-words { display: flex; flex-direction: column; line-height: 1; }
.fenix-footer[data-profile="growth-vision-home"] .e2f-brand-name {
    font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 600;
    color: #fbf8f1; letter-spacing: 0.05em; text-transform: uppercase;
}
.fenix-footer[data-profile="growth-vision-home"] .e2f-brand-tag {
    font-family: 'Mulish', sans-serif; font-size: 8.5px; font-weight: 700;
    letter-spacing: 0.35em; text-transform: uppercase; color: #d8cba0; margin-top: 3px;
}
.fenix-footer[data-profile="growth-vision-home"] .e2f-brand-blurb {
    font-family: 'Mulish', sans-serif; font-size: 14px; line-height: 1.75; font-weight: 300;
    color: #cdc9b8; max-width: 290px; margin: 0 0 24px;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__socials { display: flex; gap: 12px; }
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__social {
    width: 38px; height: 38px; border: 1px solid rgba(255, 255, 255, 0.2);
    display: flex; align-items: center; justify-content: center; color: #fbf8f1;
    border-radius: 0; transition: background 0.2s ease, border-color 0.2s ease;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__social:hover {
    background: #b6a45a; border-color: #b6a45a;
}

/* Headed link columns — Explore / Company */
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__nav-col-title {
    font-family: 'Mulish', sans-serif; font-size: 12px; font-weight: 700;
    letter-spacing: 0.16em; text-transform: uppercase; color: #fbf8f1; margin: 0 0 20px;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__nav-col-list { gap: 13px; }
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__nav-col-list li a {
    font-family: 'Mulish', sans-serif; font-size: 14px; font-weight: 300;
    letter-spacing: 0; text-transform: none; color: #cdc9b8; text-decoration: none;
    transition: color 0.15s ease;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__nav-col-list li a:hover { color: #fbf8f1; }

/* Newsletter */
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__newsletter-heading {
    font-family: 'Mulish', sans-serif; font-size: 12px; font-weight: 700;
    letter-spacing: 0.16em; text-transform: uppercase; color: #fbf8f1; margin: 0 0 20px;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__newsletter-blurb {
    font-family: 'Mulish', sans-serif; font-size: 14px; line-height: 1.7; font-weight: 300;
    color: #cdc9b8; margin: 0 0 18px;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__newsletter-form {
    display: flex; border: 1px solid rgba(255, 255, 255, 0.22); background: rgba(255, 255, 255, 0.06);
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__newsletter-form input {
    flex: 1; min-width: 0; background: transparent; border: none; outline: none;
    color: #fbf8f1; font-size: 13.5px; font-family: 'Mulish', sans-serif; padding: 14px 16px;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__newsletter-form input::placeholder { color: rgba(251, 248, 241, 0.55); }
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__newsletter-cta {
    flex-shrink: 0; background: #b6a45a; color: #fbf8f1; border: none; cursor: pointer;
    font-family: 'Mulish', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.12em;
    text-transform: uppercase; padding: 0 20px; transition: filter 0.2s ease;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__newsletter-cta:hover { filter: brightness(1.06); }

/* Bottom bar — copyright vs legal links */
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__row[data-row="split"]:last-child {
    align-items: center; padding-top: 28px; gap: 14px;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__copyright {
    font-family: 'Mulish', sans-serif; font-size: 12.5px; font-weight: 300;
    color: #cdc9b8; margin: 0; text-align: left;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__legal-links { display: flex; gap: 26px; }
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__legal-links a {
    font-family: 'Mulish', sans-serif; font-size: 12.5px; font-weight: 300;
    color: #cdc9b8; text-decoration: none; transition: color 0.15s ease;
}
.fenix-footer[data-profile="growth-vision-home"] .fenix-footer__legal-links a:hover { color: #fbf8f1; }

@media (max-width: 768px) {
    .fenix-footer[data-profile="growth-vision-home"] .fenix-footer__row[data-row="split"]:first-child {
        grid-template-columns: 1fr 1fr; gap: 32px;
    }
    .fenix-footer[data-profile="growth-vision-home"] .fenix-footer__row[data-row="split"]:last-child {
        flex-direction: column; align-items: flex-start; gap: 16px;
    }
}
@media (max-width: 480px) {
    .fenix-footer[data-profile="growth-vision-home"] .fenix-footer__row[data-row="split"]:first-child {
        grid-template-columns: 1fr;
    }
}

/* ════════════════════════════════════════════════════════════════════════════
   PROFILE — "coastal" footer (Growth Vision Coastal, 2026-07-03)
   Ported from "Growth Vision - Coastal Serif (standalone).html": dark #202c34 band.
   Top split row = brand block (cream logo + Cormorant wordmark + blurb + bordered
   social squares) · "Explore" column · "Company" column · newsletter. Bottom split
   row = copyright vs Privacy/Terms/Sitemap, divided by a hairline. Mulish body,
   Cormorant wordmark, slate #4f6a7d social/CTA accent. Colours ride in StylesJson.
   ════════════════════════════════════════════════════════════════════════════ */
.fenix-footer[data-profile="coastal"] .fenix-footer__inner { max-width: 1180px; }

/* Top row — four zones (brand 1.7fr · explore 1fr · company 1fr · newsletter 1.5fr) */
.fenix-footer[data-profile="coastal"] .fenix-footer__row[data-row="split"]:first-child {
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr 1.5fr;
    gap: 44px;
    align-items: start;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(241, 239, 233, 0.1);
}
.fenix-footer[data-profile="coastal"] .fenix-footer__nav-columns {
    grid-template-columns: 1fr !important;
    gap: 0;
}

/* Brand block (text-block) — logo row, blurb, socials */
.fenix-footer[data-profile="coastal"] .cs-foot-brand {
    display: flex; align-items: center; gap: 12px; text-decoration: none; margin-bottom: 22px;
}
.fenix-footer[data-profile="coastal"] .cs-foot-logo { height: 30px; width: auto; display: block; opacity: 0.9; }
.fenix-footer[data-profile="coastal"] .cs-foot-word {
    font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 600;
    color: #f1efe9; letter-spacing: 0.09em; text-transform: uppercase;
}
.fenix-footer[data-profile="coastal"] .cs-foot-blurb {
    font-family: 'Mulish', sans-serif; font-size: 13px; line-height: 1.8; font-weight: 300;
    color: #93a1aa; max-width: 290px; margin: 0 0 24px;
}
.fenix-footer[data-profile="coastal"] .cs-foot-socials { display: flex; gap: 12px; }
.fenix-footer[data-profile="coastal"] .cs-foot-soc {
    width: 38px; height: 38px; border: 1px solid rgba(241, 239, 233, 0.18);
    display: flex; align-items: center; justify-content: center; color: #f1efe9;
    border-radius: 0; transition: background 0.2s ease, border-color 0.2s ease;
}
.fenix-footer[data-profile="coastal"] .cs-foot-soc:hover { background: #4f6a7d; border-color: #4f6a7d; }

/* Headed link columns — Explore / Company */
.fenix-footer[data-profile="coastal"] .fenix-footer__nav-col-title {
    font-family: 'Mulish', sans-serif; font-size: 11px; font-weight: 600;
    letter-spacing: 0.18em; text-transform: uppercase; color: #f1efe9; margin: 0 0 20px;
}
.fenix-footer[data-profile="coastal"] .fenix-footer__nav-col-list { gap: 13px; }
.fenix-footer[data-profile="coastal"] .fenix-footer__nav-col-list li a {
    font-family: 'Mulish', sans-serif; font-size: 13px; font-weight: 300;
    letter-spacing: 0; text-transform: none; color: #93a1aa; text-decoration: none;
    transition: color 0.15s ease;
}
.fenix-footer[data-profile="coastal"] .fenix-footer__nav-col-list li a:hover { color: #f1efe9; }

/* Newsletter */
.fenix-footer[data-profile="coastal"] .fenix-footer__newsletter-heading {
    font-family: 'Mulish', sans-serif; font-size: 11px; font-weight: 600;
    letter-spacing: 0.18em; text-transform: uppercase; color: #f1efe9; margin: 0 0 18px;
}
.fenix-footer[data-profile="coastal"] .fenix-footer__newsletter-blurb {
    font-family: 'Mulish', sans-serif; font-size: 13px; line-height: 1.7; font-weight: 300;
    color: #93a1aa; margin: 0 0 18px;
}
.fenix-footer[data-profile="coastal"] .fenix-footer__newsletter-form {
    display: flex; border: 1px solid rgba(241, 239, 233, 0.2); background: transparent;
    padding: 5px 5px 5px 6px; border-radius: 3px;
}
.fenix-footer[data-profile="coastal"] .fenix-footer__newsletter-form input {
    flex: 1; min-width: 0; background: transparent; border: none; outline: none;
    color: #f1efe9; font-size: 12.5px; font-family: 'Mulish', sans-serif; padding: 11px 14px;
}
.fenix-footer[data-profile="coastal"] .fenix-footer__newsletter-form input::placeholder { color: rgba(241, 239, 233, 0.5); }
.fenix-footer[data-profile="coastal"] .fenix-footer__newsletter-cta {
    flex-shrink: 0; background: #4f6a7d; color: #f1efe9; border: none; cursor: pointer;
    font-family: 'Mulish', sans-serif; font-size: 10.5px; font-weight: 600; letter-spacing: 0.1em;
    text-transform: uppercase; padding: 0 22px; border-radius: 2px; transition: background 0.2s ease;
}
.fenix-footer[data-profile="coastal"] .fenix-footer__newsletter-cta:hover { background: #3c5160; }

/* Bottom bar — copyright vs legal links */
.fenix-footer[data-profile="coastal"] .fenix-footer__row[data-row="split"]:last-child {
    align-items: center; padding-top: 26px; gap: 14px;
}
.fenix-footer[data-profile="coastal"] .fenix-footer__copyright {
    font-family: 'Mulish', sans-serif; font-size: 12px; font-weight: 300;
    color: #93a1aa; margin: 0; text-align: left;
}
.fenix-footer[data-profile="coastal"] .fenix-footer__legal-links { display: flex; gap: 26px; }
.fenix-footer[data-profile="coastal"] .fenix-footer__legal-links a {
    font-family: 'Mulish', sans-serif; font-size: 12px; font-weight: 300;
    color: #93a1aa; text-decoration: none; transition: color 0.15s ease;
}
.fenix-footer[data-profile="coastal"] .fenix-footer__legal-links a:hover { color: #f1efe9; }

@media (max-width: 768px) {
    .fenix-footer[data-profile="coastal"] .fenix-footer__row[data-row="split"]:first-child {
        grid-template-columns: 1fr 1fr; gap: 32px;
    }
    .fenix-footer[data-profile="coastal"] .fenix-footer__row[data-row="split"]:last-child {
        flex-direction: column; align-items: flex-start; gap: 16px;
    }
}
@media (max-width: 480px) {
    .fenix-footer[data-profile="coastal"] .fenix-footer__row[data-row="split"]:first-child {
        grid-template-columns: 1fr;
    }
}

/* ════════════════════════════════════════════════════════
   PROFILE — "warmrose"  (Growth Vision — WarmRose)
   Centred cream footer: logo · inline link row · copyright.
   ════════════════════════════════════════════════════════ */
.fenix-footer[data-profile="warmrose"] {
    padding-top: 46px;
    padding-bottom: 38px;
}
/* Serif wordmark (text-block) replaces the old image logo — centre it + tighten the gap below. */
.fenix-footer[data-profile="warmrose"] .fenix-footer__text-block { text-align: center; }
.fenix-footer[data-profile="warmrose"] .fenix-footer__row + .fenix-footer__row { margin-top: 18px; }
.fenix-footer[data-profile="warmrose"] .fenix-footer__logo-img {
    max-height: 42px !important;
    margin: 0 auto 30px !important;
}
.fenix-footer[data-profile="warmrose"] .fenix-footer__inline-nav {
    gap: 14px 38px;
    margin-bottom: 0;
}
.fenix-footer[data-profile="warmrose"] .fenix-footer__inline-nav a {
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: 16px; font-weight: 500;
    color: #44413a; text-decoration: none;
    transition: color 0.18s ease;
}
.fenix-footer[data-profile="warmrose"] .fenix-footer__inline-nav a:hover { color: #d6447e; }
.fenix-footer[data-profile="warmrose"] .fenix-footer__copyright {
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: 14px; font-weight: 400;
    color: #9a968c; opacity: 1; margin-top: 0;
}


/* ════════════════════════════════════════════════════════
   PROFILE — "warmrose2"  (Growth Vision — WarmRose2)
   Centred cream footer: logo · inline link row · copyright.
   ════════════════════════════════════════════════════════ */
.fenix-footer[data-profile="warmrose2"] {
    padding-top: 44px;
    padding-bottom: 38px;
}
/* Tighten vertical rhythm — bring logo, links, copyright closer. Base footer CSS puts
   margin-top:24px between stacked rows; collapse it so the rows sit close together. */
.fenix-footer[data-profile="warmrose2"] .fenix-footer__row + .fenix-footer__row { margin-top: 0 !important; }
.fenix-footer[data-profile="warmrose2"] .fenix-footer__logo-img {
    max-height: 40px !important;
    margin: 0 auto 20px !important;
}
.fenix-footer[data-profile="warmrose2"] .fenix-footer__inline-nav {
    gap: 12px 38px;
    margin-bottom: 16px;
}
.fenix-footer[data-profile="warmrose2"] .fenix-footer__inline-nav a {
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: 16px; font-weight: 500;
    color: #44413a; text-decoration: none;
    transition: color 0.18s ease;
}
.fenix-footer[data-profile="warmrose2"] .fenix-footer__inline-nav a:hover { color: #d6447e; }
.fenix-footer[data-profile="warmrose2"] .fenix-footer__copyright {
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: 14px; font-weight: 400;
    color: #9a968c; opacity: 1; margin-top: 0;
}


/* ════════════════════════════════════════════════════════════════════════════
   PROFILE — "blush" footer (Growth Vision Blush, 2026-07-03)
   Ported from "Growth Vision - Blush Serif (standalone).html": dark #202c34 band.
   Top split row = brand block (cream logo + Cormorant wordmark + blurb + bordered
   social squares) · "Explore" column · "Company" column · newsletter. Bottom split
   row = copyright vs Privacy/Terms/Sitemap, divided by a hairline. Mulish body,
   Cormorant wordmark, rose #b56b86 social/CTA accent. Colours ride in StylesJson.
   ════════════════════════════════════════════════════════════════════════════ */
.fenix-footer[data-profile="blush"] .fenix-footer__inner { max-width: 1180px; }

/* Top row — four zones (brand 1.7fr · explore 1fr · company 1fr · newsletter 1.5fr) */
.fenix-footer[data-profile="blush"] .fenix-footer__row[data-row="split"]:first-child {
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr 1.5fr;
    gap: 44px;
    align-items: start;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(241, 239, 233, 0.1);
}
.fenix-footer[data-profile="blush"] .fenix-footer__nav-columns {
    grid-template-columns: 1fr !important;
    gap: 0;
}

/* Brand block (text-block) — logo row, blurb, socials */
.fenix-footer[data-profile="blush"] .bl-foot-brand {
    display: flex; align-items: center; gap: 12px; text-decoration: none; margin-bottom: 22px;
}
.fenix-footer[data-profile="blush"] .bl-foot-logo { height: 30px; width: auto; display: block; opacity: 0.9; }
.fenix-footer[data-profile="blush"] .bl-foot-word {
    font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 600;
    color: #f1efe9; letter-spacing: 0.09em; text-transform: uppercase;
}
.fenix-footer[data-profile="blush"] .bl-foot-blurb {
    font-family: 'Mulish', sans-serif; font-size: 13px; line-height: 1.8; font-weight: 300;
    color: #93a1aa; max-width: 290px; margin: 0 0 24px;
}
.fenix-footer[data-profile="blush"] .bl-foot-socials { display: flex; gap: 12px; }
.fenix-footer[data-profile="blush"] .bl-foot-soc {
    width: 38px; height: 38px; border: 1px solid rgba(241, 239, 233, 0.18);
    display: flex; align-items: center; justify-content: center; color: #f1efe9;
    border-radius: 0; transition: background 0.2s ease, border-color 0.2s ease;
}
.fenix-footer[data-profile="blush"] .bl-foot-soc:hover { background: #b56b86; border-color: #b56b86; }

/* Headed link columns — Explore / Company */
.fenix-footer[data-profile="blush"] .fenix-footer__nav-col-title {
    font-family: 'Mulish', sans-serif; font-size: 11px; font-weight: 600;
    letter-spacing: 0.18em; text-transform: uppercase; color: #f1efe9; margin: 0 0 20px;
}
.fenix-footer[data-profile="blush"] .fenix-footer__nav-col-list { gap: 13px; }
.fenix-footer[data-profile="blush"] .fenix-footer__nav-col-list li a {
    font-family: 'Mulish', sans-serif; font-size: 13px; font-weight: 300;
    letter-spacing: 0; text-transform: none; color: #93a1aa; text-decoration: none;
    transition: color 0.15s ease;
}
.fenix-footer[data-profile="blush"] .fenix-footer__nav-col-list li a:hover { color: #f1efe9; }

/* Newsletter */
.fenix-footer[data-profile="blush"] .fenix-footer__newsletter-heading {
    font-family: 'Mulish', sans-serif; font-size: 11px; font-weight: 600;
    letter-spacing: 0.18em; text-transform: uppercase; color: #f1efe9; margin: 0 0 18px;
}
.fenix-footer[data-profile="blush"] .fenix-footer__newsletter-blurb {
    font-family: 'Mulish', sans-serif; font-size: 13px; line-height: 1.7; font-weight: 300;
    color: #93a1aa; margin: 0 0 18px;
}
.fenix-footer[data-profile="blush"] .fenix-footer__newsletter-form {
    display: flex; border: 1px solid rgba(241, 239, 233, 0.2); background: transparent;
    padding: 5px 5px 5px 6px; border-radius: 3px;
}
.fenix-footer[data-profile="blush"] .fenix-footer__newsletter-form input {
    flex: 1; min-width: 0; background: transparent; border: none; outline: none;
    color: #f1efe9; font-size: 12.5px; font-family: 'Mulish', sans-serif; padding: 11px 14px;
}
.fenix-footer[data-profile="blush"] .fenix-footer__newsletter-form input::placeholder { color: rgba(241, 239, 233, 0.5); }
.fenix-footer[data-profile="blush"] .fenix-footer__newsletter-cta {
    flex-shrink: 0; background: #b56b86; color: #f1efe9; border: none; cursor: pointer;
    font-family: 'Mulish', sans-serif; font-size: 10.5px; font-weight: 600; letter-spacing: 0.1em;
    text-transform: uppercase; padding: 0 22px; border-radius: 2px; transition: background 0.2s ease;
}
.fenix-footer[data-profile="blush"] .fenix-footer__newsletter-cta:hover { background: #94506a; }

/* Bottom bar — copyright vs legal links */
.fenix-footer[data-profile="blush"] .fenix-footer__row[data-row="split"]:last-child {
    align-items: center; padding-top: 26px; gap: 14px;
}
.fenix-footer[data-profile="blush"] .fenix-footer__copyright {
    font-family: 'Mulish', sans-serif; font-size: 12px; font-weight: 300;
    color: #93a1aa; margin: 0; text-align: left;
}
.fenix-footer[data-profile="blush"] .fenix-footer__legal-links { display: flex; gap: 26px; }
.fenix-footer[data-profile="blush"] .fenix-footer__legal-links a {
    font-family: 'Mulish', sans-serif; font-size: 12px; font-weight: 300;
    color: #93a1aa; text-decoration: none; transition: color 0.15s ease;
}
.fenix-footer[data-profile="blush"] .fenix-footer__legal-links a:hover { color: #f1efe9; }

@media (max-width: 768px) {
    .fenix-footer[data-profile="blush"] .fenix-footer__row[data-row="split"]:first-child {
        grid-template-columns: 1fr 1fr; gap: 32px;
    }
    .fenix-footer[data-profile="blush"] .fenix-footer__row[data-row="split"]:last-child {
        flex-direction: column; align-items: flex-start; gap: 16px;
    }
}
@media (max-width: 480px) {
    .fenix-footer[data-profile="blush"] .fenix-footer__row[data-row="split"]:first-child {
        grid-template-columns: 1fr;
    }
}

/* ════════════════════════════════════════════════════════════════════════════
   PROFILE — "growth-vision-blush2" footer (centred logo + legal links)
   Reuses the blush .bl-foot-* markup but is a separate profile, so it needs its
   own logo sizing: the logo is an SVG with no intrinsic size and blows up to the
   container width when unstyled. Lives here (not in a theme's ExtraCss) so every
   theme that mounts this footer profile gets it.
   ════════════════════════════════════════════════════════════════════════════ */
.fenix-footer[data-profile="growth-vision-blush2"] .bl-foot-brand {
    display: inline-flex; align-items: center; justify-content: center; gap: 12px;
    text-decoration: none;
}
.fenix-footer[data-profile="growth-vision-blush2"] .bl-foot-logo {
    height: 44px; width: auto; max-width: 180px; display: block;
}

/* ════════════════════════════════════════════════════════════════════════════
   FOOTER DESIGN — "editorial" (theme-tokenised, COLOUR-BLIND) · 2026-07-18
   A NAMED footer design keyed on data-footer-design="editorial". Colour-blind BY
   CONSTRUCTION — every colour comes from the page theme (--fenix-color-* / --fenix-font-*);
   shape/typography fixed here. The footer view stamps data-footer-design from the resolved
   design (see FenixFooter/Default.cshtml + FenixFooterDesigns). Design and colour are now
   separate: this block owns shape, the theme (or the per-page Footer colour override) owns
   colour. The backing profile's StylesJson bakes NO colour, so these !important token vars win.
   ════════════════════════════════════════════════════════════════════════════ */
.fenix-footer[data-footer-design="editorial"] {
    /* Dark editorial band derived from the theme: text-hue ground, surface-hue type. */
    --fenix-footer-bg: var(--fenix-color-text, #1f2937) !important;
    --fenix-footer-text: var(--fenix-color-surface, #f8fafc) !important;
    --fenix-footer-link: var(--fenix-color-surface, #f8fafc) !important;
}
.fenix-footer[data-footer-design="editorial"] .fenix-footer__inline-nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
}
.fenix-footer[data-footer-design="editorial"] .fenix-footer__inline-nav a {
    font-family: var(--fenix-font-body, 'Jost', sans-serif);
    font-size: 11px; font-weight: 500;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--fenix-footer-link) !important; opacity: 0.85;
    padding: 4px 18px;
    transition: color 0.15s ease, opacity 0.15s ease;
}
.fenix-footer[data-footer-design="editorial"] .fenix-footer__inline-nav a:hover {
    color: var(--fenix-color-primary, #c9437f) !important; opacity: 1;
}
.fenix-footer[data-footer-design="editorial"] .fenix-footer__copyright {
    font-family: var(--fenix-font-body, 'Jost', sans-serif);
    font-size: 10.5px; font-weight: 300; letter-spacing: 0.08em;
    text-align: center;
    color: var(--fenix-color-text-muted, #94a3b8);
    margin-top: 1.75rem; opacity: 0.9;
}

/* editorial — logo (added 2026-07-18b). Dark band, so the cream/light mark reads. */
.fenix-footer[data-footer-design="editorial"] .fenix-footer__logo { display: inline-block; margin: 0 0 1.25rem; }
.fenix-footer[data-footer-design="editorial"] .fenix-footer__logo-img { max-height: 52px; width: auto; opacity: 0.95; }

/* ════════════════════════════════════════════════════════════════════════════
   FOOTER DESIGN — "columns" (theme-tokenised, COLOUR-BLIND) · 2026-07-18b
   A 4-zone footer keyed on data-footer-design="columns": col1 logo + address,
   col2/col3 page-link columns, col4 newsletter (email join), then a copyright /
   legal-links strip. Colour-blind: bg/text/link all come from the page theme (or
   the per-page Footer colour override). The backing profile bakes NO colour.
   ════════════════════════════════════════════════════════════════════════════ */
.fenix-footer[data-footer-design="columns"] {
    --fenix-footer-bg: var(--fenix-color-text, #1f2937) !important;
    --fenix-footer-text: var(--fenix-color-surface, #f8fafc) !important;
    --fenix-footer-link: var(--fenix-color-surface, #f8fafc) !important;
}
/* Top zone = 4-column grid (logo | pages | pages | newsletter). */
.fenix-footer[data-footer-design="columns"] .fenix-footer__row[data-row="columns"] {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.6fr;
    gap: 2.5rem;
    align-items: start;
}
/* col1 — logo + address */
.fenix-footer[data-footer-design="columns"] .fc-logo { max-height: 54px; width: auto; display: block; opacity: 0.95; }
.fenix-footer[data-footer-design="columns"] .fc-addr {
    margin-top: 1.1rem;
    font-family: var(--fenix-font-body, 'Jost', sans-serif);
    font-size: 12.5px; line-height: 1.9; opacity: 0.72;
}
/* col2/col3 — page link columns */
.fenix-footer[data-footer-design="columns"] .fenix-footer__nav-col-title {
    font-family: var(--fenix-font-body, 'Jost', sans-serif);
    font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--fenix-footer-text); opacity: 0.9; margin-bottom: 1rem;
}
.fenix-footer[data-footer-design="columns"] .fenix-footer__nav-col-list { display: flex; flex-direction: column; gap: 0.7rem; }
.fenix-footer[data-footer-design="columns"] .fenix-footer__nav-col-list li a {
    font-family: var(--fenix-font-body, 'Jost', sans-serif);
    font-size: 13px; color: var(--fenix-footer-link) !important; opacity: 0.8;
    transition: color 0.15s ease, opacity 0.15s ease;
}
.fenix-footer[data-footer-design="columns"] .fenix-footer__nav-col-list li a:hover { color: var(--fenix-color-primary, #c9437f) !important; opacity: 1; }
/* col4 — newsletter (email join) */
.fenix-footer[data-footer-design="columns"] .fenix-footer__newsletter-heading {
    font-family: var(--fenix-font-body, 'Jost', sans-serif);
    font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--fenix-footer-text); opacity: 0.9; margin-bottom: 0.75rem;
}
.fenix-footer[data-footer-design="columns"] .fenix-footer__newsletter-blurb {
    font-size: 12.5px; line-height: 1.7; opacity: 0.72; margin-bottom: 1rem;
}
.fenix-footer[data-footer-design="columns"] .fenix-footer__newsletter-form { display: flex; gap: 0.5rem; }
.fenix-footer[data-footer-design="columns"] .fenix-footer__newsletter-input {
    flex: 1 1 auto; min-width: 0;
    padding: 0.6rem 0.8rem; border-radius: 8px;
    border: 1px solid color-mix(in srgb, var(--fenix-color-surface, #fff) 22%, transparent);
    background: color-mix(in srgb, var(--fenix-color-surface, #fff) 8%, transparent);
    color: var(--fenix-footer-text); font-size: 13px;
}
.fenix-footer[data-footer-design="columns"] .fenix-footer__newsletter-input::placeholder { color: var(--fenix-footer-text); opacity: 0.5; }
.fenix-footer[data-footer-design="columns"] .fenix-footer__newsletter-cta {
    flex: 0 0 auto;
    padding: 0.6rem 1.1rem; border: 0; border-radius: 8px; cursor: pointer;
    background: var(--fenix-color-primary, #c9437f); color: var(--fenix-color-surface, #fff);
    font-family: var(--fenix-font-body, 'Jost', sans-serif);
    font-size: 12px; font-weight: 600; letter-spacing: 0.05em;
    transition: background 0.15s ease;
}
.fenix-footer[data-footer-design="columns"] .fenix-footer__newsletter-cta:hover { background: var(--fenix-color-primary-dark, var(--fenix-color-primary, #a82e6c)); }
/* bottom strip — copyright vs legal links, hairline divider */
.fenix-footer[data-footer-design="columns"] .fenix-footer__row[data-row="split"] {
    margin-top: 2.5rem; padding-top: 1.5rem; align-items: center;
    border-top: 1px solid color-mix(in srgb, var(--fenix-color-surface, #fff) 14%, transparent);
}
.fenix-footer[data-footer-design="columns"] .fenix-footer__copyright,
.fenix-footer[data-footer-design="columns"] .fenix-footer__legal-links a {
    font-family: var(--fenix-font-body, 'Jost', sans-serif);
    font-size: 12px; opacity: 0.7;
}
.fenix-footer[data-footer-design="columns"] .fenix-footer__legal-links a:hover { color: var(--fenix-color-primary, #c9437f) !important; opacity: 1; }
/* responsive: 2-up on tablet, stacked on mobile */
@media (max-width: 900px) {
    .fenix-footer[data-footer-design="columns"] .fenix-footer__row[data-row="columns"] { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 560px) {
    .fenix-footer[data-footer-design="columns"] .fenix-footer__row[data-row="columns"] { grid-template-columns: 1fr; }
    .fenix-footer[data-footer-design="columns"] .fenix-footer__row[data-row="split"] { flex-direction: column; gap: 0.75rem; text-align: center; }
}
