/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 4.27.4.1749730283
Updated: 2025-06-12 12:11:23

*/



/*************************************************************************************************************/

/* HEADER IMPARABLE V01 */

/*************************************************************************************************************/



/* ampliar ancho máximo del header */
header .et_pb_row_0_tb_header.et_pb_row--with-menu { 
    /*max-width: 1920px; */
}

.et-l--header {
	display: block;
	width: 100vw;
	position: fixed;
	left: 0; top: 0px;
	z-index: 99;
    max-height: 100px;
}

/* ajuste para admin-bar */
@media screen and (min-width: 601px) {
	.admin-bar .et-l--header {
		top: 32px;
	}
}

/* ajuste para evitar el strecht en el menú, y que se alinee al centro verticalmente */
.header_imparable .et_pb_menu .et_pb_menu__wrap {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/* ajuste para que el menú no se acerque demasiado al margen derecho */
.header_imparable.et_pb_section_0_tb_header.et_pb_section {
    padding-right: 50px;
}

/* hueco en contenido para cabecera fixed */
/*
wp-singular page-template-default page page-id-1745 logged-in admin-bar wp-theme-Divi wp-child-theme-Divi-child theme-Divi et-tb-has-template et-tb-has-header et-tb-has-footer woocommerce-js et_pb_button_helper_class et_cover_background et_pb_gutter windows et_pb_gutters3 et_full_width_page et_divi_theme et-db customize-support chrome

.et-tb #page-container, .et-tb-has-header #page-container

*/

body.theme-Divi #page-container {
	padding-top: 110px !important;
	transition: padding-top 0.3s ease;
}
body.theme-Divi.stickyheader #page-container {
	padding-top: 75px !important;
}
/*
.et-l--header .et_pb_image_0_tb_header {
	transition: all 0.3s ease;	
}
*/
/* padding header*/
.et-db #et-boc .et-l.et-l--header .et_pb_row_0_tb_header.et_pb_row {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
	transition: all 0.3s ease;
}
.et-l--header .et_pb_section_0_tb_header.et_pb_section_0_tb_header {
	transition: all 0.3s ease;
    background-color: rgba(0,0,0,0) !important;
	/*box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0);*/
    box-shadow: none;
}

/* logo */
.et-l--header .et_pb_menu__logo a img {
    width: 100%;
    height: auto;
	transition: all 0.3s ease;	
	max-width: 300px;
    /*filter: brightness(0) invert(1);*/
}
@media screen and (max-width: 575px) {
}

/* teñir hamburguesa 
.et-l--header .et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before {
    color: #FFFFFF;
}
*/

/* AJUSTE para que el logo no se haga demasiado grande 
.header_2025 .et_pb_menu_0_tb_header .et_pb_menu_inner_container>.et_pb_menu__logo-wrap .et_pb_menu__logo img, 
.header_2025 .et_pb_menu_0_tb_header .et_pb_menu__logo-slot .et_pb_menu__logo-wrap img {
    max-height: 56px;
    max-width: 117px;
}
*/

/* HEADER STICKY ---------- */
/* logo sticky */
.stickyheader .et_pb_menu__logo a img {
	/*filter: brightness(1) invert(0);*/
	max-width: 150px;
}

.stickyheader .et_pb_section_0_tb_header.et_pb_section_0_tb_header {
	    background-color: rgba(0,0,0,0.9) !important;
	/*box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);*/
}




.stickyheader.et-db #et-boc .et-l.et-l--header .et_pb_row_0_tb_header.et_pb_row {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}
/* desteñir hamburguesa 
.stickyheader .et-l--header .et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before {
    color: #181D27;
}
*/

/* MENÚ PRINCIPAL ------------- */

/* quitar exceso de padding inicial a los links del menú */
.et-l--header .et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li > a { 
	transition: color 0.3s ease;	
	padding: .8em .4em !important; 
    /*padding-top: 1em !important; 
	padding-bottom: 1em !important; */
}
/*
.et-l--header .et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li > a { 
*/
.et-l--header .et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li.menu-item-has-children>a:first-child {
    padding-right: 20px !important;
}


/* ajustes desplegables */
.nav li ul,
.et_mobile_menu {
	/*border-radius: 12px;*/
    /*top: 60px !important;*/
}
header nav.et-menu-nav .nav li ul.sub-menu { 
	background-color: #FFFFFF !important;
	/*border-top-color: #F6F6F6 !important;*/
	border-top: none;
    padding: 0;
}
.stickyheader header nav.et-menu-nav .nav li ul.sub-menu { 
	background-color: #FFFFFF !important;
	/*border-top-color: #0054a4 !important;*/
	border-top: none;
}
.nav li ul a,
.et_mobile_menu .sub-menu a {
	font-size: .8em;
	text-transform: none !important;
    color: #000000;
    
}


/* Espaciado entre enlaces */
header nav ul.et-menu.nav  {
	gap: 8px;
}



/* Color links menú y página actual  --- */

/* desktop - nivel 01 */ 
header nav ul.et-menu.nav > li > a {
	color: #FFFFFF !important;	
}
header nav ul.et-menu.nav > li > a:hover,
.et-db #et-boc header.et-l nav ul.et-menu.nav > li > a:hover,
et-db #et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu ul li a:hover
{
	color: #FFFFFF !important;	
    opacity: 1 !important;
}

header nav ul.et-menu.nav > li:hover,
.et-db #et-boc header.et-l nav ul.et-menu.nav > li:hover,
et-db #et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu ul li:hover
{
	background-color: rgba(255,255,255,.30);
}

    
header nav ul.et-menu.nav > li.current_page_item,
header nav ul.et-menu.nav > li.current-menu-ancestor {
	background-color: rgba(255,255,255,.10);
	/*background-color: rgba(255,255,255,.2);*/
	/*border-radius: 12px;*/
}
header nav ul.et-menu.nav > li.current_page_item:hover,
header nav ul.et-menu.nav > li.current-menu-ancestor:hover {
	background-color: rgba(255,255,255,.30);
}
header nav ul.et-menu.nav > li.current_page_item > a {
	color: #FFFFFF !important;
}	
header nav ul.et-menu.nav > li.current_page_item > a:hover {
	color: #000000 !important;
}	


/* stickyheader - nivel 01 */ 
.stickyheader header nav ul.et-menu.nav > li > a {
	/*color: #181d27 !important;*/	
}
.stickyheader header nav ul.et-menu.nav > li.current_page_item,
.stickyheader header nav ul.et-menu.nav > li.current-menu-ancestor {
	/*background-color: rgba(0,0,0,.1);*/
    background-color: rgba(255,255,255,.15);

}	
.stickyheader header nav ul.et-menu.nav > li.current_page_item > a {
	/*color: #181d27 !important;*/
}	

/* desktop y stickyheader - nivel 02 */ 
header nav ul.et-menu.nav li ul.sub-menu li {
	padding: 0;	
    width: 100%;
}
header nav ul.et-menu.nav li ul.sub-menu li a {
	color: #000 !important;	
    background-color: none !important;	
    width: 100%;
}
header nav ul.et-menu.nav li ul.sub-menu li a:hover {
	color: #FFF !important;	
    background-color: #000 !important;
    opacity: 1;
}

header nav ul.et-menu.nav li ul.sub-menu li.current_page_item a {

	/*color: #0054a4 !important;*/	
	text-decoration: underline !important;
}


/* mobile - nivel 01 */ 
header .et_mobile_nav_menu .mobile_nav  ul.et_mobile_menu li a {
	/*color: #181d27 !important;*/	
}
header .et_mobile_nav_menu .mobile_nav  ul.et_mobile_menu li.current_page_item > a {
	/*color: #0054a4 !important;*/
	text-decoration: underline !important;
}	

/* mobile - nivel 02 */ 
header nav ul.et-menu.nav li ul.sub-menu li a {
	/*color: #181d27 !important;*/	
}
header nav ul.et-menu.nav li ul.sub-menu li.current_page_item a {
	/*color: #0054a4 !important;*/	
	text-decoration: underline !important;
}



/* ajustes responsive menú --- */
@media screen and (min-width: 981px) and (max-width: 1150px) {
	header .et_pb_menu_0_tb_header.et_pb_menu ul li a {
		font-size: 15px;
	}
	header .et_pb_menu_0_tb_header .et_pb_menu_inner_container>.et_pb_menu__logo-wrap, header .et_pb_menu_0_tb_header .et_pb_menu__logo-slot {
		max-width: 250px;
	}	
}



/* ENLACES ESPECIALES */ 
.btn_micuenta {}
.btn_carrito {}

/* el li */
.header_imparable .et_pb_menu__menu > nav.et-menu-nav > ul > li.btn_icon {
    padding: 0 !important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items: center;

}
/* el enlace */
.header_imparable .et_pb_menu__menu > nav.et-menu-nav > ul > li.btn_icon > a {
    font-size: 0 !important;
    padding: 6px !important;
}
/* pseudoelemento */
.header_imparable .et_pb_menu__menu > nav.et-menu-nav > ul > li.btn_icon > a::before,
.header_imparable .et_mobile_nav_menu > div > ul > li.btn_icon > a::before {
	font-family: ETmodules;
    content: "\E07A";
    font-size: 20px;
	line-height: 0px;
    font-weight: lighter;
    color: #31261c;
    text-align: center;
}


/* iconos específicos */
.header_imparable .et_pb_menu__menu > nav.et-menu-nav > ul > li.btn_carrito > a::before,
.header_imparable .et_mobile_nav_menu > div > ul > li.btn_carrito > a::before { 
    content: "\E07A"; /*content: "\E015";*/ 
}

.header_imparable .et_pb_menu__menu > nav.et-menu-nav > ul > li.btn_micuenta > a::before,
.header_imparable .et_mobile_nav_menu > div > ul > li.btn_micuenta > a::before { 
    content: "\e08a"; 
}

/* ajuste en menú móvil */
.header_imparable .et_mobile_nav_menu > div > ul > li.btn_icon > a::before {
     margin-right: .3em;   
}

/* boton btn_header_contacto */
.btn_header_contacto {
	border-radius: 0;
   	background-color: #E2F26B;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li.btn_header_contacto a {
    color: #000000 !important;
}

.btn_header_contacto:hover{
   	background-color: #FFFFFF !important;
}
header nav ul.et-menu.nav > li.btn_header_contacto > a:hover,
.et-db #et-boc header.et-l nav ul.et-menu.nav > li.btn_header_contacto > a:hover,
.et-db #et-boc header.et-l .et_pb_menu ul.et_mobile_menu > li.btn_header_contacto.current-menu-item > a,
.et-db #et-boc header.et-l .et_pb_menu ul.et_mobile_menu > li.btn_header_contacto.current-menu-item > a:hover {
    color: #000000 !important;
}




/*************************************************************************************************************/

/* FOOTER */

/*************************************************************************************************************/

/* section CTA */
.section_footer_cta {}

.btn_contacto {}



@media screen and (min-width: 768px)  {
    .footer_links .et_pb_button_module_wrapper {
        display: inline;
    }
}


/* section_footer_cta */
.section_footer_cta {}

/* btn_footer */
.btn_footer {}
body #page-container .et_pb_section .et_pb_button.btn_footer:hover {
    text-decoration: underline;
}

/* btn_footer_light */
.btn_footer_light {}
body #page-container .et_pb_section .et_pb_button.btn_footer_light:hover {
    text-decoration: underline;
}

/* botón Diseño web: Acuarela  

añadir .btn_acuarela al código fuente, y dentro de él:

<span>
     <a class="et_pb_button et_pb_button_11_tb_footer btn_footer_light et_pb_bg_layout_light" href="https://acuareladigital.com/">Diseño web</a>: Acuarela digital
</span>
*/

.btn_acuarela,
.btn_acuarela .et_pb_code_inner,
.btn_acuarela span a {
      display: inline-block;
}

.btn_acuarela span,
.btn_acuarela span a.et_pb_button,
.btn_acuarela span a.et_pb_button:hover {
    color: #BBBBBB !important;
    font-size: 16px;
    font-weight: 300 !important;
    border: none !important;
    padding-right: 0px !important;
    padding-left: 0px !important;
    background: none !important;
}

.btn_acuarela span a:hover::after {
 display: none;   
}

/*************************************************************************************************************/

/* FRAMEWORK V04 - KLAROH2O */  

/*************************************************************************************************************/



/* ELEMENTOS DE CONTENIDO --------------------------- */
/*
body {
	font-weight: 500; 
}
*/

/* TÍTULOS ------ */

/* h1 */
.h1_primary h1 { }
.h1_dark h1 { }
.h1_secondary h1 { }

/* h2 */
.h2_primary h2 { }

/* gráfico de curva sobre el título 
.h2_primary h2 {
    display: flex;
	justify-content: flex-start; 
    align-items: stretch; 
    flex-direction: column; 
    flex-wrap: nowrap; 
    align-content: flex-start;	
	gap: .4em;
}
.h2_primary h2::before {
	content: "";
	display: block; 
	height: .5em; flex-basis: .5em; min-height: .5em; max-height: .5em;
	background-image: url('assets/svg/klaroh2o-curva-azul.svg');
	background-position: left center;
	background-size: contain;
	background-repeat: no-repeat;
}
*/

/* span dentro de h2 adornado con color de fondo y en bloque 
<h2>
<span>Parte normal.</span> 
<span class="decorado">Parte decorada.</span>
</h2>
*/

.h2_primary h2 span {
    display: block;
    margin-bottom: .2em;
}
.h2_primary h2 span.decorado {
    display: inline-block;
    background: #E2F26B;
    color: #000;
    padding: 4px;
    font-size: 0.9em;
    line-height: 1em;
}
.h2_primary h2 br { display: none !important; }


.h2_dark h2 { }
.h2_secondary h2 { }

/* h3 */
.h3_primary h3 { }

/* gráfico de línea bajo el título 
.h3_primary h3 {
    display: flex;
	justify-content: flex-start; 
    align-items: stretch; 
    flex-direction: column; 
    flex-wrap: nowrap; 
    align-content: flex-start;	
	gap: .4em;
}
.h3_primary h3::after {
	content: "";
	display: inline-block; 
    width: 144px;
	height: 5px; flex-basis: 5px; min-height: 5px; max-height: 5px;
	background-image: url('assets/svg/klaroh2o-linea-azul.svg');
	background-position: left center;
	background-size: contain;
	background-repeat: no-repeat;
}
*/



.h3_dark h3 { }
.h3_secondary h3 { }
/* h4 */
.h4_primary h4 { }
.h4_dark h4 { }
.h4_secondary h4 { }

/* txt_primary */
.txt_primary p, 
.txt_primary li {}
.txt_dark p, 
.txt_dark li { }
.txt_secondary p, 
.txt_secondary li {}
.txt_primary li {
	margin-bottom: .5em;
}
/* txt_primary_xl */
.txt_primary_xl p, 
.txt_primary_xl li {}
.txt_dark_xl p, 
.txt_dark_xl li { }
.txt_secondary_xl p, 
.txt_secondary_xl li {}
.txt_primary_xl li {
	margin-bottom: .5em;
}
/* txt_primary_xxl */
.txt_primary_xxl p, 
.txt_primary_xxl li {}
.txt_dark_xxl p, 
.txt_dark_xxl li { }
.txt_secondary_xxl p, 
.txt_secondary_xxl li {}
.txt_primary_xxl li {
	margin-bottom: .5em;
}


/* txt_primary_xxl_decorado_v4 */
.txt_primary_xxl_decorado_v4 {}


/* Lista decorada con icono check */
.lista_decorada.txt_primary {}

.lista_decorada ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.lista_decorada ul li {
    position: relative;
    padding-left: 2.4em; 
    margin-bottom: 1em;
    /*font-weight: bold;*/
}
.lista_decorada ul li::before {
    content: "R"; 
    font-family: "ETmodules";
    /*font-size: 26px;*/
    font-size: 1.5em;
    line-height: 1;
    position: absolute;
    left: 0;
    top: 0;
    color: #E2F26B; 
}

/* BOTONES ------ */

/* btn_primary */
.btn_primary {}
body #page-container .et_pb_section .et_pb_button.btn_primary,
body #page-container .et_pb_section .et_pb_button.btn_primary:hover {
    text-decoration: none;
    /*padding: 1em 1.8em !important;
    line-height: 1.2em !important;*/
}


/* btn_secondary */
.btn_secondary {}
body #page-container .et_pb_section .et_pb_button.btn_secondary,
body #page-container .et_pb_section .et_pb_button.btn_secondary:hover {
    text-decoration: none;
    /*padding: 1em 1.8em !important;
    line-height: 1.2em !important;*/
}



/* btn_tertiary */
.btn_tertiary {}
body #page-container .et_pb_section .et_pb_button.btn_tertiary,
body #page-container .et_pb_section .et_pb_button.btn_tertiary:hover {
    padding: 1em 2em 1em 3em !important;
    line-height: 1.2em !important;
}


/* btn_contacto */
.btn_contacto {}
body #page-container .et_pb_section .et_pb_button.btn_contacto {

}
body #page-container .et_pb_section .et_pb_button.btn_contacto:hover {
    text-decoration: underline;
}



/* IMAGENES ------ */
.img_rounded_sm { border-radius: 8px; overflow: hidden; }
.img_rounded_m { border-radius: 12px; overflow: hidden;  }
.img_rounded_l { border-radius: 20px; overflow: hidden;  }
.img_rounded_xl { border-radius: 36px; overflow: hidden;  }



/* CARDS Y ANUNCIOS ------ */

/* .anuncio_icon_top_center */
.anuncio_icon_top_center {

}
/* .anuncio_icon_top_left */
.anuncio_icon_top_left {}
@media all and (max-width: 767px) {
    .anuncio_icon_top_left .et_pb_blurb_content .et_pb_main_blurb_image .et_pb_image_wrap { 
         width:  120px;
    }
}
@media all and (min-width: 768px) and (max-width: 980px) {
    .anuncio_icon_top_left .et_pb_blurb_content .et_pb_main_blurb_image .et_pb_image_wrap { 
         width:  160px;
    }
}
@media all and (min-width: 981px) and (max-width: 1400px) {
    .anuncio_icon_top_left .et_pb_blurb_content .et_pb_main_blurb_image .et_pb_image_wrap { 
         width:  190px;
    }
}
@media all and (min-width: 1401px) {
    .anuncio_icon_top_left .et_pb_blurb_content .et_pb_main_blurb_image .et_pb_image_wrap { 
         width:  225px;
    }
}




/* ACORDEONES ------ */

/* Incluir icono a baja opacidad cuando está ABIERTO */
.acordeon_faq .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before {
    display: block;
    opacity: .3;
}

/*.et_pb_gutters3 .et_pb_column_4_4 .et_pb_module, .et_pb_gutters3.et_pb_row .et_pb_column_4_4 .et_pb_module {*/
.acordeon_faq.et_pb_module.et_pb_accordion .et_pb_toggle.et_pb_module.et_pb_accordion_item {
        margin-bottom: 1em;
        padding-bottom: 2em;
}




/* IMAGENES -----*/

/* imagen decorada (corte en esquina inferior derecha) */
.img_decorada .et_pb_image_wrap,
.et_pb_column.img_decorada
{
    /* AJUSTA AQUÍ LAS MEDIDAS DEL CORTE */
    --ancho-corte: 80px; 
    --alto-corte: 138px; /* Ajustando esto cambias el ángulo */
    
    /* No tocar */
    -webkit-clip-path: polygon(
        0 0, 
        100% 0, 
        100% calc(100% - var(--alto-corte)), 
        calc(100% - var(--ancho-corte)) 100%, 
        0 100%
    );
    clip-path: polygon(
        0 0, 
        100% 0, 
        100% calc(100% - var(--alto-corte)), 
        calc(100% - var(--ancho-corte)) 100%, 
        0 100%
    );
}



/*************************************************************************************************************/

/* PADDING Y MARGIN CONTENEDORES GENERICOS (debe ir antes de los ESPECÍFICOS) */

/*************************************************************************************************************/

/* Chuleta margins paddings

top --
pdt_sm
pdt_m
pdt_l

bottom --
pdb_sm
pdb_m
pdb_l

vertical --
pdv_sm
pdv_m
pdv_l

sin padding --
pdt_no 
pdb_no
pdv_no 

margin bottom --
mgb_row_m
mgb_row_l
mgb_row_xl

sin margin --
mgt_no ??
mgb_no ??
mgv_no ??

*/

/* paddings y margins < 575 */
.et_pb_section { padding-top: 64px; padding-bottom: 64px;  } /* pdv default pdv_m_section */

.et-db #page-container #et-main-area .pdv_sm.et_pb_section { padding-top: 45px; padding-bottom: 45px; } /* 30 - ambos SM */
.et-db #page-container #et-main-area .pdv_m.et_pb_section { padding-top: 64px; padding-bottom: 64px; } /* 40 - ambos default (M) */
.et-db #page-container #et-main-area .pdv_l.et_pb_section { padding-top: 96px; padding-bottom: 96px; } /* 45 - ambos L */

.et-db #page-container #et-main-area .pdt_sm.et_pb_section { padding-top: 45px; } /* 30 - pd top SM */
.et-db #page-container #et-main-area .pdb_sm.et_pb_section { padding-bottom: 45px; } /* 30 - pd bottom SM */
.et-db #page-container #et-main-area .pdt_m.et_pb_section { padding-top: 64px; } /* 40 - pd top M */
.et-db #page-container #et-main-area .pdb_m.et_pb_section { padding-bottom: 64px; } /* 40 - pd bottom M */
.et-db #page-container #et-main-area .pdt_l.et_pb_section { padding-top: 96px; } /* 45 - pd top L */
.et-db #page-container #et-main-area .pdb_l.et_pb_section { padding-bottom: 96px; } /* 45 - pd bottom L */


.et-db #page-container #et-main-area .pdv_no { padding-top: 0px !important; padding-bottom: 0px !important; } /* sin pd */
.et-db #page-container #et-main-area .pdt_no { padding-top: 0px !important; } /* sin pd top */
.et-db #page-container #et-main-area .pdb_no { padding-bottom: 0px !important; } /* sin pd bottom */
/* quitar margin-bottom de la última columna visible (se marca la clase por javascript en el functions.js) */
.et-db #page-container #et-main-area .pdb_no .last-visible-column,
.et-db #page-container #et-main-area .pdv_no .last-visible-column { margin-bottom: 0px !important;  } 



@media all and (min-width: 768px) { /* tamaños tablet y escritorio */
	.et-db #page-container #et-main-area .et_pb_section { padding-top: 96px; padding-bottom: 96px;  } /* pdv default pdv_m_section */

	.et-db #page-container #et-main-area .pdv_sm.et_pb_section { padding-top: 64px; padding-bottom: 64px; } /* ambos SM */
	.et-db #page-container #et-main-area .pdv_m.et_pb_section { padding-top: 96px; padding-bottom: 96px; } /* ambos default (M) */
	.et-db #page-container #et-main-area .pdv_l.et_pb_section { padding-top: 160px; padding-bottom: 160px; } /* ambos L */

	.et-db #page-container #et-main-area .pdt_sm.et_pb_section { padding-top: 64px; } /* pd top SM */
	.et-db #page-container #et-main-area .pdb_sm.et_pb_section { padding-bottom: 64px; } /* pd bottom SM */
	.et-db #page-container #et-main-area .pdt_m.et_pb_section { padding-top: 96px; } /* pd top M */
	.et-db #page-container #et-main-area .pdb_m.et_pb_section { padding-bottom: 96px; } /* pd bottom M */
	.et-db #page-container #et-main-area .pdt_l.et_pb_section { padding-top: 160px; } /* pd top L */
    .et-db #page-container #et-main-area .pdb_l.et_pb_section { padding-bottom: 160px; } /* pd bottom L */

	.et_pb_row { margin-bottom: 64px; } /* margin filas default */
	.et-db #page-container #et-main-area .mgb_row_m { margin-bottom: 64px; } /* margin filas M */
	.et-db #page-container #et-main-area .mgb_row_l { margin-bottom: 96px; } /* margin filas L */
	.et-db #page-container #et-main-area .mgb_row_xl { margin-bottom: 160px; } /* margin filas XL */
}


.et_pb_row { padding-top: 0px !important; padding-bottom: 0px !important; } /* quitar padding a filas */
.et_pb_row:last-child,
.et_pb_row.et-last-child
{ margin-bottom: 0px; } /* quitar margin última fila de un section */



/* ===========================
   GAP VERTICAL FILAS (Divi)
   Clases a aplicar en SECTIONS: gap_v_2xs, gap_v_xs, gap_v_s, gap_v_m, gap_v_l, gap_v_xl, gap_v_2xl
   =========================== */

/* --- móvil --- */

/* gap vertical por defecto (todas las sections) */
.et-db #page-container #et-main-area .et_pb_section .et_pb_row { margin-bottom: 48px; } /* default gap_v_m */

/* tamaños de gap vertical */
.et-db #page-container #et-main-area .et_pb_section.gap_v_2xs .et_pb_row { margin-bottom: 16px; }
.et-db #page-container #et-main-area .et_pb_section.gap_v_xs  .et_pb_row { margin-bottom: 24px; }
.et-db #page-container #et-main-area .et_pb_section.gap_v_s   .et_pb_row { margin-bottom: 40px; }
.et-db #page-container #et-main-area .et_pb_section.gap_v_m   .et_pb_row { margin-bottom: 48px; }
.et-db #page-container #et-main-area .et_pb_section.gap_v_l   .et_pb_row { margin-bottom: 64px; }
.et-db #page-container #et-main-area .et_pb_section.gap_v_xl  .et_pb_row { margin-bottom: 80px; }
.et-db #page-container #et-main-area .et_pb_section.gap_v_2xl .et_pb_row { margin-bottom: 96px; }

/* quitar margen a la ÚLTIMA fila de cada section */
.et-db #page-container #et-main-area #main-content .et_pb_section > .et_pb_row:last-of-type,
.et-db #page-container #et-main-area #footer .et_pb_section > .et_pb_row:last-of-type {
    margin-bottom: 0;
}

/* --- 1440 --- */
@media (min-width: 768px) and (max-width: 1500px) {

    .et-db #page-container #et-main-area .et_pb_section .et_pb_row {  margin-bottom: 64px; } /* default gap_v_m */
    
    .et-db #page-container #et-main-area .et_pb_section.gap_v_2xs .et_pb_row { margin-bottom: 20px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_xs  .et_pb_row { margin-bottom: 32px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_s   .et_pb_row { margin-bottom: 48px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_m   .et_pb_row { margin-bottom: 64px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_l   .et_pb_row { margin-bottom: 80px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_xl  .et_pb_row { margin-bottom: 96px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_2xl .et_pb_row { margin-bottom: 128px; }
}

/* --- 1920 --- */
@media (min-width: 1501px) {

    .et-db #page-container #et-main-area .et_pb_section .et_pb_row { margin-bottom: 80px; } /* default gap_v_m */
    
    .et-db #page-container #et-main-area .et_pb_section.gap_v_2xs .et_pb_row { margin-bottom: 24px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_xs  .et_pb_row { margin-bottom: 40px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_s   .et_pb_row { margin-bottom: 64px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_m   .et_pb_row { margin-bottom: 80px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_l   .et_pb_row { margin-bottom: 96px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_xl  .et_pb_row { margin-bottom: 128px; }
    .et-db #page-container #et-main-area .et_pb_section.gap_v_2xl .et_pb_row { margin-bottom: 160px; }
}

/* sin gap vertical */
.et-db #page-container #et-main-area .et_pb_section.gap_no .et_pb_row { margin-bottom: 0; } 




/*************************************************************************************************************/

/*  SECTIONS  */  

/*************************************************************************************************************/

/* Chuleta sections y rows v4

.section_1col {}
    .row_1col {}
        .row_1col_bg {}
        .row_1col_img {}
        .row_1col_txt {}
.section_2col {}
    .row_2col_5_5 {}
        .row_2col_5_5_bgleft {}
        .row_2col_5_5_bgright {}
        .row_2col_5_5_imgleft {}
        .row_2col_5_5_imgright {} 
    .row_2col_4_6 {}
        .row_2col_4_6_bgleft {}
        .row_2col_4_6_bgright {}
        .row_2col_4_6_imgleft {}
        .row_2col_4_6_imgright {} 
    .row_2col_6_4 {}
        .row_2col_6_4_bgleft {}
        .row_2col_6_4_bgright {}
        .row_2col_6_4_imgleft {}
        .row_2col_6_4_imgright {} 
.section_3col {}
    .row_3col {}
    .row_3col_cards {} 
.section_4col {}
    .row_4col {}
.section_footer {}
.section_hero {}
.section_header {}
.section_cta_01 {}
.section_team {}
*/


/* Centrado vertical en los bloques 2col con imágenes */
.row_2col_6_4_imgleft .et_pb_column:nth-child(2),
.row_2col_5_5_imgleft .et_pb_column:nth-child(2),
.row_2col_4_6_imgleft .et_pb_column:nth-child(2),

.row_2col_6_4_bgleft .et_pb_column:nth-child(2),
.row_2col_5_5_bgleft .et_pb_column:nth-child(2),
.row_2col_4_6_bgleft .et_pb_column:nth-child(2),

.row_2col_6_4_imgright .et_pb_column:nth-child(1),
.row_2col_5_5_imgright .et_pb_column:nth-child(1),
.row_2col_4_6_imgright .et_pb_column:nth-child(1),

.row_2col_6_4_bgright .et_pb_column:nth-child(1),
.row_2col_5_5_bgright .et_pb_column:nth-child(1),
.row_2col_4_6_bgright .et_pb_column:nth-child(1)
{
    display: flex;
    flex-direction: column; 
	justify-content: center; 
    align-items: stretch; 
    flex-wrap: nowrap; 
    align-content: flex-start;	
    /* opcional padding vertical */
    padding-top: 2rem;
    padding-bottom: 2rem;
    
}


/* section_hero */

.et-db #page-container #et-main-area .et_pb_section.section_hero {
	padding-top: 20vh !important;
    padding-bottom: 20vh !important;
}
@media all and (max-width: 980px) { 
     .et-db #page-container #et-main-area .et_pb_section.section_hero {
        padding-top: 20vh !important;
        padding-bottom: 5vh !important;   
    }
}

@media screen and (orientation: landscape) and (max-height: 800px) {
    .et-db #page-container #et-main-area .et_pb_section.section_hero {
        padding-top: 15vh !important;
        padding-bottom: 15vh !important;
    }
     .et-db #page-container #et-main-area .et_pb_section.section_hero .h1_primary h1 {
        font-size: 40px;  
    }
}


.et_pb_section.section_hero.section_has_divider.et_pb_bottom_divider .et_pb_bottom_inside_divider {
	background-image: url('assets/svg/divider-angulo-up-white.svg');
    background-size: contain !important;
    background-position: center bottom !important;
    background-repeat: no-repeat;
    position: absolute; bottom: -1px;
}



/* section_header */

.et-db #page-container #et-main-area .et_pb_section.section_header {
	min-height: 100vh;
    padding-top: 250px !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
}

/* arreglo borde inesperado en parte inferior en móvil 
@media all and (max-width: 767px) { 
    .et-db #page-container #et-main-area .et_pb_section.section_header {
        position: relative;
        overflow: hidden;
    }
    .section_header::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
            to bottom,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,0) 98%,
            rgba(255,255,255,0.9) 100%
        );
        pointer-events: none;
        z-index: 1;
    }
    .section_header > .et_pb_row {
        position: relative;
        z-index: 2;
    }
}
*/


/* section con margin-top negativo */
.section_negative_top {}

@media all and (max-width: 980px) {
    #page-container .section_negative_top.et_pb_section { 
        margin-top: 32px;
        /*padding-top: 32px;*/
    }   
    .section_negative_top .et_pb_module.et_pb_space {
        display: none;
    }
}


/* section con submenú gráfico o */
.section_submenu {}






/* QUERIES PRINCIPALES */
/*@media all and (max-width: 575px) {}*/ /* Móviles pequeños (teléfonos muy estrechos) */
/*@media screen and (min-width: 601px) {}*/ /* Se fija o desfija el adminbar */
/*@media all and (max-width: 767px) {}*/ /* Móvil (punto de corte principal para estilos mobile) */
/*@media all and (max-width:600px){}*/ /* Sin identificar */
/*@media all and (min-width: 768px) and (max-width: 980px) {}*/ /* Sólo tablet */
/*@media all and (max-width: 980px) {}*/ /* Tablet y móvil (Divi colapsa el menú a hamburguesa aquí) */
/*@media all and (min-width: 981px) {}*/ /* Escritorio (Divi muestra el menú completo desde aquí) */




/* section_2col_imgleft 
.section_2col_imgleft .et_pb_column:last-child {
	padding-left: 0px; padding-top: 20px; padding-bottom: 20px; 
}
@media all and (min-width: 980px) { 
	.section_2col_imgleft .et_pb_column:last-child {
		padding-left: 25px; padding-top: 40px; padding-bottom: 160px; 
	}
}
*/
/* section_2col_imgright 
.section_2col_imgright .et_pb_column:first-child {
	padding-right: 0px; padding-top: 20px; padding-bottom: 20px; 
}
@media all and (min-width: 980px) { 
	.section_2col_imgright .et_pb_column:first-child {
		padding-right: 25px; padding-top: 40px; padding-bottom: 160px; 
	}
}
*/



/* row para submenú de servicios (inicialmente para proyecto imparable) */
.row_submenu .et_pb_column {
    /*background: #FFFFFF;*/
    padding: 2rem;
}
@media screen and (max-width:767px) {
    .row_submenu .et_pb_column {
        padding: 1rem;
    }
}


/* rpw para cards, que deben igualar sus alturas */
.row_cards {}
.row_cards .et_pb_column  {
     background: #000000;       
}


/* section_cta_01 */
.section_cta_01 {}

/* section_cta_02 */
.section_cta_02 {}





/*************************************************************************************************************/

/*  WOOCOMMERCE  */  

/*************************************************************************************************************/


/* ESPACIOS --- */

/* añadir un poco de padding abajo */
body:not(.et_pb_pagebuilder_layout) #main-content .container {
    padding-bottom: 100px;
}


/* LISTADO DE PRODUCTOS ---- */
.woo_productlist {}
.ad_product_badge{
  display:inline-block;
  margin: 12px 0 6px;
  font-size: 13px;
  font-weight: 600;
}

.ad_product_excerpt {
    margin-bottom: 1.8em;
    font-size: 18px;
    line-height: 1.4em;
    color: #535862;
}
@media screen and (max-width:767px) {
    .ad_product_excerpt {
        font-size: 14px;
    }
}
.woocommerce-price-suffix {
    color: #181D27;
    font-size: 18px;
    line-height: 1em;

}

/* añadir la flecha */
.woocommerce-loop-product__title {
    position: relative;
}
.woocommerce-loop-product__title::after {
    font-family: ETmodules;
    content: "\26";
    font-size: 20px;
    line-height: 0px;
    color: #31261c;
    position: absolute; 
    right: 10px; 
    top: 30px;
}

/* romper flotación en responsive */
@media screen and (max-width:767px) {
    #et-boc.woocommerce .et_pb_shop ul.products li.product {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
    }
}

/* AÑADIR AL CARRITO ---- */
.woo_anadircarrito {}

/* botón añadir */
.et-db #et-boc .et-l .woo_anadircarrito form.cart button.single_add_to_cart_button.button.alt {
    line-height: 1.2em !important;
    border: 5px dotted blue;
}



/* CARRITO */
.wp-block-woocommerce-cart {
    
}

/*botones checkout y carrito */
#page-container #et-boc .wp-element-button {
    background-color: #63e2fd;
    color: #181D27;
    border-radius: 8px;
    padding: .8 1.2em;
}
#page-container #et-boc .wp-element-button:hover {
    background-color: #00A2CB;
    color: #FFFFFF;
}

/* ESCALA TEXTOS -------- */
/* CARRITO */
body.woocommerce-cart .wp-block-woocommerce-cart{
  --ad-cart-scale: 1; /* ajustar aquí */
  font-size: calc(1rem * var(--ad-cart-scale)) !important;
  line-height: 1.65;
}

/* 2) Fuerza herencia en los elementos que suelen llevar font-size fijo */
body.woocommerce-cart .wp-block-woocommerce-cart :is(
  div, p, a, span, small, strong, em, li, td, th, label,
  button, input, select, textarea
){
  font-size: inherit !important;
}


/* CHECKOUT */
body.woocommerce-checkout .wc-block-checkout{
  --ad-checkout-scale: 1; /* ajustar aquí */
  font-size: calc(1rem * var(--ad-checkout-scale)) !important;
  line-height: 1.65;
}

/* Fuerza herencia (sin tocar h1–h6) */
body.woocommerce-checkout .wc-block-checkout p,
body.woocommerce-checkout .wc-block-checkout a,
body.woocommerce-checkout .wc-block-checkout span,
body.woocommerce-checkout .wc-block-checkout small,
body.woocommerce-checkout .wc-block-checkout strong,
body.woocommerce-checkout .wc-block-checkout em,
body.woocommerce-checkout .wc-block-checkout li,
body.woocommerce-checkout .wc-block-checkout td,
body.woocommerce-checkout .wc-block-checkout th,
body.woocommerce-checkout .wc-block-checkout label,
body.woocommerce-checkout .wc-block-checkout button,
body.woocommerce-checkout .wc-block-checkout input,
body.woocommerce-checkout .wc-block-checkout select,
body.woocommerce-checkout .wc-block-checkout textarea,
body.woocommerce-checkout .wc-block-checkout div{
  font-size: inherit !important;
}


#wc-stripe-payment-method-instructions-card {margin-bottom: 1em;}
/* FIN ESCALA TEXTOS */




/* mensaje de error más llamativo */

.wc-block-components-shipping-rates-control__no-results-notice.wc-block-components-notice-banner.is-warning {
    font-size: 1.4em;
    padding: 32px !important;
    background-color: #fff0f0;
    border-color: #cc1818;
}
.wc-block-components-shipping-rates-control__no-results-notice.wc-block-components-notice-banner.is-warning>svg {
    background-color: #cc1818;
    transform: rotate(180deg);
}


/* FICHA DE PRODUCTO ---- */

/* Descripción limpia .woo_descripcion_limpia */
.et-db #et-boc .et-l .et_pb_wc_tabs.woo_descripcion_limpia {
    border: none;
    background: none;
}
.woo_descripcion_limpia ul {
    display: none;
}
.et-db #et-boc .et-l .woo_descripcion_limpia .et_pb_all_tabs {
    background: none;
}
.et-db #et-boc .et-l .woo_descripcion_limpia .et_pb_tab {
    padding: 0;
}

/* arrejuntar el selector de cantidad al botón de comprar */
.woocommerce.single-product div.product form.cart div.quantity {
    margin: 0 10px 0 0 !important;
}

/*
,
.woocommerce-page div.product form.cart div.quantity, 
.woocommerce #content div.product form.cart div.quantity, 
.woocommerce-page #content div.product form.cart div.quantity*/ 


/* GALERÍA IMÁGENES ------ */
.galeria_imagenes .et_pb_gallery_item img { 
    border-radius: 12px;
}

.et-db #page-container #et-boc .et-l .galeria_imagenes .et_pb_grid_item {
    width: 30%;
    margin-right: 3%;
    margin-bottom: 3%;
}

@media screen and (max-width:767px) {
    .et-db #page-container #et-boc .et-l .galeria_imagenes .et_pb_grid_item {
        width: 47%;
        margin-right: 3%;
        margin-bottom: 3%;
    }
}



/* MI CUENTA (WooCommerce + Divi) ---------------------------- */

/* Layout: navegación + contenido (sin floats) */
.woocommerce-account .woocommerce{
  display: flex;
  gap: 5%;
  align-items: flex-start;
}

.woocommerce-account .woocommerce-MyAccount-navigation{
  flex: 0 0 20%;
  max-width: 20%;
}

.woocommerce-account .woocommerce-MyAccount-content{
  flex: 1 1 auto;
  min-width: 0; /* evita desbordes raros en flex */
}

/* Responsive: apila en móvil/tablet */
@media (max-width: 980px){
  .woocommerce-account .woocommerce{
    flex-direction: column;
    gap: 20px;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{
    max-width: 100%;
    flex-basis: auto;
  }
}

/* Menú */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #eee;
  list-style-type: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li{
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #eee;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  display: flex;
  align-items: center;
  padding: 10px 5px;
  text-decoration: none;
}

/* Iconos (base) */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:before{
  display: inline-block;
  width: 28px;
  margin-right: 20px;
  text-align: center;
  font-size: 24px;
  line-height: 1;
  opacity: .25;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover:before,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:before{
  opacity: 1;
}

/* ICONOS (por enlace) -------------------------------------- */

/* Dashboard */
.woocommerce-account .woocommerce-MyAccount-navigation
ul li.woocommerce-MyAccount-navigation-link--dashboard a:before{
  font-family: 'ETMODULES';
  content: "\e08a";
}

/* Pedidos */
.woocommerce-account .woocommerce-MyAccount-navigation
ul li.woocommerce-MyAccount-navigation-link--orders a:before{
  font-family: 'ETMODULES';
  content: "\e079";
}

/* Descargas */
.woocommerce-account .woocommerce-MyAccount-navigation
ul li.woocommerce-MyAccount-navigation-link--downloads a:before{
  font-family: 'ETMODULES';
  content: "\e071";
}

/* Direcciones (cambio a &#xe081;) */
.woocommerce-account .woocommerce-MyAccount-navigation
ul li.woocommerce-MyAccount-navigation-link--edit-address a:before{
  font-family: 'ETMODULES';
  content: "\e081";
}

/* Métodos de pago */
.woocommerce-account .woocommerce-MyAccount-navigation
ul li.woocommerce-MyAccount-navigation-link--payment-methods a:before{
  font-family: 'ETMODULES';
  content: "\e014";
}

/* Detalles de la cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation
ul li.woocommerce-MyAccount-navigation-link--edit-account a:before{
  font-family: 'ETMODULES';
  content: "\e0e0";
}

/* Logout */
.woocommerce-account .woocommerce-MyAccount-navigation
ul li.woocommerce-MyAccount-navigation-link--customer-logout a:before{
  font-family: 'ETMODULES';
  content: "\e051";
}

/* Contenido */
.woocommerce-account .woocommerce-MyAccount-content h2{
  margin-top: 0;
  font-size: 25px;
  text-align: center;
  font-weight: 600;
}

.woocommerce-account p.order-again{
  text-align: right;
}

.woocommerce-account .woocommerce-EditAccountForm input[type="submit"]{
  display: block;
  margin: 50px 0 0 auto; 
}






/*************************************************************************************************************/

/*  RECURSOS COMUNES  */  

/*************************************************************************************************************/


/* CENTRADO */
.centrado {}


/* orden columnas invertido en responsive (añadida la clase .orden-column-invertido-doscol al section o al row indistintamente) */
@media screen and (max-width: 980px) {
	.orden-column-invertido-doscol .et_pb_row,
	.orden-column-invertido-doscol.et_pb_row {
		display: flex;
		flex-wrap: wrap;
	}
	.orden-column-invertido-doscol .et_pb_column.et-last-child  {
		order: -1;
	}
	/*.orden-column-invertido-doscol .et_pb_divider { display: none; }*/
}

/* quitar margen negativo a ciertos elementos / .negative-margin .negative-margin-top */
	@media screen and (max-width: 980px) {
		.negative-margin-top.et_pb_module {
			margin-top: 0 !important;
		}
	}


/* Centrar verticalmente el contenido de una columna en Divi / .vertical-center  */
@media (min-width:981px){
    .vertical-center{
        display:flex;
        flex-direction:column;
        justify-content:center; 
        /*height:100%;
        border: 3px dotted orange;*/
    }
}


/* ELEMENTOS INLINE - Conseguir disponer elementos inline usando la clase .display_inline */


/* Marcando el row con esa clase  */
.display_inline .et_pb_module { 
    display:inline-block; 
    margin-right: 1em; 
}

/* Marcando una serie de elementos consecutivos  */
.display_inline.et_pb_module, 
.display_inline_wrapper
{ 
    display: inline-block; 
    margin-right: 1em; 
    vertical-align: middle;
}


/* Marcando el campo de texto que contiene una lista  */
.display_inline ul li { 
    display: inline-block; 
    margin-right: 2em; 
}








/* Evitar que el menú footer colapse en desplegable en responsive (añadida la clase .footer-menu-expandido)  */ 
@media (max-width: 980px) {
  .et-l--footer .footer-menu-expandido .et_mobile_nav_menu {
    display: block !important;
  }

  .et-l--footer .footer-menu-expandido .mobile_menu_bar {
    display: none !important;
  }

  .et-l--footer .footer-menu-expandido .et_pb_menu__menu {
    display: block !important;
  }
}

/* MENSAJE FORMULARIOS */
.et-pb-contact-message {
}



/*************************************************************************************************************/

/*      ANIMACIONES  */  

/*************************************************************************************************************/



/* DESACTIVAR ANIMACIONES EN MÓVILES */ 
/*
@media only screen and (max-width: 980px) {
  .et_animated {
    -webkit-animation: none !important;
    animation: none !important;
    opacity: 1 !important;
  }
}
*/
/* DESACTIVAR ANIMACIONES EN TODA LA WEB */ 
/*
.et_animated {
    opacity: 1 !important;
    animation-duration: 0s !important;
}
*/


/* animar_img 
.animar_img {}


.anim_hero
.anim_header
.anim_left (variantes right/up/bottom)
.anim_cols (para incluir en ciertos rows, y que animen las columnas secuencialmente)
*/








/* BOTÓN DE WHATSAPP */

/* HTML incluido en el footer, en un elemento codigo */
/*
<a class="ad-wa-float"
   href="https://wa.me/34000000000?text=Hola%2C%20quiero%20informaci%C3%B3n"
   target="_blank" rel="noopener"
   aria-label="Contactar por WhatsApp" title="Contactar por WhatsApp">
  <!-- Icono SVG simple -->
  <svg viewBox="0 0 32 32" width="22" height="22" aria-hidden="true">
    <path fill="currentColor" d="M19.11 17.53c-.27-.14-1.57-.77-1.81-.86-.24-.09-.42-.14-.6.14-.18.27-.69.86-.84 1.04-.15.18-.31.2-.58.07-.27-.14-1.13-.42-2.15-1.34-.79-.71-1.33-1.6-1.49-1.87-.16-.27-.02-.41.12-.55.12-.12.27-.31.41-.46.14-.15.18-.27.27-.46.09-.18.05-.35-.02-.49-.07-.14-.6-1.45-.83-1.98-.22-.54-.45-.46-.6-.46h-.51c-.18 0-.46.07-.7.35-.24.27-.92.9-.92 2.2 0 1.3.95 2.56 1.08 2.74.14.18 1.87 2.85 4.53 4 .63.27 1.12.43 1.5.55.63.2 1.2.17 1.65.1.5-.07 1.57-.64 1.79-1.26.22-.62.22-1.15.15-1.26-.07-.11-.24-.18-.51-.32zM16 3C8.83 3 3 8.6 3 15.5c0 2.45.74 4.73 2.01 6.66L3 29l7.11-1.91A13.3 13.3 0 0 0 16 28c7.17 0 13-5.6 13-12.5S23.17 3 16 3zm0 22.4c-2 0-3.86-.56-5.45-1.53l-.39-.23-4.22 1.13 1.13-3.98-.25-.4A10.2 10.2 0 0 1 5.8 15.5C5.8 10.1 10.4 5.7 16 5.7s10.2 4.4 10.2 9.8S21.6 25.4 16 25.4z"/>
  </svg>
</a>
*/

/*
.et-db #et-boc .et-l a.ad-wa-float {
  position:fixed; right:18px; bottom:18px; z-index:9999;
  width:54px; height:54px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none;

  background:#25D366; color:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
*/
  /* animación base 
  transform: translateZ(0) scale(1);
  transition:
    transform 180ms ease,
    background-color 180ms ease,
    box-shadow 220ms ease;
}
*/
/* SVG con su propia transición (distinta velocidad) 
.et-db #et-boc .et-l a.ad-wa-float svg{
  display:block;
  transform: scale(1);
  transition: transform 320ms cubic-bezier(.2,.9,.2,1);
  transform-origin:center;
}
*/
/* Hover: base crece poco, SVG crece más 
.et-db #et-boc .et-l a.ad-wa-float:hover{
  background:#1EBE5D;             
  transform: translateY(-1px) scale(1.06);
  box-shadow:0 12px 28px rgba(0,0,0,.28);
}

.et-db #et-boc .et-l a.ad-wa-float:hover svg{
  transform: scale(1.18);        
}
*/
/* Extra: click/tap 
.et-db #et-boc .et-l a.ad-wa-float:active{
  transform: translateY(0) scale(1.02);
}
*/
/* Accesibilidad: hover también en focus 
.et-db #et-boc .et-l a.ad-wa-float:focus-visible{
  outline: 3px solid rgba(30,190,93,.35);
  outline-offset: 4px;
}
*/
/* Respeta “reducir movimiento” del sistema 
@media (prefers-reduced-motion: reduce){
  .et-db #et-boc .et-l a.ad-wa-float,
  .et-db #et-boc .et-l a.ad-wa-float svg{
    transition:none;
  }
}
*/

/* BOTÓN SUBIR */ 
span.et_pb_scroll_top.et-pb-icon {
    bottom: 24px;
    right: 24px;
    border-radius: 0px !important;
}


/*************************************************************************************************************/

/*  FLEX  */  

/*************************************************************************************************************/

/* 
ÍNDICE DE CLASES FLEX 
----------------------------------
 .flex-horizontal-start    → fila, contenido alineado al inicio
 .flex-horizontal-center   → fila, contenido centrado
 .flex-horizontal-end      → fila, contenido alineado al final
 .flex-horizontal-between  → fila, espacio entre ítems

 .flex-vertical-start      → columna, contenido alineado al inicio
 .flex-vertical-center     → columna, contenido centrado
 .flex-vertical-end        → columna, contenido alineado al final
 .flex-vertical-between    → columna, espacio entre ítems

 .flex-stretch             → estira ítems en el eje cruzado
*/

/* HORIZONTALES: fila */
.flex-horizontal-start {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

.flex-horizontal-center {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.flex-horizontal-end {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

.flex-horizontal-between {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

/* VERTICALES: columna */
.flex-vertical-start {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.flex-vertical-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.flex-vertical-end {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
}

.flex-vertical-between {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

/* Extra: estirar en eje cruzado */
.flex-stretch {
    display: flex;
    align-items: stretch;
}





/*************************************************************************************************************/

/* CHULETA QUERIES PRINCIPALES */

/*************************************************************************************************************/

/*@media all and (max-width: 575px) {}*/ /* Móviles pequeños (teléfonos muy estrechos) */
/*@media screen and (min-width: 601px) {}*/ /* Se fija o desfija el adminbar */
/*@media all and (max-width: 767px) {}*/ /* Móvil (punto de corte principal para estilos mobile) */
/*@media all and (max-width:600px){}*/ /* Sin identificar */
/*@media all and (min-width: 768px) and (max-width: 980px) {}*/ /* Sólo tablet */
/*@media all and (max-width: 980px) {}*/ /* Tablet y móvil (Divi colapsa el menú a hamburguesa aquí) */
/*@media all and (min-width: 981px) {}*/ /* Escritorio (Divi muestra el menú completo desde aquí) */






































/*************************************************************************************************************/

/* ESPECÍFICO DE ESTE PROYECTO */

/*************************************************************************************************************/


/* row_fases - fila con las fases, en tres columnas, con borde superior en las columnas */
.row_fases .et_pb_column {
    border-top: 4px solid #E2F26B;
    padding-top: 2rem;

}
/* anular borde en fila vacía, añadiéndole la clase .sin_borde */
.row_fases .et_pb_column.sin_borde {
    border-top: none;
}


/* TABLA --------- */

/* ===== Tabla comparativa (Acuarela Digital) ===== */
.et-db #page-container #et-main-area .et_pb_module .ad-table-wrap{
  --ad-bg: #002F4E;
  --ad-bg-head: #062a41;
  --ad-border: #144A65;
  --ad-text: #CECFD2;
  --ad-head: #F7F7F7;

  background: var(--ad-bg);
  border: 1px solid var(--ad-border);
  /* sin border-radius */
  overflow: hidden;
}

/* Override directo al selector de Divi: .entry-content table:not(.variations) */
.et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations){
  width: 100%;
  margin: 0;
  text-align: left;
  border: 0;
  border-collapse: collapse;
  color: var(--ad-text);
  font-size: 16px;
  line-height: 1.35;
  background: transparent;
}

.et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) th,
.et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) td{
  padding: 26px 28px;
  border-bottom: 1px solid var(--ad-border);
  border-right: 1px solid var(--ad-border);
  vertical-align: top;
}

.et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) th:last-child,
.et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) td:last-child{
  border-right: 0;
}

.et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) tbody tr:last-child td{
  border-bottom: 0;
}

.et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) thead th{
  background: var(--ad-bg-head);
  color: var(--ad-head);
  font-weight: 700;
  text-align: left;
}

/* ===== Responsive (apilado tipo “cards”) ===== */
@media (max-width: 768px){
  .et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) thead{
    display: none;
  }

  .et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations),
  .et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) tbody,
  .et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) tr,
  .et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) td{
    display: block;
    width: 100%;
  }

  .et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) tr{
    border-bottom: 1px solid var(--ad-border);
  }

  .et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) td{
    border-right: 0;
    border-bottom: 1px solid var(--ad-border);
    padding: 16px 18px;
  }

  .et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) td:last-child{
    border-bottom: 0;
  }

  .et-db #page-container #et-main-area .entry-content .et_pb_module .ad-table-wrap table.ad-compare-table:not(.variations) td::before{
    content: attr(data-label);
    display: block;
    color: var(--ad-head);
    font-weight: 700;
    margin-bottom: 6px;
  }
}




/* AJUSTES CCESIBILIDAD ----------- */

/* Mostrar los labels en los formularios - añadirle la clase .form-accesible */
.et_pb_contact_form_label {
    display: block !important;
}
/* Oculta los placeholders en inputs/textarea */
.form-accesible input::placeholder,
.form-accesible textarea::placeholder { color: transparent !important; }

/* WebKit antiguos (Safari viejitos) */
.form-accesible input::-webkit-input-placeholder,
.form-accesible textarea::-webkit-input-placeholder { color: transparent !important; }

/* ocultar el titulo del check de privacidad para no repetirlo */
.form-accesible .et_pb_contact_field[data-type="checkbox"][data-id="Privacidad"] .et_pb_contact_field_options_title {
  display: none !important;
}


