/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/
/* Solo afecta al menú principal */
#menu-menu-principal .woodmart-nav-link .nav-link-text {
    color: #ffffff !important;  /* Blanco */
}

/* Servicios en tableta: conserva la proporcion natural de cada imagen. */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-161 .elementor-element.elementor-element-57d55b57,
  .elementor-161 .elementor-element.elementor-element-c2c2681 {
    display: none !important;
  }

  .elementor-161 .elementor-element.elementor-element-46820b2 {
    --min-height: 0px !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1733 / 1024 !important;
    overflow: hidden !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  .elementor-161 .elementor-element.elementor-element-b338df5,
  .elementor-161 .elementor-element.elementor-element-063b59d {
    --min-height: 0px !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  .elementor-161 .elementor-element.elementor-element-13da93d {
    overflow: visible !important;
    margin-bottom: 30px !important;
  }

  .elementor-161 .elementor-element.elementor-element-13da93d::before {
    display: none !important;
    opacity: 0 !important;
  }

  .elementor-161 .elementor-element.elementor-element-13da93d::after {
    content: "Mu\00E9vete libremente, sin complicaciones con Diners Club y BBVA. Aplican t\00E9rminos y condiciones.";
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    bottom: -30px;
    left: 0;
    z-index: 3;
    min-height: 30px;
    padding: 4px 10px;
    background: #ffcc00;
    color: #111;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
  }
}


.text-bold.phone-number{display:none!important;}

/* === Fix header móvil: precio del carrito se cortaba en pantallas chicas (18-jul) === */
@media(max-width:576px){
  .whb-general-header .wd-header-cart .wd-cart-subtotal{display:none !important;}
  .whb-general-header .whb-col-right{margin-right:0 !important;}
}

/* === Banners responsive More Texh (22-jul-2026) ===
 * Mantiene completa la proporcion 20:9 de los artes entregados.
 * Evita que background-size: cover recorte logos/textos en PC, tablet y celular.
 */
.elementor-element-d2027bd,
.elementor-element-13da93d,
.elementor-element-71353c28 {
  aspect-ratio: 20 / 9 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  background-position: center center !important;
  background-size: cover !important;
  background-attachment: scroll !important;
  overflow: hidden;
}

/* Nosotros usa un widget de imagen, no un fondo. */
.elementor-element-e04a157,
.elementor-element-e04a157 img {
  width: 100% !important;
  max-width: none !important;
}

.elementor-element-e04a157 img {
  height: auto !important;
  aspect-ratio: 20 / 9;
  object-fit: contain !important;
  display: block;
}

/* Las miniaturas verticales de ambos productos deben mostrarse completas. */
.woocommerce-shop .product-element-top img,
.woocommerce-shop .product-image-link img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Checkout movil: el adjunto del comprobante Yape no debe salir de su caja. */
@media (max-width: 767px) {
  .payment_method_pago_moviles_peru #wc-pago_moviles_peru-cc-form,
  .payment_method_pago_moviles_peru #wc-pago_moviles_peru-cc-form .form-row,
  .payment_method_pago_moviles_peru #pago_moviles_peru_trf_image {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .payment_method_pago_moviles_peru .qrcode-image {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* === Auditoria responsive integral More Texh (03-ago-2026) ===
 * Corrige alturas fijas, solapamientos y tarjetas con margen negativo.
 */

/* Las miniaturas del loop crecen de 229 px a todo el ancho. El widget padre
 * conservaba los 300 px del atributo HTML y el contenido siguiente las pisaba. */
.elementor-26 .elementor-element.elementor-element-559d8088,
.elementor-26 .elementor-element.elementor-element-5920a01c {
  --width: 100% !important;
  max-width: 100% !important;
}

.elementor-element-59df2d3,
.elementor-element-494d924,
.elementor-element-59df2d3 .elementor-shortcode,
.elementor-element-494d924 .elementor-shortcode {
  height: auto !important;
  min-height: 0 !important;
}

.elementor-element-59df2d3,
.elementor-element-494d924 {
  width: 100% !important;
  aspect-ratio: 229 / 300 !important;
  flex: 0 0 auto !important;
  margin-bottom: 12px !important;
}

.elementor-element-59df2d3 .elementor-shortcode,
.elementor-element-494d924 .elementor-shortcode,
.elementor-element-59df2d3 .datx-product-image-wrapper,
.elementor-element-494d924 .datx-product-image-wrapper {
  height: 100% !important;
}

.datx-product-image-wrapper,
.datx-product-image-wrapper .datx-image-link,
.datx-product-image-wrapper .datx-product-image {
  display: block;
  width: 100%;
  height: auto !important;
}

@media (max-width: 1024px) {
  /* Nosotros: imagen y tarjeta pasan a ser bloques reales, sin superposicion. */
  .elementor-159 .elementor-element.elementor-element-e1f6e67 > .e-con-inner {
    gap: 0 !important;
  }

  .elementor-159 .elementor-element.elementor-element-52e3357e {
    --width: 100% !important;
    --min-height: 360px !important;
    border-radius: 18px 18px 0 0;
    overflow: hidden;
  }

  .elementor-159 .elementor-element.elementor-element-52df966e {
    --width: 100% !important;
    --margin-top: 0px !important;
    --margin-bottom: 0px !important;
    --margin-left: 0px !important;
    --margin-right: 0px !important;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .10);
  }

  /* Servicios: el arte de Como trabajamos deja de quedar detras del texto. */
  .elementor-161 .elementor-element.elementor-element-414e2fc > .e-con-inner {
    gap: 0 !important;
  }

  .elementor-161 .elementor-element.elementor-element-063b59d {
    --width: 100% !important;
    --min-height: 300px !important;
    border-radius: 18px 18px 0 0;
    overflow: hidden;
  }

  .elementor-161 .elementor-element.elementor-element-5218622 {
    --width: 100% !important;
    --margin-top: 0px !important;
    --margin-bottom: 0px !important;
    --margin-left: 0px !important;
    --margin-right: 0px !important;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .10);
  }

  /* Contacto conservaba 60 px arriba + 160 px abajo del mapa en tablet. */
  .elementor-171 .elementor-element.elementor-element-5463a51a {
    --margin-top: 40px !important;
    --margin-bottom: 48px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* El footer tenia tres columnas de 25%; email y servicios se cruzaban. */
  .elementor-18 .elementor-element.elementor-element-383579df {
    --width: 100% !important;
  }

  .elementor-18 .elementor-element.elementor-element-4d2c8009,
  .elementor-18 .elementor-element.elementor-element-657948d {
    --width: 50% !important;
    --padding-left: 14px !important;
    --padding-right: 14px !important;
  }

  .elementor-18 .elementor-element.elementor-element-4df91c3b {
    --width: 100% !important;
    --padding-left: 14px !important;
    --padding-right: 14px !important;
  }

  .elementor-18 .elementor-icon-list-text,
  .elementor-18 a {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 767px) {
  /* El boton flotante se cruzaba con campos, bullets, miniaturas y filtros.
   * En movil quedan los accesos WhatsApp del header, secciones y footer. */
  .floating-buttons {
    display: none !important;
  }

  /* En movil las animaciones de entrada de Elementor dejaban huecos blancos
   * mientras el usuario se desplazaba rapido o llegaba mediante un ancla. */
  .elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  /* Presentacion Nosotros: mas aire util y sin cajas decorativas vacias. */
  .elementor-159 .elementor-element.elementor-element-cff0cb5 {
    --padding-top: 24px !important;
    --padding-bottom: 24px !important;
    --padding-left: 18px !important;
    --padding-right: 18px !important;
  }

  .elementor-159 .elementor-element.elementor-element-982db33 {
    display: none !important;
  }

  .elementor-159 .elementor-element.elementor-element-e1f6e67 {
    --padding-top: 18px !important;
    --padding-bottom: 28px !important;
    --padding-left: 12px !important;
    --padding-right: 12px !important;
    background: #f4f5f7;
  }

  .elementor-159 .elementor-element.elementor-element-52e3357e {
    --min-height: 230px !important;
    background-position: center center !important;
  }

  .elementor-159 .elementor-element.elementor-element-52df966e {
    --padding-top: 26px !important;
    --padding-bottom: 26px !important;
    --padding-left: 18px !important;
    --padding-right: 18px !important;
  }

  .elementor-159 .elementor-element.elementor-element-42ad6462 .elementor-heading-title,
  .elementor-159 .elementor-element.elementor-element-2d085b7 .elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.05;
  }

  .elementor-159 .elementor-element.elementor-element-42ad6462 {
    border-left: 5px solid #ffcc00;
    padding-left: 12px !important;
  }

  .elementor-159 .elementor-element.elementor-element-1e24a0b2 {
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --e-con-grid-template-rows: none !important;
    --gap: 10px 10px !important;
    --row-gap: 10px !important;
    --column-gap: 10px !important;
  }

  .elementor-159 .elementor-element.elementor-element-1e24a0b2 > .elementor-widget-text-editor {
    min-width: 0;
    min-height: 76px;
    padding: 11px 9px;
    border: 1px solid #e8ebef;
    border-left: 4px solid #ffcc00;
    border-radius: 10px;
    background: #f8f9fa;
    font-size: 16px !important;
    line-height: 1.15;
  }

  .elementor-159 .elementor-element.elementor-element-1e24a0b2 > .elementor-widget-text-editor > .elementor-widget-container,
  .elementor-159 .elementor-element.elementor-element-1e24a0b2 > .elementor-widget-text-editor > .elementor-widget-container > p,
  .elementor-159 .elementor-element.elementor-element-1e24a0b2 > .elementor-widget-text-editor > .elementor-widget-container > span {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    font-size: 16px !important;
  }

  .elementor-159 .elementor-element.elementor-element-1e24a0b2 img {
    float: none !important;
    flex: 0 0 32px;
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    margin: 0 !important;
    object-fit: contain;
  }

  /* Servicios: reduce rellenos largos y convierte los pasos en una cuadricula. */
  .elementor-161 .elementor-element.elementor-element-2ce1b623,
  .elementor-161 .elementor-element.elementor-element-07202ff {
    --padding-top: 32px !important;
    --padding-bottom: 40px !important;
    --padding-left: 18px !important;
    --padding-right: 18px !important;
  }

  .elementor-161 .elementor-element.elementor-element-414e2fc {
    --padding-top: 18px !important;
    --padding-bottom: 30px !important;
    --padding-left: 12px !important;
    --padding-right: 12px !important;
    background: #f4f5f7;
  }

  .elementor-161 .elementor-element.elementor-element-063b59d {
    --min-height: 210px !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  .elementor-161 .elementor-element.elementor-element-5218622 {
    --padding-top: 26px !important;
    --padding-bottom: 26px !important;
    --padding-left: 18px !important;
    --padding-right: 18px !important;
  }

  .elementor-161 .elementor-element.elementor-element-06f60b9 {
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --e-con-grid-template-rows: none !important;
    --gap: 10px 10px !important;
    --row-gap: 10px !important;
    --column-gap: 10px !important;
  }

  .elementor-161 .elementor-element.elementor-element-06f60b9 > .elementor-widget-text-editor {
    min-width: 0;
    min-height: 112px;
    padding: 13px 11px;
    border-left: 4px solid #ffcc00;
    border-radius: 10px;
    background: #f7f8fa;
    font-size: 16px !important;
    line-height: 1.35;
  }

  /* Contacto: elimina el gran vacio antes/despues del mapa. */
  .elementor-171 .elementor-element.elementor-element-4c53e74e {
    --margin-top: 40px !important;
  }

  .elementor-171 .elementor-element.elementor-element-5463a51a {
    --margin-top: 32px !important;
    --margin-bottom: 40px !important;
    --padding-left: 12px !important;
    --padding-right: 12px !important;
  }

  /* Tarjetas de productos: la foto y los textos deben ocupar bloques separados.
   * Esto evita que el titulo/precio queden encima de la imagen durante lazy-load. */
  .elementor-108 .elementor-element.elementor-element-b79934d > .e-con-inner,
  .elementor-140 .elementor-element.elementor-element-113354c > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #fff !important;
  }

  .elementor-108 .elementor-element.elementor-element-59df2d3,
  .elementor-140 .elementor-element.elementor-element-494d924 {
    position: relative !important;
    z-index: 1 !important;
    flex: 0 0 300px !important;
    width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .elementor-108 .elementor-element.elementor-element-59df2d3 .elementor-shortcode,
  .elementor-140 .elementor-element.elementor-element-494d924 .elementor-shortcode,
  .elementor-108 .elementor-element.elementor-element-59df2d3 .datx-product-image-wrapper,
  .elementor-140 .elementor-element.elementor-element-494d924 .datx-product-image-wrapper,
  .elementor-108 .elementor-element.elementor-element-59df2d3 .datx-image-link,
  .elementor-140 .elementor-element.elementor-element-494d924 .datx-image-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .elementor-108 .elementor-element.elementor-element-59df2d3 img.datx-product-image,
  .elementor-140 .elementor-element.elementor-element-494d924 img.datx-product-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .elementor-108 .elementor-element.elementor-element-073466e,
  .elementor-140 .elementor-element.elementor-element-182d4c8 {
    position: relative !important;
    z-index: 3 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 14px 5px !important;
    background: #fff !important;
  }

  .elementor-108 .elementor-element.elementor-element-073466e .elementor-heading-title,
  .elementor-140 .elementor-element.elementor-element-182d4c8 .elementor-heading-title {
    font-size: 19px !important;
    line-height: 1.2 !important;
    color: #111 !important;
  }

  .elementor-108 .elementor-element.elementor-element-d6e0390,
  .elementor-140 .elementor-element.elementor-element-243af0b {
    position: relative !important;
    z-index: 3 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 2px 14px 16px !important;
    background: #fff !important;
  }

  .elementor-140 .elementor-element.elementor-element-243af0b .price,
  .elementor-108 .elementor-element.elementor-element-d6e0390 .elementor-button {
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  /* Servicios: muestra las imagenes completas y evita superposiciones en movil. */
  .elementor-161 .elementor-element.elementor-element-57d55b57,
  .elementor-161 .elementor-element.elementor-element-c2c2681 {
    display: none !important;
  }

  .elementor-161 .elementor-element.elementor-element-46820b2 {
    --min-height: 0px !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1733 / 1024 !important;
    overflow: hidden !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  .elementor-161 .elementor-element.elementor-element-b338df5,
  .elementor-161 .elementor-element.elementor-element-063b59d {
    --min-height: 0px !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  .elementor-161 .elementor-element.elementor-element-13da93d {
    overflow: visible !important;
    margin-bottom: 28px !important;
  }

  /* El banner tenia una capa negra de Elementor; se elimina y se rehace
   * la franja inferior para que sus condiciones sean legibles en celular. */
  .elementor-161 .elementor-element.elementor-element-13da93d::before {
    display: none !important;
    opacity: 0 !important;
  }

  .elementor-161 .elementor-element.elementor-element-13da93d::after {
    content: "Mu\00E9vete libremente, sin complicaciones con Diners Club y BBVA. Aplican t\00E9rminos y condiciones.";
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    bottom: -28px;
    left: 0;
    z-index: 3;
    min-height: 28px;
    padding: 3px 8px;
    background: #ffcc00;
    color: #111;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: .1px;
    text-align: center;
  }
}
