.elementor-kit-7{--e-global-color-primary:#1B3775;--e-global-color-secondary:#001A3C;--e-global-color-text:#333A44;--e-global-color-accent:#D19939;--e-global-color-bg:#FFFFFF;--e-global-color-bgmuted:#F6F6F6;--e-global-color-border:#E2E6EC;--e-global-color-textmuted:#626B79;--e-global-color-primhover:#14295A;--e-global-color-primtint:#EEF1F7;--e-global-color-surfblue:#0A2450;--e-global-color-bordblue:#29405F;--e-global-color-onsecmut:#B8C2D8;--e-global-color-hairline:#8EA3C8;--e-global-color-accink:#8F6520;--e-global-color-acclight:#E0AC55;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Roboto";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-h1-font-family:"Roboto";--e-global-typography-h1-font-size:72px;--e-global-typography-h1-font-weight:700;--e-global-typography-h1-line-height:1.02em;--e-global-typography-h1-letter-spacing:-0.025em;--e-global-typography-h2-font-family:"Roboto";--e-global-typography-h2-font-size:48px;--e-global-typography-h2-font-weight:700;--e-global-typography-h2-line-height:1.1em;--e-global-typography-h2-letter-spacing:-0.02em;--e-global-typography-h3-font-family:"Roboto";--e-global-typography-h3-font-size:30px;--e-global-typography-h3-font-weight:700;--e-global-typography-h3-line-height:1.22em;--e-global-typography-h3-letter-spacing:-0.01em;--e-global-typography-h4-font-family:"Roboto";--e-global-typography-h4-font-size:21px;--e-global-typography-h4-font-weight:500;--e-global-typography-h4-line-height:1.35em;--e-global-typography-eyebrow-font-family:"Roboto";--e-global-typography-eyebrow-font-size:12px;--e-global-typography-eyebrow-font-weight:500;--e-global-typography-eyebrow-text-transform:uppercase;--e-global-typography-eyebrow-line-height:1.2em;--e-global-typography-eyebrow-letter-spacing:0.16em;--e-global-typography-bodylg-font-family:"Roboto";--e-global-typography-bodylg-font-size:20px;--e-global-typography-bodylg-font-weight:400;--e-global-typography-bodylg-line-height:1.6em;--e-global-typography-body-font-family:"Roboto";--e-global-typography-body-font-size:17px;--e-global-typography-body-font-weight:400;--e-global-typography-body-line-height:1.65em;--e-global-typography-bodysm-font-family:"Roboto";--e-global-typography-bodysm-font-size:15px;--e-global-typography-bodysm-font-weight:400;--e-global-typography-bodysm-line-height:1.6em;--e-global-typography-button-font-family:"Roboto";--e-global-typography-button-font-size:15px;--e-global-typography-button-font-weight:500;--e-global-typography-button-line-height:1.25em;--e-global-typography-button-letter-spacing:0.02em;--e-global-typography-cardtitle-font-family:"Roboto";--e-global-typography-cardtitle-font-size:24px;--e-global-typography-cardtitle-font-weight:700;--e-global-typography-cardtitle-line-height:1.25em;--e-global-typography-cardtitle-letter-spacing:-0.01em;--e-global-typography-cardtext-font-family:"Roboto";--e-global-typography-cardtext-font-size:16px;--e-global-typography-cardtext-font-weight:400;--e-global-typography-cardtext-line-height:1.6em;--e-global-typography-label-font-family:"Roboto";--e-global-typography-label-font-size:16px;--e-global-typography-label-font-weight:500;--e-global-typography-label-line-height:1.35em;--e-global-typography-nav-font-family:"Roboto";--e-global-typography-nav-font-size:15px;--e-global-typography-nav-font-weight:400;--e-global-typography-nav-letter-spacing:0.02em;--e-global-typography-hero-font-family:"Roboto";--e-global-typography-hero-font-size:72px;--e-global-typography-hero-font-weight:700;--e-global-typography-hero-line-height:1.02em;--e-global-typography-hero-letter-spacing:-0.025em;color:var( --e-global-color-text );font-family:var( --e-global-typography-body-font-family ), Helvetica Neue, Arial, sans-serif;font-size:var( --e-global-typography-body-font-size );font-weight:var( --e-global-typography-body-font-weight );line-height:var( --e-global-typography-body-line-height );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-button-font-family ), Helvetica Neue, Arial, sans-serif;font-size:var( --e-global-typography-button-font-size );font-weight:var( --e-global-typography-button-font-weight );line-height:var( --e-global-typography-button-line-height );letter-spacing:var( --e-global-typography-button-letter-spacing );color:var( --e-global-color-bg );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:2px 2px 2px 2px;padding:14px 28px 14px 28px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-primhover );color:var( --e-global-color-bg );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 p{margin-block-end:16px;}.elementor-kit-7 a{color:var( --e-global-color-primary );}.elementor-kit-7 a:hover{color:var( --e-global-color-primhover );}.elementor-kit-7 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-h1-font-family ), Helvetica Neue, Arial, sans-serif;font-size:var( --e-global-typography-h1-font-size );font-weight:var( --e-global-typography-h1-font-weight );line-height:var( --e-global-typography-h1-line-height );letter-spacing:var( --e-global-typography-h1-letter-spacing );}.elementor-kit-7 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-h2-font-family ), Helvetica Neue, Arial, sans-serif;font-size:var( --e-global-typography-h2-font-size );font-weight:var( --e-global-typography-h2-font-weight );line-height:var( --e-global-typography-h2-line-height );letter-spacing:var( --e-global-typography-h2-letter-spacing );}.elementor-kit-7 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-h3-font-family ), Helvetica Neue, Arial, sans-serif;font-size:var( --e-global-typography-h3-font-size );font-weight:var( --e-global-typography-h3-font-weight );line-height:var( --e-global-typography-h3-line-height );letter-spacing:var( --e-global-typography-h3-letter-spacing );}.elementor-kit-7 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-h4-font-family ), Helvetica Neue, Arial, sans-serif;font-size:var( --e-global-typography-h4-font-size );font-weight:var( --e-global-typography-h4-font-weight );line-height:var( --e-global-typography-h4-line-height );}.elementor-kit-7 label{color:var( --e-global-color-text );font-family:var( --e-global-typography-bodysm-font-family ), Helvetica Neue, Arial, sans-serif;font-size:var( --e-global-typography-bodysm-font-size );font-weight:var( --e-global-typography-bodysm-font-weight );line-height:var( --e-global-typography-bodysm-line-height );}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-family:var( --e-global-typography-body-font-family ), Helvetica Neue, Arial, sans-serif;font-size:var( --e-global-typography-body-font-size );font-weight:var( --e-global-typography-body-font-weight );line-height:var( --e-global-typography-body-line-height );color:var( --e-global-color-text );background-color:var( --e-global-color-bg );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-border );border-radius:2px 2px 2px 2px;transition:200ms;padding:12px 14px 12px 14px;}.elementor-kit-7 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea:focus,.elementor-kit-7 .elementor-field-textual:focus{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1200px){.elementor-kit-7{font-size:var( --e-global-typography-body-font-size );line-height:var( --e-global-typography-body-line-height );}.elementor-kit-7 h1{font-size:var( --e-global-typography-h1-font-size );line-height:var( --e-global-typography-h1-line-height );letter-spacing:var( --e-global-typography-h1-letter-spacing );}.elementor-kit-7 h2{font-size:var( --e-global-typography-h2-font-size );line-height:var( --e-global-typography-h2-line-height );letter-spacing:var( --e-global-typography-h2-letter-spacing );}.elementor-kit-7 h3{font-size:var( --e-global-typography-h3-font-size );line-height:var( --e-global-typography-h3-line-height );letter-spacing:var( --e-global-typography-h3-letter-spacing );}.elementor-kit-7 h4{font-size:var( --e-global-typography-h4-font-size );line-height:var( --e-global-typography-h4-line-height );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-button-font-size );line-height:var( --e-global-typography-button-line-height );letter-spacing:var( --e-global-typography-button-letter-spacing );}.elementor-kit-7 label{font-size:var( --e-global-typography-bodysm-font-size );line-height:var( --e-global-typography-bodysm-line-height );}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-size:var( --e-global-typography-body-font-size );line-height:var( --e-global-typography-body-line-height );}}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-h1-font-size:52px;--e-global-typography-h1-line-height:1.06em;--e-global-typography-h2-font-size:38px;--e-global-typography-h2-line-height:1.12em;--e-global-typography-h3-font-size:26px;--e-global-typography-h3-line-height:1.25em;--e-global-typography-h4-font-size:20px;--e-global-typography-bodylg-font-size:18px;--e-global-typography-body-font-size:16px;--e-global-typography-bodysm-font-size:15px;--e-global-typography-cardtitle-font-size:22px;--e-global-typography-cardtext-font-size:16px;--e-global-typography-label-font-size:16px;--e-global-typography-hero-font-size:52px;--e-global-typography-hero-line-height:1.06em;font-size:var( --e-global-typography-body-font-size );line-height:var( --e-global-typography-body-line-height );}.elementor-kit-7 h1{font-size:var( --e-global-typography-h1-font-size );line-height:var( --e-global-typography-h1-line-height );letter-spacing:var( --e-global-typography-h1-letter-spacing );}.elementor-kit-7 h2{font-size:var( --e-global-typography-h2-font-size );line-height:var( --e-global-typography-h2-line-height );letter-spacing:var( --e-global-typography-h2-letter-spacing );}.elementor-kit-7 h3{font-size:var( --e-global-typography-h3-font-size );line-height:var( --e-global-typography-h3-line-height );letter-spacing:var( --e-global-typography-h3-letter-spacing );}.elementor-kit-7 h4{font-size:var( --e-global-typography-h4-font-size );line-height:var( --e-global-typography-h4-line-height );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-button-font-size );line-height:var( --e-global-typography-button-line-height );letter-spacing:var( --e-global-typography-button-letter-spacing );}.elementor-kit-7 label{font-size:var( --e-global-typography-bodysm-font-size );line-height:var( --e-global-typography-bodysm-line-height );}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-size:var( --e-global-typography-body-font-size );line-height:var( --e-global-typography-body-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-h1-font-size:38px;--e-global-typography-h1-line-height:1.1em;--e-global-typography-h1-letter-spacing:-0.02em;--e-global-typography-h2-font-size:30px;--e-global-typography-h2-line-height:1.15em;--e-global-typography-h3-font-size:22px;--e-global-typography-h4-font-size:18px;--e-global-typography-eyebrow-font-size:11px;--e-global-typography-eyebrow-letter-spacing:0.14em;--e-global-typography-bodylg-font-size:17px;--e-global-typography-body-font-size:16px;--e-global-typography-bodysm-font-size:14px;--e-global-typography-cardtitle-font-size:20px;--e-global-typography-cardtext-font-size:15px;--e-global-typography-label-font-size:15px;--e-global-typography-hero-font-size:44px;--e-global-typography-hero-line-height:1.1em;--e-global-typography-hero-letter-spacing:-0.02em;font-size:var( --e-global-typography-body-font-size );line-height:var( --e-global-typography-body-line-height );}.elementor-kit-7 h1{font-size:var( --e-global-typography-h1-font-size );line-height:var( --e-global-typography-h1-line-height );letter-spacing:var( --e-global-typography-h1-letter-spacing );}.elementor-kit-7 h2{font-size:var( --e-global-typography-h2-font-size );line-height:var( --e-global-typography-h2-line-height );letter-spacing:var( --e-global-typography-h2-letter-spacing );}.elementor-kit-7 h3{font-size:var( --e-global-typography-h3-font-size );line-height:var( --e-global-typography-h3-line-height );letter-spacing:var( --e-global-typography-h3-letter-spacing );}.elementor-kit-7 h4{font-size:var( --e-global-typography-h4-font-size );line-height:var( --e-global-typography-h4-line-height );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-button-font-size );line-height:var( --e-global-typography-button-line-height );letter-spacing:var( --e-global-typography-button-letter-spacing );}.elementor-kit-7 label{font-size:var( --e-global-typography-bodysm-font-size );line-height:var( --e-global-typography-bodysm-line-height );}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-size:var( --e-global-typography-body-font-size );line-height:var( --e-global-typography-body-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}@media(min-width:1600px){.elementor-kit-7{font-size:var( --e-global-typography-body-font-size );line-height:var( --e-global-typography-body-line-height );}.elementor-kit-7 h1{font-size:var( --e-global-typography-h1-font-size );line-height:var( --e-global-typography-h1-line-height );letter-spacing:var( --e-global-typography-h1-letter-spacing );}.elementor-kit-7 h2{font-size:var( --e-global-typography-h2-font-size );line-height:var( --e-global-typography-h2-line-height );letter-spacing:var( --e-global-typography-h2-letter-spacing );}.elementor-kit-7 h3{font-size:var( --e-global-typography-h3-font-size );line-height:var( --e-global-typography-h3-line-height );letter-spacing:var( --e-global-typography-h3-letter-spacing );}.elementor-kit-7 h4{font-size:var( --e-global-typography-h4-font-size );line-height:var( --e-global-typography-h4-line-height );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-button-font-size );line-height:var( --e-global-typography-button-line-height );letter-spacing:var( --e-global-typography-button-letter-spacing );}.elementor-kit-7 label{font-size:var( --e-global-typography-bodysm-font-size );line-height:var( --e-global-typography-bodysm-line-height );}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-size:var( --e-global-typography-body-font-size );line-height:var( --e-global-typography-body-line-height );}}
/* Start custom CSS *//* Ancore (link a una sezione, es. /elevator-controllers/#brio): l'header è
   sticky, quindi la sezione si ferma sotto l'header e non dietro. */
html { scroll-padding-top: 96px; }
/* BEG — Custom CSS del Kit. Solo ciò che i widget non espongono. */
body { -webkit-font-smoothing: antialiased; }

/* Focus visibile (tokens: --focus-ring). Su fondo blu: classe on-blue
   sul container (Advanced > CSS Classes). */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 2px solid #d19939; outline-offset: 2px;
}
.on-blue a:focus-visible, .on-blue button:focus-visible,
.on-blue input:focus-visible, .on-blue select:focus-visible,
.on-blue textarea:focus-visible { outline-color: #ffffff; }

/* Icone del cliente: il tratto è in unità di disegno e con il viewBox
   diventerebbe sotto il mezzo pixel. Gli spessori (1,6 e 1,1) stanno
   già come attributo nei file caricati (wordpress-tools/icone/): qui
   solo il vector-effect e il filo delle frecce piene nei bottoni. */
.elementor-icon svg, .elementor-icon-list-icon svg,
.elementor-icon-box-icon svg { stroke-width: 0; }
.elementor-icon svg path, .elementor-icon svg [stroke],
.elementor-icon-list-icon svg path,
.elementor-button-icon svg path { vector-effect: non-scaling-stroke; }
.elementor-button-icon svg { stroke-width: 0.9px; }
/* Icon List: Elementor colora solo il `fill` delle SVG, ma le icone del
   cliente sono a tratto (stroke currentColor). Il colore lo dà quindi
   questa regola, come in components.css: blu su chiaro, Hairline su blu. */
.elementor-icon-list-icon { color: var(--e-global-color-primary); }
.on-blue .elementor-icon-list-icon { color: var(--e-global-color-hairline); }

/* Corpo su blu: interlinea 1,75 (components.css, .on-blue p). */
.on-blue .elementor-widget-text-editor p { line-height: 1.75; }

/* Hamburger (Button con sola icona, classe beg-hamburger): 24px, 1,5px. */
.beg-hamburger .elementor-button-icon svg { width: 24px; height: 24px; stroke-width: 1.5px; }
.beg-hamburger .elementor-button-icon svg path { vector-effect: none; }

/* Menu a schermo intero (Nav Menu verticale con classe beg-menu-schermo):
   filetto sotto ogni voce, che il widget in verticale non espone. */
.beg-menu-schermo .elementor-nav-menu--main .elementor-item {
  border-bottom: 1px solid #29405f;
}
.beg-menu-schermo .elementor-nav-menu--main .elementor-nav-menu > li { width: 100%; }

/* Sotto i 767px tutto è centrato. L'allineamento del Nav Menu non si
   imposta per dispositivo: classe beg-centra-mobile sul widget. */
@media (max-width: 767px) {
  .elementor-widget.beg-centra-mobile .elementor-nav-menu--layout-vertical > ul > li > a { justify-content: center; }
}
/* Hero: Nested Carousel con classe beg-hero. Pallini quadrati 8px,
   l'attivo senape; frecce (chevron pieno) con un filo di tratto;
   su mobile solo i pallini. */
.beg-hero .swiper-pagination-bullet { border-radius: 0; opacity: 1; }
.beg-hero .swiper-pagination-bullet-active { background: var(--e-global-color-accent) !important; }
.beg-hero .elementor-swiper-button svg { stroke-width: 0.8px; }
.beg-hero .elementor-swiper-button svg path { vector-effect: non-scaling-stroke; }
/* Carosello di card (Nested Carousel con classe beg-carosello, prova del
   5 ottobre): pallini quadrati come la hero, l'attivo senape; chevron col filo. */
.beg-carosello .swiper-pagination-bullet { border-radius: 0; opacity: 1; }
.beg-carosello .swiper-pagination-bullet-active { background: var(--e-global-color-accent) !important; }
.beg-carosello .elementor-swiper-button svg { stroke-width: 0.8px; }
.beg-carosello .elementor-swiper-button svg path { vector-effect: non-scaling-stroke; }
@media (max-width: 767px) {
  .elementor-widget.beg-hero .swiper ~ .elementor-swiper-button,
  .elementor-widget.beg-hero .swiper .elementor-swiper-button { display: none !important; }
}

/* Card (container con classe beg-card): in hover si solleva di 2px. */
.beg-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.beg-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0, 26, 60, .10); }

/* Card girevole come dmg.it/write-us (6 ottobre, Contatti): il container-link
   beg-flip ha due figli, beg-flip-fronte (titolo su fascia + icona) e
   beg-flip-retro (titolo, filetto, frase, email). In hover o col fuoco da
   tastiera la card gira e mostra il retro. Sui dispositivi senza hover
   (telefoni, tablet) il retro non c'è: il tocco apre subito il form. */
.beg-flip { position: relative; perspective: 1200px; }
.beg-flip > .beg-flip-fronte, .beg-flip > .beg-flip-retro {
  backface-visibility: hidden; -webkit-backface-visibility: hidden; transition: transform .5s ease; }
.beg-flip > .beg-flip-retro { position: absolute; inset: 0; transform: rotateY(180deg); }
@media (hover: hover) {
  .beg-flip:hover > .beg-flip-fronte, .beg-flip:focus-visible > .beg-flip-fronte { transform: rotateY(-180deg); }
  .beg-flip:hover > .beg-flip-retro, .beg-flip:focus-visible > .beg-flip-retro { transform: rotateY(0deg); }
}
@media (hover: none) { .beg-flip > .beg-flip-retro { display: none; } }
/* Sotto i 1025px, col mouse (finestra stretta del computer), la card era bassa (200/190) e la
   frase non ci stava (Quotes ne chiede ~320): Elementor la mandava a capo in una seconda colonna
   fuori dalla card («segno bianco a destra»). Lì la card è più alta e il retro un pelo più
   compatto, testo intero (9 ottobre, Silvia: «nelle card non devi eliminare il testo»). Sui
   telefoni (hover: none) niente cambia: niente rotazione, il tocco apre il form. */
@media (hover: hover) and (max-width: 1024px) {
  .beg-flip > .beg-flip-fronte.e-con { --min-height: 260px !important; }
  .beg-flip > .beg-flip-retro.e-con { --padding-top: 14px !important; --padding-bottom: 14px !important; --padding-left: 12px !important; --padding-right: 12px !important; --gap: 8px !important; --row-gap: 8px !important; }
  .beg-flip > .beg-flip-retro .elementor-widget-text-editor p { font-size: 14px; line-height: 1.45; } }
@media (hover: hover) and (max-width: 767px) {
  .beg-flip > .beg-flip-fronte.e-con { --min-height: 300px !important; } }
.beg-flip > .beg-flip-retro { flex-wrap: nowrap; }
@media (prefers-reduced-motion: reduce) {
  .beg-flip > .beg-flip-fronte, .beg-flip > .beg-flip-retro { transition: opacity .2s ease; }
  .beg-flip > .beg-flip-retro { transform: none; opacity: 0; }
  .beg-flip:hover > .beg-flip-fronte { transform: none; opacity: 0; }
  .beg-flip:hover > .beg-flip-retro { transform: none; opacity: 1; }
}

/* Link a freccia (Button con classe beg-link-freccia): la freccia trasla. */
.beg-link-freccia .elementor-button-icon { transition: transform .2s ease; }
.beg-link-freccia .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }

/* «Scende nella pagina» (Button con classe beg-giu, 6 ottobre: «Contact us»
   nella hero di Contact): la freccia destra del set girata verso il basso,
   in hover scende di 3px. Il disegno non cambia, solo l'orientamento. */
.beg-giu .elementor-button-icon svg { transform: rotate(90deg); }
.beg-giu .elementor-button-icon { transition: transform .2s ease; }
.beg-giu .elementor-button:hover .elementor-button-icon { transform: translateY(3px); }

/* «Esce dal sito» (Button con classe beg-esterno): la freccia diagonale del
   set ruotata di 180°, come nella home HTML. Segnala i link alle schede
   prodotto su dmg.it. In hover esce in diagonale invece che di lato. */
.beg-esterno .elementor-button-icon svg { transform: rotate(180deg); }
.beg-esterno .elementor-button:hover .elementor-button-icon { transform: translate(3px, -3px); }

/* Form (Supporto tecnico): titoletti di gruppo, asterisco e bottone del file.
   Titoletto = campo HTML con <p class="beg-form-gruppo">: stacco sopra,
   niente margine sotto (il passo lo dà il row gap del form). */
.elementor-form .beg-form-gruppo { margin: 16px 0 -8px; }
/* Mappa alta quanto il contenitore (Google Maps con classe beg-mappa-piena,
   dentro un container che si allunga): il widget e l'iframe al 100%, mai
   sotto i 280px (29 settembre, pannello recapiti + mappa di Contatti). */
.elementor-widget.beg-mappa-piena { flex: 1 1 auto; min-height: 280px; }
.beg-mappa-piena .elementor-custom-embed, .beg-mappa-piena iframe { height: 100% !important; min-height: 280px; }
/* Form su fondo blu (newsletter del footer): il link all'informativa bianco e
   sottolineato, il testo del consenso nel colore attenuato su blu. */
.on-blue .elementor-form a { color: #ffffff; text-decoration: underline; }
.on-blue .elementor-form .elementor-field-option label { color: var(--e-global-color-onsecmut); }
/* Link legali del footer (Text Editor con classe beg-legali): sempre
   sottolineati, distanziati fra loro, così si staccano dal credito. */
.beg-legali p > a { text-decoration: underline; text-underline-offset: 3px; margin-right: 14px; }
.beg-legali p > a:last-of-type { margin-right: 0; }
/* Il credito nella stessa riga, attenuato e senza sottolineatura fissa. */
.beg-legali .beg-credito, .beg-legali .beg-credito a { color: var(--e-global-color-onsecmut); text-decoration: none; }
.beg-legali .beg-credito a:hover { text-decoration: underline; }
.beg-logo-dmg img { display: block; }
/* Righe bilanciate (Text Editor o Heading con classe beg-bilanciato): il
   browser divide il testo in righe di lunghezza simile, senza una parola
   sola sull'ultima riga e senza a capo forzati. */
.beg-bilanciato p, .beg-bilanciato .elementor-heading-title, .beg-bilanciato .elementor-icon-box-description { text-wrap: balance; }
/* Titolo sempre su una riga (Heading con classe beg-una-riga, 7 ottobre:
   «BREEZE Series» nelle card di Quadri). Il testo può uscire dalla colonna. */
.elementor-widget.beg-una-riga .elementor-heading-title { white-space: nowrap; }
/* Widget Icon senza la riga di testo attorno (classe beg-icona-piena, 8 ottobre):
   il wrapper ha l'interlinea del corpo e l'icona restava 3-4px sopra il centro
   quando la si centra in verticale accanto a un testo (Technical support). */
.elementor-widget.beg-icona-piena .elementor-icon-wrapper { line-height: 0; }
/* Icon Box con l'icona accanto al titolo (9 ottobre, Why choose BEG di Quadri): il tema dà
   al titolo h3 8px di margine sopra, che lo spostava 4px sotto il centro dell'icona. */
.elementor-widget-icon-box.beg-icona-piena .elementor-icon-box-title { margin-top: 0; }
/* Icona dell'Icon Box abbassata di 2px senza muovere il titolo (classe beg-icona-giu,
   9 ottobre: il fulmine, largo in alto, centrato sul titolo sembrava alto). Solo dove
   l'icona sta accanto al titolo (desktop e portatile). */
@media (min-width: 1025px) { .elementor-widget-icon-box.beg-icona-giu .elementor-icon-box-icon { position: relative; top: 2px; } }
/* Icon Box con l'icona a sinistra solo su mobile (classe beg-voce-mobile, 9 ottobre: «Complete
   your system» di Pulsantiere): nome centrato in verticale sull'icona. !important perché
   Elementor, con l'icona sopra sul desktop, mette align-items: unset !important a ogni larghezza. */
@media (max-width: 767px) { .elementor-widget-icon-box.beg-voce-mobile.elementor-mobile-position-inline-start .elementor-icon-box-wrapper { align-items: center !important; } .elementor-widget-icon-box.beg-voce-mobile .elementor-icon-box-icon { line-height: 0; } }
/* Niente parola sola sull'ultima riga (Text Editor con classe beg-senza-orfane, 8 ottobre: Technical support). */
.beg-senza-orfane p { text-wrap: pretty; }
/* Dati della società nel footer (Text Editor con classe beg-footer-dati): le
   voci evidenziate in bianco e Medium, il resto attenuato. */
.beg-footer-dati strong { color: #ffffff; font-weight: 400; }
/* P.IVA e capitale sociale un pelo più piccoli (Silvia, 29 settembre). */
.beg-footer-dati p.beg-fiscali { font-size: 14px; line-height: 1.6; }
/* il nome della società in grassetto (Silvia, 29 settembre) */
.beg-footer-dati p:first-child strong { font-weight: 700; }
.beg-footer-dati p.beg-fiscali { font-size: 14px; }
/* Newsletter del footer (Form con classe beg-newsletter): campo e bottone sulla
   stessa riga, il consenso dopo il bottone (Elementor mette il bottone sempre
   in fondo: si riordina con order), testo del consenso 13px, placeholder
   attenuato, bottone alto quanto il campo. */
.beg-newsletter .elementor-field-type-email { order: 1; }
.beg-newsletter .elementor-field-type-submit { order: 2; }
.beg-newsletter .elementor-field-type-acceptance { order: 3; margin-top: 6px; }
.elementor-widget.beg-newsletter .elementor-field-option label { font-size: 13px !important; line-height: 1.5 !important; }
/* l'interlinea la dà il contenitore della riga (il label è in linea): va
   ridotta anche lì, altrimenti resta quella del form (Silvia, 29 settembre) */
.elementor-widget.beg-newsletter .elementor-field-type-acceptance .elementor-field-subgroup,
.elementor-widget.beg-newsletter .elementor-field-type-acceptance .elementor-field-option { font-size: 13px; line-height: 1.5; }
.beg-newsletter input::placeholder { color: var(--e-global-color-onsecmut); opacity: 1; }
.beg-newsletter .elementor-field-type-submit .elementor-button { height: 100%; min-height: 40px; }
/* su mobile, dove il footer è tutto centrato, anche il consenso (Silvia, 30 settembre) */
@media (max-width: 767px) {
  .elementor-widget.beg-newsletter .elementor-field-type-acceptance { justify-content: center; }
  .elementor-widget.beg-newsletter .elementor-field-type-acceptance .elementor-field-subgroup { text-align: center; }
}
/* Nota sotto un campo (campo HTML con <p class="beg-form-nota">): il testo
   d'aiuto del Portale di Lorena, Body SM attenuato, attaccato al campo sopra. */
.elementor-form .beg-form-nota { margin: -12px 0 0; font: 400 14px/1.5 Roboto, sans-serif; letter-spacing: 0; text-transform: none; color: var(--e-global-color-textmuted); }
.elementor-form .elementor-mark-required .elementor-field-label:after { color: var(--e-global-color-primary); }
/* «.elementor-kit-7» nel Custom CSS viene sostituito da Elementor col selettore del Kit:
   per questo ::file-.elementor-kit-7-button è scritto con l'escape 74 (= t). */
.elementor-form input[type="file"] { padding: 10px 14px; font: inherit; color: var(--e-global-color-textmuted); cursor: pointer; }
.elementor-form input[type="file"]::file-selec74 or-button {
  margin-right: 14px; padding: 8px 16px; border: 1px solid var(--e-global-color-primary); border-radius: 2px;
  background: transparent; color: var(--e-global-color-primary); font: 500 14px/1.2 Roboto, sans-serif; cursor: pointer;
  transition: background-color .2s ease, color .2s ease; }
.elementor-form input[type="file"]::file-selec74 or-button:hover { background: var(--e-global-color-primary); color: #fff; }

/* Dato in evidenza su chiaro (Text Editor con classe beg-evidenza): il senape non porta
   testo su chiaro, quindi blu del logo. Medium, non grassetto (9 ottobre, Silvia: in
   grassetto risaltava più del sottotitolo blu delle sezioni); come i sottotitoli delle card. */
.beg-evidenza strong { color: var(--e-global-color-primary); font-weight: 500; }
/* Su blu (9 ottobre, hero di Pulsantiere): solo bianco. */
.on-blue .beg-evidenza strong { color: #fff; font-weight: 400; }   /* mai grassetto nel testo della hero (Silvia, 9 ottobre): solo bianco */
/* Card prodotto di Pulsantiere (Text Editor con classe beg-card-sottotitolo, 9 ottobre):
   il primo capoverso, la riga di catalogo, fa da sottotitolo in blu del logo, Medium. */
.beg-card-sottotitolo p:first-child { color: var(--e-global-color-primary); font-weight: 500; }

/* Icone della stessa altezza (Icon Box con classe beg-icone-uniformi): le
   icone del set hanno proporzioni molto diverse, in un riquadro quadrato le
   larghe restano minuscole. Altezza fissa, larghezza libera fino a 52px. */
.elementor-widget.beg-icone-uniformi .elementor-icon { width: auto; height: auto; }
.elementor-widget.beg-icone-uniformi .elementor-icon svg { width: auto; height: 32px; max-width: 56px; }
/* Punti di connessione dei precablati (Icon Box con classe beg-icona-26). */
.elementor-widget.beg-icona-26 .elementor-icon svg { width: 44px; height: 44px; max-width: none; }

/* Footer: barretta che stacca il credito LOOOL dai dati fiscali (span nel Text Editor). */
.beg-separatore { display: inline-block; margin: 0 12px; color: var(--e-global-color-hairline); }

/* Footer: in hover i link si sottolineano e non cambiano colore
   (components.css, .icon-list a:hover). Classe beg-sottolinea sul widget. */
.elementor-widget.beg-sottolinea .elementor-item:hover,
.elementor-widget.beg-sottolinea .elementor-item:focus-visible,
.elementor-widget.beg-sottolinea a:hover .elementor-icon-list-text,
.elementor-widget.beg-sottolinea p a:hover { text-decoration: underline; }

/* LinkedIn nel footer (Social Icons con classe beg-social): icona a tratto,
   colore Hairline come le altre icone su blu, bianca in hover. */
.beg-social .elementor-social-icon { color: var(--e-global-color-hairline); background-color: transparent; }
.beg-social .elementor-social-icon:hover { color: var(--e-global-color-bg); }/* End custom CSS */