.elementor-901 .elementor-element.elementor-element-58cc8e7{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-bc-flex-widget .elementor-901 .elementor-element.elementor-element-1de604a.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-901 .elementor-element.elementor-element-1de604a.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-901 .elementor-element.elementor-element-1de604a.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-901 .elementor-element.elementor-element-1de604a > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-901 .elementor-element.elementor-element-1de604a > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-901 .elementor-element.elementor-element-1de604a{width:100%;}}/* Start custom CSS for section, class: .elementor-element-58cc8e7 */<style>
        /* Estilos generales de la página (solo para demostración) */
        body {
            margin: 0;
            padding: 20px;
            background-color: #f0f0f0; /* Fondo claro para ver el contraste del componente */
            font-family: 'Roboto Condensed', sans-serif;
        }

        /* ESTILOS DEL COMPONENTE 
           Copia esto a tu CSS
        */

        /* Contenedor principal RESPONSIVO */
        .map-wrapper {
            position: relative;
            
            /* Se adapta al ancho de la columna padre */
            width: 100%; 
            
            /* Mantiene la proporción 9:16 automáticamente */
            aspect-ratio: 9 / 16; 
            
            /* Opcional: Altura máxima por si la columna es muy ancha */
            /* max-height: 90vh; */ 
            
            background-color: #2b2129;
            overflow: hidden;
            box-shadow: 0 0 20px rgba(0,0,0,0.2);
            margin: 0 auto; /* Centrado si sobra espacio */
        }

        /* SVG */
        svg {
            width: 100%;
            height: 100%;
            /* 'contain' asegura que se vea todo el mapa sin recortes 
               dentro de la proporción 9:16 */
            object-fit: contain; 
            display: block;
        }

        /* --- ESTILOS DE PAÍSES --- */

        .highlight-country {
            transition: fill 5s ease-in-out, opacity 5s ease-in-out !important;
            cursor: pointer;
            fill: #E63946 !important; 
            stroke: none !important;
            stroke-width: 0 !important;
            filter: none !important;
            opacity: 0.6 !important;
        }

        .highlight-country.active {
            fill: #FFFFFF !important;
            stroke: none !important;
            stroke-width: 0 !important;
            filter: none !important;
            box-shadow: none !important;
            opacity: 1 !important;
            z-index: 100; 
        }

        #RESTO_MUNDO, #RESTO-MUNDO, [id*="RESTO"] {
            opacity: 0.3 !important;
            pointer-events: none;
            fill: #cccccc !important;
        }

        #MASCARA {
            fill: #2b2129 !important;
        }

        .country-label-container {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            pointer-events: none;
            z-index: 200;
            width: 100%;
            text-align: center;
        }

        .country-name {
            color: #FFFFFF; 
            font-family: 'Roboto Condensed', sans-serif;
            font-weight: 100; 
            
            /* Usamos 'container query units' (cqw) o % si queremos que el texto escale con el mapa,
               pero px fijo es más seguro para legibilidad. */
            font-size: 24px; 
            
            text-transform: uppercase;
            letter-spacing: 0px;
            opacity: 0;
            transform: scale(0.95);
            transition: opacity 5s ease-in-out, transform 5s ease-out;
            text-shadow: 0 2px 4px rgba(0,0,0,0.5); 
        }

        .country-name.visible {
            opacity: 1;
            transform: scale(1);
        }

        .loading {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: white;
            font-weight: 100;
            font-size: 16px;
        }

        /* Ajustes para columnas muy estrechas (móvil) */
        @container (max-width: 300px) {
            .country-name { font-size: 18px; }
        }
        
        @media (max-width: 400px) {
            .country-name { font-size: 18px; }
        }
    </style>/* End custom CSS */