/* Base styles for mobile first approach */
.site-header {
    padding: 1rem;
}

/* Tablet (768px and up) */
@media screen and (min-width: 48em) {
    .site-header {
        padding: 1.5rem 2rem;
    }

    .site-branding {
        display: flex;
        align-items: center;
        gap: 2rem;
    }

    .main-navigation {
        margin-top: 0;
    }
}

/* Desktop (1024px and up) */
@media screen and (min-width: 64em) {
    .site-header .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .menu-toggle {
        display: none;
    }

    .primary-menu-container {
        display: block !important; /* Override mobile toggle */
    }

    .primary-menu {
        display: flex;
        gap: 2rem;
    }
}

/* Large screens (1280px and up) */
@media screen and (min-width: 80em) {
    .site-header {
        padding: 2rem 4rem;
    }
}

/* Print styles */
@media print {
    .site-header {
        position: static;
        border-bottom: 1px solid #000;
    }

    .main-navigation,
    .location-notice,
    .menu-toggle {
        display: none;
    }
}