/*
 * FILE: assets/css/responsive.css
 * PURPOSE: Responsive layouts for tablet and mobile.
 * USED BY: All public pages.
 * CONNECTS TO: style.css.
 * EDIT HERE: Breakpoint-specific layout changes.
 */

@media (max-width: 1100px) {
    .main-nav { gap:12px; font-size:13px; }
    .hero-grid { gap:40px; }
    .process { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 900px) {
    .nav-toggle { display:block; }
    .main-nav {
        display:none;
        position:absolute;
        top:78px; left:20px; right:20px;
        background:#fff;
        border:1px solid var(--border);
        border-radius:18px;
        padding:14px;
        box-shadow:var(--shadow-md);
        flex-direction:column;
        align-items:stretch;
    }
    .main-nav.open { display:flex; }
    .main-nav > a { padding:10px; }
    .nav-item { width:100%; }
    .nav-link-toggle { width:100%; justify-content:space-between; padding:10px; }
    .dropdown-menu {
        position:static; opacity:1; visibility:visible; transform:none; box-shadow:none;
        border:none; padding:0 0 4px 14px; max-height:0; overflow:hidden; transition:max-height .2s ease;
    }
    .nav-item.open .dropdown-menu { max-height:400px; }
    .hero-grid,.split { grid-template-columns:1fr; }
    .hero { padding-top:65px; }
    .hero-visual { min-height:auto; }
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .cards-grid { grid-template-columns:repeat(2,1fr); }
    .footer-grid { grid-template-columns:repeat(2,1fr); }
    .cta-inner { flex-direction:column; align-items:flex-start; }
}

@media (max-width: 600px) {
    .container { width:min(var(--container),calc(100% - 28px)); }
    .hero h1 { font-size:40px; }
    .hero-copy { font-size:16px; }
    .hero-actions .btn { width:100%; }
    .hero-card { min-height:380px; }
    .stats-grid,.cards-grid,.process,.form-grid,.footer-grid { grid-template-columns:1fr; }
    .form-group.full { grid-column:auto; }
    .section { padding:65px 0; }
    .footer-bottom { flex-direction:column; }
}
