.elementor-1120 .elementor-element.elementor-element-f53950f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:70px 70px;--row-gap:70px;--column-gap:70px;--margin-top:250px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1120 .elementor-element.elementor-element-4b5d846{--display:flex;}.elementor-1120 .elementor-element.elementor-element-7aeb7b8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 15px 0px;z-index:2;text-align:center;}.elementor-1120 .elementor-element.elementor-element-7aeb7b8 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-accent );}.elementor-1120 .elementor-element.elementor-element-f59e0d8{--grid-row-gap:40px;--grid-column-gap:40px;}.elementor-1120 .elementor-element.elementor-element-f59e0d8 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 1 * 100% );}.elementor-1120 .elementor-element.elementor-element-f59e0d8:after{content:"1";}.elementor-1120 .elementor-element.elementor-element-f59e0d8 .elementor-post__thumbnail__link{width:100%;}.elementor-1120 .elementor-element.elementor-element-f59e0d8 .elementor-post__thumbnail{border-radius:0px 0px 0px 0px;}.elementor-1120 .elementor-element.elementor-element-f59e0d8.elementor-posts--thumbnail-left .elementor-post__thumbnail__link{margin-right:20px;}.elementor-1120 .elementor-element.elementor-element-f59e0d8.elementor-posts--thumbnail-right .elementor-post__thumbnail__link{margin-left:20px;}.elementor-1120 .elementor-element.elementor-element-f59e0d8.elementor-posts--thumbnail-top .elementor-post__thumbnail__link{margin-bottom:20px;}.elementor-1120 .elementor-element.elementor-element-f59e0d8 .elementor-post__title, .elementor-1120 .elementor-element.elementor-element-f59e0d8 .elementor-post__title a{color:var( --e-global-color-primary );font-family:"DM Serif Display", Sans-serif;font-size:18px;font-weight:500;line-height:1.2em;letter-spacing:0.2px;}@media(min-width:768px){.elementor-1120 .elementor-element.elementor-element-f53950f{--content-width:1080px;}}@media(max-width:1024px){.elementor-1120 .elementor-element.elementor-element-f53950f{--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1120 .elementor-element.elementor-element-7aeb7b8 .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}}@media(max-width:767px){.elementor-1120 .elementor-element.elementor-element-f53950f{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:200px;--padding-left:0px;--padding-right:0px;}.elementor-1120 .elementor-element.elementor-element-4b5d846{--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-1120 .elementor-element.elementor-element-7aeb7b8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-1120 .elementor-element.elementor-element-7aeb7b8 .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-1120 .elementor-element.elementor-element-f59e0d8 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1120 .elementor-element.elementor-element-f59e0d8 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 1 * 100% );}.elementor-1120 .elementor-element.elementor-element-f59e0d8:after{content:"1";}.elementor-1120 .elementor-element.elementor-element-f59e0d8 .elementor-post__thumbnail__link{width:100%;}}/* Start custom CSS *//* =========
   VARIABILI GLOBALI
   ========= */
:root{
  /* Padding verticale */
  --pb-min: 70px;
  --pb-vw: 15vw;
  --pb-max: 200px;

  /* Padding orizzontale */
  --pi-min: 40px;
  --pi-vw: 4vw;
  --pi-max: 50px;

  /* Footer variant */
  --pb-footer-max: 100px;

  /* Gap generico tra widget/elementi */
  --gap: 20px;
}

/* Evita scroll orizzontale: usa con giudizio (può tagliare box-shadow fuori viewport) */
html, body { overflow-x: hidden; }

/* =========
   UTILITY BOX (i tuoi)
   ========= */
.padding-box-positive{
  /* solo bottom fluido come da tua scelta */
  padding-bottom: clamp(var(--pb-min), var(--pb-vw), var(--pb-max));
  padding-inline: clamp(var(--pi-min), var(--pi-vw), var(--pi-max));
}

.padding-box-negative{
  margin-bottom: clamp(var(--pb-min), var(--pb-vw), var(--pb-max));
  padding-block: clamp(var(--pb-min), var(--pb-vw), var(--pb-max));
  padding-inline: clamp(var(--pi-min), var(--pi-vw), var(--pi-max));
}

.padding-box-negative-no-under{
  padding-block: clamp(var(--pb-min), var(--pb-vw), var(--pb-max));
  padding-inline: clamp(var(--pi-min), var(--pi-vw), var(--pi-max));
}

.padding-box-negative-footer{
  padding-block: clamp(var(--pb-min), var(--pb-vw), var(--pb-footer-max));
  padding-inline: clamp(var(--pi-min), var(--pi-vw), var(--pi-max));
}

/* =========
   FINE SPAZI FANTASMA — SCOPATO AI TUOI BOX E A ELEMENTOR
   ========= */

/* Evita il selettore universale globale.
   Toglie il margine solo all’ultimo figlio dei contenitori dove serve. */
:where(
  .padding-box-positive,
  .padding-box-negative,
  .padding-box-negative-no-under,
  .padding-box-negative-footer
) > *:last-child{
  margin-bottom: 0 !important;
}

/* Reset margini predefiniti nei widget testo/heading di Elementor */
.elementor .elementor-widget-text-editor p,
.elementor .elementor-widget-text-editor h1,
.elementor .elementor-widget-text-editor h2,
.elementor .elementor-widget-text-editor h3,
.elementor .elementor-widget-text-editor h4,
.elementor .elementor-widget-text-editor h5,
.elementor .elementor-widget-text-editor h6{
  margin-top: 0;
  margin-bottom: 1em;
}

/* Niente margine sull’ultimo nodo di testo */
.elementor .elementor-widget-text-editor > *:last-child{
  margin-bottom: 0 !important;
}

/* Colonne: togli margini extra */
.elementor .elementor-column > .elementor-widget-wrap{
  margin-bottom: 0 !important;
}

/* Titoli e spacer: no margine sotto di default */
.elementor .elementor-widget-heading,
.elementor .elementor-widget-spacer{
  margin-bottom: 0 !important;
}

/* Line-height controllato per i paragrafi di Elementor */
.elementor p{ line-height: 1.4; 
    letter-spacing: 0.03em; /* 5% della dimensione del font */
}

/* Gap coerente tra widget se non gestito da UI
   (puoi commentare se usi già il “gap tra widget” nelle sezioni) */
.elementor .elementor-widget:not(:last-child){
  margin-bottom: var(--gap);
}

/* Optional: box-sizing per tutto il DOM Elementor (più prevedibile con paddings) */
.elementor *{ box-sizing: border-box; }


/* Per Firefox */
::-moz-selection {
  background-color: #B68E48;
  color: #fff; /* per garantire visibilità sullo sfondo scuro */
}

/* Per tutti gli altri browser moderni */
::selection {
  background-color: #B68E48;
  color: #fff;
}/* End custom CSS */