/* ================================================================
   MIRROR FIXES - Card Montemolín static export
   Loaded AFTER all original WP/theme/plugin CSS.
   Goal: stabilize visual layout broken by static-export of dynamic
   plugins (Revolution Slider, Weather widget) and fix responsive.
   ================================================================ */

/* --- 0. Disable broken parallax containers that have position:absolute
       without working JS init (they pull icon rows out of flow and
       overlap the carousel). --- */
.parallax_scroll,
.parallax_parent,
.lazy-loading-background-image,
.parallax_parent > .wpb_column,
.parallax_parent .vc_column_container,
.parallax_parent .vc_column-inner,
.fullwidth_element > .wpb_column,
.fullwidth_element .vc_column_container {
    position: static !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
}
.parallax_scroll,
.parallax_parent,
.lazy-loading-background-image {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    background-attachment: scroll !important;
    background-size: cover !important;
}

/* --- 1. Kill empty Revolution Slider hero (cannot init statically) --- */
.header_rev_slider_container,
#rev_slider_2_1_wrapper,
#rev_slider_2_1_forcefullwidth,
rs-fullwidth-wrap,
rs-module-wrap,
rs-module {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* --- 2. Constrain oversized Font Awesome icons in featured boxes --- */
.featured_icon_box i.fa,
.featured_icon_box i.fas,
.featured_icon_box i[class*="fa-"] {
    font-size: 48px !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    margin: 0 auto 14px !important;
    padding: 0 !important;
    position: static !important;
    color: #193d2b !important;
    background: none !important;
}
.featured_icon_box.align-center { text-align: center; }

/* Generic fa-6x / fa-5x runaway sizes */
i.fa.fa-6x, i.fas.fa-6x { font-size: 48px !important; }
i.fa.fa-5x, i.fas.fa-5x { font-size: 44px !important; }

/* --- 3. Decorative absolute-positioned background icon in footer --- */
.back_icon { display: none !important; }

/* --- 4. Weather widget now rendered by /assets/js/weather-widget.js (see section 16) --- */

/* --- 5. Prevent horizontal overflow on any viewport --- */
html, body { overflow-x: hidden !important; max-width: 100%; }
img, iframe, video, embed, object { max-width: 100% !important; height: auto; }
.container, .vc_row, .wpb_row { max-width: 100%; }

/* --- 6. Product grid stabilization --- */
ul.products li.product,
.product-archive .product,
.woocommerce ul.products li.product {
    margin-bottom: 30px;
    min-height: 0 !important;
}
ul.products li.product img,
.woocommerce ul.products li.product a img {
    max-width: 100% !important;
    height: auto !important;
    width: 100% !important;
    aspect-ratio: 4/3;
    object-fit: cover;
    background: #f3f3f3;
}
ul.products li.product .button,
.woocommerce a.button { white-space: normal; line-height: 1.3; }

/* --- 7. Featured / Novedades slider: degrade to a flat grid --- */
.flexslider:not(.flexslider-initialized) ul.slides,
.flexslider ul.slides { display: flex !important; flex-wrap: wrap !important; gap: 16px; margin: 0; padding: 0; }
.flexslider:not(.flexslider-initialized) ul.slides > li,
.flexslider ul.slides > li {
    display: block !important;
    width: calc(25% - 12px) !important;
    float: none !important;
    margin: 0 !important;
    list-style: none;
}
.flexslider .flex-direction-nav,
.flexslider .flex-control-nav { display: none !important; }
@media (max-width: 991px) { .flexslider ul.slides > li { width: calc(50% - 8px) !important; } }
@media (max-width: 575px) { .flexslider ul.slides > li { width: 100% !important; } }

/* --- 8. Mobile menu toggle (bootstrap collapse) --- */
@media (max-width: 991px) {
    .navbar-toggler {
        display: inline-block !important;
        visibility: visible !important;
        background: #f8c300;
        border: 0;
        padding: 8px 12px;
        border-radius: 4px;
        font-size: 22px;
        line-height: 1;
        color: #193d2b;
        cursor: pointer;
        float: right;
        margin: 10px 15px;
    }
    .navbar-toggler::before { content: '\2630'; }
    .navbar-navigation .nav-menu,
    .navbar-navigation #main-menu { display: none; }
    .navbar-navigation.mobile-open .nav-menu,
    .navbar-navigation.mobile-open #main-menu {
        display: block !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #193d2b;
        z-index: 999;
        padding: 12px 0;
    }
    .navbar-navigation.mobile-open .nav-menu li,
    .navbar-navigation.mobile-open #main-menu li {
        display: block;
        width: 100%;
        text-align: left;
        padding: 8px 20px;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .navbar-navigation.mobile-open .nav-menu li a,
    .navbar-navigation.mobile-open #main-menu li a {
        color: #fff;
        display: block;
        padding: 6px 0;
    }
    .navbar-navigation { position: relative; }
}

/* --- 9. Header / logo sizing --- */
header .logo img.main_logo { max-height: 70px; width: auto; height: auto; }
@media (max-width: 575px) { header .logo img.main_logo { max-height: 48px; } }
header .toolbar { font-size: 13px; }
header .toolbar a { color: #fff; }

/* --- 10. Footer responsive --- */
@media (max-width: 767px) {
    footer .container .row > [class*="col-"] {
        margin-bottom: 28px;
        text-align: left;
        width: 100%;
        max-width: 100%;
    }
    footer .footer-contact i.back_icon { display: none !important; }
}

/* --- 11. Hero replacement: a thin themed band where the slider was --- */
.header_rev_slider_container + * { margin-top: 0 !important; }

/* Featured info-box row spacing & icon centering (fa-wrench/car/cog) */
.featured_icon_box { padding: 18px 12px 10px; }
.featured_icon_box i { display: block !important; text-align: center; margin: 0 auto 12px !important; }
.featured_icon_box .featured_title, .featured_icon_box h3, .featured_icon_box h4 { text-align: center; }
.vc_row.margin-bottom-60 { margin-bottom: 30px !important; }

/* --- 12. Fix overflowing/wide carousels (Novedades cards) --- */
.list_carousel, .carousel-inner, .owl-carousel,
.carousel-slider3, .carousel-slider, [class*="carousel-slider"] {
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    position: relative !important;
}
.list_carousel ul, .owl-carousel .owl-stage,
.carousel-slider3, .carousel-slider {
    display: flex !important;
    flex-wrap: wrap !important;
    transform: none !important;
    width: 100% !important;
    gap: 14px;
    margin: 0;
    padding: 0;
    left: auto !important;
}
/* Hide overflow slides beyond the first N to avoid million-px rows. */
.carousel-slider3 > .slide,
.carousel-slider > .slide,
[class*="carousel-slider"] > .slide { display: none !important; }
.carousel-slider3 > .slide:nth-child(-n+4),
.carousel-slider > .slide:nth-child(-n+4),
[class*="carousel-slider"] > .slide:nth-child(-n+4) {
    display: block !important;
    width: calc(25% - 11px) !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
}
.list_carousel ul > li, .owl-carousel .owl-item {
    width: calc(25% - 10px) !important;
    float: none !important;
    margin: 0 !important;
    transform: none !important;
    list-style: none;
}
/* Carousel navigation arrows that can't function statically. */
.list_carousel .pager, .list_carousel .prev, .list_carousel .next,
[class*="carousel"] .carousel-controls,
[class*="carousel"] .pager,
.flexslider .flex-direction-nav,
.flexslider .flex-control-nav { display: none !important; }
@media (max-width: 991px) {
    .list_carousel ul > li, .owl-carousel .owl-item,
    .carousel-slider3 > .slide:nth-child(-n+4),
    .carousel-slider > .slide:nth-child(-n+4),
    [class*="carousel-slider"] > .slide:nth-child(-n+4) { width: calc(50% - 7px) !important; }
}
@media (max-width: 575px) {
    .list_carousel ul > li, .owl-carousel .owl-item,
    .carousel-slider3 > .slide:nth-child(-n+4),
    .carousel-slider > .slide:nth-child(-n+4),
    [class*="carousel-slider"] > .slide:nth-child(-n+4) { width: 100% !important; }
    .carousel-slider3 > .slide:nth-child(-n+2),
    .carousel-slider > .slide:nth-child(-n+2),
    [class*="carousel-slider"] > .slide:nth-child(-n+2) { display: block !important; }
}

/* --- 13. Hide broken cart dropdowns / minicart in toolbar --- */
.toolbar_cart .cart_dropdown { display: none !important; }

/* --- 14. Section paddings to breathe --- */
section.content { padding: 30px 0 50px; }
.vc_row + .vc_row { margin-top: 0; }
.featured_icon_box { padding: 10px 12px; }

/* --- 15. Make AVISO sidebar image not overflow grid --- */
img[src*="avisocat"] { max-width: 100%; height: auto; }

/* ============================================================
   16. WEATHER WIDGET (replaces broken Awesome Weather AJAX)
   ============================================================ */
.awe-weather-ajax-wrap { min-height: 1px; }
.awe-weather-ajax-wrap .awe-loading,
.awe-weather-ajax-wrap .aw-loading,
.awe-weather-ajax-wrap .aw-fallback {
    padding: 24px 14px;
    text-align: center;
    color: #fff;
    opacity: .75;
    font-size: 13px;
}
.aw-card {
    background: #193d2b;
    color: #fff;
    border-radius: 4px;
    padding: 18px 18px 22px;
    font-family: 'Open Sans', sans-serif;
    line-height: 1.35;
}
.aw-title {
    text-align: center;
    background: rgba(255,255,255,.08);
    padding: 9px 8px;
    margin: -6px -8px 18px;
    font-size: 14px;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-weight: 600;
}
.aw-now {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}
.aw-temp {
    font-size: 64px;
    font-weight: 700;
    line-height: 1;
    flex: 0 0 auto;
}
.aw-temp sup { font-size: .5em; vertical-align: super; font-weight: 400; }
.aw-meta {
    flex: 1 1 auto;
    text-align: right;
    font-size: 13px;
    opacity: .95;
}
.aw-meta > div { margin: 2px 0; }
.aw-forecast {
    display: flex;
    justify-content: space-between;
    gap: 6px;
    padding-top: 14px;
    margin-top: 10px;
    border-top: 1px solid rgba(255,255,255,.12);
}
.aw-day {
    flex: 1 1 0;
    text-align: center;
    min-width: 0;
}
.aw-day-t {
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}
.aw-day-t sup { font-size: .55em; vertical-align: super; font-weight: 400; }
.aw-day-l {
    font-size: 11px;
    letter-spacing: .05em;
    margin-top: 4px;
    opacity: .85;
}
@media (max-width: 575px) {
    .aw-temp { font-size: 52px; }
    .aw-meta { font-size: 12px; }
    .aw-day-t { font-size: 16px; }
}

/* Footer context: weather widget must blend with footer panel (no inner card),
   align flush-left with sibling "Contacta con Nosotros" address block. */
footer .widget_awesomeweatherwidget {
    padding-left: 15px !important;
    padding-right: 15px !important;
    padding-top: 0 !important;
    padding-bottom: 28px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
}
footer .widget_awesomeweatherwidget > h4 {
    color: #fff !important;
    font-weight: 700 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    background: transparent !important;
    font-size: 22px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
footer .awe-weather-ajax-wrap { background: transparent !important; padding: 0 !important; }
footer .aw-card {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: #fff !important;
}
footer .aw-title {
    background: rgba(255,255,255,.06) !important;
    text-align: center !important;
    margin: 0 0 16px 0 !important;
    padding: 10px 12px !important;
    border-radius: 2px !important;
    font-size: 13px !important;
    letter-spacing: .05em !important;
}
footer .aw-now { margin-bottom: 14px !important; padding: 0 !important; }
footer .aw-forecast { border-top: 1px solid rgba(255,255,255,.18) !important; padding-top: 14px !important; }

/* Contact-us widget — mirror Meteorología card aesthetic */
footer .contact_us {
    padding-left: 15px !important;
    padding-right: 15px !important;
    padding-top: 0 !important;
    padding-bottom: 28px !important;
    box-sizing: border-box !important;
}
footer .contact_us > h4 {
    color: #fff !important;
    font-weight: 700 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    background: transparent !important;
    font-size: 22px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
footer .contact_us .footer-contact { position: relative; }
footer .contact_us .footer-contact::before {
    content: 'NUESTRA UBICACIÓN';
    display: block;
    text-align: center;
    background: rgba(255,255,255,.06);
    color: #fff;
    padding: 10px 12px;
    border-radius: 2px;
    font-size: 13px;
    letter-spacing: .05em;
    font-weight: 600;
    margin-bottom: 16px;
}
footer .contact_us .footer-contact ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
footer .contact_us .footer-contact ul li {
    color: #fff !important;
    padding: 10px 0 10px 32px !important;
    position: relative !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    list-style: none !important;
}
footer .contact_us .footer-contact ul li:last-child { border-bottom: 0 !important; }
footer .contact_us .footer-contact ul li i.fa {
    color: #f8c300 !important;
    position: absolute !important;
    left: 4px !important;
    top: 13px !important;
    width: 18px !important;
    text-align: center !important;
    font-size: 16px !important;
    margin: 0 !important;
}
footer .contact_us .footer-contact ul li strong { color: #fff !important; font-weight: 700 !important; margin-right: 6px !important; }
footer .contact_us .footer-contact ul li a { color: rgba(255,255,255,.85) !important; text-decoration: none !important; }
footer .contact_us .footer-contact ul li a:hover { color: #f8c300 !important; }
footer .contact_us .footer-contact .back_icon { display: none !important; }

/* ============================================================
   17. MOBILE MENU - opaque, on-top, no overlap with content
   ============================================================ */
@media (max-width: 991px) {
    header .navbar-collapse.collapse:not(.show) { display: none !important; }
    header .navbar-collapse.show,
    header .navbar-collapse.collapsing {
        position: absolute !important;
        left: 0; right: 0; top: 100%;
        background: #ffffff !important;
        z-index: 9999 !important;
        box-shadow: 0 8px 18px rgba(0,0,0,.18);
        max-height: calc(100vh - 80px);
        overflow-y: auto;
        padding: 8px 0;
        margin: 0 !important;
    }
    header .navbar-collapse .nav,
    header .navbar-collapse .navbar-nav {
        flex-direction: column !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none;
    }
    header .navbar-collapse .nav-item { width: 100%; border-bottom: 1px solid #eee; }
    header .navbar-collapse .nav-item:last-child { border-bottom: 0; }
    header .navbar-collapse .nav-link {
        display: block !important;
        padding: 14px 18px !important;
        color: #193d2b !important;
        font-weight: 600;
        text-transform: uppercase;
        font-size: 14px;
    }
    header .navbar-collapse .nav-item.current-menu-item > .nav-link,
    header .navbar-collapse .nav-item.active > .nav-link {
        background: #f8c300 !important;
        color: #193d2b !important;
    }
    header .navbar-collapse .nav-link:hover,
    header .navbar-collapse .nav-link:focus {
        background: #f5f5f5 !important;
        color: #193d2b !important;
    }
    /* Sub-menus stacked, not absolute */
    header .navbar-collapse .dropdown-menu,
    header .navbar-collapse .sub-menu {
        position: static !important;
        float: none !important;
        background: #f7f7f7 !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }
    header .navbar-collapse .dropdown-menu .nav-link,
    header .navbar-collapse .sub-menu a {
        padding-left: 34px !important;
        font-weight: 400;
        font-size: 13px;
        color: #444 !important;
    }
    /* Prevent the menu from sitting "on top of" duplicate header */
    header .navbar-collapse .navbar-brand,
    header .navbar-collapse .logo,
    header .navbar-collapse .header_logo { display: none !important; }
    /* Hide the desktop search/topbar inside collapsed menu */
    header .top-bar-mobile-duplicate { display: none !important; }
}

/* ============================================================
   18. SOCIAL ICONS - hover colors
   ============================================================ */
.share-block ul,
.socials ul,
ul.socials,
.footer .socials,
footer .socials {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.share-block li,
.socials li {
    list-style: none;
    margin: 0;
}
.share-block a[class],
.socials a[class] {
    display: inline-block;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    background: #4a4a4a;
    color: #fff !important;
    border-radius: 3px;
    transition: background .18s ease, color .18s ease, transform .18s ease;
    position: relative;
}
.share-block a[class]:hover,
.socials a[class]:hover { transform: translateY(-1px); }
.share-block a.facebook,  .socials a.facebook  { }
.share-block a.facebook:hover,  .socials a.facebook:hover  { background: #1877f2; }
.share-block a.twitter:hover,   .socials a.twitter:hover   { background: #000000; }
.share-block a.linkedin:hover,  .socials a.linkedin:hover  { background: #0a66c2; }
.share-block a.google:hover,    .socials a.google:hover    { background: #db4437; }
.share-block a.pinterest:hover, .socials a.pinterest:hover { background: #e60023; }

/* Ensure icon glyph is visible (theme uses ::before in awesome icon font) */
.share-block a[class]::before,
.socials a[class]::before {
    font-family: 'FontAwesome';
    font-weight: normal;
    font-size: 16px;
}
.share-block a.facebook::before,  .socials a.facebook::before  { content: '\f09a'; }
.share-block a.twitter::before,   .socials a.twitter::before   { content: '\f099'; }
.share-block a.linkedin::before,  .socials a.linkedin::before  { content: '\f0e1'; }
.share-block a.google::before,    .socials a.google::before    { content: '\f0d5'; }
.share-block a.pinterest::before, .socials a.pinterest::before { content: '\f0d2'; }

/* ============================================================
   19. AVISO banner + search form: centering and breathing room (mobile)
   ============================================================ */
@media (max-width: 991px) {
    /* The advanced search form column */
    .vc_row .wpb_column.vc_col-sm-8,
    .vc_row .wpb_column.vc_col-sm-4 {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .vc_row .wpb_column.vc_col-sm-4 .vc_column-inner,
    .vc_row .wpb_column.vc_col-sm-8 .vc_column-inner {
        padding: 0 !important;
    }
    /* AVISO image: center and add margin so it doesn't glue to form */
    .wpb_single_image.vc_align_center,
    .wpb_single_image {
        text-align: center !important;
        margin: 28px auto 28px !important;
    }
    .wpb_single_image .vc_figure,
    .wpb_single_image .wpb_wrapper {
        display: inline-block !important;
        margin: 0 auto !important;
    }
    img[src*="avisocat"] {
        display: block !important;
        margin: 0 auto !important;
        max-width: 320px !important;
        width: 100% !important;
        height: auto !important;
    }
    /* Search form: stack and center buttons */
    .form-element.pull-right { float: none !important; text-align: center !important; }
    .form-element .find_new_vehicle,
    .form-element .reset-search-form {
        float: none !important;
        display: inline-block !important;
        margin: 6px 4px !important;
    }
    .my-dropdown { width: 100% !important; margin-bottom: 10px !important; }
    .my-dropdown select.css-dropdowns { width: 100% !important; }
}

/* ============================================================
   20. Container / section centering on mobile (avoid offset bug)
   ============================================================ */
@media (max-width: 991px) {
    .container,
    section.content > .container,
    section > .container,
    .vc_row { margin-left: auto !important; margin-right: auto !important; }
    section.content { padding-left: 0 !important; padding-right: 0 !important; }
    .vc_row > .wpb_column { float: none !important; }
}

/* ============================================================
   21. Footer: reorder Contacto / Novedades / Meteorología
   ============================================================ */
@media (max-width: 991px) {
    footer .container > .row {
        display: flex !important;
        flex-direction: column !important;
    }
    footer #contact-us-widget-6,
    footer .contact_us { order: 1 !important; }
    footer #recent-listings-widget-3,
    footer .recent_listings { order: 2 !important; margin-bottom: 24px !important; }
    footer #awesomeweatherwidget-2,
    footer .widget_awesomeweatherwidget { order: 3 !important; margin-bottom: 24px !important; }
}

/* ============================================================
   22. Topbar in a single row on mobile (BUSCAR + phone + Mi Cuenta)
   ============================================================ */
@media (max-width: 991px) {
    header .toolbar { padding: 4px 0 !important; }
    header .toolbar .container > .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
    }
    header .toolbar .col-md-6,
    header .toolbar .col-sm-6,
    header .toolbar .col-12 {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: 100% !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
    header .toolbar ul {
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        flex-wrap: nowrap !important;
        list-style: none !important;
    }
    header .toolbar ul li {
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }
    header .toolbar ul li a,
    header .toolbar ul li button {
        font-size: 11px !important;
        line-height: 1 !important;
        padding: 4px 2px !important;
        white-space: nowrap !important;
    }
    header .toolbar form#header_searchform {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        margin: 0 !important;
    }
    header .toolbar form#header_searchform input.search_box {
        max-width: 90px !important;
        width: 90px !important;
        font-size: 11px !important;
        padding: 2px 6px !important;
        height: 22px !important;
        line-height: 1 !important;
        background: transparent !important;
        border: 1px solid rgba(255,255,255,.25) !important;
        color: #fff !important;
    }
    header .toolbar form#header_searchform input.search_box::placeholder { color: rgba(255,255,255,.6) !important; }
    header .toolbar form#header_searchform button {
        background: transparent !important;
        border: 0 !important;
        color: #f8c300 !important;
        padding: 0 !important;
    }
    header .toolbar .right-none.pull-right { float: none !important; }
}

/* ============================================================
   23. Burger button + bottom-header z-index (avoid hero overlap)
   ============================================================ */
header { position: relative !important; z-index: 100 !important; }
header .bottom-header { position: relative !important; z-index: 110 !important; background: #fff !important; }
header .navbar-toggler { position: relative !important; z-index: 120 !important; }
@media (max-width: 991px) {
    header .bottom-header .navbar-brand img.main_logo { max-height: 48px !important; width: auto !important; }
    header .bottom-header .navbar-toggler {
        background: #f8c300 !important;
        border: 0 !important;
        padding: 8px 12px !important;
        border-radius: 3px !important;
        margin-right: 4px !important;
    }
    /* keep ONLY the black unicode burger (::before) — hide theme's SVG icon */
    header .navbar-toggler .navbar-toggler-icon,
    header button.navbar-toggler .navbar-toggler-icon,
    header .navbar-toggler span.navbar-toggler-icon { display: none !important; background-image: none !important; }
    header button.navbar-toggler::before {
        content: '\2630' !important;
        color: #193d2b !important;
        font-size: 24px !important;
        line-height: 1 !important;
        display: inline-block !important;
        font-weight: 700 !important;
    }
    .hero-static, .header_rev_slider_container, section.content { position: relative; z-index: 1 !important; }
}

/* ============================================================
   24. Sticky header + desktop/mobile menu visibility rules
   ============================================================ */
header[itemtype$="WPHeader"],
body > header,
header.clearfix {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9000 !important;
    background: #fff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.08) !important;
}
/* push content below the fixed header */
body { padding-top: 120px !important; }
@media (max-width: 991px) { body { padding-top: 110px !important; } }
@media (max-width: 575px) { body { padding-top: 96px !important; } }
header .toolbar { background: #193d2b !important; }

@media (min-width: 992px) {
    header .navbar-toggler,
    header button.navbar-toggler { display: none !important; }
    header .navbar-collapse,
    header #automotive-header-menu {
        display: flex !important;
        flex-basis: auto !important;
        visibility: visible !important;
        height: auto !important;
        position: static !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        justify-content: flex-end !important;
    }
    header .navbar-navigation,
    header .navbar-toggleable-sm { width: 100%; }
    header .menu-main-menu-container { display: block !important; width: 100%; }
    header .mobile-menu-main-menu-container { display: none !important; }
    header ul#menu-menu-principal,
    header ul.nav.navbar-nav.fullsize_menu {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
        align-items: center !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        float: right !important;
    }
    header ul#menu-menu-principal > li {
        display: inline-block !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
        width: auto !important;
        border: 0 !important;
    }
    header ul#menu-menu-principal > li > a.nav-link {
        display: inline-block !important;
        padding: 28px 14px !important;
        color: #193d2b !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        font-size: 13px !important;
        background: transparent !important;
    }
    header ul#menu-menu-principal > li.current-menu-item > a.nav-link,
    header ul#menu-menu-principal > li:hover > a.nav-link { color: #f8c300 !important; }
    header ul#menu-menu-principal > li.dropdown:hover > .dropdown-menu {
        display: block !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        min-width: 220px !important;
        background: #fff !important;
        border: 1px solid rgba(0,0,0,.08) !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        z-index: 9100 !important;
        box-shadow: 0 6px 16px rgba(0,0,0,.12) !important;
        list-style: none !important;
    }
    header ul#menu-menu-principal .dropdown-menu li { list-style: none; }
    header ul#menu-menu-principal .dropdown-menu li a {
        display: block !important;
        padding: 8px 16px !important;
        color: #193d2b !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }
    header ul#menu-menu-principal .dropdown-menu li a:hover { background: #f8f8f8 !important; color: #f8c300 !important; }
}

@media (max-width: 991px) {
    header .menu-main-menu-container { display: none !important; }
    header .mobile-menu-main-menu-container { display: block !important; }
    header .navbar-collapse:not(.show) { display: none !important; }
    header .navbar-collapse.show {
        display: block !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important; right: 0 !important;
        background: #fff !important;
        z-index: 9100 !important;
        box-shadow: 0 8px 24px rgba(0,0,0,.15) !important;
    }
    header ul.mobile_dropdown_menu {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }
    header ul.mobile_dropdown_menu li { display: block !important; width: 100% !important; border-bottom: 1px solid #eee !important; }
    header ul.mobile_dropdown_menu li a.nav-link {
        display: block !important;
        padding: 14px 18px !important;
        color: #193d2b !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        font-size: 13px !important;
    }
    header ul.mobile_dropdown_menu li.current-menu-item > a.nav-link { color: #f8c300 !important; background: rgba(248,195,0,.08) !important; }
    header ul.mobile_dropdown_menu .dropdown-menu {
        display: block !important;
        position: static !important;
        background: #f7f7f7 !important;
        padding: 0 0 6px 12px !important;
        margin: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        list-style: none !important;
    }
    header ul.mobile_dropdown_menu .dropdown-menu li a {
        display: block !important;
        padding: 10px 16px !important;
        font-size: 12px !important;
        color: #193d2b !important;
        text-transform: uppercase !important;
    }
}
/* ============================================================
   25. Home page: kill empty paragraphs / oversized vc paddings
   ============================================================ */
@media (max-width: 991px) {
    body.home section.content,
    body.page-id-707 section.content { padding-top: 8px !important; padding-bottom: 8px !important; }
    body.home .vc_row.fullwidth_element,
    body.page-id-707 .vc_row.fullwidth_element { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 12px !important; padding-bottom: 12px !important; }
    body.home .vc_row, body.page-id-707 .vc_row { margin-top: 0 !important; margin-bottom: 0 !important; }
    body.home .vc_row.margin-top-30, body.page-id-707 .vc_row.margin-top-30 { margin-top: 0 !important; }
    body.home .vc_row.padding-bottom-40, body.page-id-707 .vc_row.padding-bottom-40 { padding-bottom: 12px !important; }
    body.home .vc_row.margin-bottom-60, body.page-id-707 .vc_row.margin-bottom-60 { margin-bottom: 0 !important; }
    body.home .wpb_text_column p:empty, body.page-id-707 .wpb_text_column p:empty,
    body.home .wpb_text_column p > br:only-child, body.page-id-707 .wpb_text_column p > br:only-child { display:none !important; }
    body.home .wpb_text_column.wpb_content_element, body.page-id-707 .wpb_text_column.wpb_content_element { margin-bottom: 8px !important; }
    body.home .wpb_single_image, body.page-id-707 .wpb_single_image { margin: 8px 0 !important; }
    body.home .vc_empty_space, body.page-id-707 .vc_empty_space { height: 0 !important; min-height: 0 !important; margin: 0 !important; display: none !important; }
    body.home .vc_column_container > .vc_column-inner, body.page-id-707 .vc_column_container > .vc_column-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
}

@media (max-width: 991px) {
    body.home .header_rev_slider_container,
    body.home .rev_slider_wrapper,
    body.page-id-707 .header_rev_slider_container,
    body.page-id-707 .rev_slider_wrapper {
        height: 160px !important;
        min-height: 160px !important;
        max-height: 180px !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body.home .header_rev_slider_container img,
    body.home .rev_slider_wrapper img,
    body.page-id-707 .header_rev_slider_container img,
    body.page-id-707 .rev_slider_wrapper img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }
    body.home .hero-static:empty,
    body.page-id-707 .hero-static:empty { display:none !important; height:0 !important; }
    body.home .wpb_single_image .vc_single_image-wrapper, body.page-id-707 .wpb_single_image .vc_single_image-wrapper { margin:0 !important; }
    body.home .wpb_wrapper > p:empty, body.page-id-707 .wpb_wrapper > p:empty { display:none !important; }
    body.home p:empty, body.page-id-707 p:empty { display:none !important; }
}

/* ============================================================
   26. Mobile footer / copyright tight spacing
   ============================================================ */
@media (max-width: 991px) {
    footer { padding: 18px 0 18px 0 !important; }
    footer .container { padding-top: 0 !important; padding-bottom: 0 !important; }
    footer .container > .row { margin-top: 0 !important; margin-bottom: 0 !important; }
    footer .contact_us { margin-bottom: 8px !important; padding-bottom: 0 !important; }
    footer .widget_awesomeweatherwidget { margin-bottom: 0 !important; padding-bottom: 0 !important; }
    footer .container .row > div, .copyright-wrap .container .row > div { margin-bottom: 8px !important; }
    section.copyright-wrap, .copyright-wrap.footer_area { padding: 14px 0 !important; }
    .copyright-wrap .container > .row { margin: 0 !important; }
    .copyright-wrap .col-lg-4, .copyright-wrap .col-lg-8 { margin-bottom: 6px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
    .copyright-wrap .site-footer-copy { margin: 6px 0 !important; }
    .copyright-wrap ul.social { margin: 6px 0 !important; padding: 0 !important; }
    .copyright-wrap ul.social li { margin: 0 4px !important; }
    div.clearfix + section.copyright-wrap { margin-top: 0 !important; }
}

@media (max-width: 991px) {
    .toolbar_shadow, .header_shadow, header .toolbar_shadow, header .header_shadow { display: none !important; height: 0 !important; background: none !important; }
    header .bottom-header { padding-bottom: 0 !important; margin-bottom: 0 !important; }
}

@media (max-width: 991px) {
    body.home section.content, body.page-id-707 section.content { padding-top: 0 !important; }
    body.home .container, body.page-id-707 .container { padding-top: 0 !important; }
    body.home .page-content, body.page-id-707 .page-content { padding-top: 0 !important; margin-top: 0 !important; }
    body.home .vc_row:first-child, body.page-id-707 .vc_row:first-child { margin-top: 0 !important; padding-top: 0 !important; }
    body.home .wpb_column, body.page-id-707 .wpb_column { padding-top: 0 !important; margin-top: 0 !important; }
    body.home .wpb_single_image, body.page-id-707 .wpb_single_image { margin: 0 0 8px 0 !important; padding: 0 !important; }
    body.home .wpb_single_image .vc_single_image-wrapper img, body.page-id-707 .wpb_single_image .vc_single_image-wrapper img { display:block !important; margin:0 !important; }
    body.home .vc_row.wpb_row, body.page-id-707 .vc_row.wpb_row { padding-top: 0 !important; }
}

/* Force-hide message-shadow strip below header banner */
.message-shadow, body > .message-shadow, body.home > .message-shadow { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; background: none !important; }
@media (max-width: 991px) {
    body.home .hero-static, body.page-id-707 .hero-static { aspect-ratio: auto !important; height: 100% !important; }
    body.home section.content, body.page-id-707 section.content { margin-top: 0 !important; }
}

/* AVISO sidebar image: cap height on mobile, remove surrounding padding */
@media (max-width: 991px) {
    img[src*='avisocat'] { max-width: 300px !important; width: 100% !important; height: auto !important; max-height: 420px !important; object-fit: contain !important; display: block !important; margin: 0 auto !important; }
    a[href*='avisocat'] { display: inline-block !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }
    .wpb_single_image:has(img[src*='avisocat']) { margin: 0 !important; padding: 0 !important; text-align: center !important; }
    .wpb_single_image:has(img[src*='avisocat']) .vc_figure, .wpb_single_image:has(img[src*='avisocat']) .vc_single_image-wrapper { margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
    .wpb_column:has(img[src*='avisocat']), .wpb_column:has(img[src*='avisocat']) > .vc_column-inner, .wpb_column:has(img[src*='avisocat']) .wpb_wrapper { padding: 0 !important; margin: 0 !important; }
}

/* Kill .inner-page row margin that creates 70px gaps top+bottom */
@media (max-width: 991px) {
    body.home .inner-page, body.page-id-707 .inner-page, .inner-page.row.wp_page { margin: 0 !important; padding: 0 !important; }
    body.home .vc_row.margin-top-30, body.page-id-707 .vc_row.margin-top-30 { padding-bottom: 0 !important; margin-bottom: 0 !important; }
}

/* Novedades carousel in body content: 2-column grid on mobile (target is .carousel-slider3, NOT footer widget) */
@media (max-width: 991px) {
    .recent-vehicles-wrap .bx-viewport, .recent-vehicles-wrap .bx-wrapper { height: auto !important; max-height: none !important; overflow: visible !important; border: 0 !important; margin: 0 !important; box-shadow: none !important; background: transparent !important; }
    .recent-vehicles-wrap .carousel-slider3 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; width: 100% !important; transform: none !important; left: auto !important; position: static !important; }
    .recent-vehicles-wrap .carousel-slider3 .slide { width: 100% !important; margin: 0 !important; float: none !important; display: block !important; position: static !important; left: auto !important; transform: none !important; }
    /* show only first 6 (3 rows of 2) */
    .recent-vehicles-wrap .carousel-slider3 > .slide:nth-child(n+7) { display: none !important; }
    .recent-vehicles-wrap .carousel-slider3 .slide > a { display: block !important; }
    .recent-vehicles-wrap .car-block { width: 100% !important; margin: 0 !important; background: #fff !important; border-radius: 4px !important; overflow: hidden !important; box-shadow: 0 1px 3px rgba(0,0,0,.08) !important; }
    .recent-vehicles-wrap .car-block .img-flex { width: 100% !important; height: auto !important; display: block !important; position: relative !important; padding: 0 !important; margin: 0 !important; }
    .recent-vehicles-wrap .car-block .img-flex img { width: 100% !important; height: auto !important; display: block !important; }
    .recent-vehicles-wrap .car-block .car-block-bottom { padding: 6px 8px !important; text-align: center !important; }
    .recent-vehicles-wrap .car-block .scroller_text { font-size: 13px !important; line-height: 1.25 !important; color: #193d2b !important; }
    .recent-vehicles-wrap .bx-controls, .recent-vehicles-wrap .bx-pager, .recent-vehicles-wrap .bx-controls-direction { display: none !important; }
}

/* Re-hide footer Novedades widget on MOBILE only (duplicate of body carousel) */
@media (max-width: 991px) {
    footer .recent_listings,
    footer #recent-listings-widget-3 { display: none !important; }
}

/* Desktop: footer Novedades = 2x2 grid of 4 cars, clean layout */
@media (min-width: 992px) {
    footer #recent-listings-widget-3.recent_listings { display: block !important; }
    footer .recent_listings h4 { margin: 0 0 14px 0 !important; }
    footer .recent_listings { overflow: hidden; font-size: 0; }
    footer .recent_listings .car-block.recent_car { width: calc(50% - 8px) !important; display: inline-block !important; vertical-align: top !important; float: none !important; clear: none !important; margin: 0 16px 16px 0 !important; background: rgba(255,255,255,.05) !important; border-radius: 4px !important; overflow: hidden !important; box-sizing: border-box !important; font-size: 14px; }
    footer .recent_listings .car-block.recent_car:nth-of-type(2n) { margin-right: 0 !important; }
    footer .recent_listings .car-block.recent_car:nth-of-type(n+5) { display: none !important; }
    footer .recent_listings .car-block.recent_car .car-block-bottom { padding: 0 !important; }
    footer .recent_listings .car-block.recent_car .img-flex { width: 100% !important; height: auto !important; position: relative !important; display: block !important; padding: 0 !important; margin: 0 !important; }
    footer .recent_listings .car-block.recent_car .img-flex img { width: 100% !important; height: auto !important; display: block !important; }
    footer .recent_listings .car-block.recent_car h6 { font-size: 12px !important; line-height: 1.25 !important; margin: 0 !important; padding: 6px 6px !important; text-align: center !important; color: #fff !important; background: rgba(0,0,0,.25) !important; }
    footer .recent_listings .car-block.recent_car h6 strong { font-weight: 600 !important; }
    footer .recent_listings .car-block.recent_car h5 { display: none !important; }
}

/* Small breathing room between banner, content blocks, and footer */
@media (max-width: 991px) {
    body.home section.content, body.page-id-707 section.content { padding-top: 16px !important; padding-bottom: 16px !important; }
    body.home .inner-page, body.page-id-707 .inner-page { padding: 0 12px !important; }
    body.home .wpb_single_image, body.page-id-707 .wpb_single_image { margin-bottom: 14px !important; }
    body.home .vc_row.wpb_row, body.page-id-707 .vc_row.wpb_row { margin-bottom: 14px !important; }
}
