/* Ensure the body and other elements are set to default values */

* {

    box-sizing: border-box;

    margin: 0;

    padding: 0;

}



html {

    scroll-behavior: smooth;

}



body {

    line-height: 1.75em; 

    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

    display: flex;

    flex-direction: column;

    min-height: 100vh;

}



a {

    color: #333;

    text-decoration: none;

}



h1, h2, h3 {

    padding-bottom: 20px;

}



p {

    margin: 10px 0;

}



/* Style the navigation bar */

nav {

    background-color: #333;

    color: white;

    overflow: hidden;

}



.container {

    width: 90vw;
    
    margin: auto;

    max-width: 1100px;

    overflow: auto;

    padding: 0 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-direction: column;

}



.containernav {

    margin: auto;

    max-width: 1100px;

    overflow: auto;

    padding: 0 20px;

    display: flex;

}



nav .logo {

    display: flex;

    align-items: center;
    justify-content: center;

}



nav .logo img {

    height: 60px;

    width: auto;

}



nav ul {

    list-style: none;

    margin-left: auto;

    display: flex;

    align-items: center;

}



nav ul li {

    float: left;

}



nav ul li a {

    display: block;

    padding: 20px;

    text-align: center;

    color: white;

}



nav ul li a:hover, nav ul li a.current {

    background-color: #444;

    color: yellow; 

}



/* Showcase section styling */

#showcase {

    background: url('../img/weber_fotointerni.jpg') center center/cover;

    background-repeat: no-repeat;

}



#showcase .heading {

    justify-content: center;

    text-align: center;

    padding-top: 170px;

}



#showcase .heading h1 {

    font-size: 60px;

    line-height: 1.2em;

    padding-bottom: 20px;

    color: white;

}



.heading h1 span {

    color: #f7c08a;

}



.btn {

    background-color: #333;

    opacity: 0.7; 

    border: none;

    color: white;

    padding: 13px 20px;

    text-decoration: none;

    font-size: 18px;

    display: inline-block;

    margin: 10px;

}



.btn:hover {

    background-color: #f7c08a;

    color: black;

}



/* Contact form styling */

.contact-form {

    width: 100%;

    max-width: 600px;

    margin-top: 20px;

    text-align: left;

}



.contact-form label {

    display: block;

    font-size: 1.2em;

    margin: 10px 0 5px;

    color: white;

}



.contact-form input, .contact-form textarea {

    width: 100%;

    padding: 10px;

    border: 1px solid #ccc;

    margin-bottom: 10px;

    border-radius: 5px;

}



.contact-form textarea {

    height: 150px;

}



.contact-form input[type="checkbox"] {

    width: auto;

    margin-right: 10px;

}



.contact-form button {

    background-color: #333;

    opacity: 0.7; 

    color: white;

    padding: 13px 20px;

    border: none;

    font-size: 18px;

    display: inline-block;

    margin: 10px;

}



.contact-form button:hover {

    background-color: #f7c08a;

    color: black;

}



/* Footer styling */

.foot {

    text-align: center;

    background-color: #444;

    color: white;

    padding: 20px;

}



/* Responsive Design for Mobile */

@media only screen and (max-width: 768px) {

    .container {

        flex-direction: column;

        padding: 0 10px;

    }
    .containernav {
        flex-direction: column;
        padding: 0 10px;
    }




    nav ul {

        flex-direction: row;

        flex-wrap: wrap;

        margin: 0;

        justify-content: center;

    }



    nav ul li {

        width: 50%;

        text-align: center;

    }



    #showcase .heading {

        padding-top: 100px;

    }



    #showcase .heading h1 {

        font-size: 40px;

    }



    .contact-form {

        padding: 20px;

    }



    .contact-form h1 {

        font-size: 2em;

    }



    .contact-form button {

        font-size: 1em;

    }

}











.contact-form label {

    color: #ffffff; /* Colore del testo dei label */

}



.contact-form input,

.contact-form textarea {

    background-color: #f2f2f2; /* Colore di sfondo per gli input */

    border: 1px solid #ccc;

}



.contact-form input[type="checkbox"] {

    display: none;

}

.checkbox-container {

    display: inline-block;

    position: relative;

    padding-left: 25px;

    cursor: pointer;

    font-size: 18px;

    color: #333;

    user-select: none;

    margin-bottom: 10px;

}



.checkbox-container input {

    position: absolute;

    opacity: 0;

    cursor: pointer;

    height: 0;

    width: 0;

}



.checkmark {

    position: absolute;

    top: 0;

    left: 0;

    height: 20px;

    width: 20px;

    background-color: #f2f2f2; /* Colore di sfondo per la checkbox */

    border: 1px solid #ccc;

    border-radius: 3px;

}



.checkmark:after {

    content: "";

    position: absolute;

    display: none;

}



.checkbox-container input:checked ~ .checkmark:after {

    display: block;

}



.checkbox-container .checkmark:after {

    left: 6px;

    top: 2px;

    width: 5px;

    height: 10px;

    border: solid #333;

    border-width: 0 2px 2px 0;

    transform: rotate(45deg);

}



.checkbox-container:hover .checkmark {

    background-color: #f7c08a;

    border-color: #f7c08a;

}



.contact-form input,

.contact-form textarea {

    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

}

.success-message {
    display: none;
    padding: 15px;
    background-color: #fff;
    color: #333;
    font-size: 16px;
    font-weight: 500;
    border: 2px solid #ddd;
    border-radius: 8px;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 80px; /* Spazio sotto il messaggio */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    animation: fadeIn 0.5s ease-in-out;
}

.success-message.show {
    display: block;
    animation: fadeOut 0.5s ease-in-out 3s forwards; /* Puoi rimuovere questa parte se non vuoi che scompaia mai */
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: translateY(10px);
    }
}

.accordion {
    width: 100%;
    max-width: 900px;
    margin: 60px auto;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.accordion-item {
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
    border-radius: 0;
}

.accordion-header {
    padding: 18px 24px;
    background-color: #f9f9f9;
    color: #222;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.2s ease;
}

.accordion-header:hover {
    background-color: #f0f0f0;
}

.accordion-body {
    padding: 0 24px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.4s ease;
    background-color: #ffffff;
}

.accordion-item.active .accordion-body {
    padding: 20px 24px;
    max-height: 500px; /* sufficiente per contenuto medio-lungo */
    opacity: 1;
    transition: max-height 0.6s ease, opacity 0.4s ease;
}

.arrow {
    transition: transform 0.3s ease;
    font-size: 16px;
}

.accordion-item.active .arrow {
    transform: rotate(180deg);
}

/* Testo dell’informativa */
.accordion-body p {
    margin: 0;
    line-height: 1.6em;
    color: #444;
    font-size: 16px;
}

/* Stile del titolo pagina */
.container h1 {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 20px;
    font-size: 36px;
    color: #222;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .accordion-header {
        font-size: 16px;
        padding: 16px 20px;
    }

    .accordion-body {
        padding: 0 20px;
    }

    .accordion-item.active .accordion-body {
        padding: 16px 20px;
    }

    .container h1 {
        font-size: 28px;
    }
}



.accordion-body {
    padding: 0 24px;
    max-height: 0;
    overflow: hidden;
    opacity: 1;
    transition: max-height 0.5s ease, opacity 0.4s ease 0.1s;
}

.accordion-body p {
    margin-bottom: 8px;
}

.accordion-item.active .accordion-body {
    max-height: 1000px; /* arbitrario, ma maggiore del contenuto */
    opacity: 1;
    padding: 20px 24px;
    transition: max-height 0.5s ease, opacity 0.3s ease;
}

.accordion-item.closing .accordion-body {
    opacity: 0;
    transition: opacity 0.3s ease;
}