/*
 * ANDES VISTA CHILE — MOBILE POLISH 2026-09-08
 * Capa aditiva de UX responsive. No modifica contenido SEO, URLs, canonicals ni datos.
 */

@media (max-width: 900px) {
  html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
  html, body { max-width: 100%; overflow-x: clip; }
  body { -webkit-tap-highlight-color: transparent; }
  img, picture, video, iframe, svg { max-width: 100%; }
  input, select, textarea { font-size: 16px !important; }
  button, a, input, select, textarea { touch-action: manipulation; }

  /* Navegación compartida */
  .av-nav-header { position: sticky; top: 0; z-index: 1200; background: #fff; }
  .av-nav-wrap { min-height: 62px; padding-left: 14px; padding-right: 14px; gap: 10px; }
  .av-nav-logo { min-width: 0; }
  .av-nav-logo img { width: min(168px, 46vw); height: auto; }
  .av-mobile-category-bar {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    padding-left: 12px;
    padding-right: 12px;
  }
  .av-mobile-category-bar::-webkit-scrollbar { display: none; }
  .av-mobile-category-bar a {
    flex: 0 0 auto;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    scroll-snap-align: start;
  }

  /* Evita que menús/paneles móviles queden fuera de pantalla si la plantilla los usa. */
  .av-nav-mobile,
  .av-mobile-menu,
  .av-nav-mobile-panel,
  .mobile-menu {
    max-height: calc(100dvh - 62px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  /* Footer compartido */
  .av-shared-footer .av-footer-wrap { grid-template-columns: 1fr !important; gap: 24px; }
  .av-shared-footer .av-footer-bottom { flex-direction: column; align-items: flex-start; gap: 6px; }
  .av-footer-wa { bottom: calc(14px + env(safe-area-inset-bottom)); }
  .av-cookie {
    max-width: calc(100vw - 24px);
    left: 12px;
    right: 12px;
  }

  /* Botones compartidos */
  .btn,
  .av-glass-btn,
  .sample-button,
  .av-nav-cta {
    min-height: 46px;
  }
}

/* =========================
   HOME
   ========================= */
@media (max-width: 720px) {
  .av-home-page .hero {
    min-height: min(700px, 88svh) !important;
  }
  .av-home-page .hero-inner {
    min-height: min(700px, 88svh) !important;
    padding-top: 54px !important;
    padding-bottom: 56px !important;
    align-items: center;
  }
  .av-home-page .hero-copy { max-width: 100%; }
  .av-home-page .hero-copy h1 {
    font-size: clamp(34px, 9.4vw, 43px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.035em;
    text-wrap: balance;
  }
  .av-home-page .hero-copy p {
    font-size: 16px !important;
    line-height: 1.5 !important;
    max-width: 34ch;
  }
  .av-home-page .hero-copy .actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100%;
    max-width: 430px;
  }
  .av-home-page .hero-copy .actions .btn {
    width: 100%;
    justify-content: center;
    padding: 12px 16px;
  }
  .av-home-page .hero-copy .actions .btn:nth-child(3) {
    min-height: 40px;
    padding-top: 8px;
    padding-bottom: 8px;
    opacity: .94;
  }
  .av-home-page .hero-note {
    display: flex !important;
    gap: 7px !important;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
  }
  .av-home-page .hero-note::-webkit-scrollbar { display: none; }
  .av-home-page .hero-note span { flex: 0 0 auto; }

  .av-home-page .section { padding-top: 44px !important; padding-bottom: 44px !important; }
  .av-home-page .section-head { gap: 12px; align-items: flex-start; }
  .av-home-page .section-head h2 { font-size: clamp(27px, 7.6vw, 34px); line-height: 1.08; text-wrap: balance; }
  .av-home-page .lead { line-height: 1.55; }

  /* Catálogo y destacados: swipe horizontal para reducir scroll vertical. */
  .av-home-page .category-grid,
  .av-home-page .product-grid,
  .av-home-page .gallery {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 10px;
    margin-right: -16px;
    padding-right: 16px;
  }
  .av-home-page .category-grid::-webkit-scrollbar,
  .av-home-page .product-grid::-webkit-scrollbar,
  .av-home-page .gallery::-webkit-scrollbar { display: none; }
  .av-home-page .category-grid > *,
  .av-home-page .product-grid > *,
  .av-home-page .gallery > * {
    flex: 0 0 min(82vw, 330px) !important;
    scroll-snap-align: start;
  }
  .av-home-page .gallery-card {
    min-height: 250px;
  }
  .av-home-page .gallery-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
  }
  .av-home-page .why-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .av-home-page .why-card { padding: 17px !important; }
  .av-home-page .why-card h3 { font-size: 16px; }
  .av-home-page .why-card p { font-size: 13px; line-height: 1.45; }
  .av-home-page .process-panel,
  .av-home-page .cta-box { padding: 24px 18px !important; border-radius: 20px !important; }
  .av-home-page .faq-grid { gap: 9px !important; }

  .av-home-page .modal-panel {
    width: calc(100vw - 20px) !important;
    max-height: 92dvh !important;
    margin: 10px;
    overflow: hidden;
  }
  .av-home-page .modal-grid {
    overflow-y: auto;
    max-height: calc(92dvh - 82px);
    grid-template-columns: 1fr 1fr !important;
    padding-bottom: calc(14px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 380px) {
  .av-home-page .why-grid,
  .av-home-page .modal-grid { grid-template-columns: 1fr !important; }
  .av-home-page .hero-copy h1 { font-size: 33px !important; }
}

/* =========================
   PRODUCTOS
   ========================= */
@media (max-width: 760px) {
  .av-product-page { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .av-product-page .product-hero { padding-top: 22px !important; padding-bottom: 30px !important; }
  .av-product-page .breadcrumb {
    display: block;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
    padding-bottom: 4px;
    font-size: 12px;
  }
  .av-product-page .breadcrumb::-webkit-scrollbar { display: none; }
  .av-product-page .product-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
  .av-product-page .gallery-card,
  .av-product-page .info-card { min-width: 0; border-radius: 18px !important; }
  .av-product-page .gallery-card { padding: 10px !important; }
  .av-product-page .av-gallery-stage {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    max-height: 330px;
    border-radius: 14px;
    overflow: hidden;
  }
  .av-product-page .av-gallery-main,
  .av-product-page .gallery-main {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .av-product-page .av-gallery-thumbs { display: none !important; }
  .av-product-page .av-gallery-zoom { min-height: 40px; padding: 8px 11px; }
  .av-product-page .av-gallery-arrow {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px;
  }
  .av-product-page .av-gallery-trust {
    display: flex !important;
    gap: 7px !important;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    padding: 10px 2px 2px;
  }
  .av-product-page .av-gallery-trust::-webkit-scrollbar { display: none; }
  .av-product-page .av-gallery-trust span { flex: 0 0 auto; font-size: 11px; }

  .av-product-page .info-card { padding: 18px !important; }
  .av-product-page .info-card h1 {
    font-size: clamp(28px, 8.2vw, 35px) !important;
    line-height: 1.06 !important;
    text-wrap: balance;
  }
  .av-product-page .price-current strong { font-size: clamp(27px, 8vw, 34px) !important; }
  .av-product-page .av-trust-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .av-product-page .av-trust-item { padding: 11px !important; min-width: 0; }
  .av-product-page .av-trust-item span { font-size: 11px !important; line-height: 1.4; }
  .av-product-page .av-trust-wide { grid-column: 1 / -1; }
  .av-product-page .description { line-height: 1.55; }
  .av-product-page .sample-button { width: 100%; display: inline-flex; justify-content: center; }

  .av-product-page .av-configurator,
  .av-product-page .av-config-card,
  .av-product-page .quick-calc,
  .av-product-page .measure-card,
  .av-product-page .info-box { border-radius: 18px !important; }
  .av-product-page .av-config-step { min-width: 0; }
  .av-product-page .av-step-title { align-items: flex-start; gap: 10px; }
  .av-product-page .av-step-title h3 { font-size: 19px; line-height: 1.2; }
  .av-product-page .av-step-title p { line-height: 1.45; }
  .av-product-page .av-measure-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
  .av-product-page .av-input-unit input,
  .av-product-page .quick-calc-grid input,
  .av-product-page .quick-calc-grid select { min-height: 48px; }
  .av-product-page .av-color-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 9px !important; }
  .av-product-page .av-action-grid,
  .av-product-page .av-extra-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 9px !important; }
  .av-product-page .av-color-card,
  .av-product-page .av-action-card,
  .av-product-page .av-extra-card { min-width: 0; }
  .av-product-page .av-config-summary { position: static !important; top: auto !important; margin-top: 14px; }
  .av-product-page .av-config-summary .btn { width: 100%; justify-content: center; }

  .av-product-page .info-sections { padding-top: 34px !important; padding-bottom: 34px !important; }
  .av-product-page .info-grid-2,
  .av-product-page .info-grid-3,
  .av-product-page .quick-section-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
  .av-product-page .info-box { padding: 18px !important; }
  .av-product-page .info-box h2 { font-size: 23px !important; line-height: 1.14; text-wrap: balance; }
  .av-product-page .info-list-item { align-items: flex-start; }

  /* Última versión de vidrio: en móvil cada alternativa se lee sin compresión. */
  .av-product-page .av-glass-variant-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
  .av-product-page .av-glass-variant-card { min-height: 0 !important; padding: 16px !important; }
  .av-product-page .av-glass-variant-card small,
  .av-product-page .av-glass-variant-card strong,
  .av-product-page .av-glass-variant-card em { min-height: 0 !important; }

  /* Barra de conversión: única CTA fija en las fichas. */
  .av-product-page .av-footer-wa { display: none !important; }
  .av-product-page .av-mobile-cta {
    position: fixed !important;
    z-index: 1600 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding: 9px 10px calc(9px + env(safe-area-inset-bottom)) !important;
    background: rgba(255,255,255,.97) !important;
    border-top: 1px solid rgba(15,76,68,.12) !important;
    box-shadow: 0 -10px 28px rgba(15,76,68,.10) !important;
    backdrop-filter: blur(12px);
  }
  .av-product-page .av-mobile-cta a {
    min-width: 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.15;
  }
  .av-product-page .av-cookie { bottom: calc(82px + env(safe-area-inset-bottom)) !important; }
}

@media (max-width: 360px) {
  .av-product-page .av-trust-grid { grid-template-columns: 1fr !important; }
  .av-product-page .av-trust-wide { grid-column: auto; }
  .av-product-page .av-color-grid { grid-template-columns: 1fr 1fr !important; }
  .av-product-page .av-mobile-cta { gap: 6px !important; padding-left: 7px !important; padding-right: 7px !important; }
  .av-product-page .av-mobile-cta a { font-size: 13px !important; }
}

/* =========================
   COTIZADOR
   ========================= */
@media (max-width: 900px) {
  .av-quote-page { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
  .av-quote-page .hero { padding-top: 24px !important; padding-bottom: 18px !important; }
  .av-quote-page .hero-inner { grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
  .av-quote-page .hero h1 { font-size: clamp(29px, 8vw, 38px) !important; line-height: 1.07; text-wrap: balance; }
  .av-quote-page .hero p { line-height: 1.5; }
  .av-quote-page .progress {
    display: flex !important;
    gap: 7px !important;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding-bottom: 3px;
    -webkit-overflow-scrolling: touch;
  }
  .av-quote-page .progress::-webkit-scrollbar { display: none; }
  .av-quote-page .progress button {
    flex: 0 0 auto !important;
    min-height: 42px;
    scroll-snap-align: start;
    white-space: nowrap;
    padding-left: 13px !important;
    padding-right: 13px !important;
  }

  .av-quote-page .app { padding-top: 16px !important; padding-bottom: 28px !important; }
  .av-quote-page .config-shell { grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
  .av-quote-page .panel { min-width: 0; border-radius: 18px !important; }
  .av-quote-page .visual-panel,
  .av-quote-page .control-panel { padding: 16px !important; }
  .av-quote-page .desktop-summary { display: none !important; }
  .av-quote-page .gallery-main { height: clamp(220px, 65vw, 300px) !important; border-radius: 14px !important; overflow: hidden; }
  .av-quote-page .gallery-main img { width: 100%; height: 100%; object-fit: cover; }
  .av-quote-page .thumbs {
    display: flex !important;
    gap: 7px !important;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .av-quote-page .thumbs::-webkit-scrollbar { display: none; }
  .av-quote-page .thumbs > * { flex: 0 0 auto; }
  .av-quote-page .trust,
  .av-quote-page .proof {
    display: flex !important;
    gap: 7px !important;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .av-quote-page .trust::-webkit-scrollbar,
  .av-quote-page .proof::-webkit-scrollbar { display: none; }
  .av-quote-page .trust span,
  .av-quote-page .proof span { flex: 0 0 auto; }

  .av-quote-page .step-head { align-items: flex-start; gap: 10px; }
  .av-quote-page .step-head h3 { font-size: 21px !important; line-height: 1.18; }
  .av-quote-page .category-tabs {
    display: flex !important;
    overflow-x: auto;
    gap: 8px !important;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }
  .av-quote-page .category-tabs::-webkit-scrollbar { display: none; }
  .av-quote-page .category-tabs > * { flex: 0 0 auto; scroll-snap-align: start; min-height: 44px; }
  .av-quote-page .product-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 9px !important; }
  .av-quote-page .measure-layout { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
  .av-quote-page .pano { min-width: 0; }
  .av-quote-page .pano input,
  .av-quote-page .field input,
  .av-quote-page .field textarea { min-height: 48px; }
  .av-quote-page .color-grid,
  .av-quote-page .option-grid,
  .av-quote-page .customer-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 9px !important; }
  .av-quote-page .summary-card { border-radius: 16px !important; }
  .av-quote-page .step-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .av-quote-page .step-actions > * {
    width: 100% !important;
    min-width: 0;
    min-height: 48px;
    justify-content: center;
  }
  .av-quote-page .step-actions > *:only-child { grid-column: 1 / -1; }

  .av-quote-page .mobile-total {
    position: fixed !important;
    z-index: 1600 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    padding-bottom: calc(9px + env(safe-area-inset-bottom)) !important;
    box-shadow: 0 -10px 28px rgba(15,76,68,.11) !important;
    backdrop-filter: blur(12px);
  }
  .av-quote-page .mobile-total button { min-height: 48px; }
  .av-quote-page .av-footer-wa { display: none !important; }
  .av-quote-page .av-cookie { bottom: calc(90px + env(safe-area-inset-bottom)) !important; }
}

@media (max-width: 620px) {
  .av-quote-page .measure-diagram { display: none !important; }
  .av-quote-page .step-actions { grid-template-columns: 1fr !important; }
  .av-quote-page .step-actions > * { grid-column: auto !important; }
  .av-quote-page .visual-panel { padding: 12px !important; }
  .av-quote-page .control-panel { padding: 14px !important; }
}

/* =========================
   VIDRIERÍA Y SERVICIOS DE VIDRIO
   ========================= */
@media (max-width: 900px) {
  .av-glass .av-glass-hero { padding-top: 24px !important; padding-bottom: 34px !important; }
  .av-glass .av-glass-hero-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
  .av-glass .av-glass-breadcrumb {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .av-glass .av-glass-breadcrumb::-webkit-scrollbar { display: none; }
  .av-glass .av-glass-hero h1 {
    font-size: clamp(31px, 8.5vw, 42px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em;
    text-wrap: balance;
  }
  .av-glass .av-glass-hero p { font-size: 16px !important; line-height: 1.55 !important; }
  .av-glass .av-glass-hero-grid > img,
  .av-glass .av-glass-hero-grid > picture img {
    width: 100% !important;
    max-height: 340px;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 18px;
  }
  .av-glass .av-glass-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }
  .av-glass .av-glass-actions .av-glass-btn { width: 100%; justify-content: center; }
  .av-glass .av-glass-section { padding-top: 42px !important; padding-bottom: 42px !important; }
  .av-glass .av-glass-section-head { margin-bottom: 18px !important; }
  .av-glass .av-glass-section-head h2 { font-size: clamp(27px, 7vw, 34px) !important; line-height: 1.1; text-wrap: balance; }
  .av-glass .av-glass-grid,
  .av-glass .av-glass-service-list,
  .av-glass .av-glass-benefits,
  .av-glass .av-glass-process,
  .av-glass .av-glass-real-grid,
  .av-glass .av-glass-quick-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
  .av-glass .av-glass-card,
  .av-glass .av-glass-real-card,
  .av-glass .av-glass-step,
  .av-glass .av-glass-service-list > div { border-radius: 17px !important; }
  .av-glass .av-glass-card-body,
  .av-glass .av-glass-real-body { padding: 16px !important; }
  .av-glass .av-glass-real-media img,
  .av-glass .av-glass-card img { max-height: 310px; object-fit: cover; }
  .av-glass .av-glass-cta { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; padding: 22px 18px !important; }
  .av-glass .av-glass-faq details { border-radius: 14px !important; }
  .av-glass .av-glass-quick-form { padding: 18px !important; border-radius: 18px !important; }
}

@media (max-width: 620px) {
  .av-glass .av-glass-field-row { grid-template-columns: minmax(0, 1fr) !important; }
  .av-glass .av-glass-wrap { width: min(100% - 28px, 1180px) !important; }
  .av-glass .av-glass-note { padding: 14px !important; }
}

/* =========================
   CÓMO MEDIR
   ========================= */
@media (max-width: 760px) {
  .av-measure-page .hero { padding-top: 28px !important; padding-bottom: 34px !important; }
  .av-measure-page .hero-inner { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
  .av-measure-page .hero h1 { font-size: clamp(31px, 8.5vw, 40px) !important; line-height: 1.06; text-wrap: balance; }
  .av-measure-page .hero p { font-size: 16px; line-height: 1.55; }
  .av-measure-page .hero img { width: 100%; max-height: 330px; object-fit: cover; border-radius: 18px; }
  .av-measure-page .buttons { display: grid !important; grid-template-columns: 1fr !important; gap: 9px !important; }
  .av-measure-page .buttons > * { width: 100%; min-height: 48px; justify-content: center; }
  .av-measure-page .wrap.grid,
  .av-measure-page .grid { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
  .av-measure-page .card { padding: 18px !important; border-radius: 18px !important; }
  .av-measure-page section { scroll-margin-top: 80px; }
}
