/*
 * Enhanced Modern and Professional CSS for Travel Destination Pages
 * Cleaned and optimized version - duplicates removed, utilities added
 * With Enhanced Icon Color Coding System + Complete Footer Integration
 * FIXED VERSION - No conflicts, all animations preserved
 */

/* ==========================================================================
   1. GLOBAL UTILITIES & ANIMATIONS
   ========================================================================== */

/* Unified fade-in animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Unified gradient animation */
@keyframes gradientFlow {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Pulse animation for badges */
@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* Staggered animation utility */
.stagger-animations > *:nth-child(1) { animation-delay: 0.1s; }
.stagger-animations > *:nth-child(2) { animation-delay: 0.2s; }
.stagger-animations > *:nth-child(3) { animation-delay: 0.3s; }
.stagger-animations > *:nth-child(4) { animation-delay: 0.4s; }
.stagger-animations > *:nth-child(5) { animation-delay: 0.5s; }
.stagger-animations > *:nth-child(6) { animation-delay: 0.6s; }
.stagger-animations > *:nth-child(7) { animation-delay: 0.7s; }
.stagger-animations > *:nth-child(8) { animation-delay: 0.8s; }
.stagger-animations > *:nth-child(9) { animation-delay: 0.9s; }

/* Base button styles - reusable */
.btn-base {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 2rem;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    border: none;
    border-radius: 50px;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.btn-base::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.btn-base:hover {
    background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4);
    color: #ffffff;
}

.btn-base:hover::before {
    left: 100%;
}

.btn-base:active {
    transform: translateY(0);
}

/* ==========================================================================
   TARGETED ICON COLOR CODING - INTEGRATED
   ========================================================================== */

/* ==========================================================================
   SERVICE CARD ICONS - PRIMARY TRAVEL SERVICES
   ========================================================================== */

/* Flights Icon - Sky Blue */
.service-card i.fa-plane-departure {
    color: #3498db !important;
}

.service-card:hover i.fa-plane-departure {
    color: #2980b9 !important; /* Darker blue on hover */
    transform: scale(1.1) rotate(-5deg);
}

/* Hotels Icon - Purple (Luxury) */
.service-card i.fa-hotel {
    color: #8e44ad !important;
}

.service-card:hover i.fa-hotel {
    color: #7d3c98 !important; /* Darker purple on hover */
    transform: scale(1.1);
}

/* Airport Transfers/Taxi Icon - Yellow */
.service-card i.fa-taxi {
    color: #f39c12 !important;
}

.service-card:hover i.fa-taxi {
    color: #e67e22 !important; /* Darker yellow/orange on hover */
    transform: scale(1.1) rotate(3deg);
}

/* Car Rentals Icon - Red */
.service-card i.fa-car {
    color: #e74c3c !important;
}

.service-card:hover i.fa-car {
    color: #c0392b !important; /* Darker red on hover */
    transform: scale(1.1);
}

/* ==========================================================================
   TRUST SECTION ICONS - COMPLEMENTARY COLORS
   ========================================================================== */

/* Secure Payments - Green (Trust/Security) */
.trust-card i.fa-shield-halved {
    color: #27ae60 !important;
}

.trust-card:hover i.fa-shield-halved {
    color: #229954 !important;
    transform: scale(1.15) rotate(-3deg);
}

/* 24/7 Support - Blue (Communication) */
.trust-card i.fa-headset {
    color: #3498db !important;
}

.trust-card:hover i.fa-headset {
    color: #2980b9 !important;
    transform: scale(1.15) rotate(5deg);
}

/* Trusted Partners/Quality - Orange (Excellence) */
.trust-card i.fa-thumbs-up {
    color: #f39c12 !important;
}

.trust-card:hover i.fa-thumbs-up {
    color: #e67e22 !important;
    transform: scale(1.15) rotate(-8deg);
}

/* Best Prices - Red (Deals/Savings) */
.trust-card i.fa-tag {
    color: #e74c3c !important;
}

.trust-card:hover i.fa-tag {
    color: #c0392b !important;
    transform: scale(1.15) rotate(10deg);
}

/* Star Rating - Gold (Premium) */
.trust-card i.fa-star {
    color: #f1c40f !important;
}

.trust-card:hover i.fa-star {
    color: #f4d03f !important;
    transform: scale(1.15) rotate(-10deg);
    filter: drop-shadow(0 0 8px rgba(241, 196, 15, 0.4));
}

/* Worldwide Options - Teal (Global) */
.trust-card i.fa-globe {
    color: #16a085 !important;
}

.trust-card:hover i.fa-globe {
    color: #138d75 !important;
    transform: scale(1.15) rotate(360deg);
    transition: transform 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Credit Card Payments - Purple (Finance) */
.trust-card i.fa-credit-card {
    color: #8e44ad !important;
}

.trust-card:hover i.fa-credit-card {
    color: #7d3c98 !important;
    transform: scale(1.15) rotate(-5deg);
}

/* Fire/Deals Icon - Orange-Red */
.trust-card i.fa-fire {
    color: #ff6b35 !important;
}

.trust-card:hover i.fa-fire {
    color: #e55a2b !important;
    transform: scale(1.15) rotate(8deg);
    filter: drop-shadow(0 0 10px rgba(255, 107, 53, 0.4));
}

/* ==========================================================================
   ADDITIONAL TRUST/SERVICE ICONS - EXTENDED PALETTE
   ========================================================================== */

/* Hotel verification icons */
.trust-card i.fa-hotel {
    color: #8e44ad !important; /* Same as service hotels */
}

/* Plane/Airlines icons */
.trust-card i.fa-plane {
    color: #3498db !important; /* Same as flights */
}

/* Multi-airline/Exchange icons */
.trust-card i.fa-right-left {
    color: #e67e22 !important; /* Orange for flexibility */
}

.trust-card:hover i.fa-right-left {
    color: #d68910 !important;
    transform: scale(1.15) rotateY(180deg);
    transition: transform 0.5s ease;
}

/* ==========================================================================
   ICON HOVER STATES - ENHANCED ANIMATIONS
   ========================================================================== */

/* Service card hover effects */
.service-card:hover i {
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Trust card hover effects */
.trust-card:hover i {
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* ==========================================================================
   2. HERO SECTION STYLING
   ========================================================================== */

.destination-hero {
    position: relative;
    padding: 8rem 2rem 6rem;
    min-height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    overflow: hidden;
}

.destination-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.6) 100%);
    z-index: 1;
}

.destination-hero .e-con-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1000px;
    margin: 0 auto;
    animation: fadeInUp 1s ease-out;
}

.destination-hero .elementor-heading-title {
    font-family: 'Inter', 'Poppins', sans-serif;
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 800;
    margin: 0 0 1rem 0;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    letter-spacing: -0.02em;
}

.destination-hero .elementor-widget-text-editor {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1.1rem, 2.5vw, 1.6rem);
    font-weight: 300;
    margin-top: 0;
    color: rgba(255, 255, 255, 0.95);
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* ==========================================================================
   3. MAIN CONTAINER AND LAYOUT
   ========================================================================== */

.single-post-content-section {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2rem 1.5rem;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border-radius: 2rem 2rem 0 0;
    margin-top: -2rem;
    position: relative;
    z-index: 3;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.08);
}

@media (min-width: 768px) {
    .single-post-content-section {
        padding: 3rem 2rem;
        gap: 3rem;
    }
}

@media (min-width: 1024px) {
    .single-post-content-section {
        flex-direction: row;
        gap: 4rem;
        padding: 4rem 3rem;
        max-width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ==========================================================================
   4. SECTION HEADING - Transform Icon List to Proper Heading
   ========================================================================== */

.elementor-element-d31249c {
    margin-bottom: 2rem;
    width: 100%;
    order: -1;
}

.elementor-element-d31249c .elementor-icon-list-items {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 768px) {
    .elementor-element-d31249c .elementor-icon-list-items {
        flex-direction: row;
        justify-content: center;
        gap: 1rem;
    }
}

.elementor-element-d31249c .elementor-icon-list-item {
    background: none;
    padding: 0;
    border-radius: 0;
    font-weight: 700;
    font-size: clamp(1.5rem, 4vw, 2.2rem);
    color: #1e293b;
    text-align: center;
    position: relative;
}

.elementor-element-d31249c .elementor-icon-list-item:first-child {
    color: #0f172a;
    font-weight: 800;
}

.elementor-element-d31249c .elementor-icon-list-item:last-child {
    color: #64748b;
    font-weight: 500;
    font-size: clamp(1.1rem, 3vw, 1.4rem);
}

@media (min-width: 768px) {
    .elementor-element-d31249c .elementor-icon-list-item:not(:last-child)::after {
        content: '•';
        position: absolute;
        right: -0.7rem;
        color: #cbd5e1;
        font-weight: 400;
    }
}

/* ==========================================================================
   5. INFO SECTION - Clean Typography
   ========================================================================== */

.destination-details-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.destination-details-wrapper.stagger-animations > * {
    animation: fadeInUp 0.6s ease-out;
    animation-fill-mode: both;
}

.destination-details-wrapper .elementor-widget-icon-list {
    background: none;
    padding: 0;
    border-radius: 0;
    border: none;
    box-shadow: none;
    margin-bottom: 0.75rem;
}

.destination-details-wrapper .elementor-widget-icon-list:hover {
    background: none;
    border: none;
    box-shadow: none;
    transform: none;
}

.destination-details-wrapper .elementor-icon-list-items {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (max-width: 767px) {
    .destination-details-wrapper .elementor-icon-list-items {
        flex-direction: column;
        gap: 0.5rem;
    }
}

.destination-details-wrapper .elementor-icon-list-item {
    background: none;
    padding: 0;
    border-radius: 0;
    font-size: 0.95rem;
    font-weight: 500;
    color: #334155;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: fit-content;
    position: relative;
    transition: color 0.2s ease;
}

.destination-details-wrapper .elementor-icon-list-item:hover {
    background: none;
    color: #1e293b;
}

.destination-details-wrapper .elementor-icon-list-item:not(:last-child)::after {
    content: '•';
    color: #cbd5e1;
    margin-left: 1rem;
    font-weight: 300;
}

@media (max-width: 767px) {
    .destination-details-wrapper .elementor-icon-list-item:not(:last-child)::after {
        display: none;
    }
}

.destination-details-wrapper .elementor-icon-list-icon {
    color: #10b981;
    font-size: 0.9rem;
    flex-shrink: 0;
}

/* ==========================================================================
   6. TEXT CONTENT STYLING
   ========================================================================== */

.destination-details-wrapper .elementor-widget-text-editor {
    background: #ffffff;
    padding: 1.5rem;
    border-radius: 1rem;
    border-left: 4px solid #3b82f6;
    font-size: 1rem;
    line-height: 1.7;
    color: #475569;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.destination-details-wrapper .elementor-widget-text-editor p {
    margin: 0;
}

.destination-details-wrapper .elementor-widget-text-editor strong,
.destination-details-wrapper .elementor-widget-text-editor b {
    color: #1e293b;
    font-weight: 600;
}

/* ==========================================================================
   7. GALLERY STYLING
   ========================================================================== */

.gallery-container {
    flex-shrink: 0;
    width: 100%;
    order: -1;
}

@media (min-width: 1024px) {
    .gallery-container {
        width: 42%;
        order: 0;
    }
}

.elementor-widget-gallery {
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.elementor-widget-gallery .elementor-gallery-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
}

@media (min-width: 768px) {
    .elementor-widget-gallery .elementor-gallery-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }
}

.e-gallery-item {
    border-radius: 1rem;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.e-gallery-item:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.elementor-gallery-item__overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 60%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.e-gallery-item:hover .elementor-gallery-item__overlay {
    opacity: 1;
}

/* ==========================================================================
   8. ENHANCED BUTTON STYLING
   ========================================================================== */

.elementor-element-bdb7dcd {
    margin-top: 2rem;
    text-align: center;
}

@media (min-width: 1024px) {
    .elementor-element-bdb7dcd {
        text-align: left;
    }
}

.elementor-button-link {
    @extend .btn-base;
    font-size: 1.1rem;
    padding: 1rem 3rem;
}

/* ==========================================================================
   9. RELATED POSTS SECTION
   ========================================================================== */

.related-posts-section {
    margin-top: 4rem;
    padding: 3rem 2rem;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-radius: 2rem;
    position: relative;
    overflow: hidden;
}

.related-posts-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #3b82f6, #10b981, #f59e0b, #ef4444);
    background-size: 400% 100%;
    animation: gradientFlow 8s ease infinite;
}

.related-posts-header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.related-posts-title {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 800;
    color: #1e293b;
    margin: 0 0 0.5rem 0;
    letter-spacing: -0.02em;
}

.related-posts-subtitle {
    font-size: 1.1rem;
    color: #64748b;
    font-weight: 400;
    margin: 0;
}

.related-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .related-posts-grid {
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
        gap: 2rem;
    }
}

@media (min-width: 1200px) {
    .related-posts-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.related-post-card {
    background: #ffffff;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    transform: translateY(0);
    animation: fadeInUp 0.6s ease-out;
    animation-fill-mode: both;
}

.related-posts-grid.stagger-animations .related-post-card {
    /* Animation delays applied via utility class */
}

.related-post-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.related-post-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #3b82f6, #10b981);
    transform: scaleX(0);
    transition: transform 0.3s ease;
    transform-origin: left;
}

.related-post-card:hover::before {
    transform: scaleX(1);
}

.related-post-image {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #f1f5f9;
}

.related-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.related-post-card:hover .related-post-image img {
    transform: scale(1.08);
}

.related-post-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.related-post-card:hover .related-post-overlay {
    opacity: 1;
}

.related-post-content {
    padding: 1.5rem;
}

.related-post-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.75rem;
    font-size: 0.85rem;
    color: #64748b;
}

.related-post-category {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-weight: 500;
    font-size: 0.8rem;
}

.related-post-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 0.75rem 0;
    line-height: 1.3;
    transition: color 0.2s ease;
}

.related-post-card:hover .related-post-title {
    color: #3b82f6;
}

.related-post-excerpt {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.6;
    margin: 0 0 1rem 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.related-post-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #3b82f6;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

.related-post-link:hover {
    color: #1d4ed8;
    gap: 0.75rem;
}

.related-post-link::after {
    content: '→';
    transition: transform 0.2s ease;
}

.related-post-link:hover::after {
    transform: translateX(3px);
}

.view-all-posts {
    text-align: center;
    margin-top: 2rem;
}

.view-all-btn {
    @extend .btn-base;
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    gap: 0.5rem;
    padding: 1rem 2.5rem;
    font-size: 1rem;
    box-shadow: 0 4px 15px rgba(30, 41, 59, 0.3);
}

.view-all-btn:hover {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    box-shadow: 0 8px 25px rgba(30, 41, 59, 0.4);
}

/* Responsive Carousel for Mobile */
@media (max-width: 767px) {
    .related-posts-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 1rem;
        padding: 0 1rem 1rem 0;
        margin: 0 -2rem 2rem -2rem;
        padding-left: 2rem;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    
    .related-posts-grid::-webkit-scrollbar {
        display: none;
    }
    
    .related-post-card {
        flex: 0 0 280px;
        scroll-snap-align: start;
    }
}

/* ==========================================================================
   10. ARCHIVE PAGE STYLING
   ========================================================================== */

.archive.post-type-archive-destination .site-main,
.tax-continent .site-main,
.tax-country .site-main,
.tax-city .site-main {
    padding: 2rem 1rem;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    min-height: 80vh;
}

@media (min-width: 768px) {
    .archive.post-type-archive-destination .site-main,
    .tax-continent .site-main,
    .tax-country .site-main,
    .tax-city .site-main {
        padding: 3rem 2rem;
    }
}

.archive.post-type-archive-destination .elementor-element.elementor-element-cb2d546 {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border-radius: 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    margin: 0 auto 2rem;
    max-width: 1400px;
    padding: 2rem;
}

.elementor-loop-container.elementor-grid {
    gap: 2rem;
    max-width: 1400px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .elementor-loop-container.elementor-grid {
        gap: 2.5rem;
    }
}

@media (min-width: 1200px) {
    .elementor-loop-container.elementor-grid {
        gap: 3rem;
    }
}

.e-loop-item {
    background: #ffffff;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    transform: translateY(0);
    animation: fadeInUp 0.6s ease-out;
    animation-fill-mode: both;
}

.elementor-loop-container.elementor-grid.stagger-animations .e-loop-item {
    /* Animation delays applied via utility class */
}

.e-loop-item:hover {
    transform: translateY(-12px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.e-loop-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #3b82f6, #10b981, #f59e0b);
    transform: scaleX(0);
    transition: transform 0.3s ease;
    transform-origin: left;
    z-index: 2;
}

.e-loop-item:hover::before {
    transform: scaleX(1);
}

.e-loop-item .e-con-inner {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    height: 100%;
}

@media (min-width: 768px) {
    .e-loop-item .e-con-inner {
        padding: 2rem;
    }
}

.e-loop-item .elementor-heading-title {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 0.75rem 0;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.e-loop-item:hover .elementor-heading-title {
    color: #3b82f6;
}

.e-loop-item .elementor-widget-text-editor {
    margin: 0 0 1.5rem 0;
    flex-grow: 1;
}

.e-loop-item .elementor-widget-text-editor p {
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
}

.e-loop-item .elementor-widget-image {
    margin: 1rem 0 1.5rem 0;
    border-radius: 1rem;
    overflow: hidden;
    position: relative;
}

.e-loop-item .elementor-widget-image img {
    transition: transform 0.4s ease;
    width: 100%;
    height: 200px;
    object-fit: cover;
}

@media (min-width: 768px) {
    .e-loop-item .elementor-widget-image img {
        height: 220px;
    }
}

.e-loop-item:hover .elementor-widget-image img {
    transform: scale(1.08);
}

.e-loop-item .elementor-widget-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.e-loop-item:hover .elementor-widget-image::after {
    opacity: 1;
}

.e-loop-item .elementor-button {
    @extend .btn-base;
    font-size: 0.95rem;
    padding: 0.875rem 2rem;
    margin-top: auto;
    text-transform: none;
}

.e-loop-item .elementor-button .elementor-button-icon {
    transition: transform 0.3s ease;
}

.e-loop-item .elementor-button:hover .elementor-button-icon {
    transform: translateX(3px);
}

/* Archive page titles */
.archive.post-type-archive-destination .page-title,
.tax-continent .page-title,
.tax-country .page-title,
.tax-city .page-title {
    text-align: center;
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 3rem;
    position: relative;
}

.archive.post-type-archive-destination .page-title::after,
.tax-continent .page-title::after,
.tax-country .page-title::after,
.tax-city .page-title::after {
    content: '';
    position: absolute;
    bottom: -1rem;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, #3b82f6, #10b981);
    border-radius: 2px;
}

.elementor-loop-container.elementor-grid:empty::after {
    content: 'Loading amazing destinations...';
    display: block;
    text-align: center;
    color: #64748b;
    font-size: 1.1rem;
    padding: 4rem 2rem;
}

/* Pagination */
.wp-pagenavi,
.elementor-pagination {
    text-align: center;
    margin: 3rem 0 2rem;
}

.wp-pagenavi a,
.wp-pagenavi span,
.elementor-pagination a,
.elementor-pagination span {
    display: inline-block;
    padding: 0.75rem 1rem;
    margin: 0 0.25rem;
    background: #ffffff;
    color: #64748b;
    border-radius: 0.5rem;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.wp-pagenavi a:hover,
.elementor-pagination a:hover {
    background: #3b82f6;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
}

.wp-pagenavi .current,
.elementor-pagination .current {
    background: #3b82f6;
    color: #ffffff;
}

/* Archive responsive improvements */
@media (max-width: 767px) {
    .elementor-loop-container.elementor-grid {
        gap: 1.5rem;
    }
    
    .e-loop-item .e-con-inner {
        padding: 1.25rem;
    }
    
    .e-loop-item .elementor-widget-image img {
        height: 180px;
    }
}


/* ==========================================================================
   PREMIUM TRAVEL SERVICES - CLEAN & OPTIMIZED VERSION
   Merged & fixed duplicate CSS, preserved all effects & functionality
   ========================================================================== */

/* Root Variables - Consolidated Design System */
:root {
    --primary-blue: #0071c2;
    --primary-blue-dark: #003580;
    --primary-blue-light: #e7f3ff;
    --accent-green: #10b981;
    --accent-orange: #f59e0b;
    --accent-purple: #8b5cf6;
    --accent-red: #ef4444;
    
    --text-primary: #1e293b;
    --text-secondary: #64748b;
    --text-muted: #94a3b8;
    
    --bg-white: #ffffff;
    --bg-light: #f8fafc;
    --bg-subtle: #f1f5f9;
    
    --border-light: rgba(226, 232, 240, 0.6);
    --border-focus: rgba(0, 113, 194, 0.3);
    
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 8px 25px rgba(0, 0, 0, 0.12);
    --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.15);
    
    --radius-sm: 0.5rem;
    --radius-md: 0.75rem;
    --radius-lg: 1rem;
    --radius-xl: 1.25rem;
    
    --transition-fast: 0.15s ease;
    --transition-smooth: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-bounce: 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* ==========================================================================
   PREMIUM SERVICES CTA SECTION
   ========================================================================== */

.premium-services-cta {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border-radius: var(--radius-lg);
    padding: 1.5rem 1rem;
    text-align: center;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--border-light);
    box-shadow: var(--shadow-md);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    margin: 0 auto 1rem;
    max-width: 900px;
    animation: fadeInUp 0.6s ease-out;
}

.premium-services-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #3b82f6, #10b981, #f59e0b, #ef4444);
    background-size: 300% 100%;
    animation: gradientFlow 6s ease infinite;
}

.premium-services-cta h2 {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: clamp(1.4rem, 3vw, 1.8rem);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
    letter-spacing: -0.02em;
}

.premium-services-cta p {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: clamp(0.9rem, 1.8vw, 1.1rem);
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.4;
    font-weight: 400;
}

/* ==========================================================================
   TRAVEL SERVICES SECTION
   ========================================================================== */

.travel-services {
    padding: 0;
    background: transparent;
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
}

.travel-services .services-title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    font-weight: 600;
    color: var(--primary-blue-dark);
    margin-bottom: 1rem;
    text-align: center;
    letter-spacing: -0.01em;
}

/* Services Grid - Responsive */
.travel-services-grid {
    display: grid;
    justify-content: center;
    margin: 0 auto;
    padding: 0 0.5rem;
    width: 100%;
    max-width: 100%;
    
    /* Default: 2 columns for mobile */
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

/* Service Cards */
.service-card {
    --card-accent: var(--primary-blue);
    --card-bg: var(--bg-white);
    --card-hover-bg: var(--bg-light);

    background: var(--card-bg);
    border-radius: var(--radius-md);
    text-align: center;
    position: relative;
    border: 1px solid var(--border-light);
    cursor: pointer;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: all var(--transition-smooth);
    box-shadow: var(--shadow-sm);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    
    padding: 1rem 0.5rem;
    aspect-ratio: 1.3 / 1;
}

/* Premium card effects */
.service-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(255, 255, 255, 0.5) 50%, transparent 100%);
    opacity: 0;
    transition: opacity var(--transition-smooth);
    pointer-events: none;
}

.service-card:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: var(--shadow-xl);
    border-color: var(--card-accent);
    background: var(--card-hover-bg);
}

.service-card:hover::before {
    opacity: 1;
}

.service-card:active {
    transform: translateY(-3px) scale(0.98);
    transition: all var(--transition-fast);
}

/* Card variants */
.service-card.flights { --card-accent: #3b82f6; }
.service-card.hotels { --card-accent: var(--accent-green); }
.service-card.transfers { --card-accent: var(--accent-purple); }
.service-card.cars { --card-accent: var(--accent-orange); }

/* Service card content */
.service-card i {
    font-size: 1.5rem;
    color: var(--card-accent);
    margin-bottom: 0.4rem;
    font-weight: 900;
    line-height: 1;
    position: relative;
    z-index: 2;
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", sans-serif;
    display: inline-block;
    text-align: center;
    transition: all var(--transition-bounce);
}

.service-card h3 {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0.2rem;
    line-height: 1.2;
    position: relative;
    z-index: 2;
    letter-spacing: -0.01em;
    transition: color var(--transition-smooth);
}

.service-card h3 a {
    color: inherit;
    text-decoration: none;
    transition: color var(--transition-smooth);
}

.service-card:hover h3,
.service-card:hover h3 a {
    color: var(--card-accent);
}

.service-card p {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.7rem;
    font-weight: 400;
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.2;
    position: relative;
    z-index: 2;
}

/* ==========================================================================
   TRUST SECTION - UNIFIED & OPTIMIZED
   ========================================================================== */

.trust-section {
    margin-top: 1rem;
    padding: 1rem 0;
    border-top: 2px solid rgba(0, 113, 194, 0.08);
    text-align: center;
    position: relative;
    background: #f8fafc;
    border-radius: var(--radius-md);
}

.trust-section::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background: linear-gradient(90deg, var(--primary-blue), var(--accent-green));
    border-radius: 1px;
}

.trust-title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: var(--text-primary);
    margin-bottom: 0.75rem;
    letter-spacing: -0.01em;
}

/* Trust Grid - Unified naming */
.trust-grid {
    display: grid;
    gap: 0.6rem;
    max-width: 850px;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
}

/* Trust Cards - Unified styling */
.trust-card {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--bg-white);
    padding: 0.55rem 0.7rem;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-light);
    box-shadow: var(--shadow-sm);
    text-align: left;
    transition: all var(--transition-smooth);
    min-height: 70px;
    justify-self: stretch;
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--text-primary);
}

.trust-card:hover {
    background: #f1f5f9;
    border-color: var(--primary-blue);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.trust-card i {
    font-size: 1.1rem;
    flex-shrink: 0;
    transition: transform var(--transition-bounce), color var(--transition-smooth);
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", sans-serif;
    font-weight: 900;
}

/* Individual icon colors */
.trust-card:nth-child(1) i { color: #8b5cf6; }
.trust-card:nth-child(2) i { color: #0ea5e9; }
.trust-card:nth-child(3) i { color: #10b981; }
.trust-card:nth-child(4) i { color: #f97316; }
.trust-card:nth-child(5) i { color: #ef4444; }
.trust-card:nth-child(6) i { color: #eab308; }

.trust-card:hover i {
    transform: scale(1.08);
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS - OPTIMIZED MOBILE SERVICE CARDS
   ========================================================================== */

/* Mobile Portrait - 320px to 480px */
@media (max-width: 480px) {
    .premium-services-cta {
        padding: 1rem 0.75rem;
        margin: 0 auto 0.75rem;
    }
    
    .premium-services-cta h2 {
        font-size: clamp(1.2rem, 4vw, 1.4rem);
        margin-bottom: 0.4rem;
    }
    
    .premium-services-cta p {
        font-size: 0.85rem;
    }
    
    /* Services: 2x2 grid - optimized for mobile portrait */
    .travel-services-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 0.4rem;
        padding: 0 0.5rem;
    }
    
    .service-card {
        padding: 0.4rem 0.25rem;    /* Reduced padding for compact look */
        aspect-ratio: 1.1 / 1;      /* Slightly taller for better text spacing */
        min-height: 55px;           /* Reduced height */
    }
    
    .service-card i {
        font-size: 0.9rem;          /* Compact icon size */
        margin-bottom: 0.15rem;     /* Minimal spacing */
    }
    
    .service-card h3 {
        font-size: 0.65rem;         /* Readable but compact */
        margin-bottom: 0.05rem;     /* Tight spacing */
        line-height: 1.1;
    }
    
    .service-card p {
        font-size: 0.55rem;         /* Small but readable */
        line-height: 1.1;
    }
    
    /* Trust section: 2x2 grid for mobile portrait */
    .trust-section {
        margin-top: 0.75rem;
        padding: 0.75rem 0;
    }
    
    .trust-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 0.6rem;
        max-width: 400px;
    }
    
    .trust-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 0.4rem 0.5rem;
        min-height: 60px;
        font-size: 0.65rem;
        gap: 0.3rem;
    }
    
    .trust-card i {
        margin-bottom: 0;
        font-size: 0.9rem;
    }
}

/* Mobile Landscape & Small Tablets - 481px to 768px */
@media (min-width: 481px) and (max-width: 768px) {
    .premium-services-cta {
        padding: 1.25rem 1rem;
    }
    
    /* Services: 2x2 grid - optimal for landscape thumb reach */
    .travel-services-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 0.8rem;
        padding: 0 1rem;
        max-width: 500px;           /* Constrain width for better proportions */
        margin: 0 auto;             /* Center the grid */
    }
    
    .service-card {
        aspect-ratio: 1.4 / 1;      /* Wider cards work better in landscape */
        padding: 0.15rem 0.6rem;    /* Ultra-minimal top/bottom padding */
        min-height: 70px;           /* Reduced height */
    }
    
    .service-card i {
        font-size: 1.4rem;          /* Prominent but not oversized */
        margin-bottom: 0.1rem;      /* Tighter spacing */
    }
    
    .service-card h3 {
        font-size: 0.8rem;          /* Clear and readable */
        margin-bottom: 0.05rem;     /* Tighter spacing */
        line-height: 1;             /* Compact line height */
    }
    
    .service-card p {
        font-size: 0.7rem;          /* Good readability */
        line-height: 1;             /* Compact line height */
        margin: 0;                  /* Remove default margins */
    }
    
    /* Trust section: 2x3 grid maintained */
    .trust-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 0.7rem;
        max-width: 650px;
    }
    
    .trust-card {
        min-height: 70px;
        font-size: 0.75rem;
        padding: 0.6rem 0.7rem;
        gap: 0.4rem;
    }
    
    .trust-card i {
        font-size: 1.1rem;
    }
}

/* Large Tablets - 769px to 1024px */
@media (min-width: 769px) and (max-width: 1024px) {
    .premium-services-cta {
        padding: 1.5rem 1.5rem;
    }
    
    /* Services: Back to 4 columns for tablet */
    .travel-services-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 0.8rem;
        max-width: 750px;
        padding: 0 1rem;
    }
    
    .service-card {
        aspect-ratio: 1.2 / 1;
        padding: 0.9rem 0.7rem;
        min-height: 85px;
    }
    
    .service-card i {
        font-size: 1.5rem;
        margin-bottom: 0.4rem;
    }
    
    .service-card h3 {
        font-size: 0.8rem;
        margin-bottom: 0.2rem;
    }
    
    .service-card p {
        font-size: 0.7rem;
    }
    
    /* Trust section: 2x3 optimal sizing */
    .trust-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 0.9rem;
        max-width: 750px;
    }
    
    .trust-card {
        min-height: 75px;
        font-size: 0.8rem;
        padding: 0.7rem 0.8rem;
        gap: 0.5rem;
    }
    
    .trust-card i {
        font-size: 1.2rem;
    }
}

/* Desktop & Large Screens - 1025px to 1199px */
@media (min-width: 1025px) and (max-width: 1199px) {
    .premium-services-cta {
        padding: 1.75rem 2rem;
        max-width: 1000px;
    }
    
    /* Services: 4 comfortable columns */
    .travel-services-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1rem;
        max-width: 850px;
    }
    
    .service-card {
        aspect-ratio: 1.3 / 1;
        padding: 1.1rem 0.8rem;
        min-height: 95px;
    }
    
    .service-card i {
        font-size: 1.7rem;
        margin-bottom: 0.4rem;
    }
    
    .service-card h3 {
        font-size: 0.85rem;
        margin-bottom: 0.2rem;
    }
    
    .service-card p {
        font-size: 0.75rem;
    }
    
    /* Trust section: 2x3 professional layout */
    .trust-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 1.1rem;
        max-width: 850px;
    }
    
    .trust-card {
        min-height: 80px;
        font-size: 0.85rem;
        padding: 0.8rem 0.9rem;
        gap: 0.5rem;
    }
    
    .trust-card i {
        font-size: 1.3rem;
    }
}

/* Extra Large Screens - 1200px+ */
@media (min-width: 1200px) {
    .premium-services-cta {
        padding: 2rem 2.5rem;
        max-width: 1100px;
    }
    
    /* Services: 4 premium columns */
    .travel-services-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.2rem;
        max-width: 950px;
    }
    
    .service-card {
        aspect-ratio: 1.4 / 1;
        padding: 1.3rem 1rem;
        min-height: 105px;
    }
    
    .service-card i {
        font-size: 1.9rem;
        margin-bottom: 0.5rem;
    }
    
    .service-card h3 {
        font-size: 0.9rem;
        margin-bottom: 0.25rem;
    }
    
    .service-card p {
        font-size: 0.8rem;
    }
    
    /* Trust section: 2x3 luxury layout */
    .trust-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 1.4rem;
        max-width: 950px;
    }
    
    .trust-card {
        min-height: 85px;
        font-size: 0.9rem;
        padding: 0.9rem 1rem;
        gap: 0.6rem;
    }
    
    .trust-card i {
        font-size: 1.4rem;
    }
}

/* ==========================================================================
   ANIMATIONS & EFFECTS - CONSOLIDATED
   ========================================================================== */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes gradientFlow {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

@keyframes shimmerPill {
    0% {
        transform: translateX(-100%) skewX(-15deg);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translateX(100%) skewX(-15deg);
        opacity: 0;
    }
}

/* ==========================================================================
   ACCESSIBILITY & PERFORMANCE
   ========================================================================== */

.service-card:focus-visible,
.trust-card:focus-visible {
    outline: 3px solid var(--primary-blue);
    outline-offset: 2px;
    transform: translateY(-2px);
}

@media (prefers-contrast: high) {
    .service-card,
    .trust-card {
        border-width: 2px;
        border-color: var(--text-primary);
    }
}

@media (prefers-reduced-motion: reduce) {
    .service-card:hover,
    .trust-card:hover {
        transform: none;
        transition: all 0.2s ease;
    }
}

/* Utility classes */
.elementor-element-c5652c0 {
    display: none !important;
}

.kayak-sidebar a .fa-solid {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    width: auto !important;
    display: inline-block !important;
}

.kayak-sidebar a {
    display: flex;
    align-items: center;
}

.kayak-sidebar a .label {
    margin-left: 10px;
    visibility: hidden;
}

.kayak-sidebar:hover .label {
    visibility: visible;
}

/* ==========================================================================
   ✅ COMPLETE AWARD-WINNING FOOTER - PROPERLY FIXED & RESPONSIVE
   ========================================================================== */

.footer-modern {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    color: #334155;
    padding: 2.5rem 1rem 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    position: relative;
    overflow: hidden;
    z-index: 1; /* Ensure footer stays below main content */
}

.footer-modern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #1e90ff, transparent);
}

/* ==========================================
   AWARD-WINNING RESPONSIVE GRID SYSTEM
   ========================================== */
.footer-container {
    display: grid;
    gap: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    /* DEFAULT: 3 columns with equal heights */
    grid-template-columns: repeat(3, 1fr);
    align-items: start; /* Prevent cards from stretching */
}

/* ==========================================
   OPTIMIZED BRAND SECTION
   ========================================== */
.footer-brand {
    position: relative;
    padding: 1.25rem;
    background: rgba(255, 255, 255, 0.4);
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.1);
    backdrop-filter: blur(10px);
    height: fit-content; /* Prevent unnecessary stretching */
}

.footer-brand h2 {
    /* OPTIMIZED FONT SIZING - NO CARD PUSHING */
    font-size: clamp(0.95rem, 1.8vw, 1.15rem);
    margin-bottom: 0.6rem;
    color: #1e40af;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.footer-brand h2::before {
    content: '✈️';
    font-size: 1.1rem;
    flex-shrink: 0;
}

.footer-brand p {
    margin: 0.4rem 0;
    line-height: 1.4;
    color: #64748b;
    font-size: 0.875rem;
}

.footer-brand a {
    color: #1e90ff;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.footer-brand a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #1e90ff, #3b82f6);
    transition: width 0.3s ease;
}

.footer-brand a:hover::after {
    width: 100%;
}

/* ==========================================
   PERFECTLY SIZED LINK CARDS - WITH PROPER NAMESPACING
   ========================================== */
.footer-links {
    padding: 1.25rem;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.08);
    backdrop-filter: blur(8px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    height: fit-content; /* Prevent stretching */
    min-height: auto; /* Reset min-height */
}

.footer-links:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
    background: rgba(255, 255, 255, 0.35);
}

.footer-links h4 {
    font-size: clamp(1rem, 2vw, 1.1rem);
    margin-bottom: 0.8rem;
    color: #1e293b;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    padding-bottom: 0.4rem;
}

.footer-links h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, #1e90ff, #3b82f6, transparent);
    border-radius: 1px;
}

.footer-links h4 i {
    color: #1e90ff;
    font-size: 1rem;
    min-width: 18px;
    text-align: center;
}

.footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 0.5rem;
    transform: translateX(0);
    transition: transform 0.2s ease;
}

.footer-links li:last-child {
    margin-bottom: 0;
}

/* ✅ FIXED: FOOTER LINK STYLING - PROPER NAMESPACING TO PREVENT CONFLICTS */
.footer-links a {
    color: #64748b;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 450;
    position: relative;
    padding: 0.35rem 0;
    border-radius: 8px;
    font-size: 0.875rem;
}

/* ✅ PROPER FOOTER ICON NAMESPACING - NO CONFLICTS WITH MAIN CONTENT */
.footer-links a i {
    font-size: 0.95rem;
    min-width: 18px;
    text-align: center;
    color: #94a3b8;
    transition: color 0.3s ease;
    flex-shrink: 0; /* Prevent icon compression */
}

/* FOOTER SERVICE LINK ICONS - NAMESPACED PROPERLY */
.footer-links a i.fa-plane,
.footer-links a i.fa-plane-departure {
    color: #3498db !important;
}

.footer-links a i.fa-hotel {
    color: #8e44ad !important;
}

.footer-links a i.fa-car {
    color: #e74c3c !important;
}

.footer-links a i.fa-taxi {
    color: #f39c12 !important;
}

.footer-links a i.fa-map-marked-alt {
    color: #16a085 !important;
}

.footer-links a i.fa-info-circle {
    color: #3498db !important;
}

.footer-links a i.fa-lock {
    color: #27ae60 !important;
}

.footer-links a i.fa-file-contract {
    color: #8e44ad !important;
}

.footer-links a i.fa-envelope {
    color: #e74c3c !important;
}

.footer-links a i.fa-building {
    color: #f39c12 !important;
}

.footer-links a:hover {
    color: #1e90ff;
    transform: translateX(4px);
    background: rgba(30, 144, 255, 0.05);
    padding-left: 0.8rem;
}

.footer-links a:hover i {
    color: #1e90ff !important;
}

.footer-links li:hover {
    transform: translateX(2px);
}

/* ==========================================
   PREMIUM FOOTER BOTTOM
   ========================================== */
.footer-bottom {
    padding: 1.5rem 0 2rem;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    margin-top: 2rem;
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(5px);
    position: relative;
}

.footer-bottom::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, #1e90ff, #3b82f6);
    border-radius: 2px;
}

.footer-bottom-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.copyright {
    flex: 1;
}

.copyright p {
    margin: 0;
    font-size: 0.875rem;
    color: #64748b;
}

.footer-bottom .social-links {
    display: flex;
    gap: 1rem;
    margin: 0;
}

/* ✅ FIXED: SOCIAL LINKS - PROPER NAMESPACING & SVG ICONS */
.footer-modern .social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(148, 163, 184, 0.2);
    position: relative;
}

/* SVG-based Social Icons - PROPERLY NAMESPACED */
.footer-modern .social-link[aria-label="Facebook"]::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #1877f2;
    mask: url("data:image/svg+xml,%3Csvg fill='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.footer-modern .social-link[aria-label="Twitter"]::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #1da1f2;
    mask: url("data:image/svg+xml,%3Csvg fill='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.footer-modern .social-link[aria-label="LinkedIn"]::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #0a66c2;
    mask: url("data:image/svg+xml,%3Csvg fill='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.footer-modern .social-link[aria-label="Instagram"]::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #e4405f;
    mask: url("data:image/svg+xml,%3Csvg fill='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.017 0C8.396 0 7.989.016 6.756.072 5.526.129 4.727.249 4.017.472a5.978 5.978 0 00-2.188 1.425A6.15 6.15 0 00.472 4.019C.249 4.728.129 5.527.072 6.758.016 7.99 0 8.396 0 12.017c0 3.624.016 4.021.072 5.251.057 1.23.177 2.03.4 2.74.222.712.572 1.365 1.425 2.188a6.058 6.058 0 002.188 1.425c.71.223 1.509.343 2.74.4C7.99 23.984 8.396 24 12.017 24c3.624 0 4.021-.016 5.251-.072 1.23-.057 2.03-.177 2.74-.4a6.197 6.197 0 002.188-1.425 6.058 6.058 0 001.425-2.188c.223-.71.343-1.51.4-2.74C23.984 16.038 24 15.632 24 12.017c0-3.624-.016-4.021-.072-5.251-.057-1.23-.177-2.03-.4-2.74a6.197 6.197 0 00-1.425-2.188A5.978 5.978 0 0019.761.4c-.71-.223-1.509-.343-2.74-.4C16.038.016 15.632 0 12.017 0zM12 5.838a6.162 6.162 0 110 12.324 6.162 6.162 0 010-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 110 2.881 1.44 1.44 0 010-2.881z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.footer-modern .social-link[aria-label="YouTube"]::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #ff0000;
    mask: url("data:image/svg+xml,%3Csvg fill='currentColor' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.footer-modern .social-link:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* ==========================================
   ✅ AWARD-WINNING RESPONSIVE BREAKPOINTS - COMPLETE & TESTED
   ========================================== */

/* ULTRA-WIDE DISPLAYS: Premium spacing */
@media (min-width: 1600px) {
    .footer-container {
        max-width: 1600px;
        gap: 3rem;
        grid-template-columns: repeat(3, 1fr);
    }
    
    .footer-brand,
    .footer-links {
        padding: 1.5rem 2rem;
    }
}

/* LARGE DESKTOP: Generous 3-column */
@media (max-width: 1599px) and (min-width: 1200px) {
    .footer-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
        max-width: 1400px;
    }
}

/* DESKTOP: Standard 3-column */
@media (max-width: 1199px) and (min-width: 1025px) {
    .footer-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
    
    .footer-brand h2 {
        font-size: clamp(0.9rem, 1.6vw, 1.05rem);
    }
}

/* ✅ TABLET LANDSCAPE - MAINTAIN 3 COLUMNS WITH OPTIMIZED SPACING */
@media (max-width: 1024px) and (min-width: 768px) and (orientation: landscape) {
    .footer-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 0.8rem;
        max-width: 100%;
    }
    
    .footer-brand {
        text-align: center;
        padding: 1rem;
    }
    
    .footer-brand h2 {
        justify-content: center;
        font-size: clamp(0.85rem, 1.5vw, 0.95rem);
        margin-bottom: 0.4rem;
    }
    
    .footer-brand p {
        font-size: 0.75rem;
        margin: 0.2rem 0;
        line-height: 1.3;
    }
    
    .footer-links {
        text-align: center;
        padding: 1rem;
    }
    
    .footer-links h4 {
        justify-content: center;
        font-size: 0.9rem;
        margin-bottom: 0.6rem;
    }
    
    .footer-links h4::after {
        left: 50%;
        transform: translateX(-50%);
        width: 2rem;
    }
    
    .footer-links a {
        justify-content: center;
        font-size: 0.75rem;
        padding: 0.25rem 0;
    }
    
    .footer-links li {
        margin-bottom: 0.3rem;
    }
}

/* TABLET PORTRAIT: Stacked layout */
@media (max-width: 1024px) and (min-width: 601px) and (orientation: portrait) {
    .footer-modern {
        padding: 2rem 1rem 0;
    }
    
    .footer-container {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .footer-brand {
        text-align: center;
        margin: 0 auto;
        max-width: 500px;
        padding: 1.5rem;
    }
    
    .footer-brand h2 {
        justify-content: center;
        font-size: clamp(1rem, 2.5vw, 1.2rem);
    }
    
    .footer-links {
        text-align: left;
        max-width: 500px;
        margin: 0 auto;
        padding: 1.5rem;
    }
    
    .footer-links h4 {
        justify-content: flex-start;
        font-size: 1.1rem;
    }
    
    .footer-links h4::after {
        width: 3rem;
        left: 0;
        transform: none;
    }
    
    .footer-links ul {
        display: block;
    }
    
    .footer-links li {
        margin-bottom: 0.6rem;
    }
    
    .footer-links a {
        padding: 0.5rem 0;
        font-size: 0.9rem;
    }
    
    .footer-bottom-content {
        flex-direction: column;
        gap: 1.2rem;
        text-align: center;
    }
    
    .copyright {
        order: 2;
    }
    
    .footer-bottom .social-links {
        order: 1;
        justify-content: center;
    }
}

/* MOBILE LANDSCAPE: Perfect 3-column compact */
@media (max-width: 900px) and (min-width: 667px) and (orientation: landscape) {
    .footer-modern {
        padding: 1.5rem 0.8rem 0;
    }
    
    .footer-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
        max-width: 100%;
    }
    
    .footer-brand,
    .footer-links {
        width: 100%;
        padding: 1rem;
        min-height: auto;
    }
    
    .footer-brand {
        text-align: center;
    }
    
    .footer-brand h2 {
        justify-content: center;
        font-size: clamp(0.85rem, 1.8vw, 1rem);
        margin-bottom: 0.4rem;
    }
    
    .footer-brand p {
        font-size: 0.8rem;
        margin: 0.2rem 0;
    }
    
    .footer-links {
        text-align: center;
    }
    
    .footer-links h4 {
        justify-content: center;
        font-size: 0.95rem;
        margin-bottom: 0.6rem;
    }
    
    .footer-links h4::after {
        left: 50%;
        transform: translateX(-50%);
        width: 2rem;
    }
    
    .footer-links a {
        justify-content: center;
        font-size: 0.8rem;
        padding: 0.3rem 0;
    }
    
    .footer-links li {
        margin-bottom: 0.4rem;
    }
    
    .footer-bottom {
        margin-top: 1rem;
        padding: 1rem 0 1.2rem;
    }

    .copyright p {
        font-size: 0.7rem; /* Adjust this value as needed */
    }
}

/* ✅ MOBILE PORTRAIT - CENTERED DESIGN */
@media (max-width: 600px) and (orientation: portrait) {
    .footer-modern {
        padding: 1.5rem 0.5rem 0;
    }
    
    .footer-container {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }
    
    .footer-brand {
        text-align: center;
        width: 96%;
        margin: 0 auto;
        padding: 1.2rem;
    }
    
    .footer-brand h2 {
        justify-content: center;
        font-size: clamp(1rem, 4vw, 1.15rem);
        margin-bottom: 0.6rem;
    }
    
    .footer-brand p {
        font-size: 0.875rem;
        margin: 0.3rem 0;
    }
    
    .footer-links {
        width: 96%;
        margin: 0 auto;
        padding: 1.2rem;
        text-align: center;
    }
    
    .footer-links h4 {
        text-align: center;
        justify-content: center;
        font-size: 1.05rem;
        margin-bottom: 0.8rem;
    }
    
    .footer-links h4::after {
        left: 50%;
        transform: translateX(-50%);
        width: 2.5rem;
    }
    
    .footer-links ul {
        display: block;
        max-width: 280px;
        margin: 0 auto;
    }
    
    .footer-links li {
        margin-bottom: 0.4rem;
        width: 100%;
    }
    
    .footer-links a {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.8rem;
        width: 100%;
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(148, 163, 184, 0.1);
        text-align: left;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0 auto;
        max-width: fit-content;
        min-width: 200px;
    }
    
    .footer-links a i {
        font-size: 0.85rem;
        min-width: 16px;
    }
    
    .footer-bottom {
        margin-top: 1rem;
        padding: 0.8rem 0 1.2rem;
    }
    
    .footer-modern .social-link {
        width: 34px;
        height: 34px;
    }
    
    .footer-bottom .social-links {
        gap: 0.7rem;
    }
}

/* EXTRA SMALL: Maximum usability */
@media (max-width: 360px) and (orientation: portrait) {
    .footer-modern {
        padding: 1rem 0.2rem 0;
    }
    
    .footer-brand h2 {
        flex-direction: column;
        gap: 0.2rem;
        font-size: clamp(0.9rem, 5vw, 1rem);
    }
    
    .footer-brand h2::before {
        font-size: 1rem;
    }
    
    .footer-links a {
        padding: 0.45rem 0.6rem;
        font-size: 0.8rem;
    }
    
    .footer-modern .social-link {
        width: 32px;
        height: 32px;
    }
    
    .copyright p {
        font-size: 0.75rem;
    }
}

/* ==========================================
   PREMIUM DARK MODE SUPPORT
   ========================================== */
@media (prefers-color-scheme: dark) {
    .footer-modern {
        background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
        color: #cbd5e1;
    }
    
    .footer-brand {
        background: rgba(15, 23, 42, 0.4);
        border-color: rgba(51, 65, 85, 0.2);
    }
    
    .footer-brand h2 {
        color: #60a5fa;
    }
    
    .footer-brand p {
        color: #94a3b8;
    }
    
    .footer-brand a {
        color: #60a5fa;
    }
    
    .footer-links {
        background: rgba(15, 23, 42, 0.25);
        border-color: rgba(51, 65, 85, 0.15);
    }
    
    .footer-links:hover {
        background: rgba(15, 23, 42, 0.35);
    }
    
    .footer-links h4 {
        color: #e2e8f0;
    }
    
    .footer-links h4 i {
        color: #60a5fa;
    }
    
    .footer-links a {
        color: #94a3b8;
    }
    
    .footer-links a i {
        color: #64748b;
    }
    
    .footer-links a:hover {
        color: #60a5fa;
        background: rgba(96, 165, 250, 0.1);
    }
    
    .footer-links a:hover i {
        color: #60a5fa !important;
    }
    
    .footer-modern .social-link {
        background: rgba(15, 23, 42, 0.8);
        border-color: rgba(51, 65, 85, 0.3);
    }
    
    .footer-bottom {
        background: rgba(15, 23, 42, 0.3);
        border-color: rgba(51, 65, 85, 0.2);
    }
    
    .copyright p {
        color: #94a3b8;
    }
    
    /* Dark mode mobile cards */
    @media (max-width: 600px) and (orientation: portrait) {
        .footer-links a {
            background: rgba(15, 23, 42, 0.3);
            border-color: rgba(51, 65, 85, 0.2);
        }
        
        .footer-links a:hover {
            background: rgba(96, 165, 250, 0.15);
        }
    }
}

/* ================================
   CONTACT SECTION (Unified Styling)
   ================================ */
.contact-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: stretch; /* ensures equal height when multiple columns */
}

/* Contact boxes */
.contact-box {
  background: #fff;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column; /* keeps inner content aligned */
}

/* Tablet & above: two columns, equal height enforced */
@media (min-width: 768px) {
  .contact-section {
    grid-template-columns: 1fr 1fr;
  }
}

/* Large devices (desktop) – emphasize balance */
@media (min-width: 1024px) {
  .contact-section {
    grid-template-columns: 1fr 1fr;
    align-items: stretch; /* keeps both cards same height */
  }
  .contact-box {
    height: 100%; /* ensures child fills parent column height */
  }
}

/* ================================
   ABOUT US SECTION (Modern Styling)
   ================================ */
.about-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
  padding: 4rem 2rem;
  background: linear-gradient(135deg, #f9fafb, #f1f5f9);
  border-radius: 1rem;
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
}

.about-section img {
  width: 100%;
  border-radius: 1rem;
  object-fit: cover;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}

.about-section h6 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e293b; /* slate-800 */
  margin-bottom: 1rem;
  text-transform: capitalize;
}

.about-section p {
  font-size: 1rem;
  line-height: 1.6;
  color: #475569; /* slate-600 */
  margin-bottom: 1.5rem;
}

.about-section .highlight {
  font-weight: 600;
  color: #2563eb; /* booking.com blue */
}

/* Responsive tweaks */
@media (max-width: 991px) {
  .about-section {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .about-section img {
    max-width: 80%;
    margin: 0 auto 2rem;
  }
}

/* ==============================
   Footer Icon Alignment Fix
   For tablet & mobile
   ============================== */
@media (max-width: 1024px) {
  .footer-links ul li {
    display: flex;
    align-items: center;
    text-align: left;
  }

  .footer-links ul li i {
    min-width: 20px;   /* keeps all icons aligned vertically */
    margin-right: 8px; /* space between icon and text */
    text-align: left;
  }
}

/* ==============================
   Section Titles + Icons Alignment
   ============================== */
@media (max-width: 1024px) {
  .footer-links h4 {
    display: flex;
    align-items: center;
    justify-content: flex-start; 
    text-align: left;
    margin-bottom: 1rem; /* spacing below title */
  }

  .footer-links h4 i {
    min-width: 20px;   
    margin-right: 8px; 
  }
}

/* ==========================================
   ✅ MOBILE & SMALL TABLET FOOTER STYLES
   ========================================== */
@media (max-width: 767px) {
  .footer-bottom-content {
    flex-direction: column;   /* Stack items vertically */
    gap: 1.5rem;              /* Space between the stacked items */
    align-items: center;      /* Center the stacked content horizontally */
    text-align: center;
    padding: 0 1rem;          /* Ensure some padding on the sides */
  }

  .copyright {
    flex: none;    /* Reset flex-grow so it doesn't stretch */
    width: 100%;
    order: 2;      /* Move copyright below socials */
  }

  .copyright p {
    text-align: center;
    margin: 0;
  }

  .footer-bottom .social-links {
    width: 100%;
    justify-content: center;
    order: 1;      /* Move socials above copyright */
  }
}

@media (max-width: 480px) {
  /* Section titles */
  .footer-links h4 {
    display: block !important;      /* cancel flex from tablet rule */
    text-align: center !important;  /* center title */
    font-size: 1.1rem;
    margin-bottom: 1rem;
  }

  .footer-links h4 i {
    display: none !important;       /* hide icons */
  }

  /* Lists */
  .footer-links ul {
    display: flex;
    flex-direction: column;
    align-items: center;   /* center the list as a block */
    padding-left: 0;
  }

  .footer-links ul li {
    display: flex;         /* keep icon + text aligned */
    align-items: center;
    justify-content: flex-start;
    width: auto;           /* shrink-wrap around content */
  }

  /* Specific tweak for long item */
  .footer-links ul li a[href*="airport-transfer-pickups"] {
    font-size: 0.7rem;   /* slightly smaller so it aligns better */
    line-height: 1.2;
  }
}
