/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
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: 1.0.1
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
*/

/* ---------------------------------------------------- */
/* ----------	COLORES PRINCIPALES		--------------- */
/* ---------------------------------------------------- */
:root {
  --main-color: #BB0B0B;
}


/* ---------------------------------------------------- */
/* ---------------------------------------------------- */

.elementor-progress-wrapper {
    height: auto !important;
}
.anwp-pg-wrap .my-auto {
    margin-top: none !important;
    margin-bottom: none !important;
}

.topbar-transparente {
    background-color: transparent !important;
    position: absolute;
    z-index: 1;
    width: 100%;
    border-bottom: solid 1px rgba(255,255,255,0.5);
    height: 60px;
    margin-top:10px;	
}

.header-transparente {
    background-color: transparent !important;
    position: absolute;
    z-index: 1;
	margin-top:50px;
    width: 100%;	
}
	/* Si es la header transparente y está el sticky activado, ponemos los enlaces del primer nivel en blanco */
.header-transparente.elementor-sticky--active .elementor-nav-menu > .menu-item > a {
    color: #FFF !important;
}	/* Si es la header transparente y está el sticky activado, ponemos el fondo en negro */
.header-transparente.elementor-sticky--active {
    background-color: #000 !important;
}

/* SIDEBAR BLOG */

.sidebar-recientes .elementor-post__text {
	margin-top:20px;
}

.sidebar-categorias h5 {
    display: none;
}
.sidebar-categorias ul {
    list-style-type: none;
    padding: 0px;
}
.sidebar-categorias li {
    padding: 15px 0px;
    font-family: "Poppins";
    border-bottom: solid 1px #f0f0f0;
    
}
.sidebar-categorias li a {
    color: #000;
}
.sidebar-categorias li a:hover {
    color: var(--main-color);
}

.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a:hover {
    color: var(--main-color);
}


/* BLOG */
.blog-grid .elementor-pagination {
	background-color:var(--main-color);
	width:fit-content;
	padding:12px 20px;
}
.comments-area a {
	color:var(--main-color) !important;
}
.comments-area .submit {
	color:#fff !important;	
	background-color: var(--main-color) !important;		
	border-bottom-color: var(--main-color) !important;
}

/* Tienda */
.woocommerce-ordering {
	float: left !important;
}
select.orderby {
	font-size:12px;
}
.tienda-categorias li img,
.tienda-categorias mark {
	display:none !important;
}

/* Fuente Poppins en Carrito */
.elementor-widget-woocommerce-cart .woocommerce,
.elementor-widget-woocommerce-checkout-page {
	font-family: "Poppins", "Sans-serif" !important;
}



/* Mini Carrito, al pinchar el botón del menú */
/*.elementor-menu-cart__subtotal {
	color: #b0b0b0 !important;
}*/

/* Carrusel */
.n2-ss-text {
	padding: 0px 40px;
    white-space: normal !important;
    /*width: 100% !important;    
    margin: 0 auto !important;*/
}

/* PRODUCTOS. Mostrar etiqueta "Agotado" dentro del artículo. Comentar todo para aparezca "Agotado" debajo, fuera del libro */
.woocommerce-LoopProduct-link{
  position: relative;
}

.woocommerce-LoopProduct-link .agotado{
  position: absolute;
	background: var(--main-color);
  color:white !important;
  padding:4px 10px;
  right: 0;
  top:0;
  font-family: "Poppins", Sans-serif;
 font-weight:500;
}

/* Botón Ver Carrito */
.added_to_cart {
	color: var(--main-color);
    /*background-color: #FFFFFF;*/
    border: solid 1px var(--main-color);   
	border-radius: 3px;
	padding: 5px 18px !important;
	margin:5px;
}
.added_to_cart:hover {
	background-color: var(--main-color);
    color: #ffffff !important;
}

/* Texto adicional en productos */
.woocommerce-product-attributes-item__value {
	text-align: center !important;
}

/* Mensaje superior al añadir al carrito */
.woocommerce-message {
    border-top-color: var(--main-color) !important;
    max-width: 1200px;	/* Este ancho debe ser el mismo que está establecido en los ajustes del sitio */ 
    margin: 0 auto;
}
.woocommerce-message::before {    				/* Este es el icono que aparece en el mensaje */
    color: var(--main-color) !important;
}



ul.products .star-rating {
	display: none !important;
}
li.product {
	text-align:center;
}


/* Carrito. Tamaño de la Burbuja */
.elementor-button-icon-qty {
        font-size: 12px !important;
        font-family: 'Poppins' !important;
	    font-weight:500 !important;
		padding: 5px;
        height: 25px !important;
        width: 25px !important;
        line-height: 15px !important;
	border-radius: 20% !important;
}


/* Envolver regalo */
.gtw-product-gift-wrapper {	
	margin-bottom:40px;
	border: solid 1px #e9e9e9;
    border-radius: 10px;
    padding: 10px 40px;
}
.gtw-product-gift-wrapper h4 {
	font-size:20px
}
.gtw-product-gift-wrapper-total-payable {
	margin: -3px 0px 0px 10px
}
:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart.variations_form .woocommerce-variation-add-to-cart, :is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart:not(.grouped_form):not(.variations_form) {   
	flex-wrap: wrap !important;
}

/* Página Pago */
.place-order .input-checkbox {
	text-align: left !important;
}


/* H2 Proyectos */

.proyectos h2 {
	padding: 25px 0 0 0;
}

/************* CELDA DE IMAGEN CON EFECTO OVERLAY **************/
/* Estilos base del contenedor */
.zoom-overlay {
  position: relative;
  overflow: hidden;
}

/* Overlays */
.zoom-overlay::before,
.zoom-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  transition: all 0.4s ease;
}

/* Overlay blanco */
.zoom-overlay::before {
  background: rgba(255, 255, 255, 0.2);
  opacity: 0;
  z-index: 1;
}

/* Overlay de color que se encoge */
.zoom-overlay::after {
  background: rgba(255, 0, 0, 0.3); /* Pon el color que prefieras */
  opacity: 0;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
}

/* Activación hover para overlays */
.zoom-overlay:hover::before {
  opacity: 1;
}

/* Espacio entre el overlay de color y el overlay blanco de fondo */
.zoom-overlay:hover::after {
  opacity: 1;
  top: 20px;
  bottom: 20px;
  left: 20px;
  right: 20px;
}

/* Contenido por encima */
.zoom-overlay * {
  position: relative;
  z-index: 3;
  transition: color 0.3s ease, fill 0.3s ease;
}

/* Fuerza cambio de color en hover */
.zoom-overlay:hover * {
  color: white !important;
  fill: white !important;
}

/* Ajuste del menú del footer*/
@media (min-width: 1025px) {

  /* Contenedor del submenu */
  .menu-servicios-ajuste .elementor-nav-menu .sub-menu {
    left: -100px !important;   /* mueve el desplegable hacia la izquierda */
    right: auto !important;
    min-width: 320px;         /* ancho mínimo del desplegable */
    width: max-content;       /* se adapta al contenido más largo */
    padding: 10px 0;
  }

  /* Enlaces dentro del submenu */
  .menu-servicios-ajuste .elementor-nav-menu .sub-menu a {
    display: block;
    white-space: nowrap;      /* evita salto de línea */
    padding: 12px 24px;       /* más espacio interno */
    line-height: 1.4;
  }
}


/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
/*							RESPONSIVE								*/
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
@media screen and (max-width: 1024px) {
	.topbar-transparente {
    	height: 105px;
	    margin-top:0px;
  	}
	.header-transparente {   		
		margin-top:90px;    	
	}
}