/* Static-site cleanup after WordPress export. */
.wpcf7 .screen-reader-response,
.wpcf7 .hidden-fields-container,
.wpcf7-response-output {
    display: none !important;
}
.static-form input[type='text'],
.static-form input[type='tel'],
.static-form input[type='email'],
.static-form input[type='file'],
.static-form textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.static-form input[type='checkbox'] {
    margin-right: 8px;
}
.static-form-required-note {
    font-size: 13px;
    line-height: 1.4;
    margin: 0 0 8px;
}
.static-form .wpcf7-list-item {
    margin-left: 0;
}

/* Fix static Divi video background after WordPress export.
   Divi + MediaElement can leave the generated .mejs-video wrapper at left:50%
   without the negative margin, showing only the right half of the video. */
.et_pb_section_video {
    overflow: hidden !important;
}
.et_pb_section_video_bg {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    pointer-events: none !important;
}
.et_pb_section_video_bg .mejs-container,
.et_pb_section_video_bg .mejs-inner,
.et_pb_section_video_bg .mejs-mediaelement,
.et_pb_section_video_bg .mejs-video,
.et_pb_section_video_bg video {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
}
.et_pb_section_video_bg video {
    object-fit: cover !important;
}
.et_pb_section_video_bg .mejs-controls,
.et_pb_section_video_bg .mejs-overlay,
.et_pb_section_video_bg .mejs-layers {
    display: none !important;
}
.et_pb_section_video > .et_pb_row {
    position: relative !important;
    z-index: 2 !important;
}

/* Validazione form statici */
.static-form.form-submitted .field-invalid,
.static-form.form-submitted input:invalid,
.static-form.form-submitted textarea:invalid,
.static-form.form-submitted select:invalid
{
    border: 2px solid #d90000 !important;
    box-shadow: 0 0 0 2px rgba(217, 0, 0, 0.15) !important;
}

.static-form.form-submitted input[type="checkbox"].field-invalid,
.static-form.form-submitted input[type="checkbox"]:invalid
{
    outline: 2px solid #d90000 !important;
    outline-offset: 3px;
    box-shadow: none !important;
}

.static-form.form-submitted .field-invalid:focus,
.static-form.form-submitted input:invalid:focus,
.static-form.form-submitted textarea:invalid:focus,
.static-form.form-submitted select:invalid:focus
{
    border-color: #d90000 !important;
    box-shadow: 0 0 0 3px rgba(217, 0, 0, 0.25) !important;
}

/* Pagina privacy: contenuto iubenda incorporato */
.ge-privacy-page
{
 max-width: 1180px;
 margin: 0 auto;
 padding: 50px 20px;
}
.ge-privacy-page h1
{
 margin-bottom: 12px;
 color: #111111;
 font-size: 34px;
 line-height: 1.2;
 font-weight: 700;
}
.ge-privacy-intro
{
 margin-bottom: 22px;
 color: #555555;
 font-size: 16px;
 line-height: 1.6;
}
.ge-privacy-iframe-wrap
{
 width: 100%;
 min-height: 900px;
 border: 1px solid #e4e4e4;
 background: #ffffff;
 overflow: hidden;
 box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}
.ge-privacy-iframe
{
 display: block;
 width: 100%;
 height: 1200px;
 min-height: 900px;
 border: 0;
 background: #ffffff;
}
.ge-privacy-fallback
{
 margin-top: 15px;
 font-size: 14px;
 color: #555555;
}
@media (max-width: 767px)
{
 .ge-privacy-page
 {
  padding: 35px 15px;
 }
 .ge-privacy-page h1
 {
  font-size: 28px;
 }
 .ge-privacy-iframe-wrap
 {
  min-height: 760px;
 }
 .ge-privacy-iframe
 {
  height: 1000px;
  min-height: 760px;
 }
}


/* iubenda floating button / fallback */
.iubenda-cs-preferences-link
{
  cursor: pointer;
}
