/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
/* El elemento padre será la referencia */

/* Enlaces principales del menú */
.submenu-centrado
.jet-mega-menu-item--top-level
> .jet-mega-menu-item__inner {
    border-radius: 5px;
}

/* Hover */
.submenu-centrado
.jet-mega-menu-item--top-level:hover
> .jet-mega-menu-item__inner {
    border-radius: 5px !important;
}

/* Página actual */
.submenu-centrado
.jet-mega-menu-item--top-level.current-menu-item
> .jet-mega-menu-item__inner,
.submenu-centrado
.jet-mega-menu-item--top-level.current_page_item
> .jet-mega-menu-item__inner,
.submenu-centrado
.jet-mega-menu-item--top-level.current-menu-ancestor
> .jet-mega-menu-item__inner,
.submenu-centrado
.jet-mega-menu-item--top-level.current_page_ancestor
> .jet-mega-menu-item__inner {
    border-radius: 5px !important;
}
/* Separador entre elementos del submenú */
.submenu-centrado
.jet-mega-menu-sub-menu__list
> .jet-mega-menu-item--sub-level:not(:last-child) {
    border-bottom: 1px solid #fff;
}
.submenu-centrado
.jet-mega-menu-sub-menu__list
> .jet-mega-menu-item--sub-level {
	text-align:center;
}
@media (min-width: 768px) {

    .submenu-centrado .jet-mega-menu-item--top-level {
        position: relative;
    }

    .submenu-centrado
    .jet-mega-menu-item--top-level
    > .jet-mega-menu-sub-menu {
        left: calc(50% - 80px) !important;
        right: auto !important;

        width: 160px !important;
        min-width: 160px !important;
        max-width: 160px !important;

        box-sizing: border-box;
    }

    .submenu-centrado .jet-mega-menu-sub-menu__list,
    .submenu-centrado .jet-mega-menu-item--sub-level,
    .submenu-centrado .jet-mega-menu-item__inner,
    .submenu-centrado .jet-mega-menu-item__link--sub-level,
    .submenu-centrado .jet-mega-menu-item__title,
    .submenu-centrado .jet-mega-menu-item__label {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    /* Permitir que los textos largos bajen de línea */
    .submenu-centrado .jet-mega-menu-item__label {
        white-space: normal !important;
        overflow-wrap: break-word;
        word-break: normal;
        line-height: 1.3;
    }

    .submenu-centrado .jet-mega-menu-item__link--sub-level {
        white-space: normal !important;
    }
}

.encabezado strong, .encabezado b {
	font-weight:500;
	color:#d41317;
}

/* Grid general de 4 columnas */
.repeater-grid-4 .jet-listing-dynamic-repeater__items {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
}

/* Elemento individual de JetEngine */
.repeater-grid-4 .jet-listing-dynamic-repeater__item {
	margin: 0;
	min-width: 0;
}

/* Contenido de cada columna */
.repeater-grid-4 .repeater-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	padding: 25px;
	text-align: left;
	box-sizing: border-box;
}

/* Icono arriba */
.repeater-grid-4 .repeater-card__icono {
	display: block;
	width: 70px;
	height: 70px;
	margin: 0 0 5px;
	object-fit: contain;
	align-self: flex-start;
}

/* Título debajo del icono */
.repeater-grid-4 .repeater-card__titulo {
	font-family: "IBM Plex Sans", Sans-serif;
	margin: 0 0 12px;
	font-size: 20px;
	line-height: 1.3;
	font-weight:normal;
	color:#004077;
}

/* Texto debajo del título */
.repeater-grid-4 .repeater-card__texto {
	margin: 0;
	line-height: 1;
	font-family: "IBM Plex Sans", Sans-serif;
	font-size: 16px;
	font-weight:normal;
	color:#000000;
}

/* Elimina márgenes si el campo texto genera párrafos */
.repeater-grid-4 .repeater-card__texto p {
	margin: 0;
}

/* Tablet */
@media (max-width: 1024px) {
	.repeater-grid-4 .jet-listing-dynamic-repeater__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Móvil */
@media (max-width: 767px) {
	.repeater-grid-4 .jet-listing-dynamic-repeater__items {
		grid-template-columns: 1fr;
	}
}

/* Los SVG subidos a Elementor comparten el id "clip-path" y se recortan
   entre ellos; el recorte es innecesario, así que se anula. */
.elementor svg * {
      clip-path: none !important;
}
.e-n-accordion-item-title-icon svg,
.elementor-icon svg,
.elementor-icon-list-icon svg,
.elementor-button-icon svg { overflow: visible; }
.e-n-accordion-item-title-icon svg .cls-3,
footer svg .cls-3,
header svg .cls-3 { stroke-width: 1px; }
header .menubtn svg .cls-3, .e-off-canvas  svg .cls-3 { stroke-width: 3px; }
.menubtn .cls-3 {
    stroke: #004077 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.elementor-widget-off-canvas {
	--e-off-canvas-animation-duration: 500ms;
}
.legales a {
	text-decoration:underline;
	text-decoration-color: #FFFFFF;
}
.legales a:hover {
	text-decoration:none;
}
/* Quitar bullets por defecto */
.lista .elementor-widget-text-editor ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ELEMENTOS PRINCIPALES */
.lista .elementor-widget-text-editor ul > li {
    position: relative;
    padding-left: 15px;
    margin-bottom: 12px;
	font-weight:500;
}

/* Indicador > */
.lista .elementor-widget-text-editor ul > li::before {
    content: ">";
    position: absolute;
    left: 0;
    top: 0;
    color: #d41317;
}

/* SUBLISTAS */
.lista .elementor-widget-text-editor ul ul {
    margin-top: 8px;
    margin-left: 5px;
}

/* SUBELEMENTOS */
.lista .elementor-widget-text-editor ul ul > li {
    padding-left: 10px;
    margin-bottom: 5px;
	font-weight:400;
}

/* Indicador / en subelementos */
.lista .elementor-widget-text-editor ul ul > li::before {
    content: "/";
    color: #d41317;
}
#sector .bloque {
	border-top: solid 1px #D41317;
	padding: 10px 0;
	margin-bottom: 40px;
}
#sector .bloque h2 {
	font-size:21px;
	font-weight:500;
}
#sector .bloque p {
	font-size:16px;
	color: #000;
}
#sector .bloque ul {
    list-style-type: none;
	padding-left: 20px;
}
#sector .bloque ul li::before {
    content: ">";
    position: absolute;
    left: 0;
    color: #d41317;
}
#sector .bloque ul li {
	margin-bottom: 12px;
	color: #000000;
	font-weight: 500;
	font-size: 16px;
}
.elementor-swiper-button-prev, .elementor-swiper-button-next {
	background-color: #004077;
	border-radius: 50px;
	padding: 5px;
	opacity: 0.5;
}
.elementor-swiper-button-prev:hover, .elementor-swiper-button-next:hover {
	opacity: 1;
}