* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    width: 100%;
}

.linea {
    width: 100%;
    height: 500px;
    background: transparent;
    z-index: -2;
    position: relative;
}

.herosection {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    
}

.herosection1 {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
}

.testosezione {
    font-size: 50px;
    color: #D4AF37;
    font-weight: bold;
    position: absolute;
    z-index: 2;
    text-align: center;
    margin: 0;
}

.sezcontac{width:100%;
    height:20vh;
    background: rgba(212, 175, 55, 0.5);
    display:flex;
    color:white;
    text-align:center;
    justify-content:center;
        align-items:center;
    }
/* Sezione finale / Newsletter */
        .sezfin {
            min-height: 70vh;
            width: 100%;
            background: rgba(212, 175, 55, 0.5);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 40px 20px;

        }
.sezfin:hover{border:solid gold 1px;

}
        .divfin {
            display: flex;
            flex-direction: column;
            align-items: center;
            max-width: 600px;
            width: 100%;
            text-align: center;
            gap: 16px;
        }

        .title {
            font-size: 31px;
            font-weight: 700;
            color: gold;
            line-height: 1.2;
        }

        .subtitle {
            font-size: 18px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.7);
        }

        /* Form di iscrizione */
        .newsletter-form {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            width: 100%;
            max-width: 480px;
            position: relative;
            gap: 10px;
            margin: 10px 0;
        }

        .newsletter-input {
            width: 100%;
            height: 56px;
            background: #434343;
            color: #ffffff;
            border: 1px solid transparent;
            border-radius: 18px;
            padding: 0 20px;
            font-family: inherit;
            font-size: 14px;
            outline: none;
            transition: border-color 0.3s ease;
        }

        .newsletter-input:focus,
        .newsletter-message:focus {
            border-color: gold;
        }

        .newsletter-input::placeholder {
            color: rgba(255, 255, 255, 0.5);
        }

        .newsletter-message {
            min-height: 120px;
            height: auto;
            padding: 14px 20px;
            resize: vertical;
        }

        .newsletter-field-label {
            color: #ffffff;
            font-size: 14px;
            text-align: left;
        }

        .newsletter-consent {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            color: rgba(255, 255, 255, 0.8);
            font-size: 12px;
            line-height: 1.5;
            text-align: left;
        }

        .newsletter-consent input {
            flex: 0 0 auto;
            margin-top: 3px;
            accent-color: gold;
        }

        .newsletter-honeypot {
            position: absolute;
            left: -10000px;
            width: 1px;
            height: 1px;
            overflow: hidden;
        }

        .newsletter-notice {
            color: gold;
            font-size: 15px;
            font-weight: 600;
        }

        .newsletter-notice-error {
            color: #ff9b9b;
        }

        .newsletter-btn {
            position: static;
            align-self: center;
            min-width: 140px;
            min-height: 46px;
            background: gold;
            color: #ffffff;
            border: none;
            border-radius: 21px;
            font-family: inherit;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: background 0.3s ease;
        }

        .newsletter-btn:hover {
            background: #d4c85b;
        }

        .disclaimer {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.8);
            line-height: 1.5;
            max-width: 90%;
        }

        .disclaimer a {
            color: #ffffff;
            text-decoration: underline;
        }