/* Fase 0,5 P0-02: solo presentación móvil; sin cambios comerciales. */
@media (max-width: 620px) {
  .calculator-main { padding-bottom: 32px; }
  .calculator-main .cart-fab { position: static; width: 100%; margin-bottom: 18px; min-height: 48px; justify-content: center; }
  .cart-fab > span { display: inline; }
  .menu-toggle { position: absolute; }
  .mqf-whatsapp-float { position: static; display: flex; width: fit-content; max-width: calc(100% - 32px); margin: 16px auto 28px; }
  .typology-picker-trigger { grid-template-columns: 54px minmax(0,1fr); gap: 12px; padding: 12px; }
  .typology-picker-trigger strong { grid-column: 1 / -1; text-align: center; font-size: 12px; min-height: 44px; }
  .typology-picker-trigger b { overflow: visible; white-space: normal; overflow-wrap: anywhere; }
  .typology-picker-trigger small, .typology-picker-trigger em { font-size: 12px; }
  .visual-select-trigger { min-width: 0; gap: 8px; }
  .visual-select-copy { min-width: 0; }
  .visual-select-copy b, .visual-select-copy small { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
  .visual-select-copy small { font-size: 12px; }
  .typology-picker-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); display: block; overflow-y: auto; overflow-x: hidden; }
  .typology-picker-header, .visual-modal-header, .option-modal-header { position: sticky; top: 0; z-index: 4; padding: 14px; }
  .typology-picker-header button, .visual-modal-header button, .option-modal-close { flex: 0 0 44px; min-width: 44px; min-height: 44px; }
  .typology-picker-tools { padding: 14px; }
  .typology-filter-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .typology-filter-tabs button { min-height: 44px; font-size: 12px; white-space: normal; padding: 8px; }
  .typology-picker-dialog .typology-grid { grid-template-columns: minmax(0,1fr); overflow: visible; padding: 12px 14px 16px; }
  .typology-picker-dialog .opening-choice { flex-direction: row; align-items: center; justify-content: flex-start; gap: 18px; min-height: 124px; min-width: 0; }
  .typology-grid .choice-title { font-size: 16px; overflow-wrap: anywhere; }
  .visual-select-panel { padding: 8px; }
  .visual-modal-dialog, .option-modal-dialog { width: 100%; max-height: calc(100dvh - 16px); display: block; overflow-y: auto; overflow-x: hidden; }
  .visual-modal-body, .option-modal-body { overflow: visible; padding: 14px; }
  .visual-modal-body .visual-select-search { position: static; }
  .visual-list-item, .glass-face { min-width: 0; overflow-wrap: anywhere; }
  .visual-list-item b, .glass-face b { font-size: 14px; }
  .visual-list-item small, .glass-face small, .modal-type-card small, .glass-custom-cta small { font-size: 12px; line-height: 1.5; }
  .glass-chip, .glass-composer-back, .glass-thickness-tab { min-height: 44px; min-width: 44px; font-size: 14px; }
  .option-modal { padding: 8px; }
  .option-modal-footer { display: flex; flex-direction: column; gap: 8px; position: static; padding: 14px; }
  .option-modal-footer button { width: 100%; min-width: 0; min-height: 48px; white-space: normal; }
  .modal-step { grid-template-columns: minmax(0,1fr); padding: 14px; }
  .modal-step > div { min-width: 0; }
  .modal-type-grid, .modal-inline-options { grid-template-columns: minmax(0,1fr); }
  .modal-type-card { min-width: 0; min-height: 72px; }
  .modal-field input, .modal-field select, .modal-inline-options select, .shipping-postal input, .shipping-postal button { min-height: 44px; font-size: 16px; max-width: 100%; }
  .languages button { min-height: 44px; min-width: 44px; font-size: 14px; }
  .shipping-method small, .shipping-disclaimer, .delivery-disclaimer, .offcut-notice p { font-size: 12px; line-height: 1.5; }
  .cart-toast { left: 12px; right: 12px; bottom: 12px; max-width: none; pointer-events: none; }
}
