:root { --gold: #c5a059; --dark-bg: #000; --text-light: #e0e0e0; }
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: 'Lato', sans-serif; color: var(--text-light); line-height: 1.6; background-color: var(--dark-bg); overflow-x: hidden; }
        h1, h2, h3 { font-family: 'Playfair Display', serif; color: #fff; }
        
        .container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
        
        .header { background-color: #000; padding: 20px 0; border-bottom: 1px solid #222; position: sticky; top: 0; z-index: 1000; }
        .logo { color: var(--gold); font-size: 1.5rem; font-weight: 700; text-decoration: none; }
        
        /* Language Switcher */
        .lang-switch { display: flex; gap: 10px; align-items: center; }
        .lang-link { color: #fff; font-size: 0.8rem; cursor: pointer; opacity: 0.5; transition: 0.3s; font-weight: 700; }
        .lang-link.active { opacity: 1; color: var(--gold); }

        .tour-hero {
            height: 60vh;
            background-image: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.8)), url('/img/civitavecchia-porto.webp');
            background-size: cover; background-position: center;
            display: flex; align-items: center; justify-content: center; text-align: center;
            background-color: #222;
        }
        
        .tour-title { font-size: clamp(2.3rem,6vw,4.2rem); color: #fff; text-shadow: 2px 2px 10px rgba(0,0,0,1); }
        .tour-subtitle { font-size: 1.3rem; color: #f0f0f0; max-width: 800px; margin: 10px auto 0; }

        .page-content { padding: 60px 0; }
        h2 { font-size: 2.2rem; margin-bottom: 20px; color: var(--gold); }
        
        .price-table-container { margin: 40px 0; overflow-x: auto; background: #0a0a0a; border: 1px solid #222; border-radius: 8px; padding: 20px; }
        .price-table { width: 100%; border-collapse: collapse; text-align: left; color: #fff; min-width: 500px; }
        .price-table th { border-bottom: 2px solid var(--gold); padding: 15px; color: var(--gold); font-size: 1.1rem; }
        .price-table td { padding: 15px; border-bottom: 1px solid #222; }
        .price-label { font-weight: 700; color: var(--gold); }

        .info-box { background: #111; padding: 35px; border: 1px solid #333; margin-bottom: 30px; border-left: 4px solid var(--gold); }
        .info-box h2,.info-box h3 { color: var(--gold); margin-bottom: 15px; }
        
        .faq-section { margin-top: 60px; }
        .faq-item { background: #0a0a0a; border: 1px solid #222; padding: 20px; margin-bottom: 10px; border-radius: 4px; }
        .faq-question { color: var(--gold); font-weight: 700; margin-bottom: 8px; font-size: 1.1rem; display: block; }
        .faq-answer { color: #aaa; font-size: 0.95rem; }

        .btn-gold { 
            background-color: var(--gold); color: #000 !important; padding: 18px 40px; border-radius: 4px; 
            text-decoration: none; font-weight: 700; display: inline-block; transition: 0.3s; 
            text-transform: uppercase; letter-spacing: 1px; border: none; cursor: pointer;
        }
        .btn-gold:hover { background-color: #fff; transform: translateY(-3px); text-decoration: none; }

        .check-list { list-style: none; margin: 20px 0; }
        .check-list li { margin-bottom: 10px; padding-left: 35px; position: relative; }
        .check-list li::before { content: "🚢"; position: absolute; left: 0; }

        footer { padding: 40px 0; text-align: center; border-top: 1px solid #222; color: #666; margin-top: 40px; }

        @media (max-width: 768px) {
            .tour-hero { height: 50vh; }
        }
