/* =========================================================
   Breakpoints — mobile first.
   Base: 320–479px (definida en style.css)
   ========================================================= */

/* ---------- 360px+ : respiro mínimo ---------- */
@media (min-width: 360px) {
  .hero__actions { flex-direction: row; flex-wrap: wrap; }
  .hero__actions .btn { flex: 1 1 auto; }
}

/* ---------- 480px+ ---------- */
@media (min-width: 480px) {
  .wrap { padding-inline: 24px; }
  .seal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cookiebar__actions { justify-content: flex-end; }
}

/* ---------- 640px+ ---------- */
@media (min-width: 640px) {
  .section { padding-block: 72px; }
  .hero { padding-block: 72px 56px; }
  .offer { padding: 30px 28px 26px; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cookiebar {
    left: auto; right: 20px; bottom: 20px; max-width: 460px;
  }
}

/* ---------- 768px+ : tablet ---------- */
@media (min-width: 768px) {
  body { font-size: 17px; }
  .wrap { padding-inline: 32px; }
  .offers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__top { grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; }
  .legal { padding-block: 60px 80px; }
  .form { gap: 22px; }
  .form--split .field--half { }
}

/* ---------- 1024px+ : escritorio ---------- */
@media (min-width: 1024px) {
  .navtoggle { display: none; }

  .mainnav {
    display: flex !important;
    align-items: center;
    gap: 26px;
    position: static;
    background: none;
    border: 0;
    padding: 0;
  }
  .mainnav__list { display: flex; gap: 24px; margin: 0; }
  .mainnav__link {
    border-bottom: 0;
    padding: 6px 0;
    font-size: .93rem;
    font-weight: 600;
    color: var(--on-dark-muted);
    position: relative;
  }
  .mainnav__link:hover { color: var(--on-dark); }
  .mainnav__link.is-current { color: var(--amber); }
  .mainnav__link.is-current::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -2px;
    height: 2px; background: var(--amber); border-radius: 2px;
  }
  .mainnav__cta { padding: 11px 22px; font-size: .9rem; }

  .offers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .seal__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  .hero__inner {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 56px;
    align-items: center;
  }
  .hero__aside { margin-top: 0; }
  .seal { margin-top: 0; padding: 28px; }
  .seal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }

  .ctable { min-width: 0; font-size: .93rem; }
  .tablehint { display: none; }
  .tablewrap { overflow-x: visible; }

  .section__head--split {
    display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end;
    max-width: none;
  }
}

/* ---------- 1280px+ ---------- */
@media (min-width: 1280px) {
  .section { padding-block: 88px; }
  .hero { padding-block: 92px 68px; }
}

/* ---------- 1600px+ : evita líneas demasiado largas ---------- */
@media (min-width: 1600px) {
  :root { --wrap: 1240px; }
}

/* ---------- Impresión ---------- */
@media print {
  .masthead, .cookiebar, .agebar, .footer__nav, .btn { display: none !important; }
  body { background: #fff; color: #000; }
}
