/* Ultra-Luxury Four Seasons & Ritz-Carlton Inspired Design System */
/* Premium hospitality & business travel experience */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=Inter:wght@200;300;400;500;600;700;800&display=swap');

:root {
    /* Ultra-Luxury Color Palette - Four Seasons & Ritz-Carlton Inspired */
    --luxury-gold: #C9A96E;           /* Sophisticated champagne gold */
    --luxury-gold-light: #F5F0E8;    /* Warm ivory */
    --luxury-gold-dark: #A8956B;     /* Deep bronze */
    --luxury-champagne: #F7F3E9;     /* Soft champagne */
    --luxury-bronze: #CD7F32;        /* Rich bronze accent */
    --luxury-rose-gold: #E8B4A0;     /* Elegant rose gold */
    --luxury-platinum: #E5E4E2;      /* Platinum shimmer */
    
    --luxury-navy: #1C2951;          /* Deep sophisticated navy */
    --luxury-navy-light: #2A3B5C;    /* Refined navy */
    --luxury-navy-dark: #0D1426;     /* Midnight navy */
    --luxury-midnight: #191970;      /* Midnight blue */
    
    --luxury-cream: #FEFCF6;         /* Pure luxury cream */
    --luxury-ivory: #FFFEF7;         /* Warm ivory */
    --luxury-pearl: #FAF8F3;         /* Pearl white */
    --luxury-silk: #F8F6F0;          /* Silk white */
    --luxury-cashmere: #F5F3EE;      /* Cashmere beige */
    
    --luxury-charcoal: #2C2C2C;      /* Sophisticated charcoal */
    --luxury-slate: #36454F;         /* Premium slate */
    --luxury-graphite: #464646;      /* Modern graphite */
    --luxury-ebony: #1C1C1C;         /* Rich ebony */
    
    --luxury-white: #FFFFFF;
    --luxury-black: #000000;
    
    /* Sophisticated Grays */
    --gray-50: #FAFAFA;
    --gray-100: #F5F5F5;
    --gray-200: #EEEEEE;
    --gray-300: #E0E0E0;
    --gray-400: #BDBDBD;
    --gray-500: #9E9E9E;
    --gray-600: #757575;
    --gray-700: #616161;
    --gray-800: #424242;
    --gray-900: #212121;
    
    /* Ultra-Luxury Gradients */
    --gradient-luxury: linear-gradient(135deg, var(--luxury-gold) 0%, var(--luxury-rose-gold) 50%, var(--luxury-bronze) 100%);
    --gradient-hero: linear-gradient(135deg, var(--luxury-navy-dark) 0%, var(--luxury-navy) 40%, var(--luxury-midnight) 70%, var(--luxury-charcoal) 100%);
    --gradient-card: linear-gradient(145deg, var(--luxury-ivory) 0%, var(--luxury-pearl) 50%, var(--luxury-silk) 100%);
    --gradient-overlay: linear-gradient(180deg, rgba(28, 41, 81, 0.85) 0%, rgba(28, 41, 81, 0.4) 100%);
    --gradient-shimmer: linear-gradient(135deg, var(--luxury-platinum) 0%, var(--luxury-champagne) 50%, var(--luxury-gold-light) 100%);
    --gradient-button: linear-gradient(135deg, var(--luxury-gold) 0%, var(--luxury-gold-dark) 100%);
    --gradient-button-hover: linear-gradient(135deg, var(--luxury-gold-dark) 0%, var(--luxury-bronze) 100%);
    --gradient-text: linear-gradient(135deg, var(--luxury-gold) 0%, var(--luxury-bronze) 100%);
    
    /* Elegant Spacing - Generous and refined */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-32: 8rem;
    --space-40: 10rem;
    --space-48: 12rem;
    
    /* Refined Border Radius */
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-4xl: 2rem;
    
    /* Sophisticated Shadows - Subtle and elegant */
    --shadow-subtle: 0 1px 3px 0 rgba(0, 0, 0, 0.05), 0 1px 2px 0 rgba(0, 0, 0, 0.02);
    --shadow-soft: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
    --shadow-elegant: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.03);
    --shadow-luxury: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.02);
    --shadow-premium: 0 25px 50px -12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.05);
    
    /* Premium Typography */
    --font-serif: 'Playfair Display', 'Cormorant Garamond', 'Times New Roman', serif;
    --font-display: 'Cormorant Garamond', 'Playfair Display', serif;
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', sans-serif;
    --font-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
    
    /* Typography Scale - Elegant and readable */
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;
    --text-7xl: 4.5rem;
}

/* Reset & Base */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-sans);
    line-height: 1.7;
    color: var(--luxury-charcoal);
    background: var(--gradient-shimmer);
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    letter-spacing: -0.01em;
    text-rendering: optimizeLegibility;
    font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

/* Utility Classes */
.hidden { display: none !important; }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ==== EXPLORE CITIES SLIDESHOW ==== */

.explore-cities-section {
    padding: var(--space-20) 0;
    background: var(--luxury-cream);
    position: relative;
}

.slideshow-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-6);
}

.slideshow-header {
    text-align: center;
    margin-bottom: var(--space-12);
}

.slideshow-title {
    font-family: var(--font-serif);
    font-size: var(--text-5xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
    line-height: 1.2;
}

.slideshow-subtitle {
    font-size: var(--text-lg);
    color: var(--gray-600);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

.slideshow-wrapper {
    position: relative;
    border-radius: var(--radius-3xl);
    overflow: hidden;
    box-shadow: var(--shadow-premium);
    background: var(--luxury-white);
}

.slideshow-content {
    position: relative;
    height: 600px;
    overflow: hidden;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
}

.slide.active {
    opacity: 1;
}

.slide-image {
    position: relative;
    width: 100%;
    height: 100%;
}

.slide-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--gradient-overlay);
    display: flex;
    align-items: center;
    padding: var(--space-12);
}

.slide-content {
    max-width: 600px;
    color: var(--luxury-white);
}

.city-header {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.city-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-gold);
    font-size: 24px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(212, 175, 55, 0.3);
}

.city-info h3 {
    font-family: var(--font-serif);
    font-size: var(--text-4xl);
    font-weight: 600;
    margin-bottom: var(--space-1);
    line-height: 1.2;
}

.city-tier {
    font-size: var(--text-sm);
    color: var(--luxury-gold);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: rgba(0, 0, 0, 0.3);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-md);
}

.city-description {
    font-size: var(--text-lg);
    line-height: 1.7;
    margin-bottom: var(--space-8);
    color: var(--luxury-navy);
    background: rgba(255, 255, 255, 0.9);
    padding: var(--space-4);
    border-radius: var(--radius-xl);
    backdrop-filter: blur(8px);
    font-weight: 500;
    text-shadow: none;
}

.city-highlights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-8);
}

.city-highlights .highlight-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3);
    background: rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-lg);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.city-highlights .highlight-item i {
    color: var(--luxury-gold);
    font-size: 16px;
}

.city-highlights .highlight-item span {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--luxury-white);
}

.explore-city-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-8);
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--luxury-navy);
    background: var(--luxury-gold);
    border: none;
    border-radius: var(--radius-2xl);
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: var(--shadow-elegant);
}

.explore-city-btn:hover {
    background: var(--luxury-gold-light);
    transform: translateY(-2px);
    box-shadow: var(--shadow-luxury);
}

.explore-city-btn i {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.explore-city-btn:hover i {
    transform: translateX(4px);
}

/* Navigation Controls */
.slide-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: var(--luxury-white);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    z-index: 10;
}

.slide-nav:hover {
    background: var(--luxury-gold);
    color: var(--luxury-navy);
    transform: translateY(-50%) scale(1.1);
}

.slide-nav.prev {
    left: var(--space-6);
}

.slide-nav.next {
    right: var(--space-6);
}

/* Slide Indicators */
.slide-indicators {
    position: absolute;
    bottom: var(--space-6);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--space-3);
    z-index: 10;
}

.indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.indicator.active {
    background: var(--luxury-gold);
    transform: scale(1.2);
}

.indicator:hover {
    background: rgba(255, 255, 255, 0.8);
}

/* Responsive Design for Slideshow */
@media (max-width: 768px) {
    .explore-cities-section {
        padding: var(--space-12) 0;
    }
    
    .slideshow-container {
        padding: 0 var(--space-4);
    }
    
    .slideshow-title {
        font-size: var(--text-3xl);
    }
    
    .slideshow-content {
        height: 500px;
    }
    
    .slide-overlay {
        padding: var(--space-6);
    }
    
    .city-info h3 {
        font-size: var(--text-2xl);
    }
    
    .city-description {
        font-size: var(--text-base);
    }
    
    .city-highlights {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-2);
    }
    
    .slide-nav {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }
    
    .slide-nav.prev {
        left: var(--space-4);
    }
    
    .slide-nav.next {
        right: var(--space-4);
    }
}

/* ==== ENHANCED LUXURY RESULTS SECTION ==== */

.luxury-results-section {
    padding: var(--space-20) 0;
    background: var(--luxury-cream);
    min-height: 100vh;
}

.luxury-results-header {
    text-align: center;
    margin-bottom: var(--space-16);
}

.results-intro {
    margin-bottom: var(--space-12);
}

.results-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: var(--radius-2xl);
    color: var(--luxury-gold);
    font-size: var(--text-sm);
    font-weight: 600;
    margin-bottom: var(--space-6);
}

.results-title {
    font-family: var(--font-serif);
    font-size: var(--text-5xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
    line-height: 1.2;
}

.results-subtitle {
    font-size: var(--text-lg);
    color: var(--gray-600);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Results Summary Cards */
.results-summary-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-6);
    max-width: 900px;
    margin: 0 auto;
}

.summary-card {
    background: var(--gradient-card);
    border-radius: var(--radius-2xl);
    padding: var(--space-8);
    box-shadow: var(--shadow-elegant);
    border: 1px solid rgba(212, 175, 55, 0.1);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.summary-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-luxury);
}

.summary-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
}

.card-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-gold);
    font-size: 24px;
    margin-bottom: var(--space-4);
}

.card-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.card-number {
    font-size: var(--text-4xl);
    font-weight: 700;
    color: var(--luxury-navy);
    font-family: var(--font-serif);
}

.card-label {
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--luxury-charcoal);
}

.card-detail {
    font-size: var(--text-sm);
    color: var(--gray-600);
}

/* Navigation Tabs */
.results-navigation {
    background: var(--luxury-white);
    border-radius: var(--radius-2xl);
    padding: var(--space-6);
    margin-bottom: var(--space-12);
    box-shadow: var(--shadow-soft);
    border: 1px solid var(--gray-200);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-6);
}

.nav-tabs {
    display: flex;
    gap: var(--space-2);
}

.nav-tab {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-6);
    border: none;
    background: transparent;
    color: var(--gray-600);
    font-weight: 500;
    border-radius: var(--radius-xl);
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: var(--text-sm);
}

.nav-tab:hover {
    background: rgba(212, 175, 55, 0.1);
    color: var(--luxury-gold);
}

.nav-tab.active {
    background: var(--gradient-luxury);
    color: var(--luxury-white);
    box-shadow: var(--shadow-soft);
}

.nav-tab i {
    font-size: 16px;
}

/* Results Controls */
.results-controls {
    display: flex;
    gap: var(--space-4);
}

.control-group {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.control-label {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--luxury-charcoal);
}

.luxury-control-select {
    padding: var(--space-2) var(--space-4);
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-lg);
    background: var(--luxury-white);
    color: var(--luxury-charcoal);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: all 0.3s ease;
}

.luxury-control-select:focus {
    outline: none;
    border-color: var(--luxury-gold);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
}

/* Results Content Layouts */
.luxury-results-content {
    margin-top: var(--space-8);
}

.overview-layout {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
}

.featured-section {
    background: var(--luxury-white);
    border-radius: var(--radius-2xl);
    padding: var(--space-8);
    box-shadow: var(--shadow-soft);
    border: 1px solid var(--gray-200);
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-8);
    flex-wrap: wrap;
    gap: var(--space-4);
}

.header-content h3 {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-1);
}

.header-content p {
    color: var(--gray-600);
    font-size: var(--text-base);
}

.view-all-btn {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-6);
    background: transparent;
    border: 2px solid var(--luxury-gold);
    color: var(--luxury-gold);
    border-radius: var(--radius-xl);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.view-all-btn:hover {
    background: var(--luxury-gold);
    color: var(--luxury-white);
    transform: translateX(4px);
}

.view-all-btn i {
    transition: transform 0.3s ease;
}

.view-all-btn:hover i {
    transform: translateX(2px);
}

/* Grid Layouts */
.featured-events-grid,
.featured-hotels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--space-6);
}

.events-grid-full,
.hotels-grid-full {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: var(--space-8);
}

.section-header-full {
    text-align: center;
    margin-bottom: var(--space-12);
}

.section-header-full h3 {
    font-family: var(--font-serif);
    font-size: var(--text-3xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-2);
}

.section-header-full p {
    color: var(--gray-600);
    font-size: var(--text-lg);
}

/* Enhanced Event Cards */
.luxury-event-card {
    background: var(--gradient-card);
    border-radius: var(--radius-2xl);
    padding: var(--space-6);
    box-shadow: var(--shadow-elegant);
    border: 1px solid rgba(212, 175, 55, 0.1);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.luxury-event-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-luxury);
}

.luxury-event-card.compact-mode {
    padding: var(--space-4);
}

.luxury-event-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--gradient-luxury);
}

/* Luxury Optimization Styles */
.luxury-score {
    background: linear-gradient(135deg, var(--luxury-gold), var(--luxury-gold-light));
    color: var(--luxury-navy);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 600;
    margin-left: var(--space-2);
    display: inline-block;
}

.savings-badge {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 600;
    margin-left: var(--space-2);
    animation: pulse 2s infinite;
    display: inline-block;
}

.savings-info {
    color: #10b981;
    font-weight: 600;
    font-size: var(--text-sm);
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.8; }
}

/* Ultra-Luxury Hotel Cards */
.luxury-hotel-card {
    background: var(--gradient-card);
    border-radius: var(--radius-3xl);
    overflow: hidden;
    box-shadow: var(--shadow-luxury), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    border: 2px solid var(--luxury-platinum);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    transform: translateY(0);
    animation: fadeInUp 0.8s ease forwards;
    backdrop-filter: blur(20px);
}

.luxury-hotel-card:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow: var(--shadow-premium), 0 0 40px rgba(201, 169, 110, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    border-color: var(--luxury-gold);
}

.luxury-hotel-card:focus-within {
    outline: 2px solid var(--luxury-gold);
    outline-offset: 2px;
}

.luxury-hotel-card.compact-mode {
    max-width: 350px;
}

.luxury-hotel-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: var(--gradient-luxury);
    z-index: 2;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    border-radius: var(--radius-3xl) var(--radius-3xl) 0 0;
}

.luxury-hotel-card:hover::before {
    transform: scaleX(1);
}

/* Animation keyframes */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

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

.hotel-image-section {
    position: relative;
    height: 220px;
    overflow: hidden;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.hotel-primary-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, transparent 40%, transparent 60%, rgba(0, 0, 0, 0.4) 100%);
    pointer-events: none;
}

.overlay-content {
    position: absolute;
    top: var(--space-3);
    left: var(--space-3);
    right: var(--space-3);
    bottom: var(--space-3);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.image-source-badge {
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    font-weight: 600;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.google-images-badge {
    background: rgba(66, 133, 244, 0.9);
}

.authentic-badge {
    background: rgba(16, 185, 129, 0.9);
}

.fallback-badge {
    background: rgba(139, 92, 246, 0.9);
}

.stock-badge {
    background: rgba(107, 114, 128, 0.9);
}

.image-count {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-2);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    font-weight: 500;
    backdrop-filter: blur(10px);
}

.luxury-hotel-card:hover .hotel-primary-image {
    transform: scale(1.05);
}

.hotel-content {
    padding: var(--space-8);
}

.hotel-header {
    margin-bottom: var(--space-8);
}

.hotel-title-section {
    margin-bottom: var(--space-5);
}

.hotel-name {
    font-family: "Playfair Display", "Georgia", serif;
    font-size: 1.85rem;
    font-weight: 600;
    color: #1a365d;
    margin-bottom: var(--space-3);
    line-height: 1.2;
    letter-spacing: 0.5px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
    background: linear-gradient(135deg, #1a365d 0%, #2d5a87 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
    overflow: visible;
    white-space: normal;
    max-height: none;
    height: auto;
}

.hotel-classification {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-4);
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.08) 0%, rgba(248, 245, 240, 0.6) 100%);
    border-radius: var(--radius-xl);
    border: 1px solid rgba(212, 175, 55, 0.15);
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.1);
    position: relative;
    overflow: hidden;
}

.hotel-classification::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--luxury-gold) 0%, #f4d03f 100%);
}

.hotel-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: var(--space-5);
}

.hotel-platform-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-xs);
    font-weight: 600;
    border-radius: var(--radius-lg);
    background: rgba(212, 175, 55, 0.1);
    color: var(--luxury-gold);
    border: 1px solid rgba(212, 175, 55, 0.2);
    transition: all 0.2s ease;
}

.hotel-platform-badge:hover {
    background: rgba(212, 175, 55, 0.15);
    transform: translateY(-1px);
}

.ultra-luxury-badge,
.verified-luxury-badge,
.curated-badge,
.brand-tier-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-xs);
    font-weight: 600;
    border-radius: var(--radius-lg);
    transition: all 0.2s ease;
}

.ultra-luxury-badge {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.15) 0%, rgba(255, 193, 7, 0.1) 100%);
    color: #b8860b;
    border: 1px solid rgba(255, 215, 0, 0.3);
}

.verified-luxury-badge {
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.curated-badge {
    background: rgba(139, 92, 246, 0.1);
    color: #7c3aed;
    border: 1px solid rgba(139, 92, 246, 0.2);
}

.brand-tier-badge {
    background: rgba(59, 130, 246, 0.1);
    color: #1d4ed8;
    border: 1px solid rgba(59, 130, 246, 0.2);
}

.hotel-pricing-section {
    margin-bottom: var(--space-5);
}

.pricing-container {
    padding: var(--space-5);
    background: linear-gradient(135deg, rgba(248, 245, 240, 0.8) 0%, rgba(255, 255, 255, 0.95) 100%);
    border-radius: var(--radius-xl);
    border: 2px solid rgba(212, 175, 55, 0.2);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.15);
    position: relative;
    overflow: hidden;
}

.pricing-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--luxury-gold) 0%, #f4d03f 50%, var(--luxury-gold) 100%);
}

.main-price {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--luxury-navy);
    display: flex;
    align-items: baseline;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    line-height: 1;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.per-night {
    font-size: var(--text-lg);
    color: var(--gray-600);
    font-weight: 500;
    font-family: var(--font-sans);
}

.savings-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-2);
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
    font-size: var(--text-xs);
    font-weight: 600;
    border-radius: var(--radius-md);
    animation: pulse 2s infinite;
}

.pricing-disclaimer {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    margin-top: var(--space-2);
    font-size: var(--text-xs);
    color: var(--gray-500);
    font-style: italic;
}

.hotel-rating {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex: 1;
}

.stars {
    color: var(--luxury-gold);
    font-size: 1.2rem;
    display: flex;
    gap: 2px;
    filter: drop-shadow(0 1px 2px rgba(212, 175, 55, 0.3));
}

.stars i {
    transition: transform 0.2s ease;
}

.stars:hover i {
    transform: scale(1.1);
}

.rating-label {
    font-weight: 700;
    color: var(--luxury-charcoal);
    font-size: var(--text-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
}

.rating-label::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, var(--luxury-gold) 0%, transparent 100%);
}

.value-score {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--gray-700);
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(255, 255, 255, 0.8) 100%);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(212, 175, 55, 0.25);
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(212, 175, 55, 0.1);
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
}

.value-score::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.6s ease;
}

.value-score:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(212, 175, 55, 0.2);
}

.value-score:hover::before {
    left: 100%;
}

.value-score i {
    color: var(--luxury-gold);
    font-size: 1rem;
    filter: drop-shadow(0 1px 2px rgba(212, 175, 55, 0.3));
}

/* Responsive Design for Results */
@media (max-width: 768px) {
    .luxury-results-section {
        padding: var(--space-12) 0;
    }
    
    .results-title {
        font-size: var(--text-3xl);
    }
    
    .results-summary-cards {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    
    .results-navigation {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-4);
    }
    
    .nav-tabs {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .results-controls {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .featured-events-grid,
    .featured-hotels-grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    
    .events-grid-full,
    .hotels-grid-full {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }
    
    .section-header {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    /* Hotel Card Mobile Responsiveness */
    .hotel-content {
        padding: var(--space-4);
    }
    
    .hotel-name {
        font-size: 1.5rem;
    }
    
    .hotel-classification {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-3);
        padding: var(--space-3);
    }
    
    .hotel-rating {
        width: 100%;
        justify-content: space-between;
    }
    
    .value-score {
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-xs);
    }
    
    .stars {
        font-size: 1rem;
    }
    
    .rating-label {
        font-size: var(--text-xs);
    }
    
    .hotel-badges {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .main-price {
        font-size: var(--text-xl);
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-1);
    }
    
    .amenities-grid {
        grid-template-columns: 1fr;
    }
    
    .pricing-container {
        padding: var(--space-4);
    }
    
    .main-price {
        font-size: 2rem;
    }
    
    .hotel-description {
        padding: var(--space-4);
        margin-bottom: var(--space-4);
    }
    
    .amenities-section {
        padding: var(--space-3);
        margin-bottom: var(--space-4);
    }
    
    .overlay-content {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-2);
    }
}

@media (max-width: 480px) {
    .hotel-image-section {
        height: 180px;
    }
    
    .hotel-content {
        padding: var(--space-3);
    }
    
    .main-price {
        font-size: 1.75rem;
    }
    
    .pricing-container {
        padding: var(--space-3);
    }
    
    .hotel-description {
        padding: var(--space-3);
        font-size: var(--text-sm);
    }
    
    .amenities-section {
        padding: var(--space-2);
    }
    
    .hotel-name {
        font-size: 1.25rem;
    }
    
    .hotel-classification {
        padding: var(--space-2);
        gap: var(--space-2);
    }
    
    .hotel-rating {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-2);
    }
    
    .value-score {
        align-self: stretch;
        justify-content: center;
    }
    
    .main-price {
        font-size: var(--text-lg);
    }
    
    .hotel-cta-button {
        width: 100%;
        justify-content: center;
        padding: var(--space-4);
    }
}

/* ==== LUXURY FEATURES SECTION ==== */

.luxury-features-section {
    padding: var(--space-20) 0;
    background: linear-gradient(135deg, var(--luxury-cream) 0%, rgba(248, 245, 240, 0.8) 100%);
    position: relative;
    overflow: hidden;
}

.luxury-features-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 20% 20%, rgba(212, 175, 55, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(212, 175, 55, 0.03) 0%, transparent 50%);
    pointer-events: none;
}

.features-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-6);
    position: relative;
    z-index: 1;
}

.features-header {
    text-align: center;
    margin-bottom: var(--space-16);
}

.features-header .section-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: var(--radius-2xl);
    color: var(--luxury-gold);
    font-size: var(--text-sm);
    font-weight: 600;
    margin-bottom: var(--space-6);
}

.features-header .luxury-section-title {
    font-family: var(--font-serif);
    font-size: var(--text-5xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
    line-height: 1.2;
}

.features-header .luxury-section-subtitle {
    font-size: var(--text-lg);
    color: var(--gray-600);
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Features Grid */
.features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-8);
    margin-bottom: var(--space-16);
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.luxury-feature-card {
    background: var(--gradient-card);
    border-radius: var(--radius-2xl);
    padding: var(--space-8);
    box-shadow: var(--shadow-elegant);
    border: 1px solid rgba(212, 175, 55, 0.1);
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.luxury-feature-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-luxury);
}

.luxury-feature-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.luxury-feature-card:hover::before {
    transform: scaleX(1);
}

/* Feature Icon */
.feature-icon-wrapper {
    position: relative;
    margin-bottom: var(--space-6);
}

.feature-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--gradient-luxury);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-white);
    font-size: 32px;
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
}

.luxury-feature-card:hover .feature-icon {
    transform: scale(1.1);
}

.icon-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.3) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.luxury-feature-card:hover .icon-glow {
    opacity: 1;
}

/* Feature Content */
.feature-content {
    text-align: left;
}

.feature-title {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
    line-height: 1.3;
}

.feature-description {
    font-size: var(--text-base);
    color: var(--gray-600);
    line-height: 1.6;
    margin-bottom: var(--space-6);
}

/* Feature Highlights */
.feature-highlights {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.highlight-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--text-sm);
    color: var(--luxury-charcoal);
}

.highlight-item i {
    color: var(--luxury-gold);
    font-size: 16px;
    width: 20px;
    flex-shrink: 0;
}

.highlight-item span {
    font-weight: 500;
}

/* Features CTA */
.features-cta {
    text-align: center;
    padding: var(--space-12) var(--space-8);
    background: var(--gradient-card);
    border-radius: var(--radius-2xl);
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(212, 175, 55, 0.1);
    position: relative;
    overflow: hidden;
}

.features-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
}

.cta-content {
    position: relative;
    z-index: 1;
}

.cta-title {
    font-family: var(--font-serif);
    font-size: var(--text-3xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
    line-height: 1.2;
}

.cta-subtitle {
    font-size: var(--text-lg);
    color: var(--gray-600);
    margin-bottom: var(--space-8);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
}

.features-cta .btn-luxury {
    background: var(--gradient-luxury);
    color: var(--luxury-white);
    border: none;
    padding: var(--space-4) var(--space-8);
    border-radius: var(--radius-xl);
    font-weight: 600;
    font-size: var(--text-base);
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    box-shadow: var(--shadow-soft);
    position: relative;
    overflow: hidden;
}

.features-cta .btn-luxury:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-luxury);
}

.features-cta .btn-luxury:hover i {
    animation: bounce 0.6s ease-in-out;
}

@keyframes bounce {
    0%, 20%, 60%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-4px);
    }
    80% {
        transform: translateY(-2px);
    }
}

/* Responsive Features Design */
@media (max-width: 1000px) {
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-6);
        max-width: 800px;
    }
}

@media (max-width: 768px) {
    .luxury-features-section {
        padding: var(--space-16) 0;
    }
    
    .features-container {
        padding: 0 var(--space-4);
    }
    
    .features-header .luxury-section-title {
        font-size: var(--text-3xl);
    }
    
    .features-grid {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }
    
    .luxury-feature-card {
        padding: var(--space-6);
    }
    
    .feature-icon {
        width: 60px;
        height: 60px;
        font-size: 24px;
    }
    
    .icon-glow {
        width: 80px;
        height: 80px;
    }
    
    .feature-title {
        font-size: var(--text-lg);
    }
    
    .cta-title {
        font-size: var(--text-2xl);
    }
    
    .features-cta {
        padding: var(--space-8) var(--space-4);
    }
}

@media (max-width: 480px) {
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .luxury-feature-card {
        padding: var(--space-4);
    }
    
    .feature-highlights {
        gap: var(--space-2);
    }
    
    .highlight-item {
        gap: var(--space-2);
    }
    
    .features-header .luxury-section-subtitle,
    .cta-subtitle {
        font-size: var(--text-base);
    }
}

/* ==== REDESIGNED LUXURY SEARCH FORM ==== */

.luxury-search-form {
    max-width: 1000px;
    margin: 0 auto;
    padding: var(--space-8);
    background: var(--gradient-card);
    border-radius: var(--radius-3xl);
    box-shadow: var(--shadow-luxury);
    border: 1px solid rgba(212, 175, 55, 0.1);
    position: relative;
    overflow: hidden;
}

.luxury-search-form::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
}

.search-form-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

/* Step Indicator */
.search-steps {
    display: flex;
    justify-content: center;
    margin-bottom: var(--space-6);
}

.step-indicator {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    transition: all 0.3s ease;
}

.step-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--gray-200);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-500);
    font-size: 18px;
    transition: all 0.3s ease;
}

.step.active .step-icon {
    background: var(--gradient-luxury);
    color: var(--luxury-white);
    box-shadow: var(--shadow-elegant);
}

.step span {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--gray-600);
    transition: color 0.3s ease;
}

.step.active span {
    color: var(--luxury-navy);
    font-weight: 600;
}

.step-line {
    width: 60px;
    height: 2px;
    background: var(--gray-200);
    margin: 0 var(--space-4);
    position: relative;
    top: -10px;
}

/* Primary Search Fields */
.primary-search-fields {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.search-field-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.luxury-input-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.luxury-label {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-weight: 600;
    color: var(--luxury-navy);
    font-size: var(--text-sm);
}

.luxury-label i {
    color: var(--luxury-gold);
    font-size: 16px;
}

.luxury-select {
    width: 100%;
    padding: var(--space-4) var(--space-6);
    font-size: var(--text-base);
    font-family: var(--font-sans);
    color: var(--luxury-charcoal);
    background: var(--luxury-white);
    border: 2px solid var(--gray-200);
    border-radius: var(--radius-xl);
    transition: all 0.3s ease;
    appearance: none;
    cursor: pointer;
    box-shadow: var(--shadow-subtle);
}

.luxury-select:focus {
    outline: none;
    border-color: var(--luxury-gold);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.1);
}

.luxury-select:hover {
    border-color: var(--luxury-gold-light);
}

.destination-input .input-icon {
    position: absolute;
    right: var(--space-4);
    top: 50%;
    transform: translateY(-50%);
    color: var(--luxury-gold);
    pointer-events: none;
    margin-top: 10px;
}

.dates-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: var(--space-4);
    align-items: end;
}

.date-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-gold);
    font-size: 18px;
    margin-bottom: var(--space-6);
}

.luxury-date-input {
    width: 100%;
    padding: var(--space-4) var(--space-6);
    font-size: var(--text-base);
    font-family: var(--font-sans);
    color: var(--luxury-charcoal);
    background: var(--luxury-white);
    border: 2px solid var(--gray-200);
    border-radius: var(--radius-xl);
    transition: all 0.3s ease;
    box-shadow: var(--shadow-subtle);
}

.luxury-date-input:focus {
    outline: none;
    border-color: var(--luxury-gold);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.1);
}

.luxury-date-input:hover {
    border-color: var(--luxury-gold-light);
}

/* Advanced Preferences - Always Visible */
.advanced-preferences-section {
    border-top: 1px solid var(--gray-200);
    padding-top: var(--space-6);
    margin-top: var(--space-6);
}

.section-title {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-6);
    font-weight: 600;
    color: var(--luxury-navy);
    font-size: var(--text-lg);
}

.section-title i {
    color: var(--luxury-gold);
    font-size: 20px;
}

.advanced-fields-permanent {
    padding: var(--space-6);
    background: rgba(212, 175, 55, 0.05);
    border-radius: var(--radius-xl);
    border: 1px solid rgba(212, 175, 55, 0.1);
}

.advanced-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.luxury-select.compact {
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-sm);
}

/* Luxury Search Button */
.search-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.luxury-search-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-5) var(--space-12);
    font-size: var(--text-lg);
    font-weight: 700;
    font-family: var(--font-sans);
    color: var(--luxury-white);
    background: var(--gradient-luxury);
    border: none;
    border-radius: var(--radius-2xl);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-luxury);
    overflow: hidden;
    min-height: 60px;
    letter-spacing: 0.5px;
}

.luxury-search-button:disabled {
    cursor: not-allowed;
    opacity: 0.8;
}

.luxury-search-button:hover:not(:disabled) {
    transform: translateY(-3px);
    box-shadow: 0 20px 40px -12px rgba(212, 175, 55, 0.4);
}

.button-content {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    z-index: 2;
    position: relative;
}

.button-content i {
    font-size: 20px;
}

.button-shimmer {
    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.6s;
}

.luxury-search-button:hover .button-shimmer {
    left: 100%;
}

.loading-spinner-small {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top: 2px solid var(--luxury-white);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.search-guarantee {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-xs);
    color: var(--gray-600);
    text-align: center;
}

.search-guarantee i {
    color: var(--luxury-gold);
    font-size: 14px;
}

/* ==== REDESIGNED LUXURY LOADING OVERLAY ==== */

.luxury-loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(27, 41, 81, 0.95);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    animation: fadeIn 0.5s ease;
}

.luxury-loading-content {
    max-width: 600px;
    text-align: center;
    color: var(--luxury-white);
    padding: var(--space-8);
}

.luxury-loading-animation {
    position: relative;
    margin-bottom: var(--space-8);
    display: flex;
    align-items: center;
    justify-content: center;
}

.concierge-icon {
    font-size: 3rem;
    color: var(--luxury-gold);
    z-index: 2;
    position: relative;
}

.loading-rings {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.ring {
    position: absolute;
    border: 2px solid transparent;
    border-top: 2px solid var(--luxury-gold);
    border-radius: 50%;
    animation: spin 2s linear infinite;
}

.ring-1 {
    width: 80px;
    height: 80px;
    margin: -40px;
    animation-duration: 2s;
}

.ring-2 {
    width: 100px;
    height: 100px;
    margin: -50px;
    animation-duration: 3s;
    animation-direction: reverse;
}

.ring-3 {
    width: 120px;
    height: 120px;
    margin: -60px;
    animation-duration: 4s;
}

.loading-message {
    margin-bottom: var(--space-8);
}

.loading-title {
    font-family: var(--font-serif);
    font-size: var(--text-3xl);
    font-weight: 600;
    color: var(--luxury-white);
    margin-bottom: var(--space-4);
}

.loading-subtitle {
    font-size: var(--text-base);
    color: var(--luxury-champagne);
    line-height: 1.8;
    max-width: 500px;
    margin: 0 auto;
}

.luxury-loading-steps {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    margin-bottom: var(--space-8);
}

.loading-step {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    background: rgba(255, 255, 255, 0.05);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(212, 175, 55, 0.2);
    transition: all 0.3s ease;
}

.loading-step.active {
    background: rgba(212, 175, 55, 0.1);
    border-color: var(--luxury-gold);
    transform: scale(1.02);
}

.loading-step .step-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-gold);
    font-size: 16px;
}

.loading-step.active .step-icon {
    background: var(--luxury-gold);
    color: var(--luxury-navy);
}

.step-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.step-title {
    font-weight: 600;
    color: var(--luxury-white);
    font-size: var(--text-base);
}

.step-desc {
    font-size: var(--text-sm);
    color: var(--luxury-champagne);
}

.loading-progress {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.progress-bar {
    width: 100%;
    height: 4px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: var(--gradient-luxury);
    border-radius: var(--radius-sm);
    animation: progressFill 3s ease-in-out infinite;
}

.progress-text {
    font-size: var(--text-sm);
    color: var(--luxury-champagne);
    font-style: italic;
}

/* Animations */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes progressFill {
    0% { width: 0%; }
    50% { width: 70%; }
    100% { width: 100%; }
}

/* Responsive Design */
@media (max-width: 768px) {
    .luxury-search-form {
        margin: var(--space-4);
        padding: var(--space-6);
    }
    
    .dates-row {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }
    
    .date-separator {
        display: none;
    }
    
    .step-indicator {
        flex-direction: column;
        gap: var(--space-6);
    }
    
    .step-line {
        width: 2px;
        height: 30px;
        top: 0;
        margin: var(--space-2) 0;
    }
    
    .advanced-row {
        grid-template-columns: 1fr;
    }
    
    .luxury-search-button {
        padding: var(--space-4) var(--space-8);
        font-size: var(--text-base);
    }
    
    .luxury-loading-steps {
        gap: var(--space-3);
    }
    
    .loading-step {
        padding: var(--space-3);
    }
    
    .loading-title {
        font-size: var(--text-2xl);
    }
}

/* Ultra-Luxury Buttons */
.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-5) var(--space-10);
    font-size: var(--text-lg);
    font-weight: 600;
    font-family: var(--font-sans);
    letter-spacing: 0.02em;
    color: var(--luxury-white);
    background: var(--gradient-button);
    border: none;
    border-radius: var(--radius-2xl);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
    white-space: nowrap;
    box-shadow: var(--shadow-luxury), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    position: relative;
    overflow: hidden;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

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

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

.btn-primary:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: var(--shadow-premium), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    background: var(--gradient-button-hover);
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-5) var(--space-10);
    font-size: var(--text-lg);
    font-weight: 600;
    font-family: var(--font-sans);
    letter-spacing: 0.02em;
    color: var(--luxury-navy);
    background: var(--gradient-card);
    border: 2px solid var(--luxury-gold);
    border-radius: var(--radius-2xl);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
    white-space: nowrap;
    box-shadow: var(--shadow-elegant), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.btn-secondary:hover {
    background: var(--luxury-gold);
    color: var(--luxury-white);
    transform: translateY(-1px);
    box-shadow: var(--shadow-elegant);
}

.btn-luxury {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-5) var(--space-10);
    font-size: var(--text-lg);
    font-weight: 500;
    font-family: var(--font-sans);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--luxury-white);
    background: var(--luxury-navy);
    border: 1px solid var(--luxury-gold);
    border-radius: var(--radius-xl);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    white-space: nowrap;
    box-shadow: var(--shadow-luxury);
    position: relative;
}

.btn-luxury:hover {
    background: var(--luxury-gold);
    color: var(--luxury-navy);
    transform: translateY(-3px);
    box-shadow: var(--shadow-premium);
    border-color: var(--luxury-navy);
}

/* Ultra-Luxury Navigation */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(254, 252, 246, 0.98);
    backdrop-filter: blur(24px);
    border-bottom: 2px solid var(--luxury-gold);
    z-index: 100;
    box-shadow: var(--shadow-luxury);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.nav-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-8);
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 5rem;
}

.nav-brand {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.5rem;
    color: var(--luxury-navy);
    text-decoration: none;
    transition: all 0.3s ease;
}

.nav-brand:hover {
    transform: translateY(-1px);
}

.nav-brand i {
    background: var(--gradient-luxury);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 1.75rem;
}

.brand-name {
    background: var(--gradient-text);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.brand-badge {
    background: var(--gradient-luxury);
    color: var(--luxury-white);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: var(--shadow-soft);
}

.nav-links {
    display: flex;
    align-items: center;
    gap: var(--space-8);
}

.nav-user-container {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.nav-user {
    color: var(--luxury-navy);
    font-weight: 500;
    font-size: 0.9rem;
    letter-spacing: 0.01em;
}

.nav-link {
    color: var(--luxury-navy);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding: var(--space-2) 0;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--gradient-luxury);
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-link:hover {
    color: var(--luxury-gold-dark);
    transform: translateY(-1px);
}

.nav-link:hover::after {
    width: 100%;
}

/* User Menu Styles */
.user-menu {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.user-name {
    font-size: var(--text-sm);
    color: var(--luxury-white);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

/* Subscription Status Styles */
.subscription-status {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-lg);
    font-size: var(--text-xs);
    font-weight: 500;
    white-space: nowrap;
}

.subscription-status.loading {
    background: rgba(255, 255, 255, 0.1);
    color: var(--luxury-white);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.subscription-status.subscribed {
    background: linear-gradient(135deg, var(--luxury-gold) 0%, var(--luxury-bronze) 100%);
    color: var(--luxury-white);
    border: 1px solid var(--luxury-gold-dark);
    box-shadow: var(--shadow-soft);
}

.subscription-status.subscribed i {
    color: var(--luxury-white);
    font-size: var(--text-sm);
}

@media (max-width: 768px) {
    .user-menu {
        flex-direction: column;
        gap: var(--space-2);
        align-items: flex-start;
    }

    .user-name {
        max-width: 150px;
        font-size: var(--text-xs);
    }

    .subscription-status {
        font-size: var(--text-xs);
        padding: var(--space-1) var(--space-2);
    }
}

/* Hero Section */
.hero {
    background: var(--gradient-hero);
    padding: 8rem var(--space-6) var(--space-32);
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse"><path d="M 20 0 L 0 0 0 20" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');
    opacity: 0.3;
}

.hero-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
    align-items: center;
    position: relative;
    z-index: 1;
}

.hero-content {
    color: var(--white);
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(8px);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-2xl);
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: var(--space-6);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: var(--space-6);
}

.gradient-text {
    background: linear-gradient(45deg, #fbbf24, #f59e0b, #d97706);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-subtitle {
    font-size: 1.25rem;
    font-weight: 400;
    opacity: 0.9;
    line-height: 1.6;
    margin-bottom: var(--space-10);
}

.hero-stats {
    display: flex;
    gap: var(--space-8);
}

.stat {
    text-align: center;
}

.stat-number {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: var(--space-1);
}

.stat-label {
    font-size: 0.875rem;
    opacity: 0.8;
}

.hero-image {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
}

/* Business Professionals Photo */
.business-professionals-photo {
    position: relative;
    width: 100%;
    max-width: 500px;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    transition: all 0.4s ease;
}

.business-professionals-photo:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2);
}

.hero-photo {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.business-professionals-photo:hover .hero-photo {
    transform: scale(1.02);
}

/* Large Business Professionals Photo */
.business-professionals-photo-large {
    position: relative;
    width: 100%;
    max-width: 900px; /* Increased from 700px */
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2);
    transition: all 0.4s ease;
    margin: 0 auto; /* Center the photo */
}

.business-professionals-photo-large:hover {
    transform: translateY(-8px);
    box-shadow: 0 35px 70px rgba(0, 0, 0, 0.25);
}

.hero-photo-large {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.business-professionals-photo-large:hover .hero-photo-large {
    transform: scale(1.03);
}

/* Write Off Message */
.write-off-message {
    margin-top: var(--space-4);
    text-align: center;
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
    padding: var(--space-2);
    background: rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-lg);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.write-off-text {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 2.5rem;
    font-weight: bold;
    color: #fbbf24;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    margin: 0 0 var(--space-3);
    letter-spacing: 1px;
    position: relative;
    display: inline-block;
}

.write-off-text::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 3px;
    background: linear-gradient(90deg, transparent, #fbbf24, transparent);
    border-radius: 2px;
}

.write-off-accent {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-full);
    padding: var(--space-3) var(--space-5);
    font-size: 0.9rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.95);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    margin: 0 auto;
    width: fit-content;
}

.write-off-accent:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.write-off-accent i {
    color: #fbbf24;
    font-size: 1.1rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Luxury Destination Card */
.city-description {
    margin-top: var(--space-6);
    background: var(--luxury-white);
    border: 2px solid rgba(212, 175, 55, 0.15);
    border-radius: var(--radius-4xl);
    box-shadow: var(--shadow-premium);
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.city-description::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
}

.city-description:hover {
    border-color: var(--luxury-gold);
    box-shadow: var(--shadow-luxury);
    transform: translateY(-4px);
}

/* Luxury City Description Wide */
.city-description-wide {
    background: var(--luxury-white);
    border: 2px solid rgba(212, 175, 55, 0.15);
    border-radius: var(--radius-4xl);
    box-shadow: var(--shadow-premium);
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    max-width: 100%;
    margin: var(--space-8) 0;
    position: relative;
}

.city-description-wide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
}

.city-description-wide:hover {
    border-color: var(--luxury-gold);
    box-shadow: var(--shadow-luxury);
    transform: translateY(-4px);
}

.city-description-wide .description-content {
    padding: var(--space-10);
}

.city-description-wide .description-text {
    font-family: var(--font-sans);
    font-size: var(--text-lg);
    line-height: 1.8;
    color: var(--luxury-charcoal);
    margin-bottom: var(--space-8);
    max-width: none;
    opacity: 0.9;
}

.city-description-wide .description-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: space-between;
    margin-top: var(--space-8);
    padding-top: var(--space-8);
    border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.city-description-wide .highlight-item {
    flex: 1;
    min-width: 160px;
    max-width: 200px;
    text-align: center;
    padding: var(--space-4) var(--space-3);
    background: rgba(212, 175, 55, 0.05);
    border: 1px solid rgba(212, 175, 55, 0.15);
    border-radius: var(--radius-2xl);
    font-family: var(--font-sans);
    font-size: var(--text-base);
    font-weight: 500;
    color: var(--luxury-navy);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-subtle);
}

.city-description-wide .highlight-item:hover {
    background: rgba(212, 175, 55, 0.1);
    border-color: var(--luxury-gold);
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.description-header {
    background: var(--gradient-luxury);
    padding: var(--space-6);
    display: flex;
    align-items: center;
    gap: var(--space-4);
    color: var(--luxury-white);
    position: relative;
    overflow: hidden;
    font-family: var(--font-serif);
    font-weight: 600;
    font-size: var(--text-xl);
    letter-spacing: 0.025em;
}

.description-header::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: 100%;
    background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.15));
    transform: skewX(-15deg);
}

/* Luxury Tier-specific styling */
.city-description.tier-1 .description-header,
.city-description-wide.tier-1 .description-header {
    background: linear-gradient(135deg, var(--luxury-gold), var(--luxury-bronze));
}

.city-description.tier-2 .description-header,
.city-description-wide.tier-2 .description-header {
    background: linear-gradient(135deg, #059669, #047857);
}

.description-icon {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.description-title {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.tier-badge {
    font-size: 0.7rem;
    font-weight: 500;
    opacity: 0.9;
    background: rgba(255, 255, 255, 0.2);
    padding: 2px 8px;
    border-radius: 12px;
    width: fit-content;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.description-content {
    padding: var(--space-5);
}

.description-text {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: 1.7;
    color: var(--luxury-charcoal);
    margin-bottom: var(--space-6);
    text-align: justify;
    opacity: 0.9;
}

.description-highlights {
    display: flex;
    gap: var(--space-4);
    margin-top: var(--space-6);
    padding-top: var(--space-6);
    border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.highlight-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background: rgba(212, 175, 55, 0.05);
    border: 1px solid rgba(212, 175, 55, 0.15);
    border-radius: var(--radius-xl);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--luxury-navy);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    box-shadow: var(--shadow-subtle);
}

.highlight-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.1), transparent);
    transition: left 0.5s ease;
}

.highlight-item:hover::before {
    left: 100%;
}

.highlight-item:hover {
    background: rgba(212, 175, 55, 0.1);
    border-color: var(--luxury-gold);
    color: var(--luxury-navy);
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.highlight-item i {
    color: var(--luxury-gold);
    font-size: var(--text-base);
    transition: transform 0.2s ease;
}

.highlight-item:hover i {
    transform: scale(1.1);
}

/* Luxury Search Section - Updated to match Four Seasons style */
.search-section {
    padding: var(--space-32) var(--space-8);
    background: var(--luxury-pearl);
}

.search-container {
    max-width: 1200px;
    margin: 0 auto;
}

.search-header {
    text-align: center;
    margin-bottom: var(--space-20);
}

.search-header h2 {
    font-family: var(--font-serif);
    font-size: var(--text-5xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-6);
    line-height: 1.2;
}

.search-header p {
    font-size: var(--text-xl);
    color: var(--luxury-charcoal);
    opacity: 0.8;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.7;
}

.search-card {
    background: var(--luxury-white);
    border-radius: var(--radius-4xl);
    padding: var(--space-12);
    box-shadow: var(--shadow-premium);
    border: 1px solid rgba(212, 175, 55, 0.1);
    position: relative;
    overflow: hidden;
}

.search-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
}

.search-tabs {
    display: flex;
    gap: var(--space-2);
    margin-bottom: var(--space-12);
    background: var(--luxury-pearl);
    padding: var(--space-2);
    border-radius: var(--radius-2xl);
    border: 1px solid rgba(212, 175, 55, 0.1);
}

.tab-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-6);
    background: transparent;
    border: none;
    border-radius: var(--radius-xl);
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: var(--text-base);
    color: var(--luxury-charcoal);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.tab-btn i {
    font-size: var(--text-lg);
    color: var(--luxury-gold);
}

.tab-btn.active {
    background: var(--luxury-white);
    color: var(--luxury-navy);
    box-shadow: var(--shadow-elegant);
    transform: translateY(-1px);
}

.tab-btn.active i {
    color: var(--luxury-gold);
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-8);
    margin-bottom: var(--space-12);
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.form-group label {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-family: var(--font-sans);
    font-weight: 600;
    color: var(--luxury-navy);
    font-size: var(--text-base);
    letter-spacing: 0.025em;
}

.form-group label i {
    color: var(--luxury-gold);
    width: 20px;
    font-size: var(--text-lg);
}

.form-group input,
.form-group select {
    padding: var(--space-4) var(--space-5);
    border: 2px solid rgba(212, 175, 55, 0.2);
    border-radius: var(--radius-xl);
    font-family: var(--font-sans);
    font-size: var(--text-base);
    font-weight: 500;
    color: var(--luxury-charcoal);
    background: var(--luxury-white);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-subtle);
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: var(--luxury-gold);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1), var(--shadow-soft);
    transform: translateY(-1px);
}

/* Business Hub Select Dropdown Styling - Luxury Four Seasons Design */
.form-group select {
    cursor: pointer;
    appearance: none;
    /* Luxury gold chevron icon */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23D4AF37' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 1rem center;
    background-repeat: no-repeat;
    background-size: 1.2em 1.2em;
    padding-right: 3rem;
    position: relative;
    /* Enhanced luxury styling */
    background-color: var(--luxury-white);
    border: 2px solid rgba(212, 175, 55, 0.2);
    box-shadow: var(--shadow-elegant);
    font-family: var(--font-sans);
    font-weight: 500;
    letter-spacing: 0.025em;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.form-group select:hover {
    border-color: rgba(212, 175, 55, 0.4);
    box-shadow: var(--shadow-luxury);
    transform: translateY(-2px);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23B8941F' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
}

.form-group select:focus {
    outline: none;
    border-color: var(--luxury-gold);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.15), var(--shadow-premium);
    transform: translateY(-2px);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23D4AF37' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
}

/* Luxury OptGroup Headers - Tier 1 & Tier 2 Business Centers */
.form-group select optgroup {
    font-family: var(--font-serif);
    font-weight: 700;
    font-style: normal;
    color: var(--luxury-navy);
    background: linear-gradient(135deg, var(--luxury-champagne) 0%, var(--luxury-pearl) 100%);
    padding: var(--space-3) var(--space-4);
    margin: var(--space-2) 0;
    border-top: 2px solid var(--luxury-gold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: var(--text-sm);
}

/* Tier 1 Global Business Centers - Premium Gold Styling */
.form-group select optgroup[label*="Tier 1"] {
    background: linear-gradient(135deg, var(--luxury-gold-light) 0%, var(--luxury-champagne) 100%);
    border-top-color: var(--luxury-gold);
    color: var(--luxury-navy);
}

/* Tier 2 Regional Business Hubs - Elegant Silver Styling */
.form-group select optgroup[label*="Tier 2"] {
    background: linear-gradient(135deg, var(--luxury-pearl) 0%, var(--luxury-silk) 100%);
    border-top-color: var(--luxury-bronze);
    color: var(--luxury-charcoal);
}

/* Luxury Option Styling */
.form-group select option {
    font-family: var(--font-sans);
    font-weight: 500;
    color: var(--luxury-charcoal);
    background: var(--luxury-white);
    padding: var(--space-3) var(--space-4);
    margin: var(--space-1) 0;
    border-bottom: 1px solid rgba(212, 175, 55, 0.1);
    line-height: 1.6;
    letter-spacing: 0.025em;
    transition: all 0.2s ease;
}

/* Tier 1 Cities - Premium Styling */
.form-group select optgroup[label*="Tier 1"] option {
    background: var(--luxury-white);
    color: var(--luxury-navy);
    font-weight: 600;
    padding-left: var(--space-6);
}

.form-group select optgroup[label*="Tier 1"] option:hover {
    background: linear-gradient(135deg, var(--luxury-gold-light) 0%, var(--luxury-champagne) 100%);
    color: var(--luxury-navy);
}

/* Tier 2 Cities - Elegant Styling */
.form-group select optgroup[label*="Tier 2"] option {
    background: var(--luxury-white);
    color: var(--luxury-charcoal);
    font-weight: 500;
    padding-left: var(--space-5);
}

.form-group select optgroup[label*="Tier 2"] option:hover {
    background: linear-gradient(135deg, var(--luxury-pearl) 0%, var(--luxury-silk) 100%);
    color: var(--luxury-charcoal);
}

/* Selected Option Styling */
.form-group select option:checked {
    background: var(--gradient-luxury);
    color: var(--luxury-white);
    font-weight: 600;
}

/* Enhanced Dropdown Animation */
.form-group select:focus optgroup {
    animation: luxuryDropdownSlide 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes luxuryDropdownSlide {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Luxury Dropdown Icon Enhancement */
.form-group select::after {
    content: '';
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    background: var(--gradient-luxury);
    border-radius: 50%;
    opacity: 0;
    transition: all 0.3s ease;
    pointer-events: none;
}

.form-group select:focus::after {
    opacity: 0.3;
    transform: translateY(-50%) scale(1.5);
}

/* Mobile Responsive Luxury Dropdown */
@media (max-width: 768px) {
    .form-group select {
        padding: var(--space-4) var(--space-8) var(--space-4) var(--space-4);
        padding-right: 2.5rem;
        font-size: var(--text-base);
    }
    
    .form-group select optgroup {
        font-size: var(--text-xs);
        padding: var(--space-2) var(--space-3);
    }
    
    .form-group select option {
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-sm);
    }
}

.month-scan-options {
    background: rgba(212, 175, 55, 0.05);
    border: 2px solid rgba(212, 175, 55, 0.15);
    border-radius: var(--radius-2xl);
    padding: var(--space-8);
    margin-bottom: var(--space-8);
    box-shadow: var(--shadow-subtle);
}

.advanced-section {
    margin-bottom: var(--space-8);
}

.advanced-toggle {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-6);
    background: rgba(212, 175, 55, 0.05);
    border: 2px solid rgba(212, 175, 55, 0.2);
    border-radius: var(--radius-xl);
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: var(--text-base);
    color: var(--luxury-navy);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-subtle);
}

.advanced-toggle i {
    color: var(--luxury-gold);
    font-size: var(--text-lg);
}

.advanced-toggle:hover {
    background: rgba(212, 175, 55, 0.1);
    border-color: var(--luxury-gold);
    transform: translateY(-1px);
    box-shadow: var(--shadow-soft);
}

.filters-panel {
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    margin-top: 0;
}

.filters-panel.show {
    max-height: 300px;
    margin-top: var(--space-6);
}

.search-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-5) var(--space-8);
    font-family: var(--font-sans);
    font-size: var(--text-lg);
    font-weight: 600;
    letter-spacing: 0.025em;
    color: var(--luxury-white);
    background: var(--gradient-luxury);
    border: none;
    border-radius: var(--radius-2xl);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin-bottom: var(--space-6);
    box-shadow: var(--shadow-elegant);
    position: relative;
    overflow: hidden;
}

.search-btn::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;
}

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

.search-btn:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-premium);
    background: linear-gradient(135deg, var(--luxury-gold-dark) 0%, var(--luxury-bronze) 100%);
}

.search-btn:disabled {
    background: var(--gray-400);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
    opacity: 0.7;
}

.search-btn:disabled:hover {
    transform: none;
    box-shadow: none;
}

.search-footer {
    text-align: center;
}

.guarantee {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--luxury-gold);
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: var(--text-base);
    letter-spacing: 0.025em;
}

.guarantee i {
    font-size: var(--text-lg);
}

/* Luxury Loading Overlay */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(27, 41, 81, 0.9);
    backdrop-filter: blur(12px);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loading-content {
    background: var(--luxury-white);
    border-radius: var(--radius-4xl);
    padding: var(--space-12);
    text-align: center;
    max-width: 500px;
    margin: var(--space-8);
    box-shadow: var(--shadow-premium);
    border: 1px solid rgba(212, 175, 55, 0.2);
    position: relative;
}

.loading-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
    border-radius: var(--radius-4xl) var(--radius-4xl) 0 0;
}

.loading-spinner {
    width: 60px;
    height: 60px;
    border: 4px solid rgba(212, 175, 55, 0.2);
    border-top: 4px solid var(--luxury-gold);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto var(--space-8);
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-content h3 {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-3);
}

.loading-content p {
    font-family: var(--font-sans);
    color: var(--luxury-charcoal);
    opacity: 0.8;
    font-size: var(--text-lg);
    line-height: 1.6;
    margin-bottom: var(--space-8);
}

.loading-steps {
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    opacity: 0.3;
    transition: opacity 0.3s ease;
}

.step.active {
    opacity: 1;
}

.step i {
    color: var(--primary-500);
    font-size: 1.25rem;
}

.step span {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--gray-600);
}

.speed-badge {
    margin-top: var(--space-6);
    padding: var(--space-3) var(--space-4);
    background: linear-gradient(135deg, var(--secondary-500), var(--secondary-600));
    color: white;
    border-radius: var(--radius-full);
    font-size: 0.875rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    animation: pulse 2s infinite;
}

.speed-badge i {
    color: #fbbf24;
    font-size: 1rem;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.05); opacity: 0.9; }
}

/* Results Section */
.results-section {
    padding: var(--space-20) var(--space-6);
    background: var(--gray-50);
}

.results-container {
    max-width: 1200px;
    margin: 0 auto;
}

.results-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-12);
    gap: var(--space-8);
}

.results-title h2 {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--gray-900);
    margin-bottom: var(--space-2);
}

.results-subtitle {
    font-size: 1.125rem;
    color: var(--gray-600);
}

.results-summary {
    text-align: right;
}

.summary-stat {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.summary-stat .stat-number {
    font-size: 3rem;
    font-weight: 800;
    color: var(--primary-600);
    line-height: 1;
}

.summary-stat .stat-label {
    font-size: 0.875rem;
    color: var(--gray-600);
    font-weight: 500;
}

.results-content {
    display: grid;
    gap: var(--space-12);
}

/* Business Results Layout */
.business-results {
    display: grid;
    gap: var(--space-16);
}

.section-header {
    text-align: center;
    background: var(--white);
    border-radius: var(--radius-2xl);
    padding: var(--space-8);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--gray-200);
}

.section-header h3 {
    font-size: 2rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: var(--space-2);
}

.section-header p {
    color: var(--gray-600);
    font-size: 1.125rem;
}

/* Event Cards */
.events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--space-6);
}

/* Event Card Compact/Expanded States */
.event-card.compact {
    transition: all 0.3s ease;
}

.event-card.expanded {
    transition: all 0.3s ease;
}

.event-card {
    background: var(--white);
    border-radius: var(--radius-xl);
    padding: var(--space-6);
    box-shadow: var(--shadow-md);
    border: 1px solid var(--gray-200);
    transition: all 0.3s ease;
}

.event-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-xl);
}

.event-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-4);
    gap: var(--space-3);
}

.event-type {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary-700);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-lg);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.business-value {
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-lg);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.value-very-high {
    background: var(--success-100);
    color: var(--success-700);
}

.value-high {
    background: var(--primary-100);
    color: var(--primary-700);
}

.value-medium {
    background: var(--warning-100);
    color: var(--warning-700);
}

.event-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: var(--space-4);
    line-height: 1.3;
}

.event-details {
    display: grid;
    gap: var(--space-3);
}

.event-detail {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--gray-600);
    font-size: 0.875rem;
}

.event-detail i {
    color: var(--primary-500);
    width: 16px;
    text-align: center;
}

.price-detail {
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.2);
    border-radius: var(--radius-lg);
    padding: var(--space-3);
    margin: var(--space-2) 0;
}

.event-price {
    font-weight: 700;
    color: var(--warning-700);
    font-size: 1rem;
}

/* Enhanced Pricing Styles */
.event-price.verified-price {
    color: var(--success-600);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.event-price.free-event {
    color: var(--success-600);
    background: var(--success-50);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-size: 0.875rem;
    border: 1px solid var(--success-200);
}

/* Contact-required styles removed - no longer displaying "Contact for pricing" */

.contact-link:hover {
    background: var(--primary-50);
    color: var(--primary-700);
}

.price-range {
    color: var(--gray-500);
    font-weight: 400;
    margin-left: var(--space-1);
}

.pricing-source {
    color: var(--gray-500);
    font-size: 0.75rem;
    margin-left: var(--space-2);
    font-weight: 400;
}

.pricing-source:before {
    content: "• ";
}

/* Enhanced pricing source indicators */
.pricing-source {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    background: var(--gray-50);
    border: 1px solid var(--gray-200);
    font-size: 0.7rem;
    font-weight: 500;
}

/* Pricing source confidence levels */
.event-price.verified-price .pricing-source {
    background: var(--success-50);
    border-color: var(--success-200);
    color: var(--success-700);
}

.event-price.free-event .pricing-source {
    background: var(--primary-50);
    border-color: var(--primary-200);
    color: var(--primary-700);
}

/* Contact-required pricing source styles removed */

/* Price range styling */
.price-range {
    color: var(--gray-600);
    font-weight: 400;
    margin-left: var(--space-1);
    font-size: 0.8rem;
}

/* Enhanced event pricing display */
.event-detail.price-detail {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
}

.event-price {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-1);
}

.purchase-btn {
    background: var(--success-500);
    color: var(--white);
    text-decoration: none;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    margin-left: var(--space-2);
    transition: all 0.2s ease;
}

.purchase-btn:hover {
    background: var(--success-600);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

/* Registration link enhancements */
.registration-link {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    align-items: center;
}

/* Hotel Cards */
.hotels-grid {
    display: grid;
    gap: var(--space-8);
}

.hotel-card {
    background: var(--white);
    border-radius: var(--radius-xl);
    padding: var(--space-8);
    box-shadow: var(--shadow-md);
    border: 1px solid var(--gray-200);
    transition: all 0.3s ease;
}

.hotel-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-xl);
}

.hotel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-5);
    gap: var(--space-6);
}

.hotel-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gray-900);
    margin: 0;
    flex: 1;
}

.hotel-price {
    background: var(--gradient-primary);
    color: var(--white);
    padding: var(--space-3) var(--space-5);
    border-radius: var(--radius-xl);
    font-weight: 700;
    font-size: 1.125rem;
    white-space: nowrap;
}

/* Enhanced Hotel Pricing Styles */
.hotel-pricing-section {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 180px;
}

.comprehensive-pricing {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--space-2);
}

.main-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-600);
    display: flex;
    align-items: baseline;
    gap: var(--space-1);
}

.per-night {
    font-size: 0.875rem;
    color: var(--gray-500);
    font-weight: 400;
}

.pricing-breakdown {
    background: var(--gray-50);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    padding: var(--space-3);
    min-width: 160px;
    font-size: 0.875rem;
}

.pricing-detail {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-1) 0;
}

.pricing-detail.total-line {
    border-top: 1px solid var(--gray-300);
    margin-top: var(--space-1);
    padding-top: var(--space-2);
    font-weight: 600;
    color: var(--primary-700);
}

.pricing-detail .label {
    color: var(--gray-600);
}

.pricing-detail .amount {
    font-weight: 500;
    color: var(--gray-900);
}

.pricing-transparency {
    display: flex;
    justify-content: flex-end;
}

.transparency-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 500;
    text-align: center;
}

.transparency-badge.full {
    background: var(--success-50);
    color: var(--success-700);
    border: 1px solid var(--success-200);
}

.transparency-badge.partial {
    background: var(--warning-50);
    color: var(--warning-700);
    border: 1px solid var(--warning-200);
}

.transparency-badge.base {
    background: var(--gray-50);
    color: var(--gray-700);
    border: 1px solid var(--gray-200);
}

.transparency-badge.basic {
    background: var(--primary-50);
    color: var(--primary-700);
    border: 1px solid var(--primary-200);
}

.basic-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-600);
}

/* Simple pricing display */
.simple-pricing {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
}

.simple-pricing .main-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-600);
}

.simple-pricing .per-night {
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--gray-600);
    margin-left: var(--space-1);
}

.pricing-disclaimer {
    text-align: center;
}

.disclaimer-text {
    font-size: 0.75rem;
    color: var(--gray-500);
    background: var(--gray-50);
    padding: var(--space-1) var(--space-2);
    border-radius: 4px;
    border: 1px solid var(--gray-200);
    font-style: italic;
}

/* Quick pricing for nearby hotels */
.quick-pricing {
    display: flex;
    align-items: center;
    justify-content: center;
}

.quick-price {
    font-weight: 600;
    color: var(--primary-600);
    font-size: 0.8rem;
}

.pricing-mini {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.price-main {
    font-weight: 600;
    color: var(--primary-600);
    font-size: 0.9rem;
}

.pricing-badge {
    font-size: 0.6rem;
    padding: 1px 4px;
    border-radius: 3px;
    font-weight: 500;
    background: var(--gray-100);
    color: var(--gray-600);
    border: 1px solid var(--gray-200);
}

.hotel-rating {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.stars {
    color: #fbbf24;
    font-size: 1.125rem;
}

.rating-number {
    font-weight: 600;
    color: var(--luxury-navy);
    font-size: 1rem;
}



.value-score {
    background: var(--success-100);
    color: var(--success-700);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-lg);
    font-size: 0.875rem;
    font-weight: 600;
}

.hotel-description {
    color: var(--gray-700);
    margin-bottom: var(--space-6);
    line-height: 1.7;
    font-size: var(--text-base);
    overflow-wrap: break-word;
    word-wrap: break-word;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    display: block !important;
    -webkit-line-clamp: none !important;
    line-clamp: none !important;
    -webkit-box-orient: initial !important;
    padding: var(--space-5);
    background: linear-gradient(135deg, rgba(248, 250, 252, 0.9) 0%, rgba(255, 255, 255, 0.8) 100%);
    border-radius: var(--radius-xl);
    border-left: 5px solid var(--luxury-gold);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    position: relative;
    font-weight: 400;
}

.hotel-description::before {
    content: '"';
    position: absolute;
    top: var(--space-3);
    left: var(--space-4);
    font-size: 2rem;
    color: var(--luxury-gold);
    font-family: var(--font-serif);
    opacity: 0.6;
    line-height: 1;
}

.hotel-description p {
    margin: 0;
    text-indent: var(--space-6);
}

.amenities-section {
    margin-bottom: var(--space-6);
    padding: var(--space-4);
    background: linear-gradient(135deg, rgba(248, 250, 252, 0.5) 0%, rgba(255, 255, 255, 0.3) 100%);
    border-radius: var(--radius-xl);
    border: 1px solid rgba(212, 175, 55, 0.1);
}

.amenities-title {
    font-weight: 700;
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--text-lg);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.amenities-title i {
    color: var(--luxury-gold);
    font-size: 1.2rem;
    filter: drop-shadow(0 1px 2px rgba(212, 175, 55, 0.3));
}

.amenities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-2);
}

.amenity-tag {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(6, 182, 212, 0.05) 100%);
    color: var(--gray-700);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-lg);
    font-size: var(--text-sm);
    font-weight: 500;
    border: 1px solid rgba(16, 185, 129, 0.1);
    transition: all 0.2s ease;
}

.amenity-tag:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(6, 182, 212, 0.1) 100%);
}

.amenity-tag i {
    color: var(--luxury-gold);
    font-size: 0.8rem;
}

.more-amenities {
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.1) 0%, rgba(255, 193, 7, 0.05) 100%);
    border: 1px solid rgba(212, 175, 55, 0.2);
    color: var(--luxury-gold);
    font-weight: 600;
}

.hotel-actions {
    margin-top: var(--space-5);
    padding-top: var(--space-4);
    border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.hotel-cta-button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-6);
    background: linear-gradient(135deg, var(--luxury-gold) 0%, #b8860b 100%);
    color: white;
    text-decoration: none;
    font-weight: 600;
    font-size: var(--text-base);
    border-radius: var(--radius-lg);
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
    position: relative;
    overflow: hidden;
}

.hotel-cta-button::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 ease;
}

.hotel-cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.4);
}

.hotel-cta-button:hover::before {
    left: 100%;
}

/* Error Overlay */
.error-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.error-content {
    background: var(--white);
    border-radius: var(--radius-2xl);
    padding: var(--space-10);
    text-align: center;
    max-width: 400px;
    margin: var(--space-6);
    box-shadow: var(--shadow-2xl);
}

.error-icon i {
    font-size: 3rem;
    color: #ef4444;
    margin-bottom: var(--space-4);
}

.error-content h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: var(--space-2);
}

.error-content p {
    color: var(--gray-600);
    margin-bottom: var(--space-6);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .hero-container {
        grid-template-columns: 1fr;
        text-align: center;
        gap: var(--space-12);
    }
    
    .results-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: var(--space-6);
    }
}

@media (max-width: 768px) {
    .nav-links {
        display: none;
    }
    
    .hero {
        padding: 6rem var(--space-4) var(--space-20);
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-stats {
        justify-content: center;
        gap: var(--space-6);
    }
    
    /* Business Professionals Photo Mobile */
    .business-professionals-photo,
    .business-professionals-photo-large {
        max-width: 100%;
        margin: var(--space-6) 0 0;
    }
    
    .business-professionals-photo-large {
        max-width: 90%;
        margin: var(--space-4) auto 0;
    }
    
    /* Write Off Message Mobile */
    .write-off-message {
        margin-top: var(--space-4);
        max-width: 95%;
        padding: 0 var(--space-4);
    }
    
    .write-off-text {
        font-size: 2rem;
        letter-spacing: 0.5px;
    }
    
    .write-off-accent {
        font-size: 0.8rem;
        padding: var(--space-2) var(--space-4);
        flex-direction: column;
        gap: var(--space-1);
        text-align: center;
    }
    
    .write-off-accent i {
        font-size: 1rem;
    }
    
    /* City Description Mobile */
    .city-description,
    .city-description-wide {
        margin-top: var(--space-3);
    }
    
    .description-header {
        padding: var(--space-3);
    }
    
    .description-icon {
        width: 32px;
        height: 32px;
        font-size: 1rem;
    }
    
    .description-title {
        font-size: 1rem;
    }
    
    .tier-badge {
        font-size: 0.65rem;
        padding: 1px 6px;
    }
    
    .description-content,
    .city-description-wide .description-content {
        padding: var(--space-4);
    }
    
    .description-text,
    .city-description-wide .description-text {
        font-size: 0.85rem;
        line-height: 1.5;
        text-align: left;
    }
    
    .description-highlights,
    .city-description-wide .description-highlights {
        flex-direction: column;
        gap: var(--space-2);
        justify-content: flex-start;
    }
    
    .highlight-item,
    .city-description-wide .highlight-item {
        font-size: 0.75rem;
        padding: var(--space-2);
        min-width: auto;
        max-width: none;
        text-align: left;
        flex: none;
    }
    
    .search-section {
        padding: var(--space-16) var(--space-4);
    }
    
    .search-card {
        padding: var(--space-6);
    }
    
    .form-grid {
        grid-template-columns: 1fr;
    }
    
    .search-tabs {
        flex-direction: column;
    }
    
    .events-grid {
        grid-template-columns: 1fr;
    }
    
    .hotel-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-4);
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 2rem;
    }
    
    .search-header h2 {
        font-size: 2rem;
    }
    
    .results-title h2 {
        font-size: 2rem;
    }
}

/* Enhanced Venue Information */
.venue-detail {
    flex-direction: column;
    align-items: flex-start !important;
    gap: var(--space-2);
}

.venue-info {
    margin-left: var(--space-4);
}

.venue-name {
    font-weight: 600;
    color: var(--gray-800);
    font-size: 0.875rem;
}

.venue-address {
    color: var(--gray-500);
    font-size: 0.75rem;
    margin-top: var(--space-1);
}

/* Nearby Hotels Section */
.nearby-hotels-section {
    margin-top: var(--space-5);
    padding-top: var(--space-4);
    border-top: 1px solid var(--gray-200);
}

.nearby-hotels-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-3);
}

.nearby-hotels-header h5 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--gray-800);
    margin: 0;
}

.proximity-badge {
    background: var(--success-100);
    color: var(--success-700);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-lg);
    font-size: 0.75rem;
    font-weight: 500;
}

.nearby-hotels-list {
    display: grid;
    gap: var(--space-3);
}

.nearby-hotel-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-3);
    background: var(--gray-50);
    border-radius: var(--radius-lg);
    border: 1px solid var(--gray-200);
    transition: all 0.2s ease;
}

.nearby-hotel-item:hover {
    background: var(--white);
    box-shadow: var(--shadow-sm);
}

.hotel-summary {
    flex: 1;
}

.hotel-name-small {
    font-weight: 600;
    color: var(--gray-800);
    font-size: 0.875rem;
    margin-bottom: var(--space-1);
}

.hotel-quick-stats {
    display: flex;
    gap: var(--space-3);
}

.quick-rating,
.quick-price,
.quick-value {
    font-size: 0.75rem;
    color: var(--gray-600);
}

.quick-rating {
    color: var(--warning-600);
}

.quick-price {
    color: var(--primary-600);
    font-weight: 600;
}

.quick-value {
    background: var(--success-100);
    color: var(--success-700);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-weight: 500;
}

.hotel-quick-book {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background: linear-gradient(135deg, #4285f4 0%, #34a853 100%);
    color: white;
    text-decoration: none;
    border-radius: var(--radius-lg);
    font-size: 0.75rem;
    font-weight: 600;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.hotel-quick-book:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
    color: white;
}

/* Autocomplete Destination Search */
.location-autocomplete {
    position: relative;
}

.autocomplete-container {
    position: relative;
    width: 100%;
}

.autocomplete-input {
    width: 100%;
    padding: var(--space-3) var(--space-10) var(--space-3) var(--space-4);
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-lg);
    font-size: 0.9rem;
    color: var(--gray-800);
    background: var(--white);
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.autocomplete-input:focus {
    outline: none;
    border-color: var(--primary-500);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.autocomplete-input::placeholder {
    color: var(--gray-400);
    font-style: italic;
}

.autocomplete-icon {
    position: absolute;
    right: var(--space-3);
    top: 50%;
    transform: translateY(-50%);
    color: var(--gray-400);
    font-size: 0.9rem;
    pointer-events: none;
}

.autocomplete-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    z-index: 1000;
    max-height: 300px;
    overflow-y: auto;
    margin-top: var(--space-1);
}

.autocomplete-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    cursor: pointer;
    border-bottom: 1px solid var(--gray-100);
    transition: all 0.15s ease;
}

.autocomplete-item:last-child {
    border-bottom: none;
}

.autocomplete-item:hover {
    background: var(--gray-50);
    color: var(--primary-600);
}

.autocomplete-item:active {
    background: var(--primary-50);
}

.destination-country {
    font-size: 1.1rem;
    flex-shrink: 0;
    width: 24px;
    text-align: center;
}

.destination-name {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--gray-700);
    flex: 1;
}

.autocomplete-item:hover .destination-name {
    color: var(--primary-700);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .autocomplete-input {
        font-size: 16px; /* Prevents zoom on iOS */
    }
    
    .autocomplete-dropdown {
        max-height: 250px;
    }
    
    .autocomplete-item {
        padding: var(--space-4);
    }
    
    .destination-name {
        font-size: 0.95rem;
    }
}

/* Loading state for autocomplete */
.autocomplete-container.loading .autocomplete-icon::before {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid var(--gray-300);
    border-top: 2px solid var(--primary-500);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.autocomplete-container.loading .autocomplete-icon {
    font-size: 0;
}

@keyframes spin {
    0% { transform: translateY(-50%) rotate(0deg); }
    100% { transform: translateY(-50%) rotate(360deg); }
}

/* Enhanced Event Card Styles */
.event-description {
    margin: var(--space-4) 0;
    padding: var(--space-3);
    background: var(--gray-50);
    border-radius: var(--radius-md);
    border-left: 3px solid var(--primary-500);
}

.event-description p {
    color: var(--gray-700);
    line-height: 1.6;
    margin: 0;
}

.venue-section {
    margin: var(--space-4) 0;
    padding: var(--space-3);
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
}

.venue-header {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    color: var(--primary-600);
    font-weight: 600;
}

.venue-header h5 {
    margin: 0;
    font-size: 0.9rem;
}

.venue-info-detailed .venue-name {
    font-weight: 600;
    color: var(--gray-800);
    margin-bottom: var(--space-2);
}

.venue-contact {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.venue-address-full {
    color: var(--gray-600);
    font-size: 0.85rem;
}

.venue-phone,
.venue-website {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 0.85rem;
    color: var(--gray-600);
}

.venue-website a {
    color: var(--primary-600);
    text-decoration: none;
}

.venue-website a:hover {
    text-decoration: underline;
}

.business-justification {
    margin: var(--space-4) 0;
    padding: var(--space-3);
    background: var(--success-50);
    border: 1px solid var(--success-200);
    border-radius: var(--radius-md);
}

.justification-header {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    color: var(--success-700);
    font-weight: 600;
}

.justification-header h5 {
    margin: 0;
    font-size: 0.9rem;
}

.business-justification p {
    color: var(--success-800);
    line-height: 1.6;
    margin: 0;
}

.cpe-credits {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-3);
    padding: var(--space-2);
    background: var(--success-100);
    border-radius: var(--radius-sm);
    font-size: 0.85rem;
    color: var(--success-800);
    font-weight: 500;
}

.event-agenda {
    margin: var(--space-4) 0;
    padding: var(--space-3);
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
}

.agenda-header {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    color: var(--primary-600);
    font-weight: 600;
}

.agenda-header h5 {
    margin: 0;
    font-size: 0.9rem;
}

.agenda-items {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.agenda-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2);
    background: var(--gray-50);
    border-radius: var(--radius-sm);
}

.agenda-time {
    font-weight: 600;
    color: var(--primary-600);
    min-width: 70px;
    font-size: 0.85rem;
}

.agenda-activity {
    color: var(--gray-700);
    font-size: 0.85rem;
    flex: 1;
}

.event-extras {
    margin: var(--space-4) 0;
    padding: var(--space-3);
    background: var(--gray-50);
    border-radius: var(--radius-md);
}

.extras-header {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    color: var(--gray-700);
    font-weight: 600;
}

.extras-header h5 {
    margin: 0;
    font-size: 0.9rem;
}

.extras-grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.extra-item {
    font-size: 0.85rem;
    color: var(--gray-600);
}

.extra-item strong {
    color: var(--gray-800);
}

.event-contact {
    margin: var(--space-4) 0;
    padding: var(--space-3);
    background: var(--primary-50);
    border: 1px solid var(--primary-200);
    border-radius: var(--radius-md);
}

.contact-header {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    color: var(--primary-700);
    font-weight: 600;
}

.contact-header h5 {
    margin: 0;
    font-size: 0.9rem;
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.contact-organizer {
    font-weight: 600;
    color: var(--primary-800);
}

.contact-email {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 0.85rem;
}

.contact-email a {
    color: var(--primary-600);
    text-decoration: none;
}

.contact-email a:hover {
    text-decoration: underline;
}

.event-id {
    font-size: 0.8rem;
    color: var(--gray-600);
    font-family: monospace;
}

.registration-link {
    margin-top: var(--space-2);
}

.register-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background: var(--primary-600);
    color: var(--white);
    text-decoration: none;
    border-radius: var(--radius-md);
    font-size: 0.85rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.register-btn:hover {
    background: var(--primary-700);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

/* Responsive adjustments for enhanced event cards */
@media (max-width: 768px) {
    .agenda-item {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-1);
    }
    
    .agenda-time {
        min-width: auto;
    }
    
    .extras-grid {
        gap: var(--space-3);
    }
    
    .venue-contact,
    .contact-details {
        gap: var(--space-3);
    }
}

/* Make event cards more spacious with detailed information */
.event-card {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
}

.event-card h4.event-name {
    margin-bottom: var(--space-3);
    font-size: 1.1rem;
}

/* ========================================
   EVENT LOGOS
======================================== */

.event-logo-section {
    position: relative;
    width: 100%;
    height: 80px;
    background: linear-gradient(135deg, var(--gray-50) 0%, var(--white) 100%);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3);
    border-bottom: 1px solid var(--gray-200);
}

.event-logo {
    max-width: 120px;
    max-height: 60px;
    object-fit: contain;
    border-radius: var(--radius-sm);
    transition: transform 0.2s ease;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.event-card:hover .event-logo {
    transform: scale(1.05);
}

/* Logo Badge */
.logo-badge {
    position: absolute;
    top: var(--space-2);
    right: var(--space-2);
}

.authentic-logo-badge {
    background: linear-gradient(135deg, var(--success-500), var(--success-600));
    color: white;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-full);
    font-size: 0.7rem;
    font-weight: 600;
    box-shadow: var(--shadow-sm);
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.platform-logo-badge {
    background: var(--primary-500);
    color: white;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-full);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: capitalize;
    box-shadow: var(--shadow-sm);
}

/* Platform-specific badge colors */
.platform-logo-badge {
    background: var(--gray-600);
}

.event-logo-section:has([alt*="eventbrite"]) .platform-logo-badge,
.event-logo-section:has([src*="eventbrite"]) .platform-logo-badge {
    background: #ff8800;
}

.event-logo-section:has([alt*="meetup"]) .platform-logo-badge,
.event-logo-section:has([src*="meetup"]) .platform-logo-badge {
    background: #ed1c40;
}

.event-logo-section:has([alt*="linkedin"]) .platform-logo-badge,
.event-logo-section:has([src*="linkedin"]) .platform-logo-badge {
    background: #0077b5;
}

.event-logo-section:has([alt*="zoom"]) .platform-logo-badge,
.event-logo-section:has([src*="zoom"]) .platform-logo-badge {
    background: #2d8cff;
}

.event-logo-section:has([alt*="teams"]) .platform-logo-badge,
.event-logo-section:has([src*="teams"]) .platform-logo-badge {
    background: #6264a7;
}

/* Hotel Platform Badges */
.hotel-platform-badge {
    display: inline-block;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-full);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: capitalize;
    color: white;
    margin-left: var(--space-2);
}

.hotel-platform-badge.expedia {
    background: #FFC72C;
    color: #003580;
}

.hotel-platform-badge.virtuoso {
    background: linear-gradient(135deg, #8B4513, #A0522D);
    color: #F5F5DC;
    border: 1px solid #DAA520;
    box-shadow: 0 2px 4px rgba(139, 69, 19, 0.3);
}

.hotel-platform-badge.virtuoso::before {
    content: "👑 ";
    margin-right: 2px;
}

.hotel-platform-badge.booking {
    background: #003580;
}

.hotel-platform-badge.four_seasons,
.hotel-platform-badge.fourseasons {
    background: linear-gradient(135deg, #1a1a1a, #2c2c2c);
    color: #FFD700;
    border: 2px solid #FFD700;
    font-weight: 700;
    text-transform: none;
    box-shadow: 0 4px 8px rgba(26, 26, 26, 0.4);
}

.hotel-platform-badge.four_seasons::before,
.hotel-platform-badge.fourseasons::before {
    content: "🏨 ";
    margin-right: 3px;
}

.hotel-platform-badge.luxury-network {
    background: linear-gradient(135deg, #FFD700, #FFA500);
    color: #8B4513;
    font-weight: 700;
    border: 1px solid #DAA520;
}

.ultra-luxury-badge {
    background: linear-gradient(135deg, #1a1a1a, #4a4a4a);
    color: #FFD700;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-full);
    font-size: 0.7rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    border: 2px solid #FFD700;
    box-shadow: 0 3px 6px rgba(26, 26, 26, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ultra-luxury-badge::before {
    content: "👑";
    margin-right: 2px;
}

.brand-tier-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-full);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: capitalize;
}

.brand-tier-badge.ultra_luxury {
    background: linear-gradient(135deg, #2C1810, #4A2C1A);
    color: #FFD700;
    border: 1px solid #8B4513;
}

.brand-tier-badge.ultra_luxury::before {
    content: "⭐";
}

.curated-badge {
    background: linear-gradient(135deg, #4CAF50, #45a049);
    color: white;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-full);
    font-size: 0.7rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    box-shadow: var(--shadow-sm);
}

.verified-luxury-badge {
    background: linear-gradient(135deg, #9370DB, #8A2BE2);
    color: white;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-full);
    font-size: 0.7rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    box-shadow: var(--shadow-sm);
}

.verified-luxury-badge::before {
    content: "💎";
}

.hotel-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: var(--space-2) 0;
    align-items: center;
}

.hotel-badges .hotel-platform-badge,
.hotel-badges .verified-luxury-badge {
    margin: 0;
}

/* Logo Fallback States */
.event-logo[style*="display: none"] + .logo-badge {
    position: static;
    margin-top: var(--space-2);
}

/* Organization Logo Styling */
.event-logo-section:has([src*="clearbit"]) {
    background: linear-gradient(135deg, var(--primary-50) 0%, var(--white) 100%);
}

.event-logo-section:has([src*="unsplash"]) {
    background: linear-gradient(135deg, var(--gray-100) 0%, var(--gray-50) 100%);
}

/* ========================================
   EVENT SUMMARY (COMPACT VIEW)
======================================== */

.event-summary {
    margin: var(--space-4) 0;
    padding: var(--space-3);
    background: var(--gray-50);
    border-radius: var(--radius-md);
    border: 1px solid var(--gray-200);
}

.summary-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-2);
}

.summary-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 0.875rem;
    color: var(--gray-600);
    background: var(--white);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    border: 1px solid var(--gray-200);
}

.summary-item i {
    color: var(--primary-500);
    width: 14px;
    text-align: center;
}

.price-summary {
    background: var(--success-50);
    border-color: var(--success-200);
}

.price-free {
    color: var(--success-600);
    font-weight: 600;
}

.price-paid {
    color: var(--success-700);
    font-weight: 600;
}

.venue-summary {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 0.875rem;
    color: var(--gray-700);
    font-weight: 500;
}

.venue-summary i {
    color: var(--primary-500);
}

/* ========================================
   TOGGLE BUTTON
======================================== */

.toggle-section {
    display: flex;
    justify-content: center;
    margin: var(--space-4) 0;
    padding-top: var(--space-3);
    border-top: 1px solid var(--gray-200);
}

.toggle-btn {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background: var(--white);
    border: 2px solid var(--primary-200);
    border-radius: var(--radius-lg);
    color: var(--primary-600);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.toggle-btn:hover {
    background: var(--primary-50);
    border-color: var(--primary-300);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

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

.toggle-btn i {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

/* ========================================
   EXPANDED CONTENT
======================================== */

.expanded-content {
    animation: expandContent 0.3s ease-out;
    border-top: 2px solid var(--primary-100);
    margin-top: var(--space-4);
    padding-top: var(--space-4);
}

@keyframes expandContent {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ========================================
   RESPONSIVE ADJUSTMENTS FOR COMPACT VIEW
======================================== */

@media (max-width: 768px) {
    .summary-row {
        flex-direction: column;
        gap: var(--space-2);
    }
    
    .summary-item {
        font-size: 0.8rem;
        padding: var(--space-1) var(--space-2);
    }
    
    .toggle-btn {
        font-size: 0.8rem;
        padding: var(--space-2) var(--space-3);
    }
}

@media (max-width: 480px) {
    .event-summary {
        padding: var(--space-2);
    }
    
    .summary-item {
        font-size: 0.75rem;
        padding: var(--space-1);
    }
    
    .venue-summary {
        font-size: 0.8rem;
    }
    
    /* Event Logo Mobile Adjustments */
    .event-logo-section {
        height: 60px;
        padding: var(--space-2);
    }
    
    .event-logo {
        max-width: 100px;
        max-height: 40px;
    }
    
    .logo-badge {
        top: var(--space-1);
        right: var(--space-1);
    }
    
    .authentic-logo-badge,
    .platform-logo-badge {
        font-size: 0.6rem;
        padding: 2px var(--space-1);
    }
}

@media (max-width: 768px) {
    .event-logo-section {
        height: 70px;
    }
    
    .event-logo {
        max-width: 110px;
        max-height: 50px;
    }
    
    .authentic-logo-badge,
    .platform-logo-badge {
        font-size: 0.65rem;
    }
}

/* ========================================
   HOTEL IMAGES SECTION
======================================== */

/* Main Hotel Image Section */
.hotel-image-section {
    position: relative;
    width: 100%;
    height: 250px;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    background: #f5f5f5;
}

.hotel-primary-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.hotel-card:hover .hotel-primary-image {
    transform: scale(1.05);
}

/* Image Overlay with Authenticity Badges */
.image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.1) 0%,
        transparent 30%,
        transparent 70%,
        rgba(0, 0, 0, 0.3) 100%
    );
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 12px;
}

.google-images-badge,
.authentic-badge,
.fallback-badge,
.stock-badge {
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 4px 8px;
    border-radius: 16px;
    font-size: 12px;
    font-weight: 500;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.google-images-badge {
    background: rgba(66, 133, 244, 0.95);
    color: white;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 8px rgba(66, 133, 244, 0.3);
}

.authentic-badge {
    background: rgba(34, 197, 94, 0.9);
    color: white;
}

.fallback-badge {
    background: rgba(255, 152, 0, 0.9);
    color: white;
}

.stock-badge {
    background: rgba(59, 130, 246, 0.9);
    color: white;
}

.image-count {
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 4px 8px;
    border-radius: 16px;
    font-size: 11px;
    font-weight: 500;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    align-self: flex-end;
}

/* Hotel Content Adjustments */
.hotel-content {
    padding: 20px;
    flex: 1;
}

.hotel-card {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    background: white;
}

.hotel-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* ========================================
   NEARBY HOTEL IMAGES
======================================== */

.nearby-hotel-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.8);
    margin-bottom: 8px;
    transition: all 0.2s ease;
}

.nearby-hotel-item:hover {
    background: rgba(241, 245, 249, 1);
    transform: translateX(4px);
}

.nearby-hotel-image {
    position: relative;
    flex-shrink: 0;
    width: 60px;
    height: 45px;
    border-radius: 6px;
    overflow: hidden;
    background: #f1f1f1;
}

.nearby-hotel-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s ease;
}

.nearby-hotel-item:hover .nearby-hotel-thumb {
    transform: scale(1.1);
}

.nearby-image-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    background: rgba(34, 197, 94, 0.9);
    color: white;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    backdrop-filter: blur(2px);
}

/* Hotel Summary Adjustments for Images */
.hotel-summary {
    flex: 1;
    min-width: 0; /* Prevents flex overflow */
}

.hotel-name-small {
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hotel-quick-stats {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.quick-rating {
    font-size: 12px;
    color: #f59e0b;
    font-weight: 500;
}

.quick-pricing {
    font-size: 12px;
    font-weight: 600;
    color: #059669;
}

.quick-value {
    font-size: 11px;
    color: #6b7280;
    font-weight: 500;
}

.hotel-quick-book {
    background: #3b82f6;
    color: white;
    padding: 6px 10px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.hotel-quick-book:hover {
    background: #2563eb;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}

/* ========================================
   RESPONSIVE IMAGE ADJUSTMENTS
======================================== */

@media (max-width: 768px) {
    .hotel-image-section {
        height: 200px;
    }
    
    .image-overlay {
        padding: 8px;
    }
    
    .authentic-badge,
    .stock-badge,
    .image-count {
        font-size: 10px;
        padding: 3px 6px;
    }
    
    .nearby-hotel-image {
        width: 50px;
        height: 38px;
    }
    
    .nearby-hotel-item {
        gap: 8px;
        padding: 8px;
    }
}

@media (max-width: 480px) {
    .hotel-image-section {
        height: 180px;
    }
    
    .hotel-content {
        padding: 16px;
    }
    
    .nearby-hotel-image {
        width: 45px;
        height: 34px;
    }
    
    .authentic-badge,
    .stock-badge {
        font-size: 9px;
        padding: 2px 5px;
    }
    
    .image-count {
        font-size: 8px;
        padding: 2px 4px;
    }
}

/* Luxury City Image Styling */
.city-image {
    width: 100%;
    max-width: 400px;
    margin: var(--space-6) auto;
    border-radius: var(--radius-3xl);
    overflow: hidden;
    box-shadow: var(--shadow-elegant);
    background: var(--luxury-pearl);
    border: 2px solid rgba(212, 175, 55, 0.2);
    position: relative;
}

.city-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--gradient-luxury);
    z-index: 1;
}

.city-photo {
    width: 100%;
    height: 250px;
    display: block;
    object-fit: cover;
    border-radius: var(--radius-3xl);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.city-image:hover .city-photo {
    transform: scale(1.05);
}

/* ===============================================
   LUXURY FEATURES SECTION
   =============================================== */

/* Luxury Features Section */
.luxury-features-section {
    background: var(--luxury-pearl);
    padding: var(--space-32) 0;
    position: relative;
    overflow: hidden;
}

.luxury-features-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 80%, rgba(212, 175, 55, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(27, 41, 81, 0.02) 0%, transparent 50%);
    pointer-events: none;
}

.features-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-8);
    position: relative;
    z-index: 1;
}

.luxury-features-header {
    text-align: center;
    margin-bottom: var(--space-20);
}

.luxury-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: var(--space-10);
    margin-top: var(--space-16);
}

/* Luxury Feature Cards */
.luxury-feature-card {
    background: var(--luxury-white);
    border-radius: var(--radius-4xl);
    padding: var(--space-12);
    box-shadow: var(--shadow-elegant);
    border: 2px solid rgba(212, 175, 55, 0.1);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.luxury-feature-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.luxury-feature-card:hover::before {
    transform: scaleX(1);
}

.luxury-feature-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-premium);
    border-color: var(--luxury-gold);
}

/* Feature Icon */
.feature-icon {
    width: 80px;
    height: 80px;
    background: var(--gradient-luxury);
    border-radius: var(--radius-3xl);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-8);
    position: relative;
    overflow: hidden;
}

.feature-icon::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.2) 50%, transparent 70%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
}

.luxury-feature-card:hover .feature-icon::before {
    transform: translateX(100%);
}

.feature-icon i {
    font-size: var(--text-3xl);
    color: var(--luxury-white);
    z-index: 1;
    position: relative;
}

/* Feature Content */
.feature-content h3 {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
    line-height: 1.3;
}

.feature-content p {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: 1.7;
    color: var(--luxury-charcoal);
    opacity: 0.9;
    margin-bottom: var(--space-6);
}

/* Feature Highlights */
.feature-highlights {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.feature-tag {
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.3);
    color: var(--luxury-gold);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-2xl);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: 0.025em;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.luxury-feature-card:hover .feature-tag {
    background: rgba(212, 175, 55, 0.15);
    border-color: var(--luxury-gold);
    transform: translateY(-1px);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .luxury-features-grid {
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        gap: var(--space-8);
    }
}

@media (max-width: 768px) {
    .luxury-features-section {
        padding: var(--space-24) 0;
    }
    
    .luxury-features-grid {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }
    
    .luxury-feature-card {
        padding: var(--space-8);
    }
    
    .feature-icon {
        width: 60px;
        height: 60px;
        margin-bottom: var(--space-6);
    }
    
    .feature-icon i {
        font-size: var(--text-2xl);
    }
    
    .feature-content h3 {
        font-size: var(--text-xl);
    }
    
    .feature-content p {
        font-size: var(--text-sm);
    }
}

/* ===============================================
   LUXURY FOUR SEASONS-INSPIRED STYLES
   =============================================== */

/* Ultra-Luxury Hero Section */
.luxury-hero {
    position: relative;
    min-height: 100vh;
    background: var(--gradient-hero);
    display: flex;
    align-items: center;
    padding: var(--space-32) 0 var(--space-20);
    overflow: hidden;
}

.luxury-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23C9A96E' fill-opacity='0.03'%3E%3Cpath d='M30 30c0-3.314 2.686-6 6-6s6 2.686 6 6-2.686 6-6 6-6-2.686-6-6zm0-30c0-3.314 2.686-6 6-6s6 2.686 6 6-2.686 6-6 6-6-2.686-6-6zm30 0c0-3.314 2.686-6 6-6s6 2.686 6 6-2.686 6-6 6-6-2.686-6-6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
    opacity: 0.6;
    z-index: 1;
}

.hero-background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--gradient-overlay);
    z-index: 1;
}

.luxury-hero .hero-container {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-8);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-20);
    align-items: center;
}

.luxury-hero .hero-content {
    padding-right: var(--space-8);
}

.luxury-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    background: rgba(212, 175, 55, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(212, 175, 55, 0.3);
    color: var(--luxury-gold);
    padding: var(--space-3) var(--space-6);
    border-radius: var(--radius-3xl);
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: var(--text-sm);
    letter-spacing: 0.05em;
    margin-bottom: var(--space-8);
    text-transform: uppercase;
}

.luxury-hero-title {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.05;
    margin-bottom: var(--space-8);
    color: var(--luxury-white);
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.luxury-hero-title .title-line-1,
.luxury-hero-title .title-line-2 {
    display: block;
    font-size: var(--text-7xl);
    margin-bottom: var(--space-3);
    letter-spacing: -0.02em;
}

.luxury-hero-title .luxury-accent {
    display: block;
    font-size: var(--text-6xl);
    background: var(--gradient-luxury);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-style: italic;
    font-weight: 500;
    letter-spacing: -0.01em;
}

.luxury-hero-subtitle {
    font-family: var(--font-sans);
    font-size: var(--text-2xl);
    font-weight: 300;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: var(--space-12);
    letter-spacing: 0.01em;
    max-width: 600px;
}

.luxury-cta-section {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    margin-bottom: var(--space-16);
}

.luxury-guarantee {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--luxury-gold);
    font-weight: 500;
    font-size: var(--text-sm);
    letter-spacing: 0.025em;
}

.luxury-guarantee i {
    font-size: var(--text-lg);
}

.luxury-stats {
    display: flex;
    gap: var(--space-12);
}

.luxury-stat {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.luxury-stat .stat-icon {
    width: 60px;
    height: 60px;
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: var(--radius-2xl);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-gold);
    font-size: var(--text-xl);
}

.luxury-stat .stat-content {
    color: var(--luxury-white);
}

.luxury-stat .stat-number {
    font-family: var(--font-serif);
    font-size: var(--text-3xl);
    font-weight: 600;
    line-height: 1;
    margin-bottom: var(--space-1);
}

.luxury-stat .stat-label {
    font-size: var(--text-sm);
    opacity: 0.8;
    font-weight: 400;
}

/* Hero Imagery */
.hero-imagery {
    position: relative;
}

.luxury-hero-image {
    position: relative;
    border-radius: var(--radius-4xl);
    overflow: hidden;
    box-shadow: var(--shadow-premium);
}

.hero-main-image {
    width: 100%;
    height: 600px;
    object-fit: cover;
    display: block;
}

.image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.3) 100%);
    display: flex;
    align-items: flex-end;
    padding: var(--space-8);
}

.luxury-highlight {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    color: var(--luxury-navy);
    padding: var(--space-4) var(--space-6);
    border-radius: var(--radius-2xl);
    font-weight: 600;
    font-size: var(--text-base);
}

.luxury-highlight i {
    color: var(--luxury-gold);
    font-size: var(--text-lg);
}



/* Luxury Search Section */
.luxury-search-section {
    background: var(--luxury-pearl);
    padding: var(--space-32) 0;
    position: relative;
}

.luxury-search-header {
    text-align: center;
    margin-bottom: var(--space-20);
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    background: var(--luxury-white);
    border: 1px solid var(--luxury-gold);
    color: var(--luxury-navy);
    padding: var(--space-2) var(--space-5);
    border-radius: var(--radius-3xl);
    font-weight: 500;
    font-size: var(--text-sm);
    letter-spacing: 0.05em;
    margin-bottom: var(--space-6);
    text-transform: uppercase;
}

.section-badge i {
    color: var(--luxury-gold);
}

.luxury-section-title {
    font-family: var(--font-serif);
    font-size: var(--text-5xl);
    font-weight: 600;
    line-height: 1.2;
    color: var(--luxury-navy);
    margin-bottom: var(--space-6);
}

.luxury-section-subtitle {
    font-size: var(--text-xl);
    font-weight: 400;
    line-height: 1.7;
    color: var(--luxury-charcoal);
    opacity: 0.8;
}

/* Luxury Search Card - Redesigned */
.luxury-search-card {
    background: var(--luxury-white);
    border-radius: var(--radius-4xl);
    padding: var(--space-16);
    box-shadow: var(--shadow-premium);
    border: 1px solid rgba(212, 175, 55, 0.15);
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(20px);
}

.luxury-search-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: var(--gradient-luxury);
}

/* Search Card Header */
.search-card-header {
    text-align: center;
    margin-bottom: var(--space-16);
    padding-bottom: var(--space-8);
    border-bottom: 1px solid rgba(212, 175, 55, 0.1);
}

.search-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    background: linear-gradient(135deg, var(--luxury-gold-light), var(--luxury-champagne));
    border: 1px solid var(--luxury-gold);
    color: var(--luxury-navy);
    padding: var(--space-3) var(--space-6);
    border-radius: var(--radius-3xl);
    font-weight: 600;
    font-size: var(--text-sm);
    letter-spacing: 0.05em;
    margin-bottom: var(--space-6);
    text-transform: uppercase;
}

.search-badge i {
    color: var(--luxury-gold);
    font-size: var(--text-lg);
}

.search-card-title {
    font-family: var(--font-serif);
    font-size: var(--text-3xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
    line-height: 1.3;
}

.search-card-subtitle {
    font-size: var(--text-lg);
    color: var(--luxury-charcoal);
    opacity: 0.8;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

/* Primary Search Grid */
.primary-search-grid {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: var(--space-10);
    margin-bottom: var(--space-16);
    align-items: start;
}

/* Destination Selector */
.destination-selector,
.travelers-selector {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

/* Dates Container */
.dates-container {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: var(--space-6);
    align-items: end;
}

.date-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.date-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-gold);
    font-size: var(--text-lg);
    margin-top: var(--space-6);
    opacity: 0.7;
}

/* Luxury Form Elements */
.luxury-label {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-family: var(--font-sans);
    font-weight: 600;
    color: var(--luxury-navy);
    font-size: var(--text-base);
    letter-spacing: 0.025em;
}

.luxury-label i {
    color: var(--luxury-gold);
    width: 20px;
    font-size: var(--text-lg);
}

.select-wrapper,
.date-input-wrapper {
    position: relative;
}

.luxury-select,
.luxury-date-input {
    width: 100%;
    padding: var(--space-5) var(--space-6);
    border: 2px solid rgba(212, 175, 55, 0.2);
    border-radius: var(--radius-2xl);
    background: var(--luxury-white);
    font-family: var(--font-sans);
    font-size: var(--text-base);
    font-weight: 500;
    color: var(--luxury-navy);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    appearance: none;
    cursor: pointer;
}

.luxury-select:focus,
.luxury-date-input:focus {
    outline: none;
    border-color: var(--luxury-gold);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.1);
    transform: translateY(-1px);
}

.luxury-select:hover,
.luxury-date-input:hover {
    border-color: var(--luxury-gold-light);
    transform: translateY(-1px);
}

.select-icon {
    position: absolute;
    right: var(--space-5);
    top: 50%;
    transform: translateY(-50%);
    color: var(--luxury-gold);
    pointer-events: none;
    font-size: var(--text-sm);
}

/* Advanced Section */
.luxury-advanced-section {
    margin-bottom: var(--space-16);
}

.advanced-header {
    margin-bottom: var(--space-8);
}

.luxury-advanced-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-5) var(--space-6);
    background: var(--luxury-pearl);
    border: 2px solid rgba(212, 175, 55, 0.15);
    border-radius: var(--radius-2xl);
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: var(--text-base);
    color: var(--luxury-navy);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.luxury-advanced-toggle:hover {
    background: var(--luxury-champagne);
    border-color: var(--luxury-gold-light);
    transform: translateY(-1px);
}

.toggle-content {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.toggle-content i {
    color: var(--luxury-gold);
}

.toggle-arrow {
    color: var(--luxury-gold);
    transition: transform 0.3s ease;
}

/* Filters Panel */
.luxury-filters-panel {
    background: var(--luxury-ivory);
    border: 1px solid rgba(212, 175, 55, 0.15);
    border-radius: var(--radius-2xl);
    padding: var(--space-10);
    margin-top: var(--space-6);
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.filters-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-8);
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

/* Search Action Section */
.search-action-section {
    text-align: center;
}

.luxury-search-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    padding: var(--space-6) var(--space-12);
    background: var(--gradient-luxury);
    border: none;
    border-radius: var(--radius-3xl);
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: var(--text-lg);
    color: var(--luxury-white);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-elegant);
    overflow: hidden;
    margin-bottom: var(--space-8);
    min-width: 320px;
}

.luxury-search-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: var(--shadow-luxury);
}

.luxury-search-btn:active:not(:disabled) {
    transform: translateY(0);
}

.luxury-search-btn:disabled {
    opacity: 0.8;
    cursor: not-allowed;
}

.btn-content {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    z-index: 2;
    position: relative;
}

.btn-text {
    font-weight: 600;
    letter-spacing: 0.025em;
}

.btn-accent {
    position: absolute;
    right: var(--space-6);
    top: 50%;
    transform: translateY(-50%);
    color: var(--luxury-white);
    opacity: 0.8;
    transition: all 0.3s ease;
}

.luxury-search-btn:hover .btn-accent {
    transform: translateY(-50%) translateX(4px);
    opacity: 1;
}

/* Search Guarantee */
.search-guarantee {
    display: inline-flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4) var(--space-6);
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: var(--radius-2xl);
}

.guarantee-content {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.guarantee-content i {
    color: var(--luxury-gold);
    font-size: var(--text-lg);
}

.guarantee-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    text-align: left;
}

.guarantee-title {
    font-weight: 600;
    color: var(--luxury-navy);
    font-size: var(--text-sm);
}

.guarantee-subtitle {
    font-size: var(--text-xs);
    color: var(--luxury-charcoal);
    opacity: 0.8;
}

/* Enhanced Navigation */
.navbar {
    background: rgba(250, 249, 246, 0.97);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}

.nav-container {
    max-width: 1400px;
    height: 90px;
    padding: 0 var(--space-8);
}

.nav-brand {
    color: var(--luxury-navy);
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: 600;
}

.nav-brand i {
    color: var(--luxury-gold);
    font-size: var(--text-2xl);
}

.brand-badge {
    background: var(--luxury-gold);
    color: var(--luxury-white);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-lg);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.05em;
}

.nav-link {
    color: var(--luxury-charcoal);
    font-weight: 500;
    font-size: var(--text-base);
    transition: all 0.3s ease;
}

.nav-link:hover {
    color: var(--luxury-gold);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .luxury-hero .hero-container {
        grid-template-columns: 1fr;
        gap: var(--space-12);
        text-align: center;
    }
    
    .luxury-hero-title .title-line-1,
    .luxury-hero-title .title-line-2 {
        font-size: var(--text-5xl);
    }
    
    .luxury-hero-title .luxury-accent {
        font-size: var(--text-4xl);
    }
    
    .luxury-stats {
        justify-content: center;
        flex-wrap: wrap;
        gap: var(--space-8);
    }
}

@media (max-width: 768px) {
    .luxury-hero {
        padding: var(--space-20) 0 var(--space-16);
    }
    
    .luxury-hero .hero-container {
        padding: 0 var(--space-6);
    }
    
    .luxury-hero-title .title-line-1,
    .luxury-hero-title .title-line-2 {
        font-size: var(--text-4xl);
    }
    
    .luxury-hero-title .luxury-accent {
        font-size: var(--text-3xl);
    }
    
    .luxury-hero-subtitle {
        font-size: var(--text-lg);
    }
    
    .luxury-cta-section {
        flex-direction: column;
        gap: var(--space-6);
        align-items: center;
    }
    
    .luxury-stats {
        flex-direction: column;
        gap: var(--space-6);
    }
    
    .hero-main-image {
        height: 400px;
    }
    
    .nav-container {
        height: 80px;
        padding: 0 var(--space-6);
    }
    
    .nav-brand {
        font-size: var(--text-xl);
    }
    
    .nav-links {
        gap: var(--space-4);
    }
    
    .btn-luxury {
        padding: var(--space-4) var(--space-8);
        font-size: var(--text-base);
    }
}

/* Subscription Prompt Section */
.subscription-prompt {
    background: linear-gradient(135deg, var(--luxury-cream) 0%, var(--luxury-pearl) 50%, var(--luxury-ivory) 100%);
    border-top: 3px solid var(--luxury-gold);
    border-bottom: 3px solid var(--luxury-gold);
    padding: var(--space-16) 0;
    margin: var(--space-12) 0;
    position: relative;
    overflow: hidden;
}

.subscription-prompt::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="crown" patternUnits="userSpaceOnUse" width="20" height="20"><text x="10" y="15" text-anchor="middle" fill="%23D4AF37" opacity="0.03" font-size="12">♔</text></pattern></defs><rect width="100" height="100" fill="url(%23crown)"/></svg>');
    pointer-events: none;
}

.subscription-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-6);
    position: relative;
    z-index: 1;
}

.subscription-content {
    text-align: center;
}

.subscription-header {
    margin-bottom: var(--space-12);
}

.crown-icon-large {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--gradient-luxury);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--space-6);
    box-shadow: 0 8px 32px rgba(212, 175, 55, 0.3);
    animation: crownGlow 3s ease-in-out infinite alternate;
}

.crown-icon-large i {
    color: white;
    font-size: var(--text-4xl);
}

@keyframes crownGlow {
    0% { box-shadow: 0 8px 32px rgba(212, 175, 55, 0.3); }
    100% { box-shadow: 0 12px 48px rgba(212, 175, 55, 0.5); }
}

.subscription-title {
    font-family: 'Playfair Display', serif;
    font-size: var(--text-4xl);
    font-weight: 700;
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
    line-height: 1.2;
}

.subscription-subtitle {
    font-size: var(--text-xl);
    color: var(--luxury-charcoal);
    margin-bottom: var(--space-8);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.subscription-features {
    margin: var(--space-12) 0;
}

.feature-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-8);
    max-width: 900px;
    margin: 0 auto;
}

.feature-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    text-align: left;
    background: rgba(255, 255, 255, 0.6);
    padding: var(--space-6);
    border-radius: var(--border-radius-lg);
    border: 2px solid rgba(212, 175, 55, 0.1);
    transition: all 0.3s ease;
}

.feature-item:hover {
    transform: translateY(-4px);
    border-color: rgba(212, 175, 55, 0.3);
    box-shadow: 0 8px 32px rgba(212, 175, 55, 0.15);
}

.feature-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--gradient-luxury);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.feature-icon i {
    color: white;
    font-size: var(--text-lg);
}

.feature-content h4 {
    font-family: 'Playfair Display', serif;
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--luxury-navy);
    margin: 0 0 var(--space-2) 0;
}

.feature-content p {
    color: var(--luxury-charcoal);
    font-size: var(--text-sm);
    line-height: 1.5;
    margin: 0;
}

.subscription-pricing {
    margin: var(--space-12) 0;
}

.pricing-card {
    background: white;
    border: 3px solid var(--luxury-gold);
    border-radius: var(--border-radius-xl);
    padding: var(--space-8);
    max-width: 400px;
    margin: 0 auto;
    box-shadow: 0 16px 64px rgba(212, 175, 55, 0.2);
    position: relative;
    overflow: hidden;
}

.pricing-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
}

.pricing-header h3 {
    font-family: 'Playfair Display', serif;
    font-size: var(--text-xl);
    color: var(--luxury-navy);
    margin: 0 0 var(--space-4) 0;
}

.price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: var(--space-1);
    margin-bottom: var(--space-4);
}

.currency {
    font-size: var(--text-xl);
    color: var(--luxury-gold);
    font-weight: 600;
}

.amount {
    font-family: 'Playfair Display', serif;
    font-size: var(--text-5xl);
    font-weight: 700;
    color: var(--luxury-navy);
}

.period {
    font-size: var(--text-lg);
    color: var(--luxury-charcoal);
    font-weight: 500;
}

.trial-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    color: var(--luxury-gold-dark);
    font-weight: 500;
    font-size: var(--text-sm);
}

.subscription-actions {
    margin: var(--space-8) 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    align-items: center;
}

.btn-subscription-primary {
    background: var(--gradient-luxury);
    color: white;
    border: none;
    padding: var(--space-4) var(--space-8);
    border-radius: var(--border-radius-lg);
    font-size: var(--text-lg);
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    transition: all 0.3s ease;
    box-shadow: 0 4px 16px rgba(212, 175, 55, 0.3);
    min-width: 200px;
    justify-content: center;
}

.btn-subscription-primary:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(212, 175, 55, 0.4);
}

.btn-subscription-primary:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

.btn-subscription-secondary {
    background: transparent;
    color: var(--luxury-navy);
    border: 2px solid var(--luxury-gold);
    padding: var(--space-3) var(--space-6);
    border-radius: var(--border-radius-lg);
    font-size: var(--text-base);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-subscription-secondary:hover {
    background: var(--luxury-gold);
    color: white;
    transform: translateY(-1px);
}

.subscription-trust {
    margin-top: var(--space-8);
}

.trust-indicators {
    display: flex;
    justify-content: center;
    gap: var(--space-8);
    flex-wrap: wrap;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--luxury-charcoal);
    font-size: var(--text-sm);
    font-weight: 500;
}

.trust-item i {
    color: var(--luxury-gold);
    font-size: var(--text-base);
}

/* Responsive Design for Subscription Prompt */
@media (max-width: 768px) {
    .subscription-prompt {
        padding: var(--space-12) 0;
    }
    
    .subscription-title {
        font-size: var(--text-3xl);
    }
    
    .subscription-subtitle {
        font-size: var(--text-lg);
        padding: 0 var(--space-4);
    }
    
    .feature-list {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }
    
    .feature-item {
        padding: var(--space-4);
    }
    
    .crown-icon-large {
        width: 60px;
        height: 60px;
    }
    
    .crown-icon-large i {
        font-size: var(--text-3xl);
    }
    
    .trust-indicators {
        flex-direction: column;
        gap: var(--space-4);
    }
} 
/* Profile Onboarding Styles */
.profile-onboarding-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
}

.onboarding-content {
    background: white;
    border-radius: 16px;
    padding: 40px;
    max-width: 600px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.onboarding-header {
    text-align: center;
    margin-bottom: 32px;
}

.onboarding-icon {
    color: #1B2951;
    margin-bottom: 16px;
}

.onboarding-header h2 {
    font-family: "Playfair Display", serif;
    color: #1B2951;
    margin-bottom: 12px;
    font-size: 2rem;
}

.onboarding-header p {
    color: #666;
    line-height: 1.6;
}

.onboarding-form {
    margin-bottom: 24px;
}

.form-group {
    margin-bottom: 24px;
}

.form-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #1B2951;
}

.optional {
    color: #888;
    font-weight: 400;
    font-size: 0.9em;
}

.form-input, .form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e1e1;
    border-radius: 8px;
    font-size: 16px;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.form-input:focus, .form-textarea:focus {
    outline: none;
    border-color: #D4AF37;
}

.form-group small {
    color: #666;
    font-size: 0.9em;
    margin-top: 4px;
    display: block;
}

.onboarding-actions {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: 32px;
}

.btn-primary, .btn-secondary {
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    flex: 1;
    border: none;
}

.btn-primary {
    background: #D4AF37;
    color: white;
}

.btn-primary:hover:not(:disabled) {
    background: #B8941F;
}

.btn-primary:disabled {
    background: #ccc;
    cursor: not-allowed;
}

.btn-secondary {
    background: white;
    color: #1B2951;
    border: 2px solid #e1e1e1;
}

.btn-secondary:hover {
    border-color: #D4AF37;
}

.privacy-note {
    text-align: center;
    margin-top: 24px;
    padding: 16px;
    background: #f8f9fa;
    border-radius: 8px;
}

.profile-summary {
    margin-bottom: 24px;
}

.summary-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: #f8f9fa;
    border-radius: 8px;
    margin-bottom: 12px;
}

.summary-item strong {
    color: #1B2951;
    display: block;
    margin-bottom: 4px;
}

.ai-features {
    background: #f0f8ff;
    padding: 20px;
    border-radius: 8px;
    margin-top: 24px;
}

.ai-features h4 {
    color: #1B2951;
    margin-bottom: 12px;
}

.ai-features ul {
    list-style: none;
    padding: 0;
}

.ai-features li {
    margin-bottom: 8px;
    color: #555;
}

/* Journey steps styling */
.journey-steps {
    margin-top: 16px;
    padding: 12px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.step-text {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 500;
}

.step-arrow {
    opacity: 0.6;
    font-size: 12px;
}

.journey-steps i {
    color: var(--luxury-gold);
    font-size: 16px;
}

/* Search guidance styling */
.search-guidance {
    margin-top: 20px;
    padding: 16px 20px;
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 12px;
    backdrop-filter: blur(10px);
}

.guidance-text {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--luxury-navy);
    font-size: 14px;
    margin: 0;
    font-weight: 500;
}

.guidance-text i {
    color: var(--luxury-gold);
    font-size: 16px;
}

.guidance-text strong {
    color: var(--luxury-gold);
}

/* Auth progress styling */
.auth-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 20px 0;
    padding: 16px;
    background: rgba(212, 175, 55, 0.1);
    border-radius: 12px;
}

.progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    opacity: 0.4;
    transition: opacity 0.3s ease;
}

.progress-step.active {
    opacity: 1;
}

.step-number {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--luxury-gold);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
}

.progress-step span {
    font-size: 12px;
    font-weight: 500;
    color: var(--luxury-navy);
}

.progress-line {
    width: 24px;
    height: 2px;
    background: rgba(212, 175, 55, 0.3);
    margin: 0 4px;
}

.progress-step.active .step-number {
    background: var(--luxury-gold);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
}

/* Results guidance styling */
.results-guidance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 24px 0;
    padding: 20px;
    background: rgba(212, 175, 55, 0.1);
    border-radius: 16px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(212, 175, 55, 0.2);
}

.guidance-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    flex: 1;
    max-width: 180px;
}

.guidance-step .step-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--gradient-luxury);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
}

.guidance-step span {
    font-size: 14px;
    font-weight: 500;
    color: var(--luxury-navy);
    line-height: 1.4;
}

.results-guidance .step-arrow {
    color: var(--luxury-gold);
    font-size: 20px;
    font-weight: bold;
    opacity: 0.7;
}

@media (max-width: 768px) {
    .results-guidance {
        flex-direction: column;
        gap: 20px;
    }
    
    .results-guidance .step-arrow {
        transform: rotate(90deg);
    }
}

/* ===============================================
   EXPLORE EVENTS PAGE STYLES
   =============================================== */

/* Loading Screen */
.loading-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--luxury-pearl);
}

.loading-content {
    text-align: center;
    padding: 40px;
}

.loading-spinner {
    width: 60px;
    height: 60px;
    border: 4px solid rgba(212, 175, 55, 0.2);
    border-top: 4px solid var(--luxury-gold);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 24px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-content h2 {
    font-family: var(--font-serif);
    color: var(--luxury-navy);
    margin-bottom: 12px;
    font-size: var(--text-2xl);
}

.loading-content p {
    color: var(--luxury-charcoal);
    opacity: 0.8;
}

/* Explore Page Layout */
.explore-page {
    min-height: 100vh;
    background: var(--luxury-pearl);
    padding-top: 90px; /* Account for navbar */
}

.explore-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-6);
}

/* Header Section */
.explore-header {
    padding: var(--space-12) 0;
    background: var(--luxury-white);
    border-radius: var(--radius-4xl);
    margin-bottom: var(--space-8);
    box-shadow: var(--shadow-elegant);
}

.header-content {
    padding: 0 var(--space-8);
}

.welcome-back h1 {
    font-family: var(--font-serif);
    font-size: var(--text-4xl);
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
    font-weight: 600;
}

.welcome-back .subtitle {
    font-size: var(--text-xl);
    color: var(--luxury-charcoal);
    opacity: 0.8;
    line-height: 1.6;
    margin-bottom: var(--space-6);
}

.profile-summary {
    margin-top: var(--space-6);
}

.profile-tags {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.profile-tag {
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-2xl);
    font-size: var(--text-sm);
    font-weight: 600;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.industry-tag {
    background: rgba(59, 130, 246, 0.1);
    color: #3B82F6;
    border-color: rgba(59, 130, 246, 0.2);
}

.role-tag {
    background: rgba(212, 175, 55, 0.1);
    color: var(--luxury-gold);
    border-color: rgba(212, 175, 55, 0.2);
}

.stage-tag {
    background: rgba(16, 185, 129, 0.1);
    color: #10B981;
    border-color: rgba(16, 185, 129, 0.2);
}

/* Search Interface (Airbnb-style) */
.search-interface {
    background: var(--luxury-white);
    border-radius: var(--radius-4xl);
    padding: var(--space-10);
    margin-bottom: var(--space-8);
    box-shadow: var(--shadow-elegant);
    border: 1px solid rgba(212, 175, 55, 0.1);
}

.search-header {
    text-align: center;
    margin-bottom: var(--space-8);
}

.search-header h3 {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    color: var(--luxury-navy);
    margin-bottom: var(--space-2);
}

.search-header p {
    color: var(--luxury-charcoal);
    opacity: 0.8;
}

.search-filters {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--space-6);
    align-items: end;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.filter-group label {
    font-weight: 600;
    color: var(--luxury-navy);
    font-size: var(--text-sm);
}

.search-input-wrapper {
    position: relative;
}

.search-input-wrapper i {
    position: absolute;
    left: var(--space-4);
    top: 50%;
    transform: translateY(-50%);
    color: var(--luxury-gold);
    font-size: var(--text-base);
}

.search-input {
    width: 100%;
    padding: var(--space-4) var(--space-4) var(--space-4) var(--space-12);
    border: 2px solid rgba(212, 175, 55, 0.2);
    border-radius: var(--radius-2xl);
    font-size: var(--text-base);
    font-family: var(--font-sans);
    transition: all 0.3s ease;
}

.search-input:focus {
    outline: none;
    border-color: var(--luxury-gold);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.1);
}

.filter-select {
    width: 100%;
    padding: var(--space-4) var(--space-6);
    border: 2px solid rgba(212, 175, 55, 0.2);
    border-radius: var(--radius-2xl);
    background: var(--luxury-white);
    font-size: var(--text-base);
    font-family: var(--font-sans);
    cursor: pointer;
    transition: all 0.3s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23D4AF37' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 16px;
    padding-right: 40px;
}

.filter-select:focus {
    outline: none;
    border-color: var(--luxury-gold);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.1);
}

/* Events Section */
.events-section {
    margin-bottom: var(--space-16);
}

.events-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-8);
    padding: 0 var(--space-2);
}

.events-header h2 {
    font-family: var(--font-serif);
    font-size: var(--text-3xl);
    color: var(--luxury-navy);
    font-weight: 600;
}

.personalization-note {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--luxury-gold);
    font-weight: 500;
    font-size: var(--text-sm);
}

.personalization-note i {
    font-size: var(--text-base);
}

/* Events Grid */
.events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: var(--space-8);
}

/* Event Card */
.event-card {
    background: var(--luxury-white);
    border-radius: var(--radius-4xl);
    padding: var(--space-8);
    box-shadow: var(--shadow-elegant);
    border: 1px solid rgba(212, 175, 55, 0.1);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.event-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-luxury);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

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

.event-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-premium);
    border-color: var(--luxury-gold);
}

.event-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-6);
}

.event-type-badge {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-2xl);
    color: white;
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: capitalize;
}

.event-type-badge i {
    font-size: var(--text-sm);
}

.relevance-badge {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    background: rgba(212, 175, 55, 0.1);
    color: var(--luxury-gold);
    border-radius: var(--radius-xl);
    font-size: var(--text-xs);
    font-weight: 600;
    border: 1px solid rgba(212, 175, 55, 0.3);
}

.relevance-badge i {
    font-size: var(--text-xs);
}

.real-event-badge {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    background: rgba(16, 185, 129, 0.1);
    color: #10B981;
    border-radius: var(--radius-xl);
    font-size: var(--text-xs);
    font-weight: 600;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.real-event-badge i {
    font-size: var(--text-xs);
}

.event-content {
    margin-bottom: var(--space-6);
}

.event-name {
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--luxury-navy);
    margin-bottom: var(--space-3);
    line-height: 1.3;
}

.event-organizer {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--luxury-charcoal);
    font-size: var(--text-sm);
    font-weight: 500;
    margin-bottom: var(--space-4);
}

.event-organizer i {
    color: var(--luxury-gold);
    font-size: var(--text-sm);
}

.event-description {
    color: var(--luxury-charcoal);
    line-height: 1.6;
    margin-bottom: var(--space-6);
    opacity: 0.9;
}

.event-details {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.event-detail {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--text-sm);
    color: var(--luxury-charcoal);
}

.event-detail i {
    width: 16px;
    color: var(--luxury-gold);
    font-size: var(--text-sm);
}

.event-actions {
    display: flex;
    gap: var(--space-3);
    margin-top: var(--space-6);
}

.btn-event-primary {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-6);
    background: var(--gradient-luxury);
    color: white;
    text-decoration: none;
    border-radius: var(--radius-2xl);
    font-weight: 600;
    font-size: var(--text-sm);
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
}

.btn-event-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
    text-decoration: none;
    color: white;
}

.btn-event-secondary {
    padding: var(--space-4);
    background: rgba(212, 175, 55, 0.1);
    color: var(--luxury-gold);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: var(--radius-2xl);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
}

.btn-event-secondary:hover {
    background: rgba(212, 175, 55, 0.2);
    border-color: var(--luxury-gold);
    transform: translateY(-1px);
}

/* No Results */
.no-results {
    text-align: center;
    padding: var(--space-20) var(--space-8);
    background: var(--luxury-white);
    border-radius: var(--radius-4xl);
    margin: var(--space-8) 0;
}

.no-results-icon {
    width: 80px;
    height: 80px;
    background: rgba(212, 175, 55, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--space-6);
}

.no-results-icon i {
    font-size: var(--text-3xl);
    color: var(--luxury-gold);
}

.no-results h3 {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    color: var(--luxury-navy);
    margin-bottom: var(--space-4);
}

.no-results p {
    color: var(--luxury-charcoal);
    opacity: 0.8;
    margin-bottom: var(--space-8);
}

.btn-clear-filters {
    padding: var(--space-4) var(--space-8);
    background: var(--gradient-luxury);
    color: white;
    border: none;
    border-radius: var(--radius-2xl);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-clear-filters:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .search-filters {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-4);
    }
    
    .events-grid {
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
        gap: var(--space-6);
    }
}

@media (max-width: 768px) {
    .explore-container {
        padding: 0 var(--space-4);
    }
    
    .search-filters {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    
    .events-grid {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }
    
    .welcome-back h1 {
        font-size: var(--text-3xl);
    }
    
    .events-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-4);
    }
    
    .event-actions {
        flex-direction: column;
    }
    
    .btn-event-secondary {
        min-width: auto;
        width: 100%;
    }
}

/* =====================================================
   FOOTER STYLES
   ===================================================== */

.luxury-footer {
    background: linear-gradient(135deg, #2c3e50 0%, #1a252f 100%);
    color: white;
    margin-top: 4rem;
    padding: 3rem 0 1rem;
    border-top: 3px solid var(--luxury-gold);
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.footer-content {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 3rem;
    margin-bottom: 2rem;
}

.footer-brand {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.5rem;
    font-weight: 700;
}

.footer-logo i {
    color: var(--luxury-gold);
    font-size: 1.8rem;
}

.footer-tagline {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
    max-width: 300px;
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.footer-section h4 {
    color: var(--luxury-gold);
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.footer-link {
    display: block;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    margin-bottom: 0.75rem;
    transition: all 0.3s ease;
    font-size: 0.95rem;
}

.footer-link:hover {
    color: var(--luxury-gold);
    transform: translateX(4px);
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 2rem;
    text-align: center;
}

.footer-bottom p {
    margin: 0.5rem 0;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
}

.footer-disclaimer {
    font-size: 0.8rem !important;
    max-width: 600px;
    margin: 1rem auto 0;
    line-height: 1.4;
    background: rgba(255, 255, 255, 0.05);
    padding: 1rem;
    border-radius: 6px;
    border-left: 3px solid #e74c3c;
}

.footer-disclaimer strong {
    color: #e74c3c;
}

/* Footer Responsive Design */
@media (max-width: 768px) {
    .luxury-footer {
        padding: 2rem 0 1rem;
    }
    
    .footer-container {
        padding: 0 1rem;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        gap: 2rem;
        text-align: center;
    }
    
    .footer-links {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .footer-tagline {
        max-width: none;
    }
    
    .footer-disclaimer {
        text-align: left;
        margin: 1rem 0 0;
    }
}

/* ========================================
   PROFILE PAGE STYLES
   ======================================== */

.profile-container {
    min-height: 100vh;
    background: linear-gradient(135deg, var(--luxury-cream) 0%, #FAFAFA 100%);
    padding: var(--space-6) var(--space-4);
}

.profile-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: var(--luxury-cream);
    color: var(--luxury-navy);
}

.loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(212, 175, 55, 0.3);
    border-top: 3px solid var(--luxury-gold);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: var(--space-4);
}

.profile-header {
    max-width: 1200px;
    margin: 0 auto var(--space-8);
    background: white;
    border-radius: 16px;
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.profile-hero {
    display: flex;
    align-items: center;
    gap: var(--space-6);
    padding: var(--space-8);
    background: linear-gradient(135deg, var(--luxury-navy) 0%, #1a365d 100%);
    color: white;
}

.profile-avatar {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--luxury-gold) 0%, #FFD700 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-navy);
    box-shadow: 0 4px 16px rgba(212, 175, 55, 0.3);
}

.profile-info {
    flex: 1;
}

.profile-info h1 {
    font-family: "Playfair Display", serif;
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0 0 var(--space-3);
    color: white;
}

.profile-badges {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.upgrade-prompt {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.free-member {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
}

.upgrade-link {
    background: var(--luxury-gold);
    color: var(--luxury-navy);
    padding: var(--space-2) var(--space-4);
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.85rem;
    transition: all 0.3s ease;
}

.upgrade-link:hover {
    background: #FFD700;
    transform: translateY(-1px);
}

.profile-actions {
    display: flex;
    gap: var(--space-3);
}

.profile-tabs {
    display: flex;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.tab {
    flex: 1;
    padding: var(--space-4) var(--space-6);
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    border-bottom: 3px solid transparent;
}

.tab:hover {
    color: white;
    background: rgba(255, 255, 255, 0.05);
}

.tab.active {
    color: white;
    border-bottom-color: var(--luxury-gold);
    background: rgba(255, 255, 255, 0.1);
}

.profile-content {
    max-width: 1200px;
    margin: 0 auto;
}

/* Overview Section */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-6);
    margin-bottom: var(--space-8);
}

.stat-card {
    background: white;
    padding: var(--space-6);
    border-radius: 12px;
    box-shadow: var(--shadow-soft);
    display: flex;
    align-items: center;
    gap: var(--space-4);
    transition: transform 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-2px);
}

.stat-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, var(--luxury-gold) 0%, #FFD700 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-navy);
}

.stat-info h3 {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--luxury-navy);
    margin: 0;
}

.stat-info p {
    color: var(--text-secondary);
    margin: 0;
    font-size: 0.9rem;
}

.profile-details {
    background: white;
    padding: var(--space-8);
    border-radius: 12px;
    box-shadow: var(--shadow-soft);
}

.profile-details h2 {
    font-family: "Playfair Display", serif;
    font-size: 1.5rem;
    color: var(--luxury-navy);
    margin: 0 0 var(--space-6);
}

.preferences-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--space-4);
}

.preference-item {
    padding: var(--space-4);
    background: var(--luxury-cream);
    border-radius: 8px;
    border-left: 4px solid var(--luxury-gold);
}

.preference-item strong {
    color: var(--luxury-navy);
}

/* Trips Section */
.trips-section {
    background: white;
    padding: var(--space-8);
    border-radius: 12px;
    box-shadow: var(--shadow-soft);
}

.section-header {
    text-align: center;
    margin-bottom: var(--space-8);
}

.section-header h2 {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    color: var(--luxury-navy);
    margin: 0 0 var(--space-2);
}

.section-header p {
    color: var(--text-secondary);
    margin: 0;
}

.empty-state {
    text-align: center;
    padding: var(--space-12) var(--space-4);
}

.empty-icon {
    color: var(--luxury-gold);
    margin-bottom: var(--space-4);
}

.empty-state h3 {
    color: var(--luxury-navy);
    margin: 0 0 var(--space-2);
}

.empty-state p {
    color: var(--text-secondary);
    margin: 0 0 var(--space-6);
}

.trips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--space-6);
}

.trip-card {
    background: white;
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: var(--space-6);
    transition: all 0.3s ease;
}

.trip-card:hover {
    box-shadow: var(--shadow-soft);
    transform: translateY(-2px);
}

.trip-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-4);
}

.trip-location {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    color: var(--luxury-gold);
    font-weight: 500;
}

.remove-trip {
    background: none;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: var(--space-1);
    border-radius: 4px;
    transition: all 0.3s ease;
}

.remove-trip:hover {
    color: #e53e3e;
    background: rgba(229, 62, 62, 0.1);
}

.trip-hotel h4 {
    color: var(--luxury-navy);
    margin: 0 0 var(--space-2);
    font-size: 1.1rem;
}

.trip-price {
    display: flex;
    align-items: baseline;
    gap: var(--space-1);
    margin-bottom: var(--space-2);
}

.trip-price .price {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--luxury-gold);
}

.trip-price .price-period {
    color: var(--text-secondary);
    font-size: 0.85rem;
}

.trip-rating {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
}

.trip-rating .stars {
    color: var(--luxury-gold);
}

.trip-rating .rating-text {
    color: var(--text-secondary);
    font-size: 0.85rem;
}

.trip-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-light);
}

.saved-date {
    color: var(--text-secondary);
    font-size: 0.8rem;
}

.view-hotel {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    color: var(--luxury-gold);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 500;
    transition: color 0.3s ease;
}

.view-hotel:hover {
    color: var(--luxury-navy);
}

/* Subscription Section */
.subscription-section {
    background: white;
    padding: var(--space-8);
    border-radius: 12px;
    box-shadow: var(--shadow-soft);
}

.subscription-card {
    background: linear-gradient(135deg, var(--luxury-cream) 0%, #FAFAFA 100%);
    border: 2px solid var(--luxury-gold);
    border-radius: 12px;
    padding: var(--space-8);
    margin-bottom: var(--space-8);
}

.subscription-status {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.status-info h3 {
    color: var(--luxury-navy);
    margin: 0 0 var(--space-1);
}

.status-info p {
    color: var(--text-secondary);
    margin: 0;
}

.subscription-details {
    background: white;
    border-radius: 8px;
    padding: var(--space-4);
    margin-bottom: var(--space-6);
}

.detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-2) 0;
}

.detail-row:not(:last-child) {
    border-bottom: 1px solid var(--border-light);
}

.status.active {
    color: #38a169;
    font-weight: 600;
}

.status.trialing {
    color: var(--luxury-gold);
    font-weight: 600;
}

.subscription-actions {
    text-align: center;
}

.pro-features {
    background: var(--luxury-cream);
    border-radius: 12px;
    padding: var(--space-6);
}

.pro-features h3 {
    color: var(--luxury-navy);
    margin: 0 0 var(--space-4);
    font-family: "Playfair Display", serif;
}

.features-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-3);
}

.feature-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--luxury-navy);
}

.feature-item svg {
    color: var(--luxury-gold);
}

/* Upgrade Section */
.upgrade-card {
    text-align: center;
    background: linear-gradient(135deg, var(--luxury-cream) 0%, #FAFAFA 100%);
    border: 2px dashed var(--luxury-gold);
    border-radius: 12px;
    padding: var(--space-10);
}

.upgrade-icon {
    color: var(--luxury-gold);
    margin-bottom: var(--space-4);
}

.upgrade-card h3 {
    color: var(--luxury-navy);
    margin: 0 0 var(--space-3);
    font-family: "Playfair Display", serif;
    font-size: 1.75rem;
}

.upgrade-card p {
    color: var(--text-secondary);
    margin: 0 0 var(--space-6);
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.upgrade-benefits {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-8);
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--luxury-navy);
    font-size: 0.9rem;
}

.benefit-item svg {
    color: var(--luxury-gold);
}

/* Save Trip Button */
.hotel-title-section {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-2);
}

.save-trip-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--space-2);
    border-radius: 8px;
    transition: all 0.3s ease;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.save-trip-btn:hover {
    background: rgba(212, 175, 55, 0.1);
    color: var(--luxury-gold);
    transform: scale(1.05);
}

.save-trip-btn .heart-filled {
    color: #e53e3e;
}

.save-trip-btn .heart-outline {
    color: var(--text-secondary);
}

.save-trip-btn:hover .heart-outline {
    color: #e53e3e;
}

/* Responsive Design */
@media (max-width: 768px) {
    .profile-hero {
        flex-direction: column;
        text-align: center;
        gap: var(--space-4);
    }
    
    .profile-info h1 {
        font-size: 2rem;
    }
    
    .profile-tabs {
        flex-direction: column;
    }
    
    .tab {
        text-align: center;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
    }
    
    .trips-grid {
        grid-template-columns: 1fr;
    }
    
    .preferences-grid {
        grid-template-columns: 1fr;
    }
    
    .features-list {
        grid-template-columns: 1fr;
    }
    
    .upgrade-benefits {
        grid-template-columns: 1fr;
    }
}
