/* 
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 */
.titulo-post {
  display: -webkit-box;       
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
	max-height: 2lh;
}

.login-error-msg {
    color: #DC242C;
    font-family: Poppins, sans-serif;
	font-size: 13px;
}

.elementor-widget-woocommerce-my-account div.woocommerce-info{
	font-family: 'Poppins';
	font-size: 15px !important;
}

.elementor-widget-woocommerce-my-account div.woocommerce-info > a{
	font-size: 14px !important;
	font-family: 'Poppins';
	font-weight: 500;
	color: #fff !important;
	background-color: #DC242C;
	border-radius: 25px;
	border: solid 1px #DC242C;
	transition: all .3s ease;
	&:hover{
		color: #DC242C !important;
		background-color: transparent;
	}
}

.elementor-widget-woocommerce-my-account .woocommerce-EditAccountForm .button,
.elementor-widget-woocommerce-my-account .woocommerce-ResetPassword .button{
	font-size: 14px !important;
	font-family: 'Poppins' !important;
	font-weight: 500 !important;
	color: #fff !important;
	background: #DC242C !important;
	border-radius: 25px !important;
	border: solid 1px #DC242C !important;
	transition: all .3s ease !important;
	&:hover{
		color: #DC242C !important;
		background: transparent !important;
	}
}

.elementor-widget-woocommerce-my-account .woocommerce-ResetPassword{
	width: 100%;
	justify-self:center;
}

@media (min-width:1025px){
	.elementor-widget-woocommerce-my-account .woocommerce-ResetPassword{
	width: 70%;
}
}

#photoswipe-fullscreen-dialog{
	z-index: 99999999;
}

#marcas-header .elementor-image-carousel > div:nth-child(13) > a > figure > img{ width: 75%; !important }

#marcas-header .elementor-image-carousel div:not(:nth-child(13)) a figure img{
	filter: brightness(0) saturate(100%) invert(99%) sepia(0%) saturate(0%) hue-rotate(276deg) brightness(103%) contrast(100%) !important;
}

.padding-accordion > div details > div:nth-child(2){
	padding-left: 15px;
	padding-right: 15px;
}

/* Buscador */
#buscador-header > div > div > form > div > button{
	top: 50%;
	transform: translatey(-50%);
	width: 28px;
	height: 28px;
}

#buscador-header > div > div > form{
	padding: 0;
}

#dgwt-wcas-search-input-1:focus{
	background-color: #d8d7d7;
}

#dgwt-wcas-search-input-1{
	font-size: 15px;
	font-family: 'Poppins';
	padding: 8px 24px 8px 48px;
}

#buscador-header > div > div #dgwt-wcas-search-input-1{
	border: none !important;
}

#buscador-header > div > div.is(.dgwt-wcas-search-focused) #dgwt-wcas-search-input-1{
	border: none !important;
}


.dgwt-wcas-suggestion-cat, .dgwt-wcas-st-title, .dgwt-wcas-meta .dgwt-wcas-sp .woocommerce-Price-amount, .dgwt-wcas-st-more, .dgwt-wcas-suggestion-nores{
	font-family: 'Poppins';
}

/* Carrito */
.woocommerce .cart .product-name > a:empty,
.woocommerce-checkout-review-order-table .product-name > a:empty,
.elementor-menu-cart__products .product-name > a:empty,
.elementor-menu-cart__products .product-name:empty{
	display:none !important;
}

.elementor-menu-cart__products dl.variation + dl.variation{
	display:none !important;
}

/* Order summary en checkout e imagen */
.woocommerce-checkout-review-order-table td.product-name{
	max-width: none !important;
	padding-inline-end: 0 !important;
	width: 100%;
}

.woocommerce-checkout-review-order-table td.product-name .gm-os-row{
	display: grid;
	grid-template-columns: 96px 1fr;
	column-gap: 18px;
	align-items: center;
	width: 100%;
}

.woocommerce-checkout-review-order-table td.product-name .gm-os-thumb{
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	overflow: hidden;
}

.woocommerce-checkout-review-order-table td.product-name .gm-os-thumb-img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.woocommerce-checkout-review-order-table td.product-name .gm-os-meta,
.woocommerce-checkout-review-order-table td.product-name .gm-os-meta *{
	text-transform: uppercase;
}

.woocommerce-checkout-review-order-table td.product-name .gm-os-qty{
	text-transform: uppercase;
}

.woocommerce-checkout-review-order-table td.product-name > dl.variation{
	display:none !important;
}

.woocommerce-checkout-review-order-table td.product-name{
	white-space: normal;
}



/* Peso texto menú lateral */
.menu-productos > ul li > a{
	font-weight: 500 !important;
}

.menu-productos > ul li > ul li > a{
	font-weight: 300 !important;
	padding-top: 5px !important;
	padding-bottom: 5px !important;
}

/* Precios oferta */
.loop-precio del{
	color: #9b9b9b;
	font-weight: 500;
	font-size: 14px;
	text-decoration: line-through;
	margin-right: 0.25rem;
}

.loop-precio ins {
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

.product-price del {
  color: #9b9b9b;
  font-weight: 500;
  font-size: 14px;
  text-decoration: line-through;
  margin-right: 0.25rem;
}

.product-price ins {
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

/* Formulario de búsqueda */
#search-5c70df4:focus::placeholder{
	opacity:0;
}

/* Carrito header */
.iconos-principales.elementor-widget-woocommerce-menu-cart dl.variation{
	display: flex;
	flex-direction: column;
}

.iconos-principales.elementor-widget-woocommerce-menu-cart dl.variation dt{
	font-weight: 500;
}

.iconos-principales.elementor-widget-woocommerce-menu-cart dl.variation dd{
	margin-inline-start: 0;
}


.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
	z-index: 2 !important;
}

.iconos-principales a.elementor-menu-cart__toggle_button{
	flex-direction: row-reverse;
}


h3.elementor-headline.elementor-headline-animation-type-typing.elementor-headline-letters{
	margin-block-end: 0 !important;
	margin-block-start: 0 !important;
}
/*
.iconos-principales .elementor-menu-cart__product-name.product-name > a{
	display: none;
}
*/

.product-title{
	height: 2lh;
}

.pswp__bg{
	background: rgba(0, 0, 0, 0.85);
}

/* Mensaje de WooCommerce */
.woocommerce-notices-wrapper .woocommerce-message{
	border-top-color: var(--e-global-color-secondary) !important;
	background-color: var(--e-global-color-accent) !important;
	color: white;
	font-family: 'Poppins';
	font-weight: 400;
}

.woocommerce-page .woocommerce-message .button{
	font-weight: 500;
}

.woocommerce-notices-wrapper .woocommerce-message::before{
	color: var(--e-global-color-secondary) !important;
}

footer form div.elementor-message.elementor-message-success.elementor-message-svg::before{
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}

/* Hover con escala y cursor de manita */
.logo-principal img {
  transition: transform 0.3s ease-in-out;
  cursor: pointer; /* Cambia el cursor a mano */
}

.logo-principal:hover img {
  transform: scale(1.1);
}

.loop-images {
  overflow: hidden;
}
.loop-images img {
  transition: transform 0.4s ease-in-out;
	aspect-ratio: 3 / 4;
}
.loop-images:hover img {
  transform: scale(1.05);
}
.loop-single-post .elementor-widget-theme-post-featured-image{
    border-radius: 30px;
}


.elementor-widget-theme-post-excerpt,
.elementor-product-excerpt{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-home {
  transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.card-home:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}


.iconos-principales a.elementor-icon:hover {
  transform: scale(1.1);
  filter: brightness(1.2);
}

/*MENSAJE DE FORMS*/
form[name='Form Plazas'] .elementor-message-danger,
form[name='Form Plazas'] .elementor-message-success,
.form-ofertero .elementor-message-danger,
.form-ofertero .elementor-message-success
{
    text-align: center !important;

}
/*PLAY VIDEOS*/
.elementor-widget-video:hover .elementor-custom-embed-play svg {
  filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.4));
  transform: scale(1.3);
  transition: all 0.3s ease-in-out;
}

/*BOTON DE SUBIR CV*/
/* ===== SOLO FORMULARIO: Form Plazas ===== */
form[name='Form Plazas'] .elementor-field-type-upload {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Input file real (mantiene funcionalidad nativa) */
form[name='Form Plazas'] .elementor-field-type-upload input[type="file"] {
  opacity: 0;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}

/* Caja gris (nombre del archivo) */
form[name='Form Plazas'] .elementor-field-type-upload::before {
  content: var(--filename, "");
  display: block;
  flex-basis: 42%;
  color: #9D9E9F !important;
  border-radius: 30px;
  padding: 12px 15px;
  font-size: 13px;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all 0.3s ease;
}

/* Botón rojo (simulado) */
form[name='Form Plazas'] .elementor-field-type-upload::after {
  content: "SUBIR ARCHIVO PDF";
  display: block;
  flex-basis: 55%;
  background-color: #dc242c;
  color: #fff;
  border-radius: 30px;
  padding: 12px 0;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.3s ease;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  text-align: center;
}

/* Hover */
form[name='Form Plazas'] .elementor-field-type-upload:hover::after {
  background-color: #b51b23;
}


/*ESPACIO TOP AL DESLIZAR FORM PLAZAS*/
#content-aplicar-plaza {
  scroll-margin-top: 120px; 
}

/*ESTILO DE FILTRO*/
.select2-results__option.select2-results__message{
    font-family: "poppins"!important; 
    font-size: 13px!important;
    
}

.select2-results__option{
    font-family:"poppins"!important;
    font-size: 13px!important;
}

.LA_filters {
  font-family: 'Poppins', sans-serif;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  width: 100%;
  max-width: 100%;
  margin: 20px auto;
  box-sizing: border-box;
}

/* Cada elemento (select o botón) ocupa su parte del ancho */
.LA_filters form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
}

/* Para los selects */
.LA_filters .select2-container {
  flex: 1;
  width: 100% !important;
}

.select2-container .select2-selection--single {
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 14px !important;
	font-family: 'Poppins';
  color: #333 !important;
  transition: background-color 0.2s ease;
  padding-left: 16px;
	padding-right: 16px;
	height: 52.5px !important;
}

.select2-container .select2-selection--single:hover {
  background-color: #dcdcdc !important;
}



/* Eliminar la X de limpiar */
.select2-selection__clear {
  display: none !important;
}

/* Botón rojo */
.laf-btn-limpiar {
  background-color: #DC242C !important;
  color: #fff !important;
  border: none !important;
  border-radius: 30px;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 500;
  height: 52px;
  padding: 0;
  flex: 0.4; /* el botón ocupa menos espacio */
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.laf-btn-limpiar:hover {
  background-color: #fff !important;
  color: #DC242C !important;
  border: 2px solid #DC242C !important;
}


/*ESTILOS PARA CARRITO*/

@media screen and (min-width: 1025px) {

  .solo-cart .coupon.e-cart-section.shop_table {
    width: 49%;
  }

  .solo-cart .e-cart__column-inner.e-sticky-right-column {
    width: 100%;
  }

  .solo-cart .e-cart__column.e-cart__column-end {
    display: flex;
    justify-content: flex-end;
    margin-top: -220px;
  }

  .solo-cart .coupon.e-cart-section.shop_table .form-row.coupon-col {
    display: flex;
    flex-direction: column; /* 🔹 Elementos en columna */
    align-items: stretch;   /* 🔹 Ocupan todo el ancho */
    gap: 10px;              /* 🔹 Espacio entre input y botón */
  }

  .solo-cart .coupon-col-start {
    width: 60%;
  }

  .solo-cart .coupon-col-end {
    width: 40%;
  }

  .solo-cart .e-cart__column.e-cart__column-end {
    width: 50%;
    margin-left: 50%;
  }

  .solo-cart .cart_totals.processing {
    display: none;
  }

}

/* === Intercalado de filas en la tabla del total === */
.solo-cart .shop_table tbody tr:nth-child(odd) {
  background-color: #ffffff; /* blanco */
}

.solo-cart .shop_table tbody tr:nth-child(even) {
  background-color: #f7f7f7; /* gris claro */
}

/* Bordes suaves y padding */
.solo-cart .shop_table th,
.solo-cart .shop_table td {
  padding: 12px 16px;
  border-bottom: 1px solid #e0e0e0;
}

/* Alinear bien texto */
.solo-cart .shop_table th {
  text-align: left;
  font-weight: 500;
  color: #333;
}



/* Efecto hover opcional */
.solo-cart .shop_table tbody tr:hover {
  background-color: #f0f8ff; /* azul muy suave */
  transition: background-color 0.2s ease;
}



.solo-cart .cart_totals td{
    font-size: 16px;
    font-family: poppins;
    font-weight: normal!important;
    color: black !important;
   text-transform: uppercase;
}

.solo-cart.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td .woocommerce-Price-amount, .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td:before {
    color: #000000;
    font-weight: 400;
}

.solo-cart .elementor-widget-woocommerce-cart .woocommerce .cart th, .elementor-widget-woocommerce-cart .woocommerce .cart_totals h2{
    font-size: 16px;
    font-family: poppins;
    text-transform: uppercase;
    font-weight: 500;
}

.solo-cart.elementor-widget-woocommerce-cart .woocommerce .input-text.qty {
    text-align: center;
        border-style: none;
}



/* Centrar el ícono de eliminar en su columna */
.solo-cart .woocommerce-cart-form__cart-item .product-remove {
  text-align: center;
  width: 60px; /* ajusta según tu gusto */
}

.solo-cart .woocommerce-cart-form__cart-item .product-remove a.remove {
  display: inline-flex;
  justify-content: center;
  
}

/* Efecto al pasar el mouse */
.solo-cart .woocommerce-cart-form__cart-item .product-remove a.remove:hover {

}


/* Reemplazar el ícono × del botón eliminar por un SVG */
.solo-cart .woocommerce-cart-form__cart-item .product-remove a.remove {
  position: relative;
  font-size: 0 !important; /* Oculta el texto × */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
}

/* Agrega tu ícono personalizado */
.solo-cart .woocommerce-cart-form__cart-item .product-remove a.remove::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-image: url('https://dev-grupo-master.pantheonsite.io/wp-content/uploads/2025/10/trashcom.svgt_.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.2s ease;
}

/* Efecto hover */
.solo-cart .woocommerce-cart-form__cart-item .product-remove a.remove:hover::before {
  transform: scale(1.1);
  filter: brightness(0) saturate(100%) invert(40%) sepia(80%) saturate(2500%) hue-rotate(340deg);
}
.solo-cart .product-thumbnail img{
    border-radius: 0px;
}

/* Centrar las imágenes dentro del td.product-thumbnail */
.solo-cart .woocommerce-cart-form__cart-item td.product-thumbnail {
  display: flex;
  align-items: center;      /* Centrado vertical */
  justify-content: center;  /* Centrado horizontal */
  padding: 10px;
}


.solo-cart .product-name a{
    text-transform: uppercase;
    color: black!important;
}

.solo-cart .product-name a:hover{
    color: red!important;
}

.solo-cart .input-text.qty.text{
    
    border-radius: 0px!important;
    background-color: #FFFFFF!important;
    border-width: 0px!important;
}



/* Fondo negro y estilo moderno del input */

.solo-cart #coupon_code.input-text {
  background-color: #FFFFFF;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  padding: 12px 16px;
  border: 1px solid #222;
  border-radius: 6px;
  width: 100%;
  outline: none;
  transition: all 0.3s ease;
}
/* Color del placeholder (para todos los navegadores) */
.solo-cart #coupon_code::placeholder {
  color: #FFFFFF;
  opacity: 1; /* para Safari */
}

/* Firefox */
.solo-cart  #coupon_code::-moz-placeholder {
  color: #FFFFFF;
}

/* Edge / IE */
.solo-cart  #coupon_code:-ms-input-placeholder {
  color: #FFFFFF;
}

/* Hover y focus para dar efecto visual */
.solo-cart  #coupon_code:focus {
  border-color: #666;
  background-color: #FFFFFF;
  color: black;
}

/* Acomoda el layout vertical */
.solo-cart .coupon .form-row.coupon-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Inserta los textos sobre el input */
.solo-cart .coupon-col-start::before {
  content: "Cupón de descuento";
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 18px;
  color: #000;
  margin-bottom: 2px;
}

.solo-cart .coupon-col-start::after {
  content: "Ingresa el número de cupón aquí";
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 13px;
  color: #555;
  margin-bottom: 6px;
}

/* Espaciado entre textos e input */
.solo-cart .coupon-col-start input.input-text {
  margin-top: 4px;
  width: 100%;
}


@media (max-width: 768px) {
  .LA_filters form {
    flex-direction: column;
    gap: 12px;
  }
  .laf-btn-limpiar {
    width: 100%;
  }
}

/*MAPA LOCATE FILTER*/
.leaflet-container{
	border-radius: 20px;
}

/*MEDIA MOVIL*/

@media (max-width: 768px) {
  .card-home{
      border-style: solid!important;
      border-width: 1px;
      border-color: red;
  }
  
  .card-home{
      max-width:270px;
  }
	
	.numbers-cards .elementor-image-box-img img{
		margin: auto !important;
	}
}

.p-no-bottom p{
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.elementor-widget-woocommerce-cart .woocommerce table.cart tr {
		padding: 0;
	}
	
  .woocommerce-cart-form__cart-item td.product-remove,
  .woocommerce-cart-form__cart-item td.product-thumbnail {
    display: inline-block !important;
    width: 50%;
    vertical-align: middle;
    padding-top: 5px;
    padding-bottom: 10px;
  }

  .woocommerce-cart-form__cart-item td.product-remove {
    text-align: left;
  }

  .woocommerce-cart-form__cart-item td.product-thumbnail {
    text-align: right;
  }

  .woocommerce-cart-form__cart-item td:not(.product-remove):not(.product-thumbnail) {
    display: block !important;
    width: 100%;
  }
}


