/* =============================================================
   responsive.css — Mobile-first adjustments
   1020px  tablet landscape
    760px  tablet portrait / 2-col grid
    480px  mobile portrait
    380px  small phones
   ============================================================= */

/* ── TABLET (≤ 1020px) ───────────────────────────────────────── */
@media (max-width: 1020px) {
  .hero-inner              { grid-template-columns: 1fr; }
  .hero-side               { flex-direction: row; }
  .stats-strip             { grid-template-columns: repeat(2, 1fr); }
  .shop-wrap               { grid-template-columns: 1fr; }
  .sidebar                 { display: none; }
  .mobile-filter-row       { display: flex; }
  .prod-grid               { grid-template-columns: repeat(3, 1fr); }
  .footer-grid             { grid-template-columns: 1fr 1fr; gap: 32px; }
}

/* ── TABLET PORTRAIT (≤ 760px) ───────────────────────────────── */
@media (max-width: 760px) {
  :root { --nav-h: 58px; }

  .nav-icon-lbl  { display: none; }
  .ann-bar       { display: none; }
  .hero-side     { display: none; }
  .sort-btns     { display: none; }
  .results-bar   { flex-direction: column; align-items: flex-start; }
  .prod-grid     { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .footer-grid   { grid-template-columns: 1fr; }

  /* Social bar: ocultar texto de botones, solo iconos */
  .csoc-btn { font-size: 0; padding: 0 14px; gap: 0; }
  .csoc-btn svg { width: 18px; height: 18px; }
  .csoc-about-btn { font-size: 11px; padding: 0 14px; gap: 6px; }
}

/* ── MÓVIL (≤ 480px) ─────────────────────────────────────────── */
@media (max-width: 480px) {
  :root { --nav-h: 54px; }

  /* ── Navbar ── */
  .nav-inner    { gap: 8px; padding: 0 12px; }
  .logo-name    { font-size: 15px; letter-spacing: 1px; }
  .logo-sub     { display: none; }

  /* Barra de búsqueda compacta */
  .search-in    { padding: 9px 10px; font-size: 12px; }
  .search-btn   { padding: 0 12px; height: 40px; font-size: 0; gap: 0; }
  .search-btn svg { width: 16px; height: 16px; }

  /* Iconos nav más compactos */
  .nav-icon     { padding: 6px 8px; }
  .nav-icon svg { width: 19px; height: 19px; }

  /* ── Social bar ── */
  .catbar-inner   { padding: 0 10px; }
  .csoc-btn       { padding: 0 10px; }
  .csoc-about-btn { padding: 0 12px; font-size: 10.5px; }

  /* ── Hero ── */
  .hero          { padding: 16px 0 12px; }
  .hero-main     { padding: 28px 22px 32px; min-height: auto; }
  .hero-product-visual { display: none; }
  .hero-h1       { font-size: 28px; margin-bottom: 12px; }
  .hero-p        { font-size: 12px; margin-bottom: 24px; }
  .hero-tag      { font-size: 8.5px; margin-bottom: 16px; }
  .hero-cta      { padding: 12px 24px; font-size: 10px; width: 100%; justify-content: center; }

  /* ── Stats strip ── */
  .stats-strip          { grid-template-columns: 1fr 1fr; margin-top: 10px; }
  .stat-item            { padding: 14px 12px; gap: 10px; }
  .stat-icon svg        { width: 18px; height: 18px; }
  .stat-label           { font-size: 10.5px; }
  .stat-sub             { font-size: 9.5px; }

  /* ── Tienda / filtros ── */
  .shop-wrap            { padding: 16px 0 48px; }
  .mobile-filter-row    { margin-bottom: 12px; }
  .mob-filter-btn       { font-size: 11px; padding: 9px; }
  .results-info         { font-size: 11px; }

  /* ── Grid de productos ── */
  .prod-grid            { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .card-name            { font-size: 11.5px; }
  .price-main           { font-size: 14px; }
  .card-cat             { font-size: 9px; }
  .card-stars           { font-size: 10px; }
  .card-btn             { font-size: 10.5px; padding: 9px 8px; }
  .card-ship, .card-arrive { font-size: 9.5px; }

  /* ── Drawers (carrito, favoritos, pedidos) ── */
  .cart-drawer          { max-width: 100%; width: 100%; }
  .wish-drawer          { max-width: 100%; width: 100%; }
  .ord-drawer           { max-width: 100%; width: 100%; }

  /* ── Product detail modal ── */
  .pdm-modal            { left: 0; right: 0; bottom: 0; top: auto; border-radius: 16px 16px 0 0;
                          max-height: 92dvh; overflow-y: auto; transform: translateY(100%); }
  .pdm-modal.open       { transform: translateY(0); }
  .pdm-img-col          { height: 220px; }
  .pdm-price-area       { font-size: 20px; }

  /* ── Footer ── */
  .footer               { padding: 36px 0 20px; }
  .footer-grid          { gap: 28px; }
  .footer-brand p       { max-width: 100%; font-size: 12px; }
  .footer-bottom        { flex-direction: column; align-items: flex-start; gap: 10px; }
  .footer-col h4        { margin-bottom: 12px; }

  /* ── Modal Quiénes somos ── */
  .about-overlay        { padding: 12px; align-items: flex-start; padding-top: 16px; }
  .about-card           {
    padding: 52px 20px 28px;
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .about-close          { width: 40px; height: 40px; top: 10px; right: 10px; }
  .about-close svg      { width: 16px; height: 16px; }
  .about-flame          { font-size: 30px; margin-bottom: 10px; }
  .about-title          { font-size: 22px; }
  .about-desc           { font-size: 13px; }

  /* ── Chat ── */
  .chat-toggle          { width: 50px; height: 50px; bottom: 16px; right: 16px; }
  .chat-panel           { bottom: 76px; right: 12px; left: 12px; width: auto; max-height: 65vh; }

  /* ── Toast ── */
  .toast-zone           { bottom: 80px; right: 12px; left: 12px; }
  .toast                { min-width: auto; max-width: 100%; }
}

/* ── MÓVIL PEQUEÑO (≤ 380px) ────────────────────────────────── */
@media (max-width: 380px) {
  .logo-name  { font-size: 13px; }
  .nav-icon   { padding: 6px 6px; }
  .nav-icon svg { width: 18px; height: 18px; }

  .hero-h1    { font-size: 24px; }
  .prod-grid  { gap: 6px; }
  .card-name  { font-size: 10.5px; }
  .card-btn   { font-size: 9.5px; padding: 8px 6px; }
}
