/* =========================================================
   ofertivo.pro — adaptaciones responsive
   Se carga después de style.css
   ========================================================= */

@media (max-width: 1080px) {
    .main-nav a { padding: 9px 9px; font-size: 0.88rem; }
    .hero__grid { gap: 38px; }
}

/* ---------- Tablet ---------- */
@media (max-width: 960px) {
    body { font-size: 16.5px; }

    .hero { padding: 56px 0 48px; }
    .hero__grid { grid-template-columns: 1fr; gap: 36px; }
    .hero__sub, .hero__text { max-width: none; }

    .bonus-grid { grid-template-columns: 1fr; }
    .cards, .cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .footer-about { grid-column: 1 / -1; }
}

/* ---------- Navegación móvil ---------- */
@media (max-width: 860px) {
    .site-header__inner {
        flex-wrap: wrap;
        gap: 12px;
        padding-top: 12px;
        padding-bottom: 12px;
        min-height: 0;
    }

    .nav-toggle { display: inline-block; order: 2; margin-left: auto; }
    .lang { order: 3; }

    .main-nav {
        order: 4;
        flex-basis: 100%;
        margin-left: 0;
        display: none;
        border-top: 1px solid var(--line);
        padding-top: 8px;
    }
    .main-nav.is-open { display: block; }
    .main-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
    .main-nav a {
        padding: 13px 6px;
        font-size: 1rem;
        border-bottom: 1px solid var(--ink-3);
        border-radius: 0;
    }
    .main-nav a[aria-current="page"] { box-shadow: inset 3px 0 0 var(--gold); padding-left: 14px; }
}

/* ---------- Móvil ---------- */
@media (max-width: 640px) {
    :root { --gut: 18px; }

    body { font-size: 16px; line-height: 1.62; }

    .block { padding: 48px 0; }
    .block--tight { padding: 36px 0; }
    .hero { padding: 44px 0 40px; }
    .hero--inner { padding: 40px 0 30px; }

    .brand { font-size: 1.05rem; }

    .btn { width: 100%; padding: 14px 20px; }
    .hero__actions { flex-direction: column; align-items: stretch; }
    .hero__actions .stamp { align-self: flex-start; }

    .ticket, .bonus, .form-panel, .subscribe, .card { padding: 22px; }
    .subscribe { padding: 24px 20px; }

    .cards, .cards--2 { grid-template-columns: 1fr; }
    .form-row { grid-template-columns: 1fr; }

    .inline-form { flex-direction: column; align-items: stretch; }
    .inline-form .field { margin-bottom: 14px; }

    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .footer-meta { flex-direction: column; align-items: flex-start; gap: 8px; }

    .contact-lines b { min-width: 100%; }

    .faq summary { font-size: 1rem; padding-right: 36px; }

    table.data th, table.data td { padding: 12px 14px; }
    table.data tbody th { width: auto; min-width: 150px; }

    .err { padding: 64px 0 56px; }
}

/* ---------- Móvil estrecho ---------- */
@media (max-width: 380px) {
    .brand__mark { display: none; }
    .lang a { padding: 8px 10px; font-size: 0.74rem; }
    .ticket::before, .ticket::after { display: none; }
}

/* ---------- Impresión ---------- */
@media print {
    .site-header, .nav-toggle, .lang, .btn, .subscribe, .site-footer { display: none !important; }
    body { background: #fff; color: #111; }
    a { color: #111; }
}
