/* Βασικό Reset & Typography */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
body { background-color: #fff; color: #333; line-height: 1.6; }

/* Header */
.main-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 50px; background: #1a1a1a; color: #fff; position: sticky; top: 0; z-index: 100; border-bottom: 2px solid #222; }
.main-header .logo { font-size: 24px; font-weight: 800; }
.main-header nav ul { list-style: none; display: flex; gap: 25px; }
.main-header nav a { color: #fff; text-decoration: none; text-transform: uppercase; font-size: 14px; font-weight: 600; transition: color 0.3s ease; }
.main-header nav a:hover { color: #d4af37; }

/* Booking Form (Light Theme for Homepage) */
.booking-form-container { background: #fff; color: #333; padding: 35px; width: 100%; max-width: 600px; border-radius: 10px; box-shadow: 0 10px 25px rgba(0,0,0,0.2); margin: 0 auto; }
.booking-form-container h2 { margin-bottom: 20px; text-align: center; }
.form-group { margin-bottom: 15px; width: 100%; }
.form-row { display: flex; gap: 15px; }
.half { width: 50%; }
label { display: block; font-size: 11px; font-weight: 700; margin-bottom: 8px; color: #777; text-transform: uppercase; letter-spacing: 1px;}
input[type="text"], input[type="datetime-local"], input[type="date"], input[type="time"], input[type="email"], input[type="tel"], textarea { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 5px; }

/* --- PREMIUM DARK FORM --- */
.dark-form-container { background: #1e1e1e; padding: 40px; width: 100%; max-width: 750px; border-radius: 8px; margin: 0 auto; box-shadow: 0 20px 50px rgba(0,0,0,0.5); }
.dark-form-container label { color: #d4af37; }
.dark-input { width: 100%; background: #2a2a2a; border: 1px solid #333; color: #fff; padding: 14px 15px; border-radius: 4px; font-size: 15px; outline: none; transition: border 0.3s; }
.dark-input:focus { border-color: #d4af37; }
.dark-input::placeholder { color: #666; }
select.dark-input { appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4af37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 15px center; background-size: 15px; }
.btn-apply { background: #333; color: #fff; border: none; padding: 0 25px; border-radius: 4px; cursor: pointer; font-weight: bold; transition: background 0.3s; }
.btn-apply:hover { background: #555; }
.total-box { margin-top: 25px; border: 1px solid #d4af37; background: #1a1a1a; padding: 20px; border-radius: 4px; display: flex; justify-content: space-between; align-items: center; }
.total-text { color: #fff; font-size: 18px; font-weight: bold; letter-spacing: 1px; }
.total-price { color: #d4af37; font-size: 28px; font-weight: 900; }

/* --- VIP DESIGN: TABS ΑΦΙΞΗΣ / ΑΝΑΧΩΡΗΣΗΣ --- */
.transfer-tabs { display: flex; background: #2a2a2a; border-radius: 8px; padding: 6px; margin-bottom: 30px; box-shadow: inset 0 2px 5px rgba(0,0,0,0.5); }
.tab-btn { flex: 1; background: transparent; color: #888; border: none; padding: 14px; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; border-radius: 6px; cursor: pointer; transition: all 0.3s ease; }
.tab-btn:hover { color: #ccc; }
.tab-btn.active { background: #d4af37; color: #111; box-shadow: 0 4px 10px rgba(212, 175, 55, 0.3); }

/* Buttons */
.btn-submit { width: 100%; padding: 15px; margin-top: 10px; background: #e63946; color: #fff; border: none; font-size: 16px; font-weight: bold; text-transform: uppercase; border-radius: 4px; cursor: pointer; transition: 0.3s; }
.btn-submit:hover { background: #d62828; }

/* General Sections */
.section-container { padding: 80px 50px; text-align: center; }
.bg-light { background-color: #f9f9f9; }
.section-title { font-size: 32px; margin-bottom: 40px; color: #1a1a1a; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 1200px; margin: 0 auto; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1300px; margin: 0 auto; }

/* Features & Cards */
.feature-box h3 { color: #e63946; margin-bottom: 15px; }
.card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.05); transition: transform 0.3s; }
.card:hover { transform: translateY(-5px); }
.card-img-placeholder { background: #ddd; height: 200px; display: flex; align-items: center; justify-content: center; color: #888; font-weight: bold; }
.card-content { padding: 25px; text-align: left; }
.card-content .specs { margin-top: 15px; font-size: 14px; font-weight: bold; border-top: 1px solid #eee; padding-top: 10px; }

/* --- Premium VIP Reviews --- */
.vip-reviews-section { background-color: #0d0d0d; padding: 100px 20px; text-align: center; }
.vip-testi-header { margin-bottom: 60px; display: flex; flex-direction: column; align-items: center; }
.vip-small-title { color: #d4af37; font-weight: 600; text-transform: uppercase; letter-spacing: 3px; font-size: 13px; margin-bottom: 10px; }
.vip-testi-header h2 { color: #ffffff; font-size: 42px; font-weight: 300; margin: 0; letter-spacing: 1px; }
.header-divider { width: 60px; height: 3px; background: #d4af37; margin-top: 20px; }
.vip-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 1200px; margin: 0 auto; }
.vip-review-card { background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: 12px; padding: 40px 30px; text-align: left; position: relative; overflow: hidden; transition: transform 0.4s ease, border-color 0.4s ease; }
.vip-review-card:hover { transform: translateY(-10px); border-color: #d4af37; }
.quote-mark { position: absolute; top: 10px; right: 20px; font-size: 80px; color: rgba(255, 255, 255, 0.03); font-family: Georgia, serif; line-height: 1; }
.vip-stars { color: #d4af37; font-size: 20px; margin-bottom: 20px; letter-spacing: 3px; }
.vip-review-text { color: #b3b3b3; font-size: 15px; line-height: 1.8; font-style: italic; margin-bottom: 30px; position: relative; z-index: 2; min-height: 100px; }
.vip-reviewer-top { display: flex; align-items: center; gap: 15px; border-top: 1px solid #333; padding-top: 20px; }
.vip-avatar { width: 50px; height: 50px; background: linear-gradient(135deg, #d4af37, #aa8529); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: bold; }
.vip-reviewer-info strong { display: block; color: #fff; font-size: 16px; font-weight: 600; }
.vip-reviewer-info span { color: #777; font-size: 13px; }

/* --- TRUST BADGES --- */
.trust-badges-section { background-color: #fff; padding: 80px 20px; text-align: center; border-top: 1px solid #eee; }
.badges-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; max-width: 1200px; margin: 0 auto; }
.trust-badge { display: flex; flex-direction: column; align-items: center; }
.badge-icon { width: 80px; height: 80px; background: #fff; color: #d4af37; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 35px; margin-bottom: 20px; border: 2px solid #f0f0f0; transition: all 0.3s ease; box-shadow: 0 10px 20px rgba(0,0,0,0.05); }
.trust-badge:hover .badge-icon { background: #d4af37; color: #fff; border-color: #d4af37; transform: scale(1.1); box-shadow: 0 8px 20px rgba(212, 175, 55, 0.3); }
.trust-badge h4 { color: #111; font-size: 15px; font-weight: 800; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 1px; }
.trust-badge p { color: #666; font-size: 13px; }

/* --- TOURS PAGE STYLES --- */
.tours-header-section { padding: 80px 20px 40px; text-align: center; background-color: #fdfdfd; }
.tours-header-section h1 { font-size: 42px; color: #333; margin-bottom: 20px; font-weight: 800; }
.tours-header-section h1 span { color: #d4af37; font-style: italic; font-weight: 600; }
.tours-description { max-width: 900px; margin: 0 auto; color: #666; font-size: 16px; line-height: 1.8; margin-bottom: 50px; }
.tours-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; max-width: 1300px; margin: 0 auto; padding: 0 20px 80px; }
.tour-card { position: relative; border-radius: 16px; overflow: hidden; box-shadow: 0 15px 35px rgba(0,0,0,0.1); transition: transform 0.4s ease; cursor: pointer; height: 380px; background: #000; display: block; text-decoration: none; }
.tour-card:hover { transform: translateY(-10px); box-shadow: 0 20px 45px rgba(0,0,0,0.2); }
.tour-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; opacity: 0.9; }
.tour-card:hover .tour-image { transform: scale(1.08); opacity: 1; }
.tour-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.3) 50%, transparent 100%); display: flex; flex-direction: column; justify-content: flex-end; padding: 25px; }
.tour-title { color: #fff; font-size: 20px; font-weight: 800; margin-bottom: 15px; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.tour-meta { display: flex; gap: 10px; flex-wrap: wrap; }
.tour-meta-badge { background: rgba(255,255,255,0.15); backdrop-filter: blur(5px); border: 1px solid rgba(255,255,255,0.2); color: #fff; padding: 6px 12px; border-radius: 30px; font-size: 12px; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.tour-meta-badge i { color: #d4af37; font-style: normal; font-size: 14px; }

/* --- MEGA FOOTER (3 Στήλες) --- */
.mega-footer { background: #0a0a0a; color: #ccc; padding: 60px 50px 20px; border-top: 1px solid #222;}
.footer-col h3, .footer-col h4 { color: #fff; margin-bottom: 25px; font-size: 18px; text-transform: uppercase; letter-spacing: 1px;}
.footer-links { list-style: none; }
.footer-links li { margin-bottom: 15px; }
.footer-links a { color: #ccc; text-decoration: none; font-size: 15px; transition: 0.3s; }
.footer-links a:hover { color: #d4af37; padding-left: 5px; }

.contact-item { margin-bottom: 22px; font-size: 15px; display: flex; align-items: center; gap: 10px; }

/* Social Links - Τώρα σε ΟΡΙΖΟΝΤΙΑ διάταξη! */
.social-links { list-style: none; display: flex; flex-wrap: wrap; gap: 20px; }
.social-links li { margin-bottom: 0; }
.social-links a { color: #ccc; text-decoration: none; font-size: 15px; transition: 0.3s; display: flex; align-items: center; gap: 8px; }
.social-links a:hover { color: #d4af37; transform: translateY(-3px); } /* Κάνει ελαφρύ χοροπηδητό προς τα πάνω! */

.footer-bottom { text-align: center; border-top: 1px solid #222; padding-top: 25px; font-size: 13px; margin-top: 40px; color: #777;}
.footer-3-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; max-width: 1000px; margin: 0 auto; text-align: left; }

/* WhatsApp Float */
.whatsapp-float { position: fixed; width: 60px; height: 60px; bottom: 30px; right: 30px; background-color: #25d366; color: #FFF; border-radius: 50px; text-align: center; box-shadow: 2px 2px 10px rgba(0,0,0,0.3); z-index: 1000; display: flex; align-items: center; justify-content: center; transition: 0.3s; }
.whatsapp-float:hover { transform: scale(1.1); }
.wa-icon { width: 35px; height: 35px; }

/* --- Responsive Design --- */
@media (max-width: 1024px) {
    .grid-4, .badges-grid, .tours-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-3-cols { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .main-header { flex-direction: column; gap: 15px; padding: 15px; }
    .form-row { flex-direction: column; gap: 0; }
    .half { width: 100%; margin-bottom: 15px; }
    .grid-3, .grid-4, .badges-grid, .tours-grid, .footer-3-cols { grid-template-columns: 1fr; }
    .section-container { padding: 40px 15px; }
    
    .tours-header-section h1 { font-size: 32px; }
    .tour-card { height: 300px; }
    .dark-form-container { padding: 25px 20px; }
    .transfer-tabs { flex-direction: row; padding: 4px; }
    .tab-btn { padding: 12px 5px; font-size: 12px; }
    
    .vip-reviews-grid { grid-template-columns: 1fr; padding: 0 10px; }
    .vip-testi-header h2 { font-size: 32px; }
    
    .trust-badge { margin-bottom: 30px; }
    
    .mega-footer { padding: 40px 20px 20px; text-align: center; }
    .footer-3-cols { text-align: center; }
    
    /* Κεντράρισμα στα κινητά */
    .contact-item { justify-content: center; }
    .social-links { justify-content: center; }
    .footer-links { padding-bottom: 20px; border-bottom: 1px solid #222; }
}
