/* =============================================
   VIAGGIO DI NOZZE — racconto del viaggio
   ============================================= */

.trip-hero {
    min-height: 70vh;
    background: linear-gradient(135deg, var(--dark-blue) 0%, var(--royal-blue) 55%, var(--dark-blue) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 150px 30px 90px;
    position: relative;
    overflow: hidden;
}
.trip-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><path d="M0,300 Q300,100 600,300 T1200,300" fill="none" stroke="rgba(186,192,198,0.12)" stroke-width="2"/></svg>');
    background-size: cover;
    animation: float 22s ease-in-out infinite;
}
.trip-hero-content { position: relative; z-index: 1; color: white; max-width: 820px; }
.trip-hero-eyebrow { font-size: 13px; letter-spacing: 4px; text-transform: uppercase; color: var(--silver); margin-bottom: 20px; }
.trip-hero h1 { font-family: 'Cormorant Garamond', serif; font-size: 54px; font-weight: 500; line-height: 1.2; margin-bottom: 24px; }
.trip-hero p { font-size: 18px; line-height: 1.9; color: var(--light-silver); font-weight: 300; max-width: 640px; margin: 0 auto; }
.trip-hero-dates {
    display: inline-flex; gap: 14px; margin-top: 34px;
    padding: 12px 26px; border: 1px solid rgba(255,255,255,0.25); border-radius: 40px;
    font-size: 13px; letter-spacing: 1.5px; color: var(--light-silver);
}

/* Intro narrativa */
.trip-intro {
    max-width: 760px; margin: 0 auto; padding: 90px 30px 20px;
}
.trip-intro p {
    font-size: 17px; line-height: 2; color: #555; font-weight: 300; margin-bottom: 22px;
}

/* Capitoli del racconto */
.trip-chapter { padding: 90px 0; }
.trip-chapter:nth-child(even) { background: linear-gradient(to bottom, white, var(--light-silver)); }
.trip-chapter:nth-child(odd) { background: white; }

.trip-chapter-inner {
    max-width: 1200px; margin: 0 auto; padding: 0 50px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
}
.trip-chapter.reverse .trip-chapter-inner { direction: rtl; }
.trip-chapter.reverse .trip-chapter-text { direction: ltr; }
.trip-chapter.reverse .trip-chapter-visual { direction: ltr; }

.trip-chapter-visual {
    min-height: 420px;
    border-radius: 4px;
    background-size: cover;
    background-position: center;
    box-shadow: 0 20px 60px rgba(24,51,112,0.3);
    position: relative;
    overflow: hidden;
}
.trip-chapter-visual::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(18,38,84,0.35), transparent 50%);
}

.trip-chapter-number {
    font-family: 'Cormorant Garamond', serif;
    font-size: 15px; letter-spacing: 3px; text-transform: uppercase;
    color: var(--royal-blue); opacity: 0.7; margin-bottom: 14px; display: block;
}
.trip-chapter-text h3 {
    font-family: 'Cormorant Garamond', serif; font-size: 40px; color: var(--royal-blue);
    margin-bottom: 8px; font-weight: 600; line-height: 1.15;
}
.trip-chapter-days {
    display: inline-block; font-size: 13px; letter-spacing: 1px; color: #888;
    margin-bottom: 22px; font-weight: 500;
}
.trip-chapter-text p {
    font-size: 16px; line-height: 1.85; color: #555; margin-bottom: 16px; font-weight: 300;
}
.trip-chapter-text p em {
    color: var(--royal-blue); font-style: italic;
}
.trip-highlights {
    list-style: none; margin-top: 22px; display: flex; flex-direction: column; gap: 10px;
}
.trip-highlights li {
    font-size: 14px; color: var(--dark-blue); padding-left: 26px; position: relative; font-weight: 500;
}
.trip-highlights li::before {
    content: '✦'; position: absolute; left: 0; color: var(--royal-blue); font-size: 13px;
}

/* Chiusura romantica */
.trip-closing {
    padding: 110px 50px; text-align: center;
    background: linear-gradient(135deg, var(--royal-blue), var(--dark-blue));
    color: white;
}
.trip-closing-inner { max-width: 720px; margin: 0 auto; }
.trip-closing h2 { font-family: 'Cormorant Garamond', serif; font-size: 42px; margin-bottom: 24px; font-weight: 500; }
.trip-closing p { font-size: 17px; line-height: 1.9; color: var(--light-silver); font-weight: 300; margin-bottom: 40px; }

.trip-cta { text-align: center; padding: 60px 30px; }

/* Responsive */
@media (max-width: 900px) {
    .trip-hero { min-height: 56vh; padding: 130px 20px 70px; }
    .trip-hero h1 { font-size: 36px; }
    .trip-chapter-inner,
    .trip-chapter.reverse .trip-chapter-inner {
        grid-template-columns: 1fr; direction: ltr; gap: 36px; padding: 0 24px;
    }
    .trip-chapter { padding: 60px 0; }
    .trip-chapter-visual { min-height: 280px; }
    .trip-chapter-text h3 { font-size: 30px; }
    .trip-closing { padding: 80px 24px; }
    .trip-closing h2 { font-size: 30px; }
}
