﻿/* =========================================
   LIMITADOR GLOBAL DE LARGURA (Full-Width Pages)
   ========================================= */
/* ForÃ§a o limite de 1240px em TODOS os elementos do tema, exceto covers */
.mb-wrapper,
.h-container:not(.mb-hero-d-cover):not(.mb-hero-d-video-cover):not(.mb-hero-m-cover):not(.mb-hero-m-video-cover),
.mb-dyn-grid,
.mb-cta-container {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.mb-wrapper {
    max-width: 1240px;
    /* Alinhado com a logo */
    margin: 0 auto;
    padding: 20px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Visibility Helpers (Added to Top) */
.h-desktop-only,
.h-mobile-only {
    display: none !important;
}

@media (min-width: 901px) {

    .h-desktop-only,
    div.h-desktop-only,
    span.h-desktop-only,
    video.h-desktop-only {
        display: block !important;
    }
}

@media (max-width: 900px) {

    .h-mobile-only,
    div.h-mobile-only,
    span.h-mobile-only,
    video.h-mobile-only {
        display: block !important;
    }
}

/* =========================================
   HERO CLEAN SAFE (Novo Bloco)
   ========================================= */
.hero-clean-safe {
    position: relative;
    padding: 80px 0 60px 0;
    background: #ffffff;
    width: 100%;
    display: block;
    clear: both;
    overflow: hidden;
    /* Background default is clean white */
}

/* Background apply only on COVER layouts */
@media (min-width: 901px) {

    .mb-hero-d-cover,
    .mb-hero-d-video-cover {
        background-image: var(--hero-bg) !important;
        background-size: cover !important;
        background-position: center !important;
        /* Breakout Uniforme Desktop */
        margin-left: -20px !important;
        margin-right: -20px !important;
        width: calc(100% + 40px) !important;
        max-width: none !important;
    }

    .mb-hero-d-cover::before,
    .mb-hero-d-video-cover::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--hero-ov-color, #000);
        opacity: var(--hero-ov-opacity, 0.6);
        z-index: 1;
        /* Overlay acima do bg/video */
        pointer-events: none;
    }
}

@media (max-width: 900px) {

    .mb-hero-m-cover,
    .mb-hero-m-video-cover {
        background-image: var(--hero-bg-m) !important;
        background-size: cover !important;
        background-position: center !important;
        /* Breakout Uniforme Mobile */
        margin-left: -20px !important;
        margin-right: -20px !important;
        width: calc(100% + 40px) !important;
        max-width: none !important;
        position: relative;
        left: auto;
        right: auto;
    }

    .mb-hero-m-cover::before,
    .mb-hero-m-video-cover::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--hero-ov-color, #000);
        opacity: var(--hero-ov-opacity, 0.6);
        z-index: 1;
        /* Overlay acima do bg/video */
        pointer-events: none;
    }
}

/* Media Layers (VÃ­deo Background) */
.mb-hero-media-layers {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    /* Base Layer */
    overflow: hidden;
    pointer-events: none;
}

.mb-hero-video-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

/* Ensure Standard is explicitly white */
.hero-clean-safe {
    background-color: #ffffff !important;
}

.h-container {
    position: relative;
    z-index: 2;
    /* Content above overlay */
    max-width: 1240px;
    /* Alinhado com a logo */
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 60px;
}

.h-content {
    flex: 1;
}

.h-tag {
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #64748b;
    /* Gray Slate */
    font-weight: 700;
    margin-bottom: 15px;
    display: block;
}

h1.h-title {
    font-size: clamp(32px, 4vw, 42px) !important;
    line-height: 1.15 !important;
    font-weight: 800;
    color: #0f172a;
    /* Dark Slate */
    margin: 10px 0 25px 0 !important;
}

.h-title span {
    color: var(--wa-span-color, #0a2042);
    /* Updated to use global variable */
    /* BRAND BLUE / DYNAMIC */
}

.h-desc {
    font-size: 18px !important;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 35px;
    max-width: 480px;
}

.h-btns {
    display: flex;
    gap: 15px;
    margin-bottom: 45px;
    flex-wrap: wrap;
}

/* Buttons Harmonization */
.btn-minimalist {
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    border-radius: 5px;
    /* Less rounded for professional look */
    transition: all 0.2s ease;
    display: inline-block;
    cursor: pointer;
}

.btn-primary {
    background: var(--wa-btn-color, #dd3612) !important;
    /* Updated to use global variable */
    color: #fff !important;
    border: 1px solid var(--wa-btn-color, #dd3612) !important;
    box-shadow: 0 4px 10px rgba(10, 32, 66, 0.25);
}

.btn-primary:hover {
    background: #a10000 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0, 102, 255, 0.35);
}

.btn-secondary {
    background: transparent !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
}

.btn-secondary:hover {
    border-color: #0f172a !important;
    background: #f8fafc !important;
}

/* MÃ©tricas */
.h-metrics {
    display: flex;
    gap: 40px;
    border-top: 1px solid #e2e8f0;
    padding-top: 25px;
}

.m-item strong {
    display: block;
    font-size: 20px !important;
    color: #0f172a;
    font-weight: 800;
}

.m-item span {
    font-size: 13px !important;
    color: #64748b;
}

/* Visual Hero */
.h-visual {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: center;
}

.h-circle-bg {
    position: absolute;
    width: 120%;
    height: 120%;
    top: -10%;
    left: -10%;
    background: radial-gradient(circle, rgba(0, 102, 255, 0.04) 0%, transparent 70%);
    z-index: 1;
}

.h-image-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    /* Overflow visible fix: badges flutuantes */
    overflow: visible;
}

/* Novo Conteiner para Recorte 16:9 */
.h-media-inner {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 Aspect Ratio */
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(0, 0, 0, 0.05);
    background: #f1f5f9;
}

/* .h-visual-bg replaces the img tag for seamless transition */
.h-visual-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: background-image 1s ease-in-out;
    z-index: 1;
}

/* Badges */
.h-badge {
    position: absolute;
    background: #fff;
    padding: 12px 18px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 10;
    border: 1px solid #f1f5f9;
    animation: floatBadge 4s ease-in-out infinite;
}

@keyframes floatBadge {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

.h-badge-txt strong {
    display: block;
    font-size: 13px !important;
    color: #0f172a;
    margin: 0;
    line-height: 1.2;
}

.h-badge-txt span {
    font-size: 11px !important;
    color: #64748b;
    display: block;
}

.h-icon {
    font-size: 20px;
}

.h-badge-top {
    top: -20px;
    right: -25px;
    animation-delay: 0s;
}

.h-badge-bottom {
    bottom: 25px;
    right: -35px;
    animation-delay: 2s;
}

.h-live {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: rgba(15, 23, 42, 0.85);
    /* Darker backdrop */
    color: #fff;
    padding: 6px 14px;
    border-radius: 30px;
    font-size: 11px !important;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 20;
    /* Garantir visibilidade sobre overlays */
}

@media (max-width: 900px) {
    .h-title span {
        color: var(--hero-span-color-m, var(--hero-span-color, #0a2042)) !important;
    }
}

.h-dot {
    width: 8px;
    height: 8px;
    background: #ef4444;
    /* Red dot for LIVE/REC */
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(239, 68, 68, 0.6);
    animation: pulseDot 1.5s infinite;
}

@keyframes pulseDot {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.5;
        transform: scale(0.9);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* =========================================
   HERO COVER MODES (Desktop/Mobile)
   ========================================= */

/* Desktop Cover Mode */
@media (min-width: 901px) {
    .hero-clean-safe.mb-hero-d-cover {
        background-image: var(--hero-bg);
        background-size: cover;
        background-position: center;
        position: relative;
        transition: background-image 1s ease-in-out;

        /* Standard Breakout */
        width: 100vw;
        left: auto;
        margin-left: auto;
        margin-right: auto;
        right: auto;
        box-sizing: border-box;
    }

    /* Shared Centralized Layout for covers */
    .hero-clean-safe.mb-hero-d-cover .h-container,
    .hero-clean-safe.mb-hero-d-video-cover .h-container {
        position: relative;
        z-index: 1;
        justify-content: center;
    }

    .hero-clean-safe.mb-hero-d-cover .h-content,
    .hero-clean-safe.mb-hero-d-video-cover .h-content {
        text-align: center;
        max-width: 800px;
        margin: 0 auto;
    }

    .hero-clean-safe.mb-hero-d-cover .h-desc,
    .hero-clean-safe.mb-hero-d-video-cover .h-desc {
        color: #fff;
        margin: 0 auto 35px auto;
        /* Fix Center Alignment */
    }

    .hero-clean-safe.mb-hero-d-cover .h-tag,
    .hero-clean-safe.mb-hero-d-cover .h-title,
    .hero-clean-safe.mb-hero-d-video-cover .h-tag,
    .hero-clean-safe.mb-hero-d-video-cover .h-title {
        color: #fff;
    }

    .hero-clean-safe.mb-hero-d-cover .h-title span,
    .hero-clean-safe.mb-hero-d-video-cover .h-title span {
        color: var(--hero-span-color, #dd3612);
        /* Herdar cor configurada */
    }

    .hero-clean-safe.mb-hero-d-cover .m-item span,
    .hero-clean-safe.mb-hero-d-cover .m-item strong,
    .hero-clean-safe.mb-hero-d-video-cover .m-item span,
    .hero-clean-safe.mb-hero-d-video-cover .m-item strong {
        color: #fff;
    }

    .hero-clean-safe.mb-hero-d-cover .h-visual,
    .hero-clean-safe.mb-hero-d-video-cover .h-visual {
        display: none;
    }

    .hero-clean-safe.mb-hero-d-cover .h-btns,
    .hero-clean-safe.mb-hero-d-video-cover .h-btns {
        justify-content: center;
    }

    .hero-clean-safe.mb-hero-d-cover .h-metrics,
    .hero-clean-safe.mb-hero-d-video-cover .h-metrics {
        justify-content: center;
        border-top-color: rgba(255, 255, 255, 0.2);
    }

    .hero-clean-safe.mb-hero-d-cover .btn-secondary,
    .hero-clean-safe.mb-hero-d-video-cover .btn-secondary {
        border-color: #fff !important;
        color: #fff !important;
    }

    .hero-clean-safe.mb-hero-d-cover .btn-secondary:hover,
    .hero-clean-safe.mb-hero-d-video-cover .btn-secondary:hover {
        background: #fff !important;
        color: #0f172a !important;
    }

    /* Desktop Stacked Mode (Tablet-like) */
    @media (min-width: 901px) {
        .hero-clean-safe.mb-hero-d-stacked .h-container {
            flex-direction: column;
            justify-content: center;
            gap: 50px;
        }

        .hero-clean-safe.mb-hero-d-stacked .h-content {
            text-align: center;
            max-width: 800px;
            margin: 0 auto;
        }

        .hero-clean-safe.mb-hero-d-stacked .h-desc {
            margin: 0 auto 35px auto !important;
        }

        .hero-clean-safe.mb-hero-d-stacked .h-btns,
        .hero-clean-safe.mb-hero-d-stacked .h-metrics {
            justify-content: center;
        }

        .hero-clean-safe.mb-hero-d-stacked .h-visual {
            width: 100%;
            display: flex;
            justify-content: center;
        }

        .hero-clean-safe.mb-hero-d-stacked .h-image-wrapper {
            max-width: 600px;
            /* Tablet constraint */
            width: 100%;
        }

    }
}

/* Mobile Cover Mode */
/* Mobile Cover Mode (Legacy override removed) */
@media (max-width: 900px) {
    .hero-clean-safe.mb-hero-m-cover {
        padding-top: 100px;
        /* More padding for visuals */
        padding-bottom: 80px;
    }

    .hero-clean-safe.mb-hero-m-cover::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--hero-ov-color, #000);
        opacity: var(--hero-ov-opacity, 0.4);
        z-index: 0;
    }

    .hero-clean-safe.mb-hero-m-cover .h-container,
    .hero-clean-safe.mb-hero-m-video-cover .h-container {
        position: relative;
        z-index: 1;
    }

    .hero-clean-safe.mb-hero-m-cover .h-content,
    .hero-clean-safe.mb-hero-m-video-cover .h-content {
        text-align: center;
    }

    .hero-clean-safe.mb-hero-m-cover .h-tag,
    .hero-clean-safe.mb-hero-m-cover .h-title,
    .hero-clean-safe.mb-hero-m-cover .h-desc,
    .hero-clean-safe.mb-hero-m-cover .m-item span,
    .hero-clean-safe.mb-hero-m-video-cover .h-tag,
    .hero-clean-safe.mb-hero-m-video-cover .h-title,
    .hero-clean-safe.mb-hero-m-video-cover .h-desc,
    .hero-clean-safe.mb-hero-m-video-cover .m-item span {
        color: #fff;
    }

    .hero-clean-safe.mb-hero-m-cover .h-title span,
    .hero-clean-safe.mb-hero-m-video-cover .h-title span {
        color: #60a5fa;
    }

    .hero-clean-safe.mb-hero-m-cover .m-item strong,
    .hero-clean-safe.mb-hero-m-video-cover .m-item strong {
        color: #fff;
    }

    .hero-clean-safe.mb-hero-m-cover .h-visual,
    .hero-clean-safe.mb-hero-m-video-cover .h-visual {
        display: none !important;
    }

    .hero-clean-safe.mb-hero-m-cover .h-btns,
    .hero-clean-safe.mb-hero-m-video-cover .h-btns {
        justify-content: center;
    }

    .hero-clean-safe.mb-hero-m-cover .h-metrics,
    .hero-clean-safe.mb-hero-m-video-cover .h-metrics {
        justify-content: center;
        border-top-color: rgba(255, 255, 255, 0.2);
    }

    .hero-clean-safe.mb-hero-m-cover .btn-secondary,
    .hero-clean-safe.mb-hero-m-video-cover .btn-secondary {
        border-color: #fff !important;
        color: #fff !important;
    }

    .hero-clean-safe.mb-hero-m-cover .btn-secondary:hover,
    .hero-clean-safe.mb-hero-m-video-cover .btn-secondary:hover {
        background: #fff !important;
        color: #0f172a !important;
    }

    .mb-screens-carousel-wrapper {
        margin-bottom: -15px;
    }
}

/* =========================================
   HARMONIZAÃ‡ÃƒO GLOBAL (Cores Atualizadas)
   ========================================= */

/* Filtros */
.mb-header-filter {
    text-align: center;
    margin-bottom: 50px;
    background: transparent;
    padding: 80px 0 0 0;
    /* 80px topo (proporÃ§Ã£o Ã¡urea desktop) */
}

.mb-header-filter h2 {
    color: #1e293b;
    margin-bottom: 30px;
    font-size: 28px !important;
    font-weight: 700;
}

.mb-filter-row {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
    background: #fff;
    padding: 10px 15px;
    border-radius: 50px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.mb-filter-row select {
    padding: 0 20px;
    height: 48px;
    line-height: 48px;
    border-radius: 24px;
    border: 1px solid #e2e8f0;
    min-width: 160px;
    color: #334155;
    font-size: 14px;
    background-color: #f8fafc;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23334155%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 15px top 50%;
    background-size: 10px auto;
    padding-right: 30px;
}

.mb-btn-buscar {
    padding: 0 35px;
    height: 48px;
    background: #0a2042;
    /* BRAND BLUE */
    color: #fff;
    border: none;
    border-radius: 24px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.2s;
    white-space: nowrap;
}

.mb-btn-buscar:hover {
    background: #0052cc;
    /* Darker Blue */
}

/* Card Empresa */
.mb-empresa-block {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    margin-bottom: 40px;
    overflow: visible;
}

.mb-empresa-header {
    background: #fff;
    padding: 30px 20px;
    border-bottom: 2px solid #f1f5f9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 30px;
    text-align: center;
}

.mb-empresa-logo {
    width: 120px;
    /* Mobile: 1.5x do original */
    height: 120px;
    object-fit: contain;
    background: #fff;
    border-radius: 12px;
    border: 2px solid #e2e8f0;
    padding: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.mb-empresa-title {
    margin: 0;
    font-size: 24px !important;
    color: #0f172a;
    font-weight: 700;
}

.mb-empresa-meta {
    font-size: 14px !important;
    color: #64748b;
}

/* Estabelecimento Base */
.mb-empresa-locais {
    padding: 0;
}

.mb-local-block {
    margin-bottom: 60px;
    border-bottom: none;
    padding-bottom: 0;
}

.mb-local-block:last-child {
    margin-bottom: 0;
}

.mb-cta-header {
    margin-bottom: 60px;
    /* EspaÃ§amento antes das imagens */
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    color: #334155;
    font-size: 20px !important;
    font-weight: 700;
}

.mb-cta-description {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    color: #64748b;
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
}

.mb-local-header {
    margin-bottom: 20px;
    padding: 0 5px;
}

.mb-local-title {
    margin: 0 0 10px 0;
    color: #334155;
    font-size: 20px !important;
    font-weight: 700;
}

.mb-local-row-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.mb-local-meta-line {
    font-size: 14px !important;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.mb-sep {
    color: #cbd5e1;
}

/* PRO HEADER ESTABELECIMENTO */
.mb-local-header-pro {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    background: #0a2042;
    /* BRAND BLUE */
    padding: 20px;
    border: none;
    border-radius: 16px;
    box-shadow: 0 8px 20px rgba(10, 32, 66, 0.25);
}

/* Cores de texto para contraste no card azul */
.mb-local-header-pro .mb-local-title {
    color: #ffffff !important;
}

.mb-local-header-pro .mb-local-bread {
    color: rgba(255, 255, 255, 0.7) !important;
}

.mb-local-header-pro .mb-local-meta-line {
    color: rgba(255, 255, 255, 0.85) !important;
}

.mb-local-header-pro .mb-local-meta-line .mb-local-icon {
    opacity: 0.9;
}

.mb-local-header-pro .mb-sep {
    color: rgba(255, 255, 255, 0.4) !important;
}

.mb-local-header-pro .mb-screens-title {
    color: #ffffff !important;
}

.mb-local-header-pro .mb-screens-carousel-wrapper {
    background: rgba(255, 255, 255, 0.1);
}

.mb-local-header-pro .mb-screen-thumb {
    border-color: rgba(255, 255, 255, 0.3);
}

.mb-local-header-pro .mb-screen-thumb:hover {
    border-color: #ffffff;
}

.mb-local-header-pro .mb-screens-prev,
.mb-local-header-pro .mb-screens-next {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
    color: #ffffff;
}

.mb-local-header-pro .mb-screens-prev:hover,
.mb-local-header-pro .mb-screens-next:hover {
    background: #ffffff;
    color: #0a2042;
    border-color: #ffffff;
}

.mb-local-header-pro .mb-screens-title-block {
    border-right-color: #dd3612;
}

.mb-local-img-wrapper {
    width: 240px;
    /* Mobile: 240px conforme solicitado */
    height: 240px;
    flex-shrink: 0;
    border-radius: 12px;
    overflow: hidden;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 80px;
    /* Proporcional ao tamanho */
}

.mb-local-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mb-local-info-col {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.mb-local-action-col {
    flex-shrink: 0;
    margin-top: 0;
    /* Zerado para centralizar verticalmente */
    display: flex;
    align-items: center;
    /* CentralizaÃ§Ã£o vertical */
}

.mb-local-title {
    margin: 0 0 4px 0;
    font-size: 22px !important;
    /* Mobile: 22px conforme solicitado */
    color: #1e293b;
    font-weight: 700;
    line-height: 1.2;
}

.mb-local-meta-line {
    font-size: 16px !important;
    /* Mobile: 16px conforme solicitado */
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* Button "Anuncie Aqui" -> BRAND RED */
.mb-btn-anuncie-aqui {
    background-color: #dd3612;
    color: #fff !important;
    padding: 14px 28px;
    /* Aumentado: 10pxâ†’14px vertical, 24pxâ†’28px horizontal */
    border-radius: 50px;
    font-size: 14px !important;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s;
    box-shadow: 0 4px 10px rgba(153, 0, 0, 0.2);
    display: inline-block;
    white-space: nowrap;
    border: none;
    cursor: pointer;
}

.mb-btn-anuncie-aqui:hover {
    background-color: #7a0000;
    /* Darker Red */
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(153, 0, 0, 0.3);
}

/* Carrossel */
.mb-anuncios-label {
    margin: 10px 0;
    font-size: 14px !important;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mb-carousel-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    overflow: visible;
}

.mb-carousel-track {
    display: flex;
    gap: 15px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding-bottom: 5px;
    width: 100%;
    scrollbar-width: none;
}

.mb-carousel-track::-webkit-scrollbar {
    width: 0;
    height: 0;
    background: transparent;
    display: none;
}

.mb-carousel-prev,
.mb-carousel-next {
    position: absolute;
    top: 90px;
    transform: translateY(-50%);
    background: #fff;
    border: 1px solid #e2e8f0;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    color: #1e293b;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.2s;
    opacity: 0.9;
}

.mb-carousel-prev:hover,
.mb-carousel-next:hover {
    background: #0a2042;
    /* BRAND BLUE */
    color: #fff;
    opacity: 1;
    border-color: #0066ff;
    box-shadow: 0 6px 14px rgba(0, 102, 255, 0.3);
    transform: translateY(-50%) scale(1.1);
}

.mb-carousel-prev {
    left: -20px;
}

.mb-carousel-next {
    right: -20px;
}

/* Anuncio Card */
.mb-anuncio-card {
    min-width: 280px;
    max-width: 280px;
    scroll-snap-align: start;
    border: 1px solid #f1f5f9;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s, box-shadow 0.2s;
}

.mb-anuncio-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.mb-anuncio-img {
    height: 180px;
    background-size: cover;
    background-position: center;
    position: relative;
    border-bottom: 1px solid #f1f5f9;
}

/* Badge Cupom -> BRAND BLUE or RED? Let's use BLUE for Coupon/Offer, or RED for HOT. Let's stick to RED for badges to match CTA */
.mb-cupom-badge {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: var(--badge-color, #dd3612);
    /* Cor dinÃ¢mica do admin */
    color: #fff;
    font-size: 11px !important;
    padding: 5px 10px;
    border-radius: 6px;
    font-weight: 800;
    text-transform: uppercase;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.mb-anuncio-body {
    padding: 16px;
    flex-grow: 1;
}

.mb-anuncio-title {
    margin: 0 0 8px 0;
    font-size: 16px !important;
    color: #1e293b;
    line-height: 1.4;
    font-weight: 700;
}

.mb-anuncio-desc {
    font-size: 13px !important;
    color: #64748b;
    margin: 0;
    line-height: 1.5;
}

.mb-anuncio-info-row {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.mb-anuncio-info-add {
    font-size: 12px !important;
    color: #475569;
    background: #f8fafc;
    padding: 4px 8px;
    border-radius: 6px;
    display: inline-block;
    border: 1px solid #e2e8f0;
}

.mb-info-fallback {
    font-style: italic;
    color: #94a3b8;
    background: transparent;
    border: none;
    padding-left: 0;
}

.mb-anuncio-footer {
    padding: 12px 15px;
    background: #f8fafc;
    border-top: 1px solid #f1f5f9;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mb-social-icons-footer {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.mb-social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #64748b;
    transition: all 0.3s ease;
    background: #fff;
    border: 1px solid #e2e8f0;
}

.mb-social-icon svg {
    width: 14px;
    height: 14px;
}

.mb-social-icon:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.mb-social-icon.insta:hover {
    color: #e1306c;
    border-color: #e1306c;
}

.mb-social-icon.whatsapp:hover {
    color: #25d366;
    border-color: #25d366;
}

.mb-social-icon.email:hover {
    color: #3b82f6;
    border-color: #3b82f6;
}

.mb-social-icon.phone:hover {
    color: #10b981;
    border-color: #10b981;
}

.mb-social-icon.twitter:hover {
    color: #000000;
    border-color: #000000;
}

.mb-social-icon.youtube:hover {
    color: #ff0000;
    border-color: #ff0000;
}

.mb-cat-tag {
    font-size: 10px !important;
    text-transform: uppercase;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.5px;
}

/* Responsive Hero & Theme */
@media (max-width: 900px) {
    .h-container {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }

    .h-desc {
        margin: 0 auto 30px;
    }

    .h-btns,
    .h-metrics {
        justify-content: center;
    }

    .h-badge-top,
    .h-badge-bottom {
        right: 0;
    }

    .h-badge-top {
        top: -15px;
    }

    .h-badge-bottom {
        bottom: 35px;
    }

    .mb-filter-row {
        flex-wrap: wrap;
        border-radius: 20px;
        width: 100%;
        padding: 20px;
    }

    .mb-filter-row select,
    .mb-btn-buscar {
        width: 100%;
        flex: 1 1 100%;
        margin-bottom: 10px;
    }

    .mb-btn-buscar {
        margin-bottom: 0;
    }

    .mb-anuncio-card {
        min-width: 240px;
        max-width: 240px;
    }

    .mb-carousel-prev {
        left: 10px;
    }

    .mb-carousel-next {
        right: 10px;
    }

    /* Fix Mobile Standard Visual Collapse */
    .hero-clean-safe .h-visual {
        width: 100%;
        /* Ensure it takes full width in column flex */
        display: flex;
        justify-content: center;
    }
}

@media (max-width: 600px) {
    .mb-wrapper {
        padding: 10px;
    }

    .mb-header-filter {
        padding: 50px 15px 0 15px;
        /* 50px topo (proporÃ§Ã£o Ã¡urea mobile) */
        margin-bottom: 30px;
    }

    .mb-local-header-pro {
        flex-direction: column;
        text-align: center;
        padding: 15px;
    }

    .mb-local-info-col {
        align-items: center;
    }

    .mb-local-meta-line {
        justify-content: center;
    }

    .mb-local-action-col {
        width: 100%;
        margin-top: 10px;
    }

    .mb-btn-anuncie-aqui {
        display: block;
        width: 100%;
        text-align: center;
    }

    .mb-carousel-prev {
        left: -10px;
    }

    .mb-carousel-next {
        right: -10px;
    }

    .mb-carousel-track {
        gap: 10px;
    }
}

/* =========================================
   NOVAS FUNCIONALIDADES (Breadcrumb & Contato)
   ========================================= */

/* Breadcrumb no Card */
.mb-local-bread {
    font-size: 14px !important;
    /* Mobile: 14px conforme solicitado */
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    font-weight: 600;
    text-align: center;
    /* Centralizado mobile */
}

/* Ãrea de Contato Expandida */
.mb-contact-info {
    border-top: 1px solid #f1f5f9;
    background: #f8fafc;
    animation: fadeInSlide 0.3s ease;
}

@keyframes fadeInSlide {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mb-contact-inner {
    padding: 20px 25px;
}

.mb-contact-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.mb-contact-logo {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.mb-contact-header strong {
    display: block;
    font-size: 16px !important;
    color: #0f172a;
}

.mb-contact-small {
    font-size: 12px !important;
    color: #64748b;
}

.mb-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.btn-contact {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    /* Adjusted to match tags visually */
    border-radius: 6px;
    font-size: 12px !important;
    /* Match tags */
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s;
    color: #fff !important;
}

.btn-contact:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.btn-whats {
    background: #25D366;
}

.btn-whats:hover {
    background: #128C7E;
}

.btn-email {
    background: #64748b;
}

.btn-email:hover {
    background: #475569;
}

.btn-site {
    background: #0ea5e9;
}

.btn-site:hover {
    background: #0284c7;
}

.btn-insta {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.btn-insta:hover {
    opacity: 0.9;
}

.contact-phone {
    font-size: 13px !important;
    color: #475569;
    font-weight: 600;
    margin-left: 10px;
}

/* Ajuste Mobile */
@media (max-width: 600px) {
    .mb-contact-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-contact {
        justify-content: center;
        text-align: center;
    }

    .contact-phone {
        margin-left: 0;
        text-align: center;
        display: block;
        margin-top: 10px;
    }
}

/* =========================================
   TELAS DO ESTABELECIMENTO (Extras)
   ========================================= */
.mb-local-extras-col {
    display: flex;
    gap: 10px;
    margin-left: 20px;
}

/* =========================================
   TYPOGRAPHY FIX (Proportional Headings)
   ========================================= */
h1.h-title,
h1 {
    font-size: clamp(32px, 4vw, 42px);
}

h2 {
    font-size: clamp(26px, 3.5vw, 36px);
}

h3 {
    font-size: clamp(22px, 3vw, 30px);
}

h4 {
    font-size: clamp(18px, 2.5vw, 24px);
}

h5 {
    font-size: clamp(16px, 2vw, 20px);
}

h6 {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mb-extra-thumb {
    width: 70px;
    height: 70px;
    background-size: cover;
    background-position: center;
    border-radius: 8px;
    border: 2px solid #e2e8f0;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.mb-extra-thumb:hover {
    transform: scale(1.05);
    border-color: #0066ff;
    box-shadow: 0 4px 12px rgba(0, 102, 255, 0.2);
}

/* Lightbox Gallery */
.mb-lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.9);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
}

.mb-lightbox-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mb-lightbox-content {
    position: relative;
    max-width: 90%;
    max-height: 90%;
    transform: scale(0.9);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.mb-lightbox-overlay.active .mb-lightbox-content {
    transform: scale(1);
}

.mb-lightbox-img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    display: block;
}

.mb-lightbox-close {
    position: absolute;
    top: -40px;
    right: 0;
    color: #fff;
    font-size: 30px;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    line-height: 1;
    transition: transform 0.2s;
}

.mb-lightbox-close:hover {
    transform: rotate(90deg);
    color: #ef4444;
}

@media (max-width: 600px) {
    .mb-local-extras-col {
        margin-left: 0;
        margin-top: 15px;
        justify-content: center;
        width: 100%;
    }

    .mb-extra-thumb {
        width: 60px;
        height: 60px;
    }
}


/* =========================================
   CARROUSSEL DE TELAS (Redesign)
   ========================================= */
/* =========================================
   CARROUSSEL DE TELAS (Visual Refinado)
   ========================================= */

/* Coluna Direita (Wrapper Geral) */
.mb-local-extras-col {
    display: flex !important;
    flex-direction: column;
    align-items: flex-end;
    /* Alinha tudo Ã  direita */
    justify-content: center;
    margin-left: auto;
    /* Empurra para direita */
    margin-right: 20px;
    min-width: 300px;
}

.mb-screens-col-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    /* TÃ­tulo e carrossel Ã  direita */
    width: 100%;
}

.mb-screens-title {
    font-size: 18px !important;
    /* Mobile: 18px (base) */
    text-transform: uppercase;
    color: #0a2042;
    margin: 0 0 8px 0;
    font-weight: 800;
    letter-spacing: 1px;
    text-align: center;
    padding: 0;
}

.mb-screens-carousel-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    /* Largura mÃ¡xima */
    max-width: 100%;
    background: color(srgb 0.66 0.66 0.66 / 0.08);
    padding: 20px;
    border-radius: 16px;
}

.mb-screens-track {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    width: 100%;
    scrollbar-width: none;
    padding: 5px 0;
    /* Reduz padding interno */
}

.mb-screens-track::-webkit-scrollbar {
    display: none;
}

.mb-screens-track.no-scroll {
    justify-content: flex-start;
}

.mb-screen-item {
    flex: 0 0 auto;
    scroll-snap-align: start;
}

.mb-screen-thumb {
    width: 256px;
    /* 16:9 exato (256:144) */
    height: 144px;
    background-size: cover;
    /* Cover para preencher todo espaÃ§o */
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 12px;
    border: 2px solid #e2e8f0;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    flex-shrink: 0;
}

.mb-screen-thumb:hover {
    transform: translateY(-2px);
    border-color: #0066ff;
    box-shadow: 0 4px 12px rgba(0, 102, 255, 0.25);
}

/* Nav Buttons - CÃ­rculos Perfeitos */
.mb-screens-prev,
.mb-screens-next {
    background: #fff;
    border: 1px solid #e2e8f0;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #1e293b;
    font-size: 14px;
    z-index: 10;
    transition: all 0.2s;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    opacity: 1;
    flex-shrink: 0;
    padding: 0;
    margin: 0;
}

.mb-screens-prev.disabled,
.mb-screens-next.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.mb-screens-prev:hover,
.mb-screens-next:hover {
    background: #0a2042;
    color: #fff;
    border-color: #0066ff;
    transform: scale(1.1);
}

.mb-screens-prev {
    margin-right: 8px;
}

.mb-screens-next {
    margin-left: 8px;
}

/* Contador de slides */
.mb-screens-counter {
    display: none;
    /* Oculto conforme solicitado */
    position: static;
    background: rgba(0, 0, 0, 0.1);
    color: #64748b;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 10px;
    font-weight: 600;
    margin-top: 4px;
}

.mb-counter-current {
    color: #0a2042;
    /* Azul da marca, menos chamativo */
    font-weight: 700;
}

.mb-screens-title-block {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Mobile Reponsive */
@media (max-width: 900px) {
    .mb-local-header-pro {
        flex-direction: column;
    }

    .mb-local-extras-col {
        margin: 10px auto;
        align-items: center;
        /* Centralizar no mobile */
        margin-right: 0;
        margin-left: 0;
        min-width: unset;
        width: 100%;
        display: flex !important;
    }

    .mb-screens-col-wrapper {
        align-items: center;
        /* Centralizar tudo */
    }

    .mb-screens-title {
        font-size: 28px !important;
        /* Mobile: menor que desktop */
        padding: 0;
        text-align: center;
        margin-bottom: 15px;
    }

    .mb-screens-carousel-wrapper {
        justify-content: center;
        width: 100% !important;
        padding: 15px 10px;
    }

    /* Mobile: Logo menor */
    .mb-empresa-logo {
        width: 90px;
        /* Mobile: um pouco menor */
        height: 90px;
    }
}

/* ALIGNMENT FIX */
@media (min-width: 901px) {
    .mb-local-header-pro {
        justify-content: flex-start;
    }

    .mb-local-info-col {
        flex: 0 0 30%;
        max-width: 30%;
        margin-right: 0;
    }

    .mb-local-extras-col {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .mb-local-action-col {
        margin-left: auto;
    }

    /* Desktop: Logo wrapper menor */
    .mb-local-img-wrapper {
        width: 80px;
        /* Desktop: reduzido de 240px */
        height: 80px;
        font-size: 30px;
    }

    /* Desktop: Reduzir tamanhos de texto */
    .mb-local-title {
        font-size: 16px !important;
        /* Desktop: menor que mobile */
    }

    .mb-local-meta-line {
        font-size: 12px !important;
        /* Desktop: menor que mobile */
    }

    .mb-local-bread {
        font-size: 11px !important;
        /* Desktop: menor que mobile */
        text-align: left;
        /* Esquerda no desktop */
    }

    /* Desktop: Logo 3x maior */
    .mb-empresa-logo {
        width: 240px;
        /* Desktop: 80px Ã— 3 */
        height: 240px;
    }

    /* Desktop: Imagens de telas (16:9 exato) */
    .mb-screen-thumb {
        width: 128px;
        /* 16:9 exato (128:72) */
        height: 72px;
        background-size: cover;
        /* Cover para consistÃªncia */
    }

    /* Desktop: TÃ­tulo ao lado do carrossel */
    .mb-screens-col-wrapper {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 15px;
        /* Menor para nÃ£o estourar */
        width: 100%;
    }

    /* Desktop: TÃ­tulo do carrossel */
    .mb-screens-title {
        font-size: 14px !important;
        /* Desktop: 14px (10px Ã— 1.4) */
        text-align: right;
        margin: 0 0 4px 0;
    }

    .mb-screens-title-block {
        flex-shrink: 0;
        align-items: flex-end;
        /* Alinhar Ã  direita */
        padding-right: 15px;
        border-right: 3px solid #dd3612;
        min-width: auto;
        max-width: 80px;
    }

    .mb-screens-counter {
        font-size: 9px;
        /* Desktop: ainda menor (mais discreto) */
    }

    .mb-screens-carousel-wrapper {
        flex: 1;
        max-width: 350px;
        /* Limita para caber ~2 imagens visÃ­veis (142px Ã— 2 + gaps) */
        overflow: hidden;
        /* Esconde overflow */
    }

    .mb-screens-track {
        overflow-x: auto;
        scrollbar-width: none;
        /* Remove scrollbar no desktop */
    }

    .mb-screens-track::-webkit-scrollbar {
        display: none;
        /* Remove scrollbar webkit */
    }
}

/* =========================================
   GLOBAL FIXES (Alignment & Typography)
   ========================================= */
html,
body {
    overflow-x: hidden;
    /* Prevent horizontal scroll from 100vw breakout */
    width: 100%;
    position: relative;
}

/* Using !important to ensure override of Astra Theme defaults */
h1.h-title,
body h1 {
    font-size: clamp(28px, 4vw, 42px) !important;
}

body h2 {
    font-size: clamp(24px, 3.5vw, 36px) !important;
}

body h3 {
    font-size: clamp(20px, 3vw, 30px) !important;
}

body h4 {
    font-size: clamp(18px, 2.5vw, 24px) !important;
}

body h5 {
    font-size: clamp(16px, 2vw, 20px) !important;
}

body h6 {
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* =========================================
   CTA BLOCK (Instale TV)
   ========================================= */
.mb-cta-section {
    padding: 80px 20px;
    background: #fff;
    text-align: center;
}

.mb-cta-container {
    max-width: 1200px;
    margin: 0 auto;
}


/* FIX: Restore Hero Span Color */
.hero-clean-safe .h-title span {
    color: var(--hero-span-color, #0a2042);
}

.mb-cta-header h2 {
    color: #0f172a;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 15px;
}

/* FIX: Restore CTA Span Color */
.mb-cta-header h2 span {
    color: var(--hero-span-color, #0a2042);
    /* Uses same heritage as Hero */
}

.mb-cta-header p {
    color: #64748b;
    font-size: 18px;
    margin-bottom: 50px;
}

.mb-cta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
    margin-bottom: 60px;
}

.mb-cta-item {
    position: relative;
    /* Context for badges */
}

.mb-cta-item img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    display: block;
}

.mb-cta-item img:hover {
    transform: translateY(-5px);
}

/* CTA Badges */
.mb-cta-badge {
    position: absolute;
    background: #fff;
    padding: 8px 14px;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px !important;
    /* Force */
    color: #1e293b;
    z-index: 5;
    animation: floatBadge 4s ease-in-out infinite;
}

.mb-cta-badge strong {
    font-weight: 700;
}

.mb-cta-icon {
    font-size: 16px;
}

/* Position Utilities */
.mb-cta-badge.pos-top-left {
    top: 20px;
    left: -15px;
}

.mb-cta-badge.pos-top-right {
    top: 20px;
    right: -15px;
}

.mb-cta-badge.pos-bottom-left {
    bottom: 20px;
    left: -15px;
}

.mb-cta-badge.pos-bottom-right {
    bottom: 20px;
    right: -15px;
}

/* Texto descritivo abaixo das imagens */
.mb-cta-description {
    max-width: 900px;
    margin: 60px auto 0;
    text-align: center;
}

.mb-cta-description p {
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #475569;
    margin: 0 !important;
}

/* Custom Footer CTA */
.mb-cta-footer {
    border-top: 1px solid #f1f5f9;
    padding-top: 50px;
    margin-top: 20px;
}

.mb-cta-footer h3 {
    font-size: 24px !important;
    color: #0f172a;
    margin-bottom: 25px;
    font-weight: 800;
}

.mb-cta-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #25d366;
    color: #fff !important;
    padding: 16px 32px;
    border-radius: 50px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 10px 20px rgba(37, 211, 102, 0.2);
    transition: all 0.3s ease;
}

.mb-cta-wa-btn:hover {
    background: #128c7e;
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(37, 211, 102, 0.3);
}

.mb-cta-wa-icon {
    font-size: 20px;
}

@media (max-width: 900px) {
    .mb-cta-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .mb-cta-header h2 {
        font-size: 26px;
    }

    /* Adjust badges for mobile */
    .mb-cta-badge {
        padding: 6px 10px;
        font-size: 11px !important;
        border-radius: 8px;
    }

    .mb-cta-badge.pos-top-left {
        left: 10px;
        top: 10px;
    }

    .mb-cta-badge.pos-top-right {
        right: 10px;
        top: 10px;
    }

    .mb-cta-badge.pos-bottom-left {
        left: 10px;
        bottom: 10px;
    }

    .mb-cta-badge.pos-bottom-right {
        right: 10px;
        bottom: 10px;
    }
}

/* =========================================
   SEÃ‡ÃƒO WHATSAPP CTA
   ========================================= */
.mb-wa-section {
    padding: 80px 0;
    /* 80px seguindo proporÃ§Ã£o: 50px * 1.618 â‰ˆ 80px */
    background: linear-gradient(135deg, #f8fafc 0%, #e0f2fe 100%);
    position: relative;
    overflow: hidden;
}

.mb-wa-container {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

.mb-wa-content {
    flex: 1;
}

.mb-wa-title {
    font-size: clamp(28px, 4vw, 38px) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #0f172a;
    margin-bottom: 15px !important;
}

.mb-wa-title span {
    color: var(--wa-span-color, #25d366) !important;
}

.mb-wa-subtitle {
    font-size: 18px !important;
    color: #475569;
    line-height: 1.6;
    margin: 0 !important;
}

.mb-wa-btn-wrapper {
    flex-shrink: 0;
}

.mb-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--wa-btn-color, #25d366);
    color: #ffffff !important;
    padding: 16px 32px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(37, 211, 102, 0.3);
}

.mb-wa-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(37, 211, 102, 0.4);
}

.mb-wa-icon {
    font-size: 24px;
    line-height: 1;
}

/* Mobile Responsive */
@media (max-width: 900px) {
    .mb-wa-section {
        padding: 50px 0;
        /* Mobile: 50px base (31px * 1.618 â‰ˆ 50px) */
    }

    .mb-wa-container {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .mb-wa-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Variantes de Faixas CTA */
.mb-wa-section.mb-wa-white {
    background: #ffffff;
}

.mb-wa-section.mb-wa-dark {
    background: linear-gradient(135deg, #0a2042 0%, #1e3a5f 100%);
}

.mb-wa-section.mb-wa-dark .mb-wa-title,
.mb-wa-section.mb-wa-dark .mb-wa-subtitle {
    color: #ffffff;
}

/* =========================================
   SUPORTE A VÃDEO & BOTÃ•ES DINÃ‚MICOS
   ========================================= */

.mb-hero-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
    pointer-events: none;
}

.h-visual-video,
.mb-cta-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 2;
    /* Fica sobre a h-visual-bg se ambos existirem */
}

.mb-btn-buscar:hover,
.mb-btn-anuncie-aqui:hover {
    filter: brightness(0.9);
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}

/* Mobile CTA Adjustments */
@media (max-width: 900px) {
    .mb-cta-section {
        padding: 50px 20px;
        /* Mobile: 50px topo e fundo (proporÃ§Ã£o Ã¡urea) */
    }

    .mb-cta-footer {
        padding-top: 0px !important;
    }
}

/* =========================================
   SEÃ‡Ã•ES DINÃ‚MICAS (S1, S2, S3)
   ========================================= */
.mb-dyn-section {
    padding: 80px 0;
    /* ProporÃ§Ã£o Ã¡urea: 80px (50 * 1.618) */
    /* Removido padding lateral para full-width */
    background-color: var(--s-bg, #fff);
    position: relative;
    overflow: hidden;
    display: block;
    width: 100%;
    margin-bottom: 0;
    /* SeparÃ¡-las com margin especÃ­fico depois */
}

/* EspaÃ§o reduzido entre seÃ§Ãµes diferentes */
.mb-dyn-section+.mb-cta-section,
.mb-dyn-section+section:not(.mb-dyn-section),
.mb-cta-section+.mb-wa-section,
section+.mb-wa-section {
    margin-top: 0;
    /* Removido espaÃ§o extra - usar apenas padding das seÃ§Ãµes */
}

.mb-dyn-grid {
    display: flex;
    align-items: center;
    gap: 80px;
    max-width: 1240px;
    /* Alinhado com a logo */
    margin: 0 auto;
    padding: 0 20px;
    /* Padding interno para evitar tocar nas bordas */
}

.mb-dyn-content {
    flex: 1;
}

.mb-dyn-visual {
    flex: 1;
    position: relative;
}

/* Typography */
.mb-dyn-section .h-title {
    font-size: clamp(32px, 4vw, 42px) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    margin-bottom: 20px !important;
}

.mb-dyn-section .h-desc {
    font-size: 18px !important;
    line-height: 1.7 !important;
    margin-bottom: 35px !important;
    max-width: 520px;
}

.mb-dyn-section .h-title span {
    color: var(--wa-span-color, #dd3612) !important;
}

/* Visual Components - CRITICAL FIX */
.mb-dyn-section .h-image-wrapper {
    position: relative;
    width: 100%;
    overflow: visible;
    /* Para badges flutuantes */
}

.mb-dyn-section .h-media-inner {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* Aspect ratio 16:9 */
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    background: #f1f5f9;
}

.mb-dyn-section .h-visual-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: background-image 1s ease-in-out;
}

/* Slideshow wrapper */
.mb-dyn-slideshow {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Contrast adjustment */
.mb-dyn-section.text-light {
    color: #ffffff;
}

.mb-dyn-section.text-light .h-title,
.mb-dyn-section.text-light .h-desc {
    color: #ffffff !important;
}

.mb-dyn-section.text-light .btn-secondary {
    border-color: rgba(255, 255, 255, 0.4) !important;
    color: #ffffff !important;
}

.mb-dyn-section.text-light .btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: #ffffff !important;
}

/* Contrast support for WhatsApp/Simple Templates */
.mb-wa-section.text-light .mb-wa-title,
.mb-wa-section.text-light .mb-wa-subtitle {
    color: #ffffff !important;
}

.mb-wa-section.text-dark .mb-wa-title {
    color: #0f172a !important;
}

.mb-wa-section.text-dark .mb-wa-subtitle {
    color: #64748b !important;
}

/* Layouts */
.mb-layout-left .mb-dyn-grid {
    flex-direction: row-reverse;
}

.mb-layout-stacked .mb-dyn-grid {
    flex-direction: column;
    text-align: center;
    gap: 30px;
    /* Reduzido de 50px para menor espaÃ§o entre botÃµes e imagem */
}

.mb-layout-stacked .mb-dyn-content {
    max-width: 800px;
}

.mb-layout-stacked .mb-dyn-content .h-desc {
    margin-left: auto;
    margin-right: auto;
}

.mb-layout-stacked .mb-dyn-content .h-btns {
    justify-content: center;
}

.mb-layout-stacked .mb-dyn-visual {
    width: 100%;
    max-width: 900px;
}

/* Badges */
.mb-cta-badge {
    position: absolute;
    background: #ffffff;
    padding: 10px 18px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 10;
    border: 1px solid rgba(0, 0, 0, 0.05);
    white-space: nowrap;
    animation: floatBadge 4s ease-in-out infinite;
}

.mb-cta-badge strong {
    font-size: 13px !important;
    color: #0f172a;
    font-weight: 700;
}

.mb-cta-icon {
    font-size: 18px;
}

/* Badge Positions */
.mb-cta-badge.pos-top-left {
    top: -15px;
    left: -20px;
    animation-delay: 0.5s;
}

.mb-cta-badge.pos-top-right {
    top: -15px;
    right: -20px;
    animation-delay: 0s;
}

.mb-cta-badge.pos-bottom-left {
    bottom: -15px;
    left: -20px;
    animation-delay: 1.5s;
}

.mb-cta-badge.pos-bottom-right {
    bottom: -15px;
    right: -20px;
    animation-delay: 2s;
}

/* Mobile Responsive */
@media (max-width: 900px) {
    .mb-dyn-section {
        padding: 50px 20px;
        /* Mobile: 50px vertical (proporÃ§Ã£o Ã¡urea) */
    }

    .mb-dyn-grid {
        flex-direction: column !important;
        gap: 10px;
        text-align: center;
    }

    .mb-layout-stacked .mb-dyn-grid {
        gap: 20px;
        /* Gap ainda menor no mobile para layout stacked */
    }

    .mb-dyn-visual {
        width: 100% !important;
        /* Garantir largura total */
    }

    .mb-dyn-section .h-media-inner {
        width: 100% !important;
        padding-top: 56.25% !important;
        /* ForÃ§ar aspect ratio 16:9 no mobile */
    }

    .mb-dyn-content .h-desc {
        margin-left: auto;
        margin-right: auto;
    }

    .mb-dyn-content .h-btns {
        justify-content: center;
    }

    .mb-cta-badge {
        padding: 8px 14px;
        transform: scale(0.9);
    }

    .mb-cta-badge.pos-top-left,
    .mb-cta-badge.pos-top-right {
        top: -10px;
    }

    .mb-cta-badge.pos-bottom-left,
    .mb-cta-badge.pos-bottom-right {
        bottom: -10px;
    }
}

/* =========================================
   FAIXAS WHATSAPP V2 (Sistema Ilimitado)
   ========================================= */

/* Container Principal */
.mb-wa-strip {
    padding: 80px 0;
    position: relative;
    overflow: hidden;
    transition: background 0.3s ease;
    width: 100%;
    font-family: inherit;
    /* Garantir fonte do tema */
}

.mb-wa-strip-container {
    max-width: 1240px !important;
    width: 100% !important;
    /* Forçar largura */
    margin: 0 auto !important;
    padding: 0 20px !important;
    /* Forçar padding com important */
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    box-sizing: border-box;
    /* Garantir que padding não estoure */
}

.mb-wa-strip-content {
    flex: 1;
}

/* Estilos de título e subtítulo consolidados na seção LEGACY STYLE MATCHING (linha ~3010) */

.mb-wa-strip-btn-wrapper {
    flex-shrink: 0;
}

.mb-wa-strip-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--wa-btn-color, #25d366);
    color: #ffffff !important;
    padding: 16px 32px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
}

.mb-wa-strip-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
}

.mb-wa-strip-icon {
    font-size: 24px;
    line-height: 1;
}

/* Contraste AutomÃ¡tico para Textos */
.mb-wa-strip.text-light .mb-wa-strip-title,
.mb-wa-strip.text-light .mb-wa-strip-subtitle {
    color: #ffffff !important;
}

.mb-wa-strip.text-dark .mb-wa-strip-title {
    color: #0f172a !important;
}

.mb-wa-strip.text-dark .mb-wa-strip-subtitle {
    color: #475569 !important;
}

/* Mobile Responsive */
@media (max-width: 900px) {
    .mb-wa-strip {
        padding: 50px 0;
        /* Mobile: 50px base (31px * 1.618 â‰ˆ 50px) */
    }

    .mb-wa-strip-container {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .mb-wa-strip-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Variantes Predefinidas (Opcional - para compatibilidade) */
.mb-wa-strip.mb-wa-gradient {
    background: linear-gradient(135deg, #f8fafc 0%, #e0f2fe 100%);
}

.mb-wa-strip.mb-wa-white {
    background: #ffffff;
}

.mb-wa-strip.mb-wa-dark {
    background: linear-gradient(135deg, #0a2042 0%, #1e3a5f 100%);
}

.mb-wa-strip.mb-wa-green {
    background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
}

.mb-wa-strip.mb-wa-blue {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
}

.mb-wa-strip.mb-wa-red {
    background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
}

/* =========================================
   TEMPLATES VISUAIS - COVER MODES
   ========================================= */

/* Cover Mode Base */
.mb-cover-mode {
    position: relative;
    background-size: cover !important;
    background-position: center !important;
    background-image: var(--hero-bg) !important;
}

.mb-cover-mode::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--hero-ov-color, #000);
    opacity: var(--hero-ov-opacity, 0.6);
    z-index: 1;
    pointer-events: none;
}

.mb-cover-mode .mb-dyn-grid {
    position: relative;
    z-index: 2;
    justify-content: center;
}

.mb-cover-mode .mb-dyn-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.mb-cover-mode .h-title,
.mb-cover-mode .h-desc {
    color: #ffffff !important;
}

.mb-cover-mode .h-desc {
    margin-left: auto;
    margin-right: auto;
}

.mb-cover-mode .h-btns {
    justify-content: center;
}

.mb-cover-mode .btn-secondary {
    border-color: #fff !important;
    color: #fff !important;
}

.mb-cover-mode .btn-secondary:hover {
    background: #fff !important;
    color: #0f172a !important;
}

/* Media Layers para Background Video/Image */
.mb-hero-media-layers {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.mb-hero-media-layers .h-visual-bg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: background-image 1s ease-in-out;
}

/* Slideshow para SeÃ§Ãµes DinÃ¢micas */
/* Slideshow para Sessões Dinâmicas */
.mb-dyn-slideshow {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.mb-dyn-slideshow .h-visual-bg {
    transition: background-image 1s ease-in-out;
}

/* Layout Cover & Video Cover - Fullwidth Breakout */
@media (min-width: 901px) {

    .mb-layout-cover,
    .mb-layout-video-cover {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
}

/* Mobile Adjustments para Cover */
@media (max-width: 900px) {
    .mb-cover-mode {
        padding-top: 100px;
        padding-bottom: 80px;
    }

    .mb-cover-mode::before {
        opacity: var(--hero-ov-opacity, 0.7);
    }
}

/* =========================================
   ANIMAÃ‡Ã•ES COMPARTILHADAS
   ========================================= */

@keyframes floatBadge {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

/* =========================================
   UTILITÃRIOS GLOBAIS
   ========================================= */

/* Aspect Ratio 16:9 para todas as imagens */
.h-media-inner {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 */
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(0, 0, 0, 0.05);
    background: #f1f5f9;
}

.h-visual-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.h-image-wrapper {
    position: relative;
    width: 100%;
    overflow: visible;
    /* Permitir badges flutuantes */
}

/* =========================================
   NOVOS RECURSOS V6.0
   ========================================= */

/* Background Image com Overlay */
.mb-wa-strip.has-bg-image {
    position: relative;
    background-repeat: no-repeat !important;
}

.mb-bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bg-overlay-color, #000);
    opacity: var(--bg-overlay-opacity, 0.3);
    pointer-events: none;
    z-index: 1;
}

.mb-wa-strip.has-bg-image .mb-wa-strip-container,
.mb-wa-strip.has-bg-image .mb-wa-strip-container-full {
    position: relative;
    z-index: 2;
}

/* Full-Width Container */
.mb-wa-strip-container-full {
    max-width: 100% !important;
    width: 100%;
    padding: 0 80px !important;
}

.mb-wa-strip.is-fullwidth {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

@media (max-width: 900px) {
    .mb-wa-strip-container-full {
        padding: 0 20px !important;
    }
}

/* Template Editor Styling */
.mb-editor-content {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.8;
    max-width: 800px;
}

.mb-editor-content p {
    margin-bottom: 15px;
}

.mb-editor-content h2,
.mb-editor-content h3,
.mb-editor-content h4 {
    margin-top: 25px;
    margin-bottom: 15px;
    font-weight: 700;
}

.mb-editor-content ul,
.mb-editor-content ol {
    margin-left: 25px;
    margin-bottom: 15px;
}

.mb-editor-content li {
    margin-bottom: 8px;
}

.mb-editor-content a {
    color: #0ea5e9;
    text-decoration: underline;
}

.mb-editor-content a:hover {
    text-decoration: none;
}

/* Dark background adjustments for editor */
.mb-wa-strip.text-light .mb-editor-content h2,
.mb-wa-strip.text-light .mb-editor-content h3,
.mb-wa-strip.text-light .mb-editor-content h4,
.mb-wa-strip.text-light .mb-editor-content p,
.mb-wa-strip.text-light .mb-editor-content li {
    color: #ffffff !important;
}

.mb-wa-strip.text-light .mb-editor-content a {
    color: #7dd3fc;
}

@media (max-width: 900px) {
    .mb-editor-content {
        font-size: 15px;
    }
}

/* =========================================
   ALINHAMENTO E AJUSTES DE TEXTO (V6.1)
   ========================================= */

/* Forçar fonte do tema */
.mb-wa-strip {
    font-family: inherit;
}

/* Alinhamento Esquerda (Padrão) */
.mb-wa-strip.align-left .mb-wa-strip-content {
    text-align: left;
}

/* Alinhamento Central */
.mb-wa-strip.align-center .mb-wa-strip-container,
.mb-wa-strip.align-center .mb-wa-strip-container-full {
    justify-content: center !important;
    text-align: center !important;
}

.mb-wa-strip.align-center .mb-wa-strip-content {
    text-align: center !important;
    flex: 0 1 800px !important;
    /* Matches legacy max-width */
    margin: 0 auto !important;
    max-width: 800px;
}

.mb-wa-strip.align-center .mb-wa-strip-btn-wrapper {
    margin-top: 30px;
}

/* Ajuste Full Width padding */
.mb-wa-strip-container-full {
    padding: 0 80px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Mobile responsive padding */
@media (max-width: 900px) {
    .mb-wa-strip-container-full {
        padding: 0 30px !important;
    }

    .mb-wa-strip.align-center .mb-wa-strip-content {
        flex: 1 1 auto !important;
        width: 100%;
    }
}

/* LEGACY STYLE MATCHING */
.mb-wa-strip-title {
    font-size: 32px !important;
    /* Legacy exact size */
    line-height: 1.3 !important;
    font-weight: 700 !important;
    margin-bottom: 15px !important;
    letter-spacing: normal !important;
    /* Remove tracking */
}

/* Ajuste para telas menores manter responsividade */
@media (max-width: 600px) {
    .mb-wa-strip-title {
        font-size: 26px !important;
    }
}

.mb-wa-strip-subtitle {
    font-size: 18px !important;
    /* Legacy exact size */
    line-height: 1.6;
    margin: 0 !important;
    font-weight: 400;
}

/* Cores específicas para texto escuro (Light theme) */
.mb-wa-strip.text-dark .mb-wa-strip-title {
    color: #0f172a !important;
}

.mb-wa-strip.text-dark .mb-wa-strip-subtitle {
    color: #64748b !important;
    /* Legacy gray */
}

/* =========================================
   MODIFICADORES DE LAYOUT E ALINHAMENTO
   Para Faixas CTA CustomizÃ¡veis
   ========================================= */

/* LARGURA: Full-Width */
.mb-wa-section.layout-fullwidth {
    padding-left: 0;
    padding-right: 0;
}

.mb-wa-section.layout-fullwidth .mb-wa-container {
    max-width: 100% !important;
    padding: 0 80px !important;
}

/* ALINHAMENTO: Centro */
.mb-wa-section.align-center .mb-wa-container {
    justify-content: center !important;
    text-align: center !important;
    align-items: center !important;
    /* CRUCIAL: Centraliza itens no eixo transversal (horizontal p/ column) */
    flex-direction: column !important;
    /* Forçar empilhamento: TEXTO em cima, BOTÃO em baixo */
    gap: 30px !important;
}

.mb-wa-section.align-center .mb-wa-content {
    text-align: center !important;
    max-width: 800px;
    margin: 0 auto;
}

.mb-wa-section.align-center .mb-wa-btn-wrapper {
    margin-top: 10px;
    width: 100%;
    display: flex;
    justify-content: center;
}

/* Mobile: Responsividade */
@media (max-width: 900px) {
    .mb-wa-section.layout-fullwidth .mb-wa-container {
        padding: 0 30px !important;
    }

    /* No mobile, sempre centraliza */
    .mb-wa-section .mb-wa-container {
        text-align: center;
    }

    .mb-wa-section .mb-wa-content {
        max-width: 100%;
    }
}

/* CORREÇÃO SESSÕES DINÂMICAS */
.mb-dyn-section .h-visual-bg {
    background-size: cover !important;
    background-position: center !important;
    border-radius: 16px;
}

/* --- FOOTER CUSTOMIZADO [mb_footer] --- */
.mb-custom-footer {
    padding: 100px 20px 80px;
    /* Mais espaçamento vertical elegante */
    font-size: 16px;
    line-height: 1.8;
    /* Leitura melhor */
}

.mb-footer-container {
    width: 100%;
    max-width: 1240px !important;
    /* Limite de largura reforçado */
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    /* Gap entre colunas aumentado */
    justify-content: space-between;
    align-items: flex-start;
    /* Alinha colunas ao topo */
}

.mb-footer-col {
    flex: 1;
    min-width: 250px;
}

/* Coluna 2 Centralizada */
.mb-footer-col-2 {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    /* Alinha conteúdo ao topo */
    /* Centraliza verticalmente se precisar */
}

.mb-footer-title {
    font-size: 24px;
    /* Fonte aumentada */
    font-weight: 800;
    /* Mais peso */
    margin-bottom: 28px;
    color: inherit;
    letter-spacing: -0.03em;
    line-height: 1.2;
}

.mb-footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mb-footer-contact-list li {
    margin-bottom: 18px;
    /* Mais gap entre itens */
}

.mb-footer-contact-list a {
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 14px;
    opacity: 0.8;
    transition: all 0.3s;
    font-weight: 500;
}

.mb-footer-contact-list a:hover {
    opacity: 1;
    transform: translateX(5px);
}

.mb-footer-btn {
    display: inline-block;
    padding: 16px 36px;
    /* Botão mais robusto */
    border-radius: 50px;
    color: #fff !important;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.mb-footer-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    filter: brightness(1.1);
}

.mb-footer-col-3 {
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.mb-footer-logo {
    max-width: 84px !important;
    /* Limite reforçado */
    width: 84px;
    height: auto;
    display: block;
    margin-bottom: 24px;
}

.mb-footer-social-icons {
    margin-top: 24px;
    display: flex;
    gap: 20px;
    /* Mais gap entre ícones */
}

.mb-footer-social-icons a {
    color: inherit;
    opacity: 0.7;
    transition: 0.3s;
}

.mb-footer-social-icons a:hover {
    opacity: 1;
    transform: scale(1.2);
}

/* Mobile Responsivo */
@media (max-width: 900px) {
    .mb-custom-footer {
        padding: 60px 20px;
    }

    .mb-footer-container {
        flex-direction: column;
        gap: 50px;
        text-align: center;
        max-width: 100%;
        /* Garante fluxo no mobile */
    }

    .mb-footer-col {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .mb-footer-col-2 {
        /* Já é centrado, mas reforçando reset de margens se houver */
        margin: 0 auto;
    }

    .mb-footer-col-3 {
        text-align: center;
        align-items: center;
    }

    .mb-footer-contact-list a {
        justify-content: center;
    }

    .mb-footer-logo {
        margin-left: auto;
        margin-right: auto;
    }
}

/* Video Background Support for CTA Strips */
.mb-visual-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    /* Ensure it behaves like the bg image */
}

/* Ensure dynamic section has relative positioning for absolute video */

/* FIX: Ensure span color is respected in Video Cover Mode for CTA Strips */
.mb-dyn-section.mb-cover-mode .h-title {
    color: #ffffff;
}

.mb-dyn-section.mb-cover-mode .h-title span {
    color: var(--wa-span-color, #dd3612) !important;
    /* Force visibility of span color against dark video */
}

.mb-dyn-section.mb-cover-mode .h-desc {
    color: #f1f5f9;
}

/* FIX: Min-Height & Alignment for Video Cover */
.mb-dyn-section.mb-cover-mode {
    min-height: var(--mb-min-height, 600px);
    display: flex;
    align-items: center;
}

/* FIX: Button Color Override */
.mb-dyn-section.mb-cover-mode .btn-primary {
    background-color: var(--wa-btn-color, #0a2042) !important;
    border-color: var(--wa-btn-color, #0a2042) !important;
}

.mb-dyn-section.mb-cover-mode .btn-primary:hover {
    filter: brightness(1.1);
}

/* FIX: Override Center Alignment for Cover Mode */
@media (min-width: 901px) {

    .mb-dyn-section.mb-cover-mode.mb-layout-video-cover.align-left .h-container,
    .mb-layout-cover.align-left .h-container {
        justify-content: flex-start !important;
    }

    .mb-dyn-section.mb-cover-mode.mb-layout-video-cover.align-left .h-content,
    .mb-layout-cover.align-left .h-content {
        text-align: left !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        max-width: 650px;
    }

    .mb-dyn-section.mb-cover-mode.mb-layout-video-cover.align-left .h-btns {
        justify-content: flex-start !important;
    }
}

/* FIX: Mobile Reorder for Standard/Left Templates (Title > Video > Text > Button) */
@media (max-width: 900px) {

    .mb-layout-right .mb-dyn-grid,
    .mb-layout-left .mb-dyn-grid {
        display: flex;
        flex-direction: column;
    }

    .mb-layout-right .mb-dyn-content,
    .mb-layout-left .mb-dyn-content {
        display: contents;
        /* Allows children to participate in parent grid/flex */
    }

    /* 1. Titulo */
    .mb-layout-right .h-title,
    .mb-layout-left .h-title {
        order: 1;
        margin-bottom: 25px !important;
    }

    /* 2. Visual (Video/Image) */
    .mb-layout-right .mb-dyn-visual,
    .mb-layout-left .mb-dyn-visual {
        order: 2;
        margin-bottom: 25px;
        width: 100%;
    }

    /* 3. Descrição */
    .mb-layout-right .h-desc,
    .mb-layout-left .h-desc {
        order: 3;
    }

    /* 4. Botões */
    .mb-layout-right .h-btns,
    .mb-layout-left .h-btns {
        order: 4;
        justify-content: center;
    }
}