/* Santi theme — responsive breakpoints */

@media (max-width: 1199px) {
    h1 { font-size: 2.6rem; }
    .hero-title { font-size: 4rem; }
    .section { padding: 70px 0; }
}

@media (max-width: 991px) {
    .hero-title { font-size: 3.2rem; }
    .section-title { font-size: 2.2rem; }
    .two-col, .contact-split {
        grid-template-columns: 1fr;
    }
    .contact-map { min-height: 320px; }
    .contact-form-panel { padding: 50px 30px; }
    .icon-row { grid-template-columns: repeat(2, 1fr); }
    .footer-cols { grid-template-columns: repeat(2, 1fr); }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); }

    /* Mobile nav */
    .menu-toggle { display: inline-flex; }
    .primary-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--color-dark);
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px 16px 16px;
        display: none;
        box-shadow: var(--shadow-md);
    }
    .primary-nav.is-open { display: flex; }
    .primary-nav li a { padding: 12px 8px; border-bottom: 1px solid rgba(255,255,255,0.05); }
    .primary-nav .sub-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        border-top: 0;
        padding-left: 14px;
        box-shadow: none;
    }
}

@media (max-width: 767px) {
    body { font-size: 15px; }
    h1 { font-size: 2.1rem; }
    h2 { font-size: 1.9rem; }
    h3 { font-size: 1.5rem; }
    .hero { min-height: 480px; }
    .hero-title { font-size: 2.4rem; }
    .hero-subtitle { font-size: 1rem; }
    .page-header { padding: 60px 0; }
    .page-header h1 { font-size: 2.4rem; }
    .section { padding: 56px 0; }
    .section-title { font-size: 1.8rem; }
    .service-grid,
    .news-grid,
    .person-grid,
    .team-grid,
    .steps {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .steps::before { display: none; }
    .form-row { grid-template-columns: 1fr; }
    .footer-cols { grid-template-columns: 1fr; gap: 30px; }
    .site-footer .copyright { flex-direction: column; gap: 10px; text-align: center; }
    .header-phone { display: none; }
    .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 220px; }
    .gallery-grid .gal.wide,
    .gallery-grid .gal.tall { grid-column: span 1; grid-row: span 1; }
}

@media (max-width: 480px) {
    .container, .container-narrow { padding: 0 16px; }
    .hero-actions { flex-direction: row; flex-wrap: wrap; gap: 12px; }
    .hero-actions .btn { width: auto; flex: 0 0 auto; }
    .btn { width: 48%;font-size: 11px; }
}
