/*
Theme Name: Hello Elementor Caffi
Theme URI: https://www.matteocaffi.it/
Description: Tema child di Hello Elementor per l'Ambulatorio Dott. Matteo Caffi. Contiene il design system del sito (CSS) e le piccole funzioni front-end.
Author: Backupc
Author URI: https://www.backupc.it
Template: hello-elementor
Version: 1.3.0
Text Domain: hello-elementor-caffi
*/


/* ================= MCF v2 ================= */
:root{
--ink:#15303F;--ink2:#3E5A69;--muted:#6B8190;
--brand:#5292CA;--brand-dk:#3B7CB3;--brand-lt:#EAF3FB;
--deep:#123A55;--tint:#EEF5FB;--line:#DEE8F1;--max:1180px;
--display:'Palatino Linotype','Book Antiqua',Palatino,'Iowan Old Style',Georgia,'Times New Roman',serif;
--body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}
body{font-family:var(--body)!important;color:var(--ink);font-size:15.5px;line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased}
#content{padding:0!important}
.page-content{padding:0!important;margin:0!important}
.elementor-widget-image img{display:block;max-width:100%;height:auto}
.elementor-widget-heading .elementor-heading-title{font-family:var(--display)!important;font-weight:400!important;color:var(--ink)!important;line-height:1.16!important;letter-spacing:-.012em;margin:0}
/* ---------- HEADER ---------- */
#site-header{background:linear-gradient(180deg,#5C9CD4 0%,#4C8CC6 100%)!important;border-bottom:1px solid rgba(255,255,255,.16);position:sticky;top:0;z-index:9000;padding:0!important}
body.admin-bar #site-header{top:32px}
#site-header .header-inner{max-width:var(--max);margin:0 auto;padding:0 24px;min-height:64px;display:flex!important;align-items:center;justify-content:space-between;gap:24px}
#site-header .site-branding{display:flex;align-items:center;margin:0!important}
#site-header .custom-logo{height:38px;width:auto;display:block}
#site-header .site-navigation{margin-left:auto}
#site-header .menu{display:flex;align-items:center;gap:24px;margin:0;padding:0;list-style:none}
#site-header .menu>li{position:relative;margin:0;padding:0;list-style:none;background:none!important}
#site-header .menu>li>a{display:block;padding:21px 0;font-family:var(--body)!important;font-size:10.5px!important;font-weight:600!important;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.86)!important;text-decoration:none;position:relative;transition:color .2s;border:0!important;background:none!important}
#site-header .menu>li>a:after{content:"";position:absolute;left:0;right:0;bottom:14px;height:1px;background:rgba(255,255,255,.9);transform:scaleX(0);transform-origin:left;transition:transform .25s}
#site-header .menu>li:hover>a,#site-header .menu>li.current-menu-item>a{color:#fff!important}
#site-header .menu>li:hover>a:after,#site-header .menu>li.current-menu-item>a:after{transform:scaleX(1)}
#site-header .menu>li:last-child>a{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:9px!important;padding:9px 16px!important;margin-left:4px;transition:background .22s,color .22s}
#site-header .menu>li:last-child>a:after{display:none}
#site-header .menu>li:last-child:hover>a{background:#fff!important;color:#2F6B9E!important;border-color:#fff!important}
/* dropdown desktop */
@media(min-width:1025px){
  #site-header .menu>li>ul.sub-menu{position:absolute!important;top:100%!important;left:-16px!important;min-width:236px;margin:0!important;padding:7px!important;list-style:none!important;background:#fff!important;border-radius:12px!important;box-shadow:0 20px 44px rgba(8,40,62,.20)!important;display:none!important;z-index:9999;height:auto!important;max-height:none!important;overflow:visible!important;float:none!important}
  #site-header .menu>li:hover>ul.sub-menu,#site-header .menu>li:focus-within>ul.sub-menu{display:block!important}
  #site-header .menu>li>ul.sub-menu>li{display:block!important;width:100%!important;float:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;background:none!important}
  #site-header .menu>li>ul.sub-menu>li>a{display:block!important;padding:9px 13px!important;font-family:var(--body)!important;font-size:13px!important;font-weight:500!important;letter-spacing:.01em!important;text-transform:none!important;color:#26536F!important;border-radius:8px!important;white-space:nowrap;border:0!important;background:none!important;margin:0!important}
  #site-header .menu>li>ul.sub-menu>li>a:hover{background:var(--brand-lt)!important;color:#1C4762!important}
  #site-header .menu>li>ul.sub-menu>li>a:after{display:none!important}
}
/* header mobile */
@media(max-width:1024px){
  #site-header .header-inner{min-height:58px;padding:0 16px;flex-wrap:nowrap!important;gap:0!important}
  #site-header .custom-logo{height:32px}
  #site-header .site-navigation{display:none!important}
  #site-header .site-navigation-toggle-holder{display:flex!important;align-items:center;margin-left:auto!important}
  #site-header .site-navigation-toggle{color:#fff!important;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:rgba(255,255,255,.14);cursor:pointer}
  #site-header .site-navigation-toggle i{font-size:19px;color:#fff}
  #site-header .site-navigation-dropdown{display:none!important;position:absolute!important;left:0;right:0;top:100%;bottom:auto!important;margin:0!important;transform:none!important;height:auto!important;max-height:none!important;background:#4C8CC6!important;box-shadow:0 22px 40px rgba(6,30,48,.28);z-index:9998}
  #site-header .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown{display:block!important}
  #site-header .site-navigation-dropdown .menu{display:block!important;position:static!important;width:100%!important;height:auto!important;float:none!important;padding:2px 0 4px!important;background:none!important;gap:0}
  #site-header .site-navigation-dropdown .menu>li{display:block!important;width:100%!important;float:none!important;height:auto!important;max-height:none!important;margin:0}
  #site-header .site-navigation-dropdown .menu>li>a{display:block!important;height:auto!important;max-height:none!important;padding:13px 20px!important;font-size:11px!important;border-bottom:1px solid rgba(255,255,255,.14)!important;border-radius:0!important;background:none!important;margin:0!important}
  #site-header .site-navigation-dropdown .menu>li>a:after{display:none!important}
  #site-header .site-navigation-dropdown .sub-menu{display:none!important}
}
/* ---------- TIPOGRAFIA ---------- */
.mcf-eyebrow .elementor-heading-title{font-family:var(--body)!important;font-size:10.5px!important;letter-spacing:.2em!important;text-transform:uppercase;color:var(--brand)!important;font-weight:600!important;margin:0 0 12px!important;line-height:1.3!important}
.mcf-h1 .elementor-heading-title{font-size:clamp(26px,3vw,40px)!important;line-height:1.07!important;letter-spacing:-.02em!important;max-width:17em}
.mcf-h2 .elementor-heading-title{font-size:clamp(21px,2.1vw,30px)!important;line-height:1.14!important;letter-spacing:-.015em!important}
.mcf-h3 .elementor-heading-title{font-size:18px!important;line-height:1.3!important;margin:0 0 6px!important}
.mcf-h2--light .elementor-heading-title{color:var(--ink)!important}
.mcf-num .elementor-heading-title{font-family:var(--body)!important;font-size:10px!important;letter-spacing:.22em;color:#9FB4C0!important;font-weight:600!important;margin:0 0 12px!important}
.mcf-lead .elementor-widget-container p{font-size:16px!important;line-height:1.6!important;color:var(--ink2)!important;margin:16px 0 0!important;max-width:34em}
.mcf-body .elementor-widget-container p{font-size:15px!important;line-height:1.68!important;color:var(--ink2)!important;margin:0 0 10px!important}
.mcf-body--light .elementor-widget-container p{color:var(--ink2)!important}
.mcf-note .elementor-widget-container p{font-size:12.5px!important;color:var(--muted)!important;margin:24px 0 0!important}
.mcf-note .elementor-widget-container a{color:var(--ink2)!important;text-decoration:none;border-bottom:1px solid var(--line)}
.mcf-list .elementor-widget-container ul{list-style:none;margin:16px 0 20px;padding:0}
.mcf-list .elementor-widget-container li{position:relative;padding-left:20px;margin:0 0 7px;font-size:14.5px;line-height:1.55;color:var(--ink2)}
.mcf-list .elementor-widget-container li:before{content:"";position:absolute;left:0;top:11px;width:9px;height:1px;background:var(--brand)}
/* ---------- BOTTONI ---------- */
.elementor-widget-button .elementor-button{font-family:var(--body)!important;font-size:12.5px!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:none!important;padding:13px 22px!important;border-radius:9px!important;border:1px solid transparent!important;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,color .22s ease;line-height:1;display:inline-block}
.mcf-btn--primary .elementor-button{background:linear-gradient(135deg,#63A1D6 0%,#3E80B9 100%)!important;color:#fff!important;box-shadow:0 10px 24px rgba(62,128,185,.28)!important}
.mcf-btn--primary .elementor-button:hover{background:linear-gradient(135deg,#6FABDD 0%,#4489C4 100%)!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 14px 30px rgba(62,128,185,.36)!important}
.mcf-btn--ghost .elementor-button{background:#fff!important;border:1px solid var(--line)!important;color:#27536F!important;box-shadow:0 6px 16px rgba(24,68,102,.06)!important}
.mcf-btn--ghost .elementor-button:hover{background:#fff!important;border-color:#9FC5E4!important;color:var(--brand-dk)!important;transform:translateY(-2px)!important;box-shadow:0 12px 26px rgba(24,68,102,.12)!important}
.mcf-btn--link .elementor-button{background:transparent!important;padding:0 0 6px!important;border:0!important;border-bottom:1px solid #A9CBE6!important;border-radius:0!important;color:var(--brand-dk)!important;letter-spacing:.03em!important;box-shadow:none!important}
.mcf-btn--link .elementor-button:hover{color:var(--brand)!important;transform:none!important;box-shadow:none!important}
.mcf-btn--light .elementor-button{background:linear-gradient(135deg,#63A1D6 0%,#3E80B9 100%)!important;color:#fff!important;box-shadow:0 10px 24px rgba(62,128,185,.26)!important}
.mcf-btn--light .elementor-button:hover{transform:translateY(-2px)!important;box-shadow:0 14px 30px rgba(62,128,185,.34)!important;color:#fff!important}
.mcf-btn--outline-light .elementor-button{background:#fff!important;border:1px solid var(--line)!important;color:#27536F!important;box-shadow:none!important}
.mcf-btn--outline-light .elementor-button:hover{border-color:#9FC5E4!important;color:var(--brand-dk)!important;transform:translateY(-2px)!important}
.mcf-btn--primary .elementor-button-text:after{content:"\2192";display:inline-block;margin-left:8px;font-size:14px;line-height:1;transition:transform .22s ease}
.mcf-btn--primary:hover .elementor-button-text:after{transform:translateX(3px)}
/* ---------- HERO HOME ---------- */
.elementor-element-mcf0001{background:var(--tint)!important;padding:0!important;margin:0!important}
.elementor-element-mcf0001>.e-con-inner{max-width:var(--max);margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:44px}
.elementor-element-mcf0002{width:56%!important;padding:48px 0!important;justify-content:center;gap:0!important}
.elementor-element-mcf0010{width:40%!important;padding:0!important;justify-content:center}
.elementor-element-mcf0011 img{width:100%;height:auto;aspect-ratio:4/3.4;object-fit:cover;object-position:50% 28%;border-radius:12px;box-shadow:0 18px 44px rgba(20,60,90,.14)}
.elementor-element-mcf0006{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:10px!important;margin-top:24px;width:100%!important}
.elementor-element-mcf0006>.elementor-element{width:auto!important;flex:0 0 auto!important}
/* ---------- CHI SIAMO ---------- */
.elementor-element-mcf0020{background:#fff!important;padding:56px 0!important}
.elementor-element-mcf0020>.e-con-inner{max-width:var(--max);margin:0 auto;padding:0 24px;gap:40px!important;align-items:center}
.elementor-element-mcf0021{width:38%!important}
.elementor-element-mcf0023{width:58%!important;gap:0!important}
.mcf-portrait img{width:100%;height:auto;aspect-ratio:4/4.6;object-fit:cover;object-position:50% 18%;border-radius:12px;box-shadow:0 18px 44px rgba(20,60,90,.12)}
.elementor-element-mcf0025{margin-bottom:4px}
.elementor-element-mcf0028{margin-top:2px}
/* ---------- PILASTRI ---------- */
.elementor-element-mcf0030{background:var(--tint)!important;padding:52px 0!important}
.elementor-element-mcf0030>.e-con-inner{max-width:var(--max);margin:0 auto;padding:0 24px}
.elementor-element-mcf0031,.elementor-element-mcf0032,.elementor-element-mcf0033{text-align:center!important}
.elementor-element-mcf0033 .elementor-widget-container p{max-width:600px;margin:12px auto 0!important;text-align:center}
.elementor-element-mcf0034{display:flex!important;gap:0!important;margin-top:32px}
.elementor-element-mcf0035,.elementor-element-mcf0039,.elementor-element-mcf003d{flex:1 1 0!important;width:auto!important;padding:0 30px!important;border-left:1px solid #D3E2EE;gap:0!important}
.elementor-element-mcf0035{border-left:0!important;padding-left:0!important}
.elementor-element-mcf003d{padding-right:0!important}
/* ---------- TRATTAMENTI ---------- */
.elementor-element-mcf0050{background:#fff!important;padding:52px 0 56px!important}
.elementor-element-mcf0050>.e-con-inner{max-width:var(--max);margin:0 auto;padding:0 24px}
.elementor-element-mcf0051,.elementor-element-mcf0052{text-align:center!important}
.elementor-element-mcf0054{display:flex!important;gap:20px!important;margin-top:30px}
.elementor-element-mcf0055,.elementor-element-mcf0056,.elementor-element-mcf0057{flex:1 1 0!important;min-width:0!important;width:auto!important}
.mcf-card-img .elementor-image-box-wrapper{display:block!important}
.mcf-card-img .elementor-image-box-img{display:block!important;width:100%!important;margin:0!important;overflow:hidden;border-radius:11px;box-shadow:0 12px 30px rgba(24,68,102,.10);transition:box-shadow .3s ease,transform .3s ease}
.mcf-card-img .elementor-image-box-img a{display:block!important;width:100%!important}
.mcf-card-img .elementor-image-box-img img{width:100%!important;height:auto!important;aspect-ratio:4/3.1;object-fit:cover;border-radius:11px;display:block;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.mcf-card-img:hover .elementor-image-box-img{box-shadow:0 18px 40px rgba(24,68,102,.16);transform:translateY(-3px)}
.mcf-card-img:hover .elementor-image-box-img img{transform:scale(1.04)}
.mcf-card-img .elementor-image-box-title{font-family:var(--display)!important;font-weight:400!important;font-size:19px!important;color:var(--ink)!important;margin:14px 0 3px!important;line-height:1.25!important;letter-spacing:-.01em}
.mcf-card-img .elementor-image-box-title a{color:inherit!important;text-decoration:none}
.mcf-card-img .elementor-image-box-description{font-size:13px!important;color:var(--muted)!important;line-height:1.45!important;margin:0!important}
.elementor-element-mcf0058{align-self:center!important;margin-top:32px}
/* ---------- PREFOOTER (chiaro) ---------- */
.elementor-element-mcf0060,.elementor-element-mcfcta00{background:#F4F9FD!important;background-image:none!important;border-top:1px solid var(--line);padding:44px 0!important}
.elementor-element-mcf0060>.e-con-inner,.elementor-element-mcfcta00>.e-con-inner{max-width:780px;margin:0 auto;padding:0 24px;text-align:center}
.elementor-element-mcf0061,.elementor-element-mcf0062,.elementor-element-mcfcta01,.elementor-element-mcfcta02{text-align:center!important}
.elementor-element-mcf0062 .elementor-widget-container p,.elementor-element-mcfcta02 .elementor-widget-container p{max-width:520px;margin:10px auto 0!important;text-align:center}
.elementor-element-mcf0063,.elementor-element-mcfcta03{display:flex!important;justify-content:center;gap:10px!important;margin-top:22px;width:100%!important}
.elementor-element-mcf0063>.elementor-element,.elementor-element-mcfcta03>.elementor-element{width:auto!important;flex:0 0 auto!important}
/* ---------- FOOTER azzurro compatto ---------- */
#colophon{background:#4A88C0!important;margin:0!important;padding:0!important}
#colophon .footer-width-fixer,#colophon .elementor-87{background:#4A88C0}
.elementor-element-mcfft00{background:linear-gradient(180deg,#5291CB 0%,#4A88C0 100%)!important;padding:34px 0 0!important}
.elementor-element-mcfft00>.e-con-inner{max-width:var(--max);margin:0 auto;padding:0 24px}
.elementor-element-mcfft01{display:flex!important;gap:36px!important;padding-bottom:26px;align-items:flex-start}
.elementor-element-mcfft02{width:36%!important;flex:0 0 36%!important;gap:0!important}
.elementor-element-mcfft05{width:22%!important;flex:0 0 22%!important}
.elementor-element-mcfft08{width:24%!important;flex:0 0 24%!important}
.elementor-element-mcfft0b{width:18%!important;flex:0 0 18%!important}
.mcf-ftr-logo img{height:30px;width:auto}
.mcf-ftr-claim .elementor-widget-container p{color:rgba(255,255,255,.82)!important;font-size:12.5px!important;line-height:1.55!important;margin:10px 0 0!important;max-width:280px}
.mcf-ftr-title .elementor-heading-title{font-family:var(--body)!important;font-size:9.5px!important;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6)!important;font-weight:600!important;margin:2px 0 10px!important}
.mcf-ftr-links ul{list-style:none;margin:0!important;padding:0!important}
.mcf-ftr-links li{margin:0 0 5px!important;list-style:none}
.mcf-ftr-links a,.mcf-ftr-info a,.mcf-ftr-legal a{color:rgba(255,255,255,.92)!important;text-decoration:none;font-size:13px;transition:color .2s}
.mcf-ftr-links a:hover,.mcf-ftr-info a:hover,.mcf-ftr-legal a:hover{color:#fff!important;text-decoration:underline}
.mcf-ftr-info .elementor-widget-container p{color:rgba(255,255,255,.9)!important;font-size:13px!important;line-height:1.6!important;margin:0!important}
.mcf-ftr-social-w .elementor-widget-container p{display:flex;gap:12px;margin:0!important}
.mcf-ftr-social img{width:18px!important;height:18px!important;opacity:.85;transition:opacity .2s}
.mcf-ftr-social a:hover img{opacity:1}
.elementor-element-mcfft10{display:flex!important;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid rgba(255,255,255,.22);padding:12px 0 14px;width:100%}
.mcf-ftr-legal .elementor-widget-container p{margin:0!important;font-size:11.5px!important;color:rgba(255,255,255,.8)!important}
/* ---------- PAGINE INTERNE: HERO FOTOGRAFICO ---------- */
.elementor-element-mcfph00{position:relative;background-color:#3E7FB6;background-size:cover;background-position:center 35%;padding:0!important;margin:0!important;overflow:hidden}
.elementor-element-mcfph00:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(8,38,58,.82) 0%,rgba(8,38,58,.55) 55%,rgba(8,38,58,.35) 100%)}
.elementor-element-mcfph00>.e-con-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;padding:46px 24px;min-height:210px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.elementor-element-mcfph01,.elementor-element-mcfph02,.elementor-element-mcfph03{text-align:center!important}
.elementor-element-mcfph00 .elementor-heading-title{color:#fff!important}
.elementor-element-mcfph00 .mcf-eyebrow .elementor-heading-title{color:rgba(255,255,255,.75)!important;margin-bottom:8px!important}
.elementor-element-mcfph02 .elementor-heading-title{font-size:clamp(26px,3.1vw,40px)!important;max-width:none}
.mcf-ph-sub .elementor-widget-container p{font-size:11px!important;color:rgba(255,255,255,.85)!important;margin:10px 0 0!important;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.elementor-element-mcfpc00{background:#fff!important;padding:40px 0 52px!important}
.elementor-element-mcfpc00>.e-con-inner{max-width:800px;margin:0 auto;padding:0 24px}
.mcf-figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:12px;margin:0 0 26px}
.mcf-figure--natural img{aspect-ratio:auto!important;max-width:520px;margin:0 auto 26px}
.mcf-figure--tight img{aspect-ratio:4/3!important;margin:0!important;border-radius:12px}
/* testi lunghi */
.mcf-prose .elementor-widget-container p{font-size:15.5px!important;line-height:1.72!important;color:var(--ink2)!important;margin:0 0 13px!important}
.mcf-prose .elementor-widget-container h2{font-family:var(--display)!important;font-weight:400!important;font-size:22px!important;color:var(--ink)!important;margin:26px 0 8px!important;line-height:1.22!important}
.mcf-prose .elementor-widget-container h3{font-family:var(--display)!important;font-weight:400!important;font-size:17.5px!important;color:var(--ink)!important;margin:22px 0 6px!important;line-height:1.3!important;padding-top:14px;border-top:1px solid var(--line)}
.mcf-prose .elementor-widget-container h3:first-child{border-top:0;padding-top:0;margin-top:0!important}
.mcf-prose .elementor-widget-container ul{list-style:none;padding:0!important;margin:0 0 16px!important}
.mcf-prose .elementor-widget-container li{position:relative;padding-left:18px;margin:0 0 6px!important;font-size:15px!important;line-height:1.62!important;color:var(--ink2)}
.mcf-prose .elementor-widget-container li:before{content:"";position:absolute;left:1px;top:10px;width:8px;height:1px;background:#9FC5E4}
.mcf-prose .elementor-widget-container a{color:var(--brand-dk)!important;text-decoration:none;border-bottom:1px solid #C3DCEF}
.mcf-prose .elementor-widget-container img{border-radius:10px;margin:6px 0 18px;height:auto}
.mcf-prose .elementor-widget-container strong{color:var(--ink);font-weight:600}
/* ---------- GALLERIA ---------- */
.elementor-element-mcfgs00{background:#fff!important;padding:0 0 56px!important}
.elementor-element-mcfgs00>.e-con-inner{max-width:1180px;margin:0 auto;padding:0 24px}
.elementor-element-mcfg0000{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%!important}
.elementor-element-mcfg0000>.elementor-element{width:auto!important;min-width:0!important}
.elementor-element-mcfg0001{grid-column:1/-1}
.mcf-gimg img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px;display:block}
.elementor-element-mcfg0001 .mcf-gimg img{aspect-ratio:21/9;border-radius:12px}
/* ---------- CONTATTI ---------- */
body.page-id-173 .elementor-element-mcfcc00{background:#fff!important;padding:40px 0 52px!important}
body.page-id-173 .elementor-element-mcfcc00>.e-con-inner{max-width:640px;margin:0 auto;padding:0 24px;gap:0!important;align-items:stretch}
body.page-id-173 .elementor-element-mcfcc01{display:none!important}
body.page-id-173 .elementor-element-mcfcc03{width:100%!important;background:#F6FAFD;border:1px solid var(--line);border-radius:14px;padding:28px 30px!important}
.mcf-contact .elementor-widget-container p{font-size:15px!important;line-height:1.8!important;color:var(--ink2)!important;margin:0 0 10px!important}
.mcf-contact .elementor-widget-container a{color:var(--brand-dk)!important;text-decoration:none;border-bottom:1px solid #C3DCEF}
.elementor-element-mcfcc06{display:flex!important;gap:10px!important;flex-wrap:wrap;margin-top:16px;width:100%!important}
.elementor-element-mcfcc06>.elementor-element{width:auto!important;flex:0 0 auto!important}
/* ---------- STORIE ---------- */
.elementor-element-mcfsc000{background:#fff!important;padding:0 0 52px!important}
.elementor-element-mcfsc000>.e-con-inner{max-width:1020px;margin:0 auto;padding:0 24px;display:grid!important;grid-template-columns:1fr 1fr;gap:16px!important;align-items:stretch}
.elementor-element-mcfsc001,.elementor-element-mcfsc002,.elementor-element-mcfsc003,.elementor-element-mcfsc004{background:#fff!important;border:1px solid var(--line);border-radius:12px;padding:18px!important;width:auto!important;min-width:0!important;display:flex!important;flex-direction:column;box-shadow:0 8px 22px rgba(24,68,102,.05)}
.mcf-simg img{width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;border-radius:8px;margin:0 0 12px}
.mcf-story{position:relative;max-height:168px;overflow:hidden;transition:max-height .35s ease}
.mcf-story.is-expanded{max-height:1600px}
.mcf-story:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none}
.mcf-story.is-expanded:after{display:none}
.mcf-story .elementor-widget-container p{font-size:14px!important;line-height:1.62!important;color:var(--ink2)!important;margin:0 0 8px!important}
.mcf-story .elementor-widget-container p:first-child strong{display:block;font-family:var(--display);font-size:16px;font-weight:400;color:var(--ink);margin-bottom:3px;letter-spacing:-.01em}
.mcf-story-more{display:inline-block;margin-top:8px;background:none;border:0;padding:0;font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--brand-dk);cursor:pointer;border-bottom:1px solid #C3DCEF;align-self:flex-start}
.mcf-story-more:hover{color:var(--brand)}
/* ---------- HERO PER PAGINA ---------- */
body.page-id-193 .elementor-element-mcfph00{background-image:url('https://www.matteocaffi.it/wp-content/uploads/2026/11/medicina-estetica-bergamo.webp')}
body.page-id-209 .elementor-element-mcfph00{background-image:url('https://www.matteocaffi.it/wp-content/uploads/2026/11/piccola-chirurgia-ambulatoriale-bergamo.webp')}
body.page-id-226 .elementor-element-mcfph00{background-image:url('https://www.matteocaffi.it/wp-content/uploads/2026/11/chirurgia-plastica-estetica-bergamo.webp')}
body.page-id-132 .elementor-element-mcfph00{background-image:url('https://www.matteocaffi.it/wp-content/uploads/2024/06/Ambulat_01.webp')}
body.page-id-93 .elementor-element-mcfph00{background-image:url('https://www.matteocaffi.it/wp-content/uploads/2024/06/chi-siamo-1.jpg')}
body.page-id-103 .elementor-element-mcfph00{background-image:url('https://www.matteocaffi.it/wp-content/uploads/2024/06/matteocaffi-1.jpg')}
body.page-id-173 .elementor-element-mcfph00{background-image:url('https://www.matteocaffi.it/wp-content/uploads/2024/06/Ambulat_01.webp')}
body.page-id-193 .elementor-element-mcfpc01,body.page-id-209 .elementor-element-mcfpc01,body.page-id-226 .elementor-element-mcfpc01,body.page-id-93 .elementor-element-mcfpc01,body.page-id-103 .elementor-element-mcfpc01{display:none!important}
body.page-id-103 .elementor-element-mcfph02 .elementor-heading-title,body.page-id-93 .elementor-element-mcfph02 .elementor-heading-title{max-width:14em}
/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
  .elementor-element-mcf0001>.e-con-inner,.elementor-element-mcf0020>.e-con-inner,.elementor-element-mcf0030>.e-con-inner,.elementor-element-mcf0050>.e-con-inner,.elementor-element-mcfft00>.e-con-inner{padding:0 20px}
  .elementor-element-mcf0002{width:100%!important;padding:32px 0 0!important}
  .elementor-element-mcf0010{width:100%!important}
  .elementor-element-mcf0011 img{aspect-ratio:4/3}
  .elementor-element-mcf0020,.elementor-element-mcf0030{padding:40px 0!important}
  .elementor-element-mcf0050{padding:40px 0 44px!important}
  .elementor-element-mcf0020>.e-con-inner{gap:24px!important}
  .elementor-element-mcf0021,.elementor-element-mcf0023{width:100%!important}
  .elementor-element-mcf0034{flex-direction:column!important;gap:0!important;margin-top:24px}
  .elementor-element-mcf0035,.elementor-element-mcf0039,.elementor-element-mcf003d{padding:20px 0 0!important;border-left:0!important;border-top:1px solid #D3E2EE}
  .elementor-element-mcf0035{border-top:0!important;padding-top:0!important}
  .elementor-element-mcf0054{flex-direction:column!important;gap:24px!important;margin-top:24px}
  .mcf-card-img .elementor-image-box-img img{aspect-ratio:16/10}
  .elementor-element-mcf0060,.elementor-element-mcfcta00{padding:32px 0!important}
  .elementor-element-mcf0063,.elementor-element-mcfcta03{flex-direction:column!important;align-items:center}
  .elementor-element-mcfft01{flex-direction:column!important;gap:20px!important;padding-bottom:18px}
  .elementor-element-mcfft02,.elementor-element-mcfft05,.elementor-element-mcfft08,.elementor-element-mcfft0b{width:100%!important;flex:1 1 auto!important}
  .elementor-element-mcfft10{flex-direction:column!important;align-items:flex-start;gap:4px}
  .elementor-element-mcfph00>.e-con-inner{min-height:170px;padding:34px 20px}
  .elementor-element-mcfpc00{padding:28px 0 40px!important}
  .mcf-figure img{aspect-ratio:4/3;margin-bottom:20px}
  .elementor-element-mcfgs00{padding:0 0 40px!important}
  .elementor-element-mcfg0000{grid-template-columns:1fr 1fr!important;gap:10px}
  .elementor-element-mcfsc000>.e-con-inner{grid-template-columns:1fr!important}
  body.page-id-173 .elementor-element-mcfcc00{padding:28px 0 40px!important}
  body.page-id-173 .elementor-element-mcfcc03{padding:22px!important}
  .mcf-story{max-height:150px}
}
@media(max-width:600px){
  .mcf-h1 .elementor-heading-title{font-size:25px!important}
  .elementor-element-mcfg0000{grid-template-columns:1fr!important}
  .elementor-element-mcfg0001 .mcf-gimg img{aspect-ratio:16/9}
}

/* colore di riserva per i gradienti (il lazy-load azzera background-image) */
.mcf-btn--primary .elementor-button,.mcf-btn--light .elementor-button{background-color:#4A8CC6!important}
.mcf-btn--primary .elementor-button:hover,.mcf-btn--light .elementor-button:hover{background-color:#4489C4!important}

.elementor-element-mcfph00:before{background:linear-gradient(115deg,rgba(8,38,58,.76) 0%,rgba(8,38,58,.5) 55%,rgba(8,38,58,.3) 100%)!important}
body.page-id-93 .elementor-element-mcfph00{background-image:url('https://www.matteocaffi.it/wp-content/uploads/2024/06/06.jpg')}
body.page-id-93 .elementor-element-mcfph00{background-position:center 25%}

body.page-id-103 .elementor-element-mcfph00{background-position:center 22%!important}
body.page-id-93 .elementor-element-mcfph00{background-position:center 22%!important}
.elementor-element-mcfft02{width:32%!important;flex:0 0 32%!important}
.elementor-element-mcfft05{width:22%!important;flex:0 0 22%!important}
.elementor-element-mcfft08{width:26%!important;flex:0 0 26%!important}
.elementor-element-mcfft0b{width:20%!important;flex:0 0 20%!important}

.elementor-element-mcfg0000{align-items:start}
.mcf-gimg img{height:auto!important;width:100%!important;aspect-ratio:4/3!important;object-fit:cover}
.elementor-element-mcfg0001 .mcf-gimg img{aspect-ratio:21/9!important}

.elementor-element-mcfg0001 .mcf-gimg img{aspect-ratio:21/9!important}

.mcf-gimg.elementor-element-mcfg0001 img{aspect-ratio:21/9!important;border-radius:12px}



/* ---------- CONTATTI v2 ---------- */
body.page-id-173 .elementor-element-mcfcc00{background:#fff!important;padding:44px 0 56px!important}
body.page-id-173 .elementor-element-mcfcc00>.e-con-inner{max-width:960px;margin:0 auto;padding:0 24px;display:flex!important;gap:40px!important;align-items:flex-start}
body.page-id-173 .elementor-element-mcfcc01{display:none!important}
body.page-id-173 .elementor-element-mcfcc10{width:52%!important;flex:1 1 auto!important;gap:0!important;padding:0!important}
body.page-id-173 .elementor-element-mcfcc20{width:48%!important;flex:0 0 44%!important;gap:0!important;background:#F6FAFD!important;border:1px solid var(--line);border-radius:14px;padding:26px 26px 24px!important}
.mcf-addr .elementor-widget-container p{font-size:15.5px!important;line-height:1.85!important;color:var(--ink2)!important;margin:0 0 8px!important}
.mcf-addr .elementor-widget-container strong{color:var(--ink);font-weight:600}
.mcf-card-title .elementor-heading-title{font-size:19px!important;margin:0 0 6px!important}
.mcf-card-contact .elementor-widget-container p{font-size:14.5px!important;line-height:1.7!important;color:var(--ink2)!important;margin:0 0 4px!important}
.mcf-phone .elementor-heading-title{font-size:23px!important;letter-spacing:-.01em;margin:12px 0 2px!important;color:var(--brand-dk)!important}
.mcf-phone a{color:inherit!important;text-decoration:none}
.mcf-mail .elementor-widget-container p{font-size:14.5px!important;color:var(--ink2)!important;margin:0 0 16px!important}
.mcf-mail a{color:var(--brand-dk)!important;text-decoration:none;border-bottom:1px solid #C3DCEF}
.mcf-contact-btns{display:flex!important;gap:10px!important;flex-wrap:wrap;width:100%!important;margin-top:2px}
.mcf-contact-btns>.elementor-element{width:auto!important;flex:0 0 auto!important}
.mcf-map-note .elementor-widget-container p{font-size:12.5px!important;color:var(--muted)!important;margin:16px 0 0!important}
@media(max-width:1024px){
  body.page-id-173 .elementor-element-mcfcc00{padding:28px 0 40px!important}
  body.page-id-173 .elementor-element-mcfcc00>.e-con-inner{flex-direction:column!important;gap:22px!important}
  body.page-id-173 .elementor-element-mcfcc10,body.page-id-173 .elementor-element-mcfcc20{width:100%!important;flex:1 1 auto!important}
  body.page-id-173 .elementor-element-mcfcc20{padding:22px!important}
}

/* ---------- CONTATTI: riga pulsanti ---------- */
.elementor-element-mcfcc24{display:flex!important;flex-direction:row!important;gap:10px!important;flex-wrap:wrap;width:100%!important;margin-top:4px}
.elementor-element-mcfcc24>.elementor-element{width:auto!important;flex:0 0 auto!important}
@media(max-width:600px){.elementor-element-mcfcc24{flex-direction:column!important;align-items:flex-start}}

/* contatti: riga pulsanti */
.elementor-element-mcfcc24{display:flex!important;flex-direction:row!important;gap:10px!important;flex-wrap:wrap;width:100%!important;margin-top:4px}
.elementor-element-mcfcc24>.elementor-element{width:auto!important;flex:0 0 auto!important}
@media(max-width:600px){.elementor-element-mcfcc24{flex-direction:column!important;align-items:flex-start}}

/* ---------- FOOTER COMPATTO ---------- */
.elementor-element-mcfft00{padding:26px 0 0!important}
.elementor-element-mcfft01{gap:28px!important;padding-bottom:16px!important}
.elementor-element-mcfft02,.elementor-element-mcfft05,.elementor-element-mcfft08,.elementor-element-mcfft0b{gap:0!important}
.mcf-ftr-logo img{height:26px}
.mcf-ftr-claim .elementor-widget-container p{margin:8px 0 0!important;font-size:11.5px!important;line-height:1.45!important;max-width:250px}
.mcf-ftr-title .elementor-heading-title{font-size:9px!important;margin:0 0 7px!important}
.mcf-ftr-links li{margin:0 0 3px!important}
.mcf-ftr-links a,.mcf-ftr-info a{font-size:12.5px}
.mcf-ftr-info .elementor-widget-container p{font-size:12.5px!important;line-height:1.5!important}
.mcf-ftr-social img{width:16px!important;height:16px!important}
.elementor-element-mcfft10{padding:9px 0 11px!important}
.mcf-ftr-legal .elementor-widget-container p{font-size:10.5px!important}

/* ---------- FOOTER MOBILE GRIGLIA ---------- */
@media(max-width:1024px){
  .elementor-element-mcfft01{display:grid!important;grid-template-columns:1fr 1fr;gap:16px 20px!important;padding-bottom:14px!important}
  .elementor-element-mcfft02{grid-column:1 / -1;width:100%!important;flex:none!important}
  .elementor-element-mcfft05,.elementor-element-mcfft08{width:100%!important;flex:none!important}
  .elementor-element-mcfft0b{grid-column:1 / -1;width:100%!important;flex:none!important;display:flex!important;flex-direction:row!important;align-items:center;gap:14px}
  .elementor-element-mcfft0b .mcf-ftr-title{margin:0!important}
  .elementor-element-mcfft0b .mcf-ftr-title .elementor-heading-title{margin:0!important}
  .elementor-element-mcfft0b .mcf-ftr-social-w .elementor-widget-container p{gap:16px}
  .elementor-element-mcfft10{border-top:1px solid rgba(255,255,255,.22)!important}
}

/* ---------- FRECCE MENU ---------- */
@media(min-width:1025px){
  #site-header .menu > li.menu-item-has-children{position:relative}
  #site-header .menu > li.menu-item-has-children::after{
    content:""!important;
    position:absolute!important;
    right:-12px!important;
    top:calc(50% - 2px)!important;
    width:5px!important;
    height:5px!important;
    display:block!important;
    border-right:1px solid rgba(255,255,255,.7)!important;
    border-bottom:1px solid rgba(255,255,255,.7)!important;
    background:none!important;
    transform:rotate(45deg)!important;
    transition:transform .25s ease,border-color .25s ease;
    pointer-events:none;
  }
  #site-header .menu > li.menu-item-has-children:hover::after{
    transform:rotate(225deg)!important;
    border-color:#fff!important;
  }
}
@media(max-width:1024px){
  #site-header .site-navigation-dropdown .menu > li::after{display:none!important;content:none!important}
}
