@media (max-width: 1200px) {
    .hero-title {
        font-size: 52px;
    }

    .cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .hero {
        padding-bottom: 60px;
    }

    .choose-us-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}

@media (max-width: 991px) {

    /* Mobile Navigation menu drawer styles */
    .mobile-nav-toggle {
        display: block;
    }

    .primary-navigation {
        position: fixed;
        top: 0;
        right: -300px;
        width: 300px;
        height: 100vh;
        background-color: var(--white);
        z-index: 1050;
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
        transition: var(--transition);
        flex-direction: column;
        align-items: flex-start;
        padding: 100px 32px 40px;
    }

    .primary-navigation.active {
        right: 0;
    }

    .nav-menu {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        gap: 20px;
    }

    .nav-link {
        font-size: 18px;
        width: 100%;
        justify-content: space-between;
    }

    .dropdown-menu {
        position: static;
        transform: none;
        opacity: 1;
        visibility: visible;
        box-shadow: none;
        border: none;
        max-height: 0;
        overflow: hidden;
        padding: 0;
        width: 100%;
        margin-top: 0;
        transition: max-height 0.4s ease-out;
        background-color: var(--bg-light);
        border-radius: 8px;
    }

    .nav-item.has-dropdown.open .dropdown-menu {
        max-height: 300px;
        padding: 8px 0;
        margin-top: 10px;
    }

    .nav-item.has-dropdown.open .dropdown-arrow {
        transform: rotate(180deg);
    }

    .desktop-contact,
    .header-contact {
        display: none;
    }

    .mobile-contact-wrapper {
        margin-top: auto;
        width: 100%;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        padding-top: 24px;
    }

    /* Hamburger Animation styles */
    .hamburger {
        display: block;
        position: relative;
        width: 24px;
        height: 2px;
        background-color: var(--primary-navy);
        transition: var(--transition);
    }

    .hamburger::before,
    .hamburger::after {
        content: '';
        position: absolute;
        width: 24px;
        height: 2px;
        background-color: var(--primary-navy);
        transition: var(--transition);
        left: 0;
    }

    .hamburger::before {
        top: -7px;
    }

    .hamburger::after {
        bottom: -7px;
    }

    .mobile-nav-toggle[aria-expanded="true"] .hamburger {
        background-color: transparent;
    }

    .mobile-nav-toggle[aria-expanded="true"] .hamburger::before {
        transform: rotate(45deg);
        top: 0;
    }

    .mobile-nav-toggle[aria-expanded="true"] .hamburger::after {
        transform: rotate(-45deg);
        bottom: 0;
    }

    /* Hero layout */
    .hero {
        background-image: url('../images/hero-bg.png');
        background-position: center top;
        padding-top: 60px;
        padding-bottom: 240px;
    }

    .hero-content {
        max-width: 100%;
        text-align: center;
        margin: 0 auto;
    }

    .hero-badge {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-description {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-actions {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .hero-title {
        font-size: 28px !important;
        line-height: 1.3 !important;
        margin-bottom: 12px !important;
    }

    .hero-description {
        font-size: 13.5px !important;
        line-height: 1.5 !important;
        margin-bottom: 20px !important;
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
        color: var(--white) !important; /* Make description text white for readability */
    }

    .hero-badge {
        font-size: 11px !important;
        padding: 6px 12px !important;
        margin-bottom: 16px !important;
    }

    .cards-wrapper {
        overflow: hidden;
        width: 100%;
        padding: 0 20px;
        margin-top: 60px;
    }

    .cards-grid {
        display: flex !important;
        flex-wrap: nowrap !important;
        grid-template-columns: none !important;
        overflow-x: auto;
        scrollbar-width: none;
        gap: 20px;
    }

    .cards-grid::-webkit-scrollbar {
        display: none;
    }

    .service-card {
        flex: 0 0 230px; /* Reduced width from 280px to 230px */
        margin-bottom: 0 !important;
    }

    .service-card .card-img-wrapper {
        height: 120px !important; /* Reduced top portion height of the images on mobile */
    }

    .service-card .card-icon-badge {
        display: none !important;
    }

    .service-card .card-body {
        padding: 16px 12px 12px !important; /* Reduced vertical padding */
    }

    .service-card .card-title {
        font-size: 15px !important;
        margin-bottom: 6px !important;
    }

    .service-card .card-text {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
        margin-bottom: 12px !important;
    }

    .hero-content {
        max-width: 360px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 10px 0 !important;
        width: 100% !important;
    }

    .site-header {
        height: 70px !important;
    }

    .brand-logo {
        height: 44px !important;
    }

    .hero {
        background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('../images/hero-bg.png') !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        padding-top: 50px !important;
        padding-bottom: 40px !important;
        margin-top: 70px !important;
    }

    .hero-actions {
        flex-direction: row !important;
        width: 100%;
        gap: 10px !important;
        justify-content: center !important;
    }

    .hero-actions .btn {
        flex: 1 1 50% !important;
        max-width: 50% !important;
        min-width: 0 !important; /* Force equal width by disabling min-width: auto */
        height: 44px !important;
        font-size: 11.5px !important;
        padding: 0 4px !important;
        white-space: nowrap !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        gap: 6px !important;
    }

    .hero-actions .btn svg {
        width: 14px !important;
        height: 14px !important;
        flex-shrink: 0 !important;
    }

    .hero-actions .btn-primary {
        border: 1.5px solid transparent !important;
    }

    .hero-actions .btn-secondary {
        border: 1.5px solid rgba(10, 28, 48, 0.15) !important;
    }

    .car-lift-services {
        padding: 30px 0 30px; /* Reduced top/bottom padding to 30px */
    }

    .about-us {
        padding: 50px 0 30px; /* Reduced bottom padding */
    }

    .our-fleet {
        padding: 30px 0 30px; /* Reduced top/bottom paddings to 30px */
    }

    .faq-section {
        padding: 30px 0 60px; /* Reduced top padding to 30px */
    }

    .section-title {
        font-size: 34px;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .our-services {
        padding: 60px 0;
    }

    .services-title {
        font-size: 32px;
    }

    .services-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .services-header-left,
    .services-header-right {
        flex-basis: 100%;
    }

    .services-header-right {
        border-left: none;
        padding-left: 0;
        margin-top: 10px;
    }
}

@media (max-width: 1200px) {
    .car-lift-services {
        padding: 80px 0;
    }

    .lift-container {
        gap: 40px;
    }

    .lift-title {
        font-size: 36px;
    }

    .lift-priority-card {
        left: auto;
        right: -20px;
        max-width: 480px;
    }
}

@media (max-width: 991px) {
    .lift-container {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .lift-right {
        max-width: 600px;
        margin: 0 auto;
    }

    .lift-priority-card {
        left: 20px;
        right: auto;
        bottom: -20px;
        width: calc(100% - 40px);
        max-width: 480px;
    }

    .lift-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 576px) {
    .lift-title {
        font-size: 30px;
    }

    .lift-features-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .lift-priority-card {
        position: relative;
        left: 0;
        right: auto;
        bottom: 0;
        width: 100%;
        max-width: 100%;
        margin-top: 24px;
        box-shadow: var(--shadow-lg);
    }

    .priority-card-body {
        gap: 16px;
        margin-bottom: 16px;
    }

    .priority-icon-wrapper {
        width: 64px;
        height: 64px;
    }

    .priority-icon-wrapper svg {
        width: 36px;
        height: 36px;
    }

    .priority-header-text h3 {
        font-size: 18px;
    }
}

@media (max-width: 991px) {
    .about-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .about-right {
        display: block;
        height: auto;
    }

    .about-mission-wrapper {
        margin-top: 30px;
        margin-bottom: 40px;
        min-height: auto;
        height: auto;
    }

    .about-sub-img-wrapper {
        height: auto;
    }

    .about-sub-img {
        position: relative;
        height: 100px;
    }

    .about-mission-card {
        width: 320px;
    }
}

@media (max-width: 576px) {
    .about-title {
        font-size: 32px;
    }

    .about-floating-card {
        padding: 15px;
        gap: 12px;
    }

    .floating-icon-wrapper {
        width: 44px;
        height: 44px;
    }

    .floating-card-content h4 {
        font-size: 15px;
    }

    .floating-card-content p {
        font-size: 12px;
    }

    .about-mission-card {
        position: relative;
        left: 0;
        top: auto;
        bottom: 0;
        width: 100%;
        margin-top: -30px;
    }

    .about-sub-img {
        height: 200px; /* Make image visible on mobile view */
    }
}

@media (max-width: 1200px) {
    .fleet-tabs {
        max-width: 95%;
    }

    .fleet-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
        max-width: 95%;
    }
}

@media (max-width: 991px) {
    .fleet-tabs {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px;
    }

    .fleet-tab {
        padding: 12px 16px;
    }

    .fleet-title {
        font-size: 34px;
    }

    .fleet-subtitle-main {
        font-size: 26px;
    }
}

@media (max-width: 768px) {
    .fleet-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .faq-container {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .faq-left {
        position: relative;
        top: 0;
    }

    .faq-right {
        margin-top: 0;
    }

    .faq-title {
        font-size: 34px;
    }
}

@media (max-width: 576px) {
    .faq-section {
        padding: 30px 0 60px; /* Reduced top padding to 30px */
    }

    .faq-title {
        font-size: 28px;
    }

    .promo-card-top {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }

    .promo-img-wrapper {
        width: 140px;
        height: 140px;
    }

    .promo-badge {
        justify-content: center;
    }

    .promo-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .faq-question {
        padding: 16px 20px;
    }

    .faq-question h3 {
        font-size: 14px;
    }

    .faq-icon-circle {
        width: 36px;
        height: 36px;
    }

    .faq-icon-circle svg {
        width: 16px;
        height: 16px;
    }

    .faq-item.active .faq-answer {
        padding: 12px 20px 20px 72px;
    }
}

@media (max-width: 991px) {
    .booking-card {
        flex-direction: column;
        min-height: auto;
    }

    .booking-left {
        width: 100%;
        padding: 40px;
    }

    .booking-wave-wrapper {
        display: none;
    }

    .booking-right {
        width: 100%;
        height: 340px;
        align-items: flex-end;
        justify-content: center;
        padding: 30px;
    }
}

@media (max-width: 576px) {
    .booking-left {
        padding: 30px 20px;
    }

    .booking-title {
        font-size: 26px;
    }

    .booking-desc {
        max-width: 100%;
    }

    .booking-features {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        max-width: 100%;
    }

    .booking-feature-item:not(:last-child)::after {
        display: none;
    }

    .booking-right {
        height: 280px;
    }

    .booking-priority-card {
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 991px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
}

@media (max-width: 576px) {
    .main-footer {
        padding: 50px 0 20px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }
}

@media (max-width: 768px) {
    .services-banner {
        padding: 130px 0 90px;
    }

    .services-banner-title {
        font-size: 34px;
    }

    .services-banner-desc {
        font-size: 14px;
    }
}

@media (max-width: 991px) {
    .contact-container {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .contact-panel-title {
        font-size: 32px;
    }

    .contact-info-panel {
        height: auto;
    }

    .contact-cards-grid {
        margin-top: 30px;
    }

    .contact-form-panel {
        margin-top: 0;
    }

    .contact-form-card {
        padding: 30px;
    }
}

@media (max-width: 768px) {
    .contact-banner {
        padding: 130px 0 90px;
    }

    .contact-banner-title {
        font-size: 34px;
    }

    .contact-banner-desc {
        font-size: 14px;
    }
}

@media (max-width: 991px) {
    .about-features-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
}

@media (max-width: 768px) {
    .about-banner {
        padding: 130px 0 90px;
    }

    .about-banner-title {
        font-size: 34px;
    }

    .about-banner-desc {
        font-size: 14px;
    }

    .stats-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 991px) {
    .travel-banner {
        padding: 160px 0 90px;
    }

    .travel-banner-title {
        font-size: 34px;
    }

    .travel-banner-desc {
        font-size: 14px;
    }

    .tourism-places-section {
        padding: 60px 0;
    }

    .tourism-places-slider {
        gap: 20px;
    }

    .tourism-place-card {
        transform: scale(1);
        height: 240px;
        flex: 0 0 calc(50% - 10px); /* Show 2 cards at a time on tablet view */
    }
}

@media (max-width: 576px) {
    .tourism-slider-container {
        padding: 20px 16px !important; /* Gives horizontal padding so shadows and rounded corners don't get cut off */
    }

    .tourism-place-card {
        flex: 0 0 100% !important; /* Spans exactly 100% width, showing one card at a time */
        height: 200px !important;  /* Elegant card height for mobile */
        transform: scale(1) !important;
    }

    .tourism-place-card.active {
        transform: scale(1) !important; /* Prevent card expansion clipping on mobile */
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3) !important;
    }

    .tourism-place-card .tourism-card-content {
        padding: 20px !important;
    }

    .tourism-place-card .tourism-card-title-small {
        font-size: 18px !important;
        margin-bottom: 6px !important;
    }

    .tourism-place-card .tourism-card-desc-small {
        font-size: 12px !important;
        line-height: 1.4 !important;
        margin-bottom: 12px !important;
        min-height: auto !important;
        -webkit-line-clamp: 2 !important;
    }
}

@media (max-width: 576px) {
    .tourism-hero-title {
        font-size: 36px;
    }

    .tourism-hero-desc {
        font-size: 14px;
    }

    .tourism-hero-btns {
        flex-direction: column;
        width: 100%;
    }

    .tourism-hero-btns a {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 991px) {
    .travel-about-section {
        padding: 60px 0;
    }

    .travel-about-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .travel-about-left {
        padding-right: 0;
    }

    .travel-minimal-img {
        height: 300px;
    }

    .travel-minimal-stats {
        gap: 30px;
        justify-content: space-between;
    }
}

@media (max-width: 576px) {
    .travel-about-title {
        font-size: 30px;
    }
}

@media (max-width: 991px) {
    .tour-packages-section {
        padding: 60px 0;
    }

    .packages-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 991px) {
    .testimonials-slider-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .testimonial-slide-card {
        min-width: 100%;
        width: 100%;
    }
}

@media (max-width: 991px) {
    .gallery-section {
        padding: 60px 0;
    }

    .gallery-grid {
        gap: 15px;
    }

    .gallery-grid .gallery-item {
        grid-column: span 6;
        height: 220px;
    }
}

@media (max-width: 576px) {
    .gallery-grid .gallery-item {
        grid-column: span 12;
        height: 200px;
    }
}

@media (max-width: 768px) {
    .travel-cta-section {
        padding: 60px 20px;
    }
    
    .travel-cta-section h2 {
        font-size: 28px;
    }
    
    .travel-cta-section p {
        font-size: 14.5px;
        margin-bottom: 30px;
    }
}

@media (max-width: 768px) {
    .service-areas-banner {
        padding: 130px 0 90px;
    }

    .service-areas-banner-title {
        font-size: 34px;
    }

    .service-areas-banner-desc {
        font-size: 14px;
    }
}

@media (max-width: 991px) {
    .service-coverage-section {
        padding: 60px 0;
    }

    .coverage-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .coverage-content-title {
        font-size: 32px;
    }
}

@media (max-width: 576px) {
    .coverage-cards-container {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .coverage-feature-list {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

@media (max-width: 991px) {
    .story-excellence-section {
        padding: 60px 0;
    }

    .excellence-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .excellence-title {
        font-size: 34px;
    }
}

@media (max-width: 768px) {
    .excellence-feature-bar {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 30px;
    }

    .excellence-feature-item:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        padding-bottom: 20px;
    }

    .excellence-mission-card {
        grid-template-columns: 1fr;
    }

    .mission-card-img-container {
        height: 220px;
    }

    .mission-card-curve {
        display: none;
    }

    .excellence-main-img-wrapper {
        height: 260px;
    }
}

/* Post a Review Page Responsive Overrides */
@media (max-width: 991px) {
    .review-banner {
        padding: 130px 0 90px;
    }

    .review-banner-title {
        font-size: 34px;
    }

    .review-container {
        grid-template-columns: 1fr;
        gap: 40px;
        margin-top: -50px; /* Overlap adjustment for mobile/tablet */
    }

    .review-info-panel {
        padding: 30px;
        margin-top: 0; /* Reset top margin on mobile */
    }
}

@media (max-width: 768px) {
    .form-row-two {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    /* Footer Center Alignment on Mobile */
    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 30px;
        text-align: center;
    }

    .footer-col,
    .footer-brand-col,
    .footer-links-col,
    .footer-contact-col {
        align-items: center;
        text-align: center;
    }

    .footer-logo {
        margin-left: auto;
        margin-right: auto;
        display: flex;
        justify-content: center;
    }

    .footer-socials,
    .footer-social-links {
        justify-content: center;
        display: flex;
        gap: 12px;
    }

    .footer-links,
    .footer-links-list {
        align-items: center;
        padding: 0;
    }

    .footer-contact-info,
    .footer-contact-list {
        align-items: center;
        padding: 0;
    }

    .footer-contact-info li,
    .contact-item-link {
        justify-content: center;
        text-align: center;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }

    .footer-bottom-links {
        justify-content: center;
    }
}