/* Topo e rodape clean centralizado para paginas publicas. */

body.theme-clean {
    --fixed-top-strip-height: 0px;
    --fixed-header-height: 96px;
    color: #111827;
    padding-top: var(--fixed-header-height) !important;
}

body.theme-clean .top-strip {
    display: none !important;
}

body.theme-clean .site-header,
body.theme-clean .site-header.scrolled {
    top: 0 !important;
    min-height: var(--fixed-header-height);
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .07) !important;
    backdrop-filter: blur(18px) saturate(1.08) !important;
}

body.theme-clean .site-header::after,
body.theme-clean .header-menu-row::before,
body.theme-clean .site-header.scrolled .header-menu-row::before {
    display: none !important;
}

body.theme-clean .site-header > .container,
body.theme-clean .site-header .container {
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: min(1280px, calc(100% - 40px)) !important;
    min-height: var(--fixed-header-height);
    margin: 0 auto;
}

body.theme-clean .header-logo-wrap,
body.theme-clean .site-header.scrolled .header-logo-wrap,
html body.theme-clean.logo-layout-livre .site-header .header-logo-wrap,
html body.theme-clean.logo-layout-livre .site-header.scrolled .header-logo-wrap {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.theme-clean .header-logo-img,
body.theme-clean .site-header.scrolled .header-logo-img,
html body.theme-clean.logo-layout-livre .site-header .header-logo-img,
html body.theme-clean.logo-layout-livre .site-header.scrolled .header-logo-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.theme-clean .brand-area:hover .header-logo-wrap {
    transform: none !important;
    box-shadow: none !important;
}

body.theme-clean .header-brand-text {
    display: none !important;
}

@media (min-width: 1200px) {
    body.theme-clean .site-header .container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        grid-template-areas: "menu logo actions";
        align-items: center;
        column-gap: clamp(18px, 3vw, 44px);
    }

    body.theme-clean .header-shell {
        display: contents !important;
        min-height: 0 !important;
    }

    body.theme-clean .brand-area,
    body.theme-clean .site-header.scrolled .brand-area,
    html body.theme-clean.logo-layout-livre .site-header .brand-area,
    html body.theme-clean.logo-layout-livre .site-header.scrolled .brand-area {
        grid-area: logo;
        justify-self: center;
        position: relative !important;
        inset: auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: var(--fixed-header-height) !important;
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        z-index: 5 !important;
    }

    body.theme-clean .header-logo-wrap,
    body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 152px !important;
        min-width: 152px !important;
        height: 74px !important;
        flex: 0 0 152px !important;
    }

    body.theme-clean .header-menu-row,
    body.theme-clean .site-header.scrolled .header-menu-row {
        grid-area: menu;
        justify-self: stretch;
        min-height: var(--fixed-header-height);
        height: var(--fixed-header-height);
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    body.theme-clean .desktop-nav {
        width: 100%;
        display: flex !important;
        justify-content: flex-start;
    }

    body.theme-clean .nav-list,
    body.theme-clean .nav-list-primary {
        width: 100%;
        justify-content: flex-start !important;
        gap: 2px !important;
    }

    body.theme-clean .header-actions {
        grid-area: actions;
        justify-self: end;
        min-width: 0;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }
}

body.theme-clean .nav-link-custom,
body.theme-clean #siteHeader .header-menu-row .nav-list > li > a,
body.theme-clean .site-header .header-menu-row .nav-link-custom,
body.theme-clean .nav-more-toggle {
    min-height: 40px;
    padding: 0 10px !important;
    border-radius: 999px;
    color: #334155 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: 0 !important;
    text-transform: none;
    transform: none !important;
}

body.theme-clean .nav-link-custom:hover,
body.theme-clean .nav-link-custom.active,
body.theme-clean .nav-link-custom[aria-current="page"],
body.theme-clean #siteHeader .header-menu-row .nav-list > li:hover > a,
body.theme-clean #siteHeader .header-menu-row .nav-list > li > a:hover,
body.theme-clean #siteHeader .header-menu-row .nav-list > li > a.active,
body.theme-clean #siteHeader .header-menu-row .nav-list > li > a[aria-current="page"],
body.theme-clean .nav-more-item:hover .nav-more-toggle,
body.theme-clean .nav-more-item:focus-within .nav-more-toggle,
body.theme-clean .nav-more-item.open .nav-more-toggle {
    color: var(--primary) !important;
    background: rgba(var(--primary-rgb), .09) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.theme-clean .header-map,
body.theme-clean .header-shop-icon,
body.theme-clean .header-cart-icon,
body.theme-clean .header-social-icon,
body.theme-clean .mobile-trigger {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    color: #334155 !important;
    background: #f8fafc !important;
    border: 1px solid rgba(15, 23, 42, .09) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.theme-clean .header-map:hover,
body.theme-clean .header-shop-icon:hover,
body.theme-clean .header-cart-icon:hover,
body.theme-clean .header-shop-menu:hover .header-shop-icon,
body.theme-clean .header-social-icon:hover,
body.theme-clean .mobile-trigger:hover {
    color: var(--primary) !important;
    background: rgba(var(--primary-rgb), .08) !important;
    transform: none !important;
    box-shadow: none !important;
}

body.theme-clean .header-whats,
body.theme-clean .header-schedule {
    min-height: 42px;
    border-radius: 999px;
    color: #fff !important;
    background: var(--primary) !important;
    border: 0 !important;
    box-shadow: 0 10px 24px rgba(var(--primary-rgb), .18) !important;
    font-size: .84rem;
    font-weight: 900;
    transform: none !important;
}

body.theme-clean .header-whats:hover,
body.theme-clean .header-schedule:hover {
    color: #fff !important;
    background: var(--primary) !important;
    filter: none !important;
    transform: none !important;
}

body.theme-clean .nav-more-menu {
    border: 1px solid rgba(15, 23, 42, .09) !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .12) !important;
}

body.theme-clean .mobile-overlay {
    background: #fff !important;
    color: #111827 !important;
}

body.theme-clean .mobile-head {
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
}

body.theme-clean .mobile-menu-logo {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

body.theme-clean .mobile-grid a {
    color: #111827 !important;
    background: #f8fafc !important;
    border: 1px solid rgba(15, 23, 42, .07) !important;
}

body.theme-clean .mobile-grid a.active,
body.theme-clean .mobile-grid a:hover {
    color: var(--primary) !important;
    background: rgba(var(--primary-rgb), .08) !important;
}

body.theme-clean .client-footer {
    background: #f8fafc !important;
    color: #475569 !important;
    border-top: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}

body.theme-clean .client-footer::before,
body.theme-clean .client-footer::after {
    display: none !important;
}

body.theme-clean .client-footer .container {
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: min(1280px, calc(100% - 40px)) !important;
}

body.theme-clean .client-footer .footer-grid.footer-grid-has-menu,
body.theme-clean .footer-grid {
    grid-template-columns: minmax(240px, 1.15fr) minmax(280px, 1fr) minmax(240px, .9fr) minmax(170px, .65fr) !important;
    gap: clamp(22px, 3vw, 42px) !important;
    align-items: start !important;
}

body.theme-clean .client-footer .footer-grid.footer-grid-has-menu > div {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.theme-clean .footer-logo {
    width: min(156px, 100%) !important;
    height: auto !important;
    max-height: 92px !important;
    object-fit: contain !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.theme-clean .client-footer h3,
body.theme-clean .client-footer .footer-title,
body.theme-clean .client-footer .footer-grid.footer-grid-has-menu .footer-title {
    color: #111827 !important;
    text-shadow: none !important;
}

body.theme-clean .client-footer p,
body.theme-clean .client-footer small,
body.theme-clean .client-footer .footer-bottom,
body.theme-clean .client-footer .footer-commerce-item small {
    color: #64748b !important;
}

body.theme-clean .client-footer .footer-title::after,
body.theme-clean .client-footer .footer-grid.footer-grid-has-menu .footer-title::after {
    background: rgba(var(--primary-rgb), .45) !important;
}

body.theme-clean .footer-line,
body.theme-clean .footer-line:visited,
body.theme-clean .footer-menu-publico .footer-menu-link {
    color: #475569 !important;
}

body.theme-clean .footer-line:hover,
body.theme-clean .footer-menu-publico .footer-menu-link:hover,
body.theme-clean .footer-menu-publico .footer-menu-link.active,
body.theme-clean .footer-menu-publico .footer-menu-link[aria-current="page"] {
    color: var(--primary) !important;
    transform: none !important;
}

body.theme-clean .footer-contact-icon,
body.theme-clean .footer-social a {
    color: #334155 !important;
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: none !important;
}

body.theme-clean .footer-social a:hover,
body.theme-clean .footer-contact-icon:hover {
    color: var(--primary) !important;
    background: rgba(var(--primary-rgb), .08) !important;
}

body.theme-clean .footer-menu-publico .footer-menu-link::after {
    color: rgba(var(--primary-rgb), .58) !important;
}

body.theme-clean .footer-bottom {
    border-top: 1px solid rgba(15, 23, 42, .08) !important;
}

body.theme-clean .sitor-footer-credit-row {
    border-top: 1px solid rgba(15, 23, 42, .08) !important;
}

body.theme-clean .sitor-footer-credit {
    color: #475569 !important;
}

body.theme-clean .sitor-footer-credit:hover {
    color: var(--primary) !important;
    transform: none !important;
}

body.theme-clean .sitor-footer-credit-logo {
    filter: none !important;
}

body.theme-clean .footer-commerce {
    border-top: 1px solid rgba(15, 23, 42, .08) !important;
}

body.theme-clean .footer-commerce-item {
    color: #334155 !important;
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: none !important;
}

body.theme-clean .footer-commerce-item:hover {
    transform: none !important;
    border-color: rgba(var(--primary-rgb), .22) !important;
}

@media (max-width: 1199px) {
    body.theme-clean {
        --fixed-header-height: 78px;
        padding-top: var(--fixed-header-height) !important;
    }

    body.theme-clean .site-header .container {
        width: min(100% - 28px, 1180px) !important;
        max-width: min(100% - 28px, 1180px) !important;
    }

    body.theme-clean .header-shell {
        min-height: var(--fixed-header-height) !important;
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
    }

    body.theme-clean .brand-area,
    body.theme-clean .site-header.scrolled .brand-area {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        display: inline-flex !important;
        justify-content: center !important;
        z-index: 2 !important;
    }

    body.theme-clean .header-logo-wrap,
    body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 126px !important;
        min-width: 126px !important;
        height: 54px !important;
        flex: 0 0 126px !important;
    }

    body.theme-clean .header-actions {
        grid-column: 3;
        justify-content: flex-end;
        gap: 7px !important;
        z-index: 3;
    }

    body.theme-clean .header-map,
    body.theme-clean .header-shop-icon,
    body.theme-clean .header-cart-icon,
    body.theme-clean .header-social-icon,
    body.theme-clean .mobile-trigger {
        width: 42px;
        height: 42px;
    }

    body.theme-clean .header-whats,
    body.theme-clean .desktop-whats,
    body.theme-clean .header-socials {
        display: none !important;
    }

    body.theme-clean .mobile-trigger {
        display: inline-flex !important;
    }

    body.theme-clean .client-footer .footer-grid.footer-grid-has-menu,
    body.theme-clean .footer-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 767px) {
    body.theme-clean .site-header .container,
    body.theme-clean .client-footer .container {
        width: min(100% - 22px, 1180px) !important;
        max-width: min(100% - 22px, 1180px) !important;
    }

    body.theme-clean .header-map,
    body.theme-clean .header-shop-icon,
    body.theme-clean .header-cart-icon {
        display: none !important;
    }

    body.theme-clean .header-logo-wrap,
    body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 116px !important;
        min-width: 116px !important;
        height: 50px !important;
    }

    body.theme-clean .client-footer {
        padding-top: 42px !important;
    }

    body.theme-clean .client-footer .footer-grid.footer-grid-has-menu,
    body.theme-clean .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    body.theme-clean .footer-menu-list {
        grid-template-columns: 1fr !important;
    }
}

/* Ajustes do Clean central: logo no eixo, menu abaixo e mobile proprio. */
body.theme-clean {
    --fixed-top-strip-height: 42px;
    --fixed-header-height: 116px;
    padding-top: calc(var(--fixed-top-strip-height) + var(--fixed-header-height)) !important;
}

body.theme-clean .top-strip {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2220 !important;
    min-height: var(--fixed-top-strip-height) !important;
    display: flex !important;
    align-items: center !important;
    background: rgba(255,255,255,.98) !important;
    color: #475569 !important;
    border-bottom: 1px solid rgba(15,23,42,.06) !important;
    box-shadow: none !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    transform: none !important;
    opacity: 1 !important;
}

body.theme-clean .top-strip .container {
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: min(1280px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 16px !important;
}

body.theme-clean .top-left,
body.theme-clean .top-right {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
}

.top-item-clean-address {
    display: none !important;
}

body.theme-clean .top-item-clean-address {
    display: inline-flex !important;
}

body.theme-clean .top-right span.top-item {
    display: none !important;
}

body.theme-clean .top-left {
    justify-content: flex-start !important;
    max-width: 100% !important;
}

body.theme-clean .top-right {
    grid-column: 3 !important;
    justify-content: flex-end !important;
}

body.theme-clean .top-strip .container::before {
    content: "";
    grid-column: 2;
    width: 74px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(var(--primary-rgb), .55), transparent);
}

body.theme-clean .top-item,
body.theme-clean .top-item:visited {
    max-width: min(30vw, 440px) !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
    color: #475569 !important;
    border: 1px solid rgba(15,23,42,.06) !important;
    font-size: .76rem !important;
    font-weight: 820 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.theme-clean .top-item i {
    color: var(--primary) !important;
    opacity: 1 !important;
}

body.theme-clean .site-header,
body.theme-clean .site-header.scrolled {
    top: var(--fixed-top-strip-height) !important;
    min-height: var(--fixed-header-height) !important;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
    transform: none !important;
}

body.theme-clean .site-header > .container,
body.theme-clean .site-header .container {
    min-height: var(--fixed-header-height) !important;
}

@media (min-width: 1200px) {
    body.theme-clean .site-header .container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        grid-template-rows: 72px 44px !important;
        grid-template-areas:
            "left logo actions"
            "menu menu menu" !important;
        align-items: center !important;
        column-gap: clamp(18px, 3vw, 44px) !important;
    }

    body.theme-clean .header-shell {
        display: contents !important;
    }

    body.theme-clean .brand-area,
    body.theme-clean .site-header.scrolled .brand-area,
    html body.theme-clean.logo-layout-livre .site-header .brand-area,
    html body.theme-clean.logo-layout-livre .site-header.scrolled .brand-area {
        grid-area: logo !important;
        height: 72px !important;
        align-self: center !important;
        justify-self: center !important;
    }

    body.theme-clean .header-logo-wrap,
    body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 156px !important;
        min-width: 156px !important;
        height: 68px !important;
        flex-basis: 156px !important;
    }

    body.theme-clean .header-actions {
        grid-area: actions !important;
        align-self: center !important;
        justify-self: end !important;
        height: 72px !important;
    }

    body.theme-clean .header-menu-row,
    body.theme-clean .site-header.scrolled .header-menu-row {
        grid-area: menu !important;
        width: 100% !important;
        min-height: 44px !important;
        height: 44px !important;
        align-self: stretch !important;
        justify-self: stretch !important;
        justify-content: center !important;
        border-top: 1px solid rgba(15,23,42,.08) !important;
    }

    body.theme-clean .header-menu-row::before {
        display: block !important;
        content: "";
        position: absolute;
        top: -1px;
        left: 50%;
        width: min(460px, 50vw);
        height: 1px;
        transform: translateX(-50%);
        background: linear-gradient(90deg, transparent, rgba(var(--primary-rgb), .45), transparent);
        border: 0 !important;
        box-shadow: none !important;
        pointer-events: none;
    }

    body.theme-clean .header-menu-row::after {
        content: "";
        position: absolute;
        top: -3px;
        left: 50%;
        width: 58px;
        height: 3px;
        border-radius: 999px;
        transform: translateX(-50%);
        background: var(--primary);
        opacity: .9;
        pointer-events: none;
    }

    body.theme-clean .desktop-nav {
        width: auto !important;
        max-width: 100% !important;
        justify-content: center !important;
    }

    body.theme-clean .nav-list,
    body.theme-clean .nav-list-primary {
        width: auto !important;
        justify-content: center !important;
        gap: 4px !important;
    }

    body.theme-clean .nav-link-custom,
    body.theme-clean #siteHeader .header-menu-row .nav-list > li > a,
    body.theme-clean .site-header .header-menu-row .nav-link-custom,
    body.theme-clean .nav-more-toggle {
        min-height: 34px !important;
        padding: 0 12px !important;
        font-size: .8rem !important;
    }
}

body.theme-clean .service-page {
    padding-top: 0 !important;
}

body.theme-clean .detail-hero {
    margin-top: 0 !important;
    padding-top: 48px !important;
}

body.theme-clean .service-side-card {
    top: calc(var(--fixed-top-strip-height) + var(--fixed-header-height) + 18px) !important;
}

@media (max-width: 1199px) {
    body.theme-clean {
        --fixed-top-strip-height: 0px;
        --fixed-header-height: 78px;
        padding-top: var(--fixed-header-height) !important;
    }

    body.theme-clean .top-strip {
        display: none !important;
    }

    body.theme-clean .site-header,
    body.theme-clean .site-header.scrolled {
        top: 0 !important;
        min-height: var(--fixed-header-height) !important;
        background: rgba(255,255,255,.98) !important;
    }

    body.theme-clean .site-header .container {
        width: min(100% - 26px, 1180px) !important;
        max-width: min(100% - 26px, 1180px) !important;
        min-height: var(--fixed-header-height) !important;
    }

    body.theme-clean .header-shell {
        min-height: var(--fixed-header-height) !important;
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
        position: relative !important;
    }

    body.theme-clean .brand-area,
    body.theme-clean .site-header.scrolled .brand-area {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        transform: translate(-50%, -50%) !important;
        z-index: 2 !important;
    }

    body.theme-clean .header-logo-wrap,
    body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 128px !important;
        min-width: 128px !important;
        height: 56px !important;
        flex-basis: 128px !important;
    }

    body.theme-clean .header-actions {
        grid-column: 3 !important;
        justify-content: flex-end !important;
        gap: 7px !important;
        z-index: 3 !important;
    }

    body.theme-clean .header-menu-row {
        display: none !important;
    }

    body.theme-clean .header-map,
    body.theme-clean .mobile-trigger {
        display: inline-flex !important;
        width: 42px !important;
        height: 42px !important;
        border-radius: 14px !important;
        background: #f8fafc !important;
        color: var(--primary) !important;
    }

    body.theme-clean .header-whats,
    body.theme-clean .desktop-whats,
    body.theme-clean .header-socials {
        display: none !important;
    }

    body.theme-clean .mobile-overlay {
        position: fixed !important;
        inset: 0 !important;
        z-index: 4000 !important;
        background: #ffffff !important;
        color: #111827 !important;
    }

    body.theme-clean .mobile-head {
        min-height: 82px !important;
        padding: 14px 18px !important;
        border-bottom: 1px solid rgba(15,23,42,.08) !important;
        background: #fff !important;
    }

    body.theme-clean .mobile-brand-head {
        color: #111827 !important;
    }

    body.theme-clean .mobile-brand-head small {
        color: var(--primary) !important;
    }

    body.theme-clean .mobile-close {
        background: #f8fafc !important;
        color: #111827 !important;
        border: 1px solid rgba(15,23,42,.08) !important;
    }

    body.theme-clean .mobile-grid {
        padding: 18px !important;
        gap: 10px !important;
    }

    body.theme-clean .mobile-grid a {
        min-height: 56px !important;
        border-radius: 16px !important;
        background: #f8fafc !important;
        color: #111827 !important;
        border: 1px solid rgba(15,23,42,.07) !important;
        font-weight: 850 !important;
    }

    body.theme-clean .mobile-grid a i {
        color: var(--primary) !important;
    }

    body.theme-clean .service-page {
        padding-top: 0 !important;
    }

    body.theme-clean .detail-hero {
        padding-top: 34px !important;
    }
}

@media (max-width: 767px) {
    body.theme-clean {
        --fixed-header-height: 74px;
    }

    body.theme-clean .header-shell {
        grid-template-columns: 42px minmax(0, 1fr) auto !important;
    }

    body.theme-clean .header-logo-wrap,
    body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 118px !important;
        min-width: 118px !important;
        height: 52px !important;
        flex-basis: 118px !important;
    }

    body.theme-clean .header-map,
    body.theme-clean .mobile-trigger {
        width: 40px !important;
        height: 40px !important;
    }

    body.theme-clean .header-shop-icon,
    body.theme-clean .header-cart-icon {
        display: none !important;
    }
}

/* Refinamento final: informacoes laterais na mesma linha da logo. */
body.theme-clean {
    --fixed-top-strip-height: 0px;
    --fixed-header-height: 146px;
    padding-top: var(--fixed-header-height) !important;
}

body.theme-clean .site-header,
body.theme-clean .site-header.scrolled {
    top: 0 !important;
    min-height: var(--fixed-header-height) !important;
    background: rgba(255,255,255,.985) !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.07) !important;
    transform: none !important;
}

body.theme-clean .top-strip {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 2240 !important;
    height: 92px !important;
    min-height: 92px !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    pointer-events: none !important;
}

body.theme-clean .top-strip .container {
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: min(1280px, calc(100% - 40px)) !important;
    height: 92px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: clamp(20px, 3.2vw, 52px) !important;
}

body.theme-clean .top-strip .container::before,
body.theme-clean .top-strip .container::after {
    display: none !important;
}

body.theme-clean .top-left {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    pointer-events: auto !important;
}

body.theme-clean .top-right {
    display: none !important;
}

body.theme-clean .top-left .top-item,
body.theme-clean .top-left .top-item:visited {
    height: 38px !important;
    min-height: 38px !important;
    max-width: 218px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
    color: #334155 !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.045) !important;
    font-size: .74rem !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.theme-clean .top-left .top-item:first-child {
    flex: 0 0 auto !important;
    max-width: 142px !important;
}

body.theme-clean .top-left .top-item-clean-address {
    flex: 1 1 auto !important;
    max-width: 250px !important;
    justify-content: flex-start !important;
}

body.theme-clean .top-left .top-item:last-child {
    flex: 1 1 auto !important;
    max-width: 240px !important;
    justify-content: flex-start !important;
}

body.theme-clean .top-left .top-item i {
    flex: 0 0 auto !important;
    color: var(--primary) !important;
    font-size: .82rem !important;
    line-height: 1 !important;
}

@media (min-width: 1200px) {
    body.theme-clean .site-header > .container,
    body.theme-clean .site-header .container {
        min-height: var(--fixed-header-height) !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1fr) !important;
        grid-template-rows: 92px 54px !important;
        grid-template-areas:
            "left logo actions"
            "menu menu menu" !important;
        align-items: center !important;
        column-gap: clamp(20px, 3.2vw, 52px) !important;
    }

    body.theme-clean .header-shell {
        display: contents !important;
    }

    body.theme-clean .brand-area,
    body.theme-clean .site-header.scrolled .brand-area,
    html body.theme-clean.logo-layout-livre .site-header .brand-area,
    html body.theme-clean.logo-layout-livre .site-header.scrolled .brand-area {
        grid-area: logo !important;
        height: 92px !important;
        align-self: center !important;
        justify-self: center !important;
        position: relative !important;
        inset: auto !important;
        transform: none !important;
        z-index: 2250 !important;
    }

    body.theme-clean .header-logo-wrap,
    body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 170px !important;
        min-width: 170px !important;
        height: 76px !important;
        flex-basis: 170px !important;
    }

    body.theme-clean .header-actions {
        grid-area: actions !important;
        height: 92px !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 9px !important;
        align-self: center !important;
        justify-self: end !important;
        z-index: 2260 !important;
    }

    body.theme-clean .header-menu-row,
    body.theme-clean .site-header.scrolled .header-menu-row {
        grid-area: menu !important;
        position: relative !important;
        width: 100% !important;
        min-height: 54px !important;
        height: 54px !important;
        padding-top: 7px !important;
        align-self: stretch !important;
        justify-self: stretch !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        border-top: 1px solid rgba(15,23,42,.08) !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
        z-index: 2235 !important;
    }

    body.theme-clean .header-menu-row::before {
        display: block !important;
        content: "";
        position: absolute !important;
        top: -1px !important;
        left: 50% !important;
        width: min(540px, 58vw) !important;
        height: 1px !important;
        transform: translateX(-50%) !important;
        background: linear-gradient(90deg, transparent, rgba(var(--primary-rgb), .42), transparent) !important;
        pointer-events: none !important;
    }

    body.theme-clean .header-menu-row::after {
        content: "" !important;
        position: absolute !important;
        top: -3px !important;
        left: 50% !important;
        width: 64px !important;
        height: 3px !important;
        border-radius: 999px !important;
        transform: translateX(-50%) !important;
        background: var(--primary) !important;
        opacity: .82 !important;
        pointer-events: none !important;
    }

    body.theme-clean .desktop-nav {
        width: auto !important;
        max-width: 100% !important;
        min-height: 38px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.theme-clean .nav-list,
    body.theme-clean .nav-list-primary {
        width: auto !important;
        max-width: 100% !important;
        min-height: 38px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        flex-wrap: nowrap !important;
    }

    body.theme-clean .nav-link-custom,
    body.theme-clean #siteHeader .header-menu-row .nav-list > li > a,
    body.theme-clean .site-header .header-menu-row .nav-link-custom,
    body.theme-clean .nav-more-toggle {
        min-height: 38px !important;
        height: 38px !important;
        padding: 0 14px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        line-height: 1 !important;
        border: 1px solid transparent !important;
        border-radius: 13px !important;
        background: transparent !important;
        color: #334155 !important;
        box-shadow: none !important;
        transform: none !important;
        font-size: .8rem !important;
        font-weight: 850 !important;
    }

    body.theme-clean .nav-link-custom:hover,
    body.theme-clean .nav-link-custom.active,
    body.theme-clean .nav-link-custom[aria-current="page"],
    body.theme-clean #siteHeader .header-menu-row .nav-list > li:hover > a,
    body.theme-clean #siteHeader .header-menu-row .nav-list > li > a:hover,
    body.theme-clean #siteHeader .header-menu-row .nav-list > li > a.active,
    body.theme-clean #siteHeader .header-menu-row .nav-list > li > a[aria-current="page"],
    body.theme-clean .nav-more-item:hover .nav-more-toggle,
    body.theme-clean .nav-more-item:focus-within .nav-more-toggle,
    body.theme-clean .nav-more-item.open .nav-more-toggle {
        color: var(--primary) !important;
        background: rgba(var(--primary-rgb), .09) !important;
        border-color: rgba(var(--primary-rgb), .12) !important;
        box-shadow: none !important;
        transform: none !important;
    }
}

body.theme-clean .service-page {
    padding-top: 0 !important;
}

body.theme-clean .detail-hero {
    margin-top: 0 !important;
}

body.theme-clean .service-side-card {
    top: calc(var(--fixed-header-height) + 18px) !important;
}

@media (max-width: 1390px) and (min-width: 1200px) {
    body.theme-clean .top-left {
        gap: 6px !important;
    }

    body.theme-clean .top-left .top-item,
    body.theme-clean .top-left .top-item:visited {
        max-width: 188px !important;
        padding: 0 10px !important;
        font-size: .7rem !important;
    }

    body.theme-clean .top-left .top-item-clean-address {
        max-width: 220px !important;
    }

    body.theme-clean .top-left .top-item:last-child {
        max-width: 200px !important;
    }
}

@media (max-width: 1199px) {
    body.theme-clean {
        --fixed-header-height: 78px;
        padding-top: var(--fixed-header-height) !important;
    }

    body.theme-clean .top-strip {
        display: none !important;
    }

    body.theme-clean .site-header,
    body.theme-clean .site-header.scrolled {
        top: 0 !important;
        min-height: var(--fixed-header-height) !important;
    }

    body.theme-clean .service-side-card {
        top: calc(var(--fixed-header-height) + 14px) !important;
    }
}

@media (max-width: 767px) {
    body.theme-clean {
        --fixed-header-height: 74px;
    }
}

/* Mobile clean claro: status/endereco no topo e header branco. */
@media (max-width: 1199px) {
    body.theme-clean {
        --clean-mobile-info-height: 38px;
        --fixed-header-height: 70px;
        padding-top: calc(var(--clean-mobile-info-height) + var(--fixed-header-height)) !important;
    }

    body.theme-clean .top-strip {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 2290 !important;
        height: var(--clean-mobile-info-height) !important;
        min-height: var(--clean-mobile-info-height) !important;
        display: flex !important;
        align-items: center !important;
        background: rgba(255,255,255,.985) !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(15,23,42,.07) !important;
        box-shadow: none !important;
        backdrop-filter: blur(16px) saturate(1.08) !important;
        pointer-events: auto !important;
    }

    body.theme-clean .top-strip .container {
        width: calc(100% - 22px) !important;
        max-width: calc(100% - 22px) !important;
        height: var(--clean-mobile-info-height) !important;
        margin: 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
    }

    body.theme-clean .top-left {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        overflow: hidden !important;
    }

    body.theme-clean .top-right,
    body.theme-clean .top-left .top-item:not(:first-child):not(.top-item-clean-address) {
        display: none !important;
    }

    body.theme-clean .top-left .top-item,
    body.theme-clean .top-left .top-item:visited {
        height: 28px !important;
        min-height: 28px !important;
        max-width: none !important;
        padding: 0 9px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        border-radius: 999px !important;
        background: #f8fafc !important;
        border: 1px solid rgba(15,23,42,.07) !important;
        box-shadow: none !important;
        color: #334155 !important;
        font-size: .66rem !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.theme-clean .top-left .top-item:first-child {
        flex: 0 0 auto !important;
        max-width: 128px !important;
    }

    body.theme-clean .top-left .top-item-clean-address {
        flex: 1 1 auto !important;
        max-width: none !important;
        min-width: 0 !important;
        display: inline-flex !important;
    }

    body.theme-clean .top-left .top-item i {
        flex: 0 0 auto !important;
        color: var(--primary) !important;
        font-size: .72rem !important;
    }

    body.theme-clean .site-header,
    body.theme-clean .site-header.scrolled {
        position: fixed !important;
        top: var(--clean-mobile-info-height) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 2280 !important;
        min-height: var(--fixed-header-height) !important;
        height: var(--fixed-header-height) !important;
        background: rgba(255,255,255,.985) !important;
        border-bottom: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: 0 12px 28px rgba(15,23,42,.075) !important;
        backdrop-filter: blur(16px) saturate(1.08) !important;
        transform: none !important;
    }

    body.theme-clean .site-header::before,
    body.theme-clean .site-header::after,
    body.theme-clean .site-header.scrolled::before,
    body.theme-clean .site-header.scrolled::after {
        display: none !important;
        content: none !important;
    }

    body.theme-clean .site-header > .container,
    body.theme-clean .site-header .container {
        width: calc(100% - 22px) !important;
        max-width: calc(100% - 22px) !important;
        min-height: var(--fixed-header-height) !important;
        height: var(--fixed-header-height) !important;
        margin: 0 auto !important;
        background: transparent !important;
    }

    body.theme-clean .header-shell {
        min-height: var(--fixed-header-height) !important;
        height: var(--fixed-header-height) !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
        position: relative !important;
        background: transparent !important;
    }

    body.theme-clean .brand-area,
    body.theme-clean .site-header.scrolled .brand-area {
        grid-column: 1 !important;
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: auto !important;
        height: var(--fixed-header-height) !important;
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        transform: none !important;
        z-index: 2 !important;
        overflow: visible !important;
    }

    body.theme-clean .header-logo-wrap,
    body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 126px !important;
        min-width: 126px !important;
        height: 52px !important;
        flex-basis: 126px !important;
        overflow: visible !important;
    }

    body.theme-clean .header-logo-img,
    body.theme-clean .site-header.scrolled .header-logo-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    body.theme-clean .header-actions {
        grid-column: 3 !important;
        min-width: 0 !important;
        height: var(--fixed-header-height) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        z-index: 3 !important;
    }

    body.theme-clean .header-menu-row {
        display: none !important;
    }

    body.theme-clean .header-map,
    body.theme-clean .mobile-trigger {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 14px !important;
        background: #f8fafc !important;
        color: var(--primary) !important;
        border: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: 0 10px 22px rgba(15,23,42,.06) !important;
        transform: none !important;
    }

    body.theme-clean .header-map i,
    body.theme-clean .mobile-trigger i {
        color: var(--primary) !important;
        font-size: 1rem !important;
        line-height: 1 !important;
    }

    body.theme-clean .header-whats,
    body.theme-clean .desktop-whats,
    body.theme-clean .header-socials,
    body.theme-clean .header-schedule {
        display: none !important;
    }

    body.theme-clean .mobile-overlay {
        background: #ffffff !important;
        color: #111827 !important;
    }

    body.theme-clean .mobile-head {
        background: #ffffff !important;
        border-bottom: 1px solid rgba(15,23,42,.08) !important;
    }

    body.theme-clean .mobile-grid a {
        background: #f8fafc !important;
        color: #111827 !important;
        border: 1px solid rgba(15,23,42,.07) !important;
    }

    body.theme-clean .mobile-grid a i {
        color: var(--primary) !important;
    }

    body.theme-clean .service-side-card {
        top: calc(var(--clean-mobile-info-height) + var(--fixed-header-height) + 14px) !important;
    }
}

@media (max-width: 767px) {
    body.theme-clean {
        --clean-mobile-info-height: 38px;
        --fixed-header-height: 68px;
    }

    body.theme-clean .header-logo-wrap,
    body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 116px !important;
        min-width: 116px !important;
        height: 50px !important;
        flex-basis: 116px !important;
    }

    body.theme-clean .header-map,
    body.theme-clean .mobile-trigger {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
    }
}

/* Clean definitivo: informacoes dentro do header, sem top-strip e sem categoria. */
.clean-header-info {
    display: none;
}

html body.theme-clean {
    --fixed-top-strip-height: 0px !important;
    --fixed-header-height: 146px;
    padding-top: var(--fixed-header-height) !important;
}

html body.theme-clean .top-strip {
    display: none !important;
}

html body.theme-clean .site-header,
html body.theme-clean .site-header.scrolled {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    min-height: var(--fixed-header-height) !important;
    height: var(--fixed-header-height) !important;
    background: rgba(255,255,255,.99) !important;
    border-bottom: 1px solid rgba(15,23,42,.08) !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.075) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    transform: none !important;
    overflow: visible !important;
}

html body.theme-clean .site-header::before,
html body.theme-clean .site-header::after,
html body.theme-clean .site-header.scrolled::before,
html body.theme-clean .site-header.scrolled::after {
    display: none !important;
    content: none !important;
}

html body.theme-clean .clean-info-pill {
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
    color: #334155 !important;
    border: 1px solid rgba(15,23,42,.08) !important;    
    font-size: .74rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

html body.theme-clean .clean-info-pill i {
    flex: 0 0 auto !important;
    color: var(--primary) !important;
    font-size: .82rem !important;
}

@media (min-width: 1200px) {
    html body.theme-clean .site-header > .container,
    html body.theme-clean .site-header .container {
        width: min(1280px, calc(100% - 40px)) !important;
        max-width: min(1280px, calc(100% - 40px)) !important;
        min-height: var(--fixed-header-height) !important;
        height: var(--fixed-header-height) !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 190px minmax(0, 1fr) !important;
        grid-template-rows: 92px 54px !important;
        grid-template-areas:
            "left logo actions"
            "menu menu menu" !important;
        align-items: center !important;
        column-gap: clamp(20px, 3.2vw, 52px) !important;
        background: transparent !important;
    }

    html body.theme-clean .header-shell {
        display: contents !important;
    }

    html body.theme-clean .clean-header-info {
        grid-area: left !important;
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        overflow: hidden !important;
    }

    html body.theme-clean .clean-info-status {
        flex: 0 0 auto !important;
        max-width: 142px !important;
    }

    html body.theme-clean .clean-info-address {
        flex: 1 1 auto !important;
        max-width: 310px !important;
    }

    html body.theme-clean .brand-area,
    html body.theme-clean .site-header.scrolled .brand-area,
    html body.theme-clean.logo-layout-livre .site-header .brand-area,
    html body.theme-clean.logo-layout-livre .site-header.scrolled .brand-area {
        grid-area: logo !important;
        width: auto !important;
        height: 92px !important;
        min-width: 0 !important;
        align-self: center !important;
        justify-self: center !important;
        position: relative !important;
        inset: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        transform: none !important;
        z-index: 2 !important;
    }

    html body.theme-clean .header-logo-wrap,
    html body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 174px !important;
        min-width: 174px !important;
        height: 76px !important;
        flex-basis: 174px !important;
    }

    html body.theme-clean .header-actions {
        grid-area: actions !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 92px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 9px !important;
        align-self: center !important;
        justify-self: end !important;
    }

    html body.theme-clean .header-menu-row,
    html body.theme-clean .site-header.scrolled .header-menu-row {
        grid-area: menu !important;
        position: relative !important;
        width: 100% !important;
        height: 54px !important;
        min-height: 54px !important;
        padding-top: 7px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        border-top: 1px solid rgba(15,23,42,.08) !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    html body.theme-clean .header-menu-row::before {
        display: block !important;
        content: "";
        position: absolute !important;
        top: -1px !important;
        left: 50% !important;
        width: min(540px, 58vw) !important;
        height: 1px !important;
        transform: translateX(-50%) !important;
        background: linear-gradient(90deg, transparent, rgba(var(--primary-rgb), .42), transparent) !important;
        pointer-events: none !important;
    }

    html body.theme-clean .header-menu-row::after {
        content: "" !important;
        position: absolute !important;
        top: -3px !important;
        left: 50% !important;
        width: 64px !important;
        height: 3px !important;
        border-radius: 999px !important;
        transform: translateX(-50%) !important;
        background: var(--primary) !important;
        opacity: .82 !important;
        pointer-events: none !important;
    }

    html body.theme-clean .desktop-nav,
    html body.theme-clean .nav-list,
    html body.theme-clean .nav-list-primary {
        width: auto !important;
        max-width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
    }
}

@media (max-width: 1390px) and (min-width: 1200px) {
    html body.theme-clean .clean-header-info {
        gap: 6px !important;
    }

    html body.theme-clean .clean-info-pill {
        height: 36px !important;
        padding: 0 10px !important;
        font-size: .7rem !important;
    }

    html body.theme-clean .clean-info-address {
        max-width: 238px !important;
    }
}

@media (max-width: 1199px) {
    html body.theme-clean {
        --fixed-header-height: 108px;
        padding-top: var(--fixed-header-height) !important;
    }

    html body.theme-clean .site-header,
    html body.theme-clean .site-header.scrolled {
        top: 0 !important;
        min-height: var(--fixed-header-height) !important;
        height: var(--fixed-header-height) !important;
        background: #ffffff !important;
        border-bottom: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: 0 12px 28px rgba(15,23,42,.075) !important;
    }

    html body.theme-clean .site-header > .container,
    html body.theme-clean .site-header .container {
        width: calc(100% - 22px) !important;
        max-width: calc(100% - 22px) !important;
        height: var(--fixed-header-height) !important;
        min-height: var(--fixed-header-height) !important;
        margin: 0 auto !important;
        background: transparent !important;
    }

    html body.theme-clean .header-shell {
        width: 100% !important;
        height: var(--fixed-header-height) !important;
        min-height: var(--fixed-header-height) !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        grid-template-rows: 38px 70px !important;
        grid-template-areas:
            "info info info"
            "logo spacer actions" !important;
        align-items: center !important;
        gap: 0 10px !important;
        background: transparent !important;
        overflow: visible !important;
    }

    html body.theme-clean .clean-header-info {
        grid-area: info !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 38px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        overflow: hidden !important;
    }

    html body.theme-clean .clean-info-pill {
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 9px !important;
        box-shadow: none !important;
        font-size: .66rem !important;
    }

    html body.theme-clean .clean-info-status {
        flex: 0 0 auto !important;
        max-width: 126px !important;
    }

    html body.theme-clean .clean-info-address {
        flex: 1 1 auto !important;
        max-width: none !important;
    }

    html body.theme-clean .brand-area,
    html body.theme-clean .site-header.scrolled .brand-area {
        grid-area: logo !important;
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: auto !important;
        height: 70px !important;
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        transform: none !important;
        overflow: visible !important;
    }

    html body.theme-clean .header-logo-wrap,
    html body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 124px !important;
        min-width: 124px !important;
        height: 52px !important;
        flex-basis: 124px !important;
        overflow: visible !important;
    }

    html body.theme-clean .header-actions {
        grid-area: actions !important;
        height: 70px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    html body.theme-clean .header-map,
    html body.theme-clean .mobile-trigger {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 14px !important;
        background: #f8fafc !important;
        color: var(--primary) !important;
        border: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: 0 10px 22px rgba(15,23,42,.06) !important;
    }

    html body.theme-clean .header-menu-row,
    html body.theme-clean .header-whats,
    html body.theme-clean .desktop-whats,
    html body.theme-clean .header-socials,
    html body.theme-clean .header-schedule {
        display: none !important;
    }

    html body.theme-clean .mobile-overlay {
        background: #ffffff !important;
        color: #111827 !important;
    }

    html body.theme-clean .mobile-head {
        background: #ffffff !important;
        border-bottom: 1px solid rgba(15,23,42,.08) !important;
    }

    html body.theme-clean .mobile-grid a {
        background: #f8fafc !important;
        color: #111827 !important;
        border: 1px solid rgba(15,23,42,.07) !important;
    }
}

@media (max-width: 767px) {
    html body.theme-clean {
        --fixed-header-height: 104px;
    }

    html body.theme-clean .header-shell {
        grid-template-rows: 36px 68px !important;
    }

    html body.theme-clean .clean-header-info {
        height: 36px !important;
    }

    html body.theme-clean .brand-area,
    html body.theme-clean .site-header.scrolled .brand-area,
    html body.theme-clean .header-actions {
        height: 68px !important;
    }

    html body.theme-clean .header-logo-wrap,
    html body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 116px !important;
        min-width: 116px !important;
        height: 50px !important;
        flex-basis: 116px !important;
    }

    html body.theme-clean .header-map,
    html body.theme-clean .mobile-trigger {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
    }
}

/* Mobile clean simplificado: sem infos no topo e sem estados escuros. */
@media (max-width: 1199px) {
    html body.theme-clean {
        --fixed-top-strip-height: 0px !important;
        --fixed-header-height: 72px !important;
        padding-top: var(--fixed-header-height) !important;
        background: #ffffff !important;
    }

    html body.theme-clean .top-strip,
    html body.theme-clean .clean-header-info {
        display: none !important;
    }

    html body.theme-clean .site-header,
    html body.theme-clean .site-header.scrolled {
        top: 0 !important;
        height: var(--fixed-header-height) !important;
        min-height: var(--fixed-header-height) !important;
        background: #ffffff !important;
        border-bottom: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: 0 10px 24px rgba(15,23,42,.07) !important;
        backdrop-filter: blur(14px) saturate(1.05) !important;
        transform: none !important;
    }

    html body.theme-clean .site-header > .container,
    html body.theme-clean .site-header .container {
        width: calc(100% - 22px) !important;
        max-width: calc(100% - 22px) !important;
        height: var(--fixed-header-height) !important;
        min-height: var(--fixed-header-height) !important;
        background: transparent !important;
    }

    html body.theme-clean .header-shell {
        height: var(--fixed-header-height) !important;
        min-height: var(--fixed-header-height) !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        grid-template-rows: 1fr !important;
        grid-template-areas: "logo spacer actions" !important;
        align-items: center !important;
        gap: 10px !important;
        background: transparent !important;
        overflow: visible !important;
    }

    html body.theme-clean .brand-area,
    html body.theme-clean .site-header.scrolled .brand-area {
        grid-area: logo !important;
        position: static !important;
        width: auto !important;
        height: var(--fixed-header-height) !important;
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        transform: none !important;
        overflow: visible !important;
    }

    html body.theme-clean .header-logo-wrap,
    html body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 124px !important;
        min-width: 124px !important;
        height: 52px !important;
        flex-basis: 124px !important;
        overflow: visible !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    html body.theme-clean .header-actions {
        grid-area: actions !important;
        height: var(--fixed-header-height) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    html body.theme-clean .header-map,
    html body.theme-clean .mobile-trigger,
    html body.theme-clean .header-map:hover,
    html body.theme-clean .mobile-trigger:hover,
    html body.theme-clean .header-map:focus,
    html body.theme-clean .mobile-trigger:focus,
    html body.theme-clean .header-map:active,
    html body.theme-clean .mobile-trigger:active {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 14px !important;
        background: #f8fafc !important;
        color: var(--primary) !important;
        border: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: 0 10px 22px rgba(15,23,42,.06) !important;
        transform: none !important;
    }

    html body.theme-clean .header-map i,
    html body.theme-clean .mobile-trigger i,
    html body.theme-clean .header-map:hover i,
    html body.theme-clean .mobile-trigger:hover i,
    html body.theme-clean .header-map:focus i,
    html body.theme-clean .mobile-trigger:focus i,
    html body.theme-clean .header-map:active i,
    html body.theme-clean .mobile-trigger:active i {
        color: var(--primary) !important;
    }

    html body.theme-clean .mobile-overlay,
    html body.theme-clean .mobile-overlay.open {
        background: #ffffff !important;
        color: #111827 !important;
    }

    html body.theme-clean .mobile-head {
        background: #ffffff !important;
        color: #111827 !important;
        border-bottom: 1px solid rgba(15,23,42,.08) !important;
    }

    html body.theme-clean .mobile-brand-head,
    html body.theme-clean .mobile-brand-head strong,
    html body.theme-clean .mobile-brand-head small {
        color: #111827 !important;
    }

    html body.theme-clean .mobile-close,
    html body.theme-clean .mobile-close:hover,
    html body.theme-clean .mobile-close:focus,
    html body.theme-clean .mobile-close:active {
        background: #f8fafc !important;
        color: var(--primary) !important;
        border: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: none !important;
        transform: none !important;
    }

    html body.theme-clean .mobile-grid {
        background: #ffffff !important;
    }

    html body.theme-clean .mobile-grid a,
    html body.theme-clean .mobile-grid a:hover,
    html body.theme-clean .mobile-grid a:focus,
    html body.theme-clean .mobile-grid a:active,
    html body.theme-clean .mobile-grid a.active,
    html body.theme-clean .mobile-grid a[aria-current="page"] {
        background: #f8fafc !important;
        color: #111827 !important;
        border: 1px solid rgba(15,23,42,.07) !important;
        box-shadow: none !important;
        transform: none !important;
    }

    html body.theme-clean .mobile-grid a i,
    html body.theme-clean .mobile-grid a:hover i,
    html body.theme-clean .mobile-grid a:focus i,
    html body.theme-clean .mobile-grid a:active i,
    html body.theme-clean .mobile-grid a.active i,
    html body.theme-clean .mobile-grid a[aria-current="page"] i {
        color: var(--primary) !important;
    }
}

@media (max-width: 767px) {
    html body.theme-clean {
        --fixed-header-height: 68px !important;
    }

    html body.theme-clean .header-logo-wrap,
    html body.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 116px !important;
        min-width: 116px !important;
        height: 50px !important;
        flex-basis: 116px !important;
    }

    html body.theme-clean .header-map,
    html body.theme-clean .mobile-trigger,
    html body.theme-clean .header-map:hover,
    html body.theme-clean .mobile-trigger:hover,
    html body.theme-clean .header-map:focus,
    html body.theme-clean .mobile-trigger:focus,
    html body.theme-clean .header-map:active,
    html body.theme-clean .mobile-trigger:active {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
    }
}

/* Correção forte do mobile clean contra o mobile_publico antigo. */
@media (min-width: 1200px) {
    html body.theme-clean .clean-info-status {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        padding-right: 14px !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    html body.theme-clean .clean-info-address {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        max-width: min(260px, 26vw) !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}

@media (max-width: 1199px) {
    html body.sitor-mobile-v2.theme-clean,
    html body.sitor-mobile-v2.theme-clean.mobile-menu-open {
        --sitor-mobile-top: 72px !important;
        --fixed-header-height: 72px !important;
        --fixed-top-strip-height: 0px !important;
        padding-top: 72px !important;
        background: #ffffff !important;
    }

    html body.sitor-mobile-v2.theme-clean .top-strip,
    html body.sitor-mobile-v2.theme-clean .clean-header-info {
        display: none !important;
    }

    html body.sitor-mobile-v2.theme-clean .site-header,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled,
    html body.sitor-mobile-v2.theme-clean.mobile-menu-open .site-header,
    html body.sitor-mobile-v2.theme-clean.mobile-menu-open .site-header.scrolled {
        position: fixed !important;
        inset: 0 0 auto 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 72px !important;
        min-height: 72px !important;
        padding: 0 !important;
        z-index: 3200 !important;
        background: #ffffff !important;
        background-image: none !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: 0 10px 24px rgba(15,23,42,.07) !important;
        backdrop-filter: blur(14px) saturate(1.05) !important;
        transform: none !important;
        overflow: visible !important;
    }

    html body.sitor-mobile-v2.theme-clean .site-header::before,
    html body.sitor-mobile-v2.theme-clean .site-header::after,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled::before,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled::after {
        display: none !important;
        content: none !important;
        background: none !important;
    }

    html body.sitor-mobile-v2.theme-clean .site-header > .container,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled > .container,
    html body.sitor-mobile-v2.theme-clean .site-header .container,
    html body.sitor-mobile-v2.theme-clean.mobile-menu-open .site-header > .container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 72px !important;
        min-height: 72px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        display: block !important;
        background: #ffffff !important;
        background-image: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        overflow: visible !important;
    }

    html body.sitor-mobile-v2.theme-clean .header-shell,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-shell {
        width: 100% !important;
        height: 72px !important;
        min-height: 72px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        background: #ffffff !important;
        border: 0 !important;
        overflow: visible !important;
    }

    html body.sitor-mobile-v2.theme-clean .brand-area,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .brand-area {
        position: relative !important;
        inset: auto !important;
        width: auto !important;
        max-width: calc(100% - 104px) !important;
        min-width: 0 !important;
        height: 72px !important;
        min-height: 72px !important;
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        color: #111827 !important;
        overflow: visible !important;
        transform: none !important;
    }

    html body.sitor-mobile-v2.theme-clean .header-logo-wrap,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-logo-wrap {
        position: static !important;
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        flex: 0 0 124px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    html body.sitor-mobile-v2.theme-clean .header-logo-wrap .header-logo-img,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-logo-wrap .header-logo-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    html body.sitor-mobile-v2.theme-clean .header-actions,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-actions {
        width: auto !important;
        min-width: 0 !important;
        height: 72px !important;
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        margin-left: auto !important;
        background: transparent !important;
    }

    html body.sitor-mobile-v2.theme-clean .header-map,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-map,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .mobile-trigger,
    html body.sitor-mobile-v2.theme-clean .header-map:hover,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:hover,
    html body.sitor-mobile-v2.theme-clean .header-map:focus,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:focus,
    html body.sitor-mobile-v2.theme-clean .header-map:focus-visible,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:focus-visible,
    html body.sitor-mobile-v2.theme-clean .header-map:active,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:active {
        box-sizing: border-box !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
        flex: 0 0 42px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
        color: var(--primary) !important;
        background: #f8fafc !important;
        background-image: none !important;
        border: 1px solid rgba(15,23,42,.08) !important;
        border-radius: 14px !important;
        box-shadow: 0 10px 22px rgba(15,23,42,.06) !important;
        outline: 0 !important;
        outline-offset: 0 !important;
        transform: none !important;
    }

    html body.sitor-mobile-v2.theme-clean .header-map i,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger i,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-map i,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .mobile-trigger i,
    html body.sitor-mobile-v2.theme-clean .header-map:hover i,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:hover i,
    html body.sitor-mobile-v2.theme-clean .header-map:focus i,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:focus i,
    html body.sitor-mobile-v2.theme-clean .header-map:active i,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:active i {
        color: var(--primary) !important;
    }

    html body.sitor-mobile-v2.theme-clean .mobile-overlay,
    html body.sitor-mobile-v2.theme-clean .mobile-overlay.open {
        background: #ffffff !important;
        background-image: none !important;
        backdrop-filter: none !important;
        color: #111827 !important;
    }

    html body.sitor-mobile-v2.theme-clean .mobile-overlay .mobile-head,
    html body.sitor-mobile-v2.theme-clean .mobile-overlay.open .mobile-head {
        background: #ffffff !important;
        background-image: none !important;
        color: #111827 !important;
        border-bottom: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: none !important;
    }

    html body.sitor-mobile-v2.theme-clean .mobile-brand-head,
    html body.sitor-mobile-v2.theme-clean .mobile-brand-head strong,
    html body.sitor-mobile-v2.theme-clean .mobile-brand-head small {
        color: #111827 !important;
    }

    html body.sitor-mobile-v2.theme-clean .mobile-brand-head > img,
    html body.sitor-mobile-v2.theme-clean .mobile-brand-head > .mobile-menu-logo {
        background: transparent !important;
        border-color: transparent !important;
        box-shadow: none !important;
    }

    html body.sitor-mobile-v2.theme-clean .mobile-close,
    html body.sitor-mobile-v2.theme-clean .mobile-close:hover,
    html body.sitor-mobile-v2.theme-clean .mobile-close:focus,
    html body.sitor-mobile-v2.theme-clean .mobile-close:focus-visible,
    html body.sitor-mobile-v2.theme-clean .mobile-close:active {
        color: var(--primary) !important;
        background: #f8fafc !important;
        background-image: none !important;
        border: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: none !important;
        outline: 0 !important;
        transform: none !important;
    }

    html body.sitor-mobile-v2.theme-clean .mobile-grid,
    html body.sitor-mobile-v2.theme-clean .mobile-overlay.open .mobile-grid {
        background: #ffffff !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    html body.sitor-mobile-v2.theme-clean .mobile-grid::before {
        display: none !important;
        content: none !important;
    }

    html body.sitor-mobile-v2.theme-clean .mobile-grid a,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a:hover,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a:focus,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a:focus-visible,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a:active,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a.active,
    html body.sitor-mobile-v2.theme-clean .mobile-grid li.active > a,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a[aria-current="page"] {
        color: #111827 !important;
        background: #f8fafc !important;
        background-image: none !important;
        border: 1px solid rgba(15,23,42,.07) !important;
        box-shadow: none !important;
        outline: 0 !important;
        transform: none !important;
    }

    html body.sitor-mobile-v2.theme-clean .mobile-grid a i,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a:hover i,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a:focus i,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a:focus-visible i,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a:active i,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a.active i,
    html body.sitor-mobile-v2.theme-clean .mobile-grid li.active > a i,
    html body.sitor-mobile-v2.theme-clean .mobile-grid a[aria-current="page"] i {
        color: var(--primary) !important;
        background: rgba(var(--primary-rgb), .10) !important;
        border-color: rgba(var(--primary-rgb), .14) !important;
    }
}

@media (max-width: 767px) {
    html body.sitor-mobile-v2.theme-clean,
    html body.sitor-mobile-v2.theme-clean.mobile-menu-open {
        --sitor-mobile-top: 68px !important;
        --fixed-header-height: 68px !important;
        padding-top: 68px !important;
    }

    html body.sitor-mobile-v2.theme-clean .site-header,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled,
    html body.sitor-mobile-v2.theme-clean .site-header > .container,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled > .container,
    html body.sitor-mobile-v2.theme-clean .header-shell,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-shell,
    html body.sitor-mobile-v2.theme-clean .brand-area,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .brand-area,
    html body.sitor-mobile-v2.theme-clean .header-actions,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-actions {
        height: 68px !important;
        min-height: 68px !important;
    }

    html body.sitor-mobile-v2.theme-clean .header-logo-wrap,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-logo-wrap {
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        flex-basis: 116px !important;
    }

    html body.sitor-mobile-v2.theme-clean .header-map,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-map,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .mobile-trigger,
    html body.sitor-mobile-v2.theme-clean .header-map:hover,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:hover,
    html body.sitor-mobile-v2.theme-clean .header-map:focus,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:focus,
    html body.sitor-mobile-v2.theme-clean .header-map:focus-visible,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:focus-visible,
    html body.sitor-mobile-v2.theme-clean .header-map:active,
    html body.sitor-mobile-v2.theme-clean .mobile-trigger:active {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        flex-basis: 40px !important;
    }
}

/* Refinamento desktop clean: pills compactos e logo adaptativa. */
@media (min-width: 1200px) {
    html body.theme-clean .site-header > .container,
    html body.theme-clean .site-header .container {
        grid-template-columns: minmax(0, 1fr) clamp(240px, 20vw, 320px) minmax(0, 1fr) !important;
    }

    html body.theme-clean .clean-header-info {
        width: auto !important;
        max-width: 100% !important;
        justify-self: start !important;
        justify-content: flex-start !important;
        gap: 8px !important;
    }

    html body.theme-clean .clean-info-pill {
        flex: 0 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding-left: 13px !important;
        padding-right: 13px !important;
    }

    html body.theme-clean .clean-info-status {
        flex: 0 0 auto !important;
        min-width: max-content !important;
        width: auto !important;
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    html body.theme-clean .clean-info-address {
        flex: 0 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: min(280px, 28vw) !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    html body.theme-clean .brand-area,
    html body.theme-clean .site-header.scrolled .brand-area,
    html body.theme-clean.logo-layout-livre .site-header .brand-area,
    html body.theme-clean.logo-layout-livre .site-header.scrolled .brand-area {
        width: clamp(240px, 20vw, 320px) !important;
        max-width: clamp(240px, 20vw, 320px) !important;
        height: 92px !important;
        overflow: visible !important;
    }

    html body.theme-clean .header-logo-wrap,
    html body.theme-clean .site-header.scrolled .header-logo-wrap,
    html body.theme-clean.logo-layout-livre .site-header .header-logo-wrap,
    html body.theme-clean.logo-layout-livre .site-header.scrolled .header-logo-wrap {
        width: clamp(210px, 17vw, 276px) !important;
        min-width: 0 !important;
        max-width: clamp(210px, 17vw, 276px) !important;
        height: 94px !important;
        min-height: 0 !important;
        max-height: 94px !important;
        flex: 0 1 auto !important;
        flex-basis: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
    }

    html body.theme-clean .header-logo-img,
    html body.theme-clean .site-header.scrolled .header-logo-img,
    html body.theme-clean.logo-layout-livre .site-header .header-logo-img,
    html body.theme-clean.logo-layout-livre .site-header.scrolled .header-logo-img {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 90px !important;
        object-fit: contain !important;
        object-position: center !important;
    }
}

@media (max-width: 1390px) and (min-width: 1200px) {
    html body.theme-clean .clean-info-address {
        max-width: min(240px, 24vw) !important;
    }

    html body.theme-clean .brand-area,
    html body.theme-clean .site-header.scrolled .brand-area,
    html body.theme-clean.logo-layout-livre .site-header .brand-area,
    html body.theme-clean.logo-layout-livre .site-header.scrolled .brand-area {
        width: clamp(218px, 18vw, 276px) !important;
        max-width: clamp(218px, 18vw, 276px) !important;
    }

    html body.theme-clean .header-logo-wrap,
    html body.theme-clean .site-header.scrolled .header-logo-wrap,
    html body.theme-clean.logo-layout-livre .site-header .header-logo-wrap,
    html body.theme-clean.logo-layout-livre .site-header.scrolled .header-logo-wrap {
        width: clamp(196px, 16vw, 246px) !important;
        max-width: clamp(196px, 16vw, 246px) !important;
    }
}

/* Pequeno reforco apenas para a logo da tela principal. */
@media (min-width: 1200px) {
    html body.theme-clean.clean-home-logo-boost .site-header > .container,
    html body.theme-clean.clean-home-logo-boost .site-header .container {
        grid-template-columns: minmax(0, 1fr) clamp(260px, 21.5vw, 340px) minmax(0, 1fr) !important;
    }

    html body.theme-clean.clean-home-logo-boost .brand-area,
    html body.theme-clean.clean-home-logo-boost .site-header.scrolled .brand-area,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header .brand-area,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header.scrolled .brand-area {
        width: clamp(260px, 21.5vw, 340px) !important;
        max-width: clamp(260px, 21.5vw, 340px) !important;
    }

    html body.theme-clean.clean-home-logo-boost .header-logo-wrap,
    html body.theme-clean.clean-home-logo-boost .site-header.scrolled .header-logo-wrap,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header .header-logo-wrap,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header.scrolled .header-logo-wrap {
        width: clamp(228px, 18.5vw, 296px) !important;
        max-width: clamp(228px, 18.5vw, 296px) !important;
        height: 100px !important;
        max-height: 100px !important;
    }

    html body.theme-clean.clean-home-logo-boost .header-logo-img,
    html body.theme-clean.clean-home-logo-boost .site-header.scrolled .header-logo-img,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header .header-logo-img,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header.scrolled .header-logo-img {
       
    }
}

@media (max-width: 1390px) and (min-width: 1200px) {
    html body.theme-clean.clean-home-logo-boost .brand-area,
    html body.theme-clean.clean-home-logo-boost .site-header.scrolled .brand-area,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header .brand-area,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header.scrolled .brand-area {
        width: clamp(230px, 19vw, 292px) !important;
        max-width: clamp(230px, 19vw, 292px) !important;
    }

    html body.theme-clean.clean-home-logo-boost .header-logo-wrap,
    html body.theme-clean.clean-home-logo-boost .site-header.scrolled .header-logo-wrap,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header .header-logo-wrap,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header.scrolled .header-logo-wrap {
        width: clamp(206px, 17vw, 260px) !important;
        max-width: clamp(206px, 17vw, 260px) !important;
    }
}

/* Folga final para o logo no topo clean. */
@media (min-width: 1200px) {
    html body.theme-clean {
        --fixed-header-height: 154px !important;
        padding-top: var(--fixed-header-height) !important;
    }

    html body.theme-clean .site-header,
    html body.theme-clean .site-header.scrolled {
        height: var(--fixed-header-height) !important;
        min-height: var(--fixed-header-height) !important;
    }

    html body.theme-clean .site-header > .container,
    html body.theme-clean .site-header .container {
        height: var(--fixed-header-height) !important;
        min-height: var(--fixed-header-height) !important;
        grid-template-rows: 100px 54px !important;
    }

    html body.theme-clean .brand-area,
    html body.theme-clean .site-header.scrolled .brand-area,
    html body.theme-clean.logo-layout-livre .site-header .brand-area,
    html body.theme-clean.logo-layout-livre .site-header.scrolled .brand-area,
    html body.theme-clean.clean-home-logo-boost .brand-area,
    html body.theme-clean.clean-home-logo-boost .site-header.scrolled .brand-area,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header .brand-area,
    html body.theme-clean.clean-home-logo-boost.logo-layout-livre .site-header.scrolled .brand-area {
        height: 100px !important;
        padding-top: 6px !important;
        box-sizing: border-box !important;
    }

    html body.theme-clean .header-menu-row,
    html body.theme-clean .site-header.scrolled .header-menu-row {
        height: 54px !important;
        min-height: 54px !important;
    }
}

@media (max-width: 1199px) {
    html body.sitor-mobile-v2.theme-clean,
    html body.sitor-mobile-v2.theme-clean.mobile-menu-open {
        --sitor-mobile-top: 76px !important;
        --fixed-header-height: 76px !important;
        padding-top: 76px !important;
    }

    html body.sitor-mobile-v2.theme-clean .site-header,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled,
    html body.sitor-mobile-v2.theme-clean.mobile-menu-open .site-header,
    html body.sitor-mobile-v2.theme-clean .site-header > .container,
    html body.sitor-mobile-v2.theme-clean .site-header .container,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .container,
    html body.sitor-mobile-v2.theme-clean .header-shell,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-shell,
    html body.sitor-mobile-v2.theme-clean .brand-area,
    html body.sitor-mobile-v2.theme-clean .header-actions {
        height: 76px !important;
        min-height: 76px !important;
    }

    html body.sitor-mobile-v2.theme-clean .brand-area,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .brand-area {
        padding-top: 4px !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 767px) {
    html body.sitor-mobile-v2.theme-clean,
    html body.sitor-mobile-v2.theme-clean.mobile-menu-open {
        --sitor-mobile-top: 72px !important;
        --fixed-header-height: 72px !important;
        padding-top: 72px !important;
    }

    html body.sitor-mobile-v2.theme-clean .site-header,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled,
    html body.sitor-mobile-v2.theme-clean.mobile-menu-open .site-header,
    html body.sitor-mobile-v2.theme-clean .site-header > .container,
    html body.sitor-mobile-v2.theme-clean .site-header .container,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .container,
    html body.sitor-mobile-v2.theme-clean .header-shell,
    html body.sitor-mobile-v2.theme-clean .site-header.scrolled .header-shell,
    html body.sitor-mobile-v2.theme-clean .brand-area,
    html body.sitor-mobile-v2.theme-clean .header-actions {
        height: 72px !important;
        min-height: 72px !important;
    }
}


/* Opção Visual > Site quadrado: força remover curvas também em temas, topo, mobile e módulos com !important. */
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas *,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas *::before,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas *::after,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .site-header,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .site-header::before,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .site-header::after,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .top-strip,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .header-logo-wrap,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .header-logo-img,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .nav-link-custom,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .nav-more-toggle,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .nav-more-menu,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .mobile-overlay,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .mobile-head,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .mobile-close,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .mobile-grid,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .mobile-grid a,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .week-public-zone-full,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas .week-public-zone-full *,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas [class*="week-public"],
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas [class*="agenda"],
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas [class*="card"],
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas [class*="button"],
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas [class*="btn"],
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas [class*="badge"],
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas [class*="chip"],
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas [class*="pill"],
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas [class*="shell"],
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas img,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas button,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas a,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas input,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas select,
html body.site-sem-curvas.site-sem-curvas.site-sem-curvas.site-sem-curvas textarea {
    border-radius: 0 !important;
}



/* FINAL - Site quadrado no layout Clean central: menu desktop e mobile sem curvas. */
html body.theme-clean.site-sem-curvas,
html body.theme-clean.site-sem-curvas * ,
html body.theme-clean.site-sem-curvas *::before,
html body.theme-clean.site-sem-curvas *::after,
html body.sitor-mobile-v2.theme-clean.site-sem-curvas,
html body.sitor-mobile-v2.theme-clean.site-sem-curvas * ,
html body.sitor-mobile-v2.theme-clean.site-sem-curvas *::before,
html body.sitor-mobile-v2.theme-clean.site-sem-curvas *::after {
    border-radius: 0 !important;
}

html body.theme-clean.site-sem-curvas .site-header,
html body.theme-clean.site-sem-curvas .site-header.scrolled,
html body.theme-clean.site-sem-curvas .site-header::before,
html body.theme-clean.site-sem-curvas .site-header::after,
html body.theme-clean.site-sem-curvas .site-header > .container,
html body.theme-clean.site-sem-curvas .site-header .container,
html body.theme-clean.site-sem-curvas .header-shell,
html body.theme-clean.site-sem-curvas .brand-area,
html body.theme-clean.site-sem-curvas .header-logo-wrap,
html body.theme-clean.site-sem-curvas .site-header.scrolled .header-logo-wrap,
html body.theme-clean.site-sem-curvas .header-logo-img,
html body.theme-clean.site-sem-curvas .site-header.scrolled .header-logo-img,
html body.theme-clean.site-sem-curvas .clean-header-info,
html body.theme-clean.site-sem-curvas .clean-info-pill,
html body.theme-clean.site-sem-curvas .top-strip,
html body.theme-clean.site-sem-curvas .top-strip .container,
html body.theme-clean.site-sem-curvas .top-item,
html body.theme-clean.site-sem-curvas .header-actions,
html body.theme-clean.site-sem-curvas .header-map,
html body.theme-clean.site-sem-curvas .header-shop-icon,
html body.theme-clean.site-sem-curvas .header-cart-icon,
html body.theme-clean.site-sem-curvas .header-social-icon,
html body.theme-clean.site-sem-curvas .header-whats,
html body.theme-clean.site-sem-curvas .header-schedule,
html body.theme-clean.site-sem-curvas .desktop-whats,
html body.theme-clean.site-sem-curvas .mobile-trigger,
html body.theme-clean.site-sem-curvas .cart-count-bubble,
html body.theme-clean.site-sem-curvas .header-menu-row,
html body.theme-clean.site-sem-curvas .header-menu-row::before,
html body.theme-clean.site-sem-curvas .header-menu-row::after,
html body.theme-clean.site-sem-curvas .desktop-nav,
html body.theme-clean.site-sem-curvas .nav-list,
html body.theme-clean.site-sem-curvas .nav-list-primary,
html body.theme-clean.site-sem-curvas .nav-list > li,
html body.theme-clean.site-sem-curvas .nav-link-custom,
html body.theme-clean.site-sem-curvas #siteHeader .header-menu-row .nav-list > li > a,
html body.theme-clean.site-sem-curvas .site-header .header-menu-row .nav-link-custom,
html body.theme-clean.site-sem-curvas .nav-more-toggle,
html body.theme-clean.site-sem-curvas .nav-more-menu,
html body.theme-clean.site-sem-curvas .nav-more-menu::before,
html body.theme-clean.site-sem-curvas .shop-hover-panel,
html body.theme-clean.site-sem-curvas .shop-hover-panel::before,
html body.theme-clean.site-sem-curvas .shop-hover-title span,
html body.theme-clean.site-sem-curvas .shop-hover-actions a,
html body.theme-clean.site-sem-curvas .mobile-overlay,
html body.theme-clean.site-sem-curvas .mobile-overlay.open,
html body.theme-clean.site-sem-curvas .mobile-head,
html body.theme-clean.site-sem-curvas .mobile-brand-head,
html body.theme-clean.site-sem-curvas .mobile-brand-head img,
html body.theme-clean.site-sem-curvas .mobile-menu-logo,
html body.theme-clean.site-sem-curvas .mobile-close,
html body.theme-clean.site-sem-curvas .mobile-grid,
html body.theme-clean.site-sem-curvas .mobile-grid::before,
html body.theme-clean.site-sem-curvas .mobile-grid > li,
html body.theme-clean.site-sem-curvas .mobile-grid a,
html body.theme-clean.site-sem-curvas .mobile-grid a i,
html body.theme-clean.site-sem-curvas .client-footer,
html body.theme-clean.site-sem-curvas .client-footer *,
html body.theme-clean.site-sem-curvas .footer-logo,
html body.theme-clean.site-sem-curvas .footer-contact-icon,
html body.theme-clean.site-sem-curvas .footer-social a,
html body.theme-clean.site-sem-curvas .footer-commerce-item {
    border-radius: 0 !important;
}

@media (max-width: 1199px) {
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .site-header,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .site-header.scrolled,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .site-header::before,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .site-header::after,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .site-header > .container,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .site-header.scrolled > .container,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .site-header .container,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .header-shell,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .brand-area,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .site-header.scrolled .brand-area,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .header-logo-wrap,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .site-header.scrolled .header-logo-wrap,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .header-logo-img,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .header-actions,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .header-map,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .header-shop-icon,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .header-cart-icon,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-trigger,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-overlay,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-overlay.open,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-head,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-brand-head,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-brand-head > img,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-brand-head > .mobile-menu-logo,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-close,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-grid,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-grid::before,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-grid > li,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-grid a,
    html body.sitor-mobile-v2.theme-clean.site-sem-curvas .mobile-grid a i {
        border-radius: 0 !important;
    }
}
