/*!
 * quiropractica1.com Theme Design CSS
 * Consolidated from MU plugins into proper theme stylesheet
 * Generated: 2026-03-30 12:20:46
 */

/* ==========================================
   SOURCE: tailordoc-global-style.php (block 1)
   ========================================== */
/* ============================================
       HERO: Page Title Area (page-header is NOT in footer, safe)
       ============================================ */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header-title-wrap,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header-bg-wrap {
        background: linear-gradient(135deg, #1a3a5c 0%, #3e96c0 100%) !important;
        padding: 60px 0 50px !important;
        margin-bottom: 0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header-title {
        color: #fff !important;
        font-size: 42px !important;
        font-weight: 800 !important;
        letter-spacing: -0.5px !important;
        line-height: 1.2 !important;
        text-shadow: none !important;
    }

    /* Breadcrumbs */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header .breadcrumb-trail,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header .site-breadcrumbs a,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header .site-breadcrumbs span {
        color: rgba(255,255,255,0.7) !important;
        font-size: 13px !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header .site-breadcrumbs a:hover {
        color: #fff !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header .site-breadcrumbs,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header-breadcrumbs {
        background: transparent !important;
        padding: 0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-subheading {
        color: rgba(255,255,255,0.85) !important;
        font-size: 18px !important;
        font-weight: 400 !important;
        margin-top: 10px !important;
    }

    /* ============================================
       ALL CONTENT styles scoped to .site-main
       This ensures footer, header, sidebar are NEVER affected.
       ============================================ */

    /* --- Typography --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_wrapper {
        color: #334155;
        line-height: 1.75;
    }

    /* --- Headings --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main h2,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main h3,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main h4 {
        color: #1a3a5c !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog):not(.page-id-295):not(.page-id-29207):not(.page-id-2731):not(.page-id-28775):not(.page-id-3411):not(.page-id-28783):not(.page-id-26994):not(.page-id-28704):not(.page-id-26995):not(.page-id-28717) .site-main h2 {
        font-size: 32px !important;
        margin-top: 48px !important;
        margin-bottom: 20px !important;
        padding-bottom: 12px !important;
        position: relative !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog):not(.page-id-295):not(.page-id-29207):not(.page-id-2731):not(.page-id-28775):not(.page-id-3411):not(.page-id-28783):not(.page-id-26994):not(.page-id-28704):not(.page-id-26995):not(.page-id-28717) .site-main .entry-content h2::after,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog):not(.page-id-295):not(.page-id-29207):not(.page-id-2731):not(.page-id-28775):not(.page-id-3411):not(.page-id-28783):not(.page-id-26994):not(.page-id-28704):not(.page-id-26995):not(.page-id-28717) .site-main .wpb_text_column h2::after {
        content: "" !important;
        display: block !important;
        width: 60px !important;
        height: 3px !important;
        background: #3e96c0 !important;
        margin-top: 10px !important;
        border-radius: 2px !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main h3 {
        font-size: 24px !important;
        margin-top: 36px !important;
        margin-bottom: 14px !important;
        color: #3e96c0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main h4 {
        font-size: 20px !important;
        margin-top: 28px !important;
        margin-bottom: 12px !important;
    }

    /* --- Body Text --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content p,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column p {
        font-size: 16px !important;
        line-height: 1.8 !important;
        color: #475569 !important;
        margin-bottom: 20px !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content strong,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column strong {
        color: #1a3a5c !important;
        font-weight: 700 !important;
    }

    /* --- Links (only inside .site-main content) --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content a:not(.wpex-btn):not([class*="btn"]):not(.td-page-cta a),
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column a:not(.wpex-btn):not([class*="btn"]) {
        color: #3e96c0 !important;
        text-decoration: none !important;
        font-weight: 600 !important;
        border-bottom: 2px solid rgba(62,150,192,0.2) !important;
        transition: all 0.3s ease !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content a:not(.wpex-btn):not([class*="btn"]):hover,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column a:not(.wpex-btn):not([class*="btn"]):hover {
        border-bottom-color: #3e96c0 !important;
        color: #2d7da8 !important;
    }

    /* --- Unordered Lists --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content ul:not([class]),
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column ul:not([class]) {
        list-style: none !important;
        padding-left: 0 !important;
        margin: 20px 0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content ul:not([class]) li,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column ul:not([class]) li {
        position: relative !important;
        padding-left: 28px !important;
        margin-bottom: 12px !important;
        font-size: 16px !important;
        line-height: 1.7 !important;
        color: #475569 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content ul:not([class]) li::before,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column ul:not([class]) li::before {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        top: 6px !important;
        width: 18px !important;
        height: 18px !important;
        background: #3e96c0 !important;
        border-radius: 50% !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") !important;
        background-size: 11px !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
    }

    /* --- Ordered Lists --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content ol,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column ol {
        padding-left: 0 !important;
        counter-reset: item !important;
        list-style: none !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content ol li,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column ol li {
        counter-increment: item !important;
        position: relative !important;
        padding-left: 40px !important;
        margin-bottom: 16px !important;
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content ol li::before,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column ol li::before {
        content: counter(item) !important;
        position: absolute !important;
        left: 0 !important;
        top: 2px !important;
        width: 28px !important;
        height: 28px !important;
        background: linear-gradient(135deg, #3e96c0, #1a3a5c) !important;
        color: #fff !important;
        border-radius: 50% !important;
        text-align: center !important;
        line-height: 28px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
    }

    /* --- Images --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content img:not(.avatar):not([class*="flag"]):not(.wpex-):not([width="1"]),
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column img:not(.avatar):not([class*="flag"]):not(.wpex-),
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_single_image img {
        border-radius: 14px !important;
        box-shadow: 0 6px 30px rgba(0,0,0,0.08) !important;
        transition: transform 0.4s ease, box-shadow 0.4s ease !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content img:hover,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_text_column img:hover,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_single_image img:hover {
        transform: translateY(-4px) !important;
        box-shadow: 0 12px 40px rgba(0,0,0,0.14) !important;
    }

    /* --- Buttons & CTAs --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_btn3,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpex-btn,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main a.wpex-btn,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vcex-button {
        border-radius: 8px !important;
        font-weight: 600 !important;
        padding: 14px 32px !important;
        transition: all 0.3s ease !important;
        letter-spacing: 0.3px !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_btn3-color-justarter,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_btn3-color-primary,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main a.vc_btn3-color-juicy-pink,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vcex-button {
        background: #3e96c0 !important;
        border-color: #3e96c0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_btn3:hover,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpex-btn:hover,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vcex-button:hover {
        background: #2d7da8 !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(62,150,192,0.35) !important;
    }

    /* --- Separators --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_separator .vc_sep_holder .vc_sep_line {
        border-color: #e2e8f0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_content_element {
        margin-bottom: 28px !important;
    }

    /* --- Tabs & Accordions --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_tta-tab > a {
        font-weight: 600 !important;
        color: #1a3a5c !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_tta-tab.vc_active > a {
        color: #3e96c0 !important;
        border-bottom-color: #3e96c0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_tta-accordion .vc_tta-panel-title > a {
        font-size: 17px !important;
        font-weight: 600 !important;
        color: #1a3a5c !important;
        padding: 18px 24px !important;
        background: #f8fbfd !important;
        border-radius: 10px !important;
        border: 1px solid #e8f1f5 !important;
        transition: all 0.3s !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_tta-accordion .vc_tta-panel-title > a:hover {
        background: #e8f4f8 !important;
        color: #3e96c0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_tta-accordion .vc_active .vc_tta-panel-title > a {
        background: #3e96c0 !important;
        color: #fff !important;
        border-color: #3e96c0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_tta-accordion .vc_tta-panel-body {
        padding: 24px !important;
        background: #fff !important;
        border: 1px solid #e8f1f5 !important;
        border-top: none !important;
        border-radius: 0 0 10px 10px !important;
        font-size: 15px !important;
        line-height: 1.7 !important;
        color: #475569 !important;
    }

    /* --- Blockquotes --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main blockquote {
        border-left: 4px solid #3e96c0 !important;
        background: #f0f7fa !important;
        padding: 24px 28px !important;
        margin: 28px 0 !important;
        border-radius: 0 12px 12px 0 !important;
        font-style: italic !important;
        color: #1a3a5c !important;
        font-size: 17px !important;
    }

    /* --- Tables --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main table {
        width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 16px rgba(0,0,0,0.06) !important;
        margin: 24px 0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main table th {
        background: #1a3a5c !important;
        color: #fff !important;
        font-weight: 600 !important;
        padding: 14px 18px !important;
        font-size: 14px !important;
        text-align: left !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main table td {
        padding: 12px 18px !important;
        border-bottom: 1px solid #e8f1f5 !important;
        font-size: 15px !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main table tr:nth-child(even) td {
        background: #f8fbfd !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main table tr:hover td {
        background: #e8f4f8 !important;
    }

    /* --- Video Embeds --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .wpb_video_widget .wpb_wrapper {
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 8px 30px rgba(0,0,0,0.12) !important;
    }

    /* --- Icon Boxes --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vcex-icon-box {
        background: #fff !important;
        border: 1px solid #e8f1f5 !important;
        border-radius: 16px !important;
        padding: 32px 28px !important;
        transition: all 0.3s ease !important;
        text-align: center !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vcex-icon-box:hover {
        transform: translateY(-4px) !important;
        box-shadow: 0 12px 30px rgba(0,0,0,0.08) !important;
        border-color: #3e96c0 !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vcex-icon-box .vcex-icon-box-icon {
        color: #3e96c0 !important;
        margin-bottom: 16px !important;
    }

    /* --- Team Members --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vcex-staff-grid .vcex-grid-item {
        border-radius: 16px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
        transition: transform 0.3s ease !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vcex-staff-grid .vcex-grid-item:hover {
        transform: translateY(-4px) !important;
    }

    /* --- Content Width & Spacing --- */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .container {
        max-width: 1100px !important;
    }

    /* Reduce gap between hero and first content row */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content > .vc_row:first-child {
        padding-top: 20px !important;
    }

    /* First heading centered */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content > .vc_row:first-child .wpb_text_column h1:first-child,
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content > .vc_row:first-child .wpb_text_column h2:first-child {
        font-size: 38px !important;
        color: #1a3a5c !important;
        margin-top: 0 !important;
        text-align: center !important;
    }

    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content > .vc_row:first-child .wpb_text_column h2:first-child::after {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* ============================================
       FIX: WPBakery column-inner padding
       Only override on column-inners WITHOUT custom WPBakery class (vc_custom_)
       This preserves designed layouts (equal-height rows on dr-marc-bony, nuestra-mision, etc.)
       ============================================ */
    body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_column-inner:not([class*="vc_custom_"]) {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    /* ============================================
       FIX: Equal-height rows on dr-marc-bony & nuestra-mision
       Two distinct visual sections: media (white) + text (gray card)
       ============================================ */

    /* Remove equal-height stretching — let each column be its natural size */
    .vc_row-o-equal-height:has(.vc_custom_1644482820662),
    .vc_row-o-equal-height:has(.vc_custom_1644482846220) {
        align-items: stretch !important;
    }

    /* Media column (no custom class): white bg, center content vertically */
    .vc_row-o-equal-height:has(.vc_custom_1644482820662) > .wpb_column > .vc_column-inner:not([class*="vc_custom_"]),
    .vc_row-o-equal-height:has(.vc_custom_1644482820662) > .vc_column_container > .vc_column-inner:not([class*="vc_custom_"]),
    .vc_row-o-equal-height:has(.vc_custom_1644482846220) > .wpb_column > .vc_column-inner:not([class*="vc_custom_"]),
    .vc_row-o-equal-height:has(.vc_custom_1644482846220) > .vc_column_container > .vc_column-inner:not([class*="vc_custom_"]) {
        background: #ffffff !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding: 30px !important;
    }

    /* Text column (gray card): rounded corners, proper padding, centered */
    .vc_row-o-equal-height .vc_custom_1644482820662,
    .vc_row-o-equal-height .vc_custom_1644482846220 {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        border-radius: 16px !important;
        margin: 10px !important;
        box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    }

    /* Row background white to create clean separation */
    .vc_row-o-equal-height:has(.vc_custom_1644482820662),
    .vc_row-o-equal-height:has(.vc_custom_1644482846220) {
        background: #ffffff !important;
        margin-bottom: 20px !important;
    }

    /* Video/image inside media column: scale nicely */
    .vc_row-o-equal-height:has(.vc_custom_1644482820662) .wpb_video_wrapper,
    .vc_row-o-equal-height:has(.vc_custom_1644482846220) .wpb_video_wrapper {
        border-radius: 12px !important;
        overflow: hidden !important;
    }

    .vc_row-o-equal-height:has(.vc_custom_1644482820662) .wpb_single_image img,
    .vc_row-o-equal-height:has(.vc_custom_1644482846220) .wpb_single_image img,
    .vc_row-o-equal-height:has(.vc_custom_1644482820662) .vc_single_image-img,
    .vc_row-o-equal-height:has(.vc_custom_1644482846220) .vc_single_image-img {
        border-radius: 12px !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    }

    /* ============================================
       FAMILIAS (7697) + EMPRESAS (7714) + MASCOTAS (26813/26814)
       Same card style as dr-marc-bony: white media + gray text card
       ============================================ */

    /* Hide duplicate h1 in content (page-header now shows it) */
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .vc_custom_1644921018155 {
        display: none !important;
    }

    /* Two-column rows: make them flex equal-height */
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .vc_row:has(> .wpb_column:nth-child(2)):not(:has(> .wpb_column:nth-child(3))) {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        background: #ffffff !important;
        margin-bottom: 20px !important;
        padding: 0 !important;
    }

    /* Text column (the one with .wpb_text_column): gray card */
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .vc_row:has(> .wpb_column:nth-child(2)):not(:has(> .wpb_column:nth-child(3))) > .wpb_column:has(.wpb_text_column) > .vc_column-inner {
        background: #f2f2f2 !important;
        border-radius: 16px !important;
        margin: 10px !important;
        padding: 40px 45px !important;
        box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    /* Image column: white bg, centered */
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .vc_row:has(> .wpb_column:nth-child(2)):not(:has(> .wpb_column:nth-child(3))) > .wpb_column:has(.wpb_single_image) > .vc_column-inner {
        background: #ffffff !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding: 30px !important;
    }

    /* Image styling */
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .wpb_single_image img {
        border-radius: 12px !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    }

    /* H3 headings */
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main h3 {
        color: #3e96c0 !important;
        font-size: 24px !important;
        font-weight: 700 !important;
        margin-top: 24px !important;
        margin-bottom: 12px !important;
        line-height: 1.3 !important;
    }

    /* Body text */
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .wpb_text_column p,
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .wpb_text_column {
        font-size: 16px !important;
        line-height: 1.7 !important;
        color: #444 !important;
    }

    /* === FAMILIAS: Symptoms section (rows with ul but no image) === */
    :is(body.page-id-7697) .site-main .vc_row:has(ul):not(:has(.wpb_single_image)) {
        background: linear-gradient(135deg, #1a3a5c 0%, #3e96c0 100%) !important;
        display: block !important;
        padding: 40px 20px !important;
        margin-bottom: 0 !important;
    }

    :is(body.page-id-7697) .site-main .vc_row:has(ul):not(:has(.wpb_single_image)) h3 {
        color: #ffffff !important;
        text-align: center !important;
        font-size: 28px !important;
    }

    /* Symptoms heading row */
    :is(body.page-id-7697) .site-main .vc_row[local_scroll_id],
    :is(body.page-id-7697) .site-main .vc_row:has(h3:only-child) {
        background: linear-gradient(135deg, #1a3a5c 0%, #3e96c0 100%) !important;
        padding: 40px 20px 0 !important;
        margin-bottom: 0 !important;
    }

    :is(body.page-id-7697) .site-main .vc_row:has(h3:only-child) h3 {
        color: #fff !important;
        text-align: center !important;
        font-size: 28px !important;
    }

    /* Hide spacer columns in symptoms list */
    :is(body.page-id-7697) .site-main .vc_row:has(ul):not(:has(.wpb_single_image)) > .wpb_column:has(> .vc_column-inner > .wpb_wrapper:empty) {
        display: none !important;
    }

    /* Widen center column */
    :is(body.page-id-7697) .site-main .vc_row:has(ul):not(:has(.wpb_single_image)) > .wpb_column:has(ul) {
        width: 100% !important;
        max-width: 900px !important;
        margin: 0 auto !important;
        float: none !important;
    }

    /* List grid */
    :is(body.page-id-7697) .site-main .vc_row:has(ul):not(:has(.wpb_single_image)) ul {
        columns: 3 !important;
        column-gap: 40px !important;
        list-style: none !important;
        padding: 0 !important;
    }

    :is(body.page-id-7697) .site-main .vc_row:has(ul):not(:has(.wpb_single_image)) li {
        color: #fff !important;
        font-size: 16px !important;
        padding: 8px 0 8px 28px !important;
        position: relative !important;
        break-inside: avoid !important;
    }

    :is(body.page-id-7697) .site-main .vc_row:has(ul):not(:has(.wpb_single_image)) li::before {
        content: "✓" !important;
        position: absolute !important;
        left: 0 !important;
        color: #7dd3a8 !important;
        font-weight: bold !important;
        font-size: 18px !important;
    }

    /* === CTA row (last row with button, no image) === */
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .vc_row:has(.vcex-button):not(:has(.wpb_single_image)) {
        background: #f0f7fb !important;
        padding: 50px 20px !important;
        text-align: center !important;
        display: block !important;
    }

    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .vc_row:has(.vcex-button):not(:has(.wpb_single_image)) h3 {
        color: #1a3a5c !important;
        font-size: 26px !important;
        max-width: 600px !important;
        margin: 0 auto 20px !important;
    }

    /* Hide spacer columns in CTA rows */
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .vc_row:has(.vcex-button):not(:has(.wpb_single_image)) > .wpb_column:has(> .vc_column-inner > .wpb_wrapper:empty) {
        display: none !important;
    }

    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .vc_row:has(.vcex-button):not(:has(.wpb_single_image)) > .wpb_column:has(.vcex-button) {
        width: 100% !important;
        float: none !important;
    }

    /* CTA button styling */
    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .vcex-button {
        background: linear-gradient(135deg, #1a3a5c 0%, #3e96c0 100%) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 12px !important;
        padding: 16px 40px !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        box-shadow: 0 4px 15px rgba(62,150,192,0.3) !important;
        transition: all 0.3s ease !important;
    }

    :is(body.page-id-7697, body.page-id-7714, body.page-id-26813, body.page-id-26814) .site-main .vcex-button:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(62,150,192,0.4) !important;
    }

    /* ============================================
       CONTACTAR PAGE - Improved layout
       Pages: ES=245, EN=22504, CA=22366
       ============================================ */
    body.page-id-245 .site-main .entry-content,
    body.page-id-22504 .site-main .entry-content,
    body.page-id-22366 .site-main .entry-content {
        max-width: 1100px;
        margin: 0 auto;
    }

    /* Contact form column */
    body.page-id-245 .site-main .vc_col-sm-6:first-child .nf-form-cont,
    body.page-id-22504 .site-main .vc_col-sm-6:first-child .nf-form-cont,
    body.page-id-22366 .site-main .vc_col-sm-6:first-child .nf-form-cont {
        background: #fff !important;
        padding: 32px !important;
        border-radius: 16px !important;
        box-shadow: 0 4px 24px rgba(0,0,0,0.06) !important;
        border: 1px solid #e8f1f5 !important;
    }

    /* Ninja Forms fields styling */
    body.page-id-245 .site-main .nf-field-element input[type="text"],
    body.page-id-245 .site-main .nf-field-element input[type="email"],
    body.page-id-245 .site-main .nf-field-element input[type="tel"],
    body.page-id-245 .site-main .nf-field-element textarea,
    body.page-id-22504 .site-main .nf-field-element input[type="text"],
    body.page-id-22504 .site-main .nf-field-element input[type="email"],
    body.page-id-22504 .site-main .nf-field-element input[type="tel"],
    body.page-id-22504 .site-main .nf-field-element textarea,
    body.page-id-22366 .site-main .nf-field-element input[type="text"],
    body.page-id-22366 .site-main .nf-field-element input[type="email"],
    body.page-id-22366 .site-main .nf-field-element input[type="tel"],
    body.page-id-22366 .site-main .nf-field-element textarea {
        border: 2px solid #e2e8f0 !important;
        border-radius: 10px !important;
        padding: 12px 16px !important;
        font-size: 15px !important;
        transition: border-color 0.3s !important;
    }

    body.page-id-245 .site-main .nf-field-element input:focus,
    body.page-id-245 .site-main .nf-field-element textarea:focus,
    body.page-id-22504 .site-main .nf-field-element input:focus,
    body.page-id-22504 .site-main .nf-field-element textarea:focus,
    body.page-id-22366 .site-main .nf-field-element input:focus,
    body.page-id-22366 .site-main .nf-field-element textarea:focus {
        border-color: #3e96c0 !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(62,150,192,0.15) !important;
    }

    /* Ninja Forms submit button */
    body.page-id-245 .site-main .nf-field-element input[type="button"],
    body.page-id-245 .site-main .nf-field-element .ninja-forms-field.nf-element[type="submit"],
    body.page-id-22504 .site-main .nf-field-element input[type="button"],
    body.page-id-22504 .site-main .nf-field-element .ninja-forms-field.nf-element[type="submit"],
    body.page-id-22366 .site-main .nf-field-element input[type="button"],
    body.page-id-22366 .site-main .nf-field-element .ninja-forms-field.nf-element[type="submit"] {
        background: #3e96c0 !important;
        border: none !important;
        border-radius: 10px !important;
        padding: 14px 36px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #fff !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
        width: 100% !important;
    }

    body.page-id-245 .site-main .nf-field-element input[type="button"]:hover,
    body.page-id-22504 .site-main .nf-field-element input[type="button"]:hover,
    body.page-id-22366 .site-main .nf-field-element input[type="button"]:hover {
        background: #2d7da8 !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 4px 15px rgba(62,150,192,0.3) !important;
    }

    /* Contact info column - card style */
    body.page-id-245 .site-main .vc_col-sm-6:nth-child(2) .vc_column-inner,
    body.page-id-22504 .site-main .vc_col-sm-6:nth-child(2) .vc_column-inner,
    body.page-id-22366 .site-main .vc_col-sm-6:nth-child(2) .vc_column-inner {
        background: #f8fbfd !important;
        border-radius: 16px !important;
        border: 1px solid #e8f1f5 !important;
        padding: 32px 28px !important;
    }

    /* Contact page h3 styling */
    body.page-id-245 .site-main h3,
    body.page-id-22504 .site-main h3,
    body.page-id-22366 .site-main h3 {
        font-size: 22px !important;
        margin-top: 0 !important;
        margin-bottom: 16px !important;
        color: #1a3a5c !important;
    }

    /* Contact page hr styling */
    body.page-id-245 .site-main .wpb_text_column hr,
    body.page-id-22504 .site-main .wpb_text_column hr,
    body.page-id-22366 .site-main .wpb_text_column hr {
        border: none !important;
        border-top: 2px solid #e2e8f0 !important;
        margin: 16px 0 !important;
    }

    /* Google Maps rounded corners on contact page */
    body.page-id-245 .site-main .wpb_gmaps_widget .wpb_wrapper,
    body.page-id-22504 .site-main .wpb_gmaps_widget .wpb_wrapper,
    body.page-id-22366 .site-main .wpb_gmaps_widget .wpb_wrapper {
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
    }

    body.page-id-245 .site-main .wpb_gmaps_widget iframe,
    body.page-id-22504 .site-main .wpb_gmaps_widget iframe,
    body.page-id-22366 .site-main .wpb_gmaps_widget iframe {
        border-radius: 14px !important;
    }

    /* ============================================
       CTA Banner (inline styles, but override h2::after inside it)
       ============================================ */
    .td-page-cta h2::after {
        display: none !important;
    }

    /* ============================================
       RESPONSIVE
       ============================================ */
    @media (max-width: 1024px) {
        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header-title {
            font-size: 32px !important;
        }

        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main h2 {
            font-size: 26px !important;
        }

        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main h3 {
            font-size: 21px !important;
        }
    }

    @media (max-width: 768px) {
        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header-title-wrap,
        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header {
            padding: 35px 16px 30px !important;
        }

        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .page-header-title {
            font-size: 24px !important;
            word-wrap: break-word !important;
            overflow-wrap: break-word !important;
        }

        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content > .vc_row:first-child .wpb_text_column h1:first-child,
        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .entry-content > .vc_row:first-child .wpb_text_column h2:first-child {
            font-size: 26px !important;
        }

        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main h2 {
            font-size: 23px !important;
            margin-top: 32px !important;
        }

        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main img:not(.avatar):not([class*="flag"]) {
            border-radius: 10px !important;
        }

        /* Column-inner: even less padding on mobile */
        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_column-inner,
        body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .vc_column-inner[style*="padding"] {
            padding: 12px 16px !important;
        }
    }

/* ==========================================
   SOURCE: global-responsive-fix.php (block 1)
   ========================================== */
/* ==========================================
       FIX: WP Rocket lazy YouTube creates double aspect-ratio padding
       wpb_video_wrapper has padding-top:56.25% AND rll-youtube-player has padding-bottom:56.23%
       The WPBakery reset (.wpb_video_wrapper > div) doesn't apply because child is a <span>
       ========================================== */
    .wpb_video_wrapper:has(.rll-youtube-player) {
        padding-top: 0 !important;
    }

    /* Also reset the wpex-responsive-media span to not create extra space */
    .wpb_video_wrapper > .wpex-responsive-media {
        position: static !important;
    }

    /* ==========================================
       RESTYLE: Templatera CTA banner (ID 19207)
       "¿Te interesa agendar una sesión informativa?"
       Make it match the gradient CTA style (.td-page-cta)
       ========================================== */
    .templatera_shortcode .vc_row.vc_custom_1710757434345 {
        background: linear-gradient(135deg, #1a3a5c 0%, #3e96c0 100%) !important;
        padding: 50px 40px !important;
        text-align: center !important;
        border-radius: 20px !important;
        /* Override full-width row positioning */
        position: relative !important;
        left: auto !important;
        right: auto !important;
        margin: 40px auto !important;
        max-width: 1100px !important;
        width: calc(100% - 40px) !important;
        /* Reset full-width row negative margins */
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Override Total theme's full-width row CSS for this CTA */
    .templatera_shortcode .vc_row.vc_custom_1710757434345.wpex-vc-full-width-row {
        width: calc(100% - 40px) !important;
        max-width: 1100px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 40px !important;
        margin-bottom: 40px !important;
    }

    /* Stack columns vertically and center */
    .templatera_shortcode .vc_custom_1710757434345 .vc_col-sm-9,
    .templatera_shortcode .vc_custom_1710757434345 .vc_col-sm-3 {
        width: 100% !important;
        float: none !important;
        text-align: center !important;
    }

    .templatera_shortcode .vc_custom_1710757434345 .vc_row-flex {
        flex-direction: column !important;
        align-items: center !important;
    }

    /* Center all text */
    .templatera_shortcode .vc_custom_1710757434345 .wpb_text_column,
    .templatera_shortcode .vc_custom_1710757434345 .wpb_text_column p {
        text-align: center !important;
    }

    /* Title styling */
    .templatera_shortcode .vc_custom_1710757434345 .wpb_text_column:first-child p strong {
        font-size: 28px !important;
        color: #fff !important;
        display: block !important;
        line-height: 1.3 !important;
    }

    /* Subtitle styling */
    .templatera_shortcode .vc_custom_1710757434345 .wpb_text_column + .wpb_text_column p {
        font-size: 17px !important;
        color: rgba(255,255,255,0.85) !important;
        max-width: 600px !important;
        margin: 0 auto 10px !important;
        line-height: 1.6 !important;
    }

    /* Button - white with blue text, override 'expanded' layout + tailordoc specificity */
    body.page .site-main .templatera_shortcode .vc_custom_1710757434345 a.vcex-button,
    body.page .site-main .templatera_shortcode .vc_custom_1710757434345 a.theme-button,
    .templatera_shortcode .vc_custom_1710757434345 a.vcex-button {
        background: #ffffff !important;
        color: #1a3a5c !important;
        border: none !important;
        border-radius: 8px !important;
        padding: 16px 36px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
        text-decoration: none !important;
        display: inline-block !important;
        width: auto !important;
        max-width: none !important;
        transition: all 0.3s ease !important;
    }

    body.page .site-main .templatera_shortcode .vc_custom_1710757434345 a.vcex-button:hover,
    .templatera_shortcode .vc_custom_1710757434345 a.vcex-button:hover {
        background: #f0f7fa !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(0,0,0,0.2) !important;
    }

    /* Button text color override (parent row has typography-white) */
    body.page .site-main .templatera_shortcode .vc_custom_1710757434345 a.vcex-button .vcex-button-inner,
    .templatera_shortcode .vc_custom_1710757434345 a.vcex-button .vcex-button-inner {
        color: #1a3a5c !important;
    }

    /* Hide icon decorations on the button */
    .templatera_shortcode .vc_custom_1710757434345 a.vcex-button .vcex-button-icon {
        display: none !important;
    }

    /* ==========================================
       FIX: que-es-la-salud narrow text columns
       Page uses 1/6 + 2/3 + 1/6 layout — make spacers smaller so text is wider
       ========================================== */
    body.page-id-3347 .site-main .vc_col-sm-2:empty,
    body.page-id-3347 .site-main .wpb_column.vc_col-sm-2:has(> .vc_column-inner > .wpb_wrapper:empty) {
        width: 5% !important;
        flex: 0 0 5% !important;
    }

    body.page-id-3347 .site-main .vc_col-sm-8 {
        width: 90% !important;
        flex: 0 0 90% !important;
    }

    /* ==========================================
       FIX: WP Social Ninja reviews text → Spanish
       ========================================== */
    .wpsr-total-reviews {
        font-size: 0 !important;
    }
    .wpsr-total-reviews::before {
        content: "Basado en ";
        font-size: 14px !important;
    }
    .wpsr-total-reviews span {
        font-size: 14px !important;
    }
    .wpsr-total-reviews::after {
        content: " Reseñas";
        font-size: 14px !important;
    }
    a.wpsr-write-review {
        font-size: 0 !important;
    }
    a.wpsr-write-review::after {
        content: "Escribir una Reseña";
        font-size: 14px !important;
    }

    /* Force reviews header into a single row */
    .wpsr-business-info {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
    }
    .wpsr-business-info-left {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
    }
    .wpsr-rating-and-count {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
    }
    .wpsr-total-reviews {
        white-space: nowrap !important;
    }

    /* ==========================================
       CONTAINER WIDTH FIX (all pages)
       Total theme: .container { width: var(--wpex-container-width) = 1200px }
       This makes it responsive.
       ========================================== */
    @media (max-width: 1199px) {
        .container,
        #content-wrap.container,
        .page-header-inner.container {
            width: 100% !important;
            max-width: 100% !important;
            padding-left: 20px !important;
            padding-right: 20px !important;
            box-sizing: border-box !important;
        }
    }

    /* ==========================================
       SOCIAL ICONS: minimalist black circles (all viewports)
       ========================================== */
    #top-bar-social-list a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 20px !important;
        height: 20px !important;
        border-radius: 50% !important;
        background: #000 !important;
        color: #fff !important;
        text-decoration: none !important;
        transition: transform 0.2s !important;
    }
    #top-bar-social-list a:hover {
        transform: scale(1.1) !important;
    }
    #top-bar-social-list a .wpex-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 12px !important;
        height: 12px !important;
        line-height: 0 !important;
    }
    #top-bar-social-list a svg {
        width: 12px !important;
        height: 12px !important;
        fill: #fff !important;
        color: #fff !important;
        display: block !important;
    }
    #top-bar-social-list a svg path {
        fill: #fff !important;
    }

    /* ==========================================
       PAGE HEADER: reduce padding (all viewports)
       Desktop: 60px top/50px bottom → 30px
       ========================================== */
    body.page .page-header,
    body.page .page-header.centered-minimal-page-header,
    header.page-header {
        padding-top: 30px !important;
        padding-bottom: 25px !important;
    }
    body.page .page-header .page-header-title {
        font-size: 32px !important;
    }

    /* ==========================================
       SESION INFORMATIVA (page 3432): stack columns vertically
       Image on top full-width, text below full-width
       ========================================== */
    body.page-id-3432 #content .vc_row:first-child {
        display: flex !important;
        flex-direction: column !important;
    }
    body.page-id-3432 #content .vc_row:first-child > .vc_col-sm-6 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
    body.page-id-3432 #content .vc_row:first-child > .vc_col-sm-6:first-child {
        text-align: center !important;
    }
    body.page-id-3432 #content .vc_row:first-child > .vc_col-sm-6:first-child .wpb_single_image img {
        max-height: 400px !important;
        width: auto !important;
        height: auto !important;
        border-radius: 12px !important;
    }

    /* ==========================================
       FAMILIAS (page 7697): fix image/text layout
       Stack image on top, text below. Compact CTA.
       ========================================== */
    /* Stack the two-column rows (text + image) vertically */
    body.page-id-7697 #content .vc_row > .vc_col-sm-6 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
    body.page-id-7697 #content .vc_row {
        display: flex !important;
        flex-direction: column !important;
    }
    /* Second row: image first (reorder so image comes on top) */
    body.page-id-7697 #content .vc_row:nth-child(2) {
        flex-direction: column-reverse !important;
    }
    /* Hide first row — duplicate title, already in page header */
    body.page-id-7697 #content .vc_row:first-child {
        display: none !important;
    }
    /* Center images */
    body.page-id-7697 .wpb_single_image {
        text-align: center !important;
        margin-bottom: 20px !important;
    }
    body.page-id-7697 .wpb_single_image img {
        max-height: 450px !important;
        max-width: 600px !important;
        width: auto !important;
        height: auto !important;
        border-radius: 12px !important;
        margin: 0 auto !important;
    }
    /* Third row: keep image on top (already in right order) */
    body.page-id-7697 #content .vc_row:nth-child(3) {
        flex-direction: column !important;
    }
    /* Compact the final CTA section */
    body.page-id-7697 #content .vc_row:last-child {
        padding: 15px 0 25px !important;
    }
    body.page-id-7697 #content .vc_row:last-child h3 {
        font-size: 22px !important;
        margin-bottom: 10px !important;
    }
    body.page-id-7697 .vcex-spacing {
        display: none !important;
    }

    /* ==========================================
       TABLET ( <= 1024px ) — light touch only
       ========================================== */
    @media (max-width: 1024px) {
        /* Rows must respect container */
        .vc_row, .wpb_row {
            max-width: 100% !important;
        }

        iframe { max-width: 100% !important; }
    }

    /* ==========================================
       MOBILE ( <= 767px )
       ========================================== */
    @media (max-width: 767px) {

        /* --- TOP BAR: FIXED + social icons always visible --- */
        #top-bar-wrap {
            display: block !important;
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            z-index: 10000 !important;
            background: #fff !important;
            box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
        }
        /* HEADER also fixed, right below the top bar */
        #site-header {
            position: fixed !important;
            top: 43px !important;
            left: 0 !important;
            right: 0 !important;
            z-index: 9999 !important;
            background: #fff !important;
            box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
        }
        /* Offset body so content doesn't hide behind fixed top bar + header */
        #wrap {
            padding-top: 104px !important;
        }
        #top-bar {
            display: flex !important;
            justify-content: center !important;
            padding: 6px 10px !important;
            min-height: auto !important;
        }
        #top-bar > .container {
            display: flex !important;
            justify-content: center !important;
            align-items: center !important;
            gap: 12px !important;
            padding: 0 !important;
        }
        /* Hide phone/email text on mobile, keep social + lang */
        #top-bar-content,
        .top-bar-left {
            display: none !important;
        }
        #top-bar-social,
        .top-bar-right {
            display: flex !important;
            align-items: center !important;
            width: auto !important;
            float: none !important;
        }
        #top-bar-social-list {
            display: flex !important;
            gap: 6px !important;
            align-items: center !important;
            margin: 0 !important;
            padding: 0 !important;
        }
        #top-bar-social-list li {
            margin: 0 !important;
        }
        /* Circular BLACK icons with WHITE icon inside — same size as flags */
        #top-bar-social-list a {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 16px !important;
            height: 16px !important;
            border-radius: 50% !important;
            background: #000 !important;
            color: #fff !important;
            text-decoration: none !important;
            transition: transform 0.2s !important;
        }
        #top-bar-social-list a:hover {
            transform: scale(1.1) !important;
        }
        #top-bar-social-list a .wpex-icon {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 10px !important;
            height: 10px !important;
            line-height: 0 !important;
        }
        #top-bar-social-list a svg {
            width: 10px !important;
            height: 10px !important;
            fill: #fff !important;
            color: #fff !important;
            display: block !important;
        }
        #top-bar-social-list a svg path {
            fill: #fff !important;
        }

        /* --- HEADER: compact --- */
        #site-header-inner {
            padding: 8px 12px !important;
            min-height: auto !important;
        }

        #site-header-inner > .container {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        /* --- LOGO: smaller --- */
        #site-logo img {
            max-height: 50px !important;
            width: auto !important;
        }

        #site-logo {
            max-width: 160px !important;
        }

        /* --- HAMBURGER MENU: larger & visible --- */
        .wpex-mobile-menu-toggle {
            right: 8px !important;
            top: 50% !important;
            transform: translateY(-50%) !important;
        }

        a.mobile-menu-toggle,
        .mobile-menu-toggle {
            padding: 10px !important;
            min-width: 40px !important;
            min-height: 40px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
        }

        .mobile-menu-toggle__icon {
            width: 28px !important;
            height: 22px !important;
        }

        .wpex-hamburger-icon {
            width: 28px !important;
            height: 22px !important;
            position: relative !important;
            display: flex !important;
            flex-direction: column !important;
            justify-content: space-between !important;
        }

        .wpex-hamburger-icon::before,
        .wpex-hamburger-icon::after {
            height: 3px !important;
            border-radius: 2px !important;
            background-color: #333 !important;
        }

        .wpex-hamburger-icon span:not(.screen-reader-text) {
            height: 3px !important;
            border-radius: 2px !important;
            background-color: #333 !important;
            display: block !important;
        }

        /* Extra icons in hamburger */
        .wpex-mobile-menu-toggle-extra-icons {
            display: flex !important;
            align-items: center !important;
            gap: 10px !important;
            margin-right: 8px !important;
        }

        .wpex-mobile-menu-toggle-extra-icons a {
            display: inline-flex !important;
            align-items: center !important;
            color: #3e96c0 !important;
        }

        .wpex-mobile-menu-toggle-extra-icons .wpex-icon,
        .wpex-mobile-menu-toggle-extra-icons svg {
            width: 22px !important;
            height: 22px !important;
        }

        /* --- CONTAINERS: zero padding, full width --- */
        #content-wrap.container {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .page-header-inner.container {
            padding-left: 15px !important;
            padding-right: 15px !important;
        }

        /* ALL rows: kill padding-inline from Total theme */
        .wpex-vc-full-width-row--centered {
            padding-inline: 0 !important;
            --wpex-vc-full-width-padding-x: 0px !important;
        }

        .vc_row, .wpb_row {
            padding-left: 0 !important;
            padding-right: 0 !important;
            padding-inline: 0 !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }

        /* Column inner: provides text spacing on ALL pages */
        .vc_column-inner {
            padding-left: 12px !important;
            padding-right: 12px !important;
        }

        /* Revolution Slider: column-inner must have 0 padding so slider goes full width */
        .vc_column-inner:has(rs-fullwidth-wrap),
        .vc_column-inner:has(.rev_slider_wrapper),
        .vc_column-inner:has(.revslider-initialised) {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        /* RevSlider fullwidth wrap must not be constrained */
        rs-fullwidth-wrap {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: 0 !important;
            left: 0 !important;
        }

        /* Prevent horizontal scroll */
        body, html {
            overflow-x: hidden !important;
        }

        /* --- INNER PAGES ONLY: column stacking ---
           Homepage (.home) keeps its own layout intact
           TRIPLE SPECIFICITY to beat WPBakery + Total theme */
        body:not(.home):not(.page-id-25471) .vc_col-sm-1\/5,
        body:not(.home):not(.page-id-25471) .vc_col-sm-2,
        body:not(.home):not(.page-id-25471) .vc_col-sm-3,
        body:not(.home):not(.page-id-25471) .vc_col-sm-4,
        body:not(.home):not(.page-id-25471) .vc_col-sm-5,
        body:not(.home):not(.page-id-25471) .vc_col-sm-6,
        body:not(.home):not(.page-id-25471) .vc_col-sm-7,
        body:not(.home):not(.page-id-25471) .vc_col-sm-8,
        body:not(.home):not(.page-id-25471) .vc_col-sm-9,
        body:not(.home):not(.page-id-25471) .wpb_column.vc_column_container[class*="vc_col-sm-"] {
            width: 100% !important;
            max-width: 100% !important;
            float: none !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            flex: 0 0 100% !important;
        }

        body:not(.home):not(.page-id-25471) .vc_row,
        body:not(.home):not(.page-id-25471) .vc_row.vc_row-flex,
        body:not(.home):not(.page-id-25471) .wpb_row {
            flex-wrap: wrap !important;
            display: flex !important;
            flex-direction: column !important;
        }

        body:not(.home):not(.page-id-25471) .vc_row.vc_row-flex > .vc_column_container,
        body:not(.home):not(.page-id-25471) .vc_row.vc_row-flex > .wpb_column,
        body:not(.home):not(.page-id-25471) .vc_row > .vc_column_container,
        body:not(.home):not(.page-id-25471) .vc_row > .wpb_column {
            flex: 0 0 100% !important;
            max-width: 100% !important;
        }

        /* Inner pages: content wrappers */
        body:not(.home):not(.page-id-25471) .wpb-content-wrapper,
        body:not(.home):not(.page-id-25471) .single-page-content,
        body:not(.home):not(.page-id-25471) #primary,
        body:not(.home):not(.page-id-25471) #content {
            max-width: 100% !important;
        }

        /* Page header — compact on mobile */
        body.page .page-header,
        body.page .page-header.centered-minimal-page-header,
        header.page-header {
            padding: 12px 15px 10px !important;
        }

        body.page .page-header .page-header-title,
        .page-header-title {
            font-size: 20px !important;
            word-wrap: break-word !important;
            overflow-wrap: break-word !important;
        }

        .site-breadcrumbs {
            font-size: 14px !important;
        }

        /* CTA banner (injected at bottom of pages) */
        .td-page-cta {
            padding: 28px 18px !important;
            margin: 24px 0 16px !important;
            border-radius: 14px !important;
        }

        .td-page-cta h2 { font-size: 21px !important; }
        .td-page-cta p { font-size: 15px !important; }

        /* Prototipo CTA sections: add side padding so they don't go full width */
        :is(body.home, body.page-id-25471) .pv3-offer {
            padding-left: 24px !important;
            padding-right: 24px !important;
        }

        /* Templatera CTA responsive */
        .templatera_shortcode .vc_row.vc_custom_1710757434345 {
            padding: 30px 16px !important;
            border-radius: 14px !important;
            width: calc(100% - 24px) !important;
            margin: 24px auto !important;
        }

        .templatera_shortcode .vc_custom_1710757434345 .wpb_text_column:first-child p strong {
            font-size: 21px !important;
        }

        .templatera_shortcode .vc_custom_1710757434345 a.vcex-button,
        .templatera_shortcode .vc_custom_1710757434345 .theme-button {
            padding: 14px 28px !important;
            font-size: 15px !important;
            width: auto !important;
            text-align: center !important;
        }

        /* WPBakery icon-box CTA sections on inner pages (e.g. contactar) */
        .vcex-icon-box {
            padding: 24px 16px !important;
            text-align: center !important;
        }

        .vcex-icon-box .vcex-icon-box-heading {
            font-size: 20px !important;
        }

        /* Footer widgets stack */
        #footer-widgets .vc_col-sm-3,
        #footer-widgets .vc_col-sm-4 {
            width: 100% !important;
            margin-bottom: 20px !important;
        }

        /* Google Maps responsive */
        .wpb_gmaps_widget .wpb_wrapper {
            position: relative !important;
            padding-bottom: 75% !important;
            height: 0 !important;
            overflow: hidden !important;
        }

        .wpb_gmaps_widget iframe {
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            width: 100% !important;
            height: 100% !important;
        }

        /* Cookie placeholder */
        .cmplz-placeholder-element {
            max-width: 100% !important;
        }

        /* Video widgets */
        .wpb_video_widget iframe {
            width: 100% !important;
        }

        /* Text wrapping */
        .wpb_text_column {
            word-wrap: break-word !important;
            overflow-wrap: break-word !important;
        }

        /* Blog: reduce spacing between articles */
        .vcex-blog-entry,
        .blog-entry {
            margin-bottom: 12px !important;
        }
        .wpex-row.vcex-blog-grid {
            gap: 12px !important;
        }

        /* Homepage: icon-box cards - prevent horizontal overflow */
        .vcex-icon-box {
            overflow: hidden !important;
            word-wrap: break-word !important;
        }
        /* Homepage service cards horizontal scroll fix */
        .wpex-row .span_1_of_3,
        .wpex-row .span_1_of_4 {
            width: 100% !important;
            float: none !important;
        }

        /* Blog search button fix */
        .blog-search-box form {
            display: flex !important;
            gap: 8px !important;
        }

        .blog-search-box button {
            display: inline-flex !important;
            min-width: 70px !important;
            white-space: nowrap !important;
            flex-shrink: 0 !important;
        }

        .blog-search-box input[type="search"] {
            min-width: 0 !important;
            flex: 1 !important;
        }

        /* Blog/archive sidebar: full width below content */
        body.blog #sidebar,
        body.archive #sidebar,
        body.search #sidebar,
        body.single-post #sidebar {
            width: 100% !important;
            float: none !important;
            padding: 0 12px !important;
        }

        /* Blog main content: full width */
        body.blog #primary,
        body.archive #primary,
        body.search #primary,
        body.single-post #primary {
            width: 100% !important;
            float: none !important;
            padding: 0 12px !important;
        }

        /* ==========================================
           HOMEPAGE MOBILE POLISH (:is(body.home, body.page-id-25471))
           ========================================== */

        /* Homepage: ZERO gaps between sections */
        :is(body.home, body.page-id-25471) #content .vc_row {
            padding-top: 0 !important;
            padding-bottom: 0 !important;
            margin-top: 0 !important;
            margin-bottom: 0 !important;
        }

        /* Homepage: kill ALL column-inner padding (override vc_custom_* inline) */
        :is(body.home, body.page-id-25471) .vc_column-inner,
        :is(body.home, body.page-id-25471) .vc_column-inner[class*="vc_custom_"] {
            padding: 0 8px !important;
            margin: 0 !important;
        }

        /* Collapse separator-only rows on homepage mobile */
        :is(body.home, body.page-id-25471) .vc_row .vc_separator {
            display: none !important;
        }

        /* Stacked columns on homepage: remove gaps */
        :is(body.home, body.page-id-25471) .vc_row.vc_row-flex {
            flex-wrap: wrap !important;
            gap: 0 !important;
        }

        :is(body.home, body.page-id-25471) .vc_row.vc_row-flex > .wpb_column,
        :is(body.home, body.page-id-25471) .vc_row.vc_row-flex > .vc_column_container {
            flex: 0 0 100% !important;
            max-width: 100% !important;
        }

        /* Homepage float-based columns: also stack */
        :is(body.home, body.page-id-25471) .vc_col-sm-2,
        :is(body.home, body.page-id-25471) .vc_col-sm-3,
        :is(body.home, body.page-id-25471) .vc_col-sm-4,
        :is(body.home, body.page-id-25471) .vc_col-sm-5,
        :is(body.home, body.page-id-25471) .vc_col-sm-6,
        :is(body.home, body.page-id-25471) .vc_col-sm-7,
        :is(body.home, body.page-id-25471) .vc_col-sm-8,
        :is(body.home, body.page-id-25471) .vc_col-sm-9 {
            width: 100% !important;
            float: none !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }

        /* Video testimonials: compact stacking */
        :is(body.home, body.page-id-25471) .wpb_video_widget {
            margin-bottom: 8px !important;
        }

        :is(body.home, body.page-id-25471) .wpb_video_widget .wpb_wrapper {
            margin-bottom: 0 !important;
        }

        /* Fix video wrapper responsive embed padding */
        :is(body.home, body.page-id-25471) .wpb_video_wrapper {
            padding-top: 0 !important;
            padding-bottom: 56.25% !important;
            height: 0 !important;
            position: relative !important;
            overflow: hidden !important;
        }

        :is(body.home, body.page-id-25471) .wpb_video_wrapper iframe {
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            width: 100% !important;
            height: 100% !important;
        }

        /* Icon boxes (services): tighter */
        :is(body.home, body.page-id-25471) .vcex-icon-box {
            padding: 16px 14px !important;
            margin-bottom: 8px !important;
        }

        /* Empty/tiny columns: collapse */
        :is(body.home, body.page-id-25471) .wpb_column .vc_column-inner:empty,
        :is(body.home, body.page-id-25471) .wpb_column:has(> .vc_column-inner > .wpb_wrapper:empty) {
            min-height: 0 !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        /* Content elements: minimal spacing */
        :is(body.home, body.page-id-25471) .wpb_content_element {
            margin-bottom: 4px !important;
            margin-top: 0 !important;
        }

        :is(body.home, body.page-id-25471) h2 {
            font-size: 24px !important;
            margin-top: 8px !important;
            margin-bottom: 6px !important;
        }

        :is(body.home, body.page-id-25471) h3 {
            font-size: 18px !important;
            margin-top: 6px !important;
            margin-bottom: 4px !important;
        }

        :is(body.home, body.page-id-25471) .vcex-heading {
            margin-top: 8px !important;
            margin-bottom: 4px !important;
        }

        :is(body.home, body.page-id-25471) .theme-button-wrap,
        :is(body.home, body.page-id-25471) .vcex-button-wrapper {
            margin-top: 4px !important;
            margin-bottom: 4px !important;
        }

        :is(body.home, body.page-id-25471) .wpb_wrapper {
            padding: 0 !important;
        }

        /* GAP KILLERS: decorative section icons → HIDE on mobile */
        :is(body.home, body.page-id-25471) .vc_icon_element {
            display: none !important;
        }

        /* GAP KILLERS: WPBakery spacer elements → HIDE */
        :is(body.home, body.page-id-25471) .vcex-spacing {
            display: none !important;
        }

        /* GAP KILLERS: Google reviews widget → ultra compact */
        :is(body.home, body.page-id-25471) .wpsr-business-info {
            padding: 6px 10px !important;
        }
        :is(body.home, body.page-id-25471) .wpsr-review-template {
            padding: 8px 10px !important;
        }
        :is(body.home, body.page-id-25471) .wpsr-reviews-slider-wrapper-inner {
            padding: 0 !important;
            margin: 0 !important;
        }
        :is(body.home, body.page-id-25471) .wpsr-write-review-modal-wrapper {
            margin: 4px 0 !important;
        }

        /* GAP KILLERS: Blog/portfolio carousel → compact */
        :is(body.home, body.page-id-25471) .wpex-carousel-entry-details {
            padding: 6px 10px !important;
        }
        :is(body.home, body.page-id-25471) .wpex-carousel-entry-excerpt {
            margin: 0 !important;
            padding: 0 !important;
        }
        :is(body.home, body.page-id-25471) .wpex-carousel-entry-button {
            margin: 2px 0 !important;
            padding: 0 !important;
        }

        /* GAP KILLERS: vcex-icon (standalone decorative icons) → HIDE */
        :is(body.home, body.page-id-25471) .vcex-icon {
            display: none !important;
        }

        /* GAP KILLERS: Google reviews - ultra compact */
        :is(body.home, body.page-id-25471) .wpsr-reviews-slider {
            margin: 0 !important;
            padding: 0 !important;
        }
        :is(body.home, body.page-id-25471) .wpsr-row {
            margin: 0 !important;
            padding: 0 !important;
        }
        :is(body.home, body.page-id-25471) .swiper-wrapper {
            margin-bottom: 0 !important;
        }
        :is(body.home, body.page-id-25471) .wpsr-business-info-right {
            margin: 0 !important;
            padding: 0 !important;
        }
        :is(body.home, body.page-id-25471) .wpsr-swiper-pagination {
            margin: 2px 0 !important;
            padding: 0 !important;
        }
        :is(body.home, body.page-id-25471) .wpsr-review-template .wpsr-review-content {
            padding: 0 !important;
            margin: 0 !important;
        }
        :is(body.home, body.page-id-25471) .wpsr-review-info {
            margin: 4px 0 !important;
            padding: 0 !important;
        }

        /* Revolution Slider: ensure text fits */
        :is(body.home, body.page-id-25471) .rev_slider .tp-caption,
        :is(body.home, body.page-id-25471) .rev_slider .rs-layer {
            white-space: normal !important;
            word-wrap: break-word !important;
        }

        /* Newsletter section: center, remove side columns */
        :is(body.home, body.page-id-25471) .vc_row:last-child .wpb_column:first-child:has(> .vc_column-inner > .wpb_wrapper:empty),
        :is(body.home, body.page-id-25471) .vc_row:last-child .wpb_column:last-child:has(> .vc_column-inner > .wpb_wrapper:empty) {
            display: none !important;
        }

        /* Stats counters: keep 2-col grid */
        :is(body.home, body.page-id-25471) .vcex-milestone-wrap,
        :is(body.home, body.page-id-25471) .vcex-counter-wrap {
            display: inline-block !important;
            width: 48% !important;
            vertical-align: top !important;
            text-align: center !important;
        }
    }

    /* ==========================================
       PROTOTIPO HOME (page 25471): reduce gaps — ALL viewports
       The pv3-* custom classes have inline margins that create huge gaps
       ========================================== */
    /* Kill excessive padding in pv3-* custom sections */
    body.page-id-25471 .pv3-test.pv3-fw {
        padding-bottom: 15px !important;
    }
    body.page-id-25471 .pv3-c {
        padding-bottom: 15px !important;
    }
    body.page-id-25471 .pv3-steps {
        padding-top: 15px !important;
    }
    body.page-id-25471 .pv3-steps .pv3-c > div[style*="margin"] {
        margin-bottom: 20px !important;
    }
    body.page-id-25471 .pv3-btn-o {
        margin-top: 10px !important;
    }
    /* Kill vertical spacing between vc_rows on prototipo page */
    body.page-id-25471 #content .vc_row {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    /* Kill vcex-spacing and decorative icons on prototipo */
    body.page-id-25471 .vcex-spacing {
        display: none !important;
    }
    body.page-id-25471 .vcex-icon {
        display: none !important;
    }
    body.page-id-25471 .vc_icon_element {
        display: none !important;
    }
    /* Kill column-inner excessive padding on prototipo */
    body.page-id-25471 .vc_column-inner[class*="vc_custom_"] {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* ==========================================
       SMALL MOBILE ( <= 480px )
       ========================================== */
    @media (max-width: 480px) {
        .page-header-inner.container {
            padding-left: 12px !important;
            padding-right: 12px !important;
        }

        .vc_column-inner {
            padding-left: 8px !important;
            padding-right: 8px !important;
        }

        .page-header-title { font-size: 20px !important; }
        #site-logo img { max-height: 42px !important; }

        .td-page-cta { padding: 22px 14px !important; }
        .td-page-cta h2 { font-size: 19px !important; }
    }

    /* ==========================================
       TIMELINE SCROLL EFFECT (prototipo-home steps)
       Cards start light/faded, "light up" to full color on scroll
       ========================================== */
    .pv3-steps .pv3-c {
        position: relative;
    }

    /* Vertical line behind the step numbers */
    .pv3-step-ln::before {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 3px !important;
        background: #e0e0e0 !important;
        z-index: 0 !important;
    }

    /* Progress fill on line */
    .pv3-step-ln::after {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 3px !important;
        height: 0% !important;
        background: #3e96c0 !important;
        z-index: 1 !important;
        transition: height 0.6s ease !important;
    }

    /* Step number above the line */
    .pv3-step-n {
        z-index: 2 !important;
        position: relative !important;
        transition: transform 0.5s ease, box-shadow 0.5s ease, background 0.5s ease, opacity 0.5s ease !important;
    }

    /* === DEFAULT STATE: light card, no color background === */
    .pv3-step .pv3-step-c {
        background: #f0f4f8 !important;
        color: #333 !important;
        transition: background 0.7s ease, color 0.7s ease, box-shadow 0.7s ease !important;
    }
    .pv3-step .pv3-step-c h3 {
        color: #3e96c0 !important;
        transition: color 0.7s ease !important;
    }
    .pv3-step .pv3-step-c p {
        color: #555 !important;
        transition: color 0.7s ease !important;
    }
    .pv3-step .pv3-step-i {
        transition: opacity 0.7s ease !important;
        opacity: 0.5 !important;
    }
    .pv3-step .pv3-step-n {
        background: #c5dce8 !important;
        color: #fff !important;
        transition: background 0.7s ease, transform 0.5s ease, box-shadow 0.5s ease !important;
    }

    /* === ACTIVE STATE: full color background like original === */
    .pv3-step.tl-active .pv3-step-c {
        background: linear-gradient(135deg, #3e96c0 0%, #2d7da8 100%) !important;
        color: #fff !important;
        box-shadow: 0 8px 24px rgba(62, 150, 192, 0.3) !important;
    }
    .pv3-step.tl-active .pv3-step-c h3 {
        color: #fff !important;
    }
    .pv3-step.tl-active .pv3-step-c p {
        color: rgba(255,255,255,0.9) !important;
    }
    .pv3-step.tl-active .pv3-step-i {
        opacity: 1 !important;
    }
    .pv3-step.tl-active .pv3-step-n {
        background: #3e96c0 !important;
        transform: scale(1.05) !important;
        box-shadow: 0 0 0 6px rgba(62, 150, 192, 0.25) !important;
    }
    .pv3-step.tl-active .pv3-step-ln::after {
        height: 100% !important;
    }

/* ==========================================
   SOURCE: blog-tailordoc-style.php (block 1)
   ========================================== */
/* HERO */
    body.blog .page-header,
    body.archive .page-header,
    body.single-post .page-header,
    body.search .page-header,
    body.search-results .page-header,
    body.page-id-295 .page-header,
    body.page-id-22503 .page-header,
    body.page-id-24132 .page-header {
        background: linear-gradient(135deg, #1a3a5c 0%, #3e96c0 100%) !important;
        padding: 60px 0 !important;
        margin-bottom: 0 !important;
    }

    body.blog .page-header *,
    body.archive .page-header *,
    body.single-post .page-header *,
    body.search .page-header *,
    body.search-results .page-header *,
    body.page-id-295 .page-header *,
    body.page-id-22503 .page-header *,
    body.page-id-24132 .page-header * {
        color: #fff !important;
    }

    body.blog .page-header .site-breadcrumbs a,
    body.archive .page-header .site-breadcrumbs a,
    body.search .page-header .site-breadcrumbs a {
        color: rgba(255,255,255,0.7) !important;
    }

    /* BLOG GRID - override isotope (SCOPED to blog/archive pages only) */
    body.blog .vcex-blog-grid,
    body.archive .vcex-blog-grid,
    body.search .vcex-blog-grid,
    body.page-id-295 .vcex-blog-grid,
    body.page-id-29207 .vcex-blog-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 24px !important;
        height: auto !important;
        position: relative !important;
    }

    body.blog .vcex-blog-grid .vcex-blog-entry,
    body.archive .vcex-blog-grid .vcex-blog-entry,
    body.search .vcex-blog-grid .vcex-blog-entry,
    body.page-id-295 .vcex-blog-grid .vcex-blog-entry,
    body.page-id-29207 .vcex-blog-grid .vcex-blog-entry {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        float: none !important;
        left: auto !important;
        top: auto !important;
    }

    /* BLOG + SEARCH BACKGROUND */
    body.blog .content-area,
    body.archive .content-area,
    body.search .content-area,
    body.search-results .content-area,
    body.page-id-295 .content-area,
    body.page-id-22503 .content-area,
    body.page-id-24132 .content-area {
        background: #f5f9fc !important;
        padding: 40px 0 !important;
    }

    /* ============================================
       CARD STYLES
       ============================================ */
    .vcex-blog-entry {
        background: #fff !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 16px rgba(0,0,0,0.06) !important;
        transition: all 0.35s ease !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .vcex-blog-entry:hover {
        box-shadow: 0 12px 36px rgba(62,150,192,0.18) !important;
        transform: translateY(-6px) !important;
    }

    .vcex-blog-entry-inner {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
    }

    /* ============================================
       CARD IMAGE - Full width, cover fit, fixed height
       ============================================ */
    .vcex-blog-entry .vcex-blog-entry-media {
        border-radius: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 220px !important;
        min-height: 220px !important;
        max-height: 220px !important;
        flex-shrink: 0 !important;
        position: relative !important;
        display: block !important;
        width: 100% !important;
    }

    .vcex-blog-entry .vcex-blog-entry-media a {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
    }

    .vcex-blog-entry .vcex-blog-entry-media img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        transition: transform 0.5s ease !important;
    }

    .vcex-blog-entry:hover .vcex-blog-entry-media img {
        transform: scale(1.08) !important;
    }

    /* Overlay gradient on hover */
    .vcex-blog-entry .vcex-blog-entry-media::after {
        content: "" !important;
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 60px !important;
        background: linear-gradient(transparent, rgba(0,0,0,0.06)) !important;
        z-index: 1 !important;
        pointer-events: none !important;
    }

    /* CARD WITHOUT IMAGE - gradient placeholder */
    .vcex-blog-entry:not(:has(.vcex-blog-entry-media)) .vcex-blog-entry-details::before,
    .vcex-blog-entry.no-media .vcex-blog-entry-details::before {
        content: "" !important;
        display: block !important;
        height: 220px !important;
        background: linear-gradient(135deg, #3e96c0 0%, #1a3a5c 100%) !important;
        margin: -20px -24px 20px !important;
        border-radius: 0 !important;
    }

    /* CARD DETAILS */
    .vcex-blog-entry-details {
        padding: 22px 24px 24px !important;
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* CARD TITLE - CRITICAL: override global h2 32px */
    body .site-main .vcex-blog-entry-title,
    body.page .site-main .vcex-blog-entry-title,
    body .vcex-blog-entry-title,
    .vcex-blog-entry-title,
    .vcex-blog-entry h2.vcex-blog-entry-title,
    .vcex-blog-entry h2.entry-title {
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        color: #1a3a5c !important;
    }

    /* Remove the h2::after teal line from blog titles */
    body .site-main .vcex-blog-entry-title::after,
    .vcex-blog-entry-title::after,
    .vcex-blog-entry h2::after {
        display: none !important;
        content: none !important;
    }

    .vcex-blog-entry-title a {
        color: #1a3a5c !important;
        text-decoration: none !important;
        transition: color 0.3s !important;
    }

    .vcex-blog-entry-title a:hover {
        color: #3e96c0 !important;
    }

    /* DATE */
    .vcex-blog-entry-date {
        font-size: 14px !important;
        color: #94a3b8 !important;
        margin-bottom: 10px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }

    /* EXCERPT */
    .vcex-blog-entry-excerpt {
        font-size: 14px !important;
        line-height: 1.65 !important;
        color: #64748b !important;
        margin-bottom: 16px !important;
    }

    .vcex-blog-entry-excerpt p { margin: 0 !important; }

    /* READ MORE BUTTON */
    .vcex-blog-entry .entry-readmore,
    .vcex-blog-entry .theme-button {
        background: transparent !important;
        color: #3e96c0 !important;
        border: 2px solid #3e96c0 !important;
        border-radius: 8px !important;
        padding: 9px 20px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        transition: all 0.3s ease !important;
        display: inline-block !important;
        margin-top: auto !important;
        letter-spacing: 0.3px !important;
    }

    .vcex-blog-entry .entry-readmore:hover {
        background: #3e96c0 !important;
        color: #fff !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 12px rgba(62,150,192,0.3) !important;
    }

    .vcex-blog-entry-readmore-wrap {
        margin-top: auto !important;
    }

    /* ============================================
       SEARCH RESULTS PAGE - 3 column grid
       ============================================ */
    body.search .site-main,
    body.search-results .site-main {
        padding: 30px 0 !important;
    }

    /* 3-column grid */
    body.search #blog-entries,
    body.search-results #blog-entries {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 24px !important;
    }

    /* Card style */
    body.search .blog-entry {
        background: #fff !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 16px rgba(0,0,0,0.05) !important;
        border: 1px solid #e8f1f5 !important;
        transition: all 0.35s ease !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.search .blog-entry:hover {
        box-shadow: 0 12px 36px rgba(62,150,192,0.18) !important;
        transform: translateY(-5px) !important;
        border-color: #3e96c0 !important;
    }

    /* Hide divider between entries */
    body.search .blog-entry .entry-divider {
        display: none !important;
    }

    /* Inner wrapper */
    body.search .blog-entry-inner {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
    }

    /* Image container */
    body.search .blog-entry-media {
        height: 180px !important;
        min-height: 180px !important;
        overflow: hidden !important;
        margin: 0 !important;
        position: relative !important;
    }

    body.search .blog-entry-media a {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    body.search .blog-entry-media img {
        width: 100% !important;
        height: 180px !important;
        object-fit: cover !important;
        display: block !important;
        border-radius: 0 !important;
        transition: transform 0.5s ease !important;
    }

    body.search .blog-entry:hover .blog-entry-media img {
        transform: scale(1.06) !important;
    }

    /* No-image entries get gradient placeholder */
    body.search .blog-entry.no-media .blog-entry-inner::before {
        content: "" !important;
        display: block !important;
        height: 180px !important;
        background: linear-gradient(135deg, #3e96c0 0%, #1a3a5c 100%) !important;
        flex-shrink: 0 !important;
    }

    /* Content area */
    body.search .blog-entry-header,
    body.search .blog-entry-meta,
    body.search .blog-entry-excerpt,
    body.search .blog-entry-readmore {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    body.search .blog-entry-header {
        padding-top: 18px !important;
    }

    body.search .blog-entry-readmore {
        padding-bottom: 22px !important;
        margin-top: auto !important;
    }

    /* Title */
    body.search .blog-entry-title,
    body.search .blog-entry h2.entry-title {
        font-size: 17px !important;
        font-weight: 700 !important;
        margin: 0 0 6px !important;
        padding: 0 !important;
        color: #1a3a5c !important;
        line-height: 1.35 !important;
    }

    body.search .blog-entry-title::after,
    body.search .blog-entry h2::after {
        display: none !important;
        content: none !important;
    }

    body.search .blog-entry-title a {
        color: #1a3a5c !important;
        text-decoration: none !important;
        border: none !important;
    }

    body.search .blog-entry-title a:hover {
        color: #3e96c0 !important;
    }

    /* Meta */
    body.search .blog-entry-meta,
    body.search .entry-meta {
        font-size: 14px !important;
        color: #94a3b8 !important;
        margin-bottom: 10px !important;
    }

    body.search .entry-meta a {
        color: #3e96c0 !important;
        border: none !important;
        font-weight: 600 !important;
    }

    body.search .entry-meta .meta-icon svg {
        width: 12px !important;
        height: 12px !important;
    }

    /* Excerpt */
    body.search .blog-entry-excerpt {
        font-size: 14px !important;
        line-height: 1.65 !important;
        color: #64748b !important;
        margin-bottom: 14px !important;
    }

    body.search .blog-entry-excerpt p {
        margin: 0 !important;
    }

    /* Search read more */
    body.search .blog-entry .theme-button,
    body.search .blog-entry .entry-readmore {
        display: inline-block !important;
        background: transparent !important;
        color: #3e96c0 !important;
        border: 2px solid #3e96c0 !important;
        border-radius: 8px !important;
        padding: 8px 20px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        transition: all 0.3s !important;
    }

    body.search .blog-entry .theme-button:hover,
    body.search .blog-entry .entry-readmore:hover {
        background: #3e96c0 !important;
        color: #fff !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 12px rgba(62,150,192,0.3) !important;
    }

    /* Search pagination */
    body.search .wpex-pagination {
        grid-column: 1 / -1 !important;
    }

    /* Search page heading */
    body.search .page-header-title,
    body.search-results .page-header-title {
        font-size: 36px !important;
        font-weight: 800 !important;
    }

    /* No results message */
    body.search .no-results,
    body.search-results .no-results {
        text-align: center !important;
        padding: 60px 20px !important;
    }

    body.search .no-results h1,
    body.search .no-results h2 {
        color: #1a3a5c !important;
        font-size: 28px !important;
    }

    /* Search form in no-results */
    body.search .no-results .search-form {
        max-width: 500px !important;
        margin: 24px auto !important;
        display: flex !important;
        gap: 8px !important;
    }

    body.search .no-results .search-form input[type="search"] {
        flex: 1 !important;
        padding: 12px 18px !important;
        border: 2px solid #e2e8f0 !important;
        border-radius: 10px !important;
        font-size: 16px !important;
    }

    body.search .no-results .search-form input[type="search"]:focus {
        border-color: #3e96c0 !important;
        outline: none !important;
    }

    body.search .no-results .search-form button,
    body.search .no-results .search-form input[type="submit"] {
        background: #3e96c0 !important;
        color: #fff !important;
        border: none !important;
        border-radius: 10px !important;
        padding: 12px 24px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
    }

    /* ============================================
       SIDEBAR
       ============================================ */
    .sidebar-container .sidebar-box {
        background: #fff !important;
        border-radius: 12px !important;
        padding: 24px !important;
        box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
        border: none !important;
        margin-bottom: 24px !important;
    }

    .sidebar-container .widget-title {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #1a3a5c !important;
        margin-bottom: 16px !important;
        padding-bottom: 12px !important;
        border-bottom: 2px solid #3e96c0 !important;
    }

    .sidebar-container .tag-cloud-link {
        background: #f1f5f9 !important;
        color: #475569 !important;
        border-radius: 20px !important;
        padding: 6px 14px !important;
        font-size: 13px !important;
        border: none !important;
        transition: all 0.3s !important;
    }

    .sidebar-container .tag-cloud-link:hover {
        background: #3e96c0 !important;
        color: #fff !important;
    }

    /* SEARCH BAR (injected) */
    .blog-search-box {
        background: #fff;
        border-radius: 12px;
        padding: 24px;
        box-shadow: 0 2px 12px rgba(0,0,0,0.04);
        margin-bottom: 24px;
    }

    .blog-search-box .widget-title {
        font-size: 18px;
        font-weight: 700;
        color: #1a3a5c;
        margin-bottom: 16px;
        padding-bottom: 12px;
        border-bottom: 2px solid #3e96c0;
    }

    .blog-search-box form {
        display: flex;
        gap: 8px;
    }

    .blog-search-box input[type="text"],
    .blog-search-box input[type="search"] {
        flex: 1;
        padding: 10px 16px;
        border: 2px solid #e2e8f0;
        border-radius: 8px;
        font-size: 14px;
        outline: none;
        transition: border-color 0.3s;
    }

    .blog-search-box input:focus {
        border-color: #3e96c0;
    }

    .blog-search-box button {
        background: #3e96c0;
        color: #fff;
        border: none;
        border-radius: 8px;
        padding: 10px 18px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: background 0.3s;
    }

    .blog-search-box button:hover {
        background: #2d7da8;
    }

    /* PAGINATION */
    .page-numbers {
        background: #fff !important;
        color: #475569 !important;
        border-radius: 8px !important;
        border: 1px solid #e2e8f0 !important;
        padding: 8px 14px !important;
        transition: all 0.3s !important;
    }

    .page-numbers:hover,
    .page-numbers.current {
        background: #3e96c0 !important;
        color: #fff !important;
        border-color: #3e96c0 !important;
    }

    /* ============================================
       SINGLE POST - Full redesign
       ============================================ */

    /* Hero header injected via PHP */
    .single-post-hero {
        background: linear-gradient(135deg, #1a3a5c 0%, #3e96c0 100%) !important;
        padding: 50px 0 45px !important;
        margin-bottom: 0 !important;
        text-align: center !important;
    }

    .single-post-hero .sph-inner {
        max-width: 900px !important;
        margin: 0 auto !important;
        padding: 0 20px !important;
    }

    .single-post-hero .sph-cats {
        display: flex !important;
        justify-content: center !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
        margin-bottom: 16px !important;
    }

    .single-post-hero .sph-cats a {
        background: rgba(255,255,255,0.15) !important;
        color: #fff !important;
        padding: 4px 14px !important;
        border-radius: 20px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: background 0.3s !important;
    }

    .single-post-hero .sph-cats a:hover {
        background: rgba(255,255,255,0.3) !important;
    }

    .single-post-hero h1 {
        color: #fff !important;
        font-size: 34px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
        margin: 0 0 16px !important;
    }

    .single-post-hero .sph-meta {
        color: rgba(255,255,255,0.7) !important;
        font-size: 14px !important;
    }

    .single-post-hero .sph-meta a {
        color: #fff !important;
        font-weight: 600 !important;
        text-decoration: none !important;
    }

    .single-post-hero .sph-meta span {
        margin: 0 10px !important;
        opacity: 0.5 !important;
    }

    .single-post-hero .sph-breadcrumb {
        margin-bottom: 16px !important;
        font-size: 13px !important;
    }

    .single-post-hero .sph-breadcrumb a {
        color: rgba(255,255,255,0.6) !important;
        text-decoration: none !important;
    }

    .single-post-hero .sph-breadcrumb a:hover {
        color: #fff !important;
    }

    .single-post-hero .sph-breadcrumb .sph-sep {
        color: rgba(255,255,255,0.4) !important;
        margin: 0 8px !important;
    }

    /* Hide original title, meta, and categories inside article */
    body.single-post .single-blog-header,
    body.single-post h1.single-post-title,
    body.single-post h1.entry-title,
    body.single-post article > .meta:first-of-type,
    body.single-post article > ul.meta {
        display: none !important;
    }

    /* Background */
    body.single-post .content-area {
        background: #f5f9fc !important;
        padding: 30px 0 !important;
    }

    body.single-post #content-wrap {
        padding-top: 0 !important;
    }

    /* Article card wrapper */
    body.single-post .single-blog-article {
        background: #fff !important;
        border-radius: 14px !important;
        padding: 32px !important;
        box-shadow: 0 2px 20px rgba(0,0,0,0.05) !important;
    }

    /* Featured image */
    body.single-post .single-blog-media {
        margin: 0 -32px 28px !important;
    }

    body.single-post .single-blog-media img {
        width: 100% !important;
        max-height: 450px !important;
        object-fit: cover !important;
        border-radius: 0 !important;
        display: block !important;
    }

    /* Content */
    body.single-post .single-blog-content {
        font-size: 17px !important;
        line-height: 1.8 !important;
        color: #334155 !important;
        margin-top: 0 !important;
    }

    body.single-post .single-blog-content p {
        margin-bottom: 20px !important;
    }

    body.single-post .single-blog-content h2 {
        font-size: 26px !important;
        font-weight: 700 !important;
        color: #1a3a5c !important;
        margin: 36px 0 16px !important;
        padding-bottom: 10px !important;
        border-bottom: 2px solid #e8f1f5 !important;
    }

    body.single-post .single-blog-content h2::after {
        display: none !important;
    }

    body.single-post .single-blog-content h3 {
        font-size: 21px !important;
        font-weight: 700 !important;
        color: #1a3a5c !important;
        margin: 28px 0 12px !important;
    }

    body.single-post .single-blog-content h4 {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #3e96c0 !important;
        margin: 24px 0 10px !important;
    }

    body.single-post .single-blog-content blockquote {
        border-left: 4px solid #3e96c0 !important;
        background: #f0f7fb !important;
        padding: 20px 24px !important;
        border-radius: 0 12px 12px 0 !important;
        margin: 28px 0 !important;
        font-style: italic !important;
        color: #475569 !important;
    }

    body.single-post .single-blog-content img {
        border-radius: 12px !important;
        margin: 20px 0 !important;
    }

    body.single-post .single-blog-content ul,
    body.single-post .single-blog-content ol {
        padding-left: 24px !important;
        margin-bottom: 20px !important;
    }

    body.single-post .single-blog-content li {
        margin-bottom: 8px !important;
        line-height: 1.7 !important;
    }

    body.single-post .single-blog-content a {
        color: #3e96c0 !important;
        text-decoration: underline !important;
        text-underline-offset: 2px !important;
    }

    body.single-post .single-blog-content a:hover {
        color: #1a3a5c !important;
    }

    /* Social share */
    body.single-post .wpex-social-share {
        border-top: 1px solid #e2e8f0 !important;
        margin-top: 32px !important;
        padding-top: 20px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    /* Related posts */
    body.single-post .related-posts {
        background: transparent !important;
        border-top: 1px solid #e2e8f0 !important;
        padding-top: 28px !important;
        margin: 0 !important;
    }

    body.single-post .related-posts .theme-heading {
        font-size: 22px !important;
        font-weight: 700 !important;
        color: #1a3a5c !important;
        margin-bottom: 20px !important;
    }

    body.single-post .related-posts .related-post-entry img {
        border-radius: 10px !important;
        height: 160px !important;
        object-fit: cover !important;
        width: 100% !important;
    }

    body.single-post .related-posts .related-post-entry-title {
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #1a3a5c !important;
    }

    body.single-post .related-posts .related-post-entry-title a {
        text-decoration: none !important;
    }

    /* Author box if present */
    body.single-post .author-info {
        background: #f5f9fc !important;
        border-radius: 12px !important;
        padding: 24px !important;
        border: 1px solid #e8f1f5 !important;
        margin-top: 28px !important;
    }

    body.single-post .author-info-avatar img {
        border-radius: 50% !important;
    }

    /* Post navigation */
    body.single-post .post-pagination-wrap {
        border-top: 1px solid #e2e8f0 !important;
        padding-top: 24px !important;
        margin-top: 28px !important;
    }

    body.single-post .post-pagination-wrap a {
        color: #3e96c0 !important;
        text-decoration: none !important;
        font-weight: 600 !important;
    }

    /* PAGINATION - wrapper */
    .vcex-pagination,
    .wpex-pagination,
    ul.page-numbers {
        display: flex !important;
        justify-content: center !important;
        gap: 8px !important;
        margin-top: 40px !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .vcex-pagination li,
    .wpex-pagination li,
    ul.page-numbers li {
        list-style: none !important;
    }

    /* ============================================
       RESPONSIVE
       ============================================ */

    /* TABLET - 1024px and below */
    @media (max-width: 1024px) {
        .vcex-blog-grid { grid-template-columns: repeat(2, 1fr) !important; }
        body.blog .vcex-blog-grid, body.page-id-295 .vcex-blog-grid, body.page-id-29207 .vcex-blog-grid { grid-template-columns: 1fr !important; }

        body.search #blog-entries,
        body.search-results #blog-entries {
            grid-template-columns: repeat(2, 1fr) !important;
        }

        /* Search hero */
        body.search .page-header-title,
        body.search-results .page-header-title {
            font-size: 28px !important;
        }
    }

    /* SMALL TABLET / LARGE PHONE - 768px and below */
    @media (max-width: 768px) {
        /* Blog grid stays 2 cols on tablet */
        .vcex-blog-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }

        /* Card images smaller */
        .vcex-blog-entry .vcex-blog-entry-media {
            height: 160px !important;
            min-height: 160px !important;
            max-height: 160px !important;
        }

        .vcex-blog-entry-title, body .vcex-blog-entry-title, body .site-main .vcex-blog-entry-title {
            font-size: 15px !important;
        }

        .vcex-blog-entry-details { padding: 16px !important; }
        .vcex-blog-entry-excerpt { font-size: 13px !important; margin-bottom: 12px !important; }
        .vcex-blog-entry .entry-readmore { padding: 7px 14px !important; font-size: 14px !important; }

        /* Search grid 2 cols */
        body.search #blog-entries,
        body.search-results #blog-entries {
            grid-template-columns: repeat(2, 1fr) !important;
            gap: 16px !important;
        }

        /* Search hero text */
        body.search .page-header-title,
        body.search-results .page-header-title {
            font-size: 24px !important;
        }

        body.search .page-header,
        body.search-results .page-header {
            padding: 40px 15px !important;
        }

        /* Single post hero */
        .single-post-hero { padding: 35px 0 30px !important; }
        .single-post-hero h1 { font-size: 26px !important; }
        .single-post-hero .sph-meta { font-size: 13px !important; }
        .single-post-hero .sph-breadcrumb { font-size: 14px !important; }
        .single-post-hero .sph-cats a { font-size: 11px !important; padding: 3px 10px !important; }

        /* Single post content */
        body.single-post .single-blog-article { padding: 20px !important; border-radius: 10px !important; }
        body.single-post .single-blog-media { margin: 0 -20px 20px !important; }
        body.single-post .single-blog-content { font-size: 16px !important; }
        body.single-post .single-blog-content h2 { font-size: 22px !important; margin: 28px 0 12px !important; }
        body.single-post .single-blog-content h3 { font-size: 19px !important; }

        /* Blog hero */
        body.blog .page-header,
        body.archive .page-header,
        body.page-id-295 .page-header,
        body.page-id-22503 .page-header,
        body.page-id-24132 .page-header {
            padding: 40px 15px !important;
        }

        /* Sidebar search box */
        .blog-search-box { padding: 16px !important; }
        .blog-search-box .widget-title { font-size: 16px !important; margin-bottom: 12px !important; padding-bottom: 10px !important; }
        .blog-search-box input[type="search"] { padding: 8px 12px !important; font-size: 13px !important; }
        .blog-search-box button { padding: 8px 14px !important; font-size: 13px !important; }

        /* Pagination */
        .page-numbers { padding: 6px 10px !important; font-size: 13px !important; }
    }

    /* MOBILE - 540px and below */
    @media (max-width: 540px) {
        /* Blog grid: 1 column on phone */
        .vcex-blog-grid { grid-template-columns: 1fr !important; gap: 20px !important; }

        .vcex-blog-entry .vcex-blog-entry-media {
            height: 200px !important;
            min-height: 200px !important;
            max-height: 200px !important;
        }

        .vcex-blog-entry-title, body .vcex-blog-entry-title, body .site-main .vcex-blog-entry-title {
            font-size: 17px !important;
        }

        .vcex-blog-entry-details { padding: 20px !important; }
        .vcex-blog-entry-excerpt { font-size: 14px !important; }

        /* Search grid 1 column */
        body.search #blog-entries,
        body.search-results #blog-entries {
            grid-template-columns: 1fr !important;
            gap: 16px !important;
        }

        /* Search hero text mobile */
        body.search .page-header-title,
        body.search-results .page-header-title {
            font-size: 20px !important;
            line-height: 1.3 !important;
        }

        /* Single post hero mobile */
        .single-post-hero { padding: 28px 0 24px !important; }
        .single-post-hero h1 { font-size: 22px !important; line-height: 1.3 !important; }
        .single-post-hero .sph-meta { font-size: 14px !important; }
        .single-post-hero .sph-meta span { margin: 0 6px !important; }
        .single-post-hero .sph-inner { padding: 0 16px !important; }

        /* Single content mobile */
        body.single-post .single-blog-article { padding: 16px !important; }
        body.single-post .single-blog-media { margin: 0 -16px 16px !important; }
        body.single-post .single-blog-content { font-size: 15px !important; line-height: 1.7 !important; }
        body.single-post .single-blog-content h2 { font-size: 20px !important; }
        body.single-post .single-blog-content h3 { font-size: 17px !important; }
        body.single-post .single-blog-content blockquote { padding: 14px 16px !important; margin: 20px 0 !important; }

        /* Related posts mobile */
        body.single-post .related-posts .related-post-entry img {
            height: 120px !important;
        }

        /* Search card */
        body.search .blog-entry-media { height: 160px !important; min-height: 160px !important; }
        body.search .blog-entry-media img { height: 160px !important; }

        /* Pagination mobile */
        .vcex-pagination, .wpex-pagination, ul.page-numbers {
            gap: 4px !important;
            flex-wrap: wrap !important;
        }
        .page-numbers { padding: 6px 10px !important; font-size: 14px !important; }
    }

    /* SMALL MOBILE - 375px and below */
    @media (max-width: 375px) {
        .single-post-hero h1 { font-size: 20px !important; }
        .single-post-hero .sph-breadcrumb { font-size: 11px !important; }

        body.search .page-header-title,
        body.search-results .page-header-title {
            font-size: 18px !important;
        }

        .vcex-blog-entry-details { padding: 16px !important; }
    }

/* ==========================================
   SOURCE: interactive-spine.php (block 1)
   ========================================== */
/* Remove blur */
    body.page-id-3496 .difuminado {
        filter: none !important;
        -webkit-filter: none !important;
        opacity: 1 !important;
    }

    /* ── Info card styling ── */
    body.page-id-3496 .tab_content {
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-left: 4px solid #3e96c0 !important;
        border-radius: 12px !important;
        padding: 22px 20px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
    }
    body.page-id-3496 .tab_content .textContainer {
        margin-bottom: 10px !important;
    }
    body.page-id-3496 .tab_content .textCont {
        margin-bottom: 14px !important;
    }
    body.page-id-3496 .tab_content .textCont .ttl {
        display: inline-block !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.8px !important;
        padding: 5px 12px !important;
        border-radius: 6px !important;
        margin-bottom: 8px !important;
    }
    body.page-id-3496 .tab_content .textCont:first-child .ttl {
        background: #fef2f2 !important;
        color: #dc2626 !important;
    }
    body.page-id-3496 .tab_content .textCont.pad_last .ttl {
        background: #fffbeb !important;
        color: #d97706 !important;
    }
    body.page-id-3496 .tab_content .textCont p {
        font-size: 13.5px !important;
        line-height: 1.6 !important;
        color: #374151 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body.page-id-3496 .tab_content .imgCont {
        margin-top: 10px !important;
    }
    body.page-id-3496 .tab_content .imgCont img {
        opacity: 0.9 !important;
        max-height: 320px !important;
        width: auto !important;
    }

    /* ═══ MOBILE: spine + card side by side, properly sized ═══ */
    @media (max-width: 767px) {
        body.page-id-3496 .slide-show.vc_row {
            display: flex !important;
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            gap: 10px !important;
        }
        /* Spine column - force visible, 30% width */
        body.page-id-3496 ul.tabs.vc_col-xs-4 {
            width: 25% !important;
            min-width: 50px !important;
            display: block !important;
            visibility: visible !important;
            opacity: 1 !important;
            padding: 0 !important;
            float: none !important;
            flex-shrink: 0 !important;
        }
        body.page-id-3496 ul.tabs li {
            margin-bottom: 1px !important;
        }
        body.page-id-3496 ul.tabs li a {
            display: block !important;
            height: 100% !important;
            width: 100% !important;
        }
        /* Info card - take remaining space */
        body.page-id-3496 .tab_container.vc_col-xs-8 {
            width: 75% !important;
            padding: 0 !important;
            float: none !important;
            flex: 1 !important;
            min-width: 0 !important;
        }
        body.page-id-3496 .tab_content {
            padding: 14px 12px !important;
            border-radius: 10px !important;
        }
        body.page-id-3496 .tab_content .textCont .ttl {
            font-size: 10px !important;
            padding: 4px 8px !important;
        }
        body.page-id-3496 .tab_content .textCont p {
            font-size: 12.5px !important;
            line-height: 1.5 !important;
        }
        body.page-id-3496 .tab_content .textCont {
            margin-bottom: 10px !important;
        }
        /* Body image smaller on mobile */
        body.page-id-3496 .tab_content .imgCont img {
            max-height: 200px !important;
        }
    }

    @media (max-width: 480px) {
        body.page-id-3496 ul.tabs.vc_col-xs-4 {
            width: 20% !important;
            min-width: 40px !important;
        }
        body.page-id-3496 .tab_container.vc_col-xs-8 {
            width: 80% !important;
        }
        body.page-id-3496 .tab_content .textCont p {
            font-size: 11.5px !important;
        }
        body.page-id-3496 .tab_content .imgCont img {
            max-height: 160px !important;
        }
    }

/* SOURCE: interactive-spine.php (page 3496 only - scoped with body.page-id-3496) */
/* Remove blur */
    body.page-id-3496 .difuminado {
        filter: none !important;
        -webkit-filter: none !important;
        opacity: 1 !important;
    }

    /* ── Info card styling ── */
    body.page-id-3496 .tab_content {
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-left: 4px solid #3e96c0 !important;
        border-radius: 12px !important;
        padding: 22px 20px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
    }
    body.page-id-3496 .tab_content .textContainer {
        margin-bottom: 10px !important;
    }
    body.page-id-3496 .tab_content .textCont {
        margin-bottom: 14px !important;
    }
    body.page-id-3496 .tab_content .textCont .ttl {
        display: inline-block !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.8px !important;
        padding: 5px 12px !important;
        border-radius: 6px !important;
        margin-bottom: 8px !important;
    }
    body.page-id-3496 .tab_content .textCont:first-child .ttl {
        background: #fef2f2 !important;
        color: #dc2626 !important;
    }
    body.page-id-3496 .tab_content .textCont.pad_last .ttl {
        background: #fffbeb !important;
        color: #d97706 !important;
    }
    body.page-id-3496 .tab_content .textCont p {
        font-size: 13.5px !important;
        line-height: 1.6 !important;
        color: #374151 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body.page-id-3496 .tab_content .imgCont {
        margin-top: 10px !important;
    }
    body.page-id-3496 .tab_content .imgCont img {
        opacity: 0.9 !important;
        max-height: 320px !important;
        width: auto !important;
    }

    /* ═══ MOBILE: spine + card side by side, properly sized ═══ */
    @media (max-width: 767px) {
        body.page-id-3496 .slide-show.vc_row {
            display: flex !important;
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            gap: 10px !important;
        }
        /* Spine column - force visible, 30% width */
        body.page-id-3496 ul.tabs.vc_col-xs-4 {
            width: 25% !important;
            min-width: 50px !important;
            display: block !important;
            visibility: visible !important;
            opacity: 1 !important;
            padding: 0 !important;
            float: none !important;
            flex-shrink: 0 !important;
        }
        body.page-id-3496 ul.tabs li {
            margin-bottom: 1px !important;
        }
        body.page-id-3496 ul.tabs li a {
            display: block !important;
            height: 100% !important;
            width: 100% !important;
        }
        /* Info card - take remaining space */
        body.page-id-3496 .tab_container.vc_col-xs-8 {
            width: 75% !important;
            padding: 0 !important;
            float: none !important;
            flex: 1 !important;
            min-width: 0 !important;
        }
        body.page-id-3496 .tab_content {
            padding: 14px 12px !important;
            border-radius: 10px !important;
        }
        body.page-id-3496 .tab_content .textCont .ttl {
            font-size: 10px !important;
            padding: 4px 8px !important;
        }
        body.page-id-3496 .tab_content .textCont p {
            font-size: 12.5px !important;
            line-height: 1.5 !important;
        }
        body.page-id-3496 .tab_content .textCont {
            margin-bottom: 10px !important;
        }
        /* Body image smaller on mobile */
        body.page-id-3496 .tab_content .imgCont img {
            max-height: 200px !important;
        }
    }

    @media (max-width: 480px) {
        body.page-id-3496 ul.tabs.vc_col-xs-4 {
            width: 20% !important;
            min-width: 40px !important;
        }
        body.page-id-3496 .tab_container.vc_col-xs-8 {
            width: 80% !important;
        }
        body.page-id-3496 .tab_content .textCont p {
            font-size: 11.5px !important;
        }
        body.page-id-3496 .tab_content .imgCont img {
            max-height: 160px !important;
        }
    }
/* ==========================================
   GLOBAL STICKY CTA BAR (from global-sticky-banner.php)
   ========================================== */
.global-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
    padding: 12px 0;
    display: flex;
    justify-content: center;
    gap: 12px;
}

.global-sticky-bar a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none !important;
    border: none !important;
    transition: all 0.3s;
}

.gsb-call {
    background: #1a3a5c;
    color: #fff !important;
}
.gsb-call:hover { background: #0f2a42; }

.gsb-book {
    background: #3e96c0;
    color: #fff !important;
}
.gsb-book:hover { background: #2d7da8; }

.gsb-wa {
    background: #25d366;
    color: #fff !important;
}
.gsb-wa:hover { background: #1da851; }

/* Hide Llamar on desktop */
@media (min-width: 960px) {
    .gsb-call { display: none !important; }
}

/* Mobile adjustments */
@media (max-width: 959px) {
    .global-sticky-bar {
        gap: 6px;
        padding: 10px 8px;
    }
    .global-sticky-bar a {
        padding: 10px 14px;
        font-size: 12px;
        gap: 5px;
    }
    #corePwaInstallBtn {
        bottom: 75px !important;
    }
}

/* HIDE old floating phone/whatsapp buttons */
.wpex-mobile-menu-extra a[href^="tel:"],
a.wpex-phone-btn,
a.wpex-whatsapp-btn,
.phone-header-btn,
.whatsapp-float,
#whatsapp-chat-widget,
.wpex-mobile-menu-toggle-fixed,
a[href^="tel:"].floating-btn,
a[href*="wa.me"].floating-btn,
.joinchat,
.joinchat__button,
.joinchat__tooltip,
#callnowbutton,
.call-now-button,
.cnb-single,
[class*="cnb-"],
#qlwapp,
.qlwapp-container,
.whatsapp-me,
.js-joinchat {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Give body bottom padding so content isnt hidden behind bar */
body {
    padding-bottom: 70px !important;
}

@media (max-width: 959px) {
    body {
        padding-bottom: 65px !important;
    }
}



/* ==========================================
   FIX: typography-white - exact specificity match
   ========================================== */
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white p,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white .wpb_text_column p,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white .entry-content p,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white strong,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white .wpb_text_column strong,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white .entry-content strong,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white h2,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white h3,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white h4,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white a,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white li,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white span {
    color: #ffffff !important;
}
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white h2::after,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white .entry-content h2::after,
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white .wpb_text_column h2::after {
    display: none !important;
}
body.page:not(.home):not(.page-id-25471):not(.page-id-462):not(.page-id-22252):not(.page-id-22255):not(.page-id-22257):not(.page-id-22262):not(.page-id-22506):not(.blog) .site-main .typography-white a:not(.wpex-btn):not([class*="btn"]) {
    color: #ffffff !important;
    border-bottom-color: rgba(255,255,255,0.3) !important;
}








/* ==========================================
   BLOG CARDS — ADAPTIVE DESIGN
   Compact for sidebar (blog), spacious for full-width (inner pages)
   ========================================== */

.vcex-blog-grid { gap: 16px !important; }

/* Card base */
.vcex-blog-entry {
    background: #fff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 8px rgba(0,0,0,0.06) !important;
    transition: all 0.3s ease !important;
}
.vcex-blog-entry:hover {
    box-shadow: 0 6px 20px rgba(62,150,192,0.12) !important;
    transform: translateY(-2px) !important;
}

/* Image */
.vcex-blog-entry .vcex-blog-entry-media {
    overflow: hidden !important; margin: 0 !important; line-height: 0 !important;
    height: 140px !important; min-height: 140px !important; max-height: 140px !important;
    position: relative !important;
}
.vcex-blog-entry .vcex-blog-entry-media a {
    display: block !important; width: 100% !important; height: 100% !important;
}
.vcex-blog-entry .vcex-blog-entry-media img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; display: block !important;
    transition: transform 0.4s ease !important;
}
.vcex-blog-entry:hover .vcex-blog-entry-media img { transform: scale(1.04) !important; }

/* Card body */
.vcex-blog-entry .vcex-blog-entry-details,
.vcex-blog-entry .entry-details {
    padding: 12px 14px 14px !important;
}
.vcex-blog-entry-inner {
    display: flex !important; flex-direction: column !important; height: 100% !important;
}

/* Title: SMALL for narrow cards, NO truncation mid-word */
.vcex-blog-entry .vcex-blog-entry-title,
.vcex-blog-entry h2.vcex-blog-entry-title,
.vcex-blog-entry h2.entry-title,
body.page .site-main .vcex-blog-entry h2,
body.page .site-main .vcex-blog-entry .vcex-blog-entry-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: #1a3a5c !important;
    margin-top: 0 !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
}
.vcex-blog-entry .vcex-blog-entry-title a,
body.page .site-main .vcex-blog-entry .vcex-blog-entry-title a {
    color: #1a3a5c !important; text-decoration: none !important;
    border-bottom: none !important; font-size: inherit !important;
}
.vcex-blog-entry .vcex-blog-entry-title a:hover { color: #3e96c0 !important; }

/* Kill h2::after */
.vcex-blog-entry .vcex-blog-entry-title::after,
.vcex-blog-entry h2::after,
body.page .site-main .vcex-blog-entry h2::after {
    display: none !important; content: none !important;
    width: 0 !important; height: 0 !important;
    background: none !important; margin: 0 !important;
}

/* Date */
.vcex-blog-entry .vcex-blog-entry-date {
    font-size: 10px !important; color: #94a3b8 !important;
    text-transform: uppercase !important; letter-spacing: 0.3px !important;
    margin-bottom: 6px !important;
}

/* Excerpt */
.vcex-blog-entry .vcex-blog-entry-excerpt {
    font-size: 14px !important; line-height: 1.45 !important;
    color: #64748b !important; margin-bottom: 10px !important;
    display: -webkit-box !important; -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important; overflow: hidden !important;
}
.vcex-blog-entry .vcex-blog-entry-excerpt p { margin: 0 !important; }

/* Button: very compact */
.vcex-blog-entry .entry-readmore,
.vcex-blog-entry .theme-button,
.vcex-blog-entry a.theme-button {
    background: #3e96c0 !important; color: #fff !important;
    border: none !important; border-radius: 5px !important;
    padding: 5px 12px !important; font-size: 11px !important;
    font-weight: 600 !important; display: inline-block !important;
    text-decoration: none !important; transition: background 0.3s !important;
}
.vcex-blog-entry .entry-readmore:hover,
.vcex-blog-entry .theme-button:hover { background: #2d7da8 !important; }
.vcex-blog-entry-readmore-wrap { margin-top: auto !important; }

/* === FULL-WIDTH PAGES (inner pages like Marc Bony, Qué es quiropráctica) === */
/* These have more space, so cards can be bigger */
.single-page-content .vcex-blog-entry .vcex-blog-entry-media {
    height: 180px !important; min-height: 180px !important; max-height: 180px !important;
}
.single-page-content .vcex-blog-entry .vcex-blog-entry-details {
    padding: 16px 18px 18px !important;
}
.single-page-content .vcex-blog-entry .vcex-blog-entry-title,
.single-page-content .vcex-blog-entry h2 {
    font-size: 15px !important;
    font-weight: 700 !important;
    -webkit-line-clamp: 2 !important;
}
.single-page-content .vcex-blog-entry .vcex-blog-entry-date {
    font-size: 11px !important;
}
.single-page-content .vcex-blog-entry .vcex-blog-entry-excerpt {
    font-size: 13px !important;
}
.single-page-content .vcex-blog-entry .entry-readmore {
    padding: 6px 14px !important; font-size: 14px !important;
}

/* Responsive */
@media (max-width: 1024px) {
    body.blog .vcex-blog-grid,
    body.page-id-295 .vcex-blog-grid,
    body.page-id-29207 .vcex-blog-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
    .vcex-blog-entry.span_1_of_3,
    .vcex-blog-entry.span_1_of_2 {
        width: 100% !important; float: none !important; margin: 0 0 14px !important;
    }
    body.blog .vcex-blog-grid,
    body.page-id-295 .vcex-blog-grid,
    body.page-id-29207 .vcex-blog-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
}

/* FIX: Override 32px h2 ONLY inside blog cards, not on the whole page */
body.page .site-main .vcex-blog-entry h2.vcex-blog-entry-title,
body.page .site-main .vcex-blog-entry h2.entry-title,
body.page .site-main .vcex-blog-entry .vcex-blog-entry-title,
body.page .site-main .vcex-blog-grid .vcex-blog-entry h2,
body.page .site-main .single-page-content .vcex-blog-entry h2,
body.page .site-main .entry-content .vcex-blog-entry h2,
body.page .site-main article .vcex-blog-entry h2 {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 0 0 6px !important;
    margin-top: 0 !important;
    padding: 0 !important;
    padding-bottom: 0 !important;
    color: #1a3a5c !important;
    position: static !important;
}
body.page .site-main .vcex-blog-entry h2::after,
body.page .site-main .vcex-blog-grid .vcex-blog-entry h2::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    margin: 0 !important;
}

/* Inner pages with vcex_blog_grid: force 3 columns */
body.page-id-2731 .vcex-blog-grid,
body.page-id-28775 .vcex-blog-grid,
body.page-id-3411 .vcex-blog-grid,
body.page-id-28783 .vcex-blog-grid,
body.page-id-26994 .vcex-blog-grid,
body.page-id-28704 .vcex-blog-grid,
body.page-id-26995 .vcex-blog-grid,
body.page-id-28717 .vcex-blog-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
}
body.page-id-2731 .vcex-blog-grid .vcex-blog-entry,
body.page-id-28775 .vcex-blog-grid .vcex-blog-entry,
body.page-id-3411 .vcex-blog-grid .vcex-blog-entry,
body.page-id-28783 .vcex-blog-grid .vcex-blog-entry,
body.page-id-26994 .vcex-blog-grid .vcex-blog-entry,
body.page-id-28704 .vcex-blog-grid .vcex-blog-entry,
body.page-id-26995 .vcex-blog-grid .vcex-blog-entry,
body.page-id-28717 .vcex-blog-grid .vcex-blog-entry {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
@media (max-width: 768px) {
    body.page-id-2731 .vcex-blog-grid,
    body.page-id-28775 .vcex-blog-grid,
    body.page-id-3411 .vcex-blog-grid,
    body.page-id-28783 .vcex-blog-grid,
    body.page-id-26994 .vcex-blog-grid,
    body.page-id-28704 .vcex-blog-grid,
    body.page-id-26995 .vcex-blog-grid,
    body.page-id-28717 .vcex-blog-grid {
        grid-template-columns: 1fr !important;
    }
}
