/* Ajustes SOLO móvil — no altera escritorio (>850px) */
@media (max-width: 850px) {
    html, body { overflow-x: hidden; }
    img { max-width: 100%; height: auto; }

    .container { padding-left: 16px !important; padding-right: 16px !important; }

    /* Checkout */
    .checkout-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
    .card { padding: 24px 18px !important; margin-bottom: 20px !important; border-radius: 18px !important; }
    .grid-2, .grid-3 { grid-template-columns: 1fr !important; gap: 12px !important; }
    .grid-3 .form-group[style*="span 2"] { grid-column: span 1 !important; }
    .shipping-options { grid-template-columns: 1fr !important; }
    .shipping-price-badge { top: 8px; right: 8px; position: absolute; }
    .shipping-card { padding: 18px 14px !important; }
    #div_direccion_completa { padding: 16px !important; }
    #mapa_contenedor { height: 240px !important; }
    .cupon-row { flex-direction: column !important; }
    .cupon-row input, .btn-cupon { width: 100% !important; box-sizing: border-box; }
    .btn-cupon { padding: 12px !important; }
    .resumen-item { flex-direction: column; align-items: flex-start; gap: 4px; }
    .resumen-item span:first-child { max-width: 100%; white-space: normal; }
    .sub-row, .total-row { flex-wrap: wrap; gap: 6px; }
    .total-row span:last-child { font-size: 22px !important; }
    .btn-mp, .btn-simular { font-size: 16px !important; padding: 16px !important; }
    .card-resumen { position: static !important; }
    h2 { font-size: 18px !important; }

    /* Carrito */
    .cart-card { padding: 24px 16px !important; }
    .cart-header-flex { flex-direction: column; align-items: stretch !important; }
    .moneda-selector { width: 100%; }
    .table-responsive { margin: 0 -4px; }
    table { min-width: 0 !important; }
    .cart-item-info { gap: 12px; }
    .cart-item-img { width: 64px; height: 64px; }
    .action-bar { flex-direction: column !important; align-items: stretch !important; }
    .btn-return, .btn-empty { width: 100%; text-align: center; box-sizing: border-box; }
    .checkout-box { text-align: center !important; }
    .checkout-box .btn-mp { display: block; width: 100%; box-sizing: border-box; }
    .grid-similares { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }

    /* Index catálogo */
    .filter-bar { flex-direction: column !important; align-items: stretch !important; padding: 20px 16px !important; }
    .filter-group { min-width: 0 !important; width: 100%; }
    .grid-productos { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
    .prod-name { height: auto !important; min-height: 40px; font-size: 14px !important; }
    .prod-img { height: 160px !important; padding: 12px !important; }
    .modal-content { width: 98% !important; max-height: 92vh !important; }
    .modal-content-sm { padding: 24px 18px !important; }
    .modal-info { padding: 24px 18px !important; }
    .modal-img-box { padding: 20px !important; }
    .add-to-cart-form { flex-direction: column !important; }
    .qty-input { width: 100% !important; }

    /* Login / registro / rastreo */
    .login-card, .tracking-card, .register-card { padding: 32px 20px !important; }
    .login-container, .register-container { margin: 30px auto !important; }

    /* Mis compras */
    .filter-date-bar { flex-direction: column !important; align-items: stretch !important; }
    .order-header { flex-direction: column !important; align-items: flex-start !important; }
    .product-item { flex-direction: column !important; align-items: flex-start !important; }
    .product-pricing-qty { text-align: left !important; }

    /* Header tienda */
    .header-tienda { padding: 12px 16px !important; }
    .header-tienda .nav-links { justify-content: center; width: 100%; }
    .header-tienda .user-greeting { border-right: none; padding-right: 0; }

    /* Rastreo stepper */
    .stepper { flex-wrap: wrap; gap: 8px; }
    .stepper::before { width: 70% !important; left: 15% !important; }
    .step-label { font-size: 9px !important; }

    /* Páginas de éxito */
    .success-card, .container.exito-box { width: 94% !important; padding: 32px 20px !important; }

    /* Páginas legacy con tablas */
    .container table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .navbar { flex-direction: column !important; gap: 10px; text-align: center; }
    .navbar a { margin: 0 8px !important; }
}

@media (max-width: 480px) {
    .grid-productos, .grid-similares { grid-template-columns: 1fr !important; }
    .brand-title { font-size: 16px !important; }
}
