/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Tema hijo de Astra
Author: Tu Nombre
Author URI: https://tusitio.com
Template: astra
Version: 1.0.3
Text Domain: astra-child
*/

/* ================================================
   INFRAESTRUCTURA BASE
   ================================================ */
.ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Galería Woo nativa: altura flexible (no fija) */
.woocommerce-product-gallery {
  height: auto;
  max-height: min(70vw, 420px);
}

/* Header siempre visible */
#masthead,
.site-header,
.ast-header-sticky,
.main-header-bar {
  background-color: #111827 !important;
  opacity: 1 !important;
}

.elementor-sticky--effects .ast-header-sticky,
header.transparent-header {
  background-color: #111827 !important;
}

/* Popup catálogo: tamaño fluido en móvil (evita recorte) */
@media (max-width: 767px) {
  #elementor-popup-modal-1583 .dialog-widget-content,
  #elementor-popup-modal-1583 .dialog-message {
    width: min(92vw, 360px) !important;
    max-width: 92vw !important;
    height: auto !important;
    max-height: min(85vh, 520px) !important;
  }
}

/* WhatsApp flotante (tema hijo; oculta el plugin Click to Chat si sigue activo) */
.byo-whatsapp-float {
  position: fixed;
  right: 20px;
  bottom: 24px;
  z-index: 9990;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.45);
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.byo-whatsapp-float:hover,
.byo-whatsapp-float:focus {
  color: #ffffff !important;
  transform: scale(1.06);
  box-shadow: 0 6px 18px rgba(37, 211, 102, 0.55);
}

.byo-whatsapp-float svg {
  display: block;
}

@media (max-width: 767px) {
  .byo-whatsapp-float {
    display: none !important;
  }
}

#ht-ctc-chat,
.ht-ctc-chat,
body [class*="ht-ctc-chat"] {
  display: none !important;
  pointer-events: none !important;
}
/* ================================================
   ELEMENTOR — RESPONSIVE SAFETY NET
   Corrige paddings/margins horizontales excesivos
   y márgenes negativos agresivos en móvil/tablet.
   ================================================ */
@media (max-width: 1024px) {
  /* home */
  .elementor-element.elementor-element-da58fd2 {
    padding: 56px 40px !important;
  }
  .elementor-element.elementor-element-240f615 {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }
  .elementor-element.elementor-element-092ab53 {
    padding-top: 49px !important;
    padding-bottom: 49px !important;
  }

  /* archive / blog / renting — laterales 48px */
  .elementor-element.elementor-element-0dadd6c,
  .elementor-element.elementor-element-a71ad85,
  .elementor-element.elementor-element-975a200 {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .elementor-element.elementor-element-7d6937d {
    margin: 52px 32px !important;
  }

  /* blog template — padding-left 130px */
  .elementor-element.elementor-element-07c1fa0 {
    padding-left: 40px !important;
    margin-top: -45px !important;
  }

  /* single-post — padding-right 200px */
  .elementor-element.elementor-element-6380311 {
    padding-right: 40px !important;
    margin-top: 0 !important;
  }

  .elementor-element.elementor-element-1fbe241 {
    margin-top: 49px !important;
    margin-bottom: 49px !important;
  }

  .elementor-element.elementor-element-8532be8 {
    margin-top: 64px !important;
  }

  /* márgenes negativos de hero */
  .elementor-element.elementor-element-02ccb7f,
  .elementor-element.elementor-element-7b863c2,
  .elementor-element.elementor-element-269eeff,
  .elementor-element.elementor-element-dedb3d7,
  .elementor-element.elementor-element-6c01d08,
  .elementor-element.elementor-element-1087a4d,
  .elementor-element.elementor-element-e1e6341,
  .elementor-element.elementor-element-ce69d79,
  .elementor-element.elementor-element-e84e12a {
    margin-top: -45px !important;
  }

  .elementor-element.elementor-element-1b836b3 {
    margin-right: 16px !important;
  }

  .elementor-element.elementor-element-5b38e46,
  .elementor-element.elementor-element-4b135cd {
    margin-left: 24px !important;
    margin-right: 24px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .elementor-element.elementor-element-3232de8a {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}

@media (max-width: 767px) {
  /* Contenedores Elementor: evita desborde por padding/margin lateral fijo */
  .elementor-section > .elementor-container,
  .e-con > .e-con-inner {
    max-width: 100%;
  }

  .elementor-element.elementor-element-da58fd2 {
    padding: 40px 16px !important;
  }
  .elementor-element.elementor-element-240f615 {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
  .elementor-element.elementor-element-092ab53 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .elementor-element.elementor-element-8efefe8 {
    padding-bottom: 40px !important;
  }
  .elementor-element.elementor-element-a9a28c5 {
    margin-top: 28px !important;
  }

  .elementor-element.elementor-element-0dadd6c,
  .elementor-element.elementor-element-a71ad85,
  .elementor-element.elementor-element-975a200 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .elementor-element.elementor-element-7d6937d {
    margin: 32px 16px !important;
  }

  .elementor-element.elementor-element-07c1fa0 {
    padding-left: 16px !important;
    margin-top: -22px !important;
  }

  .elementor-element.elementor-element-6380311 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .elementor-element.elementor-element-1fbe241 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }

  .elementor-element.elementor-element-8532be8 {
    margin-top: 32px !important;
  }

  .elementor-element.elementor-element-02ccb7f,
  .elementor-element.elementor-element-7b863c2,
  .elementor-element.elementor-element-269eeff,
  .elementor-element.elementor-element-dedb3d7,
  .elementor-element.elementor-element-6c01d08,
  .elementor-element.elementor-element-1087a4d,
  .elementor-element.elementor-element-e1e6341,
  .elementor-element.elementor-element-ce69d79,
  .elementor-element.elementor-element-e84e12a {
    margin-top: -22px !important;
  }

  .elementor-element.elementor-element-1b836b3 {
    margin-right: 10px !important;
  }

  .elementor-element.elementor-element-5b38e46,
  .elementor-element.elementor-element-4b135cd {
    margin-left: 13px !important;
    margin-right: 13px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
  }

  .elementor-element.elementor-element-3232de8a {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .elementor-element.elementor-element-9480996 {
    margin-bottom: -6px !important;
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }

  .elementor-element.elementor-element-469b180,
  .elementor-element.elementor-element-38c7926,
  .elementor-element.elementor-element-127ba59,
  .elementor-element.elementor-element-e6d52fd {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }

  .elementor-element.elementor-element-4217915 {
    margin-top: 42px !important;
  }

  .elementor-element.elementor-element-7b863c2 {
    margin-top: -24px !important;
  }

  /* Imágenes con altura fija en custom CSS de plantillas producto */
  .elementor-widget-woocommerce-product-images .img-prod,
  .woocommerce div.product div.images .img-prod {
    height: auto !important;
    max-height: min(78vw, 340px) !important;
    width: 100% !important;
  }
}

/* ================================================
   GRID DE PRODUCTOS
   ================================================ */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #dddbd6 !important;
}

@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
    gap: 1px !important;
  }
}

/* ================================================
   CARD BASE
   ================================================ */
.woocommerce ul.products li.product {
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: #f5f4f0 !important;
  box-shadow: none !important;
  transition: background 0.25s ease !important;
  display: flex !important;
  flex-direction: column !important;
  cursor: pointer !important;
  min-height: 1px !important;
}

.woocommerce ul.products li.product:hover {
  background: #edecea !important;
  box-shadow: none !important;
  transform: none !important;
}

.woocommerce ul.products li.product:empty {
  display: none !important;
}

/* ================================================
   IMAGEN
   ================================================ */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
  background: #f5f4f0 !important;
  border-radius: 0 !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 20px !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  display: block !important;
  background: #f5f4f0 !important;
  transition: transform 0.5s ease !important;
}

.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img {
  transform: scale(1.05) !important;
}

/* Overlay hover */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap::after {
  content: 'VER PRODUCTO' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(232, 65, 42, 0.80) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  pointer-events: none !important;
}

.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap::after {
  opacity: 1 !important;
}

/* Badge oferta */
.woocommerce ul.products li.product .ast-on-card-button.ast-onsale-card {
  background: #e8412a !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  padding: 4px 8px !important;
  top: 16px !important;
  left: 16px !important;
}

.woocommerce ul.products li.product .ast-on-card-button.ast-select-options-trigger {
  display: none !important;
}

/* ================================================
   INFO INFERIOR
   ================================================ */
.woocommerce ul.products li.product .astra-shop-summary-wrap {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff !important;
  border-top: 2px solid #e8412a !important;
}

.woocommerce ul.products li.product .ast-woo-product-category {
  font-family: 'Barlow', sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  color: #e8412a !important;
  text-transform: uppercase !important;
  letter-spacing: 2.5px !important;
  padding: 16px 20px 4px !important;
  margin: 0 !important;
  display: block !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Barlow', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111111 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 4px 20px 8px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.woocommerce ul.products li.product .price {
  font-family: 'Barlow', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #777777 !important;
  margin: 0 !important;
  padding: 0 20px 6px !important;
  display: block !important;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
}
.woocommerce ul.products li.product .price del {
  font-size: 11px !important;
  color: #bbbbbb !important;
  font-weight: 400 !important;
  margin-right: 4px !important;
}

.woocommerce ul.products li.product .stock {
  font-family: 'Barlow', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #16a34a !important;
  margin: 0 !important;
  padding: 0 20px 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.woocommerce ul.products li.product .stock::before {
  content: '' !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #16a34a !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

/* ================================================
   BOTÓN "Añadir al presupuesto"
   ================================================ */
.woocommerce ul.products li.product .yith-ywraq-add-to-quote {
  margin-top: auto !important;
  padding: 0 !important;
}

.woocommerce ul.products li.product .add-request-quote-button,
.woocommerce ul.products li.product .yith-ywraq-add-to-quote .add-request-quote-button,
.woocommerce ul.products li.product a.button {
  display: block !important;
  width: 100% !important;
  background: #111111 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  padding: 14px 20px !important;
  margin: 0 !important;
  text-align: center !important;
  transition: background 0.2s ease !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

.woocommerce ul.products li.product .add-request-quote-button:hover,
.woocommerce ul.products li.product .yith-ywraq-add-to-quote .add-request-quote-button:hover,
.woocommerce ul.products li.product a.button:hover {
  background: #e8412a !important;
  color: #ffffff !important;
}

.woocommerce ul.products li.product .clear {
  display: none !important;
}

/* ================================================
   RESPONSIVE MÓVIL
   ================================================ */
@media (max-width: 767px) {

  .woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
    padding: 14px !important;
  }

  .woocommerce ul.products li.product .ast-woo-product-category {
    font-size: 8px !important;
    padding: 12px 14px 3px !important;
    letter-spacing: 2px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    padding: 3px 14px 6px !important;
  }

  .woocommerce ul.products li.product .price {
    font-size: 12px !important;
    padding: 0 14px 4px !important;
  }

  .woocommerce ul.products li.product .stock {
    font-size: 9px !important;
    padding: 0 14px 10px !important;
  }

  .woocommerce ul.products li.product .add-request-quote-button,
  .woocommerce ul.products li.product .yith-ywraq-add-to-quote .add-request-quote-button,
  .woocommerce ul.products li.product a.button {
    font-size: 9px !important;
    padding: 12px 8px !important;
    letter-spacing: 1.5px !important;
  }

  .woocommerce ul.products li.product .astra-shop-thumbnail-wrap::after {
    display: none !important;
  }
}

/* ================================================
   POPUP CATÁLOGO (ID 1583)
   ================================================ */
.elementor-popup-modal .elementor-heading-title,
.elementor-popup-modal h1,
.elementor-popup-modal h2,
.elementor-popup-modal h3 {
  font-family: 'Barlow', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111111 !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  border-bottom: 1px solid #E5E7EB !important;
  background: #F9FAFB !important;
}

.elementor-popup-modal .dialog-close-button {
  top: 12px !important;
  right: 16px !important;
  color: #6B7280 !important;
  font-size: 14px !important;
}

/* ================================================
   LENIS SMOOTH SCROLL
   ================================================ */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

body {
  overflow-x: hidden;
}

/* ================================================
   CUENTA: Acceder / Registrarse (naranja corporativo)
   ================================================ */
.woocommerce #customer_login button.button,
.woocommerce .woocommerce-form-login button.button,
.woocommerce .woocommerce-form-register button.button,
.woocommerce .woocommerce-ResetPassword button.button,
.woocommerce button.woocommerce-form-login__submit,
.woocommerce button.woocommerce-form-register__submit,
.woocommerce button.woocommerce-form-login__submit:disabled,
.woocommerce button.woocommerce-form-register__submit:disabled {
  background: #F5A623 !important;
  color: #111827 !important;
  border: none !important;
}

.woocommerce #customer_login button.button:hover,
.woocommerce #customer_login button.button:focus,
.woocommerce .woocommerce-form-login button.button:hover,
.woocommerce .woocommerce-form-login button.button:focus,
.woocommerce .woocommerce-form-register button.button:hover,
.woocommerce .woocommerce-form-register button.button:focus,
.woocommerce .woocommerce-ResetPassword button.button:hover,
.woocommerce .woocommerce-ResetPassword button.button:focus,
.woocommerce button.woocommerce-form-login__submit:hover,
.woocommerce button.woocommerce-form-login__submit:focus,
.woocommerce button.woocommerce-form-register__submit:hover,
.woocommerce button.woocommerce-form-register__submit:focus {
  background: #e09416 !important;
  color: #111827 !important;
}



/* BYO: sin sombra Astra en carruseles de producto */
.ast-article-single .byomedic-pc img,
.ast-article-single .byomedic-pg img,
.elementor-widget-byomedic_related_products_carousel img,
.elementor-widget-byomedic_products_carousel img,
.byomedic-pg__image,
.byomedic-pc__image {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  filter: none !important;
}

.byomedic-pg__media,
.byomedic-pc__media {
  overflow: hidden !important;
}

/* SEO H1 en slider: conservar color blanco del slide (el theme pinta h1 en azul) */
.elementor-slides .elementor-slide-heading,
.elementor-slides h1.elementor-slide-heading {
	color: #ffffff !important;
}
