/*
 * Global spacing so page content never renders behind the site's
 * fixed header or fixed footer (both position:fixed on every page,
 * every breakpoint — see Elementor "Header Advision Flex" / "Footer
 * Advision Flex" templates). Header height is a constant 76px at
 * all widths. Footer height depends on its content wrapping: ~75px
 * on desktop/tablet (≥768px, single row), ~90px on mobile (≤767px,
 * stacked column). Values below are tight (no extra buffer) so no
 * strip of a page's own background color peeks out between the
 * fixed bars and the content. This file only adds breathing room to
 * the page content — it never touches header/footer templates.
 */
body:not(.elementor-editor-active){
  padding-top: 76px !important;
  padding-bottom: 75px !important;
  box-sizing: border-box;
}
@media (max-width: 767px){
  body:not(.elementor-editor-active){
    padding-bottom: 90px !important;
  }
}

/* ===== Cornice laterale bianca (desktop) come in Home: margini ai lati del contenuto ===== */
@media (min-width:1025px){
  :root{--adv-hdr:76px;--adv-ftr:75px;--adv-side:round(clamp(40px,5.5vw,96px),2px);--adv-frame-h:calc(100vh - var(--adv-hdr) - var(--adv-ftr));}
  html{background:#FFFFFF;}
  body:not(.elementor-editor-active){padding-left:var(--adv-side) !important;padding-right:var(--adv-side) !important;}
  body:not(.page-id-9154):not(.elementor-editor-active)::before,
  body:not(.page-id-9154):not(.elementor-editor-active)::after{content:"" !important;display:block !important;position:fixed !important;top:0;bottom:0;width:var(--adv-side);background:#FFFFFF;z-index:40;pointer-events:none;}
  body:not(.page-id-9154):not(.elementor-editor-active)::before{left:0;}
  body:not(.page-id-9154):not(.elementor-editor-active)::after{right:0;}
}
/* Pallini del contatore slide: usati solo dove ci sono le slide */
.adv-dots{display:none}
@media (min-width:1025px){
  .adv-dots{position:fixed;right:0;width:var(--adv-side);top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:14px}
  .adv-dots button{width:11px;height:11px;padding:0;border:1.5px solid #1B1B1B;border-radius:50%;background:transparent;cursor:pointer;opacity:.4;transition:background .3s,opacity .3s,transform .3s;-webkit-appearance:none;appearance:none;box-shadow:none !important;outline:none}
  .adv-dots button:hover,.adv-dots button:focus{background:transparent;opacity:1;transform:scale(1.25)}
  .adv-dots button.is-active,.adv-dots button.is-active:hover{background:#1B1B1B;opacity:1}
}
/* ===== Tipografia globale (H1 56 / H2 42 / H3 36 / H4 24 / H5 21 / p 16, sottotitolo 24 non uppercase) ===== */
body h1.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:56px !important;line-height:1.15 !important}
body h2.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:42px !important;line-height:1.2 !important}
body h3.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:36px !important;line-height:1.2 !important}
body h4.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:24px !important;line-height:1.25 !important}
body h5.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:21px !important;line-height:1.3 !important}
body .adv-sub .elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:24px !important;text-transform:none !important;line-height:1.35 !important}
body .elementor-widget-text-editor:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *),body .elementor-widget-text-editor:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *) p{font-size:16px !important}
@media (max-width:1024px){
  body h1.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:48px !important}
  body h2.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:36px !important}
  body h3.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:30px !important}
  body h4.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:22px !important}
  body h5.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:19px !important}
}
@media (max-width:767px){
  body h1.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:36px !important}
  body h2.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:30px !important}
  body h3.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:26px !important}
  body h4.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:21px !important}
  body h5.elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:18px !important}
  body .adv-sub .elementor-heading-title:not(:is(.elementor-location-header,.elementor-location-footer,.elementor-popup-modal) *){font-size:20px !important}
}

/* Header mobile/tablet: breadcrumb su una riga, titolo lungo con sfumatura finale (l'header non cambia altezza) */
@media (max-width:1024px){
  .elementor-location-header .elementor-element-33d2d24{flex-wrap:nowrap !important;align-items:center !important}
  .elementor-location-header .elementor-widget-breadcrumbs{flex:1 1 0 !important;min-width:0 !important;max-width:calc(100% - 64px) !important;overflow:hidden !important;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
  .elementor-location-header .elementor-widget-breadcrumbs p,.elementor-location-header .elementor-widget-breadcrumbs .elementor-widget-container{white-space:nowrap !important;margin:0 !important}
}
@media (max-width:1024px){.elementor-location-header .elementor-widget-breadcrumbs .elementor-widget-container{display:block !important;text-align:left !important;justify-content:flex-start !important;width:max-content;min-width:100%}.elementor-location-header .elementor-widget-breadcrumbs p{display:block !important;text-align:left !important;justify-content:flex-start !important}}

/* mobile min font sizes v1.1.8 */
@media (max-width:1024px){  .adv-sv-card *, .adv-sv-tag, .adv-sv-label{font-size:max(11px,1em)!important} }

@media (max-width:1024px){ .elementor-element-98f5b37{margin-top:8px!important} .elementor-element-98f5b37 .elementor-heading-title{line-height:1.2!important} }

/* v1.2.0 footer compatto */
@media (max-width:1024px){ .elementor-location-footer .elementor-heading-title, .elementor-location-footer a{font-size:11px!important;letter-spacing:.04em!important;line-height:1.2!important} .elementor-element-98f5b37 .elementor-heading-title{font-size:11px!important} }
@media (max-width:767px){ .elementor-location-footer .elementor-heading-title, .elementor-location-footer a{font-size:10px!important} }

@media (max-width:767px){ .elementor-location-footer img{max-height:26px!important;width:auto!important} .elementor-location-footer .elementor-widget-image{margin-bottom:0!important} }

@media (max-width:767px){ .elementor-location-footer img{width:84px!important;max-height:none!important;height:auto!important} }
