:root{
  --sc-forest:var(--e-global-color-primary,#123f3a);
  --sc-forest-2:var(--e-global-color-secondary,#24564f);
  --sc-sage:var(--e-global-color-accent,#91a99d);
  --sc-sage-soft:var(--e-global-color-scsoft,#dfe8e3);
  --sc-sage-pale:#eff4f1;
  --sc-ivory:var(--e-global-color-scivory,#fbfaf6);
  --sc-cream:var(--e-global-color-sccream,#f5f1e9);
  --sc-lotus:var(--e-global-color-sclotus,#e7ddd4);
  --sc-paper:#ffffff;
  --sc-text:var(--e-global-color-text,#173f3a);
  --sc-muted:var(--e-global-color-scmuted,#60736e);
  --sc-line:var(--e-global-color-scline,#dce5e0);
  --sc-line-dark:#c8d6cf;
  --sc-shadow:0 20px 58px rgba(18,63,58,.10);
  --sc-shadow-soft:0 10px 30px rgba(18,63,58,.065);
  --sc-wrap:1180px;
  --sc-radius-lg:30px;
  --sc-radius-md:22px;
  --sc-radius-sm:16px;
}

/* ===== Base / reset ===== */
html{scroll-behavior:smooth;overflow-x:hidden}
body.sc-elementor-theme{
  margin:0;
  overflow-x:hidden;
  background:var(--sc-ivory);
  color:var(--sc-text);
  font-family:var(--e-global-typography-text-font-family,"Manrope"),Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.sc-elementor-theme *{box-sizing:border-box}
body.sc-elementor-theme a{text-decoration:none}
body.sc-elementor-theme main#content.site-main,
body.sc-elementor-theme .site-main,
body.sc-elementor-theme .page-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.sc-elementor-theme .page-header{display:none!important}

.sc-wrap,.sc-header-inner,.sc-footer-inner{
  width:min(var(--sc-wrap),calc(100% - 44px))!important;
  max-width:var(--sc-wrap)!important;
  margin-inline:auto!important;
}
.sc-section{padding:78px 0!important}
.sc-section-white{background:#fff}
.sc-section-soft{background:var(--sc-cream)}

/* ===== Typography ===== */
body.sc-elementor-theme .elementor-widget-heading .elementor-heading-title{
  margin:0;
  color:var(--sc-forest);
  font-family:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),Georgia,serif!important;
  font-weight:600;
  line-height:1.03;
  letter-spacing:-.03em;
}
body.sc-elementor-theme .elementor-widget-text-editor{font-family:var(--e-global-typography-text-font-family,"Manrope"),Arial,sans-serif!important;color:var(--sc-muted)}
body.sc-elementor-theme .elementor-widget-text-editor p{margin-top:0;margin-bottom:1em}
body.sc-elementor-theme .elementor-widget-text-editor p:last-child{margin-bottom:0}
.sc-eyebrow .elementor-heading-title,
.sc-eyebrow-text{
  font-family:var(--e-global-typography-text-font-family,"Manrope"),Arial,sans-serif!important;
  font-size:.74rem!important;
  line-height:1.25!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  color:var(--sc-forest-2)!important;
}
.sc-hero-title .elementor-heading-title{font-size:clamp(3.6rem,5.2vw,5rem)!important;line-height:.96!important;letter-spacing:-.045em!important}
.sc-page-title .elementor-heading-title{font-size:clamp(3.1rem,4.7vw,4.55rem)!important;line-height:.98!important}
.sc-section-title .elementor-heading-title{font-size:clamp(2.45rem,3.45vw,3.35rem)!important;line-height:1.01!important}
.sc-card-title .elementor-heading-title{font-size:clamp(1.55rem,2vw,1.95rem)!important;line-height:1.06!important}
.sc-lead{max-width:760px;font-size:1.03rem!important;line-height:1.72!important;color:#506964!important}
.sc-copy{max-width:880px}

/* ===== Buttons ===== */
.sc-actions{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important}
.sc-btn{width:auto!important}
.sc-btn .elementor-button,
body.sc-elementor-theme .elementor-widget-button .elementor-button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 22px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  font-family:var(--e-global-typography-text-font-family,"Manrope"),Arial,sans-serif!important;
  font-size:.9rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.sc-btn-primary .elementor-button,
body.sc-elementor-theme .sc-btn-primary .elementor-button{
  background:var(--sc-forest)!important;
  border-color:var(--sc-forest)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(18,63,58,.15)!important;
}
.sc-btn-secondary .elementor-button,
body.sc-elementor-theme .sc-btn-secondary .elementor-button{
  background:#fff!important;
  border-color:var(--sc-line-dark)!important;
  color:var(--sc-forest)!important;
  box-shadow:none!important;
}
.sc-btn-light .elementor-button,
body.sc-elementor-theme .sc-btn-light .elementor-button{
  background:#fff!important;
  border-color:#fff!important;
  color:var(--sc-forest)!important;
  box-shadow:0 10px 24px rgba(8,31,28,.13)!important;
}
.sc-btn .elementor-button:hover{transform:translateY(-1px)}

/* ===== Global header ===== */
.sc-global-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(251,250,246,.96);
  border-bottom:1px solid rgba(220,229,224,.9);
  box-shadow:0 3px 18px rgba(18,63,58,.035);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.admin-bar .sc-global-header{top:32px}
.sc-global-header-inner{
  width:min(var(--sc-wrap),calc(100% - 44px));
  min-height:92px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:290px 1fr auto;
  align-items:center;
  gap:26px;
}
.sc-global-logo{display:flex;align-items:center;min-width:0}
.sc-global-logo img{display:block;width:260px;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center}
.sc-global-nav{justify-self:center}
.sc-global-menu{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}
.sc-global-menu li{margin:0;padding:0}
.sc-global-menu a{color:#49635d;font-size:.9rem;font-weight:750;line-height:1.2;transition:color .18s ease}
.sc-global-menu a:hover,.sc-global-menu .current-menu-item>a,.sc-global-menu .current_page_item>a{color:var(--sc-forest)}
.sc-global-cta,.sc-global-drawer-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:11px 19px;border-radius:999px;
  background:var(--sc-forest);color:#fff!important;font-size:.84rem;font-weight:800;white-space:nowrap;
  box-shadow:0 10px 24px rgba(18,63,58,.14)
}
.sc-global-menu-toggle{
  display:none;width:44px;height:44px;border:1px solid var(--sc-line)!important;border-radius:50%;background:#fff!important;color:var(--sc-forest)!important;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0!important;cursor:pointer;box-shadow:none!important;outline:0
}
.sc-global-menu-toggle span{display:block;width:20px;height:2px;border-radius:999px;background:currentColor!important}
.sc-global-menu-toggle:hover,.sc-global-menu-toggle:focus,.sc-global-menu-toggle:active{background:#fff!important;color:var(--sc-forest)!important;border-color:var(--sc-line)!important;box-shadow:none!important}
.sc-global-menu-toggle:focus-visible{outline:2px solid var(--sc-sage)!important;outline-offset:3px}
.sc-global-drawer-head,.sc-global-drawer-bottom,.sc-global-menu-backdrop{display:none}
html.sc-menu-open,body.sc-menu-open{overflow:hidden!important}

/* ===== Global footer ===== */
.sc-global-footer{background:#0c3934;color:#c9d9d3}
.sc-global-footer-inner{width:min(var(--sc-wrap),calc(100% - 44px));margin-inline:auto;padding:54px 0 24px}
.sc-global-footer-main{display:grid;grid-template-columns:minmax(0,1.35fr) auto;align-items:start;gap:72px}
.sc-global-footer-brand img{display:block;width:320px;max-width:100%;height:auto;max-height:none;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}
.sc-global-footer-brand p{max-width:650px;margin:18px 0 0;color:#c9d9d3;font-size:.86rem;line-height:1.7}
.sc-global-footer-location{margin-top:14px!important;color:#dce9e4!important}
.sc-global-footer-location strong{color:#fff}
.sc-global-footer-nav{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-wrap:wrap;padding-top:8px}
.sc-global-footer-nav a{color:#fff!important;font-size:.82rem;font-weight:700}
.sc-global-footer-professional{display:flex;flex-wrap:wrap;gap:7px 18px;max-width:760px;margin-top:16px;color:#b8ccc5;font-size:.74rem;line-height:1.55}
.sc-global-footer-professional span{position:relative}
.sc-global-footer-professional span+span:before{content:"·";position:absolute;left:-11px;color:#789b92}
.sc-global-footer-professional strong{color:#e8f1ee;font-weight:750}
.sc-global-footer-professional a{color:#d3e2dd!important;text-decoration:underline;text-decoration-color:rgba(211,226,221,.35);text-underline-offset:3px}
.sc-global-footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap}
.sc-global-footer-legal a{color:#b8ccc5!important;font-size:.74rem;font-weight:650}
.sc-global-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.11);color:#9fb8b1;font-size:.72rem}

/* ===== Home hero ===== */
.sc-home-hero{
  padding:24px 0 26px!important;
  background:
    radial-gradient(circle at 84% 20%,rgba(145,169,157,.19),transparent 28%),
    radial-gradient(circle at 12% 8%,rgba(231,221,212,.45),transparent 26%),
    linear-gradient(180deg,#fffefb 0%,#f8f4ed 100%);
}
.sc-home-hero .sc-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  grid-template-areas:"copy media" "actions media"!important;
  grid-template-rows:auto auto!important;
  column-gap:66px!important;
  row-gap:18px!important;
  min-height:500px!important;
  align-content:center!important;
  align-items:start!important;
}
.sc-home-hero .sc-hero-grid>.e-con{width:100%!important;max-width:none!important;min-width:0!important}
.sc-home-hero .sc-hero-copy-top{grid-area:copy!important;max-width:640px!important;align-self:end!important}
.sc-home-hero .sc-hero-media{grid-area:media!important;align-self:center!important}
.sc-home-hero .sc-hero-actions{grid-area:actions!important;max-width:640px!important;align-self:start!important;margin:0!important}
.sc-hero-visual{
  position:relative;min-height:410px;border-radius:34px;overflow:hidden;border:1px solid #dbe5df;
  background:linear-gradient(155deg,#dce7e1 0%,#f3eee7 78%);box-shadow:var(--sc-shadow);
  display:flex;align-items:flex-end;padding:28px
}
.sc-hero-visual:before{
  content:"SC";position:absolute;right:-10px;top:14px;font-family:"Cormorant Garamond",Georgia,serif;
  font-size:14rem;line-height:1;color:rgba(18,63,58,.055)
}
.sc-hero-visual-card{
  position:relative;z-index:2;width:min(100%,360px);padding:22px;border-radius:22px;background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.95);box-shadow:0 12px 28px rgba(18,63,58,.07)
}
.sc-hero-visual-card span{display:block;margin-bottom:5px;color:var(--sc-forest-2);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.sc-hero-visual-card strong{display:block;margin:0 0 8px;color:var(--sc-forest);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.75rem;line-height:1.04;font-weight:600}
.sc-hero-visual-card p{margin:0;color:var(--sc-muted);font-size:.87rem;line-height:1.58}

/* Home: fascia tre punti */
.sc-home-trust{padding:32px 0 38px!important;background:var(--sc-sage-pale)!important}
.sc-home-trust .sc-trust-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.sc-home-trust .sc-trust-item{
  position:relative;min-height:158px!important;padding:28px 26px 24px 76px!important;
  border:1px solid #d8e3dd!important;border-radius:22px!important;background:#fff!important;box-shadow:0 14px 34px rgba(18,63,58,.055)!important
}
.sc-home-trust .sc-trust-item:before{
  position:absolute;left:24px;top:26px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:var(--sc-sage-soft);color:var(--sc-forest);font-size:.68rem;font-weight:900;letter-spacing:.05em
}
.sc-home-trust .sc-trust-item:nth-child(1):before{content:"01"}
.sc-home-trust .sc-trust-item:nth-child(2):before{content:"02"}
.sc-home-trust .sc-trust-item:nth-child(3):before{content:"03"}
.sc-home-trust .sc-trust-item .elementor-heading-title{
  font-family:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),Georgia,serif!important;font-size:1.55rem!important;line-height:1.05!important;
  color:var(--sc-forest)!important;font-weight:600!important;letter-spacing:-.025em!important
}
.sc-home-trust .sc-trust-item .elementor-widget-text-editor,
.sc-home-trust .sc-trust-item .elementor-widget-text-editor p{margin:7px 0 0!important;color:var(--sc-muted)!important;font-size:.88rem!important;line-height:1.55!important}

/* Home: Allergologia */
.sc-home-allergy .sc-section-head{display:block!important;max-width:930px!important;margin-bottom:34px!important}
.sc-home-allergy .sc-section-head-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;max-width:900px!important}
.sc-home-allergy .sc-home-allergy-main-cta{margin-top:18px!important}
.sc-home-allergy .sc-service-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
.sc-home-allergy .sc-service-card{
  min-height:220px!important;padding:30px!important;border-radius:var(--sc-radius-md)!important;border:1px solid var(--sc-line)!important;
  box-shadow:var(--sc-shadow-soft)!important;background:#fff!important
}
.sc-home-allergy .sc-service-card:first-child{background:linear-gradient(145deg,#edf5f1,#fff)!important}
.sc-home-allergy .sc-service-card:last-child{background:linear-gradient(145deg,#faf7f1,#fff)!important}
.sc-home-allergy .sc-service-card .elementor-widget-text-editor{font-size:.92rem;line-height:1.65}

/* Home: Chi sono */
.sc-home-about .sc-grid-2-about{display:grid!important;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr)!important;gap:62px!important;align-items:center!important}
.sc-home-about .sc-grid-2-about>.e-con{width:100%!important;max-width:none!important;min-width:0!important}
.sc-about-photo{position:relative;min-height:370px;border-radius:30px;overflow:hidden;background:linear-gradient(155deg,#dfe9e4,#f4eee7);border:1px solid var(--sc-line);box-shadow:var(--sc-shadow-soft)}
.sc-about-photo:before{content:"SC";position:absolute;inset:0;display:grid;place-items:center;color:rgba(18,63,58,.065);font-family:"Cormorant Garamond",Georgia,serif;font-size:9rem}
.sc-about-copy{max-width:690px}
.sc-credential-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;
  margin:24px 0 18px!important;border-top:1px solid var(--sc-line)!important;border-bottom:1px solid var(--sc-line)!important
}
.sc-credential{
  min-height:96px!important;padding:18px 24px 18px 0!important;background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;color:var(--sc-forest)!important
}
.sc-credential+.sc-credential{padding-left:26px!important;border-left:1px solid var(--sc-line)!important}
.sc-credential .elementor-widget-container{display:flex!important;flex-direction:column!important;gap:6px!important}
.sc-credential-kicker{font-size:.66rem!important;line-height:1.2!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.13em!important;color:var(--sc-sage)!important}
.sc-credential strong{display:block;color:var(--sc-forest)!important;font-family:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),Georgia,serif!important;font-size:1.45rem!important;line-height:1.05!important;font-weight:600!important;letter-spacing:-.02em!important}

/* Home: Agopuntura */
.sc-home-acupuncture{padding:64px 0!important;background:#fff}
.sc-acupuncture-card{
  display:grid!important;grid-template-columns:minmax(0,1.18fr) minmax(290px,.82fr)!important;gap:44px!important;align-items:center!important;
  padding:38px!important;border:1px solid #eadfd5!important;border-radius:30px!important;background:linear-gradient(145deg,#f8f3ec,#fff)!important
}
.sc-acupuncture-card>.e-con{width:100%!important;max-width:none!important;min-width:0!important}
.sc-acupuncture-note{padding:24px!important;border:1px solid var(--sc-line)!important;border-radius:20px!important;background:#fff!important}
.sc-acupuncture-note .elementor-widget-text-editor{font-size:.9rem;line-height:1.6}

/* Home: booking */
.sc-booking-band{padding:68px 0!important;background:linear-gradient(135deg,var(--sc-forest),var(--sc-forest-2))!important;color:#fff}
.sc-booking-grid{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr)!important;gap:58px!important;align-items:start!important}
.sc-booking-grid>.e-con{width:100%!important;max-width:none!important;min-width:0!important}
.sc-booking-band .elementor-heading-title{color:#fff!important}
.sc-booking-band .sc-eyebrow .elementor-heading-title{color:#c7ddd5!important}
.sc-booking-band .elementor-widget-text-editor,.sc-booking-band .elementor-widget-text-editor p{color:#e5f0ec!important}
.sc-booking-steps{display:flex!important;flex-direction:column!important;gap:14px!important;align-items:stretch!important}
.sc-booking-step{
  width:100%!important;display:grid!important;grid-template-columns:52px 1fr!important;align-items:center!important;gap:16px!important;
  padding:18px 20px!important;border:1px solid rgba(255,255,255,.20)!important;border-radius:18px!important;background:rgba(255,255,255,.09)!important
}
.sc-booking-step .sc-step-num{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--sc-forest);
  font-size:.9rem;font-weight:900;box-shadow:0 8px 18px rgba(8,31,28,.16)
}
.sc-booking-step .sc-card-title .elementor-heading-title,
.sc-booking-step .elementor-widget-heading .elementor-heading-title{color:#fff!important;font-size:1.55rem!important;line-height:1.05!important}
.sc-booking-step .elementor-widget-text-editor,.sc-booking-step .elementor-widget-text-editor p{margin:3px 0 0!important;color:#edf6f2!important;font-size:.88rem!important;line-height:1.5!important}

/* ===== Internal page hero ===== */
.sc-page-hero{
  padding:32px 0 38px!important;
  background:radial-gradient(circle at 85% 18%,rgba(145,169,157,.17),transparent 27%),linear-gradient(180deg,#fffefb,#f7f3ec)
}
.sc-page-hero>.sc-wrap{padding:0!important}
.sc-page-hero>.sc-wrap.sc-grid-2,
.sc-allergy-page-hero>.sc-wrap.sc-allergy-grid{
  display:grid!important;grid-template-columns:minmax(0,1.22fr) minmax(310px,.78fr)!important;gap:50px!important;align-items:center!important
}
.sc-page-hero>.sc-wrap.sc-grid-2>.e-con,
.sc-allergy-page-hero>.sc-wrap.sc-allergy-grid>.e-con{width:100%!important;max-width:none!important;min-width:0!important}
.sc-page-hero .sc-actions{margin-top:20px!important;flex-wrap:nowrap!important}
.sc-page-hero .sc-actions>.elementor-widget-button{width:auto!important;flex:0 0 auto!important}
.sc-page-panel,.sc-allergy-hero-panel{
  width:100%!important;padding:30px!important;border:1px solid var(--sc-line)!important;border-radius:28px!important;background:#fff!important;box-shadow:var(--sc-shadow-soft)!important
}
.sc-page-panel .elementor-widget-text-editor,.sc-allergy-hero-panel .elementor-widget-text-editor{font-size:.9rem;line-height:1.65}
.sc-panel-note{margin-top:12px!important;padding-top:12px!important;border-top:1px solid var(--sc-line);font-size:.8rem!important;color:var(--sc-muted)!important}
.sc-check-list{margin:4px 0 0;padding:0;list-style:none}
.sc-check-list li{position:relative;padding:9px 0 9px 22px;border-bottom:1px solid #edf1ef;color:#4e6862}
.sc-check-list li:last-child{border-bottom:0}
.sc-check-list li:before{content:"";position:absolute;left:0;top:17px;width:8px;height:8px;border-radius:50%;background:var(--sc-sage)}

/* ===== Allergologia ===== */
.sc-allergy-topics .sc-topic-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;margin-top:30px!important}
.sc-topic-card{
  position:relative;min-height:190px!important;padding:28px 30px 28px 34px!important;border:1px solid var(--sc-line)!important;
  border-radius:22px!important;background:#fff!important;box-shadow:0 8px 26px rgba(18,63,58,.045)!important;overflow:hidden
}
.sc-topic-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sc-sage-soft)}
.sc-topic-card:nth-child(even):before{background:var(--sc-lotus)}
.sc-topic-card .elementor-widget-text-editor{font-size:.9rem;line-height:1.62}
.sc-allergy-process .sc-process-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;margin-top:30px!important}
.sc-process-card{min-height:230px!important;padding:28px!important;border:1px solid #ddd9cf!important;border-radius:22px!important;background:#fff!important}
.sc-process-num{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;margin-bottom:18px;background:var(--sc-sage-soft);color:var(--sc-forest);font-size:.7rem;font-weight:900}
.sc-process-card .elementor-widget-text-editor{font-size:.9rem;line-height:1.62}
.sc-pediatric-grid{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)!important;gap:50px!important;align-items:center!important}
.sc-pediatric-grid>.e-con{width:100%!important;max-width:none!important;min-width:0!important}
.sc-pediatric-proof{padding:30px!important;border:1px solid var(--sc-line)!important;border-radius:24px!important;background:linear-gradient(145deg,#eff5f1,#fff)!important}
.sc-pediatric-proof .elementor-widget-text-editor{font-size:.9rem;line-height:1.6}
.sc-allergy-final{padding-top:0!important;background:#fff}
.sc-allergy-cta{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:36px!important;align-items:center!important;
  padding:38px!important;border-radius:30px!important;background:linear-gradient(135deg,var(--sc-forest),var(--sc-forest-2))!important
}
.sc-allergy-cta>.e-con{width:100%!important;max-width:none!important;min-width:0!important}
.sc-allergy-cta .elementor-heading-title{color:#fff!important}
.sc-allergy-cta .sc-eyebrow .elementor-heading-title{color:#c7ddd5!important}
.sc-allergy-cta .elementor-widget-text-editor,.sc-allergy-cta .elementor-widget-text-editor p{color:#e4efeb!important}

/* ===== Chi sono ===== */
.sc-about-formation .sc-copy{max-width:900px}
.sc-about-timeline .sc-timeline{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;margin-top:30px!important}
.sc-timeline-item{min-height:260px!important;padding:26px!important;border:1px solid #ddd9cf!important;border-radius:22px!important;background:#fff!important}
.sc-timeline-num{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;margin-bottom:18px;background:var(--sc-sage-soft);color:var(--sc-forest);font-size:.7rem;font-weight:900}
.sc-timeline-item .elementor-widget-text-editor{font-size:.89rem;line-height:1.62}
.sc-about-values .sc-values{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;margin-top:28px!important}
.sc-value-card{min-height:190px!important;padding:28px!important;border:1px solid var(--sc-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:var(--sc-shadow-soft)!important}
.sc-value-card .elementor-widget-text-editor{font-size:.9rem;line-height:1.62}
.sc-about-final{padding:54px 0!important;background:linear-gradient(135deg,var(--sc-forest),var(--sc-forest-2))!important;text-align:center}
.sc-about-final>.sc-wrap{display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important}
.sc-about-final .elementor-heading-title{color:#fff!important}
.sc-about-final .elementor-widget-text-editor,.sc-about-final .elementor-widget-text-editor p{color:#e5f0ec!important}

/* ===== Contatti ===== */
.sc-contact-path-section .sc-contact-paths{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;margin-top:28px!important}
.sc-contact-path{min-height:220px!important;padding:30px!important;border:1px solid var(--sc-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:var(--sc-shadow-soft)!important}
.sc-contact-path .elementor-widget-text-editor{font-size:.9rem;line-height:1.62}
.sc-contact-form-shell{max-width:980px;margin:22px auto 0;padding:30px;border:1px solid var(--sc-line);border-radius:26px;background:#fff;box-shadow:var(--sc-shadow-soft)}
.sc-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sc-contact-form .full{grid-column:1/-1}
.sc-contact-form label{font-size:.86rem;font-weight:700;color:var(--sc-forest)}
.sc-contact-form input,.sc-contact-form select,.sc-contact-form textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--sc-line-dark);border-radius:14px;background:#fff;color:var(--sc-text);font:inherit;outline:none}
.sc-contact-form input:focus,.sc-contact-form select:focus,.sc-contact-form textarea:focus{border-color:var(--sc-sage);box-shadow:0 0 0 3px rgba(145,169,157,.13)}
.sc-contact-form textarea{min-height:145px;resize:vertical}
.sc-contact-form button{border:0;border-radius:999px;background:var(--sc-forest);color:#fff;padding:13px 22px;font-weight:800;cursor:pointer}
.sc-contact-form .sc-contact-note{font-weight:500;color:var(--sc-muted);font-size:.78rem}
.sc-form-success,.sc-form-error{padding:13px 16px;border-radius:14px;margin-bottom:16px}
.sc-form-success{background:#e9f5ef;color:#174d3e}.sc-form-error{background:#fff0ee;color:#7c2c24}

/* ===== Prenota una visita / Easy Appointments ===== */
body.sc-booking-page-body{overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch}
.sc-booking-page-hero .sc-booking-location{padding:30px!important;background:linear-gradient(145deg,#eff5f1,#fff)!important}
.sc-booking-location:before{content:none!important;display:none!important}
.sc-booking-calendar-section{padding:62px 0 78px!important;background:var(--sc-cream)!important;overflow:visible!important;min-height:0!important;height:auto!important}
.sc-booking-calendar-section .sc-wrap{max-width:1080px!important;overflow:visible!important;min-height:0!important;height:auto!important}
.sc-booking-widget{width:100%!important;max-width:100%!important;overflow:visible!important}
.sc-booking-embed{margin-top:24px;padding:24px;border:1px solid var(--sc-line);border-radius:26px;background:#fff;box-shadow:var(--sc-shadow-soft);overflow:visible!important;min-height:0!important;height:auto!important;max-height:none!important;touch-action:pan-y!important}
.sc-booking-embed .ea-bootstrap,.sc-booking-embed .ea-standard{width:100%!important;max-width:100%!important;overflow:visible!important;min-height:0!important;height:auto!important;max-height:none!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important}
.sc-booking-embed .ea-bootstrap .btn-primary,.sc-booking-embed .ea-standard .btn-primary{background:var(--sc-forest)!important;border-color:var(--sc-forest)!important;color:#fff!important}
.sc-booking-embed .ea-bootstrap .btn-primary:hover,.sc-booking-embed .ea-standard .btn-primary:hover{background:var(--sc-forest-2)!important;border-color:var(--sc-forest-2)!important}

/* ===== Privacy / Cookie ===== */
.sc-legal-hero{padding:48px 0!important}
.sc-legal-wrap{max-width:900px!important}
.sc-legal-notice{padding:24px!important;margin-bottom:18px!important;border:1px solid #e6d9cb!important;border-radius:20px!important;background:#fffaf4!important}
.sc-legal-block{display:grid!important;grid-template-columns:54px 1fr!important;gap:18px!important;padding:24px 0!important;border-bottom:1px solid var(--sc-line)!important}
.sc-legal-block:last-child{border-bottom:0!important}
.sc-legal-block>.elementor-widget-html{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:var(--sc-sage-soft)!important;color:var(--sc-forest)!important;font-size:.68rem!important;font-weight:900!important}
.sc-legal-block .elementor-widget-text-editor{font-size:.9rem;line-height:1.68}

/* ===== Tablet ===== */
@media(max-width:1024px){
  .sc-wrap,.sc-header-inner,.sc-footer-inner{width:min(var(--sc-wrap),calc(100% - 36px))!important}
  .sc-section{padding:66px 0!important}
  .sc-global-header-inner{width:calc(100% - 36px);grid-template-columns:250px 1fr auto;gap:18px;min-height:88px}
  .sc-global-logo img{width:230px;max-height:none}
  .sc-global-menu{gap:22px}
  .sc-home-hero .sc-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)!important;column-gap:42px!important;min-height:450px!important}
  .sc-home-about .sc-grid-2-about{gap:42px!important}
  .sc-booking-grid{gap:38px!important}
  .sc-page-hero>.sc-wrap.sc-grid-2,.sc-allergy-page-hero>.sc-wrap.sc-allergy-grid{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr)!important;gap:34px!important}
}

/* ===== Mobile nav / layout ===== */
@media(max-width:900px){
  .sc-global-header{overflow:visible}
  .sc-global-header-inner{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr) auto;min-height:84px;gap:12px}
  .sc-global-logo img{width:225px;max-height:none}
  .sc-global-cta{display:none!important}
  .sc-global-menu-toggle{display:flex;position:relative;z-index:1006}
  .sc-global-menu-backdrop{display:block;position:fixed;inset:0;z-index:1005;background:rgba(8,31,28,.48);backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
  .sc-global-nav{
    display:flex!important;flex-direction:column!important;position:fixed!important;top:0!important;right:0!important;left:auto!important;
    width:min(92vw,420px)!important;height:100dvh!important;max-height:100dvh!important;padding:24px 26px 26px!important;
    background:#fff!important;box-shadow:-24px 0 70px rgba(18,63,58,.20)!important;transform:translateX(102%);visibility:hidden;pointer-events:none;
    transition:transform .28s ease,visibility .28s ease;z-index:1008!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch
  }
  .admin-bar .sc-global-nav{top:32px!important;height:calc(100dvh - 32px)!important;max-height:calc(100dvh - 32px)!important}
  .sc-global-header.is-menu-open .sc-global-nav{transform:translateX(0);visibility:visible;pointer-events:auto}
  .sc-global-header.is-menu-open .sc-global-menu-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  .sc-global-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--sc-line)}
  .sc-global-drawer-brand{display:flex;align-items:center;max-width:260px}
  .sc-global-drawer-brand img{display:block;width:250px;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center}
  .sc-global-menu-close{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;padding:0!important;border:1px solid var(--sc-line)!important;border-radius:50%;background:#fff!important;color:var(--sc-forest)!important;box-shadow:none!important;cursor:pointer}
  .sc-global-menu-close:hover,.sc-global-menu-close:focus,.sc-global-menu-close:active{background:#fff!important;color:var(--sc-forest)!important;border-color:var(--sc-line)!important;box-shadow:none!important}
  .sc-global-menu-close:focus-visible{outline:2px solid var(--sc-sage)!important;outline-offset:3px}
  .sc-close-icon{position:relative;display:block;width:18px;height:18px;flex:0 0 18px}
  .sc-close-icon:before,.sc-close-icon:after{content:"";position:absolute;left:2px;top:8px;width:14px;height:2px;border-radius:999px;background:currentColor;transform-origin:center}
  .sc-close-icon:before{transform:rotate(45deg)}
  .sc-close-icon:after{transform:rotate(-45deg)}
  .sc-global-header.is-menu-open .sc-global-menu-toggle{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  .sc-global-menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;margin:14px 0 0!important;padding:0!important}
  .sc-global-menu li{border-bottom:1px solid #edf1ef!important}
  .sc-global-menu a{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:62px!important;padding:0!important;color:var(--sc-forest)!important;font-family:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),Georgia,serif!important;font-size:1.55rem!important;font-weight:600!important;letter-spacing:-.02em!important}
  .sc-global-menu a:after{content:none!important;display:none!important}
  .sc-global-drawer-bottom{display:block;margin-top:auto;padding-top:24px;border-top:1px solid var(--sc-line)}
  .sc-global-drawer-cta{width:100%;min-height:50px}
  .sc-global-footer-main{grid-template-columns:1fr;gap:30px}
  .sc-global-footer-nav{justify-content:flex-start;padding-top:0}

  .sc-home-trust .sc-trust-grid{grid-template-columns:1fr!important;gap:12px!important}
  .sc-home-trust .sc-trust-item{min-height:0!important}
  .sc-home-about .sc-grid-2-about,.sc-acupuncture-card,.sc-booking-grid,.sc-pediatric-grid{grid-template-columns:1fr!important;gap:30px!important}
  .sc-home-allergy .sc-service-grid,.sc-allergy-topics .sc-topic-grid,.sc-contact-path-section .sc-contact-paths,.sc-about-values .sc-values{grid-template-columns:1fr!important}
  .sc-allergy-process .sc-process-grid,.sc-about-timeline .sc-timeline{grid-template-columns:1fr!important}
  .sc-process-card,.sc-timeline-item{min-height:0!important}
  .sc-page-hero>.sc-wrap.sc-grid-2,.sc-allergy-page-hero>.sc-wrap.sc-allergy-grid{grid-template-columns:1fr!important;gap:28px!important}
  .sc-allergy-cta{grid-template-columns:1fr!important;gap:24px!important}
}

@media(max-width:767px){
  .admin-bar .sc-global-header{top:46px}
  .admin-bar .sc-global-nav{top:46px!important;height:calc(100dvh - 46px)!important;max-height:calc(100dvh - 46px)!important}
  .sc-wrap,.sc-header-inner,.sc-footer-inner{width:calc(100% - 28px)!important}
  .sc-section{padding:52px 0!important}
  .sc-global-header-inner{width:calc(100% - 28px);min-height:82px}
  .sc-global-logo img{width:215px;max-width:215px;max-height:none}
  .sc-global-menu-toggle{width:40px;height:40px}
  .sc-global-footer-inner{width:calc(100% - 28px);padding:44px 0 22px}
  .sc-global-footer-brand img{width:280px}
  .sc-global-footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;width:100%}
  .sc-global-footer-legal{gap:18px}
  .sc-global-footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
  .sc-global-footer-legal{justify-content:flex-start}

  .sc-hero-title .elementor-heading-title{font-size:clamp(2.7rem,12vw,3.45rem)!important}
  .sc-page-title .elementor-heading-title{font-size:clamp(2.6rem,11vw,3.25rem)!important}
  .sc-section-title .elementor-heading-title{font-size:clamp(2.05rem,9.5vw,2.75rem)!important}
  .sc-card-title .elementor-heading-title{font-size:clamp(1.45rem,7vw,1.8rem)!important}
  .sc-lead{font-size:.96rem!important;line-height:1.68!important}

  /* Home: order requested = copy -> visual -> CTA */
  .sc-home-hero{padding:24px 0 28px!important}
  .sc-home-hero .sc-hero-grid{
    display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"copy" "media" "actions"!important;
    grid-template-rows:auto auto auto!important;gap:0!important;min-height:0!important;align-content:start!important
  }
  .sc-home-hero .sc-hero-copy-top{grid-area:copy!important;width:100%!important;max-width:none!important}
  .sc-home-hero .sc-hero-media{grid-area:media!important;width:100%!important;max-width:none!important;margin-top:22px!important}
  .sc-home-hero .sc-hero-actions{grid-area:actions!important;width:100%!important;max-width:none!important;margin-top:16px!important;display:flex!important;flex-direction:column!important;gap:10px!important}
  .sc-home-hero .sc-hero-actions>.elementor-widget-button{width:100%!important}
  .sc-home-hero .sc-hero-actions .elementor-button{width:100%!important}
  .sc-hero-visual{min-height:285px;padding:18px;border-radius:26px}
  .sc-hero-visual:before{font-size:9rem}
  .sc-hero-visual-card{padding:18px;border-radius:18px}
  .sc-hero-visual-card strong{font-size:1.5rem}

  .sc-home-trust{padding:24px 0 28px!important}
  .sc-home-trust .sc-trust-item{padding:20px 18px 20px 66px!important;border-radius:18px!important}
  .sc-home-trust .sc-trust-item:before{left:18px;top:20px}
  .sc-home-trust .sc-trust-item .elementor-heading-title{font-size:1.42rem!important}
  .sc-home-allergy .sc-service-grid{gap:14px!important}
  .sc-home-allergy .sc-service-card{min-height:0!important;padding:22px!important}
  .sc-about-photo{min-height:290px}
  .sc-credential-grid{grid-template-columns:1fr!important}
  .sc-credential{min-height:0!important;padding:16px 0!important}
  .sc-credential+.sc-credential{padding-left:0!important;border-left:0!important;border-top:1px solid var(--sc-line)!important}
  .sc-credential strong{font-size:1.35rem!important}
  .sc-home-acupuncture{padding:48px 0!important}
  .sc-acupuncture-card{padding:24px!important;border-radius:24px!important}
  .sc-booking-band{padding:50px 0!important}
  .sc-booking-step{grid-template-columns:46px 1fr!important;padding:16px!important;gap:12px!important}
  .sc-booking-step .sc-step-num{width:38px;height:38px}
  .sc-booking-step .sc-card-title .elementor-heading-title,.sc-booking-step .elementor-widget-heading .elementor-heading-title{font-size:1.45rem!important}

  /* Internal heroes: two CTAs aligned on same row, unlike Home */
  .sc-page-hero{padding:28px 0 32px!important}
  .sc-page-hero .sc-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;width:100%!important;flex-wrap:nowrap!important}
  .sc-page-hero .sc-actions>.elementor-widget-button{width:100%!important;min-width:0!important}
  .sc-page-hero .sc-actions .elementor-button{width:100%!important;min-height:46px!important;padding:11px 12px!important;font-size:.78rem!important;white-space:nowrap!important}
  .sc-page-panel,.sc-allergy-hero-panel{padding:24px!important;border-radius:22px!important}

  .sc-topic-card,.sc-process-card,.sc-timeline-item,.sc-value-card,.sc-contact-path{padding:22px!important;border-radius:20px!important}
  .sc-pediatric-proof{padding:24px!important}
  .sc-allergy-cta{padding:26px!important;border-radius:24px!important}
  .sc-about-final{padding:46px 0!important;text-align:left}
  .sc-about-final>.sc-wrap{align-items:flex-start!important}
  .sc-contact-form{grid-template-columns:1fr}
  .sc-contact-form .full{grid-column:auto}
  .sc-contact-form-shell{padding:18px;border-radius:20px}

  /* Mobile scroll hardening for Easy Appointments: keep the page scroll native. */
  .sc-booking-calendar-section,
  .sc-booking-calendar-section .sc-wrap,
  body.sc-booking-page-body .sc-booking-widget,
  body.sc-booking-page-body .sc-booking-embed,
  body.sc-booking-page-body .ea-bootstrap,
  body.sc-booking-page-body .ea-standard,
  body.sc-booking-page-body .ea-bootstrap form,
  body.sc-booking-page-body .ea-standard form{
    max-height:none!important;height:auto!important;overflow:visible!important
  }
  body.sc-booking-page-body .ea-bootstrap,
  body.sc-booking-page-body .ea-standard{width:100%!important;max-width:100%!important;touch-action:auto!important;-webkit-overflow-scrolling:touch!important}
  body.sc-booking-page-body .ea-bootstrap .row{height:auto!important;max-height:none!important;overflow:visible!important}
  body.sc-booking-page-body{overflow-x:clip!important;min-height:100vh!important}
  .sc-booking-calendar-section{padding:48px 0 58px!important}
  .sc-booking-embed{padding:10px!important;border-radius:18px!important}
}

@media(max-width:520px){
  .sc-global-nav{width:100vw!important}
  .sc-global-drawer-brand img{width:230px}
}

@media(max-width:390px){
  .sc-global-logo img{width:198px;max-width:198px}
  .sc-page-hero .sc-actions .elementor-button{font-size:.74rem!important;padding-inline:9px!important}
}

@media(min-width:901px){
/* =========================================================
   v4.2 - Desktop normalization
   Root cause fix: section design classes are now written to both
   Elementor class keys. These rules also neutralize per-container
   percentage widths inherited from earlier templates.
   ========================================================= */

/* Every main content wrapper uses exactly the same desktop measure. */
.sc-elementor-theme .sc-wrap,
.sc-elementor-theme .sc-global-header-inner,
.sc-elementor-theme .sc-global-footer-inner{
  --width:100%!important;
  width:min(var(--sc-wrap),calc(100% - 44px))!important;
  max-width:var(--sc-wrap)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Elementor can retain old --width values even when CSS Grid owns layout. */
.sc-elementor-theme .sc-hero-grid>.e-con,
.sc-elementor-theme .sc-trust-grid>.e-con,
.sc-elementor-theme .sc-service-grid>.e-con,
.sc-elementor-theme .sc-grid-2-about>.e-con,
.sc-elementor-theme .sc-acupuncture-card>.e-con,
.sc-elementor-theme .sc-booking-grid>.e-con,
.sc-elementor-theme .sc-grid-2>.e-con,
.sc-elementor-theme .sc-allergy-grid>.e-con,
.sc-elementor-theme .sc-topic-grid>.e-con,
.sc-elementor-theme .sc-process-grid>.e-con,
.sc-elementor-theme .sc-pediatric-grid>.e-con,
.sc-elementor-theme .sc-allergy-cta>.e-con,
.sc-elementor-theme .sc-timeline>.e-con,
.sc-elementor-theme .sc-values>.e-con,
.sc-elementor-theme .sc-contact-paths>.e-con{
  --width:100%!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

/* Buttons in internal-page heroes always form one horizontal action row on desktop. */
.sc-elementor-theme .sc-page-hero .sc-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  --width:100%!important;
}
.sc-elementor-theme .sc-page-hero .sc-actions>.elementor-widget-button,
.sc-elementor-theme .sc-page-hero .sc-actions>.elementor-element.elementor-widget-button,
.sc-elementor-theme .sc-home-hero .sc-hero-actions>.elementor-widget-button,
.sc-elementor-theme .sc-home-hero .sc-hero-actions>.elementor-element.elementor-widget-button{
  --width:auto!important;
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
}

/* Home desktop: deterministic two-column hero; no off-canvas media or lost CTA row. */
.sc-elementor-theme .sc-home-hero{overflow:hidden!important}
.sc-elementor-theme .sc-home-hero .sc-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr)!important;
  grid-template-areas:"copy media" "actions media"!important;
  grid-template-rows:auto auto!important;
  column-gap:64px!important;
  row-gap:18px!important;
  align-items:start!important;
  align-content:center!important;
  min-height:500px!important;
}
.sc-elementor-theme .sc-home-hero .sc-hero-copy-top{grid-area:copy!important;align-self:end!important}
.sc-elementor-theme .sc-home-hero .sc-hero-media{grid-area:media!important;align-self:center!important;justify-self:stretch!important;overflow:visible!important}
.sc-elementor-theme .sc-home-hero .sc-hero-actions{
  grid-area:actions!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:center!important;
  align-self:start!important;
}
.sc-elementor-theme .sc-home-hero .sc-hero-visual{width:100%!important;max-width:100%!important}

/* The three home proof points are a real visual band, not three loose text columns. */
.sc-elementor-theme .sc-home-trust .sc-trust-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}

/* Home Allergologia: two equal cards, both retained, no internal CTAs. */
.sc-elementor-theme .sc-home-allergy .sc-service-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
}

/* Internal pages share the same hero grid and visual measure. */
.sc-elementor-theme .sc-page-hero>.sc-wrap.sc-grid-2,
.sc-elementor-theme .sc-allergy-page-hero>.sc-wrap.sc-allergy-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr)!important;
  gap:52px!important;
  align-items:center!important;
}

/* Allergologia: intended editorial 2x2 topics and 3-step process. */
.sc-elementor-theme .sc-topic-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.sc-elementor-theme .sc-process-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}

/* Chi sono: restore the intended desktop breadth instead of stacked narrow cards. */
.sc-elementor-theme .sc-timeline{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  margin-top:30px!important;
}
.sc-elementor-theme .sc-timeline-item{min-height:270px!important}
.sc-elementor-theme .sc-values{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  margin-top:28px!important;
}
.sc-elementor-theme .sc-about-formation .sc-copy{max-width:960px!important}

/* Contatti: same 1180px canvas as Allergologia; two paths side-by-side. */
.sc-elementor-theme .sc-contact-paths{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  margin-top:28px!important;
}
.sc-elementor-theme .sc-contact-form-shell{
  width:100%!important;
  max-width:none!important;
  margin:24px 0 0!important;
}
.sc-elementor-theme .sc-section{padding-top:78px!important;padding-bottom:78px!important}
  .sc-elementor-theme .sc-page-hero{padding-top:38px!important;padding-bottom:42px!important}
  .sc-elementor-theme .sc-page-panel,
  .sc-elementor-theme .sc-allergy-hero-panel{min-height:220px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  .sc-elementor-theme .sc-contact-path{min-height:220px!important}
  .sc-elementor-theme .sc-about-final>.sc-wrap{max-width:var(--sc-wrap)!important}
}


/* =========================================================
   v4.3 - Desktop rhythm & alignment pass
   Scope: hierarchy, spacing, Home CTA placement and footer logo.
   Mobile layout is intentionally left for the next dedicated pass.
   ========================================================= */
@media(min-width:901px){
  /* A calmer vertical rhythm across every desktop page. */
  .sc-elementor-theme .sc-section{padding-top:72px!important;padding-bottom:72px!important}

  /* Consistent heading hierarchy inside section intros. */
  .sc-elementor-theme .sc-section>.sc-wrap>.sc-eyebrow,
  .sc-elementor-theme .sc-section-head-copy>.sc-eyebrow,
  .sc-elementor-theme .sc-about-copy>.sc-eyebrow,
  .sc-elementor-theme .sc-acupuncture-card>.e-con:first-child>.sc-eyebrow,
  .sc-elementor-theme .sc-booking-grid>.e-con:first-child>.sc-eyebrow,
  .sc-elementor-theme .sc-page-hero .sc-eyebrow{
    margin-bottom:9px!important
  }
  .sc-elementor-theme .sc-section>.sc-wrap>.sc-section-title,
  .sc-elementor-theme .sc-section-head-copy>.sc-section-title,
  .sc-elementor-theme .sc-about-copy>.sc-section-title,
  .sc-elementor-theme .sc-acupuncture-card>.e-con:first-child>.sc-section-title,
  .sc-elementor-theme .sc-booking-grid>.e-con:first-child>.sc-section-title{
    margin-bottom:14px!important
  }
  .sc-elementor-theme .sc-section>.sc-wrap>.elementor-widget-text-editor,
  .sc-elementor-theme .sc-section-head-copy>.elementor-widget-text-editor,
  .sc-elementor-theme .sc-about-copy>.sc-copy,
  .sc-elementor-theme .sc-acupuncture-card>.e-con:first-child>.elementor-widget-text-editor,
  .sc-elementor-theme .sc-booking-grid>.e-con:first-child>.elementor-widget-text-editor{
    margin-bottom:0!important
  }

  /* Internal heroes follow the same title -> lead -> actions cadence. */
  .sc-elementor-theme .sc-page-hero .sc-page-title{margin-bottom:15px!important}
  .sc-elementor-theme .sc-page-hero .sc-lead{margin-bottom:0!important}
  .sc-elementor-theme .sc-page-hero .sc-actions{margin-top:24px!important}
  .sc-elementor-theme .sc-page-panel>.sc-card-title,
  .sc-elementor-theme .sc-allergy-hero-panel>.sc-card-title{margin-bottom:12px!important}

  /* Cards: title/body spacing is identical site-wide. */
  .sc-elementor-theme .sc-service-card>.sc-card-title,
  .sc-elementor-theme .sc-topic-card>.sc-card-title,
  .sc-elementor-theme .sc-process-card>.sc-card-title,
  .sc-elementor-theme .sc-timeline-item .sc-card-title,
  .sc-elementor-theme .sc-value-card>.sc-card-title,
  .sc-elementor-theme .sc-contact-path>.sc-card-title,
  .sc-elementor-theme .sc-pediatric-proof>.sc-card-title,
  .sc-elementor-theme .sc-acupuncture-note>.sc-card-title{
    margin-bottom:12px!important
  }
  .sc-elementor-theme .sc-process-num,
  .sc-elementor-theme .sc-timeline-num{margin-bottom:18px!important}

  /* Home / Allergologia: intro, cards, then one clear CTA. */
  .sc-elementor-theme .sc-home-allergy .sc-section-head{margin-bottom:32px!important}
  .sc-elementor-theme .sc-home-allergy .sc-service-grid{margin-top:0!important}
  .sc-elementor-theme .sc-home-allergy .sc-home-allergy-bottom-cta{
    width:auto!important;
    margin-top:28px!important;
    align-self:flex-start!important
  }
  .sc-elementor-theme .sc-home-allergy .sc-home-allergy-bottom-cta .elementor-button{min-width:190px}

  /* Home / Chi sono: stronger separation between bio, credentials and CTA. */
  .sc-elementor-theme .sc-home-about .sc-credential-grid{margin-top:26px!important;margin-bottom:22px!important}
  .sc-elementor-theme .sc-home-about .sc-about-copy>.elementor-widget-button{margin-top:0!important}

  /* Home / Agopuntura: CTA must breathe after the explanatory copy. */
  .sc-elementor-theme .sc-home-acupuncture .sc-acupuncture-card>.e-con:first-child>.elementor-widget-button{
    margin-top:24px!important
  }
  .sc-elementor-theme .sc-home-acupuncture .sc-acupuncture-note{padding:26px!important}

  /* Home / booking: same rhythm as the rest of the site. */
  .sc-elementor-theme .sc-home-booking .sc-booking-grid>.e-con:first-child>.elementor-widget-button{margin-top:24px!important}

  /* Allergologia / Chi sono / Contatti grids all start at the same visual distance. */
  .sc-elementor-theme .sc-allergy-topics .sc-topic-grid,
  .sc-elementor-theme .sc-allergy-process .sc-process-grid,
  .sc-elementor-theme .sc-about-timeline .sc-timeline,
  .sc-elementor-theme .sc-about-values .sc-values,
  .sc-elementor-theme .sc-contact-path-section .sc-contact-paths{
    margin-top:30px!important
  }

  /* Buttons inside informational cards sit after the copy instead of touching it. */
  .sc-elementor-theme .sc-contact-path>.elementor-widget-button,
  .sc-elementor-theme .sc-allergy-pediatric>.sc-wrap>.e-con:first-child>.elementor-widget-button{
    margin-top:20px!important
  }

  /* Contact form intro -> form spacing. */
  .sc-elementor-theme .sc-contact-form-section .sc-contact-form-shell{margin-top:28px!important}

  /* Final CTA bands. */
  .sc-elementor-theme .sc-allergy-cta .sc-section-title{margin-bottom:10px!important}
  .sc-elementor-theme .sc-about-final .sc-section-title{margin-bottom:2px!important}
  .sc-elementor-theme .sc-about-final .elementor-widget-button{margin-top:12px!important}

  /* Footer: use a cropped dedicated asset and align its real pixels with copy below. */
  .sc-elementor-theme .sc-global-footer-brand>a{display:block;width:max-content;max-width:100%}
  .sc-elementor-theme .sc-global-footer-brand img{
    width:320px!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:left center!important
  }
  .sc-elementor-theme .sc-global-footer-brand p{margin-top:20px!important}
  .sc-elementor-theme .sc-global-footer-location{margin-top:14px!important}
}


/* ===== v4.4 footer legale + Design System Elementor ===== */
@media(max-width:767px){
  .sc-global-footer-professional{display:grid;gap:6px;margin-top:14px}
  .sc-global-footer-professional span+span:before{content:none}
  .sc-global-footer-legal{gap:16px}
}


/* ===== v4.5 mobile consistency & booking scroll ===== */
.sc-booking-page-html:not(.sc-menu-open){
  height:auto!important;min-height:100%!important;overflow-x:clip!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:touch!important
}
.sc-booking-page-html:not(.sc-menu-open) body.sc-booking-page-body{
  position:static!important;height:auto!important;max-height:none!important;min-height:100vh!important;overflow-x:clip!important;overflow-y:visible!important;touch-action:auto!important;overscroll-behavior-y:auto!important
}
@media(max-width:900px){
  .sc-global-header.is-menu-open .sc-global-menu-toggle{display:none!important}
}


/* ===== v4.6 Easy!Appointments official Elementor iframe ===== */
.sc-booking-calendar-section .elementor-widget-easyappointments,
.sc-booking-calendar-section .sc-easyappointments-widget,
.sc-booking-calendar-section .elementor-widget-easyappointments .elementor-widget-container,
.sc-booking-calendar-section .sc-easyappointments-widget .elementor-widget-container{
  width:100%!important;max-width:100%!important;min-width:0!important;
  height:auto!important;max-height:none!important;overflow:visible!important
}
body.sc-booking-page-body .easyappointments-iframe{
  display:block!important;width:100%!important;max-width:100%!important;
  border:0!important;margin:24px 0 0!important;max-height:none!important;
  touch-action:pan-y!important;overscroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch!important;background:#fff!important;
  border-radius:22px!important;box-shadow:0 12px 34px rgba(18,63,58,.06)!important
}
@media(max-width:767px){
  body.sc-booking-page-body .sc-booking-calendar-section{overflow:visible!important;height:auto!important;min-height:0!important}
  body.sc-booking-page-body .sc-booking-calendar-section>.sc-wrap{overflow:visible!important;height:auto!important;min-height:0!important}
  body.sc-booking-page-body .easyappointments-iframe{
    width:100%!important;max-width:100%!important;min-width:0!important;
    max-height:none!important;margin-top:20px!important;border-radius:18px!important
  }
}


/* ===== v4.7 WPCode-compatible Easy!Appointments scroll model ===== */
.sc-booking-page-html:not(.sc-menu-open),
.sc-booking-page-html:not(.sc-menu-open) body.sc-booking-page-body{
  height:auto!important;max-height:none!important;overflow-x:clip!important;overscroll-behavior-y:auto!important
}
.sc-booking-page-html:not(.sc-menu-open){overflow-y:auto!important}
.sc-booking-page-html:not(.sc-menu-open) body.sc-booking-page-body{overflow-y:visible!important;position:static!important}
body.sc-booking-page-body .easyappointments-iframe{overflow:hidden!important;max-height:none!important}
@media(max-width:767px){
  body.sc-booking-page-body .easyappointments-iframe{touch-action:auto!important;overscroll-behavior:auto!important}
}

/* ===== v4.8 stable Easy!Appointments sizing =====
   Height is owned by the v4.8 iframe resizer. The iframe itself never scrolls. */
body.sc-booking-page-body .easyappointments-iframe{
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

/* ===== v4.9 Easy!Appointments exact-content sizing ===== */
body.sc-booking-page-body .easyappointments-iframe{
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  transition:height .14s ease!important;
}
@media(max-width:767px){
  body.sc-booking-page-body .easyappointments-iframe{transition:height .10s ease!important}
}


/* ===== v5.0 mobile iframe stability =====
   iOS changes viewport height while its browser chrome collapses/expands.
   Do not animate iframe height on mobile: the JS resizer owns the exact value. */
@media(max-width:767px){
  body.sc-booking-page-body .easyappointments-iframe{transition:none!important}
}


/* ===== v5.1 logo sizing + booking card cleanup ===== */
.sc-booking-page-hero .sc-booking-location:before{content:none!important;display:none!important}


/* ===== v5.2 Elementor Theme Builder header/footer =====
   Header and footer are real Elementor Theme Builder templates from this version.
   These classes preserve the current visual system while every widget remains
   editable from Elementor. The legacy plugin shell stays available only as a fallback. */
body.sc-elementor-theme .elementor-location-header,
body.sc-elementor-theme [data-elementor-type="header"]{
  position:sticky;
  top:0;
  z-index:1000;
}
body.admin-bar.sc-elementor-theme .elementor-location-header,
body.admin-bar.sc-elementor-theme [data-elementor-type="header"]{top:32px}

.sc-tb-header{
  --width:100%!important;
  width:100%!important;
  max-width:none!important;
  background:rgba(251,250,246,.96)!important;
  border-bottom:1px solid rgba(220,229,224,.9)!important;
  box-shadow:0 3px 18px rgba(18,63,58,.035)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.sc-tb-header-inner{
  --width:100%!important;
  width:min(var(--sc-wrap),calc(100% - 44px))!important;
  max-width:var(--sc-wrap)!important;
  min-height:92px!important;
  margin-inline:auto!important;
  padding:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  gap:26px!important;
}
.sc-tb-header-inner>.elementor-element{
  --width:auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
}
.sc-tb-header-logo{flex:0 1 290px!important}
.sc-tb-header-logo .elementor-widget-container{display:flex!important;align-items:center!important}
.sc-tb-header-logo a{display:flex!important;align-items:center!important;max-width:100%!important}
.sc-tb-header-logo img{
  display:block!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.sc-tb-header-menu{flex:1 1 auto!important;min-width:0!important}
.sc-tb-header-menu .elementor-nav-menu--main .elementor-nav-menu{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:32px!important;
}
.sc-tb-header-menu .elementor-nav-menu--main .elementor-item{
  padding:8px 0!important;
  color:#49635d!important;
  background:transparent!important;
  font-family:var(--e-global-typography-text-font-family,"Manrope"),Arial,sans-serif!important;
  font-size:.9rem!important;
  line-height:1.2!important;
  font-weight:750!important;
}
.sc-tb-header-menu .elementor-nav-menu--main .elementor-item:hover,
.sc-tb-header-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.sc-tb-header-menu .elementor-nav-menu--main .current-menu-item>.elementor-item{color:var(--sc-forest)!important}
.sc-tb-header-menu .elementor-nav-menu--main .sc-menu-booking{display:none!important}
.sc-tb-header-cta{flex:0 0 auto!important}
.sc-tb-header-cta .elementor-button{
  min-height:46px!important;
  padding:11px 19px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}

/* Footer Theme Builder */
.sc-tb-footer{
  --width:100%!important;
  width:100%!important;
  max-width:none!important;
  background:#0c3934!important;
  color:#c9d9d3!important;
}
.sc-tb-footer-inner{
  --width:100%!important;
  width:min(var(--sc-wrap),calc(100% - 44px))!important;
  max-width:var(--sc-wrap)!important;
  margin-inline:auto!important;
  padding:38px 0 18px!important;
  gap:0!important;
}
.sc-tb-footer-main{
  --width:100%!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:0!important;
}
.sc-tb-footer-main>.elementor-element{
  --width:100%!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.sc-tb-footer-brand{gap:0!important}
.sc-tb-footer-logo .elementor-widget-container{display:flex!important}
.sc-tb-footer-logo a{display:block!important;width:max-content!important;max-width:100%!important}
.sc-tb-footer-logo img{
  display:block!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:brightness(0) invert(1)!important;
  opacity:.96!important;
}
.sc-tb-footer-copy{margin-top:14px!important;max-width:650px!important}
.sc-tb-footer-copy,.sc-tb-footer-location,.sc-tb-footer-professional,.sc-tb-footer-small,.sc-tb-footer-legal{
  color:#c9d9d3!important;
  font-family:var(--e-global-typography-text-font-family,"Manrope"),Arial,sans-serif!important;
}
.sc-tb-footer-copy .elementor-widget-container,
.sc-tb-footer-location .elementor-widget-container{font-size:.86rem!important;line-height:1.7!important}
.sc-tb-footer-copy p,.sc-tb-footer-location p,.sc-tb-footer-professional p,.sc-tb-footer-small p,.sc-tb-footer-legal p{margin:0!important}
.sc-tb-footer-location{margin-top:10px!important;color:#dce9e4!important}
.sc-tb-footer-location strong{color:#fff!important}
.sc-tb-footer-professional{margin-top:16px!important;color:#b8ccc5!important}
.sc-tb-footer-professional .elementor-widget-container{font-size:.74rem!important;line-height:1.55!important}
.sc-tb-footer-professional .elementor-widget-container:empty{display:none!important}
.sc-tb-footer-professional strong{color:#e8f1ee!important;font-weight:750!important}
.sc-tb-footer-professional a{color:#d3e2dd!important;text-decoration:underline!important;text-underline-offset:3px!important}
.sc-tb-footer-nav-wrap{align-self:start!important}
.sc-tb-footer-menu .elementor-nav-menu--main .elementor-nav-menu{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:24px!important;
}
.sc-tb-footer-menu .elementor-nav-menu--main .elementor-item{
  padding:8px 0!important;
  color:#fff!important;
  background:transparent!important;
  font-family:var(--e-global-typography-text-font-family,"Manrope"),Arial,sans-serif!important;
  font-size:.82rem!important;
  line-height:1.2!important;
  font-weight:700!important;
}
.sc-tb-footer-bottom{
  --width:100%!important;
  width:100%!important;
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:24px!important;
  margin-top:24px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(255,255,255,.11)!important;
}
.sc-tb-footer-bottom>.elementor-element{--width:auto!important;width:auto!important;max-width:none!important}
.sc-tb-footer-small,.sc-tb-footer-legal{color:#9fb8b1!important}
.sc-tb-footer-small .elementor-widget-container,
.sc-tb-footer-legal .elementor-widget-container{font-size:.72rem!important;line-height:1.5!important}
.sc-tb-footer-legal a{color:#b8ccc5!important;font-weight:650!important}

@media(max-width:1024px){
  .sc-tb-header-inner{
    width:calc(100% - 36px)!important;
    min-height:88px!important;
    gap:18px!important;
  }
  .sc-tb-header-logo{flex:1 1 auto!important}
  .sc-tb-header-cta{display:none!important}
  .sc-tb-header-menu{flex:0 0 auto!important;overflow:visible!important}
  .sc-tb-header-menu .elementor-menu-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--sc-line)!important;
    border-radius:50%!important;
    background:#fff!important;
    color:var(--sc-forest)!important;
    box-shadow:none!important;
  }
  .sc-tb-header-menu .elementor-menu-toggle:focus{outline:2px solid var(--sc-sage)!important;outline-offset:3px!important}
  .sc-tb-header-menu .elementor-nav-menu--dropdown{
    position:fixed!important;
    top:88px!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    height:calc(100dvh - 88px)!important;
    max-height:calc(100dvh - 88px)!important;
    margin:0!important;
    padding:22px 24px 28px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    background:#fff!important;
    border-top:1px solid var(--sc-line)!important;
    box-shadow:0 24px 60px rgba(18,63,58,.16)!important;
  }
  .sc-tb-header-menu .elementor-nav-menu--dropdown .elementor-nav-menu{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    max-width:520px!important;
    margin:0 auto!important;
  }
  .sc-tb-header-menu .elementor-nav-menu--dropdown .menu-item{border-bottom:1px solid #edf1ef!important}
  .sc-tb-header-menu .elementor-nav-menu--dropdown .elementor-item{
    min-height:62px!important;
    display:flex!important;
    align-items:center!important;
    padding:0!important;
    color:var(--sc-forest)!important;
    background:transparent!important;
    font-family:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),Georgia,serif!important;
    font-size:1.55rem!important;
    font-weight:600!important;
    letter-spacing:-.02em!important;
  }
  .sc-tb-header-menu .elementor-nav-menu--dropdown .sc-menu-booking{
    margin-top:24px!important;
    border-bottom:0!important;
  }
  .sc-tb-header-menu .elementor-nav-menu--dropdown .sc-menu-booking>.elementor-item{
    min-height:50px!important;
    justify-content:center!important;
    padding:11px 19px!important;
    border-radius:999px!important;
    background:var(--sc-forest)!important;
    color:#fff!important;
    font-family:var(--e-global-typography-text-font-family,"Manrope"),Arial,sans-serif!important;
    font-size:.9rem!important;
    font-weight:800!important;
  }
  body.admin-bar.sc-elementor-theme .sc-tb-header-menu .elementor-nav-menu--dropdown{
    top:120px!important;
    height:calc(100dvh - 120px)!important;
    max-height:calc(100dvh - 120px)!important;
  }
  .sc-tb-footer-inner{width:calc(100% - 36px)!important}
  .sc-tb-footer-main{grid-template-columns:1fr!important;gap:0!important}
  .sc-tb-footer-nav-wrap{width:100%!important}
  .sc-tb-footer-menu .elementor-nav-menu--main .elementor-nav-menu{justify-content:flex-start!important}
}

@media(max-width:767px){
  body.admin-bar.sc-elementor-theme .elementor-location-header,
  body.admin-bar.sc-elementor-theme [data-elementor-type="header"]{top:46px}
  .sc-tb-header-inner{width:calc(100% - 28px)!important;min-height:82px!important;gap:12px!important}
  .sc-tb-header-menu .elementor-menu-toggle{width:40px!important;height:40px!important}
  .sc-tb-header-menu .elementor-nav-menu--dropdown{
    top:82px!important;
    height:calc(100dvh - 82px)!important;
    max-height:calc(100dvh - 82px)!important;
    padding:18px 20px 24px!important;
  }
  body.admin-bar.sc-elementor-theme .sc-tb-header-menu .elementor-nav-menu--dropdown{
    top:128px!important;
    height:calc(100dvh - 128px)!important;
    max-height:calc(100dvh - 128px)!important;
  }
  .sc-tb-footer-inner{width:calc(100% - 28px)!important;padding:30px 0 18px!important}
  .sc-tb-footer-menu .elementor-nav-menu--main{display:block!important}
  .sc-tb-footer-menu .elementor-nav-menu--main .elementor-nav-menu{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 20px!important;
    width:100%!important;
  }
  .sc-tb-footer-bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:8px!important;
    margin-top:20px!important;
    padding-top:14px!important;
  }
  .sc-tb-footer-bottom>.elementor-element{width:100%!important}
}

/* ===== v5.3 Theme Builder: real Image logo widgets + explicit mobile drawer ===== */
.sc-tb-header-logo{flex:0 1 300px!important;max-width:300px!important}
.sc-tb-header-logo .elementor-widget-container,
.sc-tb-drawer-logo .elementor-widget-container,
.sc-tb-footer-logo .elementor-widget-container{display:flex!important;align-items:center!important}
.sc-tb-header-logo a,
.sc-tb-drawer-logo a,
.sc-tb-footer-logo a{display:flex!important;align-items:center!important;width:max-content!important;max-width:100%!important}
.sc-tb-header-logo img{display:block!important;width:100%!important;max-width:300px!important;height:auto!important;object-fit:contain!important;object-position:left center!important}
.sc-tb-footer-logo{max-width:340px!important}
.sc-tb-footer-logo img{display:block!important;width:100%!important;max-width:340px!important;height:auto!important;margin:0!important;object-fit:contain!important;object-position:left center!important;filter:brightness(0) invert(1)!important;opacity:.96!important}
.sc-tb-mobile-toggle,
.sc-tb-mobile-drawer,
.sc-tb-mobile-backdrop{display:none!important}

@media(max-width:1024px){
  .sc-tb-header-menu-desktop,
  .sc-tb-header-cta{display:none!important}
  .sc-tb-header-logo{display:block!important;flex:1 1 auto!important;max-width:250px!important}
  .sc-tb-header-logo img{max-width:250px!important}
  .sc-tb-mobile-toggle{display:block!important;flex:0 0 auto!important;width:44px!important;max-width:44px!important}
  .sc-tb-mobile-toggle .elementor-button{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border:1px solid var(--sc-line)!important;
    border-radius:50%!important;
    background:#fff!important;
    color:transparent!important;
    font-size:0!important;
    box-shadow:none!important;
  }
  .sc-tb-mobile-toggle .elementor-button:before,
  .sc-tb-mobile-toggle .elementor-button:after,
  .sc-tb-mobile-toggle .elementor-button-text:before{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    width:20px!important;
    height:2px!important;
    border-radius:999px!important;
    background:var(--sc-forest)!important;
    transform:translateX(-50%)!important;
  }
  .sc-tb-mobile-toggle .elementor-button:before{top:14px!important}
  .sc-tb-mobile-toggle .elementor-button-text:before{top:20px!important}
  .sc-tb-mobile-toggle .elementor-button:after{top:26px!important}

  .sc-tb-mobile-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:1008!important;
    width:100vw!important;
    height:100dvh!important;
    background:rgba(12,57,52,.22)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .22s ease,visibility .22s ease!important;
  }
  .sc-tb-mobile-drawer{
    --width:auto!important;
    display:flex!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    z-index:1009!important;
    width:min(88vw,390px)!important;
    max-width:390px!important;
    height:100dvh!important;
    min-height:100dvh!important;
    padding:22px 22px calc(24px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    box-shadow:-22px 0 60px rgba(18,63,58,.16)!important;
    transform:translateX(105%)!important;
    transition:transform .28s cubic-bezier(.22,.8,.22,1)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    flex-direction:column!important;
    gap:0!important;
  }
  .sc-tb-header.is-drawer-open .sc-tb-mobile-backdrop{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .sc-tb-header.is-drawer-open .sc-tb-mobile-drawer{transform:translateX(0)!important}
  html.sc-tb-menu-open,
  body.sc-tb-menu-open{overflow:hidden!important;overscroll-behavior:none!important}

  .sc-tb-mobile-drawer-head{
    --width:100%!important;
    width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    padding:0 0 22px!important;
    border-bottom:1px solid var(--sc-line)!important;
  }
  .sc-tb-drawer-logo{flex:1 1 auto!important;max-width:245px!important}
  .sc-tb-drawer-logo img{display:block!important;width:100%!important;max-width:245px!important;height:auto!important;object-fit:contain!important;object-position:left center!important}
  .sc-tb-mobile-close{flex:0 0 auto!important;width:42px!important;max-width:42px!important}
  .sc-tb-mobile-close .elementor-button{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    border:1px solid var(--sc-line)!important;
    border-radius:50%!important;
    background:#fff!important;
    color:transparent!important;
    font-size:0!important;
    box-shadow:none!important;
  }
  .sc-tb-mobile-close .elementor-button:before,
  .sc-tb-mobile-close .elementor-button:after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:16px!important;
    height:2px!important;
    border-radius:999px!important;
    background:var(--sc-forest)!important;
  }
  .sc-tb-mobile-close .elementor-button:before{transform:translate(-50%,-50%) rotate(45deg)!important}
  .sc-tb-mobile-close .elementor-button:after{transform:translate(-50%,-50%) rotate(-45deg)!important}

  .sc-tb-mobile-drawer-links{
    --width:100%!important;
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:22px 0 10px!important;
  }
  .sc-tb-mobile-link{width:100%!important;border-bottom:1px solid #edf1ef!important}
  .sc-tb-mobile-link .elementor-heading-title{margin:0!important}
  .sc-tb-mobile-link .elementor-heading-title a{
    display:flex!important;
    align-items:center!important;
    min-height:66px!important;
    color:var(--sc-forest)!important;
    font-family:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),Georgia,serif!important;
    font-size:1.62rem!important;
    line-height:1.1!important;
    font-weight:600!important;
    letter-spacing:-.025em!important;
    text-decoration:none!important;
  }
  .sc-tb-mobile-drawer-bottom{
    --width:100%!important;
    width:100%!important;
    margin-top:auto!important;
    padding-top:26px!important;
  }
  .sc-tb-mobile-book{width:100%!important}
  .sc-tb-mobile-book .elementor-button{
    width:100%!important;
    min-height:52px!important;
    justify-content:center!important;
    padding:12px 20px!important;
    border-radius:999px!important;
    background:var(--sc-forest)!important;
    color:#fff!important;
    font-family:var(--e-global-typography-accent-font-family,"Manrope"),Arial,sans-serif!important;
    font-size:.92rem!important;
    font-weight:800!important;
    box-shadow:none!important;
  }
}

@media(max-width:767px){
  .sc-tb-header-logo{max-width:250px!important}
  .sc-tb-header-logo img{max-width:250px!important}
  .sc-tb-mobile-toggle{width:40px!important;max-width:40px!important}
  .sc-tb-mobile-toggle .elementor-button{width:40px!important;height:40px!important;min-height:40px!important}
  .sc-tb-mobile-toggle .elementor-button:before{top:12px!important}
  .sc-tb-mobile-toggle .elementor-button-text:before{top:18px!important}
  .sc-tb-mobile-toggle .elementor-button:after{top:24px!important}
  .sc-tb-mobile-drawer{width:min(92vw,370px)!important;max-width:370px!important;padding:18px 18px calc(22px + env(safe-area-inset-bottom))!important}
  .sc-tb-drawer-logo{max-width:220px!important}
  .sc-tb-drawer-logo img{max-width:220px!important}
  .sc-tb-footer-logo{max-width:290px!important}
  .sc-tb-footer-logo img{max-width:290px!important}
}

/* ===== v5.21 - Menu mobile come Popup Elementor nativo =====
   Il vecchio drawer non fa piu parte dell'Header. Se una copia residua fosse
   ancora presente in cache, rimane comunque nascosta anche nell'editor. */
.sc-tb-mobile-backdrop,
.sc-tb-mobile-drawer{display:none!important}

.sc-mobile-menu-popup{
  --width:100%!important;
  width:100%!important;
  min-height:100dvh!important;
  padding:22px 22px calc(24px + env(safe-area-inset-bottom))!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  background:#fff!important;
  color:var(--sc-forest)!important;
}
.sc-mobile-menu-popup .sc-tb-mobile-drawer-head{
  width:100%!important;
  min-height:64px!important;
  padding:0 58px 22px 0!important;
  border-bottom:1px solid var(--sc-line)!important;
  display:flex!important;
  align-items:center!important;
}
.sc-mobile-menu-popup .sc-tb-drawer-logo{max-width:245px!important}
.sc-mobile-menu-popup .sc-tb-drawer-logo img{
  display:block!important;width:100%!important;max-width:245px!important;height:auto!important;
  object-fit:contain!important;object-position:left center!important
}
.sc-mobile-menu-popup .sc-tb-mobile-drawer-links{
  width:100%!important;display:flex!important;flex-direction:column!important;gap:0!important;
  padding:22px 0 10px!important
}
.sc-mobile-menu-popup .sc-tb-mobile-link{width:100%!important;border-bottom:1px solid #edf1ef!important}
.sc-mobile-menu-popup .sc-tb-mobile-link .elementor-heading-title{margin:0!important}
.sc-mobile-menu-popup .sc-tb-mobile-link .elementor-heading-title a{
  display:flex!important;align-items:center!important;min-height:66px!important;
  color:var(--sc-forest)!important;
  font-family:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),Georgia,serif!important;
  font-size:1.62rem!important;line-height:1.1!important;font-weight:600!important;
  letter-spacing:-.025em!important;text-decoration:none!important
}
.sc-mobile-menu-popup .sc-tb-mobile-drawer-bottom{
  width:100%!important;margin-top:auto!important;padding-top:26px!important
}
.sc-mobile-menu-popup .sc-tb-mobile-book{width:100%!important}
.sc-mobile-menu-popup .sc-tb-mobile-book .elementor-button{
  width:100%!important;min-height:52px!important;justify-content:center!important;
  padding:12px 20px!important;border-radius:999px!important;background:var(--sc-forest)!important;
  color:#fff!important;font-family:var(--e-global-typography-accent-font-family,"Manrope"),Arial,sans-serif!important;
  font-size:.92rem!important;font-weight:800!important;box-shadow:none!important
}
@media(max-width:767px){
  .sc-mobile-menu-popup{padding:18px 18px calc(22px + env(safe-area-inset-bottom))!important}
  .sc-mobile-menu-popup .sc-tb-drawer-logo{max-width:220px!important}
  .sc-mobile-menu-popup .sc-tb-drawer-logo img{max-width:220px!important}
}


/* =========================================================
   v5.4 - Mobile hero CTA hierarchy
   On phones the two hero actions are deliberately stacked instead of
   forcing two 50% columns. This preserves readable labels, full touch
   targets and a clear primary/secondary hierarchy without overflow.
   Desktop/tablet remain unchanged.
   ========================================================= */
@media(max-width:767px){
  .sc-page-hero .sc-actions,
  .sc-elementor-theme .sc-page-hero .sc-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    flex-wrap:nowrap!important;
  }
  .sc-page-hero .sc-actions>.elementor-widget-button,
  .sc-page-hero .sc-actions>.elementor-element.elementor-widget-button,
  .sc-elementor-theme .sc-page-hero .sc-actions>.elementor-widget-button,
  .sc-elementor-theme .sc-page-hero .sc-actions>.elementor-element.elementor-widget-button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
  }
  .sc-page-hero .sc-actions .elementor-button,
  .sc-elementor-theme .sc-page-hero .sc-actions .elementor-button{
    display:flex!important;
    width:100%!important;
    min-height:48px!important;
    justify-content:center!important;
    padding:12px 18px!important;
    font-size:.86rem!important;
    line-height:1.25!important;
    white-space:normal!important;
    text-align:center!important;
  }
}

/* ===== v5.5 Sede visite / indirizzo ===== */
.sc-location-address{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin:0!important;
}
.sc-location-address>div{min-width:0!important;flex:1 1 auto!important}
.sc-location-address p{margin:0!important}
.sc-location-pin{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:2px!important;
  color:var(--sc-forest-2)!important;
}
.sc-location-pin svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
@media(max-width:767px){
  .sc-location-address{gap:10px!important}
  .sc-location-pin{width:20px!important;height:20px!important;flex-basis:20px!important;margin-top:3px!important}
}

/* ===== v5.6 Sede visite - icona Elementor nativa ===== */
.sc-location-address-native{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
}
.sc-location-address-native>.elementor-element.sc-location-icon{
  flex:0 0 22px!important;
  width:22px!important;
  max-width:22px!important;
  margin-top:2px!important;
}
.sc-location-address-native>.elementor-element.sc-location-copy{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
}
.sc-location-icon .elementor-icon-wrapper{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  line-height:1!important;
}
.sc-location-copy p{margin:0!important}
.sc-location-note{width:100%!important}
@media(max-width:767px){
  .sc-location-address-native{gap:10px!important}
  .sc-location-address-native>.elementor-element.sc-location-icon{
    flex-basis:20px!important;
    width:20px!important;
    max-width:20px!important;
    margin-top:3px!important;
  }
}

/* ==========================================================
   Floating Element - contatti rapidi (v5.7)
   ========================================================== */
.sc-native-fab{--sc-fab-toggle-size:64px;--sc-fab-action-size:52px;position:fixed;right:24px;bottom:24px;z-index:9997;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:var(--e-global-typography-text-font-family,Manrope),sans-serif}
.sc-native-fab-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.sc-native-fab.is-open .sc-native-fab-actions{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.sc-native-fab-action{display:flex;align-items:center;justify-content:flex-end;gap:10px;text-decoration:none!important;color:var(--sc-fab-label-color)!important}
.sc-native-fab-label{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid rgba(18,63,58,.10);border-radius:999px;background:var(--sc-fab-label-bg);box-shadow:0 8px 26px rgba(18,63,58,.10);font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap}
.sc-native-fab-action-icon,.sc-native-fab-toggle{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--sc-fab-main);color:#fff;box-shadow:0 10px 28px rgba(18,63,58,.20);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.sc-native-fab-action-icon{width:var(--sc-fab-action-size);height:var(--sc-fab-action-size)}
.sc-native-fab-action:hover .sc-native-fab-action-icon,.sc-native-fab-action:focus .sc-native-fab-action-icon{background:var(--sc-fab-hover);transform:translateY(-1px)}
.sc-native-fab-action-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sc-native-fab-toggle{width:var(--sc-fab-toggle-size);height:var(--sc-fab-toggle-size);padding:0;border:0;cursor:pointer}
.sc-native-fab-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sc-native-fab-toggle:hover,.sc-native-fab-toggle:focus-visible{background:var(--sc-fab-hover);transform:translateY(-1px);outline:none;box-shadow:0 12px 32px rgba(18,63,58,.25)}
.sc-native-fab-close{display:none}.sc-native-fab.is-open .sc-native-fab-chat{display:none}.sc-native-fab.is-open .sc-native-fab-close{display:block}
@media(max-width:1024px){.sc-native-fab{--sc-fab-toggle-size:62px;--sc-fab-action-size:51px}}
@media(max-width:767px){.sc-native-fab{--sc-fab-toggle-size:60px;--sc-fab-action-size:50px;right:16px;bottom:18px;gap:10px}.sc-native-fab-label{min-height:40px;padding:8px 12px;font-size:13px;max-width:220px;white-space:normal;text-align:right}.sc-native-fab-toggle svg{width:23px;height:23px}}


/* ==========================================================
   v5.9 - Form contatti Elementor nativo
   Il layout e i campi restano modificabili dal widget Form; queste regole
   mantengono la resa coerente con il design system del sito.
   ========================================================== */
.sc-native-contact-form{
  width:100%!important;
  max-width:980px!important;
  margin:22px auto 0!important;
}
.sc-native-contact-form>.elementor-widget-container{
  padding:30px!important;
  border:1px solid var(--sc-line)!important;
  border-radius:26px!important;
  background:#fff!important;
  box-shadow:var(--sc-shadow-soft)!important;
}
.sc-native-contact-form .elementor-form-fields-wrapper{
  align-items:flex-start!important;
}
.sc-native-contact-form .elementor-field-group{
  margin-bottom:16px!important;
}
.sc-native-contact-form .elementor-field-label{
  margin-bottom:7px!important;
  color:var(--sc-forest)!important;
  font-family:Manrope,sans-serif!important;
  font-size:.86rem!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.sc-native-contact-form .elementor-field,
.sc-native-contact-form input.elementor-field,
.sc-native-contact-form select.elementor-field,
.sc-native-contact-form textarea.elementor-field{
  min-height:48px!important;
  padding:13px 14px!important;
  border:1px solid var(--sc-line-dark)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--sc-text)!important;
  font-family:Manrope,sans-serif!important;
  font-size:.92rem!important;
  line-height:1.45!important;
  box-shadow:none!important;
  outline:none!important;
}
.sc-native-contact-form textarea.elementor-field{
  min-height:145px!important;
  resize:vertical!important;
}
.sc-native-contact-form .elementor-field:focus,
.sc-native-contact-form input.elementor-field:focus,
.sc-native-contact-form select.elementor-field:focus,
.sc-native-contact-form textarea.elementor-field:focus{
  border-color:var(--sc-sage)!important;
  box-shadow:0 0 0 3px rgba(145,169,157,.13)!important;
}
.sc-native-contact-form .elementor-field-type-acceptance{
  margin-top:0!important;
}
.sc-native-contact-form .elementor-field-type-acceptance .elementor-field-subgroup,
.sc-native-contact-form .elementor-field-type-acceptance .elementor-field-option{
  width:100%!important;
}
.sc-native-contact-form .elementor-field-type-acceptance .elementor-field-option{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
}
.sc-native-contact-form .elementor-field-type-acceptance input[type="checkbox"]{
  width:17px!important;
  height:17px!important;
  min-height:17px!important;
  flex:0 0 17px!important;
  margin:2px 0 0!important;
  accent-color:var(--sc-forest)!important;
}
.sc-native-contact-form .elementor-field-type-acceptance label{
  color:var(--sc-muted)!important;
  font-family:Manrope,sans-serif!important;
  font-size:.78rem!important;
  font-weight:500!important;
  line-height:1.5!important;
}
.sc-native-contact-form .elementor-field-type-acceptance a{
  color:var(--sc-forest)!important;
  font-weight:700!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
.sc-native-contact-form .elementor-field-type-submit{
  margin-top:2px!important;
  margin-bottom:0!important;
}
.sc-native-contact-form .elementor-button{
  width:auto!important;
  min-height:48px!important;
  padding:13px 22px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--sc-forest)!important;
  color:#fff!important;
  font-family:Manrope,sans-serif!important;
  font-size:.86rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  box-shadow:0 9px 22px rgba(18,63,58,.14)!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.sc-native-contact-form .elementor-button:hover,
.sc-native-contact-form .elementor-button:focus-visible{
  background:var(--sc-forest-2)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 12px 26px rgba(18,63,58,.18)!important;
}
@media(min-width:768px){
  .sc-native-contact-form .elementor-field-type-submit{
    width:auto!important;
    max-width:none!important;
    flex:0 0 auto!important;
    align-self:flex-start!important;
  }
  .sc-native-contact-form .elementor-field-type-submit .elementor-button{
    width:auto!important;
    min-width:0!important;
    display:inline-flex!important;
    justify-content:center!important;
  }
}
.sc-native-contact-form .elementor-message{
  margin:8px 0 0!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  font-family:Manrope,sans-serif!important;
  font-size:.86rem!important;
  line-height:1.45!important;
}
.sc-native-contact-form .elementor-message-success{
  background:#edf4f0!important;
  color:var(--sc-forest)!important;
}
.sc-native-contact-form .elementor-message-danger,
.sc-native-contact-form .elementor-message-error{
  background:#fff1ef!important;
  color:#8b2f28!important;
}
@media(max-width:767px){
  .sc-native-contact-form{margin-top:18px!important}
  .sc-native-contact-form>.elementor-widget-container{padding:18px!important;border-radius:20px!important}
  .sc-native-contact-form .elementor-field-group{margin-bottom:14px!important}
  .sc-native-contact-form .elementor-button{width:100%!important;justify-content:center!important}
}

/* ==========================================================
 * Form Elementor - select Motivo del contatto (v5.10)
 * Evita il doppio bordo creato dal wrapper Elementor del select.
 * ========================================================== */
.sc-native-contact-form .elementor-field-type-select .elementor-select-wrapper{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.sc-native-contact-form .elementor-field-type-select .elementor-select-wrapper select,
.sc-native-contact-form .elementor-field-type-select select.elementor-field-textual{
  display:block!important;
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  padding:13px 46px 13px 14px!important;
  border:1px solid var(--sc-line-dark)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--sc-text)!important;
  font-family:Manrope,sans-serif!important;
  font-size:.92rem!important;
  font-weight:500!important;
  line-height:1.45!important;
  box-shadow:none!important;
  outline:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.sc-native-contact-form .elementor-field-type-select .elementor-select-wrapper select:focus,
.sc-native-contact-form .elementor-field-type-select select.elementor-field-textual:focus{
  border-color:var(--sc-sage)!important;
  box-shadow:0 0 0 3px rgba(145,169,157,.13)!important;
}
.sc-native-contact-form .elementor-field-type-select .select-caret-down-wrapper{
  position:absolute!important;
  top:50%!important;
  right:16px!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  color:var(--sc-forest)!important;
  pointer-events:none!important;
  transform:translateY(-50%)!important;
}
.sc-native-contact-form .elementor-field-type-select .select-caret-down-wrapper svg{
  width:13px!important;
  height:13px!important;
  fill:currentColor!important;
}


/* ==========================================================
 * Home hero mobile spacing + title hierarchy (v5.12)
 * Desktop remains visually unchanged.
 * ========================================================== */
@media(max-width:767px){
  /* Internal heroes start at 28px. Home previously combined 24px outer +
     34px inner top spacing; collapse that stack to the same 28px rhythm. */
  .sc-elementor-theme .sc-home-hero{padding-top:0!important}
  .sc-elementor-theme .sc-home-hero .sc-hero-grid{padding-top:28px!important}

  /* Keep one semantic H1, but make the professional title subordinate. */
  .sc-elementor-theme .sc-home-hero .sc-hero-title .sc-title-prefix{
    display:block!important;
    margin:0 0 5px!important;
    color:var(--sc-forest-2)!important;
    font-family:Manrope,sans-serif!important;
    font-size:16px!important;
    font-weight:750!important;
    line-height:1.2!important;
    letter-spacing:.035em!important;
  }
  .sc-elementor-theme .sc-home-hero .sc-hero-title .sc-title-name{
    display:block!important;
    color:inherit!important;
    font-family:"Cormorant Garamond",Georgia,serif!important;
    font-size:clamp(2.85rem,12vw,3.2rem)!important;
    font-weight:600!important;
    line-height:.94!important;
    letter-spacing:-.045em!important;
  }
}

/* ==========================================================
 * v5.13 - Home hero hierarchy and vertical rhythm
 * - hierarchy applied consistently on desktop/tablet/mobile
 * - lighter Manrope prefix, closer to the logo treatment
 * - more breathing room between name and lead
 * - desktop/tablet top spacing reduced without flattening the Home hero
 * ========================================================== */
.sc-elementor-theme .sc-home-hero .sc-hero-title{
  margin-bottom:18px!important;
}
.sc-elementor-theme .sc-home-hero .sc-hero-title .sc-title-prefix{
  display:block!important;
  margin:0 0 7px!important;
  color:var(--sc-forest-2)!important;
  font-family:var(--e-global-typography-text-font-family,"Manrope"),Arial,sans-serif!important;
  font-size:19px!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:.015em!important;
}
.sc-elementor-theme .sc-home-hero .sc-hero-title .sc-title-name{
  display:block!important;
  color:inherit!important;
  font-family:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),Georgia,serif!important;
  font-weight:600!important;
}

@media(min-width:768px){
  /* The Home previously stacked 24px outer + 66px inner top spacing.
     Keep it more generous than internal heroes, but remove the duplication. */
  .sc-elementor-theme .sc-home-hero{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  .sc-elementor-theme .sc-home-hero .sc-hero-grid{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }
}

@media(max-width:767px){
  .sc-elementor-theme .sc-home-hero .sc-hero-title{
    margin-bottom:16px!important;
  }
  .sc-elementor-theme .sc-home-hero .sc-hero-title .sc-title-prefix{
    margin-bottom:6px!important;
    font-size:16px!important;
    font-weight:500!important;
    letter-spacing:.02em!important;
  }
}


/* ===== v5.14 compact footer =====
   The duplicate primary navigation was removed from the Elementor footer.
   This rule also suppresses stale cached markup until Elementor regenerates CSS. */
.sc-tb-footer-nav-wrap,.sc-global-footer-nav{display:none!important}


/* ===== v5.15 location labels + professional footer info ===== */
.sc-hero-location-row{display:flex;align-items:flex-start;gap:12px}
.sc-hero-location-row>i{flex:0 0 auto;margin-top:4px;color:var(--sc-forest-2);font-size:1.05rem;line-height:1}
.sc-hero-location-row>div{min-width:0}
.sc-hero-location-row strong{margin-bottom:8px!important}
.sc-tb-footer-location.sc-location-address-native{display:flex!important;align-items:flex-start!important;gap:10px!important;margin-top:10px!important;color:#dce9e4!important}
.sc-tb-footer-location .sc-tb-footer-location-icon{flex:0 0 auto!important;width:18px!important;max-width:18px!important;margin-top:3px!important}
.sc-tb-footer-location .sc-tb-footer-location-icon .elementor-icon{color:#dce9e4!important;font-size:18px!important}
.sc-tb-footer-location .sc-tb-footer-location-copy{flex:1 1 auto!important;min-width:0!important;margin:0!important}
.sc-tb-footer-location .sc-tb-footer-location-copy .elementor-widget-container{font-size:.86rem!important;line-height:1.6!important}
.sc-tb-footer-professional{margin-top:12px!important;max-width:900px!important}
.sc-tb-footer-professional .elementor-widget-container{font-size:.69rem!important;line-height:1.55!important}
.sc-tb-footer-professional strong{font-weight:700!important}
.sc-global-footer-location{display:flex!important;align-items:flex-start!important;gap:10px!important;margin-top:14px!important}
.sc-global-footer-location>p{margin:0!important}
.sc-professional-placeholder{max-width:900px}
@media (max-width:767px){
  .sc-hero-location-row{gap:10px}
  .sc-tb-footer-professional{margin-top:10px!important}
  .sc-tb-footer-professional .elementor-widget-container{font-size:.68rem!important;line-height:1.55!important}
}

/* ===== v5.16 footer identity + copy cleanup ===== */
.sc-tb-footer-small strong,.sc-global-footer-bottom strong{color:#b8ccc5!important;font-weight:700!important}
@media(min-width:768px){
  .sc-tb-footer-small{max-width:860px!important}
}

/* ==========================================================
 * v5.26 - Uniformita globale Header + eyebrow Home
 * - Header Theme Builder e fallback sempre nel normale flusso pagina.
 *   Evita differenze di comportamento sticky dovute ai diversi wrapper Elementor.
 * - "Dott.ssa" nella Home uniformato come eyebrow.
 * ========================================================== */

/* Header: comportamento identico su ogni pagina, non sticky/fixed. */
.sc-global-header,
body.sc-elementor-theme .elementor-location-header,
body.sc-elementor-theme [data-elementor-type="header"]{
  position:relative!important;
  top:auto!important;
}
body.admin-bar.sc-elementor-theme .elementor-location-header,
body.admin-bar.sc-elementor-theme [data-elementor-type="header"],
.admin-bar .sc-global-header{
  top:auto!important;
}

/* Home eyebrow: stesso carattere editoriale dei titoleti serif del sito. */
.sc-elementor-theme .sc-home-hero .sc-hero-title .sc-title-prefix{
  display:block!important;
  margin:0 0 9px!important;
  color:var(--sc-forest-2)!important;
  font-family:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),Georgia,serif!important;
  font-size:.82rem!important;
  line-height:1.15!important;
  font-weight:600!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
}

@media(max-width:767px){
  .sc-elementor-theme .sc-home-hero .sc-hero-title .sc-title-prefix{
    margin-bottom:8px!important;
    font-size:.74rem!important;
    line-height:1.25!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.14em!important;
  }
}


/* ==========================================================
 * v5.27 - Home eyebrow font correction
 * Il prefisso "Dott.ssa" usa Cormorant Garamond, mantenendo
 * uppercase e tracking del titoletto per coerenza editoriale.
 * ========================================================== */

/* ==========================================================
 * v5.28 - Home mobile: CTA dopo il contenuto di supporto
 * - Agopuntura: Informazioni sull’agopuntura dopo "Formazione in Agopuntura".
 * - Prenotazione: Prenota una visita dopo i 3 step.
 * Desktop/tablet restano invariati.
 * ========================================================== */
@media(max-width:767px){
  /* Agopuntura: appiattiamo solo la colonna copy nel grid mobile,
     così la CTA originale può essere ordinata dopo la card Formazione. */
  .sc-elementor-theme .sc-home-acupuncture .sc-acupuncture-card{
    row-gap:0!important;
    align-items:stretch!important;
  }
  .sc-elementor-theme .sc-home-acupuncture .sc-acupuncture-card>.e-con:first-child{
    display:contents!important;
  }
  .sc-elementor-theme .sc-home-acupuncture .sc-acupuncture-card>.e-con:first-child>.sc-eyebrow{
    order:1!important;
    margin-bottom:8px!important;
  }
  .sc-elementor-theme .sc-home-acupuncture .sc-acupuncture-card>.e-con:first-child>.sc-section-title{
    order:2!important;
    margin-bottom:12px!important;
  }
  .sc-elementor-theme .sc-home-acupuncture .sc-acupuncture-card>.e-con:first-child>.elementor-widget-text-editor{
    order:3!important;
    margin-bottom:0!important;
  }
  .sc-elementor-theme .sc-home-acupuncture .sc-acupuncture-note{
    order:4!important;
    margin-top:28px!important;
  }
  .sc-elementor-theme .sc-home-acupuncture .sc-acupuncture-card>.e-con:first-child>.elementor-widget-button{
    order:5!important;
    width:100%!important;
    margin-top:18px!important;
  }
  .sc-elementor-theme .sc-home-acupuncture .sc-acupuncture-card>.e-con:first-child>.elementor-widget-button .elementor-button{
    width:100%!important;
    justify-content:center!important;
  }

  /* Prenotazione: stesso principio. Copy -> 3 step -> CTA finale. */
  .sc-elementor-theme .sc-home-booking .sc-booking-grid{
    row-gap:0!important;
    align-items:stretch!important;
  }
  .sc-elementor-theme .sc-home-booking .sc-booking-grid>.e-con:first-child{
    display:contents!important;
  }
  .sc-elementor-theme .sc-home-booking .sc-booking-grid>.e-con:first-child>.sc-eyebrow{
    order:1!important;
    margin-bottom:8px!important;
  }
  .sc-elementor-theme .sc-home-booking .sc-booking-grid>.e-con:first-child>.sc-section-title{
    order:2!important;
    margin-bottom:12px!important;
  }
  .sc-elementor-theme .sc-home-booking .sc-booking-grid>.e-con:first-child>.elementor-widget-text-editor{
    order:3!important;
    margin-bottom:0!important;
  }
  .sc-elementor-theme .sc-home-booking .sc-booking-steps{
    order:4!important;
    margin-top:28px!important;
  }
  .sc-elementor-theme .sc-home-booking .sc-booking-grid>.e-con:first-child>.elementor-widget-button{
    order:5!important;
    width:100%!important;
    margin-top:20px!important;
  }
  .sc-elementor-theme .sc-home-booking .sc-booking-grid>.e-con:first-child>.elementor-widget-button .elementor-button{
    width:100%!important;
    justify-content:center!important;
  }
}

/* ==========================================================
 * v5.29 - Mobile CTA Allergologia + Footer Powered by Nima
 * - Allergologia mobile: CTA dopo la card "Esperienza clinica".
 * - Footer desktop/mobile: credit Nima coerente con la riga legale.
 * ========================================================== */
@media(max-width:767px){
  /* Allergologia pediatrica: testo -> card esperienza clinica -> CTA. */
  .sc-elementor-theme .sc-allergy-pediatric .sc-pediatric-grid{
    row-gap:0!important;
    align-items:stretch!important;
  }
  .sc-elementor-theme .sc-allergy-pediatric .sc-pediatric-grid>.e-con:first-child{
    display:contents!important;
  }
  .sc-elementor-theme .sc-allergy-pediatric .sc-pediatric-grid>.e-con:first-child>.sc-eyebrow{
    order:1!important;
    margin-bottom:8px!important;
  }
  .sc-elementor-theme .sc-allergy-pediatric .sc-pediatric-grid>.e-con:first-child>.sc-section-title{
    order:2!important;
    margin-bottom:12px!important;
  }
  .sc-elementor-theme .sc-allergy-pediatric .sc-pediatric-grid>.e-con:first-child>.elementor-widget-text-editor{
    order:3!important;
    margin-bottom:0!important;
  }
  .sc-elementor-theme .sc-allergy-pediatric .sc-pediatric-proof{
    order:4!important;
    margin-top:28px!important;
  }
  .sc-elementor-theme .sc-allergy-pediatric .sc-pediatric-grid>.e-con:first-child>.elementor-widget-button{
    order:5!important;
    width:100%!important;
    margin-top:18px!important;
  }
  .sc-elementor-theme .sc-allergy-pediatric .sc-pediatric-grid>.e-con:first-child>.elementor-widget-button .elementor-button{
    width:100%!important;
    justify-content:center!important;
  }
}

.sc-powered-by-nima{white-space:nowrap}
.sc-powered-by-nima a{
  color:#b8ccc5!important;
  font-weight:700!important;
  text-decoration:none!important;
  transition:color .18s ease,opacity .18s ease!important;
}
.sc-powered-by-nima a:hover,
.sc-powered-by-nima a:focus{
  color:#ffffff!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}


/* ==========================================================
 * v5.30 - Footer gerarchico, coerente con siti medicali moderni
 * Desktop: brand + studio distinti, legal bar separata, credit Nima autonomo.
 * Mobile: blocchi centrati e leggibili, niente "testo continuo" casuale.
 * ========================================================== */

/* Shared identity structure */
.sc-footer-identity{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px 0!important;
  margin:0!important;
}
.sc-footer-identity>span{
  display:inline-flex!important;
  align-items:center!important;
  color:#9fb8b1!important;
}
.sc-footer-identity>span+span:before{
  content:"·";
  display:inline-block;
  margin:0 8px;
  color:#789b92;
}
.sc-footer-identity strong{color:#b8ccc5!important;font-weight:700!important}

/* Elementor footer — desktop */
@media(min-width:768px){
  .sc-tb-footer-inner{
    padding:46px 0 20px!important;
  }
  .sc-tb-footer-brand{
    display:grid!important;
    grid-template-columns:minmax(0,1.25fr) minmax(280px,.65fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:64px!important;
    row-gap:12px!important;
    align-items:start!important;
  }
  .sc-tb-footer-logo{
    grid-column:1!important;
    grid-row:1!important;
    align-self:start!important;
  }
  .sc-tb-footer-copy{
    grid-column:1!important;
    grid-row:2!important;
    max-width:560px!important;
    margin-top:4px!important;
  }
  .sc-tb-footer-location.sc-location-address-native{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    width:100%!important;
    margin-top:0!important;
    padding:18px 20px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.045)!important;
  }
  .sc-tb-footer-bottom{
    margin-top:30px!important;
    padding-top:18px!important;
    gap:30px!important;
  }
  .sc-tb-footer-small{
    max-width:none!important;
  }
  .sc-tb-footer-legal p{
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    white-space:nowrap!important;
  }
  .sc-tb-footer-credit-row{
    --width:100%!important;
    width:100%!important;
    display:flex!important;
    justify-content:flex-end!important;
    margin-top:12px!important;
  }
  .sc-tb-footer-credit{
    width:auto!important;
    max-width:none!important;
  }
}

/* Dedicated credit: visually separate from legal/professional data */
.sc-tb-footer-credit-row,
.sc-global-footer-credit{
  color:#789b92!important;
}
.sc-tb-footer-credit .elementor-widget-container,
.sc-global-footer-credit{
  font-family:var(--e-global-typography-text-font-family,"Manrope"),Arial,sans-serif!important;
  font-size:.68rem!important;
  line-height:1.4!important;
}
.sc-tb-footer-credit p,
.sc-global-footer-credit p{margin:0!important}
.sc-tb-footer-credit .sc-powered-by-nima,
.sc-global-footer-credit .sc-powered-by-nima{white-space:nowrap!important}
.sc-tb-footer-credit .sc-powered-by-nima a,
.sc-global-footer-credit .sc-powered-by-nima a{
  color:#b8ccc5!important;
  font-weight:750!important;
  text-decoration:none!important;
}
.sc-tb-footer-credit .sc-powered-by-nima a:hover,
.sc-tb-footer-credit .sc-powered-by-nima a:focus,
.sc-global-footer-credit .sc-powered-by-nima a:hover,
.sc-global-footer-credit .sc-powered-by-nima a:focus{
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

/* Fallback footer parity */
@media(min-width:768px){
  .sc-global-footer-brand{
    display:grid!important;
    grid-template-columns:minmax(0,1.25fr) minmax(280px,.65fr)!important;
    column-gap:64px!important;
    align-items:start!important;
  }
  .sc-global-footer-brand>a,
  .sc-global-footer-brand>p{grid-column:1!important}
  .sc-global-footer-location{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    margin-top:0!important;
    padding:18px 20px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.045)!important;
  }
  .sc-global-footer-credit{
    display:flex!important;
    justify-content:flex-end!important;
    margin-top:12px!important;
  }
}

/* Mobile footer: deliberate vertical hierarchy */
@media(max-width:767px){
  .sc-tb-footer-inner,
  .sc-global-footer-inner{
    width:calc(100% - 32px)!important;
    padding:34px 0 18px!important;
  }

  .sc-tb-footer-brand,
  .sc-global-footer-brand{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
  }
  .sc-tb-footer-logo,
  .sc-tb-footer-logo .elementor-widget-container,
  .sc-tb-footer-logo a,
  .sc-global-footer-brand>a{
    margin-inline:auto!important;
    justify-content:center!important;
  }
  .sc-tb-footer-logo,
  .sc-global-footer-brand>a{
    width:min(270px,88%)!important;
    max-width:270px!important;
  }
  .sc-tb-footer-logo img,
  .sc-global-footer-brand img{
    width:100%!important;
    max-width:270px!important;
    margin-inline:auto!important;
  }
  .sc-tb-footer-copy,
  .sc-global-footer-brand>p{
    max-width:340px!important;
    margin:16px auto 0!important;
    text-align:center!important;
  }

  .sc-tb-footer-location.sc-location-address-native,
  .sc-global-footer-location{
    width:100%!important;
    max-width:350px!important;
    margin:20px auto 0!important;
    padding:15px 16px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.045)!important;
    text-align:left!important;
    justify-content:flex-start!important;
  }

  .sc-tb-footer-bottom,
  .sc-global-footer-bottom{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:15px!important;
    margin-top:26px!important;
    padding-top:20px!important;
    text-align:center!important;
  }
  .sc-tb-footer-bottom>.elementor-element,
  .sc-global-footer-bottom>*{
    width:100%!important;
    max-width:100%!important;
  }

  .sc-tb-footer-small .elementor-widget-container,
  .sc-global-footer-identity{
    font-size:.72rem!important;
    line-height:1.55!important;
  }
  .sc-footer-identity{
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
  }
  .sc-footer-identity>span{
    display:block!important;
    width:100%!important;
    text-align:center!important;
  }
  .sc-footer-identity>span+span:before{display:none!important}

  .sc-tb-footer-legal p,
  .sc-global-footer-legal{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:18px!important;
    flex-wrap:wrap!important;
  }
  .sc-tb-footer-legal a,
  .sc-global-footer-legal a{
    display:inline-flex!important;
    align-items:center!important;
    min-height:34px!important;
    color:#d3e2dd!important;
    text-decoration:none!important;
  }

  .sc-tb-footer-credit-row,
  .sc-global-footer-credit{
    --width:100%!important;
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    margin-top:18px!important;
    padding-top:16px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    text-align:center!important;
  }
  .sc-tb-footer-credit{
    width:100%!important;
    text-align:center!important;
  }
}
