/* Voyage Layout - Warm, Cinematic, Inviting */ :root { /* Default Theme - Navy & Gold */ --primary-blue: #001f3f; --warm-orange: #b48b4e; --warm-amber: #9d7943; --warm-yellow: #c9a56f; --soft-cream: #f0f4f8; --text-dark: #0a1628; --text-light: #4a5568; --white: #ffffff; --bg-light: #ffffff; --border: #cbd5e0; /* Gradients */ --gradient-warm: linear-gradient(135deg, #b48b4e 0%, #c9a56f 100%); --gradient-sunset: linear-gradient(135deg, #9d7943 0%, #b48b4e 50%, #c9a56f 100%); --gradient-ocean: linear-gradient(135deg, #001f3f 0%, #003366 100%); /* Spacing */ --space-xs: 0.5rem; --space-sm: 1rem; --space-md: 2rem; --space-lg: 3rem; --space-xl: 4rem; --space-2xl: 6rem; /* Typography */ --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; --font-display: 'Playfair Display', serif; /* Transitions */ --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); --transition-slow: all 0.6s cubic-bezier(0.4, 0, 0.2, 1); } /* Coastal Dawn Theme - Soft, serene, golden accents */ body.theme-coastal-dawn { --primary-blue: #A9B4C2; --warm-orange: #D4AF37; --warm-amber: #C9A961; --warm-yellow: #E6D088; --soft-cream: #F8F7F4; --text-dark: #333745; --text-light: #6B7280; --white: #FFFFFF; --bg-light: #F8F7F4; --border: #E5E7EB; --gradient-warm: linear-gradient(135deg, #D4AF37 0%, #E6D088 100%); --gradient-sunset: linear-gradient(135deg, #C9A961 0%, #D4AF37 50%, #E6D088 100%); --gradient-ocean: linear-gradient(135deg, #A9B4C2 0%, #C5D3E0 100%); } /* Deep Sea Theme - Dark, modern, electric blue accents */ body.theme-deep-sea { --primary-blue: #1E2022; --warm-orange: #00BFFF; --warm-amber: #1E90FF; --warm-yellow: #4169E1; --soft-cream: #2A2D30; --text-dark: #E5E4E2; --text-light: #C0C0C0; --white: #1E2022; --bg-light: #2A2D30; --border: #3A3D40; --gradient-warm: linear-gradient(135deg, #00BFFF 0%, #4169E1 100%); --gradient-sunset: linear-gradient(135deg, #1E90FF 0%, #00BFFF 50%, #4169E1 100%); --gradient-ocean: linear-gradient(135deg, #1E2022 0%, #2A2D30 100%); } /* Monaco White Theme - Clean, minimalist, red accents */ body.theme-monaco-white { --primary-blue: #2C3E50; --warm-orange: #E74C3C; --warm-amber: #E67E22; --warm-yellow: #F39C12; --soft-cream: #F8F9FA; --text-dark: #2C3E50; --text-light: #7F8C8D; --white: #FFFFFF; --bg-light: #F8F9FA; --border: #ECF0F1; --gradient-warm: linear-gradient(135deg, #E74C3C 0%, #F39C12 100%); --gradient-sunset: linear-gradient(135deg, #E67E22 0%, #E74C3C 50%, #F39C12 100%); --gradient-ocean: linear-gradient(135deg, #2C3E50 0%, #34495E 100%); } * { margin: 0; padding: 0; box-sizing: border-box; } /* Global image fix to ensure images display */ img { max-width: 100%; height: auto; display: block; } /* Lucide Icons Styling */ [data-lucide] { width: 24px; height: 24px; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; fill: none; vertical-align: middle; } .btn-icon { width: 20px; height: 20px; display: inline-block; margin-right: 8px; } .spec-icon { width: 20px; height: 20px; display: inline-block; margin-right: 8px; color: var(--warm-orange); } .feature-icon i { width: 32px; height: 32px; color: var(--warm-orange); } .booking-icon i { width: 48px; height: 48px; color: var(--warm-orange); margin-bottom: 1rem; } .footer-icon { width: 16px; height: 16px; display: inline-block; margin-right: 8px; vertical-align: text-bottom; } .social-links a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, 0.1); transition: var(--transition); } .social-links a:hover { background: var(--warm-orange); } .social-links a i { width: 20px; height: 20px; color: white !important; stroke: white !important; } .social-links a svg { stroke: white !important; color: white !important; } /* Star rating icons */ .stars-icons { display: inline-flex; gap: 2px; } .star-filled { width: 16px; height: 16px; fill: var(--warm-yellow); stroke: var(--warm-yellow); } body { font-family: var(--font-sans); color: var(--text-dark); background: var(--bg-light); overflow-x: hidden; line-height: 1.6; transition: background 0.3s ease, color 0.3s ease; } /* Smooth Scrolling */ html { scroll-behavior: smooth; } /* Navigation */ .voyage-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: rgba(255, 255, 255, 0); backdrop-filter: blur(0); transition: var(--transition-slow); padding: var(--space-md) 0; } .voyage-nav.scrolled { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); padding: var(--space-sm) 0; } .nav-container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-md); display: flex; justify-content: space-between; align-items: center; } .nav-brand { display: flex; align-items: center; gap: var(--space-sm); font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; color: var(--white); transition: var(--transition); } .voyage-nav.scrolled .nav-brand { color: var(--primary-blue); } .nav-logo { height: 50px; width: auto; object-fit: contain; } .nav-links { display: flex; gap: var(--space-lg); align-items: center; } .nav-link { color: var(--white); text-decoration: none; font-weight: 500; transition: var(--transition); position: relative; } .voyage-nav.scrolled .nav-link { color: var(--text-dark); } .nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: var(--warm-orange); transition: var(--transition); } .nav-link:hover::after { width: 100%; } .nav-cta { background: var(--gradient-warm); color: var(--white) !important; padding: 0.75rem 1.5rem; border-radius: 50px; transition: var(--transition); } .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(249, 115, 22, 0.3); } /* Theme Switcher */ .theme-switcher { position: relative; margin-left: var(--space-md); } .theme-btn { background: transparent; border: 2px solid rgba(255, 255, 255, 0.3); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: var(--transition); color: var(--white); } .voyage-nav.scrolled .theme-btn { color: var(--primary-blue); border-color: var(--primary-blue); } .theme-btn:hover { background: rgba(255, 255, 255, 0.1); transform: rotate(180deg); } .voyage-nav.scrolled .theme-btn:hover { background: rgba(30, 58, 95, 0.1); } .theme-dropdown { position: absolute; top: 50px; right: 0; background: var(--white); border-radius: 12px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); padding: var(--space-sm); min-width: 200px; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: var(--transition); } .theme-dropdown.active { opacity: 1; visibility: visible; transform: translateY(0); } .theme-option { display: flex; align-items: center; gap: var(--space-sm); width: 100%; padding: 0.75rem; background: transparent; border: none; border-radius: 8px; cursor: pointer; transition: var(--transition); text-align: left; } .theme-option:hover { background: var(--bg-light); } .theme-colors { display: flex; gap: 2px; } .theme-colors span { width: 16px; height: 16px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, 0.1); } /* Hero Section */ .hero-voyage { position: relative; height: 100vh; min-height: 600px; overflow: hidden; } .hero-video-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; } .hero-video { width: 100%; height: 100%; object-fit: cover; } .hero-image-fallback { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; z-index: -1; } .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; } .gradient-warm { background: linear-gradient(to bottom, rgba(0, 31, 63, 0.3) 0%, rgba(0, 31, 63, 0.5) 50%, rgba(0, 31, 63, 0.7) 100%); } .gradient-depth { background: linear-gradient(to right, rgba(220, 20, 60, 0.1) 0%, transparent 100%); } .hero-content { position: relative; z-index: 10; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: var(--space-md); } .trust-badge { display: inline-flex; align-items: center; gap: var(--space-sm); padding: 0.5rem 1.5rem; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 50px; color: var(--white) !important; font-size: 0.875rem; margin-bottom: var(--space-lg); z-index: 10; position: relative; } /* Ensure the trust badge text is white */ .trust-badge > span:last-child { color: var(--white) !important; } /* Make sure the headline is visible */ .hero-headline { display: block !important; visibility: visible !important; } .gradient-text { display: inline-block !important; visibility: visible !important; } /* Make absolutely sure the trust badge text is white and visible */ .trust-badge span:last-child { display: inline !important; color: white !important; visibility: visible !important; } .stars { color: var(--warm-yellow); font-size: 1rem; } .hero-headline { font-family: var(--font-display); font-size: clamp(3rem, 8vw, 6rem); font-weight: 900; line-height: 1.1; margin-bottom: var(--space-md); } .gradient-text { background: linear-gradient(135deg, #ffffff 0%, #f0f4f8 25%, #e2e8f0 50%, #cbd5e0 75%, #94a3b8 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .hero-subtext { font-size: 1.25rem; color: rgba(255, 255, 255, 0.9); max-width: 800px; margin: 0 auto var(--space-lg); font-weight: 300; line-height: 1.8; } .hero-actions { display: flex; gap: var(--space-md); flex-wrap: wrap; justify-content: center; } .btn-primary-warm, .btn-secondary-warm { display: inline-flex; align-items: center; gap: var(--space-xs); padding: 1rem 2rem; font-size: 1.125rem; font-weight: 600; border: none; border-radius: 50px; cursor: pointer; transition: var(--transition); text-decoration: none; } .btn-primary-warm { background: var(--gradient-warm); color: var(--white); box-shadow: 0 10px 30px rgba(180, 139, 78, 0.3); } .btn-primary-warm:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(180, 139, 78, 0.4); } .btn-secondary-warm { background: rgba(255, 255, 255, 0.1); color: var(--white); border: 2px solid rgba(255, 255, 255, 0.3); backdrop-filter: blur(10px); } .btn-secondary-warm:hover { background: rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.5); transform: translateY(-3px); } .btn-icon { font-size: 1.25rem; } /* Scroll Indicator */ .scroll-indicator { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); color: rgba(255, 255, 255, 0.6); font-size: 0.875rem; animation: bounce 2s infinite; } /* Updated scroll arrow styles */ .scroll-arrow { margin-top: 0.5rem; display: flex; justify-content: center; align-items: center; } .scroll-arrow i { width: 32px; height: 32px; color: rgba(255, 255, 255, 0.6); animation: arrow-bounce 1.5s infinite; } @keyframes arrow-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(8px); } } /* Decorations */ .hero-decoration { position: absolute; z-index: 5; } .top-right { top: 5rem; right: 5rem; } .bottom-left { bottom: 8rem; left: 5rem; } .decoration-circle { width: 80px; height: 80px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2rem; backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); animation: float 6s ease-in-out infinite; } .decoration-circle.orange { background: linear-gradient(135deg, rgba(220, 20, 60, 0.2) 0%, rgba(239, 68, 68, 0.2) 100%); } .decoration-circle.blue { background: linear-gradient(135deg, rgba(0, 31, 63, 0.2) 0%, rgba(0, 51, 102, 0.2) 100%); } /* Welcome Section */ .welcome-section { padding: var(--space-2xl) 0; background: linear-gradient(to bottom, var(--white) 0%, var(--bg-light) 100%); } .container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-md); } .welcome-content { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2xl); align-items: center; } .section-title { font-family: var(--font-display); font-size: 3rem; font-weight: 700; margin-bottom: var(--space-md); color: var(--primary-blue); } .section-title.warm { background: var(--gradient-warm); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .lead-text { font-size: 1.25rem; color: var(--text-light); margin-bottom: var(--space-lg); line-height: 1.8; } .feature-list { display: flex; flex-direction: column; gap: var(--space-md); } .feature-item { display: flex; gap: var(--space-md); align-items: flex-start; } .feature-icon { font-size: 2rem; background: var(--gradient-warm); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .feature-item h4 { font-size: 1.25rem; margin-bottom: 0.25rem; color: var(--text-dark); } .feature-item p { color: var(--text-light); } .welcome-image { position: relative; } .rounded-image { width: 100%; border-radius: 20px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1); } .image-badge { position: absolute; bottom: 2rem; right: 2rem; background: var(--gradient-warm); color: var(--white); padding: 1rem 1.5rem; border-radius: 15px; font-weight: 600; display: flex; flex-direction: column; align-items: center; box-shadow: 0 10px 30px rgba(180, 139, 78, 0.3); } /* Fleet Showcase */ .fleet-showcase { padding: var(--space-2xl) 0; background: var(--white); } .section-header { text-align: center; margin-bottom: var(--space-2xl); } .section-subtitle { font-size: 1.25rem; color: var(--text-light); margin-top: var(--space-sm); } .fleet-carousel { position: relative; max-width: 1000px; margin: 0 auto; } .yacht-card { display: none; grid-template-columns: 1fr 1fr; gap: var(--space-lg); align-items: center; background: var(--white); border-radius: 20px; overflow: hidden; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08); } .yacht-card.active { display: grid; animation: fadeIn 0.6s ease; } .yacht-image-container { position: relative; height: 500px; overflow: hidden; } .yacht-image-container img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition-slow); } .yacht-card:hover .yacht-image-container img { transform: scale(1.05); } .yacht-badge { position: absolute; top: 2rem; left: 2rem; padding: 0.5rem 1rem; border-radius: 50px; font-weight: 600; font-size: 0.875rem; backdrop-filter: blur(10px); } .yacht-badge.premium { background: var(--gradient-warm); color: var(--white); } .yacht-badge.adventure { background: var(--gradient-ocean); color: var(--white); } .yacht-details { padding: var(--space-lg); } .yacht-name { font-family: var(--font-display); font-size: 2.5rem; margin-bottom: var(--space-sm); color: var(--primary-blue); } .yacht-description { color: var(--text-light); margin-bottom: var(--space-md); line-height: 1.8; } .yacht-specs { display: flex; flex-direction: column; gap: var(--space-sm); margin-bottom: var(--space-md); } .spec { display: flex; align-items: center; gap: var(--space-sm); } .spec-icon { font-size: 1.25rem; } .yacht-pricing { display: flex; align-items: baseline; gap: var(--space-xs); margin-bottom: var(--space-md); } .price-from { color: var(--text-light); font-size: 0.875rem; } .price-amount { font-size: 2rem; font-weight: 700; color: var(--warm-orange); } .btn-book-yacht { width: 100%; padding: 1rem; background: var(--gradient-warm); color: var(--white); border: none; border-radius: 12px; font-size: 1.125rem; font-weight: 600; cursor: pointer; transition: var(--transition); } .btn-book-yacht:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(180, 139, 78, 0.3); } .fleet-nav { display: flex; justify-content: center; align-items: center; gap: var(--space-md); margin-top: var(--space-lg); } .fleet-prev, .fleet-next { width: 50px; height: 50px; border-radius: 50%; border: 2px solid var(--warm-orange); background: var(--white); color: var(--warm-orange); font-size: 1.5rem; cursor: pointer; transition: var(--transition); } .fleet-prev:hover, .fleet-next:hover { background: var(--gradient-warm); color: var(--white); border-color: transparent; } .fleet-dots { display: flex; gap: var(--space-sm); } .dot { width: 12px; height: 12px; border-radius: 50%; background: var(--text-light); opacity: 0.3; cursor: pointer; transition: var(--transition); } .dot.active { background: var(--warm-orange); opacity: 1; transform: scale(1.2); } /* Services Section */ .services-section { padding: var(--space-2xl) 0; background: linear-gradient(135deg, var(--soft-cream) 0%, var(--white) 100%); } .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: var(--space-lg); margin: var(--space-xl) 0; } .service-card { background: var(--white); border-radius: 20px; padding: var(--space-xl); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08); transition: var(--transition); position: relative; overflow: hidden; } .service-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: var(--gradient-warm); } .charter-service::before { background: var(--gradient-ocean); } .service-card:hover { transform: translateY(-5px); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12); } .service-icon-wrapper { width: 80px; height: 80px; background: var(--gradient-warm); border-radius: 20px; display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-md); } .charter-service .service-icon-wrapper { background: var(--gradient-ocean); } .service-icon { width: 40px; height: 40px; color: white; } .service-card h3 { font-family: var(--font-display); font-size: 2rem; margin-bottom: var(--space-sm); color: var(--text-dark); } .service-card p { color: var(--text-light); margin-bottom: var(--space-md); line-height: 1.6; } .service-features { list-style: none; padding: 0; margin: var(--space-md) 0; } .service-features li { padding: 0.5rem 0; display: flex; align-items: center; color: var(--text-dark); } .check-icon { width: 20px; height: 20px; color: var(--warm-orange); margin-right: 0.75rem; flex-shrink: 0; } .btn-service { width: 100%; padding: 1rem 2rem; background: var(--gradient-warm); color: white; border: none; border-radius: 12px; font-weight: 600; font-size: 1rem; cursor: pointer; transition: var(--transition); margin-top: var(--space-md); } .charter-service .btn-service { background: var(--gradient-ocean); } .btn-service:hover { transform: scale(1.02); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); } /* Service Stats */ .service-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-md); margin-top: var(--space-xl); padding: var(--space-lg); background: white; border-radius: 20px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); } .stat-item { text-align: center; padding: var(--space-md); } .stat-icon { width: 40px; height: 40px; color: var(--warm-orange); margin-bottom: var(--space-sm); } .stat-number { display: block; font-size: 2.5rem; font-weight: 800; color: var(--primary-blue); font-family: var(--font-display); } .stat-label { display: block; color: var(--text-light); font-size: 0.875rem; margin-top: 0.5rem; } /* Experience Stories */ .experience-stories { padding: var(--space-2xl) 0; background: var(--bg-light); } .story-container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-md); } .section-title.center { text-align: center; margin-bottom: var(--space-2xl); } .stories-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: var(--space-lg); } .story-card { background: var(--white); border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); transition: var(--transition); } .story-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12); } .story-image { position: relative; height: 250px; overflow: hidden; } .story-image img { width: 100%; height: 100%; object-fit: cover; } .story-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.5) 100%); display: flex; align-items: flex-end; padding: var(--space-md); } .story-category { background: var(--gradient-warm); color: var(--white); padding: 0.5rem 1rem; border-radius: 50px; font-size: 0.875rem; font-weight: 600; } .story-content { padding: var(--space-md); } .story-content h3 { font-family: var(--font-display); font-size: 1.5rem; margin-bottom: var(--space-sm); color: var(--text-dark); } .story-content p { color: var(--text-light); line-height: 1.6; margin-bottom: var(--space-sm); } .story-link { color: var(--warm-orange); text-decoration: none; font-weight: 600; transition: var(--transition); } .story-link:hover { color: var(--warm-amber); } /* Gallery Section */ .gallery-section { padding: var(--space-2xl) 0; background: var(--white); } .image-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-md); margin-top: var(--space-lg); } .gallery-item { position: relative; border-radius: 15px; overflow: hidden; height: 300px; cursor: pointer; transition: var(--transition); } .gallery-item.large { grid-column: span 2; height: 400px; } .gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition-slow); } .gallery-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(0, 31, 63, 0.9) 0%, transparent 100%); padding: var(--space-lg) var(--space-md) var(--space-md); transform: translateY(100%); transition: var(--transition); } .gallery-caption { color: var(--white); font-size: 1.25rem; font-weight: 600; } .gallery-item:hover .gallery-overlay { transform: translateY(0); } .gallery-item:hover img { transform: scale(1.1); } @media (max-width: 768px) { .gallery-item.large { grid-column: span 1; height: 300px; } } /* Booking CTA */ .booking-cta { padding: var(--space-2xl) 0; background: linear-gradient(135deg, #001f3f 0%, #003366 100%); } .booking-container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-md); } .booking-content { text-align: center; } .booking-title { font-family: var(--font-display); font-size: 3rem; color: var(--white); margin-bottom: var(--space-sm); } .booking-subtitle { font-size: 1.25rem; color: rgba(255, 255, 255, 0.8); margin-bottom: var(--space-2xl); } .booking-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-lg); } .booking-card { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 20px; padding: var(--space-lg); text-align: center; transition: var(--transition); } .booking-card:hover { background: rgba(255, 255, 255, 0.15); transform: translateY(-5px); } .booking-card.featured { background: var(--gradient-warm); border: none; transform: scale(1.05); } .booking-icon { font-size: 3rem; margin-bottom: var(--space-sm); } .booking-card h3 { font-size: 1.5rem; color: var(--white); margin-bottom: var(--space-xs); } .booking-card p { color: rgba(255, 255, 255, 0.8); margin-bottom: var(--space-md); } .btn-booking { width: 100%; padding: 0.75rem 1.5rem; background: rgba(255, 255, 255, 0.2); color: var(--white); border: 2px solid var(--white); border-radius: 50px; font-weight: 600; cursor: pointer; transition: var(--transition); } .btn-booking:hover { background: var(--white); color: var(--primary-blue); } .btn-booking.primary { background: var(--white); color: var(--warm-orange); border-color: var(--white); } .btn-booking.primary:hover { background: var(--gradient-warm); color: var(--white); } /* Footer */ .voyage-footer { background: var(--primary-blue); color: var(--white); padding: var(--space-2xl) 0 var(--space-md); } .footer-container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-md); } .footer-content { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--space-2xl); margin-bottom: var(--space-lg); } .footer-brand h3 { font-family: var(--font-display); font-size: 2rem; margin-bottom: var(--space-sm); } .footer-logo { width: 50px; height: 50px; border-radius: 50%; margin-bottom: var(--space-sm); } .footer-brand p { color: rgba(255, 255, 255, 0.7); margin-bottom: var(--space-md); } .social-links { display: flex; gap: var(--space-sm); } .social-links a { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.1); border-radius: 50%; font-size: 1.25rem; transition: var(--transition); } .social-links a:hover { background: var(--gradient-warm); transform: translateY(-3px); } .footer-links h4, .footer-contact h4 { margin-bottom: var(--space-md); } /* Force social icons to be white */ .voyage-footer .social-links a svg, .voyage-footer .social-links a i { stroke: white !important; color: white !important; fill: none !important; } .footer-links a { display: block; color: rgba(255, 255, 255, 0.7); text-decoration: none; margin-bottom: var(--space-xs); transition: var(--transition); } .footer-links a:hover { color: var(--warm-orange); } .footer-contact p { color: rgba(255, 255, 255, 0.7); margin-bottom: var(--space-xs); } .footer-bottom { text-align: center; padding-top: var(--space-lg); border-top: 1px solid rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.5); } /* Layout Switcher */ .layout-switcher { position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%); display: flex; gap: 0.5rem; background: var(--white); padding: 0.5rem; border-radius: 50px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); z-index: 90; } .layout-btn { padding: 0.5rem 1rem; background: transparent; border: none; border-radius: 50px; font-size: 0.875rem; font-weight: 500; cursor: pointer; transition: var(--transition); color: var(--text-dark); } .layout-btn:hover { background: var(--bg-light); } .layout-btn.active { background: var(--gradient-warm); color: var(--white); } /* Animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); } 40% { transform: translateX(-50%) translateY(-10px); } 60% { transform: translateX(-50%) translateY(-5px); } } @keyframes scroll { 0% { top: 8px; opacity: 1; } 100% { top: 20px; opacity: 0; } } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } } .animate-fade-in { animation: fadeIn 0.8s ease; } .animate-fade-up { animation: fadeIn 0.8s ease 0.2s both; } .animate-fade-up-delay { animation: fadeIn 0.8s ease 0.4s both; } .animate-fade-up-delay-2 { animation: fadeIn 0.8s ease 0.6s both; } /* Responsive */ @media (max-width: 768px) { .hero-headline { font-size: 3rem; } .hero-subtext { font-size: 1rem; } .hero-actions { flex-direction: column; width: 100%; padding: 0 var(--space-md); } .btn-primary-warm, .btn-secondary-warm { width: 100%; } .welcome-content { grid-template-columns: 1fr; } .yacht-card { grid-template-columns: 1fr; } .footer-content { grid-template-columns: 1fr; text-align: center; } .social-links { justify-content: center; } .top-right, .bottom-left { display: none; } .nav-links { display: none; } } /* Dark theme adjustments for Deep Sea */ body.theme-deep-sea .welcome-section, body.theme-deep-sea .fleet-showcase, body.theme-deep-sea .experience-stories, body.theme-deep-sea .booking-cta { background: var(--bg-light); } /* Gold theme is now the default - no overrides needed */ body.theme-deep-sea .yacht-card, body.theme-deep-sea .story-card, body.theme-deep-sea .booking-card { background: var(--soft-cream); color: var(--text-dark); } body.theme-deep-sea .hero-content h1, body.theme-deep-sea .hero-content p { color: var(--text-dark); } body.theme-deep-sea .voyage-nav:not(.scrolled) .nav-brand, body.theme-deep-sea .voyage-nav:not(.scrolled) .nav-link { color: var(--text-dark); } body.theme-deep-sea .voyage-footer { background: var(--primary-blue); color: var(--text-dark); } /* Theme-specific button colors */ body.theme-coastal-dawn .btn-primary-warm, body.theme-coastal-dawn .btn-secondary-warm { background: var(--warm-orange); color: var(--white); } body.theme-deep-sea .btn-primary-warm, body.theme-deep-sea .btn-secondary-warm { background: var(--warm-orange); color: var(--white); } body.theme-monaco-white .btn-primary-warm, body.theme-monaco-white .btn-secondary-warm { background: var(--warm-orange); color: var(--white); }