﻿/* Stili per il carosello hero */
.tour-hero-carousel {
    margin-bottom: 0;
}

.tour-hero-image {
    /*height: 400px;*/
    object-fit: cover;
    object-position: center;
}

.tour-hero-title {
    font-size: 2.5rem;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
}

.tour-hero-subtitle {
    font-size: 1.2rem;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
}

/* Layout contenuto */
    .tour-content {
        padding: 4rem 0;
    }
    /* Box sezioni */
    .tour-section-box {
        background: #ffffff;
        border-radius: 12px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        overflow: hidden;
    }

    .tour-box-header {
        background: linear-gradient(45deg, var(--primary-green), var(--dark-bg));
        color: white;
        padding: 1rem 1.5rem;
    }

    .tour-box-title {
        margin: 0;
        font-size: 1.2rem;
        font-weight: 600;
    }

    .tour-box-content {
        padding: 1.5rem;
    }
    /* Banner carousel */
    .tour-banner-carousel {
        border-radius: 8px;
        overflow: hidden;
    }

    .tour-banner-image {
        height: 200px;
        object-fit: cover;
    }
    /* Liste e testo */
    .tour-list {
        list-style: none;
        padding: 0;
    }

        .tour-list li {
            padding: 0.5rem 0;
            border-bottom: 1px solid #eee;
            position: relative;
            padding-left: 1.5rem;
        }

            .tour-list li:before {
                content: "✓";
                color: #28a745;
                font-weight: bold;
                position: absolute;
                left: 0;
            }

            .tour-list li:last-child {
                border-bottom: none;
            }
    /* Highlights grid */
    .highlights-grid {
        display: grid;
        gap: 1.5rem;
    }

    .highlight-item {
        /*text-align: center;*/
        padding: 1rem;
        border: 1px solid var(--dark-bg); /* #e9ecef;*/
        border-radius: 8px;
    }

    .highlight-icon {
        font-size: 2rem;
        color: var(--primary-green); /* #007bff;*/
        margin-bottom: 0.5rem;
    }

    .highlight-item h4 {
        font-size: 1.1rem;
        margin-bottom: 0.5rem;
        display: inline;
    }
    /* Incluso/Non incluso */
    .included-list, .excluded-list {
        list-style: none;
        padding: 0;
    }

        .included-list li, .excluded-list li {
            padding: 0.25rem 0;
            position: relative;
            padding-left: 1.2rem;
        }

            .included-list li:before {
                content: "✓";
                color: #28a745;
                position: absolute;
                left: 0;
                font-weight: bold;
            }

            .excluded-list li:before {
                content: "✗";
                color: #dc3545;
                position: absolute;
                left: 0;
                font-weight: bold;
            }
    /* Sidebar */
    .tour-sidebar-box {
        background: #ffffff;
        border-radius: 12px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        overflow: hidden;
    }

    .tour-sidebar-header {
        /*background: linear-gradient(45deg, #28a745, #20c997);*/
        background: var(--primary-green);
        color: white;
        padding: 1rem 1.5rem;
        position: relative;
    }

    .tour-sidebar-title {
        margin: 0;
        font-size: 1.1rem;
        font-weight: 600;
    }

    .tour-sidebar-content {
        padding: 1.5rem;
    }
    /* Metadati */
    .tour-metadata {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    .metadata-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.5rem 0;
        border-bottom: 1px solid #f0f0f0;
    }

        .metadata-row:last-child {
            border-bottom: none;
        }

    .metadata-label {
        font-weight: 500;
        color: #666;
    }

    .metadata-value {
        font-weight: 600;
        color: #333;
    }
    /* Prezzo e prenotazione */
    .tour-price-display {
        text-align: right;
        margin-top: 0.5rem;
    }

    .price-from {
        font-size: 0.875rem;
        color: rgba(255,255,255,0.8);
    }

    .price-amount {
        font-size: 1.5rem;
        font-weight: bold;
        color: white;
    }

    .price-per {
        font-size: 0.875rem;
        color: rgba(255,255,255,0.8);
    }

    .booking-box .tour-sidebar-header {
        background: linear-gradient(45deg, #dc3545, #c62828);
    }

    .booking-form .form-label {
        font-weight: 600;
        color: #333;
        margin-bottom: 0.5rem;
    }

    .total-price-section {
        background: #f8f9fa;
        padding: 1rem;
        border-radius: 8px;
        border: 2px solid #dee2e6;
    }

    .price-calculation {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .price-label {
        font-weight: 600;
        font-size: 1.1rem;
    }

    .total-amount {
        font-size: 1.5rem;
        font-weight: bold;
        color: #dc3545;
    }

    .btn-booking {
        padding: 0.75rem 1.5rem;
        font-weight: 600;
        font-size: 1.1rem;
    }

    .booking-notes {
        text-align: center;
    }

    @media (max-width: 768px) {
        /*.tour-hero-image {
        height: 250px;
    }*/

        .tour-hero-title {
            font-size: 2rem;
        }

        .highlights-grid {
            grid-template-columns: 1fr;
        }

        .tour-content {
            padding: 2rem 0;
        }
    }

    .tour-hero-wrapper {
        position: relative;
        width: 100%;
        height: 500px;
        overflow: hidden;
    }

    .tour-hero-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.4);
        z-index: 1;
    }

    .tour-hero-content {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 2;
        text-align: center;
        color: white;
        width: 90%;
        max-width: 800px;
    }

    .tour-hero-title {
        font-size: 2.5rem;
        font-weight: bold;
        margin-bottom: 1rem;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    }

    .tour-hero-subtitle {
        font-size: 1.2rem;
        text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    }

    #tourCarousel {
        height: 100%;
    }

        #tourCarousel .carousel-inner {
            height: 100%;
        }

        #tourCarousel .carousel-item {
            height: 100%;
        }