/* assets/css/stile_landingpage.css */

/*
echo '
<head>
    <!-- Altri tag head -->
	<link rel="stylesheet" href="../css/w3.css">
    <link rel="stylesheet" href="../css/stile.css">	
</head> ';
*/


        /* Stili di base */
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            line-height: 1.6;
            margin: 0;
            padding: 0;
            color: #333;
            background-color: #f4f7f9;
        }

        /* Intestazione fissa (Sticky Header) */
        .sticky-header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            background-color: #fff;
            padding: 15px 0;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            z-index: 1000;
        }
        
        /* Contenitore principale */
        .container {
            max-width: 900px;
            margin: 0 auto;
            padding: 20px;
            text-align: center;
            padding-top: 120px;
        }
        
        /* Selettore lingua - Versione compatta */
        .lang-panel { text-align: center; padding-bottom: 5px; }
        .lang-panel .label { display: inline-block; margin-right: 10px; font-weight: bold; color: #555; vertical-align: middle; }
        .lang-panel img { width: 30px; height: 20px; object-fit: contain; cursor: pointer; margin: 0 3px; opacity: 0.7; border: 2px solid #ccc; border-radius: 5px; transition: opacity 0.3s ease, border 0.3s ease; vertical-align: middle; }
        .lang-panel img:hover { opacity: 1; border-color: #999; }
        .lang-panel img.active { opacity: 1; border: 2px solid #0056b3; }
        
        /* Contenitore per il logo EasySkiPro e i loghi aggiuntivi */
        .logo-container { display: flex; justify-content: center; align-items: center; gap: 20px; }
        
        /* Logo EasySkiPro (nome del gruppo) */
        .logo { font-size: 2.5em; font-weight: bold; text-transform: uppercase; }
        .logo-easy { color: #00b3ff; }
        .logo-ski { color: #0077b6; }
        .logo-pro { color: #003366; }
        
        /* Stile dei loghi ufficiali */
        .official-logo { height: 50px; object-fit: contain; }
        
        /* Sezione Header/Hero */
        .hero { background-color: #0077b6; color: white; padding: 70px 20px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); }
        .hero h1 { font-size: 3em; margin-bottom: 0.5em; }
        .hero p { font-size: 1.2em; margin-bottom: 1em; }
        .hero .esp-hub-line { font-size: 1.05em; margin: 0.5em 0 0.4em; opacity: 0.95; }
        .hero .esp-hub-link { font-size: 1em; margin: 0 0 1.2em; }
        .hero .esp-hub-link a { color: #fff; font-weight: 700; text-decoration: underline; }
 
/* Stili per la striscia di foto */
.photo-strip {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Nasconde l'overflow in caso di ridimensionamento */
    width: 100%;
    margin-bottom: 10px; /* Spazio tra la striscia e il testo */
}

.photo-strip img {
    flex: 1 1 0;
    min-width: 0; /* JPEG grandi non spingono fuori dalla striscia */
    width: 12.5%;
    max-width: 12.5%;
    height: 140px;
    object-fit: cover;
    object-position: center 30%; /* lezioni / visi */
    image-rendering: auto;
    border: 2px solid white;
    box-sizing: border-box;
}

/* Prima e ultima: panorami — centro, non taglio cielo/lati da 30% */
.photo-strip img:first-child,
.photo-strip img:last-child {
    object-position: center center;
}
 
        /* Sezioni interne */
        .section { background-color: white; padding: 40px; margin-top: 20px; border-radius: 10px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }
        h2 { color: #003366; margin-bottom: 1em; }
        ul { list-style-type: none; padding: 0; display: flex; flex-direction: column; align-items: center; }
        ul li { background-color: #e9ecef; margin: 5px 0; padding: 15px 25px; border-radius: 20px; text-align: left; width: 100%; max-width: 500px; color: #0077b6; }
        ul li span { font-weight: bold; color: #003366; display: block; margin-bottom: 5px; }
        
        /* Sezione CTA */
        .cta-section { background-color: white; padding: 40px; margin-top: 20px; border-radius: 10px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); text-align: center; }
        .cta-buttons { display: flex; justify-content: center; gap: 20px; margin-top: 20px; flex-wrap: wrap; }
        .cta-secondary { background-color: #003366; padding: 15px 30px; border: none; border-radius: 5px; cursor: pointer; font-weight: bold; text-decoration: none; color: white; min-width: 200px; text-align: center; }
        .cta-secondary:hover { opacity: 0.9; }
        
        /* Footer */
        .footer { margin-top: 20px; padding: 20px; font-size: 0.9em; color: #666; }
        .footer a { color: #0056b3; text-decoration: none; margin: 0 10px; }
        .footer a:hover { text-decoration: underline; }
        
        /* Gestione delle sezioni per la lingua */
        .lang-section { display: none; }
        .lang-section.active { display: block; }
        
        /* Stile comune per la CTA fissa (mobile di default) */
        .sticky-cta {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            text-align: center;
            padding: 15px 0;
            background-color: white;
            box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
            z-index: 999;
        }
        .sticky-cta a {
            background-color: #FFC107;
            color: #003366;
            padding: 15px 30px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: bold;
            display: inline-block;
            cursor: pointer;
        }
        .sticky-cta a:hover { opacity: 0.9; }

        /* CSS essenziale per nascondere l'honeypot e mostrare il modale/messaggi */
        .honeypot-field {
            position: absolute;
            left: -9999px;
            opacity: 0;
            height: 0;
            width: 0;
            overflow: hidden;
            z-index: -1;
        }
		
        /* Stili per il Modale (nuovi) */
        .modal {
            display: none; /* Inizialmente nascosto */
            position: fixed;
            z-index: 1001; /* Sopra tutto il resto */
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow: auto;
            background-color: rgba(0,0,0,0.6);
            padding-top: 50px;
        }
        .modal-content {
            background-color: #fff;
            margin: auto;
            padding: 40px;
            border-radius: 10px;
            max-width: 500px;
            position: relative;
            box-shadow: 0 5px 15px rgba(0,0,0,0.3);
            animation: fadeIn 0.5s;
        }
        .close-button {
            color: #aaa;
            float: right;
            font-size: 28px;
            font-weight: bold;
            cursor: pointer;
        }
        .close-button:hover,
        .close-button:focus {
            color: #000;
            text-decoration: none;
            cursor: pointer;
        }
        .modal-content h3 {
            margin-top: 0;
            color: #003366;
        }
        .modal-form label {
            display: block;
            margin-bottom: 5px;
            font-weight: bold;
            color: #555;
        }
        .modal-form input[type="text"],
        .modal-form input[type="email"],
        .modal-form input[type="tel"],
        .modal-form textarea,
        .modal-form input[type="number"],
        .modal-form select,
        .modal-form input[type="date"] {
            width: 100%;
            padding: 10px;
            margin-bottom: 20px;
            border: 1px solid #ccc;
            border-radius: 5px;
            box-sizing: border-box;
        }
        .modal-form input[type="submit"] {
            width: 100%;
            background-color: #00b3ff;
            color: white;
            padding: 15px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 1.1em;
            font-weight: bold;
        }
        .modal-form input[type="submit"]:hover {
            background-color: #0077b6;
        }
        .form-row {
            display: flex;
            gap: 20px;
            margin-bottom: 20px;
        }
        .form-row .form-group {
            flex: 1;
        }
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

/* Regola per i dispositivi più piccoli */
@media (max-width: 600px) {
    .photo-strip {
        flex-wrap: wrap; /* Le immagini vanno a capo su schermi piccoli */
        margin-bottom: 10px;
    }
    .photo-strip img {
        flex: 1 1 0;
        min-width: 0;
        width: 25%;
        max-width: 25%;
        height: 60px;
    }
}
        /* Media Queries (già presenti e aggiornate) */
        @media (max-width: 600px) {
            .hero { padding: 50px 15px; }
            .hero h1 { font-size: 2em; }
            .hero p { font-size: 1em; }
            .container { padding-top: 90px; }
            .logo { font-size: 1.8em; }
            .official-logo { height: 35px; }
            .sticky-cta { padding: 0; }
            .sticky-cta a { display: block; width: 100%; padding: 20px 0; border-radius: 0; }
            .form-row {
                flex-direction: column;
                gap: 0;
            }
        }
        @media (min-width: 601px) {
            .sticky-cta {
                position: fixed;
                top: 50%;
                right: 20px;
                bottom: auto;
                left: auto;
                width: auto;
                transform: translateY(-50%);
                padding: 20px;
                background-color: transparent;
                box-shadow: none;
                text-align: right;
            }
            .sticky-cta a {
                padding: 20px 40px;
                font-size: 1.2em;
                border-radius: 50px;
            }
        }

        /* Onda 2c.1 — sezioni profilo superficie */
        .esp-surface-section { display: none; }
        body[data-esp-surface-mode="last_minute"] .esp-surface-show-last_minute { display: block; }
        body[data-esp-surface-mode="standard"] .esp-surface-show-standard { display: block; }
        body[data-esp-surface-mode="off_season"] .esp-surface-show-off_season { display: block; }
        #esp-vetrina-teaser {
            background: #fff8e6;
            border: 2px solid #f59e0b;
            text-align: center;
        }
        #esp-vetrina-teaser h2 { color: #b45309; }
        .esp-surface-cta-row { margin-top: 16px; }
        a.cta-primary.esp-surface-cta-primary,
        .esp-surface-cta-row .cta-primary {
            display: inline-block;
            background-color: #d97706;
            color: #fff;
            padding: 15px 30px;
            border-radius: 5px;
            font-weight: bold;
            text-decoration: none;
            min-width: 200px;
        }
        /* Onda 2c.2 — vetrina slot home */
        .esp-home-vetrina { text-align: left; }
        .esp-home-vetrina__lead { text-align: center; color: #475569; margin-bottom: 20px; }
        .esp-home-vetrina__empty { text-align: center; color: #64748b; margin: 12px 0 16px; }
        .esp-home-vetrina__zone { margin-top: 18px; }
        .esp-home-vetrina__zone h3 { color: #003366; font-size: 1.15rem; margin: 0 0 10px; border-bottom: 2px solid #0077b6; padding-bottom: 6px; }
        .esp-home-vetrina__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
        .esp-home-vetrina__card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; }
        body[data-esp-surface-mode="last_minute"] .esp-home-vetrina__card { border-color: #fcd34d; background: #fffbeb; }
        .esp-home-vetrina__type { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; color: #0f766e; font-weight: 700; }
        .esp-home-vetrina__title { font-size: 1.05rem; color: #003366; }
        .esp-home-vetrina__meta { font-size: 0.9rem; color: #64748b; }
        .esp-home-vetrina__link { display: inline-block; margin-top: 4px; align-self: flex-start; background: #0077b6; color: #fff; padding: 8px 16px; border-radius: 5px; text-decoration: none; font-weight: 600; font-size: 0.92rem; }
        .esp-home-vetrina__link:hover { opacity: 0.92; }