/*
Theme Name: 	ilariacetta
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: 	ilariacetta
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: "DM Sans", sans-serif; font-size: 1em; color: #2d4a2d;}
* { box-sizing: border-box; }

/*--------------------------
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: #2d4a2d;}
img{width: 100%;height: auto;}


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

h1, h2, h3, h4, h5 { font-weight: 600; margin: 0; font-family: 'Cormorant Garamond', serif; }
h1{font-size: 4em;}
h2{font-size: 3em;}
h3{font-size: 2em;}
h4{font-size: 1.5em;}
h5{font-size: 1.25em;}
p { margin: 0; line-height: 1.5em; font-size: 1.125em; 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!important;}
.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{width: 100%;margin: 0 auto; padding: 0 60px;}

.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:#0d3857; color:#fff; border:none; width: calc(30% - 20px);padding: 10px;}
span.wpcf7-spinner{position: absolute;bottom: 40px;}

.button { padding: 12px 20px; border: 1px solid #fff; width: auto; text-align: center; display: inline-block; text-decoration: none; text-transform: uppercase; font-weight: 400; background-color: #fff; font-size: .875em; font-weight: 300; letter-spacing: .1em; }
.button.button-outline { background-color: transparent; border-color: #fff; color: #fff; }
.button.button-green { background-color: #2d4a2d; color: #fff; border-color: #2d4a2d; }
.button.button-outline-green { background-color: transparent; border-color: #2d4a2d; color: #2d4a2d; }

/* ============================================================
   HOVER BOTTONI — aggiungi in coda a style.css
   Classi reali: .button .button-green .button-outline-green
============================================================ */
 
/* 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);
}
 
/* ---- Bottone verde pieno ---- */
.button-green {
    background: #2d4a2d;
    color: #fff;
    border-color: #2d4a2d;
}
.button-green:hover {
    background: #2d4a2d;
    border-color: #2d4a2d;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(30, 58, 40, 0.22);
}
.button-green:active {
    transform: scale(0.97) translateY(0);
    box-shadow: none;
}
 
/* ---- Bottone outline verde ---- */
.button-outline-green {
    background: transparent;
    color: #2d4a2d;
    border-color: #8FC09A;
}
.button-outline-green:hover {
    background: #2d4a2d;
    border-color: #2d4a2d;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(30, 58, 40, 0.18);
}
.button-outline-green:active {
    transform: scale(0.97) translateY(0);
    box-shadow: none;
}
 
/* ---- Bottone base senza modificatore (amelia bar, sede, ecc.) ---- */
.button:not(.button-green):not(.button-outline-green):hover {
    background: #EAF4EB;
    border-color: #2d4a2d;
    color: #2d4a2d;
    transform: translateY(-2px);
}




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


/*--------------------------
Header
--------------------------*/


.top-bar { width: 100%; background: #e8ede6; color: #5a6b5a; padding: 5px 0; font-size: .8125em; }
.top-bar a { color: #5a6b5a; text-decoration: none; margin-left: 5px;}
.top-bar i{margin-right: 4px;}
.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: #fff; box-shadow: 0 0 20px rgba(90, 154, 106, 0.2); }
.header .width-wrap { padding: 10px 60px; }
.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: 25px;align-items: center;}
.header__menu .menu-item{display: inline-block;position: relative;}

.header__menu .menu-item.current-menu-item:after { content: ''; position: absolute; bottom: -5px; left: 0; right: 0; height: 1px; width: 100%; display: block; background: #2d4a2d; opacity: 1; }
.home .header__menu .menu-item.current-menu-item:after{display: none;}
.home .header__menu .menu-item.menu-item-20.current-menu-item:after{display: block;}

.header__menu .menu-item a { padding: 0; text-decoration: none; font-weight: 300; display: inline-block; position: relative; z-index: 1; font-size: .875em; text-transform: uppercase; }
.header__menu .menu-item.button-menu a { border: 1px solid; border-radius: 0; padding: 10px 20px; background: #2d4a2d; color: #fff; text-transform: uppercase;font-weight: 300; letter-spacing: .1em; }
.header__icon-bar { display: none; }

.logo a { color: #fff; font-weight: 900; font-size: 1em; text-decoration: none; display: flex; gap: 0; text-align: center; align-items: center; align-content: center; }
.logo a img{height:50px;width: auto;}
.logo__top { display: block; font-size: 1.5em; font-weight: 500; color: #2d4a2d; white-space: nowrap; text-transform: uppercase; font-family: 'Cormorant Garamond', serif; }
.logo__bottom { display: block; font-size: .75em; font-weight: 300; color: #2d4a2d; white-space: nowrap; text-transform: uppercase; }
.logo__top, .logo__bottom { opacity: 0; transition: opacity .2s ease; }



/*--------------------------
Home
--------------------------*/

#hero { height: auto; display: flex; align-items: center; align-content: center; background: #faf9f6; padding-top: 120px; }
#hero .width-wrap{padding-right: 0;}
.hero-text { align-self: center; padding: 60px 0; width: 50%; padding-right: 20px;}
.hero-photo { padding: 0; min-height: 100%; width: 50%; }
.hero-photo img { width: 100%; display: block; margin-left: auto; height: 100%; object-fit: cover;}
.hero-btns { display: flex; gap: 20px; }
p.hero-desc { padding: 20px 0; max-width: 800px; padding-bottom: 40px; font-size: 1em; max-width: 500px; }
.hero-badge { font-size: .875em; font-weight: 300; width: auto; border-left: 0; border-right: 0; display: inline-block; margin-bottom: 20px; text-transform: uppercase; }

h1#hero-heading { font-size: 1em; font-weight: 500; display: flex; flex-direction: column;}
span.hero-name { font-size: 3.5em; margin-bottom: 10px;}
span.hero-name-italic { font-size: 1.75em; font-weight: 300; font-style: italic; }


p.sec-label { font-weight: 300; border-left: 0; border-right: 0; font-size: .75em; letter-spacing: .32em; text-transform: uppercase; margin-bottom: 10px; }

#trust { height: 20dvh; display: flex; align-items: center; align-content: center; box-shadow: 0 0 20px rgba(90, 154, 106, 0.2); }
ul.trust-list { padding: 0; list-style-type: none; display: flex; justify-content: space-between; width: 100%; }
.trust-item { display: flex; flex-direction: column; align-items: center; align-content: center; flex: 1; position: relative; padding: 60px; text-align: center;}
.trust-item:after { content: ''; position: absolute; height: 50%; width: 2px; background: #2d4a2d; right: 0; top: 50%; transform: translateY(-50%); }
.trust-item:last-child:after { display: none; }

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


aside.section-amelia-bar { background: #2d4a2d; color: #fff; padding: 60px 0; }
.amelia-bar-inner { gap: 24px; }

p.amelia-bar-title { color: #fff; font-weight: 400; letter-spacing: 1px; font-family: 'Cormorant Garamond', serif; font-size: 2em; line-height: 1em; margin-bottom: 20px; }
section#patologie-trattate, section#trattamenti{ padding: 100px 0;position: relative;box-shadow: 0 0 20px rgba(90, 154, 106, 0.2);}
header.section-header { text-align: center; padding: 40px 0; padding-top: 0; }
p.section__label { color: #2d4a2d; text-transform: uppercase; font-weight: 400; letter-spacing: 1px; }



section.section { padding:100px 60px; }
section.section-dark { background-color: #1a2318; color: #fff; }
section.section-sage { background-color: #e8ede6; }
section.section-alt { background-color: #f5f2ec; }
h2.section-title { margin-bottom: 40px; }



/* ═══════════════════════════════════
   PATOLOGIE — COLORED INTERACTIVE CARDS
═══════════════════════════════════ */
.patologie-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pat-card{border-radius:14px;padding:34px 36px 30px;cursor:pointer;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;border:1.5px solid transparent;text-decoration: none;}
.pat-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(26,35,24,.12)}
/* Overlay per hover text */
.pat-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:28px 36px;opacity:0;transition:opacity .3s;border-radius:13px}
.pat-card:hover .pat-overlay{opacity:1}
.pat-overlay-text{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;display:inline-flex;align-items:center;gap:8px}
/* Per card che va a pagina percorso */
.pat-card>*:not(.pat-overlay){transition:opacity .3s}
.pat-card:hover>.pat-title,.pat-card:hover>.pat-desc,.pat-card:hover>.pat-tags{opacity:.15}

/* Colori per ogni patologia */
.pat-c1{background:#e4ece2;border-color:#b8cfb0} .pat-c1 .pat-overlay{background:rgba(30,58,30,.93)} .pat-c1 .pat-overlay-text{color:#fff}
.pat-c2{background:#dce8dc;border-color:#a8c8a8} .pat-c2 .pat-overlay{background:rgba(24,56,24,.93)} .pat-c2 .pat-overlay-text{color:#fff}
.pat-c3{background:#eef2ea;border-color:#bccfb4} .pat-c3 .pat-overlay{background:rgba(42,68,36,.93)} .pat-c3 .pat-overlay-text{color:#fff}
.pat-c4{background:#f2f5ee;border-color:#c8d4bc} .pat-c4 .pat-overlay{background:rgba(58,80,50,.93)} .pat-c4 .pat-overlay-text{color:#fff}
.pat-c5{background:#e8ede2;border-color:#b8cbb0} .pat-c5 .pat-overlay{background:rgba(35,60,30,.93)} .pat-c5 .pat-overlay-text{color:#fff}
.pat-c6{background:#f5f2ec;border-color:#d4cbb8} .pat-c6 .pat-overlay{background:rgba(75,62,36,.93)} .pat-c6 .pat-overlay-text{color:#fff}
.pat-c7{background:#ede8e0;border-color:#cdc5b0} .pat-c7 .pat-overlay{background:rgba(65,52,30,.93)} .pat-c7 .pat-overlay-text{color:#fff}
.pat-c8{background:#e2e8de;border-color:#b4c8b0} .pat-c8 .pat-overlay{background:rgba(20,46,24,.93)} .pat-c8 .pat-overlay-text{color:#fff}

/* Card che occupa tutta larghezza */
.pat-card.full{grid-column:1/-1}

.pat-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;color:#1a2318;margin-bottom:11px;line-height:1.25}
.pat-desc{font-size:14px;color:#5a6b5a;line-height:1.78;margin-bottom:16px}
.pat-tags{display:flex;flex-wrap:wrap;gap:7px}
.pat-tag{background:rgba(255,255,255,.65);color:#1a2318;padding:4px 13px;border-radius:20px;font-size:12px;letter-spacing:.04em;font-weight:400;border:1px solid rgba(0,0,0,.08)}

/* ═══════════════════════════════════
   TRATTAMENTI — SAME STYLE AS PATOLOGIE
═══════════════════════════════════ */
.trattamenti-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tratt-card{border-radius:14px;padding:32px 30px 28px;cursor:default;border:1.5px solid #dde6da;background:#faf9f6;transition:transform .3s,box-shadow .3s,border-color .3s}
.tratt-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(26,35,24,.10);border-color:#4a6741}
.tratt-title{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:500;color:#1a2318;margin-bottom:10px;line-height:1.25}
.tratt-desc{font-size:14px;color:#5a6b5a;line-height:1.78}

/* ═══════════════════════════════════
   CV SECTION
═══════════════════════════════════ */
.cv-grid{display:grid;grid-template-columns:3fr 2fr;gap:72px;align-items:start}
.cv-body-text{font-size:15px;line-height:1.95;color:rgba(232,236,230,.87)}
.cv-body-text p+p{margin-top:22px}
.cv-milestones{display:flex;flex-direction:column}
.cv-item{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.cv-item:first-child{border-top:1px solid rgba(255,255,255,.1)}
.cv-item-label{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:5px}
.cv-item-value{font-size:14px;color:#e2e8de;line-height:1.55}

/* ═══════════════════════════════════
   RICERCA
═══════════════════════════════════ */
.ricerca-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.ricerca-text{font-size:15.5px;line-height:1.9;color:#3d5438}
.ricerca-links{display:flex;flex-direction:row;gap:14px;flex-wrap:wrap}
.ricerca-link{display:flex;align-items:center;gap:10px;padding:13px 20px;border:1.5px solid #c8d4c4;border-radius:8px;text-decoration:none;color:#1a2318;font-size:14px;font-weight:500;transition:all .25s;background:#faf9f6;white-space:nowrap}
.ricerca-link:hover{background:#1a2318;color:#fff;border-color:#1a2318}
.ricerca-link:hover .rl-desc{color:rgba(255,255,255,.6)}
.rl-icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7}
.rl-name{font-weight:500;font-size:14px}
.rl-desc{display:none}

/* ═══════════════════════════════════
   SEDI
═══════════════════════════════════ */
.sedi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sede-card{border:1.5px solid #c8d4c4;border-radius:14px;padding:40px 36px;display:flex;flex-direction:column;background:#faf9f6;transition:box-shadow .3s,border-color .3s}
.sede-card:hover{box-shadow:0 8px 28px rgba(26,35,24,.09);border-color:#4a6741}
.sede-card.primary{background:#1a2318;color:#fff;border-color:#1a2318}
.sede-card.primary:hover{box-shadow:0 8px 28px rgba(26,35,24,.25);border-color:#4a6741}
.sede-icon{width:32px;height:32px;margin-bottom:16px;fill:none;stroke:currentColor;stroke-width:1.6;opacity:.55}
.sede-city{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;margin-bottom:4px;line-height:1}
.sede-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.5;margin-bottom:24px}
.sede-services { list-style: none; flex: 1; margin-bottom: 28px; padding: 0; }
.sede-services li{font-size:14px;opacity:.82;padding:7px 0 7px 18px;position:relative;border-bottom:1px solid rgba(200,212,196,.3);line-height:1.5}
.sede-card.primary .sede-services li{border-bottom-color:rgba(255,255,255,.1)}
.sede-services li::before{content:'—';position:absolute;left:0;opacity:.4}
.sede-services a { opacity: .75; transition: opacity .2s; font-weight: 500; color: #fff; text-decoration: none; }
.sede-services a.dark-link{color:#4a6741}
.sede-services a:hover{opacity:1}
.btn-sede-white{display:inline-block;background:transparent;color:#fff;padding:11px 22px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;border:1.5px solid rgba(255,255,255,.35);border-radius:2px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.btn-sede-white:hover{background:rgba(255,255,255,.1)}
.btn-sede-dark{display:inline-block;background:transparent;color:#1a2318;padding:11px 22px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;border:1.5px solid #1a2318;border-radius:2px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.btn-sede-dark:hover{background:#1a2318;color:#fff}


/* ═══════════════════════════════════
   PRENOTA SECTION
═══════════════════════════════════ */
.prenota-section{background:#2d4a2d;color:#fff;padding:88px 52px;text-align:center}
.prenota-title{font-family:'Cormorant Garamond',serif;font-size:50px;font-weight:300;margin-bottom:14px;line-height:1.1}
.prenota-sub{font-size:15px;opacity:.72;margin-bottom:48px;line-height:1.75}
.prenota-steps{display:flex;justify-content:center;gap:60px;margin-bottom:44px}
.prenota-step .step-num{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:300;opacity:.28;display:block;line-height:1}
.prenota-step .step-text{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.78;margin-top:8px}

button#prenota-toggle {
    cursor: pointer;
}


section.section-cta { background: #ADC09C; padding: 100px 0; }
.cta-btns { width: 100%; display: flex; padding: 40px 0; justify-content: center; gap: 40px; }

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

.amelia-wrap {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin-top: 0;
    transition: max-height .45s ease, opacity .35s ease, margin-top .35s ease;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.amelia-wrap.is-open {
    max-height: 3000px;   /* abbastanza alto da contenere tutti gli step */
    opacity: 1;
    margin-top: 2rem;
    overflow: visible;    /* importante: i dropdown di Amelia devono poter uscire */
}
@keyframes ameliaFadeIn {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

.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;}

/*--------------------------
Page
--------------------------*/

/* ---------- Wrapper pagina interna ---------- */
.inner-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 160px 40px 40px;
}


/* ---------- Titolo e sottotitolo ---------- */
.inner-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 48px;
    font-weight: 300;
    color: #1a2318;
    margin-bottom: 10px;
    line-height: 1.08;
}

.inner-subtitle {
    font-family: 'Cormorant Garamond', serif;
    font-size: 20px;
    font-weight: 300;
    font-style: italic;
    color: #4a6741;
    margin-bottom: 48px;
}

/* ---------- Titoli di sezione ---------- */
.inner-section-h {
    font-family: 'Cormorant Garamond', serif;
    font-size: 27px;
    font-weight: 400;
    color: #1a2318;
    margin: 48px 0 16px;
    padding-bottom: 14px;
    border-bottom: 1.5px solid #c8d4c4;
}

/* ---------- Corpo dei testi ---------- */
.inner-body {
    font-size: 15px;
    line-height: 1.92;
    color: #384838;
}
.inner-body p  { margin-bottom: 18px; }
.inner-body ul { margin: 10px 0 20px 22px; }
.inner-body li { margin-bottom: 9px; font-size: 14.5px; line-height: 1.72; color: #384838; }
.inner-body em { font-style: italic; color: #1a2318; }

/* ---------- Highlight box (es. diario cefalea) ---------- */
.highlight-box {
    background: #e8ede6;
    border-radius: 10px;
    padding: 26px 32px;
    margin: 28px 0;
    border-left: 3px solid #4a6741;
}
.highlight-box p {
    margin-bottom: 0;
    font-size: 14.5px;
    color: #2d4a2d;
    line-height: 1.8;
}

/* ---------- Bottone "back" in alto ---------- */
.back-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #4a6741;
    cursor: pointer;
    margin-bottom: 40px;
    text-decoration: none;
    transition: gap .2s;
}
.back-btn:hover { gap: 12px; }

/* ---------- Bottoni in fondo (.inner-actions) ---------- */
.inner-actions {
    margin-top: 0;
    padding-top: 20px;
    border-top: 1px solid #c8d4c4;
}

.inner-actions .wp-block-group__inner-container {
    display: flex;
    gap: 20px;
}

/* ---------- Bottoni .btn (dal mockup ilaria_cetta_sito_V7.html) ---------- */
.btn {
    display: inline-block;
    cursor: pointer;
    font-family: 'DM Sans', sans-serif;
    font-weight: 400;
    border-radius: 2px;
    transition: all .2s;
    text-align: center;
    border: none;
    text-decoration: none;
}
.btn-dark {
    background: #1a2318;
    color: #fff;
    padding: 14px 30px;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.btn-dark:hover { background: #2d4a2d; }
.btn-ghost {
    background: transparent;
    color: #1a2318;
    padding: 13px 29px;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    border: 1.5px solid #1a2318;
}
.btn-ghost:hover { background: #1a2318; color: #fff; }

/* ---------- Nota medica in fondo alla scheda ---------- */
.medical-note {
    margin-top: 44px;
    padding: 22px 26px;
    background: #f5f2ec;
    border-left: 3px solid #4a6741;
    font-size: 12.5px;
    line-height: 1.75;
    color: #5a6b5a;
}

/* ---------- Titolo e link dentro .highlight-box (diario) ---------- */
.highlight-box h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 23px;
    font-weight: 500;
    margin-bottom: 10px;
}
.diary-link {
    display: inline-block;
    margin-top: 16px;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    border-bottom: 1px solid #4a6741;
    color: #2d4a2d;
}





.page-template-page-patologia #main-content {
    padding-top: 120px;
}


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

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

	.post{padding:40px; border-bottom: 1px solid #ADC09C;}
  .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 #ADC09C}
	.commentlist,
	.commentlist .children{list-style-type: none}

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

	.comment-form-comment textarea{background: #ADC09C; width:100%;border: 1px solid #ddd;margin-top:5px;}
	.comment-form-author input,
	.comment-form-email input,
	.comment-form-url input{background: #ADC09C; 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: #ADC09C}

  /* 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 #ADC09C;padding:10px 15px}

	.widget_search label{display: none;}



footer * {
    color: #fff !important;
}

footer h3 { font-family: "DM Sans", sans-serif; font-size: .75em; text-transform: uppercase; letter-spacing: .1em; opacity: .5;}

.footer-top {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; }
.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; font-size: .875em; }
.footer-top>.width-wrap>ul>li { flex: none; color: #2d4a2d; padding: 0 40px; }
.footer-top>.width-wrap>ul>li p { font-size: .875em; margin-top: 20px; opacity: .5; }
.footer-top>.width-wrap>ul>li>ul li a { text-decoration: none; font-weight: 400;}
.footer-top .logo {  padding-right: 40px; }

.footer__menu { list-style-type: none; padding: 0; display: flex; flex-direction: column; gap: 5px; font-size: .875em; margin-top: 20px; }
.footer__menu a{text-decoration: none;}

	footer { background-color: #1a2318; color: #fff; }
	footer p{font-size: 1em;}
	footer .copyright { padding: 20px; text-align: center; font-size: .875em; border-top: 1px solid rgba(255, 255, 255, .09); opacity: .5; }


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

@media (max-width: 1600px) {
.header__menu{gap: 20px;}
}


@media (max-width: 1440px) {

    .logo__top{font-size: 1.25em;}
    .logo__bottom{font-size: .65em;}

}



@media (max-width: 1280px) {
.header__menu { gap: 15px; }
.header .width-wrap{padding:10px 20px;}
section.section{padding: 40px 20px;}


.width-wrap { padding: 0 20px; }

.footer-top>.width-wrap>ul>li{flex: 1;}


}


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

@media (max-width: 1200px) {

	.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: 100vh; 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-left: 30px; align-items: flex-start;}

	.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: #2d4a2d;}
	.header__icon-bar .icon-left:before { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #2d4a2d; content: ""; top: -8px;margin: 0;}
	.header__icon-bar .icon-left:after { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #2d4a2d; 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: #2d4a2d; left: 11px;}
	.header__icon-bar .icon-right:before { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #2d4a2d; content: ""; top: -8px;margin: 0;}
	.header__icon-bar .icon-right:after { transition-duration: 0.5s; position: absolute; width: 12px; height: 3px; background-color: #2d4a2d; 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);}



}

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

@media (max-width: 998px) {

	#hero .width-wrap { padding-right: 20px; }
	.hero-text { width: 100%; padding: 40px 0 30px; }
	.hero-photo { width: 100%; height: auto; padding-bottom: 40px;}
	.hero-photo img { border-radius: 12px; }

	/* Riduzione padding sezioni e wrap per tablet */
	.width-wrap { padding: 0 20px; }
	.header .width-wrap { padding: 10px 30px; }
	section.section { padding: 70px 30px; }

	/* Griglie a 2 colonne per tablet */
	.trattamenti-grid { grid-template-columns: repeat(2, 1fr); }
	.sedi-grid { grid-template-columns: repeat(2, 1fr); }
	.cv-grid { grid-template-columns: 1fr; gap: 48px; }
	.ricerca-inner { grid-template-columns: 1fr; gap: 40px; }

}


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

@media (max-width: 782px) {

    
	span.hero-name { font-size: 2em; }

    h2{font-size: 2em;}

	/* ============================================================
	   HERO — qui la foto è intera (non ritagliata), quindi basta
	   farla scorrere in flusso normale sotto al testo: niente
	   position:absolute, i due blocchi vanno semplicemente
	   a capo grazie al flex-wrap già presente su .d-f
	============================================================ */
	.width-wrap { padding: 0 20px; }
	.header .width-wrap { padding: 10px 20px; }



	span.hero-name { font-size: 2.4em; }
	span.hero-name-italic { font-size: 1.25em; }
	p.hero-desc { max-width: 100%; padding-bottom: 30px; }
	.hero-btns { flex-wrap: wrap; }

	/* Trust bar — da riga a colonna */
	ul.trust-list { flex-direction: column; }
	.trust-item { padding: 24px; width: 100%; }
	.trust-item:after { display: none; }
	.trust-item:not(:last-child) { border-bottom: 1px solid rgba(45,74,45,.15); }
	strong.trust-num { font-size: 2.6em; }

	/* Amelia bar */
	.amelia-bar-inner { flex-direction: column; align-items: flex-start; gap: 24px; text-align: left; }

    aside.section-amelia-bar{padding: 40px 0;}

	/* Sezioni generiche */
	section.section { padding: 40px 20px; }
	header.section-header { padding: 24px 0; }

    h2.section-title { margin-bottom: 20px; }

    .tratt-card, .pat-card{padding: 20px;}

	/* Griglie a singola colonna */
	.patologie-grid,
	.trattamenti-grid,
	.sedi-grid { grid-template-columns: 1fr; }
	.cv-grid { grid-template-columns: 1fr; gap: 40px; }
	.ricerca-inner { grid-template-columns: 1fr; gap: 32px; }
	.ricerca-links { flex-direction: column; align-items: stretch; }

	/* Prenota */
	.prenota-section { padding: 40px 20px; }
	.prenota-title { font-size: 2em; }
	.prenota-steps { flex-direction: column; align-items: center; gap: 20px; }

	/* Footer */
    .footer-top{padding: 40px 0;}
	.footer-top>.width-wrap>ul { flex-direction: column; gap: 30px; }
	.footer-top>.width-wrap>ul>li { padding: 0; }

}



@media (max-width: 480px) {
    .logo a img{height: 40px;}
    .logo__top { font-size: 1em; }
    .logo__bottom { font-size: .5em; }

	.prenota-title { font-size: 1.6em; }

	.hero-btns { flex-direction: column; }
	.hero-btns .button { width: 100%; }

	.cta-btns { flex-direction: column; gap: 16px; }

}

/* ============================================================
   ACCORDION "PATOLOGIE" — pagina Il Percorso di Cura
   Classi reali usate da scripts.js: .path-item--accordion,
   .path-trigger, #patologie
============================================================ */

.path-intro-text { max-width: 760px; font-size: 1.125em; opacity: .85; margin-top: 4px; }
section.section-dark .path-intro-text { color: #fff; }

.path-list { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 18px; }

.path-item--accordion {
	background: #fff;
	border: 1px solid rgba(45,74,45,.15);
	border-radius: 14px;
	overflow: hidden;
	transition: border-color .25s ease, box-shadow .25s ease;
}
.path-item--accordion.is-open { border-color: rgba(45,74,45,.35); box-shadow: 0 8px 28px rgba(26,35,24,.08); }

.path-heading { margin: 0; }

.path-trigger {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 26px 32px;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	font-family: inherit;
	color: inherit;
}
.path-trigger:focus-visible { outline: 2px solid #2d4a2d; outline-offset: -2px; }

.path-num {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.5em;
	font-weight: 600;
	color: rgba(45,74,45,.32);
	flex-shrink: 0;
	width: 34px;
}
.path-item--accordion.is-open .path-num { color: #2d4a2d; }

.path-name {
	flex: 1;
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.5em;
	font-weight: 600;
	color: #2d4a2d;
	line-height: 1.25;
}

.path-icon { position: relative; width: 20px; height: 20px; flex-shrink: 0; }
.path-icon::before,
.path-icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	background: #2d4a2d;
	transform: translate(-50%,-50%);
	transition: transform .3s ease, opacity .3s ease;
}
.path-icon::before { width: 16px; height: 2px; }
.path-icon::after { width: 2px; height: 16px; }
.path-item--accordion.is-open .path-icon::after { transform: translate(-50%,-50%) rotate(90deg); opacity: 0; }

.path-panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .38s ease;
}
.path-panel.is-open { grid-template-rows: 1fr; }

.path-panel-inner { overflow: hidden; }

.path-panel-inner > .path-panel-content {
	padding: 0 32px 34px;
	border-top: 1px solid rgba(45,74,45,.1);
	padding-top: 26px;
}

.path-panel p { margin-bottom: 18px; font-size: 1em; }
.path-panel p:last-child { margin-bottom: 0; }

.path-subhead {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.3em;
	font-weight: 600;
	color: #2d4a2d;
	margin: 26px 0 12px;
}
.path-subhead:first-child { margin-top: 0; }

.path-panel ul.path-list-items {
	list-style: none;
	padding: 0;
	margin: 0 0 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.path-panel ul.path-list-items li {
	position: relative;
	padding-left: 22px;
	font-size: 1em;
	line-height: 1.5;
}
.path-panel ul.path-list-items li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #2d4a2d;
}

.path-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.path-cta .button { border-color: #2d4a2d; }
.path-cta .button-outline-green { color: #2d4a2d; }
.path-cta .button-outline-green:hover{color: #fff;}

.path-disclaimer {
	max-width: 900px;
	margin: 40px auto 0;
	font-size: .8125em;
	opacity: .6;
	text-align: center;
	line-height: 1.6;
}

@media (max-width: 782px) {
	.path-trigger { padding: 20px 20px; gap: 16px; }
	.path-panel-inner > .path-panel-content { padding: 0 20px 26px; padding-top: 20px; }
	.path-name { font-size: 1.25em; }
	.path-num { font-size: 1.25em; width: 26px; }
}


/* ============================================================
   SCHEDA SINGOLA PATOLOGIA — page-patologia.php
   Un'unica pagina per patologia, stesso template, contenuto
   inserito nell'editor WP (the_content)
============================================================ */

.path-single-intro .path-back { margin-bottom: 18px; }

.path-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .8125em;
	text-transform: uppercase;
	letter-spacing: .08em;
	text-decoration: none;
	color: inherit;
	opacity: .75;
	transition: opacity .2s ease;
}
.path-back:hover { opacity: 1; text-decoration: underline; }
.path-back--bottom { display: block; margin-top: 40px; color: #2d4a2d; opacity: .85; }

.path-single-inner { max-width: 820px; }

.path-single-content h2,
.path-single-content h3 {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	color: #2d4a2d;
	font-size: 1.4em;
	margin: 30px 0 14px;
}
.path-single-content > *:first-child { margin-top: 0; }
.path-single-content p { margin-bottom: 18px; }
.path-single-content ul {
	list-style: none;
	padding: 0;
	margin: 0 0 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.path-single-content ul li { position: relative; padding-left: 22px; line-height: 1.5; }
.path-single-content ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #2d4a2d;
}

.path-single .path-cta { margin-top: 30px; }

@media (max-width: 782px) {
	.path-single-inner { max-width: 100%; }
}