/* Master Training: regole del sito originale (ex CSS personalizzato di WPBakery/the7) e componenti standalone. */

/* --- CSS personalizzato della home (ex "vc_custom-css") --- */
.bg_grey{background:#EFEFEF}
.title_page{background:#fff;display:inline-grid;padding:10px 20px}
.title_page span{display:inline-block;color:#0d4a77;text-transform:none;font-size:30px}
.subtitle_page{font-size:x-large;text-align:center}
.text-icon .soc-icon{font-size:32px}
.extra .dt-shortcode-icon .soc-icon{color:#fff;font-size:32px}
.vc_do_custom_heading{margin-bottom:.625rem;margin-top:0}

/* --- CSS aggiuntivo del tema (ex "the7-custom-inline-css") --- */
.layzr-bg-off .layzr-bg:not(.layzr-bg-transparent){background-color:transparent}
#dt-btn-1,#dt-btn-2{margin-bottom:0}
.mini-widgets{padding:0 30px!important}
.hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);overflow:hidden}

/* --- Navigazione one-page: le sezioni non finiscono sotto l'header fisso --- */
html{scroll-behavior:smooth}
#content [id]{scroll-margin-top:70px}
@media (max-width:800px){#content [id]{scroll-margin-top:50px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* --- Hero della home (sostituisce Slider Revolution) ---
   Le misure riproducono lo slider originale: griglia 1920×960 scalata sulla larghezza
   (1 unità = 100cqw/1920), sotto i 480px griglia 480×512. Le tre foto entrano in
   dissolvenza una dopo l'altra (0s, 3s, 6s) e resta l'ultima; il testo entra dopo 1s. */
.mt-hero{--k:calc(100cqw / 1920);position:relative;container-type:inline-size;aspect-ratio:2/1;overflow:hidden;background:#fff;font-family:Montserrat,Helvetica,Arial,Verdana,sans-serif}
.mt-hero-images img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;opacity:0;animation:mt-hero-fade 3s cubic-bezier(.645,.045,.355,1) forwards}
.mt-hero-images img:nth-child(2){animation-delay:3s}
.mt-hero-images img:nth-child(3){animation-delay:6s}
.mt-hero-box{position:absolute;z-index:2;left:50px;top:50%;transform:translateY(-50%);box-sizing:border-box;width:calc((100cqw - 100px) * 2 / 3);padding:calc(10px + 20 * var(--k)) calc(50 * var(--k)) calc(20px + 20 * var(--k));background:rgba(255,255,255,.9);animation:mt-hero-fade .3s ease both}
.mt-hero .mt-hero-title{margin:0;padding:0;overflow:hidden;font:700 calc(48 * var(--k))/calc(55 * var(--k)) Montserrat,Helvetica,Arial,Verdana,sans-serif;color:#2e80ab;text-transform:uppercase;letter-spacing:0}
.mt-hero-rule{overflow:hidden;height:max(2px,calc(6 * var(--k)));margin-top:calc(10 * var(--k))}
.mt-hero-rule span{display:block;height:100%;background:#0d4a77}
.mt-hero .mt-hero-text{margin:calc(10 * var(--k)) 0 0;padding:0;overflow:hidden;font:400 calc(28 * var(--k))/calc(34 * var(--k)) Montserrat,Helvetica,Arial,Verdana,sans-serif;color:#0d4a77}
.mt-hero-title span,.mt-hero-text span{display:block}
.mt-hero-title span{animation:mt-hero-up 1.5s cubic-bezier(.645,.045,.355,1) 1s both}
.mt-hero-rule span{animation:mt-hero-right 1.5s cubic-bezier(.645,.045,.355,1) 1s both}
.mt-hero-text span{animation:mt-hero-down 1.5s cubic-bezier(.645,.045,.355,1) 1s both}
@keyframes mt-hero-fade{from{opacity:0}to{opacity:1}}
@keyframes mt-hero-up{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}
@keyframes mt-hero-right{from{transform:translateX(-100%)}to{transform:none}}
@keyframes mt-hero-down{from{transform:translateY(-100%)}to{transform:none}}
@media (max-width:777px){.mt-hero-box{width:calc(100cqw - 100px)}}
@media (max-width:479px){
 .mt-hero{--k:calc(100cqw / 480);aspect-ratio:480/512}
 .mt-hero-box{left:20px;width:calc(100cqw - 40px);transform:translateY(calc(-50% - 10px));padding:10px calc(20 * var(--k)) calc(20px + 20 * var(--k))}
 .mt-hero .mt-hero-title{font-size:calc(30 * var(--k));line-height:calc(35 * var(--k))}
 .mt-hero .mt-hero-text{margin-top:calc(20 * var(--k));font-size:calc(18 * var(--k));line-height:calc(24 * var(--k))}
}
@media (prefers-reduced-motion:reduce){.mt-hero *{animation:none!important;opacity:1!important}}

/* --- Modulo contatti --- */
.mt-form-result{padding:16px;margin:20px 0;border:2px solid #0d4a77;border-radius:4px;color:#0d4a77;background:#fff;font-size:16px;line-height:1.6}
.mt-form-result a{margin-left:4px;text-decoration:underline}
/* honeypot anti-spam: fuori schermo, non display:none (alcuni bot saltano i campi nascosti) */
.mt-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
