﻿/* ============================================================
   STYLE-TOUR.CSS
   Foglio di stile dedicato alle pagine di dettaglio dei singoli tour
   (es. /viaggi-in-peru/viaggi-organizzati-in-peru/nome-tour.php)
   Riutilizza le variabili CSS globali definite in style.css
   ============================================================ */

/* ---------- Hero a slider (foto dei giorni, dissolvenza, loop infinito 5s/foto) ---------- */
.tour-hero-slider {
    position: relative;
    background: #000;
}

.tour-hero-slides {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.tour-hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    animation: tourHeroFade 65s infinite;
}

@keyframes tourHeroFade {
    0% {
        opacity: 0;
    }

    1.538% {
        opacity: 1;
    }

    7.692% {
        opacity: 1;
    }

    9.231% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slide:nth-child(1) {
    animation-delay: -0.50s;
}

.tour-hero-slide:nth-child(2) {
    animation-delay: 4.50s;
}

.tour-hero-slide:nth-child(3) {
    animation-delay: 9.50s;
}

.tour-hero-slide:nth-child(4) {
    animation-delay: 14.50s;
}

.tour-hero-slide:nth-child(5) {
    animation-delay: 19.50s;
}

.tour-hero-slide:nth-child(6) {
    animation-delay: 24.50s;
}

.tour-hero-slide:nth-child(7) {
    animation-delay: 29.50s;
}

.tour-hero-slide:nth-child(8) {
    animation-delay: 34.50s;
}

.tour-hero-slide:nth-child(9) {
    animation-delay: 39.50s;
}

.tour-hero-slide:nth-child(10) {
    animation-delay: 44.50s;
}

.tour-hero-slide:nth-child(11) {
    animation-delay: 49.50s;
}

.tour-hero-slide:nth-child(12) {
    animation-delay: 54.50s;
}

.tour-hero-slide:nth-child(13) {
    animation-delay: 59.50s;
}

/* ---------- Estensione animation-delay per tour con più di 13 foto
   (fino a 30 giorni), stessa spaziatura di 5s usata sopra. ---------- */
.tour-hero-slide:nth-child(14) {
    animation-delay: 64.50s;
}

.tour-hero-slide:nth-child(15) {
    animation-delay: 69.50s;
}

.tour-hero-slide:nth-child(16) {
    animation-delay: 74.50s;
}

.tour-hero-slide:nth-child(17) {
    animation-delay: 79.50s;
}

.tour-hero-slide:nth-child(18) {
    animation-delay: 84.50s;
}

.tour-hero-slide:nth-child(19) {
    animation-delay: 89.50s;
}

.tour-hero-slide:nth-child(20) {
    animation-delay: 94.50s;
}

.tour-hero-slide:nth-child(21) {
    animation-delay: 99.50s;
}

.tour-hero-slide:nth-child(22) {
    animation-delay: 104.50s;
}

.tour-hero-slide:nth-child(23) {
    animation-delay: 109.50s;
}

.tour-hero-slide:nth-child(24) {
    animation-delay: 114.50s;
}

.tour-hero-slide:nth-child(25) {
    animation-delay: 119.50s;
}

.tour-hero-slide:nth-child(26) {
    animation-delay: 124.50s;
}

.tour-hero-slide:nth-child(27) {
    animation-delay: 129.50s;
}

.tour-hero-slide:nth-child(28) {
    animation-delay: 134.50s;
}

.tour-hero-slide:nth-child(29) {
    animation-delay: 139.50s;
}

.tour-hero-slide:nth-child(30) {
    animation-delay: 144.50s;
}

/* ---------- Varianti di durata/keyframe per tour con un numero di
   foto diverso da 13 (il caso originale), da 1 a 30 foto. Ogni
   foto resta visibile circa 4-5s con dissolvenza proporzionale, così
   il ciclo si adatta al numero reale di slide senza lasciare "buchi"
   neri tra un loop e l'altro. Se l'attributo data-count non è
   presente (pagine esistenti a 13 foto), si usa il comportamento
   originale sopra (tourHeroFade, 65s). ---------- */
@keyframes tourHeroFade1 {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

.tour-hero-slides[data-count="1"] .tour-hero-slide {
    animation-name: tourHeroFade1;
    animation-duration: 5s;
}

@keyframes tourHeroFade2 {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    50% {
        opacity: 1;
    }

    60% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="2"] .tour-hero-slide {
    animation-name: tourHeroFade2;
    animation-duration: 10s;
}

@keyframes tourHeroFade3 {
    0% {
        opacity: 0;
    }

    6.667% {
        opacity: 1;
    }

    33.333% {
        opacity: 1;
    }

    40% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="3"] .tour-hero-slide {
    animation-name: tourHeroFade3;
    animation-duration: 15s;
}

@keyframes tourHeroFade4 {
    0% {
        opacity: 0;
    }

    5% {
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    30% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="4"] .tour-hero-slide {
    animation-name: tourHeroFade4;
    animation-duration: 20s;
}

@keyframes tourHeroFade5 {
    0% {
        opacity: 0;
    }

    4% {
        opacity: 1;
    }

    20% {
        opacity: 1;
    }

    24% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="5"] .tour-hero-slide {
    animation-name: tourHeroFade5;
    animation-duration: 25s;
}

@keyframes tourHeroFade6 {
    0% {
        opacity: 0;
    }

    3.333% {
        opacity: 1;
    }

    16.667% {
        opacity: 1;
    }

    20% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="6"] .tour-hero-slide {
    animation-name: tourHeroFade6;
    animation-duration: 30s;
}

@keyframes tourHeroFade7 {
    0% {
        opacity: 0;
    }

    2.857% {
        opacity: 1;
    }

    14.286% {
        opacity: 1;
    }

    17.143% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="7"] .tour-hero-slide {
    animation-name: tourHeroFade7;
    animation-duration: 35s;
}

@keyframes tourHeroFade8 {
    0% {
        opacity: 0;
    }

    2.5% {
        opacity: 1;
    }

    12.5% {
        opacity: 1;
    }

    15% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="8"] .tour-hero-slide {
    animation-name: tourHeroFade8;
    animation-duration: 40s;
}

@keyframes tourHeroFade9 {
    0% {
        opacity: 0;
    }

    2.222% {
        opacity: 1;
    }

    11.111% {
        opacity: 1;
    }

    13.333% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="9"] .tour-hero-slide {
    animation-name: tourHeroFade9;
    animation-duration: 45s;
}

@keyframes tourHeroFade10 {
    0% {
        opacity: 0;
    }

    2% {
        opacity: 1;
    }

    10% {
        opacity: 1;
    }

    12% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="10"] .tour-hero-slide {
    animation-name: tourHeroFade10;
    animation-duration: 50s;
}

@keyframes tourHeroFade11 {
    0% {
        opacity: 0;
    }

    1.818% {
        opacity: 1;
    }

    9.091% {
        opacity: 1;
    }

    10.909% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="11"] .tour-hero-slide {
    animation-name: tourHeroFade11;
    animation-duration: 55s;
}

@keyframes tourHeroFade12 {
    0% {
        opacity: 0;
    }

    1.667% {
        opacity: 1;
    }

    8.333% {
        opacity: 1;
    }

    10% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="12"] .tour-hero-slide {
    animation-name: tourHeroFade12;
    animation-duration: 60s;
}

@keyframes tourHeroFade13 {
    0% {
        opacity: 0;
    }

    1.538% {
        opacity: 1;
    }

    7.692% {
        opacity: 1;
    }

    9.231% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="13"] .tour-hero-slide {
    animation-name: tourHeroFade13;
    animation-duration: 65s;
}

@keyframes tourHeroFade14 {
    0% {
        opacity: 0;
    }

    1.429% {
        opacity: 1;
    }

    7.143% {
        opacity: 1;
    }

    8.571% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="14"] .tour-hero-slide {
    animation-name: tourHeroFade14;
    animation-duration: 70s;
}

@keyframes tourHeroFade15 {
    0% {
        opacity: 0;
    }

    1.333% {
        opacity: 1;
    }

    6.667% {
        opacity: 1;
    }

    8% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="15"] .tour-hero-slide {
    animation-name: tourHeroFade15;
    animation-duration: 75s;
}

@keyframes tourHeroFade16 {
    0% {
        opacity: 0;
    }

    1.25% {
        opacity: 1;
    }

    6.25% {
        opacity: 1;
    }

    7.5% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="16"] .tour-hero-slide {
    animation-name: tourHeroFade16;
    animation-duration: 80s;
}

@keyframes tourHeroFade17 {
    0% {
        opacity: 0;
    }

    1.176% {
        opacity: 1;
    }

    5.882% {
        opacity: 1;
    }

    7.059% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="17"] .tour-hero-slide {
    animation-name: tourHeroFade17;
    animation-duration: 85s;
}

@keyframes tourHeroFade18 {
    0% {
        opacity: 0;
    }

    1.111% {
        opacity: 1;
    }

    5.556% {
        opacity: 1;
    }

    6.667% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="18"] .tour-hero-slide {
    animation-name: tourHeroFade18;
    animation-duration: 90s;
}

@keyframes tourHeroFade19 {
    0% {
        opacity: 0;
    }

    1.053% {
        opacity: 1;
    }

    5.263% {
        opacity: 1;
    }

    6.316% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="19"] .tour-hero-slide {
    animation-name: tourHeroFade19;
    animation-duration: 95s;
}

@keyframes tourHeroFade20 {
    0% {
        opacity: 0;
    }

    1% {
        opacity: 1;
    }

    5% {
        opacity: 1;
    }

    6% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="20"] .tour-hero-slide {
    animation-name: tourHeroFade20;
    animation-duration: 100s;
}

@keyframes tourHeroFade21 {
    0% {
        opacity: 0;
    }

    0.952% {
        opacity: 1;
    }

    4.762% {
        opacity: 1;
    }

    5.714% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="21"] .tour-hero-slide {
    animation-name: tourHeroFade21;
    animation-duration: 105s;
}

@keyframes tourHeroFade22 {
    0% {
        opacity: 0;
    }

    0.909% {
        opacity: 1;
    }

    4.545% {
        opacity: 1;
    }

    5.455% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="22"] .tour-hero-slide {
    animation-name: tourHeroFade22;
    animation-duration: 110s;
}

@keyframes tourHeroFade23 {
    0% {
        opacity: 0;
    }

    0.87% {
        opacity: 1;
    }

    4.348% {
        opacity: 1;
    }

    5.217% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="23"] .tour-hero-slide {
    animation-name: tourHeroFade23;
    animation-duration: 115s;
}

@keyframes tourHeroFade24 {
    0% {
        opacity: 0;
    }

    0.833% {
        opacity: 1;
    }

    4.167% {
        opacity: 1;
    }

    5% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="24"] .tour-hero-slide {
    animation-name: tourHeroFade24;
    animation-duration: 120s;
}

@keyframes tourHeroFade25 {
    0% {
        opacity: 0;
    }

    0.8% {
        opacity: 1;
    }

    4% {
        opacity: 1;
    }

    4.8% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="25"] .tour-hero-slide {
    animation-name: tourHeroFade25;
    animation-duration: 125s;
}

@keyframes tourHeroFade26 {
    0% {
        opacity: 0;
    }

    0.769% {
        opacity: 1;
    }

    3.846% {
        opacity: 1;
    }

    4.615% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="26"] .tour-hero-slide {
    animation-name: tourHeroFade26;
    animation-duration: 130s;
}

@keyframes tourHeroFade27 {
    0% {
        opacity: 0;
    }

    0.741% {
        opacity: 1;
    }

    3.704% {
        opacity: 1;
    }

    4.444% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="27"] .tour-hero-slide {
    animation-name: tourHeroFade27;
    animation-duration: 135s;
}

@keyframes tourHeroFade28 {
    0% {
        opacity: 0;
    }

    0.714% {
        opacity: 1;
    }

    3.571% {
        opacity: 1;
    }

    4.286% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="28"] .tour-hero-slide {
    animation-name: tourHeroFade28;
    animation-duration: 140s;
}

@keyframes tourHeroFade29 {
    0% {
        opacity: 0;
    }

    0.69% {
        opacity: 1;
    }

    3.448% {
        opacity: 1;
    }

    4.138% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="29"] .tour-hero-slide {
    animation-name: tourHeroFade29;
    animation-duration: 145s;
}

@keyframes tourHeroFade30 {
    0% {
        opacity: 0;
    }

    0.667% {
        opacity: 1;
    }

    3.333% {
        opacity: 1;
    }

    4% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.tour-hero-slides[data-count="30"] .tour-hero-slide {
    animation-name: tourHeroFade30;
    animation-duration: 150s;
}


/* ---------- Barra info rapide sotto la hero (MODIFICA 1: font più grande) ---------- */
.tour-quickinfo-bar {
    background: var(--sand-deep);
    padding: 26px 0;
    border-bottom: 1px solid var(--border);
}

    .tour-quickinfo-bar ul {
        display: flex;
        justify-content: flex-start;
        gap: 56px;
        list-style: none;
        margin: 0;
        padding: 0;
        flex-wrap: wrap;
    }

    .tour-quickinfo-bar li {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .tour-quickinfo-bar .label {
        font-size: .86rem;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: var(--stone-soft);
    }

    .tour-quickinfo-bar .value {
        font-family: 'Fraunces',serif;
        font-weight: 700;
        font-size: 1.85rem;
        color: var(--maroon);
    }

/* ---------- Layout principale a due colonne ---------- */
.tour-detail-section {
    background: var(--white);
    padding: 60px 0 20px;
}

.tour-detail-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 56px;
}

.tour-detail-main {
    min-width: 0;
}

/* ---------- Descrizione (MODIFICA 7: testo giustificato) ---------- */
.tour-detail-title {
    font-size: clamp(1.6rem,2.8vw,2.1rem);
    margin: 0 0 18px;
}

.tour-detail-desc {
    color: var(--stone-soft);
    font-size: 1rem;
    line-height: 1.8;
    margin: 0 0 32px;
    text-align: justify;
}

    .tour-detail-desc strong {
        color: var(--stone);
    }

/* ---------- Mappa ---------- */
.tour-detail-map {
    margin: 0 0 24px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

    .tour-detail-map img {
        display: block;
        width: 100%;
        height: auto;
    }

/* ---------- Box informazioni (Paese/Partenza/Arrivo/Tema e Luoghi/Hotel/Attrazioni) ---------- */
.tour-day-meta {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    padding: 16px 20px;
    margin: 0 0 20px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--sand-deep);
}

    .tour-day-meta:has(> div:nth-child(4)) {
        grid-template-columns: repeat(4,1fr);
    }

    .tour-day-meta .label {
        display: block;
        font-size: .64rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--stone-soft);
    }

    .tour-day-meta .value {
        display: block;
        font-weight: 700;
        color: var(--maroon);
        font-size: .92rem;
        margin-top: 2px;
    }

@media(max-width:700px) {
    .tour-day-meta {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
}

/* ---------- Giorno per giorno (MODIFICA 3: titoli H2, MODIFICA 7: testo giustificato) ---------- */
.itinerary-section__header {
    text-align: center;
    margin: 56px 0 48px;
}

    .itinerary-section__header .eyebrow {
        justify-content: center;
        margin-bottom: 16px;
    }

    .itinerary-section__header h2 {
        font-size: clamp(1.8rem,3.2vw,2.5rem);
        margin: 0;
    }

.tour-days-list {
    display: flex;
    flex-direction: column;
}

.tour-day {
    padding: 34px 0;
}

    .tour-day:first-child {
        padding-top: 0;
    }

    .tour-day .day-label-row {
        display: flex;
        align-items: center;
        gap: 16px;
        margin-bottom: 6px;
    }

    .tour-day .day-label {
        white-space: nowrap;
        font-size: .92rem;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: var(--gold);
    }

    .tour-day .day-label-line {
        flex: 1;
        height: 1px;
        background: var(--border);
        margin-right: 40px;
    }

    .tour-day h2 {
        margin: 0 0 18px;
        font-size: clamp(1.6rem,2.6vw,2.1rem);
    }

.tour-days-list .tour-day-img {
    margin: 0;
    border-radius: 34px 34px 0px 0px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.tour-days-list .tour-day-meta {
    border-top: none;
    border-radius: 0px 0px 14px 14px;
}

.tour-day-img img {
    display: block;
    width: 100%;
    height: clamp(260px,30vw,360px);
    object-fit: cover;
}

.tour-day p {
    margin: 0;
    color: var(--stone-soft);
    line-height: 1.8;
    font-size: .96rem;
    text-align: justify;
}

    .tour-day p strong {
        color: var(--stone);
    }

/* ---------- Sidebar prenotazione (sticky, MODIFICA 2: sempre 20px sotto il menu) ---------- */
.tour-detail-sidebar {
    position: relative;
}

.tour-sidebar-sticky {
    position: sticky;
    top: 142px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 30px;
    background: var(--sand-deep);
    box-shadow: var(--shadow);
}

.tour-sidebar-price {
    margin: 0;
    font-family: 'Fraunces',serif;
    font-weight: 700;
    font-size: 2rem;
    color: var(--maroon);
    text-align: center;
}

.tour-sidebar-intro {
    margin: 14px 0 0;
    font-size: .86rem;
    color: var(--stone-soft);
    line-height: 1.65;
    text-align: justify;
}

.tour-sidebar-hr {
    border: none;
    border-top: 1px solid var(--border);
    margin: 18px 0;
}

.tour-sidebar-form p {
    margin: 0 0 14px;
    font-size: .82rem;
    font-weight: 700;
    color: var(--stone);
}

.tour-sidebar-form input[type="text"],
.tour-sidebar-form input[type="email"] {
    width: 100%;
    margin-top: 6px;
    padding: 11px 14px;
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    font-family: inherit;
    font-size: .92rem;
    color: var(--stone);
    background: var(--white);
}

.tour-sidebar-form input[type="submit"] {
    width: 100%;
    cursor: pointer;
    border: none;
    margin-top: 4px;
}

.tour-sidebar-form .g-recaptcha {
    margin: 6px 0 16px;
    transform: scale(.92);
    transform-origin: 0 0;
}

/* ---------- Sezione "Cosa è incluso nel prezzo" (dentro la colonna principale, card impilate) ---------- */
.tour-include-block {
    margin-top: 20px;
    padding-top: 40px;
    border-top: 1px solid var(--border);
}

    .tour-include-block .eyebrow {
        margin: 0 0 10px;
    }

    .tour-include-block h2 {
        margin: 0 0 30px;
    }

.tour-include-columns {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.tour-include-card {
    background: var(--sand);
    border-radius: 14px;
    padding: 32px 34px;
    border-left: 4px solid var(--maroon);
}

    .tour-include-card.tour-exclude-card {
        border-left-color: var(--stone);
    }

    .tour-include-card h3 {
        margin: 0 0 20px;
        font-size: 1.05rem;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: var(--stone);
    }

.tour-include-group {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
}

    .tour-include-group:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }

.tour-include-group-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

    .tour-include-group-title svg {
        width: 26px;
        height: 26px;
        flex-shrink: 0;
        color: var(--maroon);
    }

    .tour-include-group-title h4 {
        margin: 0;
        color: var(--maroon);
        font-weight: 800;
        font-size: .9rem;
        letter-spacing: .03em;
        text-transform: uppercase;
    }

.tour-check-list, .tour-cross-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .tour-check-list li, .tour-cross-list li {
        position: relative;
        padding: 8px 0 8px 30px;
        color: var(--stone-soft);
        font-size: .92rem;
        line-height: 1.6;
        border-bottom: 1px solid var(--border);
    }

        .tour-check-list li:last-child, .tour-cross-list li:last-child {
            border-bottom: none;
        }

        .tour-check-list li::before, .tour-cross-list li::before {
            position: absolute;
            left: 0;
            top: 9px;
            width: 18px;
            height: 18px;
        }

        .tour-check-list li::before {
            content: "";
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23571224' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E");
            background-size: contain;
            background-repeat: no-repeat;
        }

        .tour-cross-list li::before {
            content: "";
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236c6259' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E");
            background-size: contain;
            background-repeat: no-repeat;
        }

/* ---------- Informazioni Aggiuntive (dentro la colonna principale) ---------- */
.tour-extra-block {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid var(--border);
}

    .tour-extra-block h2 {
        margin: 0 0 20px;
    }

    .tour-extra-block p {
        color: var(--stone-soft);
        line-height: 1.8;
        text-align: justify;
    }

        .tour-extra-block p strong {
            color: var(--stone);
        }

/* ---------- Responsive ---------- */
@media(max-width:980px) {
    .tour-detail-layout {
        grid-template-columns: 1fr;
    }

    .tour-sidebar-sticky {
        position: static;
    }
}

@media(max-width:600px) {
    .tour-quickinfo-bar ul {
        gap: 28px;
    }

    .tour-detail-section {
        padding: 40px 0 10px;
    }
}

/* Fix sticky sidebar: overflow-x:hidden sul body (necessario altrove per contenere
   elementi decorativi) rompe position:sticky sui discendenti. Lo rimuoviamo solo
   su questo tipo di pagina, dove non ci sono elementi che richiedono quel clipping. */
body.page-tour-detail {
    overflow-x: visible;
}

/* ================= BOTTONI AZIONE SOTTO IL TITOLO =================
   Stile base (.tour-detail-actions, .tour-action-link, svg, hover) ora
   in style.css, caricato anche da questa pagina: qui resta solo la
   regola specifica per la freccetta del bottone "Sfoglia le foto". */
.tour-action-link .tour-action-arrow {
    font-size: 1.1rem;
    line-height: 1;
}

/* ================= LIGHTBOX FOTO GIORNI (sfondo --maroon) ================= */
.tour-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 500;
    background: var(--maroon-dark);
    flex-direction: column;
    align-items: center;
    padding: 80px 24px 24px;
}

    .tour-lightbox.open {
        display: flex;
    }

body.modal-open {
    overflow: hidden;
}

.tour-lightbox-close {
    position: absolute;
    top: 20px;
    right: 24px;
    z-index: 2;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: var(--sand);
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .tour-lightbox-close:hover {
        background: rgba(255,255,255,.22);
    }

.tour-lightbox-stage {
    position: relative;
    width: 100%;
    max-width: 1200px;
}

.tour-lightbox-nav {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: var(--sand);
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .tour-lightbox-nav:hover {
        background: rgba(255,255,255,.22);
    }

/* Freccette desktop: fuori dalla foto, ai lati della card */
.tour-lightbox-nav--stage {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

    .tour-lightbox-nav--stage.tour-lightbox-prev {
        left: -80px;
    }

    .tour-lightbox-nav--stage.tour-lightbox-next {
        right: -80px;
    }

/* Freccette mobile: ai lati del badge "Giorno X" (nascoste finché non serve, vedi media query) */
.tour-lightbox-nav--info {
    display: none;
}

/* Card: foto + pannello informazioni (Luoghi/Hotel/Attrazioni) */
.tour-lightbox-card {
    display: flex;
    align-items: stretch;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    background: var(--white);
    box-shadow: 0 34px 90px -20px rgba(0,0,0,.65);
}

.tour-lightbox-media {
    flex: 1.7 1 0%;
    min-width: 0;
}

    .tour-lightbox-media img {
        display: block;
        width: 100%;
        height: 100%;
        max-height: 62vh;
        object-fit: cover;
    }

.tour-lightbox-sidebar {
    flex: 0 0 300px;
    display: flex;
    flex-direction: column;
    gap: 26px;
    padding: 34px 30px;
    background: var(--lb-panel);
    overflow-y: auto;
}

.tlb-block {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tlb-label {
    color: var(--maroon);
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 1.05rem;
}

.tlb-value {
    color: var(--stone);
    font-size: .92rem;
    line-height: 1.5;
}

.tour-lightbox-info {
    width: 100%;
    max-width: 1200px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    text-align: center;
    padding: 26px 0 16px;
}

.tour-lightbox-info-text {
    min-width: 0;
}

.tour-lightbox-badge {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 999px;
    background: var(--gold-light);
    color: var(--maroon);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.tour-lightbox-info h3 {
    margin: 0 0 10px;
    color: var(--sand);
    font-family: 'Fraunces', serif;
    font-size: clamp(1.3rem,2.6vw,1.9rem);
}


.tour-lightbox-thumbs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    max-width: 100%;
    padding: 6px 4px 4px;
    scrollbar-width: thin;
}

.tour-lightbox-thumb {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
    cursor: pointer;
    opacity: .5;
    border: 2px solid transparent;
    transition: opacity .2s,border-color .2s;
}

    .tour-lightbox-thumb:hover {
        opacity: .8;
    }

    .tour-lightbox-thumb.is-active {
        opacity: 1;
        border-color: var(--accent-orange);
    }

@media(max-width:900px) {
    .tour-lightbox-sidebar {
        flex: 0 0 260px;
        padding: 28px 24px;
        gap: 20px;
    }
}

@media(max-width:760px) {
    .tour-lightbox {
        padding: 70px 12px 16px;
    }

    .tour-lightbox-card {
        flex-direction: column;
        border-radius: 16px;
    }

    .tour-lightbox-media img {
        max-height: 42vh;
    }

    .tour-lightbox-sidebar {
        flex: 0 0 auto;
        flex-direction: column;
        gap: 18px;
        padding: 22px 20px;
    }

    .tlb-label {
        font-size: .96rem;
    }

    .tour-lightbox-nav {
        width: 42px;
        height: 42px;
        font-size: 1.6rem;
    }

    .tour-lightbox-nav--stage {
        display: none;
    }

    .tour-lightbox-nav--info {
        display: flex;
    }

    .tour-lightbox-info {
        gap: 10px;
    }
}

/* ============================================================
   STATO VUOTO FILTRI ("Nessun tour corrispondente ai filtri")
   Usato in /trova-il-tour-su-misura-per-te.php quando nessun
   tour soddisfa i filtri selezionati (al posto della lista vuota)
   ============================================================ */
.tour-empty-state {
    display: none;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: clamp(36px,5vw,64px);
    align-items: center;
    padding: 24px 0 8px;
}

    .tour-empty-state.is-active {
        display: grid;
    }

    .tour-empty-state img {
        width: 100%;
        height: clamp(280px,32vw,380px);
        object-fit: cover;
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow-lg);
    }

.tour-empty-state-text h3 {
    margin: 0 0 18px;
    font-size: clamp(1.6rem,2.4vw,2.05rem);
    line-height: 1.12;
}

.tour-empty-state-text p {
    margin: 0 0 30px;
    color: var(--stone-soft);
    font-size: 1rem;
    line-height: 1.7;
}

@media(max-width:760px) {
    .tour-empty-state {
        grid-template-columns: 1fr;
        gap: 28px;
    }

        .tour-empty-state img {
            height: 240px;
        }
}
