/*
Theme Name: 	gianlucanocera
Description: 	Responsive WordPress Theme based on Boostrap and Font Awesome.
Version:     	1.0.0
Author:     	Ness Communication
Author URI:   http://www.nesscommunication.com
Site:         http://www.nesscommunication.com
Text Domain: 	gianlucanocera
Domain Path: 	/languages
Tags:        	grid-layout, blog, custom-menu, featured-images, right-sidebar
License:    	GNU General Public License v3.0
License URI:	http://www.gnu.org/licenses/gpl-3.0.html
*/

body, html{font-family: "Inter", sans-serif; font-size: 1em; color: #2C3E50;overflow-x: clip}
* { box-sizing: border-box; }

/* Toglie il flash blu che alcuni browser mobile mostrano al tap
   su link, bottoni e card cliccabili */
a, button, .comp-card, .header__menu .menu-item a, .header__icon-bar {
	-webkit-tap-highlight-color: transparent;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

/*--------------------------
General
--------------------------*/

hr{border:none; border-bottom: 1px solid;}

/* form  */
input{border: 1px solid;}

input, textarea, select, button {
	width : auto;
	margin: 0;
	-webkit-box-sizing: border-box; /* For legacy WebKit based browsers */
	-moz-box-sizing: border-box; /* For legacy (Firefox <29) Gecko based browsers */
	box-sizing: border-box;
	border: 0;
}

pre{overflow: hidden}

/* Video Resposnive */
figure{margin:0;}
.video-container { position: relative; padding-bottom: 56.25%; /* 16:9 */ padding-top: 25px; height: 0;}
.video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

a{color: #2C3E50;}
img{width: 100%;height: auto;}


/*--------------------------
Layout
--------------------------*/

h1,h2,h3,h4,h5{font-weight: 400;margin:0;font-family: "Cormorant Garamond", serif;}
h1{font-size: 3em;}
h2{font-size: 2.5em;}
h3{font-size: 2em;}
h4{font-size: 1.5em;}
h5{font-size: 1.25em;}
p { margin: 0; line-height: 1.5em; font-size: 1em; font-weight: 300; }

.p-0{padding: 0;}
.pl-0{padding-left:0;}
.pr-0{padding-right:0;}

.p-10{padding: 10px;}
.p-20{padding: 20px;}
.p-30{padding: 30px;}
.p-40{padding: 40px;}
.p-50{padding: 50px;}
.p-60{padding: 60px;}

.pb-0{padding-bottom: 0;}
.pb-10{padding-bottom: 10px;}
.pb-20{padding-bottom: 20px;}
.pb-30{padding-bottom: 30px;}
.pb-40{padding-bottom: 40px;}
.pb-60{padding-bottom: 60px;}

.pt-10{padding-top: 10px;}
.pt-20{padding-top: 20px;}
.pt-30{padding-top: 30px;}
.pt-40{padding-top: 40px;}
.pt-50{padding-top: 50px;}
.pt-60{padding-top: 60px;}

.m-0{margin: 0;}
.ml-0{margin-left:0;}
.mr-0{margin-right:0;}

.m-10{margin: 10px;}
.m-20{margin: 20px;}
.m-30{margin: 30px;}
.m-40{margin: 40px;}
.m-50{margin: 50px;}
.m-60{margin: 60px;}

.mb-0{margin-bottom: 0;}
.mb-10{margin-bottom: 10px;}
.mb-20{margin-bottom: 20px;}
.mb-30{margin-bottom: 30px;}
.mb-40{margin-bottom: 40px;}
.mb-60{margin-bottom: 60px;}

.mt-10{margin-top: 10px;}
.mt-20{margin-top: 20px;}
.mt-30{margin-top: 30px;}
.mt-40{margin-top: 40px;}
.mt-50{margin-top: 50px;}
.mt-60{margin-top: 60px;}

.d-f{display: flex;flex-wrap: wrap;}
.fd-c{flex-direction: column;}

.jc-c{justify-content: center;}
.jc-sb{justify-content: space-between;}
.jc-fs{justify-content: flex-start;}
.jc-fe{justify-content: flex-end;}

.ac-c{align-content: center;}
.ac-fs{align-content: flex-start;}
.ac-fe{align-content: flex-end;}

.ai-c{align-items: center;}
.ai-fs{align-items: flex-start;}
.ai-fe{align-items: flex-end;}

.ta-l{text-align: left;}
.ta-c{text-align: center;}
.ta-r{text-align: right;}

.fw-1{font-weight: 100;}
.fw-2{font-weight: 200;}
.fw-3{font-weight: 300;}
.fw-4{font-weight: 400;}
.fw-5{font-weight: 500;}
.fw-6{font-weight: 600;}
.fw-7{font-weight: 700;}
.fw-8{font-weight: 800;}
.fw-9{font-weight: 900;}

.fs-12{font-size: 0.75em;}
.fs-13{font-size: 0.8125em;}
.fs-14{font-size: 0.875em;}
.fs-15{font-size: 0.9375em;}
.fs-16{font-size: 1em;}
.fs-17{font-size: 1.0625em;}
.fs-18{font-size: 1.125em;}
.fs-19{font-size: 1.1875em;}
.fs-20{font-size: 1.25em;}
.fs-21{font-size: 1.312em;}
.fs-22{font-size: 1.375em;}
.fs-23{font-size: 1.4375em;}
.fs-24{font-size: 1.5em;}
.fs-25{font-size: 1.5em;}
.fs-26{font-size: 1.625em;}
.fs-27{font-size: 1.6875em;}
.fs-28{font-size: 1.75em;}
.fs-29{font-size: 1.8125em;}
.fs-30{font-size: 1.875em;}
.fs-31{font-size: 1.9375em;}
.fs-32{font-size: 2em;}
.fs-33{font-size: 2.0625em;}
.fs-34{font-size: 2.125em;}
.fs-35{font-size: 2.1875em;}
.fs-36{font-size: 2.25em;}
.fs-37{font-size: 2.3125em;}
.fs-38{font-size: 2.375em;}
.fs-39{font-size: 2.4375em;}
.fs-40{font-size: 2.5em;}
.fs-41{font-size: 2.5625em;}
.fs-42{font-size: 2.625em;}
.fs-100{font-size: 6.25em;}

.tt-u{text-transform: uppercase;}

.w-33{width: 33.33%;}
.w-50{width: 50%;}
.w-66{width: 66.66%;}
.w-100{width: 100%;}
.h-100{height: 100%}

.width-wrap{margin: 0 auto; padding: 0 40px;width:100%;}

.wpcf7 p {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;align-content: center;}
.wpcf7 p .wpcf7-form-control-wrap[data-name="acceptance"] { margin: 0; font-size: 12px; line-height: 18px; width: 70%; margin-right: auto; padding-left: 20px; }
.wpcf7 p .wpcf7-form-control-wrap input[type="checkbox"] { width: auto; margin: 0;}
.wpcf7 p .wpcf7-form-control-wrap input { width: 100%; text-transform: uppercase;margin-bottom: 20px;padding: 5px 10px;}
.wpcf7 p .wpcf7-form-control-wrap { width: calc(50% - 20px); }
.wpcf7 p .wpcf7-form-control-wrap[data-name="your-email"] { width: calc(100% - 20px); }
.wpcf7 p .wpcf7-form-control-wrap[data-name="your-message"] { width: calc(100% - 20px);}
.wpcf7 p .wpcf7-form-control-wrap textarea{width: 100%;height: 150px;padding: 5px 10px;margin-bottom: 20px;text-transform: uppercase;}
.wpcf7 p .wpcf7-form-control-wrap[data-name="acceptance"] a{display: inline-block; margin: 0; font-weight: 400;padding: 0;} 
.wpcf7-list-item{margin: 0;}
.wpcf7 p input[type="submit"]{background:#2C3E50; color:#fff; border:none; width: calc(30% - 20px);padding: 10px;}
span.wpcf7-spinner{position: absolute;bottom: 40px;}

.button { width: auto; text-align: center; display: inline-block; padding: 16px 32px; border: 1px solid #fff; border-radius: 8px; font-size: .82rem; font-weight: 500; text-decoration: none; cursor: pointer; transition: all .3s ease; line-height: 1; color: #2b3e50; background-color: #fff; }
.button.button-outline { background-color: transparent; border-color: #fff; color: #fff; }
.button.button-blu { background-color: #2b3e50; color: #fff; border-color: #2b3e50; }
.button.button-yellow { background-color: #E8A44A; color: #fff; border-color: #E8A44A; }
.button.button-outline-blu { background-color: transparent; border-color: #2b3e50; color: #2b3e50; }

/* ============================================================
   HOVER BOTTONI — aggiungi in coda a style.css
   Classi reali: .button .button-blu .button-outline-blu
============================================================ */
 
/* Base transition su tutti i bottoni */
.button {
    position: relative;
    overflow: hidden;
    transition:
        background-color .22s ease,
        color .22s ease,
        border-color .22s ease,
        transform .15s ease,
        box-shadow .22s ease;
}
 
/* Effetto pressione al click */
.button:active {
    transform: scale(0.97);
}


.button-blu:hover {
    background: #2C3E50;
    border-color: #2C3E50;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(30, 58, 40, 0.22);
}
.button-blu:active {
    transform: scale(0.97) translateY(0);
    box-shadow: none;
}
 
/* ---- Bottone outline verde ---- */
.button-outline-blu {
    background: transparent;
    color: #2C3E50;
    border-color: #8FC09A;
}
.button-outline-blu:hover {
    background: #2C3E50;
    border-color: #2C3E50;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(30, 58, 40, 0.18);
}
.button-outline-blu:active {
    transform: scale(0.97) translateY(0);
    box-shadow: none;
}
 
/* ---- Bottone base senza modificatore (amelia bar, sede, ecc.) ---- */
.button:not(.button-blu):not(.button-outline-blu):hover {
    border-color: #2C3E50;
	background: #2C3E50;
    color: #fff;
    transform: translateY(-2px);
}

/*--------------------------
Header
--------------------------*/
.header { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; align-content: center; align-items: center; padding: 0; position: fixed; top: 0; width: 100%; z-index: 999; background: #E8F0F4; padding: 0; box-shadow: 0 0 50px rgba(232, 240, 244, 0.2); }
.header__logo { color: #fff; text-decoration: none; display: block; width: 200px; }
.header__menu { padding: 0; margin: 0; list-style-type: none; text-align: center; display: flex; gap: 30px; align-items: center; }
.header__menu .menu-item{display: inline-block;position: relative;}
/* Linea oro sotto le voci del menu — animata su hover, fissa sull'item corrente */
.header__menu .menu-item a:after {
	content: '';
	position: absolute;
	bottom: -6px;
	left: 0;
	height: 2px;
	width: 100%;
	background: #E8A44A;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .35s ease;
}
.header__menu .menu-item a:hover:after,
.header__menu .menu-item.current-menu-item a:after {
	transform: scaleX(1);
}

/* opzionale: cambia anche colore del testo dell'item attivo/hover */
.header__menu .menu-item a:hover,
.header__menu .menu-item.current-menu-item a {
	color: #2b3e50;
}

.header__menu .menu-item a { padding: 0; text-decoration: none; font-weight: 400; display: inline-block; color: #2b3e50; position: relative; z-index: 1; font-size: .875em; }

.header__menu .menu-item.button-menu a:after,
.header__menu .menu-item.button-menu-outline a:after{display: none;}

.home .header__menu .menu-item.current-menu-item a:after{transform: scaleX(0);}
.home .header__menu .menu-item.current-menu-item a:hover:after{transform: scaleX(1);}
.home .header__menu #menu-item-25 a:after{transform: scaleX(1);}










/*--------------------------
Dropdown Menu — 3 livelli
Desktop: hover | Mobile: click
--------------------------*/

.header__menu > li.menu-item-has-children { position: relative; }
.header__menu > li.menu-item-has-children > a::after {
	display: none;
}


.header__menu .sub-menu li a:after{bottom: 0;}


.header__menu .sub-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	position: absolute;
	top: calc(100% + 5px);
	left: 0;
	min-width: 220px;
	background: #0A1B2C;
	border-top: 3px solid #2b3e50;
	box-shadow: 0 8px 32px rgba(0,0,0,0.35);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-5px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	z-index: 1000;
}
.header__menu > li.menu-item-has-children:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.header__menu .sub-menu .menu-item.current-menu-item a { background: #2b3e50; color: #fff; }
.header__menu .sub-menu li { display: block; position: relative; }
.header__menu .sub-menu li + li { border-top: 1px solid rgba(255,255,255,0.07); }
.header__menu .sub-menu li a { display: flex !important; align-items: center; justify-content: space-between; padding: 15px !important; transition: background 0.15s, color 0.15s; color: #fff!important;}

@media(hover:hover){
.header__menu .sub-menu li a:hover { background: #2b3e50; color: #fff; }
}

.header__menu .sub-menu .menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 5px; height: 5px;
	border-right: 2px solid rgba(255,255,255,0.5);
	border-bottom: 2px solid rgba(255,255,255,0.5);
	transform: rotate(-45deg);
	margin-left: auto;
	flex-shrink: 0;
	transition: border-color 0.15s;
}
.header__menu .sub-menu .menu-item-has-children:hover > a::after { border-color: #2b3e50; }

.header__menu .sub-menu .sub-menu {
	top: -2.5px;
	left: 100%;
	border-top: 3px solid #2b3e50;
	transform: translateX(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}
.header__menu .sub-menu li.menu-item-has-children:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}














.top-bar { width: 100%; padding: 10px 0; color: #E8F0F4; font-size: .875em; background: #2b3e50; }
.top-bar a { text-decoration: none; color: #E8F0F4; margin-left: 4px; }
.top-bar i{margin-right: 5px;}

.nav-bar{padding: 10px 0;width: 100%;}

.button-menu a { padding: 10px 20px !important; width: auto; text-align: center; display: inline-block; border-radius: 5px; text-decoration: none; color: #2C3E50 !important; text-transform: uppercase; font-weight: 400 !important; font-size: .875em !important; box-shadow: 0 0 2px #2b3e50; }
.button-menu-outline a { background: #2b3e50; padding: 10px 20px !important; width: auto; text-align: center; display: inline-block; border-radius: 5px; text-transform: uppercase; font-weight: 400 !important; font-size: .875em !important; color: #E8F0F4 !important; }

.header__icon-bar { display: none; }


.logo a { text-transform: uppercase; color: #fff; font-weight: 900; font-size: 1em; text-decoration: none; display: flex; text-align: center; align-items: center; gap: 10px; }
.logo a img { width: 40px; background: #2b3e50; padding: 5px; width: 50px; height: 50px; object-fit: contain; border-radius: 10px; }
.logo__top { display: block; font-size: 1em; font-weight: 500; color: #2b3e50; white-space: nowrap; }
.logo__bottom { display: block; font-size: .875em; font-weight: 200; white-space: nowrap; text-transform: none; color: #2b3e50; }
.logo__top, .logo__bottom { opacity: 0; transition: opacity .2s ease; text-align: left;}



/*--------------------------
Home
--------------------------*/
#hero { display: flex; align-content: center; background: linear-gradient(135deg, #2b3e50 0%, #3d5a72 50%, #4a6b82 100%); color: #fff; padding-top: 106px; min-height: 100dvh; align-items: stretch; height: 100%; }
#hero:before{content: ''; position: absolute; top: -50%; right: 0%; width: 80%; height: 200%; background: radial-gradient(ellipse, rgba(199, 148, 62, 0.06) 0%, transparent 70%); pointer-events: none;}
#hero>.width-wrap { min-height: calc(100dvh - 106px); padding-right:0;}
.hero-text{width: 56.6%;padding-right:20px;max-width: 900px;}
.hero-photo { width: 43.3%; }
.hero-text { align-self: center; }
.hero-photo {
    padding: 0;
    min-height: 100%;
    object-fit: cover;
}
.hero-photo img { width: 100%; display: block; margin-left: auto; min-height: 100%; object-fit: cover; }
.hero-btns { display: flex; gap: 20px; }
p.hero-desc { padding: 20px 0; }
p.hero-badge { color: #E8A44A; text-transform: uppercase; font-weight: 400; letter-spacing: 1px; }

h1#hero-heading { font-size: 4em; font-weight: 600; display: flex; flex-direction: column; margin-bottom: 20px;}

#trust {
    height: auto;
    display: flex;
    align-items: center;
    align-content: center;
    background-color: #E8F0F4;
}
ul.trust-list { padding: 0; list-style-type: none; display: flex; justify-content: space-between; margin: 0 auto; width: 100%; }
.trust-item { display: flex; flex-direction: column; align-items: center; align-content: center; flex: 1; position: relative; padding: 20px 60px 40px; text-align: center; color: #94b0c4; }
.trust-item:after {
    content: '';
    position: absolute;
    height: 50%;
    width: 1px;
    background: #94b0c4;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.trust-item:last-child:after { display: none; }

strong.trust-num {
    font-size: 3em;
    line-height: .875em;
    font-weight: 400;
    font-family: "Cormorant Garamond", serif;
    margin-bottom: 10px;
	color: #2b3e50;
}


aside.section-amelia-bar { background: #E8F0F4; padding: 60px 0; height: 15dvh; display: flex; align-items: center; box-shadow: 0 0 10px rgba(47, 81, 99, .3);}
p.amelia-bar-title { color: #E8A44A; text-transform: uppercase; font-weight: 400; letter-spacing: 1px;}


section#specializzazioni { padding: 100px 0; }
header.section__header { text-align: center; padding: 40px 0; padding-top: 0; }
p.section__label { color: #E8A44A; text-transform: uppercase; font-weight: 400; letter-spacing: 1px; }

.spec__grid { display: flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; gap: 40px 24px; }
.spec__card { flex: 0 0 calc(20% - 20px); text-align: center; }
h3.spec__name { font-size: 1.25em; margin-bottom: 10px; }
p.spec__desc { font-size: .875em; }
.spec__icon svg { height: 100px; width: auto; }
.spec__icon svg path, .spec__icon svg circle, .spec__icon svg rect, .spec__icon svg line { stroke: #3E657C; /* cambia colore qui una volta sola */ }



section#chi-sono { padding: 100px 0; background: #E8F0F4; box-shadow: 0 0 10px rgba(47, 81, 99, .3);}
#chi-sono .width-wrap{gap: 60px;}
h2#bio-heading { margin-bottom: 20px; }

.bio-content { flex: 3; }
.bio-photo { flex: 1; background: #3E657C; padding: 0; border-top-left-radius: 50px; border-top-right-radius: 50px; border-radius: 20px; position: sticky; top: 108px;}
.bio-photo img { display: block; border-radius: 20px; }
.bio-content img { height: 100px; width: auto; display: block; margin: 0; padding-right: 40px;margin-left: auto;}
ul.bio-tags { font-size: 1.125em; font-weight: 300; margin-bottom: 30px; padding: 0 20px; line-height: 1.25em; }
p.sec-label { color: #E8A44A !important; font-size: .75em; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; margin: 0 0 12px; }

section#patologie { padding: 100px 40px; }
ul.path-list { padding: 0; display: flex; flex-direction: column; list-style-type: none; width: 100%; gap: 20px; margin: 40px 0 0; }
li.path-item { border: 1px solid; padding: 10px 20px; border-radius: 15px; }
li.path-item a { display: flex; width: 100%; justify-content: space-between; text-decoration: none; align-items: center; align-content: center; }
span.path-arrow { font-size: 2em; }
h3.path-name { font-size: 1.75em; font-weight: 400; margin-bottom: 10px;}

section#ricerca { background: #2b3e50; color: #fff; padding: 100px 0; text-align: center;}
section#ricerca p { color: #94b0c4; max-width: 1050px; }
h2#ricerca-heading { margin-bottom: 20px; }
ul.ricerca-tags { width: 100%; display: flex; justify-content: space-between; padding: 40px 0; list-style-type: none; text-align: center; margin: 0 auto; gap: 10px; max-width: 1050px;}
ul.ricerca-tags li { text-align: center; padding: 10px; color: #fff; border-radius: 5px; flex: 1; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.1); }


section#ambulatori { padding: 100px 40px; text-align: center;}

h3.amb-name { font-size: 2.5em; margin-bottom: 10px; }
p.amb-city { font-size: 1.25em; }

ul.amb-grid { padding: 40px 0 0; list-style-type: none; display: flex; justify-content: space-between; text-align: center; gap: 40px; }
li.amb-card { flex: 1; padding: 40px; box-shadow: 0 0 3px; border-radius: 20px; background-color: #2C3E50; color: #fff; display: flex; align-items: center; justify-content: center; }
ul.amb-details { list-style-type: none; padding: 20px 0; }

address.amb-address a { background-color: #E8A44A; color: #fff; border-color: #E8A44A; padding: 10px 40px; display: inline-block; border-radius: 10px; font-size: .875em; text-decoration: none; margin: 20px 0 0; }

section.section-cta { background: #E8F0F4; padding: 100px 0; box-shadow: 0 0 10px rgba(47, 81, 99, .3);
	text-align: center;}
.cta-btns { width: 100%; display: flex; padding: 40px 0 0; justify-content: center; gap: 40px; }

.amelia-booking-wrap { width: 100%; }

.amelia-v2-booking #amelia-container.am-fs__wrapper{margin: 40px auto 10px!important;}





.amelia-booking-inner {
    flex: 1;
    max-width: 100%;
}




.amelia-v2-booking {
    margin: 0 auto;
    margin-top: 20px;
    max-width: 900px;
}

.amelia-v2-booking .am-fcl__item{max-width:50%!important;}
.amelia-v2-booking .am-fcl__item-segments{justify-content:center!important;}

.amelia-v2-booking .am-fcl__item-footer{max-width:200px;
left:0;right:0;margin:0 auto!important;}

.amelia-v2-booking #amelia-container .am-fcis__info-service__desc.ql-description p{text-align: left!important;}
button.am-fcil__filter-buttons__menu{display: none!important;}

button.el-dialog__headerbtn{background-color: transparent!important;}



.el-dialog__headerbtn .el-dialog__close{color: #0A1B2C!important;font-size: 1.5em!important}






p.cta-sub {
    width: 100%;
    text-align: center;
}



/* ===== CTA — pulsanti stile index-2.html ===== */
.section-cta .cta-options {
	display: flex;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 36px;
}
.cta-opt {
	padding: 16px 32px;
	border-radius: 8px;
	font-size: .82rem;
	font-weight: 500;
	text-decoration: none;
	font-family: "Inter", sans-serif;
	border: 0;
	cursor: pointer;
	transition: all .3s ease;
	line-height: 1;
	color: #2b3e50;
}
.cta-opt-primary { background: #E8A44A; color: #2b3e50; }
.cta-opt-primary:hover {
	background: #f0b86a;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(232, 164, 74, .25);
}
.cta-opt-secondary {
	background: #ffffff;
	color: #2b3e50;
	border: 1px solid #dfe7ed;
}
.cta-opt-secondary:hover { border-color: #2b3e50; }

/* Stato attivo del pulsante "Prenota ora" quando il form è aperto */
.cta-opt-primary[aria-expanded="true"] {
	background: #2b3e50;
	color: #ffffff;
}

/* ===== Amelia booking — nascosto inizialmente, slide-down al click ===== */
.amelia-booking-wrap {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	margin-top: 0;
	transition:
		max-height .7s cubic-bezier(.22, 1, .36, 1),
		opacity   .4s ease .1s,
		margin-top .5s ease;
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
	gap: 40px;
}
.amelia-booking-wrap.is-open {
	max-height: 3000px;   /* abbastanza per qualsiasi step del form Amelia */
	opacity: 1;
	margin-top: 40px;
}
.amelia-booking-inner { padding: 8px 0 0; flex: 1;}




/* ===== AREE DI COMPETENZA ===== */


section#specializzazioni {
	padding: 100px 0;
	--c-ink:       #2b3e50;
	--c-white:     #ffffff;
	--c-gold:      #E8A44A;
	--c-gold-soft: #f0b86a;
	--c-serif:     'Cormorant Garamond', 'Playfair Display', Georgia, serif;
}

/* Header della sezione (label oro + titolo serif a sinistra) */
section#specializzazioni header.section__header {
	text-align: left;
	padding: 0 0 48px;
}
section#specializzazioni p.section__label {
	font-family: "Inter", sans-serif;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--c-gold);
	margin: 0 0 12px;
}
section#specializzazioni h2.section__title {
	font-family: var(--c-serif);
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	font-weight: 500;
	color: var(--c-ink);
	line-height: 1.2;
	margin: 0;
}

/* Griglia 5 colonne con card ad aspect-ratio 3/4 */
.competenze-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.competenze-grid > li { list-style: none; }

.comp-card {
	display: block;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	text-decoration: none;
	color: inherit;
	transition: transform .4s ease, box-shadow .4s ease;
}
.comp-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 40px rgba(43, 62, 80, .3);
}

/* Sfondi gradient variati per card */
.comp-card-bg { position: absolute; inset: 0; transition: all .5s ease; }
.competenze-grid > li:nth-child(1)  .comp-card-bg { background: linear-gradient(145deg, #354d65, #4a6b82); }
.competenze-grid > li:nth-child(2)  .comp-card-bg { background: linear-gradient(145deg, #3a5570, #567d96); }
.competenze-grid > li:nth-child(3)  .comp-card-bg { background: linear-gradient(145deg, #2f4a60, #4d6f88); }
.competenze-grid > li:nth-child(4)  .comp-card-bg { background: linear-gradient(145deg, #3d5a72, #5a7d95); }
.competenze-grid > li:nth-child(5)  .comp-card-bg { background: linear-gradient(145deg, #334e66, #4b6d85); }
.competenze-grid > li:nth-child(6)  .comp-card-bg { background: linear-gradient(145deg, #384f68, #527590); }
.competenze-grid > li:nth-child(7)  .comp-card-bg { background: linear-gradient(145deg, #2d475d, #4a6a83); }
.competenze-grid > li:nth-child(8)  .comp-card-bg { background: linear-gradient(145deg, #3b5871, #587e97); }
.competenze-grid > li:nth-child(9)  .comp-card-bg { background: linear-gradient(145deg, #36516a, #4f7189); }
.competenze-grid > li:nth-child(10) .comp-card-bg { background: linear-gradient(145deg, #3a5570, #547892); }
.comp-card:hover .comp-card-bg { filter: brightness(.85); }

/* Pattern SVG decorativo in basso a destra */
.comp-pattern {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	overflow: hidden;
}
.comp-pattern svg {
	position: absolute;
	bottom: -15%;
	right: -15%;
	width: 85%;
	height: 85%;
	opacity: .06;
	transition: opacity .5s ease;
}
.comp-card:hover .comp-pattern svg { opacity: .12; }

/* Contenuto sopra il pattern */
.comp-card-content {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	padding: 24px 20px;
	z-index: 2;
}
.comp-num {
	font-family: "Inter", sans-serif;
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: 2px;
	color: var(--c-gold);
	opacity: .85;
	margin-bottom: 10px;
}
.comp-name {
	font-family: var(--c-serif);
	font-size: clamp(1.15rem, 1.4vw, 1.5rem);
	font-weight: 500;
	color: var(--c-white);
	line-height: 1.3;
	margin: 0;
}
.comp-desc {
	font-size: .8rem;
	font-weight: 300;
	color: rgba(255, 255, 255, .65);
	line-height: 1.5;
	margin: 10px 0 0;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height .4s ease, opacity .3s ease .05s;
}
.comp-card:hover .comp-desc {
	max-height: 140px;
	opacity: 1;
}

/* Riga oro animata in basso */
.comp-line {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--c-gold), var(--c-gold-soft));
	z-index: 3;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s ease;
}
.comp-card:hover .comp-line { transform: scaleX(1); }

/* Responsive */






.inner-wrap {
    padding: 100px 40px 40px;
}
.inner-wrap h1{margin: 20px 0;}




/* ===== PAGINA SINGOLA — PERCORSO DI CURA =====
   Template: template-percorso-cura.php
   Usato per: gliomi cerebrali, metastasi, idrocefalo,
              patologie della colonna, tumori della base cranica
================================================================= */

.page-percorso-cura {
	--c-ink:       #2b3e50;
	--c-ink-mid:   #3d5a72;
	--c-ink-soft:  #4a6b82;
	--c-slate:     #6b8fa8;
	--c-cloud:     #dfe7ed;
	--c-ivory:     #E8F0F4;
	--c-white:     #ffffff;
	--c-gold:      #E8A44A;
	--c-serif:     'Cormorant Garamond', 'Playfair Display', Georgia, serif;
	--c-sans:      'Inter', 'Manrope', sans-serif;
}

/* Wrapper a misura di lettura (più stretti del .width-wrap del sito) */
.percorso-wrap      { margin: 0 auto; padding: 0 24px; }
.percorso-wrap-wide { margin: 0 auto; padding: 0 24px; }

/* ===== HERO ===== */
.percorso-hero {
	background: linear-gradient(135deg, var(--c-ink) 0%, var(--c-ink-mid) 50%, var(--c-ink-soft) 100%);
	padding: 80px 0 60px;
	margin-top: 108px;   /* compensa la header fissa del sito */
}
.percorso-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .82rem;
	font-weight: 500;
	color: rgba(255, 255, 255, .7);
	text-decoration: none;
	margin-bottom: 32px;
	transition: color .3s ease;
}
.percorso-back:hover { color: var(--c-gold); }
.percorso-back svg   { display: block; }

.percorso-hero__label {
	font-family: var(--c-sans);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--c-gold);
	margin: 0 0 12px;
}
.percorso-hero__title {
	font-family: var(--c-serif);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 500;
	color: var(--c-white);
	line-height: 1.15;
	margin: 0;
}

/* ===== CONTENUTO (output di the_content()) ===== */
.percorso-content { padding: 64px 0 80px; }

.percorso-content h2 {
	font-family: var(--c-serif);
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--c-ink);
	margin: 48px 0 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--c-cloud);
	line-height: 1.3;
}
.percorso-content > .percorso-wrap > h2:first-child,
.percorso-content h2:first-of-type { margin-top: 0; }

.percorso-content p {
	font-size: .95rem;
	font-weight: 300;
	color: var(--c-ink-soft);
	line-height: 1.8;
	margin: 0 0 16px;
}

/* liste, se mai dovesse usarle nell'editor */
.percorso-content ul,
.percorso-content ol {
	font-size: .95rem;
	color: var(--c-ink-soft);
	line-height: 1.8;
	margin: 0 0 16px;
	padding-left: 24px;
}
.percorso-content li { margin-bottom: 6px; }
.percorso-content strong { color: var(--c-ink); font-weight: 600; }
.percorso-content a {
	color: var(--c-ink);
	text-decoration: underline;
	text-decoration-color: var(--c-gold);
	text-underline-offset: 3px;
}

.percorso-disclaimer {
	font-size: .82rem !important;
	font-style: italic;
	color: var(--c-slate) !important;
	margin-top: 48px !important;
	padding-top: 24px;
	border-top: 1px solid var(--c-cloud);
}

/* ===== CTA finale ===== */
.percorso-cta {
	background: var(--c-ivory);
	padding: 56px 0;
	box-shadow: 0 0 10px rgba(47, 81, 99, .15);
}
.percorso-cta__text {
	text-align: center;
	font-size: 1rem;
	color: var(--c-ink);
	margin: 0 0 24px;
}
.percorso-cta__actions {
	display: flex;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}

/* Responsive */



/*--------------------------
Index, Single, Page
--------------------------*/

.content{width: 100%;}
.content__title{font-size: 42px;}

	.post{padding:40px; border-bottom: 1px solid #E8F0F4;}
  .post img{max-width: 100%; height: auto;}

  .content .tag {margin-top:40px;}
	.content .tag a{background: #666; color:#fff; padding:5px 10px; text-decoration: none; display: inline-block;;margin-top:5px;font-size: 12px;}

	/* Comments */
	.comments{margin: 40px 0; border-top: 1px solid #E8F0F4}
	.commentlist,
	.commentlist .children{list-style-type: none}

	.comment-body{margin: 40px 0}
	.comment-author.vcard img{border-radius: 100%;}

	.comment-form-comment textarea{background: #E8F0F4; width:100%;border: 1px solid #ddd;margin-top:5px;}
	.comment-form-author input,
	.comment-form-email input,
	.comment-form-url input{background: #E8F0F4; width:200px; max-width:300px;border: 1px solid #ddd;padding:5px}

	.comment-form-author label,
	.comment-form-email label,
	.comment-form-url label{ width:100px;display: inline-block;}

	.form-submit input{background: #333; color:#fff; border:none;font-size: 16px;padding: 10px 15px;width: auto;}

  /* Pagination */
  .pagination{padding:40px;}
  .pagination a,
  .pagination span{padding: 10px 15px; border: 1px solid #ddd; text-decoration: none;}
  .pagination a:hover{background: #E8F0F4}

  /* Caption Images */
  .wp-caption { margin-bottom: 20px; padding: 10px; max-width: 97%; border: 1px solid #ddd; text-align: center; }
  .wp-caption img { margin: 0; padding: 0; width: 100%!important; height: auto; border: 0 none; }
  .wp-caption p.wp-caption-text { margin: 0; padding: 8px; font-size: 1em; line-height: 17px; }

  /* Gallery */
  .gallery { padding: 40px 0 40px 0; width: 100%; }
  .gallery-item {  width: 33.333333%; text-align: center; }
  .gallery img { margin: 0 5% 0 5%; width: 90%; height: auto; border: none!important; }
  .gallery-caption { width: 90%;margin:10px 0 0 0;}


/*--------------------------
Sidebar
--------------------------*/

.sidebar{width:30%;}
	.widget{padding:40px;}
	.widget ul{padding: 0;list-style-type: none;}
	.widget ul li a{text-decoration: none;display: block;border-bottom: 1px solid #E8F0F4;padding:10px 15px}

	.widget_search label{display: none;}



.footer-top { background-color: #2b3e50; padding: 60px 0; }
.footer-top>.width-wrap>ul { list-style-type: none; padding: 0; display: flex; justify-content: space-between; }
.footer-top>.width-wrap>ul>li { flex: 1; font-size: .875em;}
.footer-top>.width-wrap>ul>li>ul { list-style-type: none; display: flex; flex-direction: column; padding: 0; gap: 10px; margin: 20px 0; font-weight: 300; color: #94b0c4;}
.footer-top>.width-wrap>ul>li {
    color: #fff;
    padding: 0;
    font-weight: 400;
    flex: none;
}
.footer-top>.width-wrap>ul>li>ul li a { text-decoration: none; font-weight: 300; color: #94b0c4;}
.footer-top .logo {  padding-right: 40px; }

	footer { background-color: #2b3e50; font-size: .875em;}
	footer p{font-size: 1em;}


	.footer-wrap { display: flex; justify-content: space-between; padding: 20px 0; font-size: .875em; color: #94b0c4; border-top: 1px solid; }
	.footer-wrap a{color: #94b0c4;}

/*--------------------------
Desktop
--------------------------*/











/*--------------------------
Tablet
--------------------------*/




/*--------------------------
Smartphone
--------------------------*/


/* ============================================================
   MEDIA QUERIES
   Tutte le media query del tema, raggruppate per breakpoint
   in ordine decrescente. Un solo blocco per breakpoint.
============================================================ */

/*--------------------------
Desktop
--------------------------*/

@media (max-width: 1920px) {

}


@media (max-width: 1600px) {
	
	.width-wrap{padding:0 20px;}
	section#patologie { padding: 100px 20px; }
	section#ambulatori { padding: 100px 20px;}

	p{font-size: 1em;}
	.button{font-size: .875em;}

	.header__menu{gap: 15px;}
	.header__menu .menu-item a { font-size: .875em; }
	.button-menu-outline a, .button-menu a{font-size: .75em!important;}

	h1#hero-heading{font-size: 3em;}

	strong.trust-num {
	    font-size: 2.5em;
	    font-weight: 900;
	}

}


@media (max-width: 1280px) {
	.hero-text{width:50%}
	.hero-photo{width:50%;}

}


/*--------------------------
Tablet
--------------------------*/

@media (max-width: 1180px) {

	.header__menu { width: 80%; overflow: hidden; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; position: fixed; top: 0; bottom: 0; height: 100dvh; background: #fff; 
	left: 0; z-index: 9; transform: translateX(-100%); display: flex; flex-wrap: wrap; align-content: flex-start; flex-direction: column; justify-content: center; text-align: left;
	padding: 0 30px; align-items: flex-start; box-shadow: 0 0 3px 3px rgba(0,0,0,.2); }

	.header__icon-bar {display: block; position: relative; width: 24px; height: 60px; transition-duration: 0.5s;z-index: 11;}
	.header__icon-bar .icon-left { transition-duration: 0.5s; position: absolute; height: 3px; width: 12px; top: 50%; transform: translateY(-50%); background-color: #2C3E50;}
	.header__icon-bar .icon-left:before { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #2C3E50; content: ""; top: -8px;margin: 0;}
	.header__icon-bar .icon-left:after { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #2C3E50; content: ""; top: 8px;}
	.header__icon-bar .icon-left:hover { cursor: pointer;}
	.header__icon-bar .icon-right { transition-duration: 0.5s; position: absolute; height: 3px; width: 12px; top: 50%; transform: translateY(-50%); background-color: #2C3E50; left: 11px;}
	.header__icon-bar .icon-right:before { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #2C3E50; content: ""; top: -8px;margin: 0;}
	.header__icon-bar .icon-right:after { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #2C3E50; content: ""; top: 8px;}
	.header__icon-bar.open .icon-left { transition-duration: 0.5s; background: transparent;}
	.header__icon-bar.open .icon-left:before {transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	  -webkit-transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	  -moz-transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	  -o-transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	  -ms-transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	}
	.header__icon-bar.open .icon-left:after {
	  transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	  -webkit-transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	  -moz-transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	  -o-transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	  -ms-transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	}
	.header__icon-bar.open .icon-right { transition-duration: 0.5s; background: transparent;}
	.header__icon-bar.open .icon-right:before {
	  transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	  -webkit-transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	  -moz-transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	  -o-transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	  -ms-transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	}
	.header__icon-bar.open .icon-right:after {
	  transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	  -webkit-transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	  -moz-transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	  -o-transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	  -ms-transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	}
	.header__icon-bar:hover { cursor: pointer;}
	.show-menu{transform: translateX(0);}

	.header__menu .menu-item a{font-size: 18px;}

	/* ============================================================
	   Sottomenu mobile — apertura al click sul genitore
	   (su desktop resta a hover, vedi regole base sopra)
	============================================================ */

	.header__menu .menu-item-has-children { width: 100%; }

	/* freccia sui voci di primo livello con figli (nascosta su desktop) */
	.header__menu > li.menu-item-has-children > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
	}
	.header__menu > li.menu-item-has-children > a::before {
		display: block;
		content: '';
		width: 8px;
		height: 8px;
		border-right: 2px solid #2b3e50;
		border-bottom: 2px solid #2b3e50;
		transform: rotate(45deg);
		transition: transform .25s ease;
		flex-shrink: 0;
		order: 1;
	}
	.header__menu li.menu-item-has-children.submenu-open > a::before {
		transform: rotate(225deg);
	}



	/* il sottomenu si apre in accordion sotto al genitore, non più in overlay */
	.header__menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; min-width: 0; width: 100%; background: transparent; 
		border-top: none; box-shadow: none; max-height: 0; overflow: hidden; transition: max-height .3s ease;}
	.header__menu li.menu-item-has-children.submenu-open > .sub-menu { max-height: 1000px;  border: 1px solid; border-left: 0; border-right: 0; margin: 10px 0; padding: 10px 0;}
	.header__menu .sub-menu li a { color: #2b3e50 !important; padding: 12px 0 !important; font-size: 1em;}
	.header__menu .sub-menu li + li { border-top: 1px solid rgba(43,62,80,.1); }
	.header__menu .sub-menu .sub-menu { padding-left: 15px; }

	.header__menu .menu-item a:hover::after{display: none!important;}
	.header__menu .sub-menu .menu-item.current-menu-item a { background: transparent !important; }

	/* freccia dei sottomenu di secondo/terzo livello, ruotata per l'accordion verticale */
	.header__menu .sub-menu .menu-item-has-children > a::after {
		transform: rotate(45deg);
	}
	.header__menu .sub-menu .menu-item-has-children.submenu-open > a::after {
		transform: rotate(225deg);
		border-color: #2b3e50;
	}

}


/*--------------------------
Smartphone
--------------------------*/

@media (max-width: 1024px) {

	/* ============================================================
	   HERO — overlay in trasparenza invece di opacità sull'immagine
	   La foto resta a piena opacità; è un gradiente scuro sopra
	   di lei a dare leggibilità al testo (effetto "opacità" ma
	   ottenuto con un layer separato, non sull'immagine stessa)
	============================================================ */
	#hero { position: relative; overflow: hidden; padding-top: 116px;}
	.hero-text { padding:40px 20px;}
	h1#hero-heading{font-size: 2em;}
	
	#hero>.width-wrap {
    padding: 0;
}

	.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; opacity: 1; }


	.competenze-grid { grid-template-columns: repeat(3, 1fr); }

	/* ============================================================
	   Card "Aree di competenza" — su mobile/tablet non c'è hover,
	   quindi mostriamo di default ciò che prima appariva solo
	   passando il mouse (descrizione, riga oro, pattern, sfondo)
	============================================================ */
	.comp-card-bg { filter: brightness(.85); }
	.comp-pattern svg { opacity: .12; }
	.comp-desc {
		max-height: 140px;
		opacity: 1;
	}
	.comp-line { transform: scaleX(1); }

}


@media (max-width: 782px) {

	h2{font-size: 2em;}

.button{padding: 15px;}
	
	
	.hero-text, .hero-photo{width:100%;}

	.trust-item { padding: 10px; }
	.trust-item:after{height: 100%;}
	strong.trust-num{font-size: 2em;}
	span.trust-label { font-size: .875em; }

	section#specializzazioni header.section__header{padding-bottom: 40px;}

	section#chi-sono { padding: 40px 0;}
	.bio-photo { position: relative; top: 0; flex: auto; }
	#chi-sono .width-wrap{gap: 40px;}

	section#specializzazioni { padding: 40px 0; }
	.competenze-grid { grid-template-columns: repeat(2, 1fr); }

	section#patologie{padding: 40px 20px;}

	ul.path-list{margin: 20px 0 0;}
	li.path-item{padding: 20px;}

	h2#bio-heading { margin-bottom: 20px; font-size: clamp(1.8rem, 3vw, 2.5rem); }
	.bio-content img{height: 70px;}

	section#ricerca{padding: 40px 0; text-align: left;}
	ul.ricerca-tags{flex-wrap: wrap;}

section#ambulatori { padding: 40px 20px;}
ul.amb-grid{flex-wrap: wrap;margin: 0;}
li.amb-card{flex: auto;}

section.section-cta{padding: 40px 0;}

	.percorso-hero      { padding: 56px 0 40px; margin-top: 88px; }
	.percorso-content   { padding: 48px 0 64px; }
	.percorso-content h2 { font-size: 1.4rem; margin-top: 36px; }
	.percorso-cta       { padding: 40px 0; }


	
	.footer-top{text-align: center;padding: 40px 0;}
.footer-top > .width-wrap > ul{flex-wrap: wrap; margin: 0;}
.footer-top > .width-wrap > ul > li{flex: 0 0 100%;}
.footer-top > .width-wrap > ul > li h3{margin-bottom: 20px;margin-top: 20px;}
.footer-top > .width-wrap > ul > li:first-of-type h3{margin-top: 0;}
.footer-top > .width-wrap > ul > li > ul{margin: 0;}
.footer-wrap{flex-wrap: wrap;justify-content: center; gap: 10px;}
}


@media (max-width: 480px) {

.competenze-grid { grid-template-columns: 1fr; gap: 10px; }

.comp-num{font-size: 1rem;}
.comp-name{font-size: 1.5rem;}
.comp-desc { font-size: 1rem;}
.comp-card{aspect-ratio: 4/3;}


}