/* ═══════════════════════════════════════════════════════════
   LUVA · RESPONSIVE
   ═══════════════════════════════════════════════════════════ */

/* ── Escritorio amplio ─────────────────────────────────────── */
@media (min-width: 1400px) {
  :root { --shell: 1340px; }
}

/* ── Tablet horizontal ─────────────────────────────────────── */
@media (max-width: 1100px) {
  .hero__grid { gap: clamp(1.5rem, 4vw, 3rem); }
  .art__note { width: 52%; }
  .notes { grid-template-columns: repeat(2, 1fr); }
  .process { grid-template-columns: repeat(2, 1fr); row-gap: 2.4rem; }
  .process::before { display: none; }
  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__cta { grid-column: 2; }
  .footer__brand { grid-column: 1; }
  .footer__cols { grid-column: 1 / -1; order: 3; }
}

/* ── Tablet ────────────────────────────────────────────────── */
@media (max-width: 960px) {
  html { scroll-padding-top: 80px; }

  .nav { display: none; }
  .burger { display: grid; }

  .hero {
    padding-top: clamp(7rem, 16vw, 9rem);
  }
  .hero__grid {
    grid-template-columns: 1fr;
    gap: clamp(2.5rem, 7vw, 4rem);
  }
  .hero__art { order: -1; max-width: 520px; margin-inline: auto; width: 100%; }
  .art { aspect-ratio: 1.15 / 1; }
  .seal-badge { width: 104px; height: 104px; }
  .hero__lead { max-width: 58ch; }

  .pcards { grid-template-columns: repeat(6, 1fr); }
  .pcard--lg { grid-column: span 6; }
  .pcard:nth-child(2),
  .pcard:nth-child(3),
  .pcard:nth-child(4),
  .pcard:nth-child(5) { grid-column: span 3; }
  .pcard:nth-child(6) { grid-column: span 3; }
  .pcard--cta { grid-column: span 6; }

  .cats { grid-template-columns: repeat(2, 1fr); }

  .sec-head--row { grid-template-columns: 1fr; align-items: start; }
  .sec-sub--right { justify-self: start; text-align: left; }

  .builder { grid-template-columns: 1fr; }
  .builder__preview { position: static; transform: none; }
  .builder__preview:hover { transform: rotate(-.5deg); }

  .contact__grid { grid-template-columns: 1fr; }
  .vcard { justify-self: start; }
}

/* ── Tablet / móvil grande ─────────────────────────────────── */
@media (max-width: 760px) {
  :root { --fs-display: clamp(2.8rem, 12.5vw, 4.4rem); }

  .sec-title { margin-top: .8rem; }

  .pcard--lg .pcard__body { grid-template-columns: 1fr; }
  .pcard--lg .pcard__desc { grid-column: 1; grid-row: auto; }
  .pcard--lg .pcard__title { grid-column: 1; }
  .pcard--lg .pcard__specs,
  .pcard--lg .pcard__foot { grid-column: 1; }

  .process { grid-template-columns: 1fr; row-gap: 1.8rem; }
  .process__step { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; align-items: start; }
  .process__num { grid-row: span 2; margin-bottom: 0; }

  .socials { grid-template-columns: 1fr; }

  .footer__top { grid-template-columns: 1fr; }
  .footer__cta, .footer__brand, .footer__cols { grid-column: 1; }
  .footer__cols { grid-template-columns: repeat(2, 1fr); }
  .footer__bottom { justify-content: flex-start; flex-direction: column; }
}

/* ── Móvil ─────────────────────────────────────────────────── */
@media (max-width: 620px) {
  .hide-md { display: none; }

  /* El botón de cabecera pasa a sólo icono para no desbordar */
  .site-header__actions .btn--ink { padding: .62rem .72rem; }
  .site-header__actions .btn--ink span { display: none; }
  .site-header__actions .btn--ink .ic { width: 1.2em; height: 1.2em; }

  .hero__trust { gap: .5rem 1.2rem; }
  .hero__cta .btn { flex: 1 1 100%; }
  .hero__title .line { line-height: .92; }

  .art { aspect-ratio: 1 / 1.08; }
  .art__sheet--back { width: 70%; left: -2%; }
  .art__sheet--mid { width: 62%; right: -4%; }
  .art__photo { width: 62%; left: 8%; top: 24%; }
  .art__note { width: 56%; right: -2%; bottom: 0; }
  .seal-badge { width: 92px; height: 92px; top: -3%; right: 0; }
  .seal-badge__ring text { font-size: 10.4px; letter-spacing: .22em; }
  .art__scissors { left: -4%; top: 2%; }
  .art__sprig { left: -8%; bottom: -6%; }
  .art__bunting { width: 62%; bottom: 15%; left: -4%; }

  .pcards { grid-template-columns: 1fr; }
  .pcard--lg,
  .pcard:nth-child(2),
  .pcard:nth-child(3),
  .pcard:nth-child(4),
  .pcard:nth-child(5),
  .pcard:nth-child(6),
  .pcard--cta { grid-column: span 1; }

  .pcard--lg .pcard__media .ph { aspect-ratio: 4 / 3; }

  .cats { grid-template-columns: 1fr; }
  .cat { min-height: 0; }

  .notes { grid-template-columns: 1fr; }
  .note { transform: rotate(-.6deg) !important; }


  .ribbon { padding-block: .9rem; }

  .bstep__row { flex-direction: column; align-items: stretch; }
  .chips .chip { flex: 1 1 auto; text-align: center; }

  .contact__cta { width: 100%; }
  .footer__cols { grid-template-columns: 1fr; gap: 1.8rem; }

  .wa-float__text { display: none; }
  .wa-float { padding: .9rem; }
}

/* ── Móvil pequeño ─────────────────────────────────────────── */
@media (max-width: 400px) {
  :root { --gutter: 1.1rem; }
  .brand__sub { display: none; }
  .chips { gap: .45rem; }
  .chip { font-size: .82rem; padding: .5rem .8rem; }
  .pcard__foot { flex-direction: column; align-items: flex-start; gap: .5rem; }
  .vcard__stamp { width: 78px; height: 78px; right: 1.1rem; bottom: 1.1rem; }
  .vcard__stamp svg { width: 20px; height: 20px; }
}

/* ── Puntero grueso (táctil): sin hover elegante ──────────── */
@media (hover: none) {
  .pcard:hover,
  .cat:hover,
  .note:hover,
  .vcard:hover { transform: none; box-shadow: var(--sh-2); }
  .btn:hover { transform: none; }
}

/* ── Impresión: la web como folleto ────────────────────────── */
@media print {
  .site-header, .wa-float, .ribbon, .grain, .progress, .mobile-menu { display: none !important; }
  body { background: #fff; }
  .section { padding-block: 1.5rem; break-inside: avoid; }
  .pcard, .cat, .note { break-inside: avoid; box-shadow: none; }
}
