/* ==========================================================================
   RESPONSIVE OVERRIDES - Full Mobile/Tablet/Desktop Support
   ========================================================================== */

/* ===== TABLET (992px and below) ===== */
@media (max-width: 992px) {

    /* Services - Where We Take You Grid */
    .reveal>div[style*="grid-template-columns: repeat(4"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }

    /* Stats Grid */
    .reveal>div[style*="repeat(4, 1fr)"][style*="text-align: center"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px !important;
    }

    /* Stats numbers smaller */
    div[style*="font-size: 48px"] {
        font-size: 36px !important;
    }

    /* Insurance badges wrap */
    div[style*="flex-wrap: wrap"][style*="justify-content: center"] {
        gap: 16px !important;
    }

    /* Insurance badge smaller padding */
    div[style*="padding: 16px 32px"][style*="border-radius: 12px"] {
        padding: 12px 20px !important;
    }

    /* Section padding for insurance box */
    div[style*="padding: 48px"] {
        padding: 32px 24px !important;
    }
}

/* ===== MOBILE (768px and below) ===== */
@media (max-width: 768px) {

    /* Hero adjustments */
    .hero__title {
        font-size: 2rem !important;
    }

    .hero__subtitle {
        font-size: 1rem !important;
    }

    /* Services - Where We Take You Grid - 2 columns on mobile */
    .reveal>div[style*="grid-template-columns: repeat(4"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    /* Destination cards smaller padding */
    div[style*="padding: 24px"][style*="border-radius: 16px"] {
        padding: 16px !important;
    }

    /* Destination icons smaller */
    div[style*="width: 64px"][style*="height: 64px"] {
        width: 48px !important;
        height: 48px !important;
    }

    div[style*="width: 64px"] svg {
        width: 24px !important;
        height: 24px !important;
    }

    /* Stats Grid - 2 columns */
    .reveal>div[style*="repeat(4, 1fr)"][style*="text-align: center"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }

    /* Stats numbers even smaller */
    div[style*="font-size: 48px"] {
        font-size: 28px !important;
    }

    /* Section titles */
    h3[style*="font-size: 28px"],
    h3[style*="font-size: 24px"] {
        font-size: 20px !important;
    }

    /* Insurance box */
    div[style*="padding: 48px"] {
        padding: 24px 16px !important;
    }

    /* Insurance badges stack */
    div[style*="flex-wrap: wrap"][style*="justify-content: center"] {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    div[style*="padding: 16px 32px"][style*="border-radius: 12px"] {
        padding: 12px 16px !important;
        justify-content: center !important;
    }

    /* CTA buttons full width */
    .btn[style*="padding: 16px 40px"] {
        padding: 14px 24px !important;
        width: 100% !important;
    }

    /* CEO image height */
    .about__ceo-image {
        height: 350px !important;
    }

    /* Contact info adjustments */
    .contact__info-icon {
        width: 48px !important;
        height: 48px !important;
    }

    /* Form wrapper padding */
    .contact__form-wrapper {
        padding: 24px !important;
    }
}

/* ===== SMALL MOBILE (480px and below) ===== */
@media (max-width: 480px) {

    /* Hero title even smaller */
    .hero__title {
        font-size: 1.5rem !important;
    }

    /* Where We Take You - single column */
    .reveal>div[style*="grid-template-columns: repeat(4"] {
        grid-template-columns: 1fr !important;
    }

    /* Stats - 2 columns still works */
    .reveal>div[style*="repeat(4, 1fr)"][style*="text-align: center"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Stats numbers */
    div[style*="font-size: 48px"] {
        font-size: 24px !important;
    }

    /* Service cards */
    .card {
        padding: 20px !important;
    }

    /* Card badges */
    .card__badge,
    div[style*="position: absolute"][style*="top: 16px"][style*="right: 16px"] {
        font-size: 10px !important;
        padding: 3px 8px !important;
    }

    /* CEO image smaller */
    .about__ceo-image {
        height: 300px !important;
    }

    /* Section margins */
    div[style*="margin-top: 80px"] {
        margin-top: 48px !important;
    }

    /* Nav logo text */
    .nav__logo-text {
        font-size: 14px !important;
    }
}

/* ===== GENERAL RESPONSIVE UTILITIES ===== */

/* Make all images responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Gallery images maintain aspect ratio */
.gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Ensure buttons don't overflow */
.btn {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Better touch targets on mobile */
@media (max-width: 768px) {

    .btn,
    .nav__link,
    a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
}