/**
Theme Name: Astra Child
Author: Alejandro Andreu (Angal)
Author URI: https://www.angal.es

Description: Tema Hijo para inretail  \_(º-º)_/
                                          |
                                        /  \
              
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Quitar WP ARMOR DEV */
.wpa-test-msg {
  display: none;
}

/* FICHA PRODUCTO */
div#cat_principal_prod_cst a {
  font-size: 11px;
  text-transform: uppercase;
  color: black;
  font-weight: 600;
  letter-spacing: 1px;
  border: 1px solid black;
  padding: 4px;
}

.single-product table.variations {
  border: none !important;
}

.single-product .woocommerce-variation.single_variation {
  display: none !important;
}

span.bt-dynamic-price .woocommerce-Price-amount {
  color: #3a352e;
  font-size: 21px;
  font-weight: 700;
  font-family: "Plus Jakarta Sans";
}

.ficha-prod-anchors > p {
  margin: 0 !important;
}

.single-product span.variable-item-span.variable-item-span-button {
  font-size: 15px;
}

ul.variable-items-wrapper.button-variable-items-wrapper.wvs-style-squared > li {
  height: auto !important;
}

.reset_variations {
  display: none !important;
}

.precio-cst-tambien span.bt-dynamic-price bdi {
  font-size: 16px;
  font-weight: 400;
}

.single-product .woocommerce-variation-add-to-cart button,
.single-product .woocommerce-variation-add-to-cart .quantity {
  margin-bottom: 0 !important;
}

.anadir-carrito-cst .single_add_to_cart_button.button {
  padding: 10px 20px !important;
  border-radius: 30px;
  margin-left: 10px !important;
  width: calc(100% - 131px) !important;
  background: #565d43 !important;
  font-size: 15px !important;
}

.anadir-carrito-cst .single_add_to_cart_button.button .bt-dynamic-price bdi {
  color: white !important;
}

button.plus.qib-button,
button.minus.qib-button {
  margin: 0 !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  color: #000000 !important;
  min-width: 30px !important;
  height: 30px !important;
  border-radius: 50%;
  font-size: 23px !important;
  font-weight: 400;
}

.mi-loop-cst a {
  font-weight: 400 !important;
}

button.plus.qib-button:hover,
button.minus.qib-button:hover {
  cursor: pointer !important;
}

.woocommerce div.product form.cart div.quantity .qty {
  max-width: 55px;
  min-width: 55px;
  width: 100%;
  border: none !important;
  font-size: 16px;
  font-family: "Plus Jakarta Sans";
}

.qib-button-wrapper.qib-button-wrapper {
  height: 50px;
  border: 1px solid #d3d3d3;
  border-radius: 30px;
  padding: 0px 2px;
  margin: 0 !important;
  min-width: fit-content;
}

.tabs-ficha-producto-cst .tabs > li {
  margin: 0 !important;
}

.tabs-ficha-producto-cst .tabs > li:not(:first-child) {
  margin-left: -3px !important;
}

.woocommerce-js div.product .woocommerce-tabs ul.tabs li.active::before {
  top: auto !important;
  bottom: 0 !important;
}

div.woocommerce-Tabs-panel {
  background: #f3f3f3;
  margin: 0 auto !important;
  box-shadow: none !important;
}

div.woocommerce-Tabs-panel > div {
  max-width: 1400px !important;
  margin: 0 auto;
}

.ast-container,
.ast-container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce-js div.product .woocommerce-tabs ul.tabs {
  margin: 0;
  max-width: 1400px !important;
  margin: 0 auto;
}

/* TEXTO DE DISPONIBILIDA */
.estado-envio-box {
  background: #f4ede550;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.4;
  margin: 10px 0;
  width: 100%;
  max-width: 100%;
  border-radius: 30px;
}

.variations .woo-variation-items-wrapper ul li {
  border-radius: 0 !important;
}

.woo-variation-swatches
  .variable-items-wrapper
  .variable-item:not(.radio-variable-item).selected,
  .woo-variation-swatches
  .variable-items-wrapper
  .variable-item:not(.radio-variable-item).selected:hover,
  .woo-variation-swatches
  .variable-items-wrapper
  .variable-item:not(.radio-variable-item):hover  {
  box-shadow: var(--wvs-selected-item-box-shadow, 0px 0px 7px 7px #565d43);
}

.estado-envio-row {
  display: flex;
  align-items: center;
}

.estado-envio-header {
  justify-content: flex-start;
  margin-bottom: 6px;
  font-weight: 600;
}

.estado-envio-icon {
  margin-right: 8px;
  display: inline-flex;
}

.estado-envio-icon svg {
  width: 20px;
  height: 20px;
}

/* cuerpo */
.estado-envio-body {
  gap: 8px;
}

.estado-envio-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

/* Disponible = verde */
.estado-envio-box.disponible .estado-envio-dot {
  background: #2ecc71;
}
.estado-envio-box.disponible .estado-envio-texto {
  color: #1e7e34;
}

/* No disponible = rojo */
.estado-envio-box.no-disponible .estado-envio-dot {
  background: #e74c3c;
}
.estado-envio-box.no-disponible .estado-envio-texto {
  color: #c0392b;
}

/* TODO PROBLEMA */

/* Forzar relación de aspecto 16:9 SOLO en la primera imagen 
.galeria-contenedor-cst .elementor-gallery__container .e-gallery-item:first-child .e-gallery-image {
    --aspect-ratio: 56.25% !important; / 16:9 = 9/16 = 56.25% 
}



/* Primera imagen ocupa toda la fila 
.galeria-contenedor-cst .elementor-gallery__container .e-gallery-item:first-child {
    --column: 0 !important; /* empieza en la primera columna 
    --columns: 3 !important; /* en escritorio la galería tiene 3 columnas 
    grid-column: span 3 !important; /* ocupar las 3 
}



/* Adaptación tablet: 2 columnas 
@media (max-width: 1024px) {
    .galeria-contenedor-cst .elementor-gallery__container .e-gallery-item:first-child {
        grid-column: span 2 !important;
    }
}

/* TODO FIN PROBLEMA*/

/* NUEVOS TABS */
.single-product .e-n-tabs-heading {
  max-width: 1380px !important;
  margin: 0 auto;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .swiper-slide-image {
    height: 300px !important;
    object-fit: cover;
  }
  .single-product .e-n-tabs-heading button.e-n-tab-title {
    padding: 15px !important;
  }
}

.single_add_to_cart_button span.bt-dynamic-price .woocommerce-Price-amount {
  color: white;
  font-family: "Plus Jakarta Sans", Sans-serif;
  font-size: 14px;
  font-weight: 500;
  padding: 0px 2px;
}

span.icono-cesta {
  fill: white;
  vertical-align: bottom;
}

.variations th.label label[for="opciones-de-entrega"] {
  display: inline-flex;
  align-items: center;
}

/* Botón del icono (ahora también para <a>) */
.delivery-info-icon {
  width: 18px;
  height: 18px;
  padding: 0;
  box-shadow: none;
  margin-left: 0 !important;
  display: inline-flex;
  background: transparent !important;
}

/* Tamaño del svg */
.delivery-info-icon svg {
  width: 100%;
  height: 100%;
  fill: #b3b3b3;
}

/* Asegurar que el enlace no tenga estilos raros */
a.delivery-info-icon {
  text-decoration: none;
  display: inline-flex;
  vertical-align: sub;
}

button.single_add_to_cart_button.button.alt.dsfps-free-sample-btn {
  width: 100% !important;
  margin: 0 !important;
  text-align: left;
  padding: 15px 0 !important;
}

.woocommerce-variation-add-to-cart.variations_button {
  flex-wrap: wrap !important;
}

table.premium-table {
  font-size: 15px;
}

div#header-cst.elementor-sticky--active {
  z-index: var(--z-index, 100) !important;
}

.woocommerce-js a.remove:before {
  top: 1px !important;
  left: 1.4px !important;
  border: 1px solid #000000 !important;
  background: #000000;
  width: 20px;
}

.woocommerce-js a.remove svg {
  fill: white !important;
}

.woocommerce-cart .qib-button-wrapper .quantity input.input-text.qty.text {
  height: 100% !important;
  max-height: fit-content;
  border: none;
}

.woocommerce-cart td[class="product-name"] a {
  color: black !important;
}

.woocommerce-cart .button.button.e-apply-coupon {
  border: 1px solid black !important;
}

table.premium-table .premium-table-text {
  padding: 8px;
}

.premium-table-body .premium-table-row td:nth-child(2) .premium-table-text {
  color: #636363 !important;
}

thead.premium-table-head .premium-table-row .premium-table-text {
  font-weight: 600 !important;
  font-size: 15px;
  text-transform: uppercase;
}

/* CATEGORIAS */

ul.variable-items-wrapper.button-variable-items-wrapper.wvs-style-squared {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
}

ul.variable-items-wrapper.button-variable-items-wrapper.wvs-style-squared > li {
  width: 50% !important;
  padding: 5px 20px !important;
  border: 1px solid #565d43;
  border-radius: 30px !important;
}

ul.variable-items-wrapper.button-variable-items-wrapper.wvs-style-squared
  > li
  .variable-item-contents {
  align-items: flex-start;
}

ul.variable-items-wrapper.button-variable-items-wrapper.wvs-style-squared
  .variable-item-contents
  > span {
  color: #565d43;
  font-size: 15px;
  font-weight: 600;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: -5px;
}

@media screen and (max-width:1024px) and (min-width: 768px) {
  ul.variable-items-wrapper.button-variable-items-wrapper.wvs-style-squared {
    flex-direction: column;
  }

  ul.variable-items-wrapper.button-variable-items-wrapper.wvs-style-squared > li {
    width: 100% !important;
  }

  .woocommerce-variation-add-to-cart.variations_button {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .anadir-carrito-cst .single_add_to_cart_button.button {
    width: 100% !important;
  }

}

@media screen and (max-width: 430px) {
  ul.variable-items-wrapper.button-variable-items-wrapper.wvs-style-squared {
      flex-direction: column;
    }

    ul.variable-items-wrapper.button-variable-items-wrapper.wvs-style-squared > li {
      width: 100% !important;
    }

    .woocommerce-variation-add-to-cart.variations_button {
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
    }

    .anadir-carrito-cst .single_add_to_cart_button.button {
      width: 100% !important;
    } 
}

form.mi-wc-ordering option,
form.mi-wc-ordering select {
  font-size: 13px !important;
  color: black !important;
  border: none;
  padding: 5px;
  letter-spacing: 0.2px;
}

.mi_result_count {
  font-size: 12px;
}

.mi_result_count span {
  color: black;
}

.titulo-producto-archive {
  min-height: 80px !important;
}

div#cat_principal_archive a {
  font-size: 11px;
  text-transform: uppercase;
  color: black;
  font-weight: 600;
  letter-spacing: 1px;
}

.texto-descripcion-extensa-cst {
  color: #3a352e;
}

span.icon.xs.undefined > svg {
  height: 15px;
  width: 15px;
}

/* === CONTENEDOR GLOBAL DEL ITEM === */
.e-loop-item {
  position: relative;
}

/* === IMAGEN PRINCIPAL DEL PRODUCTO === 
  Forzamos posición relativa para overlay */
.e-loop-item .elementor-widget-image a {
  display: block;
  position: relative;
  overflow: hidden;
}

label[for="estado-de-entrega"] {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 12px;
}

span.woo-selected-variation-item-name {
  display: none !important;
}

/* Imagen interna */
.e-loop-item .elementor-widget-image img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.25s ease;
  object-fit: cover;
}

/* === OVERLAY OSCURO === */
.e-loop-item .elementor-widget-image a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

/* === TEXTO (categoría) === */
#cat_principal_archive a {
  color: #111;
  transition: color 0.25s ease;
  font-weight: 500;
}

/* (Opcional) Título del producto */
.titulo-producto-archive a {
  transition: color 0.25s ease;
}

/* === HOVER: aplica zoom + overlay + color al texto === */
.e-loop-item:hover .elementor-widget-image img {
  transform: scale(1.04);
}

.e-loop-item:hover .elementor-widget-image a::after {
  opacity: 1;
}

div#user-menu {
  height: 100% !important;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  top: 4px;
}

div#carrito-menu {
  width: fit-content !important;
}

#archive-precio-cst span {
  font-size: 21px !important;
  color: #3a352e;
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
}

/* Estilo base del “badge” */
.badge-entrega {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  border-width: 1px;
  border-style: solid;
  padding: 1px 5px 0 5px;
  display: flex;
  align-items: flex-start;
  gap: 4px;
}

/* CON STOCK: verde, como ahora */
.badge-entrega--en-stock {
  color: green;
  border-color: green;
}

/* SIN STOCK: por ejemplo, naranja/ámbar */
.badge-entrega--sin-stock {
  color: #a29587; /* cambia a lo que quieras */
  border-color: #a29587;
}

/* Para que el icono no sea gigante */
.badge-entrega .icon svg {
  width: 14px;
  height: 14px;
}

.titulo-prod-ficha-cst > h1 {
  margin: 0 !important;
}

.producto-subtitulo-contenedor-cst {
  margin-bottom: 10px !important;
}

span.producto-subtitulo {
  font-size: 18px;
}

.sub-titulo-archive span {
  font-size: 14px;
  color: lightgrey !important;
}

/* ---------------------------------------------------
   BLOQUE DE TEXTO + ICONO (OVERLAY)
--------------------------------------------------- */
.box-card__content__inner__cst {
  background: linear-gradient(0deg, #111c, #1110);
  padding: 2.5rem 1.25rem 1rem;
  display: flex; /* Texto + iconos en fila */
}

.box-card__content__inner__cst p {
  margin: 0 !important;
}

/* Contenedor de los dos iconos con transición */
.cont-iconos-transicion {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  overflow: hidden; /* oculta lo que sale del marco */
}

/* Cada widget de icono ocupa la misma posición */
.cont-iconos-transicion .elementor-widget-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
}

/* Estado inicial */
.icono-inicio {
  transform: translateX(0);
}

.icono-fin {
  transform: translateX(1.5rem); /* oculto a la derecha */
}

/* Suavizado */
.cont-iconos-transicion .elementor-widget-icon,
.cont-iconos-transicion .elementor-icon svg {
  transition-property: transform, fill;
  transition-duration: 0.4s;
  transition-timing-function: ease;
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .cont-iconos-transicion .elementor-widget-icon,
  .cont-iconos-transicion .elementor-icon svg {
    transition: none;
  }
}

/* ---------------------------------------------------
   NUEVO → FLECHAS MUEVEN AL HACER HOVER SOBRE EL PADRE
   .caja-img-con-texto-cst
--------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  /* icono-inicio sale hacia la izquierda */
  .caja-img-con-texto-cst:hover .icono-inicio {
    transform: translateX(-1.5rem);
  }

  /* icono-fin entra desde la derecha */
  .caja-img-con-texto-cst:hover .icono-fin {
    transform: translateX(0);
  }
}

/* ---------------------------------------------------
   ZOOM DE LA IMAGEN AL HACER HOVER EN EL PADRE
--------------------------------------------------- */
.caja-img-con-texto-cst {
  position: relative;
  overflow: hidden; /* evita que el zoom se salga */
}

.caja-img-con-texto-cst::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0); /* estado inicial transparent */
  transition: background 0.25s ease;
  z-index: 1; /* capa encima de la imagen pero debajo del texto */
}

/* Al hacer hover, oscurecer */
.caja-img-con-texto-cst:hover::before {
  background: rgba(0, 0, 0, 0.25); /* oscurecido suave */
}

/* Estilo ligero tipo font-weight:300 para tus SVG */
.cont-iconos-transicion .elementor-icon svg,
.box-card__content__inner__cst .elementor-icon svg {
  fill: currentColor;
  fill-opacity: 0.7; /* suaviza visualmente → como un peso 300 */
  filter: brightness(1.15); /* aclara un poco para efecto light */
  transform: scaleY(0.92); /* los hace visualmente más “finos” */
  transition: all 0.3s ease;
}

/* En hover pueden verse ligeramente más fuertes si quieres */
.caja-img-con-texto-cst:hover .elementor-icon svg {
  fill-opacity: 0.9;
  filter: brightness(1);
}

.cst-tag-home {
  padding: 0px 10px;
  border: 1px solid #dbba7d;
  color: #dbba7d;
}

.caja-img-con-texto-cst
  .swiper-horizontal.swiper-pointer-events
  .elementor-swiper-button,
.carrusel-cst .elementor-swiper-button {
  visibility: hidden;
  background: #ffffff80;
  border-radius: 50%;
  padding: 5px;
  transform: scale(0.8) !important;
}

.caja-img-con-texto-cst:hover
  .swiper-horizontal.swiper-pointer-events
  .elementor-swiper-button,
.carrusel-cst:hover .elementor-swiper-button {
  visibility: visible;
}

.carrusel-cst .elementor-swiper-button > svg,
.cont-iconos-transicion svg {
  transform: scale(0.8) !important;
}

/* Contenedor del par de iconos: grid para superponerlos */
.svg-animado-cont-cst {
  display: inline-grid;
  position: relative;
  align-items: center; /* mantiene alineación vertical */
  justify-content: start; /* alineado a la izquierda */
}

/* Ambos iconos se apilan en la misma celda del grid */
.svg-animado-cont-cst .elementor-widget-icon {
  grid-row: 1;
  grid-column: 1;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
}

/* Estado inicial:
   - primer icono visible
   - segundo oculto y desplazado a la derecha */
.svg-animado-cont-cst .elementor-widget-icon:first-of-type {
  opacity: 1;
  transform: translateX(0);
}

.svg-animado-cont-cst .elementor-widget-icon:last-of-type {
  opacity: 0;
  transform: translateX(40%);
}

/* Accesibilidad: sin animaciones si el usuario lo pide */
@media (prefers-reduced-motion: reduce) {
  .svg-animado-cont-cst .elementor-widget-icon {
    transition: none;
  }
}

/* Al hacer hover sobre cualquier slide del carrusel */
@media (prefers-reduced-motion: no-preference) {
  .e-n-carousel
    .swiper-slide:hover
    .svg-animado-cont-cst
    .elementor-widget-icon:first-of-type {
    opacity: 0;
    transform: translateX(-40%);
  }

  .e-n-carousel
    .swiper-slide:hover
    .svg-animado-cont-cst
    .elementor-widget-icon:last-of-type {
    opacity: 1;
    transform: translateX(0);
  }
}

td[data-title="Subtotal"]:before,
tr.cart-subtotal th {
  color: black !important;
}

tr.woocommerce-shipping-totals.shipping th,
tr.woocommerce-shipping-totals.shipping td::before,
tr.order-total th,
tr.order-total td::before,
span.woocommerce-Price-amount.amount > bdi {
  color: black !important;
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
  font-size: 26px;
  text-align: center;
  margin-bottom: 26px;
  color: #9d8f80;
  font-weight: 500;
  text-transform: uppercase;
}

.woocommerce-page.woocommerce-checkout .woocommerce-order ul.order_details {
  margin-top: 1em;
}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
  padding: 0;
  margin: 20px 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 15px;
  color: #000;
}

.woocommerce-order > p:not(.woocommerce-notice) {
  font-size: 16px;
  color: #000;
}

section.woocommerce-bacs-bank-details {
  display: flex;
  flex-direction: column;
  padding: 10px 0;
}

.elementor-widget-woocommerce-checkout-page .woocommerce .shop_table {
  font-size: 16px !important;
  margin-bottom: 0 !important;
  max-width: max-content;
  border: 1px solid red !important;
  border-radius: 15px;
  padding: 10px;
  border-collapse: separate;
  border-spacing: 30px 5px;
  color: black;
}

.elementor-widget-woocommerce-checkout-page
  .woocommerce
  .shop_table
  .woocommerce-Price-amount.amount {
  color: #000;
  font-weight: 600;
}

td.woocommerce-table__product-name.product-name {
  font-weight: 600;
}

.elementor-widget-woocommerce-checkout-page
  .woocommerce
  .shop_table
  tfoot
  tr
  th,
.elementor-widget-woocommerce-checkout-page
  .woocommerce
  .shop_table
  tfoot
  tr
  td {
  color: #000;
}

section.woocommerce-customer-details > section {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

p.texto-destacado-rojo {
  text-decoration: underline;
  text-decoration-color: red;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.titulo-cst-home span {
  font-size: 18px;
}

/* Slider especial home */
.contenedor-sliders-destacados-cst .elementor-swiper-button {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    visibility 0s linear 0.35s;
}

.contenedor-sliders-destacados-cst:hover .elementor-swiper-button {
  opacity: 0.8;
  visibility: visible;
  pointer-events: auto;
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    visibility 0s linear 0s;
}

.contenedor-sliders-destacados-cst .elementor-swiper-button-prev {
  transform: translateX(-10px) !important;
}

.contenedor-sliders-destacados-cst .elementor-swiper-button-next {
  transform: translateX(10px) !important;
}

.contenedor-sliders-destacados-cst .elementor-swiper-button-prev svg {
  transform: scale(0.8);
}

.contenedor-sliders-destacados-cst .elementor-swiper-button-next svg {
  transform: scale(0.8);
}

.contenedor-sliders-destacados-cst:hover .elementor-swiper-button-prev,
.contenedor-sliders-destacados-cst:hover .elementor-swiper-button-next {
  transform: translateX(0) !important;
}

.subtexto-cst p {
  margin: 0;
}

/* HOME */
.home-slide-cst .elementor-slide-heading .text-alt-cst {
  font-style: italic;
  font-family: "Arapey";
  font-size: 80px;
}

.home-slide-cst .elementor-slide-heading .small-text-cst {
  font-size: 30px;
  letter-spacing: -2px;
  font-weight: 300;
}

/*.elementor-slide-description:before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 576 512" xmlns="http://www.w3.org/2000/svg"><path fill="red" d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.5em;
  vertical-align: middle;
}*/

.cuadrado-made-in-spain figure.elementor-image-box-img {
  display: flex;
  justify-content: center;
}

.titulo-cst-principios-innegociables span {
  font-style: italic;
  font-family: "Arapey";
  font-size: 70px;
  font-weight: 300;
  letter-spacing: -1px;
}

.mb-0 p {
  margin-bottom: 0 !important;
}

.carrusel-cst.carrusel-cst-tarjetas
  .swiper-slide
  .elementor-widget.elementor-widget-text-editor {
  bottom: 0;
  position: absolute;
  width: 100%;
  padding: 0px 20px;
  color: white;
  font-size: 30px;
  background: #0000004d;
}

.carrusel-cst.carrusel-cst-tarjetas .elementor-swiper-button {
  visibility: visible;
}

/* NUEVO ESTILO V3 */

.boton-nuevo-cst svg {
  scale: 0.8;
}

/* Header con backdrop-filter */
#header-cst {
    --tw-backdrop-blur: blur(16px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-sepia: ;
    --tw-bg-opacity: 0.8;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

/* SOLUCIÓN: El contenedor del carrito debe ser position: static */
.elementor-element-bf140d0 {
    position: static !important;
}

/* Y el carrito lateral debe tener position: fixed */
.elementor-menu-cart__container.elementor-lightbox {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    height: 100vh !important;
    z-index: 999999 !important; /* Por encima del header */
}

/* Panel principal del carrito */
.elementor-menu-cart__main {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    height: 100vh !important;
    width: 400px !important;
    max-width: 90vw !important;
    background: #fff !important;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15) !important;
    z-index: 999999 !important;
}
/* Grid Contenedores */
.grid-nuevos-contenedores .elementor-image-box-content {
  position: absolute;
  bottom: 30px;
  left: 0px;
  padding: 0 40px;
  text-align: left;
}

.grid-nuevos-contenedores .elementor-image-box-img {
  margin-bottom: 0 !important;
}

.grid-nuevos-contenedores p.elementor-image-box-description {
  opacity: 0;
}

/* Wrapper necesario */
.grid-nuevos-contenedores .elementor-image-box-wrapper {
  position: relative;
  overflow: hidden;
  height: 100%;
}

/* Imagen */
.grid-nuevos-contenedores .elementor-image-box-img {
  position: relative;
  overflow: hidden;
}

/* === OVERLAY: degradado hacia abajo === */
.grid-nuevos-contenedores .elementor-image-box-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.15) 40%,
    rgba(0, 0, 0, 0.45) 100%
  );
  transition: opacity 0.35s ease;
  pointer-events: none;
}

/* Imagen SIN zoom por defecto */
.grid-nuevos-contenedores .elementor-image-box-img img {
  display: block;
  width: 100%;
  height: auto;
  transform: scale(1);
  transition: transform 0.45s ease;
}

/* === HOVER REAL === */
.grid-nuevos-contenedores
  .elementor-image-box-wrapper:hover
  .elementor-image-box-img
  img {
  transform: scale(1.06);
}

/* Descripción: baja + invisible */
.grid-nuevos-contenedores p.elementor-image-box-description {
  transform: translateY(14px);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}

/* Al hover sube y aparece */
.grid-nuevos-contenedores
  .elementor-image-box-wrapper:hover
  p.elementor-image-box-description {
  opacity: 1;
  transform: translateY(0);
}

/* === Border radius 30px correcto en todo el Image Box === */
.grid-nuevos-contenedores .elementor-image-box-wrapper {
  overflow: hidden;
}

.grid-nuevos-contenedores .elementor-image-box-img,
.grid-nuevos-contenedores .elementor-image-box-img::after,
.grid-nuevos-contenedores .elementor-image-box-wrapper {
  border-radius: 30px;
}

.texto-cortado-cst {
  max-width: 400px;
}

.precio-dinamico-cst.alt bdi {
  font-size: 20px !important;
  font-family: "Plus Jakarta Sans";
}

/* NEWSLETTER */

/* INPUT integrado */
.bt-newsletter {
  width: 480px !important;
  height: 65px !important;
  background: #443f39 !important;
  border-radius: 30px !important;
  display: flex !important;
  align-items: center !important;
  padding: 6px !important;
  box-sizing: border-box !important;
  border: 1px solid #56524c;
}

/* INPUT totalmente neutralizado */
.bt-newsletter input {
  flex: 1 !important;
  height: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 18px !important;
  margin: 0 !important;
  font-size: 15px !important;
  color: #d6d0c8 !important;
}

/* placeholder */
.bt-newsletter input::placeholder {
  color: #b5b0a8 !important;
  opacity: 1 !important;
  font-size: 18px;
}

/* BOTÓN */
.bt-newsletter button {
  height: 54px !important;
  padding: 0 27px !important;
  border: 0 !important;
  border-radius: 30px !important;
  background: #565d43 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  cursor: default !important;
}

@media screen and (max-width: 600px) {
  .bt-newsletter button {
    height: 45px !important;
    padding: 0 25px !important;
    font-size: 14px !important;
  }
  .bt-newsletter input::placeholder {
    font-size: 14px !important;
  }
}

.bt-newsletter-cont-cst {
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 1024px) {
  .bt-newsletter-cont-cst {
    justify-content: flex-start;
  }
}

/* Reset extra WP */
.bt-newsletter input,
.bt-newsletter button {
  appearance: none !important;
  -webkit-appearance: none !important;
}

ul.listado-textos-legales {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin: 0;
}

.variable-item.button-variable-item-sin-montar .variable-item-span::after,
.variable-item.button-variable-item-montado .variable-item-span::after {
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 0.2;
  color: #666;
  text-align: center;
  font-weight: 400;
}

/* Texto específico: Sin montar */
.variable-item.button-variable-item-sin-montar .variable-item-span::after {
  content: "Embalaje optimizado";
}

/* Texto específico: Montado */
.variable-item.button-variable-item-montado .variable-item-span::after {
  content: "Listo para usar";
}

.tabla-cst tr.premium-table-row > td:first-child span {
  letter-spacing: 0.3px;
}

.tabla-cst tr.premium-table-row > td:first-child span:after {
  content: ":";
}

.tabla-cst tr.premium-table-row > td:last-child span {
  font-weight: 300 !important;
}

/* IGUALAR ALTRUA */
.productos-archive-cst
  div[data-elementor-type="loop-item"]
  > div
  .e-con-inner
  > div:last-child
  .elementor-widget-button {
  margin-top: auto;
}

.sub-titulo-archive:has(.elementor-shortcode:empty) {
  height: 100%;
  margin-bottom: 27px;
}

.qib-button-wrapper button.qib-button {
  padding-bottom: 5px !important;
}

.icono-main-slider > div .elementor-icon-box-icon {
  margin-top: 3px;
}

.icono-main-slider .elementor-icon-box-wrapper {
  align-items: flex-start !important;
  text-align: justify !important;
}

@-moz-document url-prefix() {
  .icono-main-slider > div .elementor-icon-box-icon {
    margin-top: 4px;
  }
} 

#contenedor-img-cat-scale-cst .elementor-widget-image a {
  border-radius: 30px;
  overflow: hidden;
}

/*==============================*/
/* Para los listados de productos
/*==============================*/
.cont-padre-archive {
  gap: 0 !important;
}
/* 
  el height se ajusta con el js
*/
.cont-padre-archive .principal-cat-archive {
  height: fit-content;
}
.titulo-producto-archive {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/*=================================*/
/* Para el grid de la home RESPONSIVE
/*=================================*/

@media screen and (max-width: 1460px) and (min-width: 1270px) {
  .grid-nuevos-contenedores .elementor-image-box-content{
    padding: 0 20px;
  }
}

@media screen and (max-width: 1269px)  {
  .grid-nuevos-contenedores .elementor-image-box-content{
    padding: 0 11px;
  }
}

@media screen and (max-width:1200px) and (min-width: 768px) {
  .grid-home-cst {
    grid-template-rows: 2fr !important;
    --e-con-grid-template-columns: repeat(6, 1fr) !important;
    gap: 10px 20px;
  }
  .grid-home-c2 {
    grid-row-start: 1 !important;
    grid-column-start: 1 !important;
    grid-column-end: 7 !important;
  }
  .grid-home-c1 {
    grid-row-start: 2 !important;
    grid-column-start: 1 !important;
    grid-column-end: 3 !important;
  }
  .grid-home-c3 {
    grid-row-start: 2 !important;
    grid-column-start: 3 !important;
    grid-column-end: 5 !important;
  }
  .grid-home-c4 {
    grid-row-start: 2 !important;
    grid-column-start: 5 !important;
    grid-column-end: 7 !important;
  }
  .grid-nuevos-contenedores .elementor-image-box-content h3{
    font-size: 20px !important;
  }
  .grid-nuevos-contenedores .elementor-image-box-content p{
    font-size: 16px !important;
  }
}

@media screen and (max-width: 875px) and (min-width: 767px) {
  .grid-nuevos-contenedores .elementor-image-box-content p {
    min-height: 50px;
  }
}

@media screen and (max-width: 767px){
  .grid-home-c2 {
    grid-row-start: 1 !important;
  }
  .grid-nuevos-contenedores .elementor-image-box-content h3{
    font-size: 20px !important;
  }
  .grid-nuevos-contenedores .elementor-image-box-content p{
    font-size: 16px !important;
  }
}

/*=============================================*/
/* Para el listado de productos (HOME) RESPONSIVE
/*=============================================*/

.cont-padre-prod {
    gap: 0;
}

@media screen and (min-width: 767px) {
  .carrusel-bucle-cst-home .cont-prod-slider-cst .e-con-inner > div, .carrusel-bucle-cst-home .cont-prod-slider-cst .e-con-inner > div > div:last-child {
      height: 100% !important;
  }

  .single-product .cont-prod-slider-cst .sub-titulo-archive {
    min-height: 80px;
  }

  .single-product .cont-prod-slider-cst .archive-title-cst {
    min-height: 53px;
  }
}

.cont-padre-prod .principal-cat-archive {
  height: fit-content;
}

a.elementor-item.elementor-item-active.menu-link::before {
    content: '';
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    height: 16px;
    width: 2px;
    background-color: #837665;
}

@media screen and (max-width: 1024px){
  .texto-descripcion-extensa-cst {
    font-size: 14px;
  }
}

@media screen and (max-width: 767px){
  .texto-descripcion-extensa-cst {
    font-size: 12px;
  }
}

.shortcode-menu-cst {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.shortcode-menu-cst a {
  font-size: 16px;
  color: #D1D1D1;
}

ul.shortcode-menu-cst.horizontal {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 30px;
    margin: 0;
    flex-wrap: wrap;
}

.carrito-cst .shop_table td.actions > button {
    background: #565d43 !important;
    color: white;
    border: 1px solid #565d43;
}

.carrito-cst .elementor-widget-woocommerce-cart .woocommerce button.button:disabled:hover, .elementor-widget-woocommerce-cart .woocommerce button.button:disabled[disabled]:hover {
    background: #565d43;
    color: white;
    border: 1px solid #565d43;
}

.carrito-cst .elementor-widget-woocommerce-cart .woocommerce button.button:hover {
    background: white;
    color: #565d43;
    border: none;
    border: 1px solid #565d43;
}

td[data-title="Envío"] {
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
}

.carrito-cst .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr td:before {
  margin: 0 !important;
}

.carrito-cst ul#shipping_method {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    min-height: 50px;
    align-items: center;
    gap: 20px;
}

/* Ocultar el radio button nativo */
.woocommerce-shipping-methods input[type="radio"] {
    display: none;
}

/* Estilizar el label como botón seleccionable */
.woocommerce-shipping-methods label {
    display: block;
    padding: 12px 20px;
    border: 1px solid #565d43;
    border-radius: 30px !important;
    cursor: pointer;
    margin-bottom: 10px;
    transition: all 0.3s;
    margin-left: 5px;
    background-color: white;
    color: #565d43 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* Estado seleccionado */
.woocommerce-shipping-methods input[type="radio"]:checked + label {
    border: 1px solid #565d43;
    border-radius: 30px !important;
    font-weight: bold;
    box-shadow: var(--wvs-selected-item-box-shadow, 0px 0px 5px 3px #565d43);
}

.carrito-cst a.checkout-button.button.alt.wc-forward {
    padding: 10px 20px !important;
    border-radius: 30px;
    margin-left: 10px !important;
    background: #565d43 !important;
    font-size: 15px !important;
    font-weight: 600;
}

.carrito-cst p.woocommerce-shipping-destination {
    color: black !important;
}

.carrito-cst td.product-thumbnail {
    padding-left: 10px !important;
}

@media screen and (min-width: 1024px) and (max-width: 1400px){
  .carrito-cst ul#shipping_method {
    min-height: 100px;
  }
}

@media screen and (max-width: 1024px){
  td.product-quantity {
    min-height: 130px !important;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
  }
} 


@media screen and (max-width: 506px){
  .carrito-cst ul#shipping_method {
    min-height: 100px;
  }
}

.carrito-cst .e-shop-table.e-cart-section span.woocommerce-Price-amount.amount {
    font-weight: 700;
    font-size: 16px;
}

.elementor-widget-woocommerce-cart .woocommerce{
  font-family: "Plus Jakarta Sans", Sans-serif !important; 
}

.elementor-menu-cart__footer-buttons a.elementor-button {
    font-size: 16px !important;
    border-radius: 30px;
    padding: 10px !important;
}

form.woocommerce-shipping-calculator button {
    padding: 10px 20px !important;
    color: white !important;
    margin-left: 10px !important;
    background: #565d43 !important;
    font-size: 15px !important;
    border: none !important;
}

.elementor-menu-cart__product-remove:after, .elementor-menu-cart__product-remove:before {
    background: white;
}

.elementor-menu-cart__product-remove.product-remove {
    background: #7f7f7f;
}

.elementor-menu-cart__product-name.product-name, .elementor-menu-cart__product-price.product-price
{
    font-size: 16px;
    line-height: normal;
    color: black !important;
}

.widget_shopping_cart_content,
.elementor-menu-cart__footer-buttons a  {
    font-size: 16px;
    line-height: normal;
}

.woocommerce-MyAccount-content a.button.wc-forward {
    border-radius: 30px;
    background: white;
    color: black !important;
    font-size: 16px !important;
    font-family: "Plus Jakarta Sans", sans-serif;
}

.u-columns.woocommerce-Addresses.col2-set.addresses header.title {
    border: none;
}

@media (min-width: 922px) {
  .woocommerce-page.woocommerce-checkout form #customer_details.col2-set {
      width: 48%;
      float: left;
      margin-right: 0;
  }
  .woocommerce.woocommerce-checkout form #order_review, .woocommerce.woocommerce-checkout form #order_review_heading, .woocommerce-page.woocommerce-checkout form #order_review, .woocommerce-page.woocommerce-checkout form #order_review_heading{
      width: 48%;
  }
}


/**/

/* El td ocupa las 2 columnas correctamente */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td.shipping-full-width {
    display: table-cell;
    padding: 10px 0;
}

/* Flex solo en el div interior */
.shipping-full-width .shipping-inner {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: space-between;
    min-height: 60px;
}

/* Label "Envío" */
.shipping-full-width .shipping-label {
    font-weight: 600;
    white-space: nowrap;
}

/* Botones en fila */
.shipping-full-width ul#shipping_method {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.shipping-full-width ul#shipping_method li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Ocultar el contenido original */
tr.woocommerce-shipping-totals:not(.reestructurada) th,
tr.woocommerce-shipping-totals:not(.reestructurada) td {
    visibility: hidden;
    position: relative;
}

/* Placeholder encima */
tr.woocommerce-shipping-totals:not(.reestructurada) td::after {
    content: "Cargando métodos de envío...";
    visibility: visible;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 13px;
    font-style: italic;
}

.woocommerce-checkout #payment div.payment_box:not(.payment_method_stripe){
  display: none !important;
}


ul.wc_payment_methods {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    /*gap: 10px;*/
    align-items: flex-start;
    justify-content: center;
}

/* Cada li como botón */
ul.wc_payment_methods li.wc_payment_method {
    list-style: none;
    position: relative;
    padding-left: 0px;
    width: 100%;
}

/* Ocultar radio nativo */
ul.wc_payment_methods input[type="radio"] {
    display: none;
}

/* Label como botón */
ul.wc_payment_methods label {
    display: flex;
    align-items: center;
    border: 2px solid #ddd;
    padding: 15px 20px;
    cursor: pointer;
    transition: border-color 0.2s;
    white-space: nowrap;
    background: white;
}

/* Estado activo: radio checked → label hermano */
ul.wc_payment_methods input[type="radio"]:checked + label {
    border-color: #565d43;
    box-shadow: var(--wvs-selected-item-box-shadow, 0px 0px 5px 0px #565d43);
    width: 100%;
}

/* Ocultar descripciones */
ul.wc_payment_methods div.payment_box:not(.payment_method_stripe) {
    display: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li img {
    height: 22px;
    width: auto;
}

@media screen and (max-width: 650px) {
  .shipping-full-width .shipping-inner{
    min-height: 120px;
  }
  .shipping-full-width ul#shipping_method{
    gap: 30px;
  }
  .woocommerce-shipping-methods label,
  ul.wc_payment_methods label{
    font-size: 11.5px !important;
  }
  tr.woocommerce-cart-form__cart-item.cart_item {
    padding: 5px !important;
  }
}

.payment_box.payment_method_stripe {
    margin: 0 !important;
}

.woocommerce-checkout #payment div.payment_box::before{
  display: none !important;
}

ul.wc_payment_methods.payment_methods.methods > li:first-child label {
    border-radius: 12px 12px 0 0;
}

ul.wc_payment_methods.payment_methods.methods > li:last-child label {
    border-radius: 0 0 12px 12px;
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    float: right;
    border-radius: 30px;
    padding: 15px 10px;
    background: #565d43;
    color: white;
}

h3#order_review_heading, #order_review, .carrito-cst .e-cart-totals.e-cart-section {
    background: #fbfbfb;
}

section.woocommerce-customer-details h2.woocommerce-column__title {
    border: none !important;
    background: none !important;
}

.checkout-cst h3#order_review_heading {
    border-radius: 30px 30px 0 0;
}


.checkout-cst div#order_review {
    border-radius: 0 0 40px 40px !important;
}

.woocommerce-info {
    border-radius: 40px !important;
    border: none;
}

table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details {
    border-radius: 40px;
    padding: 30px;
}

.checkout-message {
    border-radius: 30px !important;
}

.woocommerce-js button.button:disabled, .woocommerce-js button.button:disabled[disabled] {
  opacity: 1 !important;
  color: white !important;
}

input#coupon_code, 
.checkout-cst input, 
span.select2-selection.select2-selection--single,
textarea#order_comments {
    border-radius: 30px !important;
}

.rgpd-toggle {
    background: none;
    border: none;
    padding: 0;
    box-shadow: none;
}

.shipping-no-method{
    margin:0;
    color:#777;
    font-size:13px;
    font-style:italic;
}

.woocommerce-order-received h2.woocommerce-order-details__title {
    background: none !important;
    border: none !important;
}

@media screen and (max-width: 991px){
  ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details,
  ul.wc-bacs-bank-details.order_details.bacs_details {
    display: flex;
    flex-direction: column;
  }
  .woocommerce-js ul.order_details li {
    margin: 0;
    padding: 10px;
    border: none;
  }
}


/* FORMULARIO FOOTER (NEWSLETTER CON ELEMENTOR) */

.newsletter-footer .elementor-form-fields-wrapper{
    display:flex;
    flex-wrap:wrap;
}

.newsletter-footer .elementor-field-group-correo{
    order:1;
}

.newsletter-footer .e-form__buttons{
    order:2;
}

.newsletter-footer .elementor-field-group-field_ab088e7{
    order:3;
}

.newsletter-footer .elementor-field-group-field_0077bb0{
    order:4;
}

.newsletter-footer .elementor-field-group-field_6e1eb38{
    order:5;
}


/* botón */
.newsletter-footer .e-form__buttons{
    position:absolute;
    right:4px;
    top:7px;
    max-width: 150px;
    width:100% !important;
    padding: 0px 20px;
    z-index: 2;
}

@media screen and (max-width:425px){
    .newsletter-footer .e-form__buttons{
        position:relative;
        right:0px;
        top:0px;
        z-index: 0;
    }
}

.woocommerce-js a.remove {
    right: 10px !important;
    bottom: 15px !important;
}

.woocommerce-js .woocommerce-mini-cart__total {
    justify-content: center;
    font-size: 20px;
    gap: 10px;
}

.woocommerce-js .woocommerce-mini-cart__total span.woocommerce-Price-amount.amount bdi {
    font-weight: 600;
}

/* Temporal, solicitado hasta que se tenga */
body:not(.elementor-editor-active) .elementor-widget-download_logger .ea-dl-wrapper {
    display: none;
}

.woocommerce-checkout #wc-stripe-express-checkout-element {
    display: block;
    margin-bottom: 0 !important;
    margin-top: 5px  !important;
    width: 100%;
}


/* Caja métodos de pago */
li.wc_payment_method.payment_method_stripe {
    max-width: 100%;
}

.wc_payment_method.payment_method_stripe fieldset label {
    all: unset !important;
}

.wc_payment_method.payment_method_stripe fieldset {
    padding: 20px;
}

/* mini carrito */
.elementor-menu-cart__main .widget_shopping_cart_content {
    height: fit-content !important;
    max-height: 90vh;
}

.elementor-menu-cart__main  p.woocommerce-mini-cart__buttons.buttons {
    flex-direction: row;
    gap: 10px;
    justify-content: space-between;
}

.woocommerce-js .widget_shopping_cart_content ul li.mini_cart_item {
    padding-left: 7em;
    padding-right: 20px;
}

.widget_shopping_cart_content ul.product_list_widget li a img {
    top: 47%;
    width: 6em;
    height: 5em;
}

li.woocommerce-mini-cart-item.mini_cart_item span.quantity, li.woocommerce-mini-cart-item.mini_cart_item span.quantity > span > bdi {
    font-weight: 700;
    font-size: 15px;
}

.woocommerce-js ul.cart_list li>a, .woocommerce-js ul.product_list_widget li>a {
    color: #606060 !important;
}

.elementor-menu-cart__main p.woocommerce-mini-cart__buttons.buttons a.checkout{
    color: white;
    font-weight: 600;
    border-radius: 30px 30px 30px 30px;
    background-color: #565d43;
    width: 48%;
}

.elementor-menu-cart__main p.woocommerce-mini-cart__buttons.buttons a.checkout:hover{
    color: white;
    font-weight: 600;
    border-radius: 30px 30px 30px 30px;
    background-color: #565d43;
}

.elementor-menu-cart__main p.woocommerce-mini-cart__buttons.buttons a:not(.checkout){
    color: black;
    font-weight: 600;
    border-radius: 30px 30px 30px 30px;
    width: 48%;
}

.elementor-menu-cart__main p.woocommerce-mini-cart__buttons.buttons a:not(.checkout):hover{
    color: white;
}

/* Tablas */
table.product-specs, table.product-specs tr td {
    border: 0;
    font-size: 15px;
}

table.product-specs tr td {
    border-bottom: 1px solid #CACACA38;
    padding: 8px;
}

table.product-specs tr > td:first-child {
    font-weight: 600;
    font-size: 15px;
    color: #333;
}

table.product-specs tr > td:last-child {
    font-weight: 200;
}

@media screen and (max-width: 480px) {
  table.product-specs tr > td:first-child,
  table.product-specs tr > td:last-child {
    font-size: 12px;
  }
}

/* STRIPE FINALIZAR COMPRA */
#wc-stripe-express-checkout-element.stripe-express-disabled {
  pointer-events: none;
  opacity: 0.45;
  cursor: not-allowed;
  position: relative;
}

#wc-stripe-express-checkout-element.stripe-express-disabled iframe {
  pointer-events: none !important;
}

#wc-stripe-express-checkout-element.stripe-express-disabled * {
  cursor: not-allowed !important;
}

.stripe-express-disabled-msg {
  margin-top: 10px;
  font-size: 13px;
  color: #b94a48;
}

/* MENSAJE CARRITO DESCUENTO */
.signup-discount-banner {
  display: flex;
  align-items: center;
  gap: 16px;
}

.discount-badge-wrap {
  position: relative;
  width: 90px;
  height: 90px;
  flex-shrink: 0;
}

.discount-badge-circle {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.discount-badge-circle span {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: white;
  line-height: 1.1;
}

.discount-badge-circle small {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: white;
}

.cart-signup-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cart-signup-text span {
  color: #333;
  font-size: 15px;
}

.cart-signup-text a {
  color: #ff6a00;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
}

.cart-signup-text a:hover {
  text-decoration: underline;
}


.custom-account-wrapper {
    max-width: 500px;
    margin: 0 auto;
    padding: 40px 30px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.custom-login-tabs {
    display: flex;
    margin-bottom: 30px;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
}

.custom-login-tabs .tab-btn {
    flex: 1;
    padding: 14px 20px;
    border: 0;
    background: #f7f7f7;
    color: #555;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.custom-login-tabs .tab-btn:hover {
    background: #efefef;
}

.custom-login-tabs .tab-btn.active {
    background: #111;
    color: #fff;
}

.custom-account-forms h2 {
    margin-bottom: 25px;
    font-size: 28px;
    text-align: center;
}

.login-form-wrapper,
.register-form-wrapper {
    display: none;
}

.login-form-wrapper.active,
.register-form-wrapper.active {
    display: block;
}

.custom-account-wrapper .form-row {
    margin-bottom: 18px;
}

.custom-account-wrapper label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.custom-account-wrapper input[type="text"],
.custom-account-wrapper input[type="email"],
.custom-account-wrapper input[type="password"] {
    width: 100%;
    height: 50px;
    padding: 0 15px;
    border: 1px solid #dcdcdc;
    border-radius: 6px;
    background: #fff;
    font-size: 15px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.custom-account-wrapper input[type="text"]:focus,
.custom-account-wrapper input[type="email"]:focus,
.custom-account-wrapper input[type="password"]:focus {
    border-color: #111;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0,0,0,0.05);
}

.custom-account-wrapper .remember-row {
    display: flex;
    align-items: center;
    margin-top: -5px;
}

.custom-account-wrapper .remember-row label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
    font-weight: 400;
}

.custom-account-wrapper input[type="checkbox"] {
    margin: 0;
}

.custom-account-wrapper button[type="submit"] {
    width: 100%;
    height: 52px;
    border: 0;
    border-radius: 6px;
    background: #111;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.custom-account-wrapper button[type="submit"]:hover {
    background: #333;
}

.custom-account-wrapper .woocommerce-LostPassword,
.custom-account-wrapper .switch-form-link {
    margin-top: 18px;
    text-align: center;
    font-size: 14px;
}

.custom-account-wrapper .woocommerce-LostPassword a,
.custom-account-wrapper .switch-form-link a {
    color: #111;
    font-weight: 600;
    text-decoration: none;
}

.custom-account-wrapper .woocommerce-LostPassword a:hover,
.custom-account-wrapper .switch-form-link a:hover {
    text-decoration: underline;
}

.custom-account-wrapper .register-info {
    margin-bottom: 20px;
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}

.custom-account-wrapper .woocommerce-privacy-policy-text {
    margin-bottom: 20px;
    font-size: 13px;
    color: #777;
    line-height: 1.5;
}

.custom-account-wrapper .woocommerce-privacy-policy-text a {
    color: #111;
    font-weight: 600;
    text-decoration: none;
}

.custom-account-wrapper .social-login-wrapper {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ececec;
}

/* RECAPTCHA */
.grecaptcha-badge {
    display: none !important;
}

/**/  

.copyright-text-cst {
  line-height: 1,7em;
  font-weight: 400;
  color: #D1D1D1;
}

ul#menu-footer-legal a {
    font-size: 13px !important;
}

ul#menu-footer-legal {
    gap: 15px;
}

a.qlwapp__button.qlwapp__button--button {
    border-radius: 50% !important;
    height: 45px;
    width: 30px;
}

.boton-translucido {
    -webkit-backdrop-filter: blur(40px);
    backdrop-filter: blur(40px);
}

/* =====================
 / CSS LANDING CARRUSEL
 / ===================== */

/* Contenedor del carrusel */
.carrusel-cst-landing {
  position: relative;
}

/* Paginación estilo barras tipo hero */
.carrusel-cst-landing .swiper-pagination {
  position: absolute !important;
  left: 50% !important;
  bottom: 40px !important;
  transform: translateX(-50%) !important;
  z-index: 20;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 12px;
  width: auto !important;
}

/* Bullets inactivos */
.carrusel-cst-landing .swiper-pagination-bullet {
  width: 48px !important;
  height: 4px !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.3) !important;
  opacity: 1 !important;
  margin: 0 !important;

  transition: all 500ms ease !important;
}

/* Bullet activo */
.carrusel-cst-landing .swiper-pagination-bullet-active {
  background: #ffffff !important;
  opacity: 1 !important;
}

.carrusel-cst-landing.elementor-pagination-position-outside .swiper-pagination {
  bottom: 40px !important;
  top: auto !important;
}

.carrusel-cst-landing > div:not(.elementor-swiper-button):not(.swiper-pagination) {
    padding: 0 !important;
}

a.enlace-cst-verde {
    border-bottom: 2px solid #565d43;
    padding-bottom: 5px;
    font-size: 17px;
    letter-spacing: 0px;
    font-weight: 600;
}

.custom-serie-landing-cst {
  transition: transform 0.35s ease;
  will-change: transform;
}

.custom-serie-landing-cst:hover {
  transform: translateY(-10px);
}

.cont-texto-height-cst {
    height: 100%;
}

.cont-texto-height-cst .elementor-widget-button {
    margin-top: auto;
}

.carrusel-cst-landing-alt .swiper-pagination {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 0 auto;
}

.carrusel-cst-landing-alt .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  min-width: 8px;
  border-radius: 999px;
  background: #e6e6e6;
  opacity: 1;
  margin: 0 !important;
  padding: 0;
  transition: width 0.3s ease, background-color 0.3s ease;
}

.carrusel-cst-landing-alt .swiper-pagination-bullet-active {
  width: 40px;
  background: #1f2937;
}

.form-landing-cst button {
    margin-top: 10px;
}

.form-landing-cst .select-caret-down-wrapper {
    display: none;
}
