/*
 Theme Name:   WpResidence Child — Svenco Inmobiliario
 Theme URI:    https://svencogroup.com
 Description:  Child theme profesional para inmobiliarias premium. Sistema de diseño completo con paleta dorada, tipografía elegante y componentes refinados.
 Author:       Svenco Group
 Author URI:   https://svencogroup.com
 Template:     wpresidence
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         real-estate, premium, inmobiliaria, elementor
*/

/* ============================================================
   SISTEMA DE DISEÑO — SVENCO INMOBILIARIO

   Arquitectura:
   1. Google Fonts
   2. Design Tokens (CSS Variables)
   3. Override de Variables del Tema Padre
   4. Tipografía Global
   5. Header
   6. Cards de Propiedades
   7. Búsqueda Avanzada
   8. Botones
   9. Footer
   10. Elementor Overrides
   11. Responsive
   ============================================================ */


/* ============================================================
   1. GOOGLE FONTS — cargadas dinámicamente desde functions.php
   según las opciones configuradas en WpResidence Opciones del Tema
   ============================================================ */


/* ============================================================
   2. DESIGN TOKENS — Sistema de Variables Propio
   ============================================================ */
:root {
    /* Paleta Principal */
    --s-gold:           #C8972B;     /* Dorado principal */
    --s-gold-light:     #E8B84B;     /* Dorado claro / hover */
    --s-gold-dark:      #A07620;     /* Dorado oscuro / active */
    --s-gold-pale:      #F5EDD6;     /* Dorado muy suave / fondos */
    --s-navy:           #0D1B2A;     /* Azul marino oscuro */
    --s-navy-mid:       #1A2F45;     /* Azul marino medio */
    --s-navy-light:     #243B55;     /* Azul marino claro */
    --s-slate:          #4A6275;     /* Pizarra / texto secundario */
    --s-mist:           #F4F7FA;     /* Fondo gris muy suave */
    --s-white:          #FFFFFF;
    --s-border:         #E8EDF2;     /* Bordes sutiles */
    --s-border-gold:    rgba(200,151,43,0.25); /* Bordes dorados */

    /* Tipografía — definidas dinámicamente en functions.php
       desde WpResidence Opciones del Tema (wp_estate_general_font)
       Estas son variables de fallback si PHP no las inyecta */
    --s-font-display:   var(--wp-theme-heading-font, inherit);
    --s-font-body:      var(--wp-theme-body-font, inherit);

    /* Espaciado */
    --s-radius:         6px;
    --s-radius-lg:      12px;
    --s-radius-xl:      20px;
    --s-shadow-sm:      0 2px 8px rgba(13,27,42,0.08);
    --s-shadow-md:      0 8px 24px rgba(13,27,42,0.12);
    --s-shadow-lg:      0 20px 60px rgba(13,27,42,0.16);
    --s-shadow-gold:    0 8px 32px rgba(200,151,43,0.20);

    /* Transiciones */
    --s-transition:     0.28s cubic-bezier(0.4, 0, 0.2, 1);
    --s-transition-slow:0.45s cubic-bezier(0.4, 0, 0.2, 1);
}


/* ============================================================
   3. OVERRIDE DE VARIABLES DEL TEMA PADRE
   Sobreescribimos las CSS custom properties de WpResidence
   para adaptar todo el tema a nuestra paleta.
   ============================================================ */
:root {
    /* Colores principales */
    --wp-estate-main-color:             var(--s-gold);
    --wp-estate-second-color:           var(--s-gold-light);
    --wp-estate-background-color:       var(--s-mist);
    --wp_estate_content_back_color:     var(--s-mist);
    --wp_estate_content_area_back_color:var(--s-white);

    /* Tipografía */
    --wp_estate_breadcrumbs_font_color: var(--s-slate);
    --wp-estate-font-color:             var(--s-slate);
    --wp_estate_link_color:             var(--s-navy);
    --wp_estate_headings_color:         var(--s-navy);

    /* Header */
    --wp-estate-header-color:           var(--s-white);
    --wp-estate-menu-font-color:        var(--s-navy);
    --wp-estate-sticky-menu-font-color: var(--s-navy);
    --wp-estate-top-menu-hover-font-color: var(--s-gold);
    --wp-estate-active-menu-font-color: var(--s-gold);
    --wp-estate-top-menu-hover-back-font-color: var(--s-gold);
    --wp-estate-transparent-menu-font-color:    var(--s-white);
    --wp-estate-transparent-menu-hover-font-color: var(--s-gold-light);
    --wp-estate-menu-item-back-color:   var(--s-white);
    --wp-estate-menu-items-color:       var(--s-navy);
    --wp-estate-menu-hover-font-color:  var(--s-white);
    --wp-estate-menu-hover-back-color:  var(--s-gold);
    --wp-estate-menu-border-color:      var(--s-border-gold);

    /* Top Bar */
    --wp-estate-top-bar-back:           var(--s-navy);
    --wp-estate-top-bar-font:           rgba(255,255,255,0.7);

    /* Mobile Header */
    --wp-estate-mobile-header-background-color: var(--s-navy);
    --wp_estate_mobile_header_icon_color:        var(--s-gold);
    --wp_estate_mobile_menu_font_color:          var(--s-white);
    --wp-estate-mobile-menu-hover-font-color:    var(--s-gold);
    --wp-estate-mobile-item-hover-back-color:    var(--s-navy-mid);
    --wp-estate-mobile-menu-background-color:    var(--s-navy);
    --wp-estate-mobile-menu-border-color:        rgba(255,255,255,0.08);

    /* Cards de propiedades */
    --wp_estate_property_unit_color:    var(--s-white);
    --wp_estate_unit_border_color-option: var(--s-border);
    --wp_estate_cssbox_shadow:          var(--s-shadow-md);
    --wp_estate_unit_border_size:       1px;
    --wp-estate-unit-border-color:      var(--s-border);

    /* Búsqueda */
    --wp_estate_adv_back_color:         var(--s-white);
    --wp_estate_adv_font_color:         var(--s-slate);
    --wp_estate_adv_search_back_color:  var(--s-gold);
    --wp_estate_adv_search_tab_font_color: var(--s-gold);
    --wp_estate_adv_search_tab_back_font_color: var(--s-gold);
    --wp_estate_adv_search_font_color:  var(--s-slate);
    --wp_estate_adv_search_background_color: var(--s-mist);

    /* Footer */
    --wp_estate_footer_back_color:      var(--s-navy);
    --wp_estate_footer_copy_back_color: var(--s-navy);
    --wp_estate_footer_font_color:      rgba(255,255,255,0.65);
    --wp_estate_footer_copy_color:      rgba(255,255,255,0.40);
    --wp_estate_footer_heading_color:   var(--s-white);
    --wp_estate_footer_social_widget_back_color: var(--s-navy-mid);

    /* Dashboard */
    --wp_estate_user_dashboard_menu_color:        var(--s-navy);
    --wp_estate_user_dashboard_menu_hover_color:  var(--s-gold);
    --wp_estate_user_dashboard_menu_color_hover:  var(--s-gold);
    --wp_estate_user_dashboard_content_button_back: var(--s-gold);
    --wp_estate_user_dashboard_package_color:     var(--s-gold);
    --wp_estate_user_dashboard_buy_package:       var(--s-gold);
    --wp_estate_hover_button_color:               var(--s-navy);

    /* Border Radius global */
    --wp_estate_border_radius_corner:         var(--s-radius);
    --wp_estate_border_radius_dashboard_corner: var(--s-radius);

    /* Map */
    --wp_estate_map_controls_back:            var(--s-white);
    --wp_estate_map_controls_font_color:      var(--s-navy);

    /* Sidebar Widgets */
    --wp_estate_sidebar_widget_color:         var(--s-white);
    --wp_estate_widget_sidebar_border_color:  var(--s-border);

    /* Tipografía del tema */
    /* Fuentes del tema — se inyectan dinámicamente en functions.php */
    --wp-estate-card-unit-font-color:  var(--s-slate);
    --wp_estate_card_details_image_color: var(--s-slate);
}


/* ============================================================
   4. TIPOGRAFÍA GLOBAL
   ============================================================ */
body {
    font-family: var(--s-font-body) !important;
    font-size: 15px;
    line-height: 1.7;
    color: var(--s-slate);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3,
.h1, .h2, .h3 {
    color: var(--s-navy);
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

h4, h5, h6,
.h4, .h5, .h6 {
    color: var(--s-navy);
    font-weight: 600;
    letter-spacing: 0;
}

a {
    color: var(--s-navy);
    transition: color var(--s-transition);
}
a:hover {
    color: var(--s-gold);
    text-decoration: none;
}

p {
    font-family: var(--s-font-body);
    line-height: 1.75;
    color: var(--s-slate);
}

/* Etiqueta dorada decorativa */
.s-label {
    display: inline-block;
    font-family: var(--s-font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--s-gold);
    margin-bottom: 12px;
}


/* ============================================================
   5. HEADER
   ============================================================ */

/* Header principal */
#header_main,
.header_main_wrapper {
    background: var(--s-white) !important;
    border-bottom: 1px solid var(--s-border) !important;
    transition: box-shadow var(--s-transition);
}

/* Header sticky */
#header_main.sticky_header,
.sticky_header #header_main {
    box-shadow: var(--s-shadow-sm) !important;
}

/* Logo */
#header_main .logo img,
.header_wrapper .logo img {
    transition: opacity var(--s-transition);
}
#header_main .logo img:hover {
    opacity: 0.85;
}

/* Top Bar */
.top-bar-wrapper,
#top_bar {
    background: var(--s-navy) !important;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.top-bar-wrapper *,
#top_bar * {
    font-family: var(--s-font-body) !important;
    font-size: 12px !important;
}

/* Menú de navegación */
.main-nav > ul > li > a,
.main_menu > ul > li > a {
    font-family: var(--s-font-body) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em;
    text-transform: none !important;
    color: var(--s-navy) !important;
    transition: color var(--s-transition) !important;
}
.main-nav > ul > li > a:hover,
.main_menu > ul > li > a:hover,
.main-nav > ul > li.current-menu-item > a {
    color: var(--s-gold) !important;
}

/* Dropdown del menú */
.main-nav ul ul,
.main_menu ul ul,
.sub-menu {
    background: var(--s-white) !important;
    border: 1px solid var(--s-border) !important;
    border-top: 2px solid var(--s-gold) !important;
    border-radius: 0 0 var(--s-radius) var(--s-radius) !important;
    box-shadow: var(--s-shadow-md) !important;
}
.main-nav ul ul li a,
.main_menu ul ul li a,
.sub-menu li a {
    font-family: var(--s-font-body) !important;
    font-size: 13px !important;
    color: var(--s-navy) !important;
    padding: 9px 18px !important;
    transition: all var(--s-transition) !important;
}
.main-nav ul ul li a:hover,
.sub-menu li a:hover {
    background: var(--s-gold-pale) !important;
    color: var(--s-gold-dark) !important;
    padding-left: 22px !important;
}

/* Separador decorativo dorado en el header */
.header_main_wrapper::after {
    content: '';
    display: block;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--s-gold), transparent);
    opacity: 0.4;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

/* Botón CTA en header */
.header_cta_button,
.wpestate_header_login_register a.btn {
    background: var(--s-gold) !important;
    color: var(--s-white) !important;
    border-color: var(--s-gold) !important;
    font-family: var(--s-font-body) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    border-radius: var(--s-radius) !important;
    padding: 9px 20px !important;
    font-size: 13px !important;
    transition: all var(--s-transition) !important;
    box-shadow: 0 4px 12px rgba(200,151,43,0.25) !important;
}
.header_cta_button:hover,
.wpestate_header_login_register a.btn:hover {
    background: var(--s-gold-dark) !important;
    border-color: var(--s-gold-dark) !important;
    box-shadow: 0 6px 20px rgba(200,151,43,0.35) !important;
    transform: translateY(-1px);
}


/* ============================================================
   6. CARDS DE PROPIEDADES
   ============================================================ */

/* Card base */
.property_listing,
.listing_wrapper .property_listing {
    background: var(--s-white) !important;
    border: 1px solid var(--s-border) !important;
    border-radius: var(--s-radius-lg) !important;
    box-shadow: var(--s-shadow-sm) !important;
    transition: all var(--s-transition) !important;
    overflow: hidden;
}
.property_listing:hover,
.listing_wrapper:hover .property_listing {
    box-shadow: var(--s-shadow-lg) !important;
    transform: translateY(-4px) !important;
    border-color: var(--s-border-gold) !important;
}

/* Imagen de la propiedad */
.listing-unit-img-wrapper {
    border-radius: var(--s-radius-lg) var(--s-radius-lg) 0 0 !important;
    overflow: hidden;
}
.listing-unit-img-wrapper img {
    transition: transform var(--s-transition-slow) !important;
}
.property_listing:hover .listing-unit-img-wrapper img {
    transform: scale(1.04) !important;
}

/* Badge de precio */
.property_listing .listing_unit_price_main,
.property_listing .price_area {
    font-family: var(--s-font-display) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--s-navy) !important;
}

/* Badge de estado (Venta / Arriendo) */
.listing_unit_tag,
.property_listing .for_rent,
.property_listing .for_sale {
    font-family: var(--s-font-body) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
}
.property_listing .for_sale {
    background: var(--s-gold) !important;
    color: var(--s-white) !important;
}
.property_listing .for_rent {
    background: var(--s-navy) !important;
    color: var(--s-white) !important;
}

/* Badge "Destacado" */
.listing_unit_featured_label,
.property_listing .featured_label {
    background: var(--s-gold) !important;
    color: var(--s-white) !important;
    font-family: var(--s-font-body) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
}

/* Info del contenido de la card */
.property_listing .listing_unit_content_wrapper,
.listing_unit_info_wrapper {
    padding: 18px 20px 16px !important;
}

/* Título de la propiedad */
.property_listing .property-title,
.property_listing h5,
.property_listing .listing_unit_title a {
    font-family: var(--s-font-display) !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    color: var(--s-navy) !important;
    line-height: 1.3 !important;
    transition: color var(--s-transition) !important;
}
.property_listing .listing_unit_title a:hover {
    color: var(--s-gold) !important;
}

/* Dirección */
.property_listing .property_location,
.listing_unit_location {
    font-family: var(--s-font-body) !important;
    font-size: 12.5px !important;
    color: var(--s-slate) !important;
}
.property_listing .property_location i,
.listing_unit_location i {
    color: var(--s-gold) !important;
    margin-right: 4px;
}

/* Detalles (camas, baños, m²) */
.property_listing .listing_unit_details_wrapper,
.listing_unit_excerpt_wrapper {
    border-top: 1px solid var(--s-border) !important;
    padding-top: 12px !important;
    margin-top: 12px !important;
}
.property_listing .listing_unit_details_wrapper span,
.property_listing .listing_detail_item {
    font-family: var(--s-font-body) !important;
    font-size: 12px !important;
    color: var(--s-slate) !important;
    font-weight: 500 !important;
}
.property_listing .listing_unit_details_wrapper i,
.property_listing .listing_detail_item i {
    color: var(--s-gold) !important;
}

/* Botón de favorito */
.wpestate_wl_add_to_wishlist,
.listing_unit_fav_button {
    background: rgba(255,255,255,0.92) !important;
    backdrop-filter: blur(6px) !important;
    border: 1px solid var(--s-border) !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    transition: all var(--s-transition) !important;
    box-shadow: var(--s-shadow-sm) !important;
}
.wpestate_wl_add_to_wishlist:hover,
.listing_unit_fav_button:hover {
    background: var(--s-gold) !important;
    border-color: var(--s-gold) !important;
    color: var(--s-white) !important;
}


/* ============================================================
   7. BÚSQUEDA AVANZADA
   ============================================================ */
.advanced_search_form_wrapper,
.wpestate_search_main_wrapper {
    background: var(--s-white) !important;
    border-radius: var(--s-radius-xl) !important;
    box-shadow: var(--s-shadow-lg) !important;
    border: 1px solid var(--s-border) !important;
    overflow: hidden;
}

/* Tabs de búsqueda */
.search_type_tabs,
.wpestate_search_tabs_wrapper {
    background: var(--s-mist) !important;
    border-bottom: 1px solid var(--s-border) !important;
}
.search_type_tabs .nav-link,
.wpestate_search_tabs_wrapper a {
    font-family: var(--s-font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--s-slate) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    border-radius: 0 !important;
    padding: 14px 24px !important;
    border-bottom: 3px solid transparent !important;
    transition: all var(--s-transition) !important;
}
.search_type_tabs .nav-link.active,
.wpestate_search_tabs_wrapper a.active {
    color: var(--s-gold) !important;
    border-bottom-color: var(--s-gold) !important;
    background: transparent !important;
}

/* Inputs de búsqueda */
.advanced_search_form_wrapper input,
.advanced_search_form_wrapper select,
.wpestate_search_main_wrapper input,
.wpestate_search_main_wrapper select {
    font-family: var(--s-font-body) !important;
    font-size: 13.5px !important;
    color: var(--s-navy) !important;
    border: 1px solid var(--s-border) !important;
    border-radius: var(--s-radius) !important;
    background: var(--s-white) !important;
    transition: border-color var(--s-transition) !important;
}
.advanced_search_form_wrapper input:focus,
.advanced_search_form_wrapper select:focus,
.wpestate_search_main_wrapper input:focus,
.wpestate_search_main_wrapper select:focus {
    border-color: var(--s-gold) !important;
    box-shadow: 0 0 0 3px rgba(200,151,43,0.12) !important;
    outline: none !important;
}

/* Labels de búsqueda */
.advanced_search_form_wrapper label,
.wpestate_search_main_wrapper label {
    font-family: var(--s-font-body) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--s-slate) !important;
    margin-bottom: 6px !important;
}

/* Botón de búsqueda */
.advanced_search_form_wrapper .search_submit_button,
.wpestate_search_main_wrapper button[type="submit"],
.wpestate_search_main_wrapper .search_submit {
    background: var(--s-gold) !important;
    border-color: var(--s-gold) !important;
    color: var(--s-white) !important;
    font-family: var(--s-font-body) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    border-radius: var(--s-radius) !important;
    padding: 12px 28px !important;
    transition: all var(--s-transition) !important;
    box-shadow: 0 4px 14px rgba(200,151,43,0.30) !important;
}
.advanced_search_form_wrapper .search_submit_button:hover,
.wpestate_search_main_wrapper .search_submit:hover {
    background: var(--s-gold-dark) !important;
    border-color: var(--s-gold-dark) !important;
    box-shadow: 0 6px 20px rgba(200,151,43,0.40) !important;
    transform: translateY(-1px) !important;
}


/* ============================================================
   8. BOTONES GLOBALES
   ============================================================ */

/* Botón primario */
.btn-primary,
.button-primary,
a.btn-primary,
.wpestate_primary_btn {
    background: var(--s-gold) !important;
    border-color: var(--s-gold) !important;
    color: var(--s-white) !important;
    font-family: var(--s-font-body) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    letter-spacing: 0.02em;
    border-radius: var(--s-radius) !important;
    padding: 10px 22px !important;
    transition: all var(--s-transition) !important;
    box-shadow: 0 4px 12px rgba(200,151,43,0.25) !important;
    text-transform: none !important;
}
.btn-primary:hover,
a.btn-primary:hover {
    background: var(--s-gold-dark) !important;
    border-color: var(--s-gold-dark) !important;
    box-shadow: 0 6px 20px rgba(200,151,43,0.35) !important;
    transform: translateY(-1px) !important;
    color: var(--s-white) !important;
}

/* Botón secundario / outline */
.btn-secondary,
.button-secondary,
a.btn-secondary,
.btn-outline-primary {
    background: transparent !important;
    border: 1.5px solid var(--s-navy) !important;
    color: var(--s-navy) !important;
    font-family: var(--s-font-body) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    border-radius: var(--s-radius) !important;
    padding: 10px 22px !important;
    transition: all var(--s-transition) !important;
}
.btn-secondary:hover,
a.btn-secondary:hover {
    background: var(--s-navy) !important;
    color: var(--s-white) !important;
    transform: translateY(-1px) !important;
}

/* Botón ghost dorado */
.btn-gold-outline {
    background: transparent !important;
    border: 1.5px solid var(--s-gold) !important;
    color: var(--s-gold) !important;
    font-family: var(--s-font-body) !important;
    font-weight: 600 !important;
    border-radius: var(--s-radius) !important;
    padding: 10px 22px !important;
    transition: all var(--s-transition) !important;
}
.btn-gold-outline:hover {
    background: var(--s-gold) !important;
    color: var(--s-white) !important;
}

/* Paginación */
.pagination .page-item.active .page-link,
.wpestate_pagination .current {
    background: var(--s-gold) !important;
    border-color: var(--s-gold) !important;
    color: var(--s-white) !important;
    font-family: var(--s-font-body) !important;
}
.pagination .page-link,
.wpestate_pagination a {
    color: var(--s-navy) !important;
    font-family: var(--s-font-body) !important;
    border-color: var(--s-border) !important;
    transition: all var(--s-transition) !important;
}
.pagination .page-link:hover,
.wpestate_pagination a:hover {
    background: var(--s-gold-pale) !important;
    color: var(--s-gold-dark) !important;
    border-color: var(--s-gold) !important;
}


/* ============================================================
   9. FOOTER
   ============================================================ */
#footer,
.footer_wrapper {
    background: var(--s-navy) !important;
    color: rgba(255,255,255,0.65) !important;
    position: relative;
}

/* ============================================================
   STICKY FOOTER — Fix páginas Elementor con menú lateral
   WpResidence pone el footer position:fixed (sticky footer).
   En páginas Elementor esto tapa el contenido.
   Solución: convertir a position:relative para que fluya
   naturalmente al final del contenido.
   ============================================================ */
.elementor-page #colophon,
.elementor-page .sticky_footer,
.elementor-page .footer_back_repeat_no.sticky_footer {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    width: 100% !important;
    z-index: 10 !important;
}

/* Línea dorada decorativa en el footer */
#footer::before,
.footer_wrapper::before {
    content: '';
    display: block;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--s-gold), transparent);
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

/* Headings del footer */
#footer h1, #footer h2, #footer h3,
#footer h4, #footer h5, #footer h6,
.footer_wrapper h1, .footer_wrapper h2,
.footer_wrapper h3, .footer_wrapper h4 {
    font-family: var(--s-font-display) !important;
    color: var(--s-white) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em;
    margin-bottom: 18px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(200,151,43,0.25) !important;
}

/* Links del footer */
#footer a,
.footer_wrapper a {
    color: rgba(255,255,255,0.60) !important;
    font-family: var(--s-font-body) !important;
    font-size: 13.5px !important;
    transition: all var(--s-transition) !important;
}
#footer a:hover,
.footer_wrapper a:hover {
    color: var(--s-gold) !important;
    padding-left: 4px;
}

/* Copyright */
#footer_copyright,
.footer_copyright_wrapper {
    background: rgba(0,0,0,0.25) !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    padding: 16px 0 !important;
}
#footer_copyright *,
.footer_copyright_wrapper * {
    font-family: var(--s-font-body) !important;
    font-size: 12px !important;
    color: rgba(255,255,255,0.35) !important;
}

/* Iconos sociales del footer */
.footer_social_list a,
.wpestate_footer_social a {
    background: var(--s-navy-mid) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    color: rgba(255,255,255,0.65) !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all var(--s-transition) !important;
}
.footer_social_list a:hover,
.wpestate_footer_social a:hover {
    background: var(--s-gold) !important;
    border-color: var(--s-gold) !important;
    color: var(--s-white) !important;
    transform: translateY(-2px) !important;
}


/* ============================================================
   10. ELEMENTOR OVERRIDES
   Estilos para contenido generado con Elementor
   dentro del contexto del tema
   ============================================================ */

/* Secciones Elementor */
.elementor-section,
.e-container {
    font-family: var(--s-font-body) !important;
}

/* Botones en Elementor */
.elementor-button {
    font-family: var(--s-font-body) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    border-radius: var(--s-radius); /* sin !important para que Elementor pueda sobreescribir */
    transition: all var(--s-transition) !important;
}
.elementor-button.elementor-button-default,
.elementor-button[style*="background-color"] {
    box-shadow: 0 4px 12px rgba(200,151,43,0.20) !important;
}

/* Icon Box en Elementor */
.elementor-icon-box-title {
    font-family: var(--s-font-body) !important;
    font-weight: 600 !important;
    color: var(--s-navy) !important;
}

/* Divider dorado decorativo */
.elementor-widget-divider .elementor-divider-separator {
    border-color: var(--s-gold-pale) !important;
}

/* Counter en Elementor */
.elementor-counter .elementor-counter-number-wrapper {
    font-family: var(--s-font-display) !important;
    color: var(--s-gold) !important;
}
.elementor-counter .elementor-counter-title {
    font-family: var(--s-font-body) !important;
    color: var(--s-navy) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

/* Testimonios en Elementor */
.elementor-testimonial__text {
    font-family: var(--s-font-display) !important;
    font-style: italic;
    color: var(--s-slate) !important;
}
.elementor-testimonial__name {
    font-family: var(--s-font-body) !important;
    font-weight: 600;
    color: var(--s-navy) !important;
}


/* ============================================================
   11. BREADCRUMBS Y SUBHEADER
   ============================================================ */
.breadcrumbs_wrapper,
.wpestate_breadcrumbs {
    background: var(--s-mist) !important;
    border-bottom: 1px solid var(--s-border) !important;
    padding: 10px 0 !important;
}
.breadcrumbs_wrapper *,
.wpestate_breadcrumbs * {
    font-family: var(--s-font-body) !important;
    font-size: 12px !important;
    color: var(--s-slate) !important;
}
.breadcrumbs_wrapper a:hover,
.wpestate_breadcrumbs a:hover {
    color: var(--s-gold) !important;
}


/* ============================================================
   12. SIDEBAR WIDGETS
   ============================================================ */
.sidebar_wrapper .widget,
#secondary .widget {
    background: var(--s-white) !important;
    border: 1px solid var(--s-border) !important;
    border-radius: var(--s-radius-lg) !important;
    padding: 22px !important;
    margin-bottom: 20px !important;
    box-shadow: var(--s-shadow-sm) !important;
}

.widget-title,
.sidebar_wrapper .widget h3,
#secondary .widget h3 {
    font-family: var(--s-font-display) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--s-navy) !important;
    border-bottom: 2px solid var(--s-gold) !important;
    padding-bottom: 10px !important;
    margin-bottom: 16px !important;
}

/* Slider de precio en sidebar */
.ui-slider-range,
.wpestate_price_slider .ui-slider-range {
    background: var(--s-gold) !important;
}
.ui-slider-handle,
.wpestate_price_slider .ui-slider-handle {
    background: var(--s-gold) !important;
    border-color: var(--s-gold-dark) !important;
}


/* ============================================================
   13. PÁGINA DE PROPIEDAD INDIVIDUAL
   ============================================================ */
.property_page_title_main,
.single-estate_property h1 {
    font-family: var(--s-font-display) !important;
    color: var(--s-navy) !important;
    font-weight: 500 !important;
}

.property_main_price,
.wpestate_property_price,
.price_area {
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--s-font-display) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--s-primary) !important;
    background: var(--s-primary-pale) !important;
    padding: 10px 22px !important;
    border-radius: var(--s-radius-lg) !important;
    line-height: 1.2 !important;
}

.property_detail_tabs .nav-link,
.wpestate_property_tabs a {
    font-family: var(--s-font-body) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--s-slate) !important;
    border-bottom: 2px solid transparent !important;
    padding: 12px 20px !important;
    transition: all var(--s-transition) !important;
}
.property_detail_tabs .nav-link.active,
.wpestate_property_tabs a.active {
    color: var(--s-gold) !important;
    border-bottom-color: var(--s-gold) !important;
}

/* Tabla de detalles */
.wpestate_details_table td,
.property_details_table td {
    font-family: var(--s-font-body) !important;
    font-size: 13.5px !important;
    padding: 10px 14px !important;
    border-color: var(--s-border) !important;
}
.wpestate_details_table tr:nth-child(even),
.property_details_table tr:nth-child(even) {
    background: var(--s-mist) !important;
}

/* Detalles de la propiedad (Property Id, Precio, Habitaciones, etc.)
   — de fila de texto plano a tarjetas/badges con color de marca.
   Se escopea a #accordion_property_details_collapse + .listing_detail_v2
   para no afectar "Dirección" (.listing_detail sin _v2) ni
   "Características" (.listing_detail.col-md-12, otra estructura). */
#accordion_property_details_collapse .row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
    margin: 0 !important;
}

#accordion_property_details_collapse .listing_detail.listing_detail_v2 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    background: var(--s-mist) !important;
    border: 1px solid var(--s-border) !important;
    border-radius: var(--s-radius-lg) !important;
    padding: 14px 16px !important;
    margin: 0 !important;
    transition: var(--s-transition) !important;
}
#accordion_property_details_collapse .listing_detail.listing_detail_v2:hover {
    background: var(--s-white) !important;
    border-color: var(--s-primary-border) !important;
    box-shadow: var(--s-shadow-sm) !important;
    transform: translateY(-2px) !important;
}

#accordion_property_details_collapse .listing_detail_icon {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: var(--s-primary-pale) !important;
    transition: var(--s-transition) !important;
}
#accordion_property_details_collapse .listing_detail.listing_detail_v2:hover .listing_detail_icon {
    background: var(--s-primary) !important;
}
#accordion_property_details_collapse .listing_detail_icon i {
    color: var(--s-primary) !important;
    font-size: 16px !important;
    margin: 0 !important;
    transition: var(--s-transition) !important;
}
#accordion_property_details_collapse .listing_detail.listing_detail_v2:hover .listing_detail_icon i {
    color: var(--s-white) !important;
}

#accordion_property_details_collapse .listing_detail_text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    line-height: 1.3 !important;
    min-width: 0 !important;
}
#accordion_property_details_collapse .listing_detail_label {
    display: block !important;
    font-family: var(--s-font-body) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: var(--s-slate) !important;
}
#accordion_property_details_collapse .listing_detail_value {
    display: block !important;
    font-family: var(--s-font-display) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--s-navy) !important;
    overflow-wrap: break-word !important;
}

/* Resumen rápido de "Descripción general" (Alcobas, Baños, m², etc.)
   — mismo lenguaje visual que la sección Detalles: badge circular
   con color de marca + card. Los iconos (fa-bed, fa-bath,
   fa-ruler-combined, fa-utensils, fa-shirt, fa-computer) ya vienen
   bien asignados y sin repetirse desde el HTML; no se tocan. */
.property-page-overview-details-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 14px !important;
}
.property-page-overview-details-wrapper .overview_element {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    list-style: none !important;
    background: var(--s-mist) !important;
    border: 1px solid var(--s-border) !important;
    border-radius: var(--s-radius-lg) !important;
    padding: 16px 18px !important;
    flex: 1 1 96px !important;
    min-width: 96px !important;
    text-align: center !important;
    transition: var(--s-transition) !important;
}
.property-page-overview-details-wrapper .overview_element:hover {
    background: var(--s-white) !important;
    border-color: var(--s-primary-border) !important;
    box-shadow: var(--s-shadow-sm) !important;
    transform: translateY(-2px) !important;
}
.property-page-overview-details-wrapper .overview_element li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.property-page-overview-details-wrapper .overview_element .first_overview {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: var(--s-primary-pale) !important;
    margin: 0 auto !important;
    transition: var(--s-transition) !important;
}
.property-page-overview-details-wrapper .overview_element:hover .first_overview {
    background: var(--s-primary) !important;
}
.property-page-overview-details-wrapper .overview_element .first_overview i {
    color: var(--s-primary) !important;
    font-size: 18px !important;
    margin: 0 !important;
    transition: var(--s-transition) !important;
}
.property-page-overview-details-wrapper .overview_element:hover .first_overview i {
    color: var(--s-white) !important;
}
.property-page-overview-details-wrapper .overview_element li:not(.first_overview) {
    font-family: var(--s-font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--s-navy) !important;
    white-space: nowrap !important;
}

@media (max-width: 575px) {
    .property-page-overview-details-wrapper .overview_element {
        flex: 1 1 calc(50% - 14px) !important;
        padding: 14px !important;
    }
}

/* Recuadro consistente para TODOS los paneles de la ficha de propiedad.
   Antes: "Descripción general" y "Descripción" no tenían ningún borde
   (solo 30px de padding sin marco que los delimitara), mientras que los
   paneles tipo acordeón (Dirección, Detalles, Características, Mapas...)
   solo tenían una línea inferior de 1px entre ellos. Ahora los seis usan
   el mismo lenguaje de card: borde completo y radio, sin sombra. */
.single-overview-section.property-panel,
.wpestate_property_description.property-panel,
.accordion.property-panel .accordion-item {
    border: 1px solid var(--s-border) !important;
    border-radius: var(--s-radius-lg) !important;
    margin: 15px 0 !important;
    overflow: hidden !important;
}
.single-overview-section.property-panel,
.wpestate_property_description.property-panel {
    padding: 24px !important;
}

/* Algunos paneles del tema (ej. "Ahorro de energía") se renderizan
   vacíos cuando la propiedad no tiene ese dato configurado: antes
   no se notaba porque no tenían borde; ahora que todos son cards
   visibles, hay que ocultar los que no traen contenido real. */
.accordion.property-panel .accordion-item:has(.accordion-body > .row:empty:only-child) {
    display: none !important;
}


/* ============================================================
   14. FORMULARIOS DE CONTACTO
   ============================================================ */
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select,
.wpf-field input,
.wpf-field textarea {
    font-family: var(--s-font-body) !important;
    border: 1px solid var(--s-border) !important;
    border-radius: var(--s-radius) !important;
    color: var(--s-navy) !important;
    transition: border-color var(--s-transition) !important;
    background: var(--s-white) !important;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpf-field input:focus {
    border-color: var(--s-gold) !important;
    box-shadow: 0 0 0 3px rgba(200,151,43,0.10) !important;
    outline: none !important;
}

/* Submit */
.wpcf7-submit,
.wpf-field input[type="submit"] {
    background: var(--s-gold) !important;
    border-color: var(--s-gold) !important;
    color: var(--s-white) !important;
    font-family: var(--s-font-body) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    border-radius: var(--s-radius) !important;
    padding: 12px 28px !important;
    transition: all var(--s-transition) !important;
    box-shadow: 0 4px 12px rgba(200,151,43,0.25) !important;
}
.wpcf7-submit:hover,
.wpf-field input[type="submit"]:hover {
    background: var(--s-gold-dark) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(200,151,43,0.35) !important;
}


/* ============================================================
   15. ANIMACIONES Y MICROINTERACCIONES
   ============================================================ */

/* Fade in suave para cards */
@keyframes s-fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.listing_wrapper {
    animation: s-fadeUp 0.4s ease both;
}
.listing_wrapper:nth-child(2) { animation-delay: 0.06s; }
.listing_wrapper:nth-child(3) { animation-delay: 0.12s; }
.listing_wrapper:nth-child(4) { animation-delay: 0.18s; }
.listing_wrapper:nth-child(5) { animation-delay: 0.24s; }
.listing_wrapper:nth-child(6) { animation-delay: 0.30s; }

/* Shimmer en imágenes cargando */
.listing-unit-img-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--s-mist) 25%, rgba(248,248,248,0) 50%, var(--s-mist) 75%);
    background-size: 200% 100%;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s;
}


/* ============================================================
   16. RESPONSIVE
   ============================================================ */
@media (max-width: 991px) {
    .main-nav > ul > li > a,
    .main_menu > ul > li > a {
        font-size: 14px !important;
    }
    #accordion_property_details_collapse .row {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 767px) {
    .property_listing {
        border-radius: var(--s-radius) !important;
    }
    .advanced_search_form_wrapper,
    .wpestate_search_main_wrapper {
        border-radius: var(--s-radius-lg) !important;
    }
    #accordion_property_details_collapse .row {
        grid-template-columns: 1fr !important;
    }
    #accordion_property_details_collapse .listing_detail.listing_detail_v2 {
        padding: 12px 14px !important;
    }
}


/* ============================================================
   17. UTILIDADES CUSTOM
   ============================================================ */

/* Separador dorado */
.s-gold-divider {
    width: 48px;
    height: 3px;
    background: var(--s-gold);
    border-radius: 2px;
    margin: 12px 0 24px;
}
.s-gold-divider.center {
    margin-left: auto;
    margin-right: auto;
}

/* Sección con fondo navy */
.s-section-dark {
    background: var(--s-navy) !important;
    color: rgba(255,255,255,0.80);
}
.s-section-dark h1,
.s-section-dark h2,
.s-section-dark h3,
.s-section-dark h4 {
    color: var(--s-white) !important;
}

/* Sección con fondo dorado suave */
.s-section-gold {
    background: var(--s-gold-pale) !important;
    border-top: 1px solid var(--s-border-gold);
    border-bottom: 1px solid var(--s-border-gold);
}

/* Badge premium */
.s-badge-premium {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, var(--s-gold-dark), var(--s-gold));
    color: var(--s-white);
    font-family: var(--s-font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
}


/* ============================================================
   PÁGINAS ELEMENTOR — Quitar espacio blanco y breadcrumb
   Clases reales confirmadas via debug en WpResidence
   ============================================================ */

/* Breadcrumb — clase real: breadcrumb_container */
.elementor-page .breadcrumb_container,
.elementor-page .breadcrumbs_wrapper,
.elementor-page .wpestate_breadcrumbs,
.elementor-page .page_title_section,
.elementor-page #page_title_section,
.elementor-page .header_media_section,
.elementor-page .entry-header {
    display: none !important;
}

/* Quitar todo padding/margin del wrapper de contenido */
.elementor-page #content_wrapper,
.elementor-page .content_wrapper,
.elementor-page .container > .row > .col-12,
.elementor-page main.site-main,
.elementor-page #main_content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* El contenedor principal de Elementor sin espacios */
.elementor-page .elementor,
.elementor-page .elementor-inner {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Secciones Elementor full width — quitar max-width del container */
.elementor-section.elementor-section-stretched {
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Contador: asegurar que título y sufijo sean visibles */
.elementor-counter .elementor-counter-title {
    opacity: 1 !important;
    visibility: visible !important;
}
.elementor-counter .elementor-counter-number-suffix,
.elementor-counter .elementor-counter-number-prefix {
    opacity: 1 !important;
    visibility: visible !important;
}

/* ============================================================
   COUNTER WIDGET — Fix global de colores
   Elementor Free no aplica title_color correctamente,
   este CSS lo fuerza según el fondo de la sección.
   ============================================================ */

/* Counter en sección oscura (fondo marino) */
[style*="background-color: rgb(13, 27, 42)"] .elementor-counter-title,
[style*="background-color:#0D1B2A"] .elementor-counter-title,
[style*="background-color: #0d1b2a"] .elementor-counter-title {
    color: #ffffff !important;
}

/* Counter en sección de color primario */
[style*="background-color: rgb(251, 218, 81)"] .elementor-counter-title,
[style*="background-color:#fbda51"] .elementor-counter-title {
    color: #0D1B2A !important;
}

/* Counter número — color dorado por defecto en fondos oscuros */
[style*="background-color: rgb(13, 27, 42)"] .elementor-counter-number-wrapper {
    color: #fbda51 !important;
}

/* Forzar que el título del counter sea siempre visible */
.elementor-counter .elementor-counter-title {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    min-height: 1em;
}

/* ============================================================
   ESPACIO BLANCO ENCIMA — Fix definitivo
   WpResidence agrega padding-top al wrapper según el tipo
   de header configurado globalmente. Lo anulamos en páginas
   con Elementor.
   ============================================================ */

/* Quitar padding-top del wrapper principal en páginas Elementor */
.elementor-page #all_wrapper,
.elementor-page .website-wrapper,
.elementor-page [class*="wpresidence_wrapper_for_header"] {
    padding-top: 0 !important;
}

/* Quitar margin-top del contenido principal */
.elementor-page #content_wrapper,
.elementor-page #main_content_wrapper,
.elementor-page .main_content_wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Sidebar container de Angie — ocultar en páginas Elementor */
.elementor-page #angie-sidebar-container {
    display: none !important;
}

/* El elementor empieza justo después del header */
.elementor-page .elementor:first-child {
    margin-top: 0 !important;
}

/* Quitar espacio blanco debajo del contenido Elementor */
.elementor-page .single-content,
.elementor-page .single_width_page,
.elementor-page #single_content,
.elementor-page .col-xs-12.col-lg-12.p-0.single_width_page {
    min-height: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.elementor-page #all_wrapper,
.elementor-page .website-wrapper {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* WpResidence pone min-height: 1200px en el wrapper principal
   cuando el footer es sticky. En páginas Elementor lo anulamos. */
.elementor-page .wpestate_has_sticky_footer .wpresidence_main_wrapper_class,
.wpestate_has_sticky_footer .elementor-page .wpresidence_main_wrapper_class,
.elementor-page .wpresidence_main_wrapper_class {
    min-height: 0 !important;
}

/* El padding-bottom del contenedor padre no aplica en Elementor
   porque el footer pasa a ser position:relative */
.elementor-page .wpresidence_wrapper_for_header_4_colum,
.elementor-page [class*="wpresidence_wrapper_for_header"] {
    padding-bottom: 0 !important;
}

/* Párrafos en Elementor — solo line-height, sin font-size fijo */
.elementor-widget-text-editor p { line-height: 1.75; }

/* ============================================================
   ELEMENTOR FULL WIDTH — Fix del contenedor interno
   WpResidence limita .elementor-container y .e-con a ~1140px.
   Cubrimos tanto el sistema antiguo (sections) como el nuevo
   (Flexbox Containers: e-con, e-con-full, e-container).
   ============================================================ */

/* Sistema antiguo — Sections */
.elementor-section.elementor-section-full_width > .elementor-container {
    max-width: 100% !important;
}
.elementor-section.elementor-section-stretched > .elementor-container {
    max-width: 100% !important;
}

/* Sistema nuevo — Flexbox Containers */
.e-con,
.e-con-full,
.e-container {
    max-width: 100% !important;
    width: 100% !important;
}

/* Contenedor en modo full width explícito */
.e-con.e-con-full,
[data-element_type="container"].e-con-full {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ============================================================
   FIX CRÍTICO — wpresidence-content-container-wrapper
   WpResidence usa --wp-estate-main-grid-content-width para
   limitar el ancho del wrapper que contiene todo Elementor.
   En páginas Elementor lo forzamos a 100% y quitamos padding.
   ============================================================ */
.elementor-page .wpresidence-content-container-wrapper,
.elementor-page .content_wrapper.container-fluid,
.elementor-page main.content_wrapper {
    --wp-estate-main-grid-content-width: 100% !important;
    --wp-estate-main-grid-content-width-opt: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* col-12 y row dentro del wrapper también al 100% */
.elementor-page .wpresidence-content-container-wrapper.col-12,
.elementor-page .wpresidence-content-container-wrapper.row {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: 0 0 100% !important;
}

/* Neutralizar max-width del wrapper de Elementor también */
.elementor-page .elementor-section-wrap,
.elementor-page > .elementor > .elementor-section-wrap {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}


/* ============================================================
   ELEMENTOR — Border radius en imágenes
   Cuando se configura border-radius en un widget Image,
   Elementor lo aplica al wrapper pero no recorta la <img>.
   Forzamos overflow:hidden en el wrapper y border-radius
   en la imagen directamente.
   ============================================================ */
.elementor-widget-image .elementor-widget-container {
    overflow: hidden;
}

.elementor-widget-image img {
    border-radius: inherit;
    display: block;
    width: 100%;
}

/* Específico para imágenes con clase circular (50% radius) */
.elementor-widget-image[style*="border-radius: 50"] .elementor-widget-container,
.elementor-widget-image[style*="border-radius:50"] .elementor-widget-container {
    border-radius: 50%;
    overflow: hidden;
}

/* Tarjetas de zonas comunes y datos del proyecto */
.elementor-column .elementor-widget-image .elementor-widget-container {
    border-radius: inherit;
    overflow: hidden;
}

/* ── Svenco Icon Card — altura uniforme entre tarjetas hermanas ────
   Hace que el .sic-wrap y el .sic-box se estiren para ocupar toda
   la altura de su columna, igualando visualmente las tarjetas sin
   importar la cantidad de texto que tengan. */
.elementor-column .elementor-widget-svenco_icon_card {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.elementor-column .elementor-widget-svenco_icon_card .elementor-widget-container {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.elementor-column .elementor-widget-svenco_icon_card .sic-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.elementor-column .elementor-widget-svenco_icon_card .sic-box {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.elementor-column .elementor-widget-svenco_icon_card .sic-box-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.elementor-column .elementor-widget-svenco_icon_card .sic-desc {
    flex: 1;
}
