/* ═══════════════════════════════════════
   LS Tours — Responsive Stylesheet
   Mobile-first breakpoints
   ═══════════════════════════════════════ */

/* ─── TABLET: max 1024px ─── */
@media (max-width: 1024px) {
    /* Services page sidebar hidden */
    .services-page-layout {
        grid-template-columns: 1fr;
    }

    .services-sidebar {
        display: none;
    }

    /* About story */
    .about-story-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    /* Licenses */
    .licenses-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Service full */
    .service-full {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .service-full--reverse {
        direction: ltr;
    }

    /* Vision mission */
    .vm-grid {
        grid-template-columns: 1fr;
    }

    /* Contact grid */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    /* Maps */
    .maps-grid {
        grid-template-columns: 1fr;
    }

    /* Enquiry grid */
    .enquiry-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    /* CTA strip */
    .cta-strip-inner {
        flex-direction: column;
        text-align: center;
    }

    /* Director card */
    .director-card {
        flex-direction: column;
        text-align: center;
    }
}

/* ─── MOBILE: max 768px ─── */
@media (max-width: 768px) {
    :root {
        --section-padding: 64px 0;
    }

    /* Typography scale down */
    .hero-title {
        font-size: 2.5rem;
    }

    .page-hero-title {
        font-size: 2rem;
    }

    .section-title {
        font-size: 1.75rem;
    }

    .enquiry-title {
        font-size: 2rem;
    }

    /* Navbar */
    .nav-menu {
        display: none;
    }

    .hamburger {
        display: flex;
    }

    .mobile-menu {
        display: block;
    }

    .nav-cta-btn:not(.mobile-cta) {
        display: none;
    }

    .nav-inner {
        padding: 0 16px;
    }

    /* Hero */
    .hero-cta-group {
        flex-direction: column;
        width: 100%;
    }

    .hero-cta-group .btn-primary,
    .hero-cta-group .btn-secondary {
        width: 100%;
    }

    .hero-subtext {
        font-size: 1rem;
    }

    /* Trust badges */
    .trust-badge-strip {
        display: none;
    }

    /* Stats */
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .stat-divider {
        border-right: none;
    }

    .stat-item:nth-child(odd) {
        border-right: 1px solid rgba(0, 0, 0, 0.1);
    }

    .stat-item:nth-child(-n+2) {
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    }

    /* Services grid */
    .services-grid {
        grid-template-columns: 1fr;
    }

    .services-section {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* C.A.R.E grid */
    .care-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .care-section {
        padding-left: 16px;
        padding-right: 16px;
    }

    .care-card {
        padding: 24px;
    }

    .care-letter {
        font-size: 4rem;
        right: 16px;
    }

    /* Enquiry */
    .enquiry-section {
        padding-left: 16px;
        padding-right: 16px;
    }

    .enquiry-form-wrap {
        padding: 24px;
    }

    /* Locations grid */
    .locations-grid {
        grid-template-columns: 1fr;
    }

    .locations-section,
    .locations-page-section {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer-bottom-inner {
        flex-direction: column;
        text-align: center;
    }

    .footer-main {
        padding: 64px 0;
    }

    /* Page sections */
    .about-story,
    .vision-mission-section,
    .objectives-section,
    .timeline-section,
    .licenses-section,
    .director-section,
    .services-page-section,
    .contact-section,
    .maps-section {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* Licenses */
    .licenses-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .license-card {
        padding: 20px 16px;
    }

    /* Contact form */
    .contact-form-wrap {
        padding: 24px;
    }

    /* Form 2-col stacking */
    .form-row-2col {
        grid-template-columns: 1fr;
    }

    /* Floating CTA */
    .floating-cta {
        bottom: 24px;
        right: 24px;
        width: 56px;
        height: 56px;
    }

    .floating-cta .material-symbols-outlined {
        font-size: 1.5rem;
    }

    /* Page hero */
    .page-hero {
        padding: 120px 0 60px;
    }
}

/* ─── SMALL MOBILE: max 375px ─── */
@media (max-width: 375px) {
    :root {
        --section-padding: 48px 0;
    }

    .hero-title {
        font-size: 2rem;
    }

    .page-hero-title {
        font-size: 1.5rem;
    }

    .section-title {
        font-size: 1.5rem;
    }

    .enquiry-title {
        font-size: 1.5rem;
    }

    .stat-number {
        font-size: 2rem;
    }

    /* C.A.R.E — stack on small */
    .care-grid {
        grid-template-columns: 1fr;
    }

    /* Licenses — stack on small */
    .licenses-grid {
        grid-template-columns: 1fr;
    }

    /* Director photo smaller */
    .director-photo,
    .director-photo-placeholder {
        width: 120px;
        height: 120px;
    }

    .director-name {
        font-size: 1.5rem;
    }

    /* Buttons */
    .btn-lg {
        padding: 14px 32px;
        font-size: 1rem;
    }

    .container {
        padding: 0 16px;
    }
}
