/*
Theme Name: Centro Medico San Giuseppe
Template: Divi
Version: 2.0
*/
:root{--c-blue:#2666aa;--c-green:#61bc46;--c-title:#8eaacb}
body{font-family:'Muli','Mulish',sans-serif;color:#000;font-size:18px;line-height:1.9;font-weight:400}
#main-header,#top-header{display:none!important}#page-container{padding-top:0!important}
h1,h2,h3{font-family:'Lato',sans-serif}
/* top bar + header */
.cms-top{background:var(--c-blue);color:#fff;font-size:14px}
.cms-top .in{max-width:none;margin:0;padding:8px 5% 8px 5%;display:flex;justify-content:space-between;align-items:center}
.cms-top a{color:#fff;margin-left:14px}.cms-top .book{font-family:'Poppins',serif;font-weight:700;text-transform:uppercase;font-size:13px;margin-left:70px}
.cms-head{background:#fff;position:sticky;top:0;z-index:999;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.admin-bar .cms-head{top:32px}
.cms-head .in{max-width:none;margin:0;padding:6px 1.5%;display:flex;align-items:center;gap:34px}
.cms-head .logos img{height:74px;width:auto;margin-right:26px;vertical-align:middle}.cms-head .logos img+img{height:62px}
.cms-nav{margin-left:auto;margin-right:12%}.cms-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.cms-nav li{position:relative}.cms-nav a{display:block;padding:8px 12px;font-family:'Lato',sans-serif;font-size:12px;text-transform:uppercase;color:var(--c-blue);font-weight:500;border:2px solid transparent;border-radius:30px}
.cms-nav .current-menu-item>a,.cms-nav a:hover{border-color:var(--c-green)}
.cms-nav .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:260px;box-shadow:0 6px 20px rgba(0,0,0,.12);padding:8px 0;max-height:70vh;overflow:auto}
.cms-nav li:hover>.sub-menu{display:block}.cms-nav .sub-menu a{border:0;border-radius:0;padding:7px 18px}
.cms-burger{display:none;margin-left:auto;background:none;border:0;font-size:30px;color:var(--c-blue)}
/* hero */
.cms-hero{position:relative}.cms-hero:before{content:"";position:absolute;inset:0;background:rgba(40,40,40,.25)}
.cms-hero .et_pb_row{position:relative;z-index:2}.cms-hero-in{text-align:center}
.cms-sub{font-family:'Oswald',sans-serif;color:#fff;text-transform:uppercase;font-size:21px;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.45);margin-top:14px}
.cms-hero h1{font-family:'Lato',sans-serif;font-weight:600;font-size:52px;line-height:1.1;color:#fff;text-transform:uppercase;text-shadow:0 3px 6px rgba(0,0,0,.45);max-width:1150px;margin:10px auto 0}
/* intro */
.cms-intro{text-align:center;max-width:960px;margin:auto}.cms-intro img{display:block;margin:0 auto 18px}.cms-intro p{font-size:15px;line-height:1.95}
.et_pb_button.cms-btn{font-family:'Poppins',serif!important;font-weight:700!important;text-transform:uppercase;font-size:14px!important;color:var(--c-blue)!important;background:#fff!important;border:2px solid var(--c-green)!important;border-radius:30px!important;padding:7px 18px!important}
.et_pb_button.cms-btn:after{display:none}.et_pb_button.cms-btn:hover{background:var(--c-green)!important;color:#fff!important}
/* split */
.cms-split .et_pb_row{display:flex;align-items:stretch}
.cms-split-img,.cms-split-img .et_pb_image_wrap,.cms-split-img img{height:100%;width:100%}.cms-split-img img{object-fit:cover;min-height:520px}
.cms-split-txt{padding:70px 12% 70px 12%}.cms-split-txt h2,.cms-faq h2{color:var(--c-blue);font-weight:700;text-transform:uppercase;font-size:26px;line-height:1.4;margin:22px 0 18px}
.cms-split-txt p,.cms-split-txt li{font-size:15px;color:#555;line-height:1.95}.cms-split-txt ul{padding-left:20px}
.cms-split-txt strong{font-weight:700}
/* grid */
.cms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.cms-tile{position:relative;aspect-ratio:4/3;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:center;padding:6%}
.cms-tile:before{content:"";position:absolute;inset:6% 4%;background:rgba(38,102,170,.64);transition:.3s}
.cms-tile:hover:before{background:rgba(38,102,170,.85)}
.cms-tile span{position:relative;color:#fff;font-family:'Lato',sans-serif;font-weight:700;text-transform:uppercase;font-size:17px;margin-bottom:8%}
/* unisalute + cta */
.cms-uni{border:1px solid var(--c-blue);border-radius:12px;text-align:center;padding:20px;max-width:980px;margin:auto}
.cms-uni h2{color:var(--c-blue);font-family:'Lato',sans-serif;font-weight:600;text-transform:uppercase;font-size:24px;margin-bottom:10px}

.cms-cta{text-align:center}.cms-cta p{color:var(--c-blue);font-family:'Lato',sans-serif;font-weight:700;text-transform:uppercase;font-size:15px}
.cms-cta .cms-cta-ico{color:var(--c-green);font-size:40px;line-height:1;margin-bottom:10px}
/* faq, docs, contatti */
.cms-faq{max-width:980px;margin:auto;text-align:center}.cms-faq details{text-align:left;border:1px solid #e3e3e3;border-radius:10px;padding:14px 20px;margin-bottom:10px}
.cms-faq summary{font-family:'Lato',sans-serif;font-weight:700;color:var(--c-blue);cursor:pointer}
.cms-docs{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cms-doc{text-align:center;border:1px solid #e3e3e3;border-radius:12px;padding:24px}
.cms-doc img{width:150px;height:150px;border-radius:50%;object-fit:cover;margin-bottom:12px}
.cms-doc h3{color:var(--c-blue);text-transform:uppercase;font-size:17px;font-weight:700}.cms-doc .n{font-weight:700;color:#000}.cms-doc p{font-size:14px;color:#555}
.cms-contact h3{color:var(--c-blue);text-transform:uppercase;font-weight:700;font-size:18px;margin-top:14px}
/* footer */
#main-footer,#footer-bottom{display:none}
.cms-foot{background:#fff;padding:40px 5% 20px;text-align:center;font-size:14px;border-top:1px solid #eee}
.cms-foot .in{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;align-items:start}
.cms-foot h3{color:var(--c-blue);font-weight:600;font-size:20px;text-transform:uppercase}
.cms-foot a{color:var(--c-blue);font-weight:700}.cms-foot .soc a{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#fff;margin:6px 2px;font-size:14px}
.cms-foot .piva{margin-top:24px}
.cms-legal{background:#1c1c1c;color:#ddd;font-size:11px;text-align:center;padding:10px}.cms-legal a{color:#ddd}
@media(max-width:980px){.cms-split .et_pb_column{width:100%!important}.cms-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;margin:0;padding:10px}.cms-nav.open{display:block}.cms-nav ul{flex-direction:column}.cms-nav .sub-menu{position:static;box-shadow:none;display:block;padding-left:14px}
.cms-burger{display:block}.cms-top .book{margin-left:14px}.cms-head .logos img{height:54px}.cms-head .logos img+img{height:44px}
.cms-hero h1{font-size:30px}.cms-sub{font-size:16px}.cms-split .et_pb_row{flex-direction:column}.cms-split .et_pb_column{width:100%!important}.cms-split-img img{min-height:280px}.cms-split-txt{padding:40px 6%}
.cms-grid{grid-template-columns:repeat(2,1fr)}.cms-docs,.cms-foot .in{grid-template-columns:1fr}.cms-cta-sec .et_pb_row{margin:auto!important}}

/* v3: 18px paragraphs, blue titles, full width, hover */
p,li,.cms-intro p,.cms-split-txt p,.cms-split-txt li,.cms-doc p,.cms-foot p,.cms-faq details p,.et_pb_text p{font-size:18px!important;line-height:1.8}
h1,h2,h3,h4,h5,h6,.cms-uni h2,.cms-doc h3,.cms-foot h3,.cms-contact h3{color:#2666aa}
.cms-hero h1,.cms-sub{color:#fff!important}
.cms-cta p{font-size:18px!important}

.cms-intro,.cms-uni,.cms-faq{max-width:none}
.cms-docs{grid-template-columns:repeat(4,1fr)}
.cms-doc{scroll-margin-top:140px}
/* hover (home + everywhere) */
.cms-tile{overflow:hidden;transition:transform .5s}
.cms-tile:after{content:"";position:absolute;inset:0;background:inherit;background-size:cover;background-position:center;transition:transform .7s ease;z-index:-1}
.cms-tile{isolation:isolate}.cms-tile:hover{transform:scale(1.02);z-index:2;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.cms-tile:hover:before{inset:0;background:rgba(38,102,170,.8)}
.cms-tile span{transition:transform .4s,letter-spacing .4s}.cms-tile:hover span{transform:translateY(-10px);letter-spacing:.06em}
.cms-split-img{overflow:hidden}.cms-split-img img{transition:transform .9s ease}.cms-split:hover .cms-split-img img{transform:scale(1.06)}
.cms-intro img,.cms-split-txt img{transition:transform .6s}.cms-intro:hover img,.cms-split-txt:hover img{transform:rotate(-12deg) scale(1.08)}
.et_pb_button.cms-btn{transition:all .3s!important}.et_pb_button.cms-btn:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(97,188,70,.35)}
.cms-uni{transition:box-shadow .3s,transform .3s}.cms-uni:hover{box-shadow:0 12px 30px rgba(38,102,170,.18);transform:translateY(-3px)}
.cms-doc{transition:transform .3s,box-shadow .3s}.cms-doc:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(0,0,0,.1)}
/* Divi builder header */
.cms-hdr-top{background:#2666aa!important}
.cms-hdr-top p,.cms-hdr-top a{color:#fff!important;font-size:14px!important;margin:0;padding:0}
.cms-hdr-main{background:#fff;position:sticky;top:0;z-index:999;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.admin-bar .cms-hdr-main{top:32px}
.cms-hdr-main .et_pb_row{display:flex;align-items:center;padding:6px 2%!important}
.cms-hdr-logos img{height:74px;width:auto;margin-right:26px;vertical-align:middle}.cms-hdr-logos img+img{height:62px}
.cms-menu .et-menu>li>a,.cms-menu .et_mobile_menu a{font-family:'Lato',sans-serif!important;font-size:12px!important;text-transform:uppercase;color:#2666aa!important;font-weight:500!important}
.cms-menu .et-menu>li{padding:0 3px!important}.cms-menu .et-menu>li>a{padding:8px 12px!important;border:2px solid transparent;border-radius:30px}
.cms-menu .et-menu>li.current-menu-item>a,.cms-menu .et-menu>li>a:hover{border-color:#61bc46;opacity:1!important}
.cms-menu .sub-menu{width:280px!important;max-height:70vh;overflow:auto;border-top:3px solid #61bc46!important}
.cms-menu .sub-menu li{width:100%}.cms-menu .sub-menu a{width:100%!important;color:#2666aa!important;font-size:12px!important;text-transform:uppercase}
@media(max-width:980px){.cms-hdr-main .et_pb_row{flex-wrap:wrap}.cms-hdr-logos img{height:54px}.cms-hdr-logos img+img{height:44px}.cms-docs{grid-template-columns:1fr}}
.et_pb_row.cms-row,.cms-hdr .et_pb_row{box-sizing:border-box}html,body{overflow-x:hidden}

/* v4 */
/* buttons: active + hover like reference */
.et_pb_button.cms-btn,.et_pb_button.cms-hdr-btn{border:4px solid transparent!important;transition:all .3s!important}
.et_pb_button.cms-btn:hover,.et_pb_button.cms-btn:active,.et_pb_button.cms-btn:focus,
.et_pb_button.cms-hdr-btn:hover,.et_pb_button.cms-hdr-btn:active,
.cms-menu .et-menu>li.current-menu-item>a,.cms-menu .et-menu>li>a:hover{border-style:solid!important;border-width:4px!important;border-color:#2666aa #2666aa #61bc46 #61bc46!important}
.et_pb_button.cms-btn{border-color:#61bc46!important;border-width:2px!important}
.cms-menu .et-menu>li>a{border:4px solid transparent!important}
/* header */
.cms-hdr-top .et_pb_row{display:flex;align-items:center}
.cms-hdr-right{display:flex!important;justify-content:flex-end;align-items:center;gap:18px}
.cms-hdr-right .et_pb_module{margin:0!important}
.cms-hdr-icons a{display:inline-flex;align-items:center;margin-left:14px;color:#fff!important}.cms-hdr-icons svg{display:block}
.cms-hdr-icons a:hover{opacity:.8}
.et_pb_button.cms-hdr-btn{background:transparent!important;color:#fff!important;font-family:'Poppins',serif!important;font-weight:700!important;text-transform:uppercase;font-size:13px!important;padding:4px 14px 4px 34px!important;border-radius:30px!important;line-height:1.6!important}
.et_pb_button.cms-hdr-btn:before{color:#fff!important;opacity:1!important;left:10px!important;font-size:15px!important}
.et_pb_button.cms-hdr-btn:hover{background:#fff!important;color:#2666aa!important}.et_pb_button.cms-hdr-btn:hover:before{color:#2666aa!important}
/* menu arrow alignment */
.cms-menu .et-menu>li.menu-item-has-children>a{display:inline-flex!important;align-items:center;gap:6px;padding-right:12px!important}
.cms-menu .et-menu>li.menu-item-has-children>a:after{position:static!important;transform:none!important;margin:0!important;font-size:16px!important;line-height:1!important;top:auto!important;right:auto!important}
.cms-menu .et-menu>li.menu-item-has-children{padding-right:3px!important}
/* doctor cards as modules */
.cms-docrow{display:flex;flex-wrap:wrap}.cms-docrow .et_pb_column{margin-bottom:26px!important}
.et_pb_column.cms-doc{text-align:center;border:1px solid #e3e3e3;border-radius:12px;padding:24px!important;scroll-margin-top:140px;transition:transform .3s,box-shadow .3s}
.et_pb_column.cms-doc:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(0,0,0,.1)}
.cms-doc-img{display:inline-block;margin:0 4px 12px!important}.cms-doc-img img{width:150px;height:150px;border-radius:50%;object-fit:cover}
.cms-doc-txt h3{color:#2666aa;text-transform:uppercase;font-size:17px;font-weight:700}.cms-doc-txt .n{font-weight:700;color:#000}
/* footer layout */
.cms-foot{border-top:1px solid #eee}.cms-foot h3{color:#2666aa;font-weight:600;font-size:20px;text-transform:uppercase}
.cms-foot a{color:#2666aa;font-weight:700}.cms-foot-logo img{max-width:170px}.cms-foot-uni img{max-width:170px}
.cms-legal p,.cms-legal a{color:#ddd!important;font-size:11px!important;margin:0}
@media(max-width:980px){.cms-hdr-top .et_pb_row{flex-wrap:wrap}.cms-hdr-right{justify-content:center}}

/* v5: widths come from Divi row settings (editable) */
.cms-split .et_pb_column{margin:0!important;flex:1 1 50%}
.cms-cta-row{background:rgba(255,255,255,.93);padding:30px!important;box-shadow:0 4px 18px rgba(0,0,0,.12)}
.cms-seo{text-align:center}.cms-seo p{text-align:left}
.cms-split-txt h3{color:#2666aa;text-transform:uppercase;font-size:20px;font-weight:700;margin-top:24px}
