/* ============================================================
   CarriersTMS — Responsive overrides
   Breakpoints: 1100, 900, 720, 520
   ============================================================ */

@media (max-width: 1100px) {
    .container { padding: 0 22px; }
    .footer-cols { grid-template-columns: repeat(2, 1fr); gap: 36px; }
    .quotes { grid-template-columns: 1fr 1fr; }
    .quotes .quote--big { grid-column: span 2; }
    .stats { grid-template-columns: repeat(2, 1fr); }
    .stats__cell { border-right: 0; border-bottom: 2px solid var(--c-ink); }
    .stats__cell:nth-child(2n) { border-right: 2px solid var(--c-ink); border-right: 0; }
    .stats__cell:nth-last-child(-n+2) { border-bottom: 0; }
    .stats__cell:nth-child(odd) { border-right: 2px solid var(--c-ink); }
}

@media (max-width: 980px) {
    .nav-toggle { display: flex; }
    .primary-nav {
        position: fixed;
        top: 0; right: -100%;
        height: 100vh;
        width: 86%;
        max-width: 380px;
        background: var(--c-bg);
        border-left: 4px solid var(--c-orange);
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        padding: 100px 28px 40px;
        gap: 0;
        transition: right .25s ease;
        overflow-y: auto;
        box-shadow: -8px 0 0 rgba(13,27,42,0.4);
    }
    .primary-nav.is-open { right: 0; }
    .nav-list { flex-direction: column; gap: 0; align-items: stretch; }
    .nav-link { padding: 14px 10px; border-bottom: 1px solid rgba(13,27,42,0.15); }
    .has-dropdown .dropdown {
        position: static;
        display: none;
        box-shadow: none;
        border: 0;
        background: var(--c-bg-2);
        margin: 0 -10px;
        padding: 6px 10px 12px;
    }
    .has-dropdown.is-open > .dropdown { display: block; }
    .nav-cta { flex-direction: column; align-items: stretch; gap: 12px; margin-top: 20px; }
    .nav-cta .btn { justify-content: center; }
    .topstrip { font-size: 0.7rem; }
    .topstrip__msg { display: none; }
}

@media (max-width: 900px) {
    .hero { padding: 60px 0 80px; }
    .hero__inner { grid-template-columns: 1fr; gap: 50px; }
    .hero__visual { transform: rotate(0deg); max-width: 560px; margin: 0 auto; }
    .stat-sticker { right: 14px; top: -22px; }
    .split { grid-template-columns: 1fr; gap: 40px; }
    .split--reverse > .split__media { order: 0; }
    .fcards { grid-template-columns: repeat(2, 1fr); }
    .fcards .fcard:nth-child(3n) { border-right: 2px solid var(--c-ink); }
    .fcards .fcard:nth-child(2n) { border-right: 0; }
    .fcards .fcard:nth-last-child(-n+3) { border-bottom: 2px solid var(--c-ink); }
    .fcards .fcard:nth-last-child(-n+2) { border-bottom: 0; }
    .tiles { grid-template-columns: repeat(2, 1fr); }
    .price-grid { grid-template-columns: 1fr; }
    .price-card { border-right: 0; border-bottom: 2px solid var(--c-ink); }
    .price-card:last-child { border-bottom: 0; }
    .auth-shell { grid-template-columns: 1fr; }
    .auth-shell__visual { display: none; }
    .auth-shell__form-wrap { padding: 60px 28px; }
    .newsletter-strip__inner { grid-template-columns: 1fr; gap: 28px; }
    .cta-banner__inner { grid-template-columns: 1fr; gap: 24px; }
    .cta-banner__stamp { display: none; }
    .footer-top { grid-template-columns: 1fr; gap: 36px; }
    .footer-bottom { grid-template-columns: 1fr; text-align: center; gap: 14px; }
    .footer-legal { justify-content: center; }
    .footer-make { text-align: center; }
    .section { padding: 70px 0; }
}

@media (max-width: 720px) {
    body { font-size: 16px; }
    .container { padding: 0 18px; }
    .hero__quickstats { gap: 18px; }
    .form-row { grid-template-columns: 1fr; gap: 16px; }
    .footer-cols { grid-template-columns: 1fr; }
    .quotes { grid-template-columns: 1fr; }
    .quotes .quote--big { grid-column: span 1; }
    .stats { grid-template-columns: 1fr; }
    .stats__cell { border-right: 0 !important; border-bottom: 2px solid var(--c-ink); }
    .stats__cell:last-child { border-bottom: 0; }
    .fcards { grid-template-columns: 1fr; }
    .fcards .fcard { border-right: 0 !important; border-bottom: 2px solid var(--c-ink); }
    .fcards .fcard:last-child { border-bottom: 0; }
    .tiles { grid-template-columns: 1fr; }
    .specs li { grid-template-columns: 1fr; gap: 4px; }
    .ticker__item { font-size: 0.95rem; }
    .msgbox { padding: 36px 24px; }
}

@media (max-width: 520px) {
    .hero__title { font-size: 2.4rem; }
    .hero__btns .btn { width: 100%; justify-content: center; }
    .topstrip__phone { display: none; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .ticker__track { animation: none; }
    * { transition: none !important; }
}
