/* ============================================
   PALLADIO DISEGNO — FIXES RESPONSIVOS
   Solo adaptacion mobile/tablet, sin cambios esteticos
   v1.0 — Julio 2026
   ============================================ */

/* 1. Tipografia responsive */
@media (max-width: 767px) {
  :root {
    --wp--preset--font-size--x-large: clamp(24px, 6vw, 32px) !important;
    --wp--preset--font-size--large: clamp(18px, 5vw, 24px) !important;
  }
}

/* 2. Imagenes lazy: contain-intrinsic-size */
img[loading='lazy'],
[loading='lazy'] {
  contain-intrinsic-size: auto 100% 200px;
}

/* 3. Grid de productos responsive */
@media (max-width: 767px) {
  .is-layout-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .is-layout-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* 4. Botones flotantes: separar verticalmente + fix texto WhatsApp */
@media (max-width: 767px) {
  .ha-scroll-to-top-button,
  .eael-scroll-to-top,
  [class*='scroll-to-top'] {
    bottom: 85px !important;
    right: 15px !important;
  }
  #simple-chat-button--container {
    bottom: 15px !important;
    right: 15px !important;
  }
  #simple-chat-button--text {
    width: auto !important;
    max-width: calc(100vw - 90px) !important;
  }
}

/* 5. Formulario de contacto: touch targets minimos */
@media (max-width: 767px) {
  .wpforms-field input,
  .wpforms-field select,
  .wpforms-field textarea,
  .wpforms-submit-container button {
    min-height: 48px !important;
    font-size: 16px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* 6. Blog: columnas apiladas en mobile */
@media (max-width: 767px) {
  .wp-block-post-template.is-layout-flex {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  .wp-block-post-template.is-layout-flex > * {
    width: 100% !important;
  }
}

/* 7. Submenu LINEAS accesible en mobile */
@media (max-width: 1024px) {
  .elementor-nav-menu--layout-horizontal .elementor-nav-menu .sub-menu {
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding-left: 16px !important;
    box-shadow: none !important;
    border: none !important;
    display: block !important;
    min-width: auto !important;
    width: 100% !important;
  }
}

/* 8. Accesibilidad: reducir movimiento */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* 9. Logo: tamano controlado en mobile */
@media (max-width: 767px) {
  .elementor-widget-theme-site-logo img,
  .elementor-widget-site-logo img,
  .site-branding img,
  header .logo img,
  .custom-logo {
    max-width: 130px !important;
    height: auto !important;
  }
}

/* 10. Columnas Gutenberg apiladas en mobile */
@media (max-width: 767px) {
  .wp-block-columns.is-layout-flex {
    flex-direction: column !important;
  }
  .wp-block-columns.is-layout-flex > .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    margin-left: 0 !important;
  }
}

/* 11. Lightbox: iconos con area tactil correcta */
@media (max-width: 767px) {
  .lg-prev,
  .lg-next {
    font-size: 24px !important;
    width: 48px !important;
    height: 48px !important;
    line-height: 48px !important;
  }
  .lg-thumb-outer {
    padding: 0 4px !important;
  }
  .lg-thumb-item {
    margin: 2px !important;
  }
}

/* Extra: Evitar overflow horizontal global */
@media (max-width: 767px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  img {
    max-width: 100% !important;
    height: auto !important;
  }
}
