/* Extracted from CebuPrime homepage inline styles for the Minglanilla shared brand shell. */

/* ============================================================
   BRAND PALETTE - 2026 logo refresh
   ------------------------------------------------------------
   header.php is included inside <body>, so this :root block is
   read AFTER each page's own <head> :root and overrides it.
   That means this one file recolors the whole site.

   TO REVERT TO THE OLD GREEN/BRASS SCHEME: delete the
   variable block immediately below. Nothing else changes.
   ============================================================ */
:root {
    --teal:     #183127;   /* primary navy   - headers, footers, panels */
    --abyss:    #0F1F1A;   /* deepest navy   - top bar, footer base     */
    --brass:    #B08A57;   /* logo gold      - accents, eyebrows        */
    --coral:    #5A1F2A;   /* logo red       - calls to action          */
    --sand:     #F2EBDD;   /* page canvas                               */
    --white:    #ffffff;
    --ink:      #1B1C1A;   /* body text                                 */
    --ink-soft: #56514B;   /* secondary text                            */
    --border:   #CFC3B0;
    --sky:      #0090d8;   /* logo bright blue - highlights             */
    --ease: cubic-bezier(.22,.68,0,1);
}

.cebuprime-skip-link {
    position: fixed; left: 12px; top: 10px; z-index: 5000; padding: 10px 14px;
    background: var(--white); color: var(--abyss); border: 2px solid var(--brass); border-radius: 4px;
    font: 700 .82rem/1.2 'Work Sans', Arial, sans-serif; text-decoration: none;
    transform: translateY(-160%); transition: transform .18s ease;
}
.cebuprime-skip-link:focus { transform: translateY(0); outline: 3px solid rgba(176,138,87,.28); outline-offset: 2px; }

/* v5.5.4: the shared header now carries its own base shell rules.
   This prevents directory and bespoke listing pages from
   rendering an unstyled header when a page-specific stylesheet is
   absent, cached incorrectly, or intentionally minimal. */
.ceboom-site-header {
    background: var(--teal); color: var(--white); position: sticky; top: 0;
    z-index: 1000; border-bottom: 3px solid var(--brass);
    font-family: 'Work Sans', Arial, sans-serif;
}
.ceboom-site-header .top-bar {
    background: rgba(0,0,0,.22); padding: 9px 24px; font-size: .78rem;
    display: flex; justify-content: center; align-items: center; gap: 26px; flex-wrap: wrap;
}
.ceboom-site-header .top-bar a { text-decoration:none; color:#e4edf8; display:inline-flex; gap:7px; align-items:center; }
.ceboom-site-header .top-bar a:hover, .ceboom-site-header .top-bar a:focus-visible { color:var(--brass); }
.ceboom-site-header .top-bar i { color:var(--brass); }
.ceboom-site-header nav.main-nav {
    display:flex; justify-content:space-between; align-items:center; width:100%; max-width:1200px;
    margin:0 auto; padding:8px 24px; position:relative;
}
.ceboom-site-header .nav-links { display:flex; align-items:center; gap:6px; }
.ceboom-site-header .nav-links > a, .ceboom-site-header .nav-drop > a {
    text-decoration:none; color:#fff; font-size:.82rem; font-weight:600; text-transform:uppercase;
    letter-spacing:.03em; padding:10px 12px; border-radius:3px; transition:color .2s,background .2s;
}
.ceboom-site-header .nav-links > a:hover, .ceboom-site-header .nav-drop > a:hover,
.ceboom-site-header .nav-links > a:focus-visible, .ceboom-site-header .nav-drop > a:focus-visible {
    color:var(--brass); background:rgba(255,255,255,.06);
}
.ceboom-site-header .nav-links > a.cta { background:var(--brass); color:var(--abyss); margin-left:6px; }
.ceboom-site-header .nav-links > a.cta:hover { background:#ffc45c; color:var(--abyss); }
.ceboom-site-header .nav-right { display:flex; align-items:center; gap:4px; }
.ceboom-site-header .search-toggle {
    display:inline-flex; align-items:center; gap:7px; background:none; border:0; color:#fff;
    font:500 .85rem 'Work Sans',Arial,sans-serif; cursor:pointer; padding:10px 12px; border-radius:3px;
}
.ceboom-site-header .search-toggle:hover, .ceboom-site-header .search-toggle[aria-expanded="true"] { color:var(--brass); background:rgba(255,255,255,.06); }
.ceboom-site-header .burger { display:none; background:none; border:0; color:#fff; font-size:1.4rem; cursor:pointer; padding:8px; }
.ceboom-site-header .search-panel {
    position:absolute; top:100%; left:0; right:0; background:#fff; color:var(--ink); border-bottom:3px solid var(--brass);
    box-shadow:0 14px 30px rgba(0,34,80,.18); padding:0; max-height:0; overflow:hidden;
    transition:max-height .3s var(--ease); z-index:1001;
}
.ceboom-site-header .search-panel.open { max-height:380px; padding:18px 24px; overflow-y:auto; }
.ceboom-site-header .search-panel-inner { max-width:760px; margin:0 auto; }
.ceboom-site-header .search-panel input[type="search"] {
    width:100%; min-height:44px; padding:12px 14px; border:1px solid var(--border); border-radius:3px;
    background:var(--sand); color:var(--ink); font:400 .95rem 'Work Sans',Arial,sans-serif;
}
.ceboom-site-header .search-panel input[type="search"]:focus { outline:0; border-color:var(--brass); box-shadow:0 0 0 3px rgba(245,166,35,.18); }
.ceboom-site-header .search-results { margin-top:10px; display:flex; flex-direction:column; gap:3px; }
.ceboom-site-header .search-results a { display:flex; justify-content:space-between; gap:18px; padding:10px 12px; text-decoration:none; color:var(--ink); border-radius:3px; }
.ceboom-site-header .search-results a:hover { background:var(--sand); color:var(--teal); }
.ceboom-site-header .search-results .cat { font:700 .65rem 'Space Mono',monospace; color:var(--ink-soft); text-transform:uppercase; }
.ceboom-site-header .search-empty { color:var(--ink-soft); font-size:.88rem; padding:10px 12px; }
@media (max-width:880px) {
    .ceboom-site-header nav.main-nav { padding:7px 16px; }
    .ceboom-site-header .nav-links {
        position:absolute; top:100%; left:0; right:0; background:var(--teal); flex-direction:column; align-items:stretch;
        padding:10px 16px 18px; max-height:0; overflow:hidden; transition:max-height .3s var(--ease); border-bottom:3px solid var(--brass);
    }
    .ceboom-site-header .nav-links.open { max-height:88vh; overflow-y:auto; }
    .ceboom-site-header .nav-links > a, .ceboom-site-header .nav-drop > a { padding:13px 10px; }
    .ceboom-site-header .nav-links > a.cta { margin:6px 0 0; text-align:center; }
    .ceboom-site-header .burger { display:block; }
}
@media (max-width:480px) { .ceboom-site-header .search-toggle strong { display:none; } }

    .contact-dropdown { position: relative; }
    .contact-dropdown summary { color: inherit; cursor: pointer; list-style: none; display: flex; align-items: center; gap: 7px; }
    .contact-dropdown summary::-webkit-details-marker { display: none; }
    .contact-chevron { font-size: .58rem; transition: transform .2s; }
    .contact-dropdown[open] .contact-chevron { transform: rotate(180deg); }
    .contact-menu { position: absolute; z-index: 1200; right: 0; top: calc(100% + 9px); width: 250px; padding: 8px; background: #fff; border: 1px solid var(--border); border-top: 3px solid var(--brass); box-shadow: 0 14px 34px rgba(0,34,80,.25); }
    .contact-person { display: grid; grid-template-columns: 58px 1fr; gap: 8px; padding: 8px 10px; border-bottom: 1px solid var(--border); color: var(--ink); }
    .contact-person:last-child { border-bottom: 0; }
    .contact-person > div { display: flex; flex-direction: column; gap: 4px; }
    .contact-menu .contact-person a { color: var(--ink-soft); text-decoration: none; font-size: .75rem; white-space: nowrap; }
    .contact-menu .contact-person a:hover, .contact-menu .contact-person a:focus { color: var(--teal); text-decoration: underline; }
    @media (max-width: 540px) {
        .top-bar { flex-wrap: wrap; }
        .contact-menu { position: fixed; top: auto; right: 12px; left: 12px; width: auto; }
    }

/* ---- Logo sizing. The new mark is square-ish rather than wide, so it
   is set a touch larger than the old wordmark to read clearly, and it
   steps down on smaller screens so the nav row never overflows. ---- */
.logo-img { height: 72px !important; width: auto; object-fit: contain; }
.brand-logo-img {
    display:block;
    width:64px;
    height:54px;
    object-fit:contain;
    flex:0 0 auto;
}
@media(max-width:600px){
    .brand-logo-img { width:54px; height:46px; }
}


    /* ---- Brand lockup: logo + "Ceboom Realty Ventures" wordmark ----
       The header sits on dark teal, so it uses the cream-tinted logo
       logo is the transparent ceboom-logo.png, which sits cleanly on the
       dark teal header without a white box. */
    /* ---- Brand lockup sizing ------------------------------------------
       The nav links + search button need roughly 1080px on their own,
       and nav.main-nav is capped at 1200px. So the wordmark has to stay
       genuinely narrow, AND .nav-right has to be allowed to shrink -
       otherwise the row overflows and the two collide no matter how
       small the wordmark font gets. Both halves are handled here. */
    nav.main-nav { gap: 16px; }
    .brand { display: flex; align-items: center; gap: 12px; text-decoration: none; min-width: 0; flex-shrink: 0; }
    .brand-text { display: flex; flex-direction: column; min-width: 0; }
    .brand-name {
        display:inline-flex; align-items:baseline;
        font-family: 'Fraunces', Georgia, serif; font-weight: 600;
        letter-spacing: .01em;
        font-size: 0.95rem; line-height: 1.15;
        white-space: nowrap; max-width: none;
    }
    .brand-name-main { color:#f5f1e8; }
    .brand-domain { color:#d7ae5d; margin-left:.02em; font-weight:700; }
    .brand:hover .brand-name-main { color:#ffffff; }
    .brand:hover .brand-domain { color:#f0c873; }

    /* Let the nav side give ground before anything can overlap. */
    .nav-right { min-width: 0; flex-shrink: 1; justify-content: flex-end; }
    .nav-links { min-width: 0; flex-shrink: 1; }
    .nav-links a { white-space: nowrap; }

    /* Wide desktop only: room for the wordmark on a single line. */
    @media (min-width: 1200px) {
        .brand-name { font-size: 1.02rem; }
    }
    /* Mobile drawer: nav links hide behind the burger, so the brand
       gets the row to itself. No width cap and no word breaking - the
       wordmark wraps at spaces onto two comfortable lines. */
    @media (max-width: 880px) {
        .brand { gap: 10px; flex-shrink: 1; }
        .brand-logo-img { width:54px; height:46px; }
        .brand-name { font-size: 1rem; max-width: none; white-space: normal; }
    }
    @media (max-width: 420px) {
        .brand-name { font-size: 0.9rem; max-width: none; }
        .brand-logo-img { width:48px; height:41px; }
    }

    /* Current-page highlight for the nav (kept here so every page gets it). */
    .nav-links a.is-current { color: var(--brass, #B08A57); background: rgba(255,255,255,.06); }

    /* ---- Listings dropdown ---- */
    .nav-drop { position: relative; display: flex; align-items: center; }
    .drop-caret { background: none; border: none; color: #fff; cursor: pointer; padding: 10px 6px 10px 0; font-size: 0.6rem; margin-left: -8px; transition: color .2s, transform .25s; }
    .drop-caret:hover, .nav-drop.open .drop-caret { color: var(--brass, #B08A57); }
    .nav-drop.open .drop-caret i { transform: rotate(180deg); }
    .drop-caret i { transition: transform .25s; display: block; }
    .drop-menu {
        position: absolute; top: calc(100% + 6px); left: 0; min-width: 260px;
        background: var(--teal, #183127); border: 1px solid rgba(255,255,255,.12); border-top: 3px solid var(--brass, #B08A57);
        border-radius: 0 0 4px 4px; box-shadow: 0 18px 40px rgba(0,34,80,.35);
        padding: 14px 16px; display: none; grid-template-columns: 1fr; gap: 4px; z-index: 1002;
    }
    .nav-drop.open .drop-menu { display: grid; }
    .drop-col { display: flex; flex-direction: column; }
    .drop-head { font-family: 'Space Mono', monospace; font-size: 0.62rem; letter-spacing: .12em; text-transform: uppercase; color: var(--brass, #B08A57); padding: 4px 10px 8px; }
    .drop-menu a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; text-decoration: none; color: #e4edf8; font-size: 0.84rem; font-weight: 500; text-transform: none; letter-spacing: 0; padding: 7px 10px; border-radius: 3px; transition: background .15s, color .15s; }
    .drop-menu a:hover { background: rgba(255,255,255,.07); color: #fff; }
    .drop-n { font-family: 'Space Mono', monospace; font-size: 0.66rem; color: var(--brass, #B08A57); }
    .drop-all { grid-column: 1 / -1; margin-top: 8px; border-top: 1px solid rgba(255,255,255,.1); padding: 12px 10px !important; font-weight: 600 !important; color: var(--brass, #B08A57) !important; }
    .drop-all:hover { color: #fff !important; }

    /* v5.4.5 global search: the form always submits to /listings.php and
       never inherits the current location/type/developer directory scope. */
    .global-search-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; width: 100%; }
    .global-search-form input { min-width: 0; }
    .global-search-submit { border: 0; border-radius: 3px; padding: 0 16px; min-height: 44px; background: var(--brass, #B08A57); color: var(--abyss, #0F1F1A); font: 700 .78rem 'Work Sans', sans-serif; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
    .global-search-submit:hover, .global-search-submit:focus-visible { background: #fff; color: var(--teal, #183127); }
    .search-results .search-all-result { border-top: 1px solid rgba(255,255,255,.12); font-weight: 700; }
    @media (max-width: 520px) {
        .global-search-form { grid-template-columns: 1fr; }
        .global-search-submit { justify-content: center; }
    }


    /* v5.9.6 CebuPrime navigation search.
       Oxblood is intentionally isolated here as the action color; forest remains
       the navigation field so the pairing reads heritage-luxury, not seasonal. */
    .ceboom-site-header .search-toggle {
        background: var(--cp-oxblood-800, #5A1F2A);
        color: var(--cp-porcelain, #F5F1E8);
        border: 1px solid var(--cp-antique-gold, #C3A06D);
        border-radius: 999px;
        padding: 9px 13px;
        box-shadow: 0 4px 16px rgba(0,0,0,.18);
        transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
    }
    .ceboom-site-header .search-toggle:hover,
    .ceboom-site-header .search-toggle:focus-visible,
    .ceboom-site-header .search-toggle[aria-expanded="true"] {
        background: var(--cp-antique-gold, #C3A06D);
        color: var(--cp-forest-950, #0F1F1A);
        border-color: var(--cp-antique-gold, #C3A06D);
        transform: translateY(-1px);
    }
    .ceboom-site-header .search-panel {
        background: var(--cp-forest-950, #0F1F1A);
        border-top: 1px solid var(--cp-border-dark, #39463D);
        box-shadow: 0 18px 38px rgba(0,0,0,.22);
    }
    .ceboom-site-header .search-panel-inner {
        position: relative;
    }
    .ceboom-site-header .global-search-form input[type="search"] {
        min-height: 50px;
        background: var(--cp-parchment, #F2EBDD);
        color: var(--cp-text-dark, #1B1C1A);
        border: 2px solid var(--cp-antique-gold, #C3A06D);
        border-radius: 5px;
        padding: 0 15px;
        font-weight: 600;
        caret-color: var(--cp-oxblood-800, #5A1F2A);
    }
    .ceboom-site-header .global-search-form input[type="search"]::placeholder {
        color: #6B6259;
        opacity: 1;
    }
    .ceboom-site-header .global-search-form input[type="search"]:focus {
        border-color: var(--cp-oxblood-700, #71303C);
        box-shadow: 0 0 0 3px rgba(195,160,109,.28);
    }
    .ceboom-site-header .global-search-submit {
        min-height: 50px;
        background: var(--cp-oxblood-800, #5A1F2A);
        color: var(--cp-porcelain, #F5F1E8);
        border: 1px solid var(--cp-antique-gold, #C3A06D);
        border-radius: 5px;
    }
    .ceboom-site-header .global-search-submit:hover,
    .ceboom-site-header .global-search-submit:focus-visible {
        background: var(--cp-antique-gold, #C3A06D);
        color: var(--cp-forest-950, #0F1F1A);
    }
    .ceboom-site-header .search-results {
        position: relative;
        z-index: 1300;
    }
    .ceboom-site-header .search-results a,
    .ceboom-site-header .ceboom-autocomplete-results a {
        background: var(--cp-parchment, #F2EBDD);
        color: var(--cp-text-dark, #1B1C1A);
    }
    .ceboom-site-header .search-results a:hover,
    .ceboom-site-header .search-results a:focus,
    .ceboom-site-header .ceboom-autocomplete-results a:hover,
    .ceboom-site-header .ceboom-autocomplete-results a:focus {
        background: var(--cp-ivory, #E8DFCF);
        color: var(--cp-oxblood-800, #5A1F2A);
    }

    /* v5.9.6 shared autocomplete surface. The header and any marked internal
       search field use the same versioned controller and result treatment. */
    .ceboom-autocomplete-field { position: relative; }
    .ceboom-autocomplete-results {
        background: #fff; border: 1px solid #d9dfdc; border-radius: 0 0 5px 5px;
        box-shadow: 0 14px 30px rgba(0,34,80,.16); max-height: 340px; overflow-y: auto;
        position: absolute; left: 0; right: 0; top: 100%; z-index: 1200;
    }
    .ceboom-autocomplete-results:empty { display: none; }
    .ceboom-autocomplete-results a {
        display: flex; justify-content: space-between; align-items: center; gap: 14px;
        padding: 10px 12px; color: #17372c; text-decoration: none; background: #fff;
        border-bottom: 1px solid #eef1ef; font: 600 .88rem/1.35 'Work Sans',sans-serif;
    }
    .ceboom-autocomplete-results a:last-child { border-bottom: 0; }
    .ceboom-autocomplete-results a:hover, .ceboom-autocomplete-results a:focus {
        background: #f4f1e8; color: #183127; outline: none;
    }
    .ceboom-autocomplete-results .cat {
        flex: 0 0 auto; font: 700 .62rem/1.2 'Space Mono',monospace; color: #5e6d68; text-transform: uppercase;
    }
    .ceboom-autocomplete-results .search-empty { padding: 11px 12px; color: #5e6d68; font-size: .86rem; }
    .ceboom-autocomplete-results .search-all-result { font-weight: 700; border-top: 2px solid #e4e8e5; }

    @media (max-width: 880px) {
        /* Inside the mobile drawer the dropdown expands inline instead. */
        .nav-drop { flex-wrap: wrap; }
        .nav-drop > a { flex: 1; }
        .drop-caret { padding: 13px 14px; margin-left: 0; font-size: 0.75rem; }
        .drop-menu { position: static; min-width: 0; width: 100%; border: none; border-left: 2px solid var(--brass, #B08A57); border-radius: 0; box-shadow: none; background: rgba(0,0,0,.18); grid-template-columns: 1fr; padding: 10px 12px; }
        /* Give the drawer room for the expanded submenu. */
        .nav-links.open { max-height: 88vh; overflow-y: auto; }
    }


    /* Form extras (kept in the footer so every page gets them) */
    .inq-regarding {
        display: flex; align-items: center; gap: 9px;
        background: rgba(179,155,125,.14); border: 1px solid rgba(179,155,125,.4);
        border-radius: 4px; padding: 11px 14px; margin-bottom: 20px;
        font-size: 0.88rem; color: #e9e2d4;
    }
    .inq-regarding i { color: var(--brass, #b39b7d); }
    .inq-regarding strong { color: #fff; font-weight: 600; }
    .inq-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
    .inq-actions .btn { flex: 1; min-width: 200px; justify-content: center; }
    .btn-wa { background: #2ea66f; color: #fff; }
    .btn-wa:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(46,166,111,.3); }
    .inq-trust {
        display: flex; gap: 18px; flex-wrap: wrap; justify-content: center;
        margin-top: 16px; font-size: 0.76rem; color: #7f8d86;
    }
    .inq-trust span { display: inline-flex; gap: 6px; align-items: center; }
    .inq-trust i { color: var(--brass, #b39b7d); }
    .hp-field { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }
    .inq-pref-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
    .inq-more { margin:4px 0 18px; border:1px solid rgba(255,255,255,.12); border-radius:4px; padding:0 14px; }
    .inq-more summary { cursor:pointer; padding:12px 0; color:#e9e2d4; font-size:.84rem; font-weight:700; }
    .inq-more summary span { color:#7f8d86; font-weight:400; }
    .inq-more[open] summary { margin-bottom:8px; border-bottom:1px solid rgba(255,255,255,.08); }
    .inq-consent { display:flex; gap:10px; align-items:flex-start; margin:16px 0 2px; color:#aeb9b1; font-size:.76rem; line-height:1.5; cursor:pointer; }
    .inq-consent input { width:auto; margin-top:3px; accent-color:var(--brass,#b39b7d); }
    @media (max-width:760px) { .inq-pref-grid { grid-template-columns:1fr; gap:0; } }


/* v5.5.4 self-contained CebuPrime footer shell.
   Older templates wrapped footer.php in <footer>; several newer directory
   and standardized listing templates did not. Styling this internal shell
   makes the component consistent in both cases. */
.ceboom-footer-shell {
    background:var(--abyss,#0F1F1A); color:#fff; padding:44px 24px 22px; margin-top:52px;
    font-family:'Work Sans',Arial,sans-serif;
}
.ceboom-footer-shell .footer-inquire { max-width:640px; margin:0 auto 50px; }
.ceboom-footer-shell .footer-inquire .eyebrow { display:block; text-align:center; margin-bottom:6px; color:var(--brass,#B08A57); font:700 .68rem 'Space Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.ceboom-footer-shell .footer-inquire h4 { color:#fff; text-align:center; font:600 1.2rem 'Fraunces',Georgia,serif; margin:0 0 24px; }
.ceboom-footer-shell .inquiry-form { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:4px; padding:30px 32px; }
.ceboom-footer-shell .field { display:flex; flex-direction:column; gap:6px; margin-bottom:18px; }
.ceboom-footer-shell .field-row { display:flex; gap:16px; }
.ceboom-footer-shell .field-row .field { flex:1; }
.ceboom-footer-shell .field label { font-size:.82rem; font-weight:600; color:#a8bcd4; }
.ceboom-footer-shell .field input, .ceboom-footer-shell .field select, .ceboom-footer-shell .field textarea {
    width:100%; font:400 .95rem 'Work Sans',Arial,sans-serif; padding:12px 14px; border:1px solid rgba(255,255,255,.16);
    border-radius:3px; background:rgba(255,255,255,.07); color:#fff;
}
.ceboom-footer-shell .field input::placeholder, .ceboom-footer-shell .field textarea::placeholder { color:#7c8fa6; }
.ceboom-footer-shell .field textarea { min-height:110px; resize:vertical; }
.ceboom-footer-shell .field input:focus, .ceboom-footer-shell .field select:focus, .ceboom-footer-shell .field textarea:focus { outline:0; border-color:var(--brass,#B08A57); box-shadow:0 0 0 3px rgba(245,166,35,.18); }
.ceboom-footer-shell .field select option { color:#1B1C1A; }
.ceboom-footer-shell .inq-consent { display:flex; align-items:flex-start; gap:10px; color:#9fb2ca; font-size:.76rem; line-height:1.45; margin:2px 0 18px; }
.ceboom-footer-shell .inq-consent input { margin-top:3px; accent-color:var(--brass,#B08A57); }
.ceboom-footer-shell .inq-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:11px 16px; border:0; border-radius:3px; text-decoration:none; font-weight:800; cursor:pointer; }
.ceboom-footer-shell .btn-coral { background:var(--coral,#5A1F2A); color:#fff; }
.ceboom-footer-shell .btn-wa { background:#2ea66f; color:#fff; }
.ceboom-footer-shell .form-alert { padding:13px 16px; border-radius:3px; font-size:.9rem; margin-bottom:20px; }
.ceboom-footer-shell .form-alert.success { background:rgba(46,166,111,.15); border:1px solid #2ea66f; color:#c2e8d4; }
.ceboom-footer-shell .form-alert.error { background:rgba(216,52,26,.18); border:1px solid var(--coral,#5A1F2A); color:#ffd3cc; }
.ceboom-footer-shell .footer-grid { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:minmax(230px,1.25fr) minmax(150px,.7fr) minmax(260px,1fr) minmax(160px,.65fr); gap:24px 32px; align-items:start; }
.ceboom-footer-shell .footer-col h4 { color:var(--brass,#B08A57); margin:0 0 12px; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.ceboom-footer-shell .footer-col p, .ceboom-footer-shell .footer-col a { color:#a8bcd4; text-decoration:none; font-size:.9rem; margin:0 0 6px; display:block; line-height:1.45; }
.ceboom-footer-shell .footer-col a:hover, .ceboom-footer-shell .footer-col a:focus-visible { color:var(--brass,#B08A57); }
.ceboom-footer-shell .footer-brand-lockup { display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.ceboom-footer-shell .footer-brand-mark {
    display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;
    border:1px solid rgba(245,166,35,.5);border-radius:50%;color:#B08A57;
    font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:.82rem;letter-spacing:.04em;
}

.ceboom-footer-shell .footer-brand-lockup img { height:50px; width:auto; object-fit:contain; }
.ceboom-footer-shell .footer-contact-list { display:grid; grid-template-columns:1fr 1fr; gap:6px 10px; margin-bottom:12px; }
.ceboom-footer-shell .footer-contact-link { display:flex !important; justify-content:space-between; gap:8px; align-items:center; margin:0 !important; padding:7px 9px; border:1px solid rgba(255,255,255,.1); border-radius:4px; background:rgba(255,255,255,.035); }
.ceboom-footer-shell .footer-contact-link strong { color:#fff; font-size:.8rem; }
.ceboom-footer-shell .footer-contact-link span { font:700 .66rem 'Space Mono',monospace; white-space:nowrap; }
.ceboom-footer-shell .footer-meta { margin-top:9px; }
.ceboom-footer-shell .social-icons { display:flex; gap:10px; flex-wrap:wrap; margin-top:4px; }
.ceboom-footer-shell .social-icons a { width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.08); color:var(--brass,#B08A57); margin:0; }
.ceboom-footer-shell .social-icons a:hover { background:var(--brass,#B08A57); color:var(--abyss,#0F1F1A); }
.ceboom-footer-shell .footer-trust { max-width:1200px; margin:24px auto 0; padding-top:16px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:center; align-items:center; gap:10px; flex-wrap:wrap; color:#8fa5bd; font-size:.8rem; text-align:center; }
.ceboom-footer-shell .footer-trust a { color:var(--brass,#B08A57); text-decoration:none; }
.ceboom-footer-shell .foot-bottom { max-width:1200px; margin:18px auto 0; padding-top:16px; border-top:1px solid rgba(255,255,255,.08); text-align:center; color:#61768d; font-size:.74rem; }

.ceboom-footer-shell .footer-grid { grid-template-columns: minmax(230px,1.25fr) minmax(150px,.7fr) minmax(260px,1fr) minmax(160px,.65fr); gap: 24px 32px; align-items: start; }
.ceboom-footer-shell .footer-col h4 { margin-bottom: 12px; }
.ceboom-footer-shell .footer-col p, .ceboom-footer-shell .footer-col a { margin-bottom: 6px; line-height: 1.45; }
.ceboom-footer-shell .footer-brand-lockup { display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.ceboom-footer-shell .footer-brand-lockup img { height:50px; width:auto; }

.ceboom-footer-shell .footer-brand-lockup .footer-brand-logo {
    width:54px;
    height:46px;
    object-fit:contain;
    flex:0 0 auto;
}
.ceboom-footer-shell .footer-contact-list { display:grid; grid-template-columns:1fr 1fr; gap:6px 10px; margin-bottom:12px; }
.ceboom-footer-shell .footer-contact-link { display:flex !important; justify-content:space-between; gap:8px; align-items:center; margin:0 !important; padding:7px 9px; border:1px solid rgba(255,255,255,.1); border-radius:4px; background:rgba(255,255,255,.035); }
.ceboom-footer-shell .footer-contact-link strong { color:#fff; font-size:.8rem; }
.ceboom-footer-shell .footer-contact-link span { font-family:'Space Mono',monospace; font-size:.66rem; white-space:nowrap; }
.ceboom-footer-shell .footer-meta { margin-top:9px; }
.ceboom-footer-shell .footer-trust { margin-top:24px; padding-top:16px; }
.ceboom-footer-shell .foot-bottom { margin-top:18px; padding-top:16px; }
@media (max-width: 960px) {
    .ceboom-footer-shell .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
    .ceboom-footer-shell { padding:36px 18px 20px; }
    .ceboom-footer-shell .footer-grid { grid-template-columns:1fr; gap:26px; }
    .ceboom-footer-shell .footer-contact-list { grid-template-columns:1fr 1fr; }
}
@media (max-width: 390px) {
    .ceboom-footer-shell .footer-contact-list { grid-template-columns:1fr; }
}
