/* Isolamento del layout interno dalle regole generiche del tema. */
.inner-page main{display:block;width:100%;min-width:0;float:none;position:relative}
.inner-page main section,.inner-page main article,.inner-page main aside{box-sizing:border-box;min-width:0;float:none}
.inner-page h1,.inner-page h2,.inner-page h3{margin-top:0;word-break:normal;overflow-wrap:normal}
.inner-page p{font-family:'Onest Local',sans-serif;font-size:17px;line-height:1.7;letter-spacing:normal;word-break:normal}
.about-page .about-story,.about-page .about-listening{width:100%;max-width:1280px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px;padding:50px 40px;margin:0 auto}
.about-page .about-story>div,.about-page .about-listening>div{min-width:0;width:100%}
.about-page .about-portraits{min-width:0;position:relative;padding:0 45px 45px 0}
.about-page .about-portraits img{display:block;max-width:100%;object-fit:cover;object-position:50% 30%;transform:none}
.about-page .about-portraits img:first-child{position:relative;width:100%;height:auto;aspect-ratio:4/5;border-radius:150px 150px 0 0}
.about-page .about-portraits img:last-child{position:absolute;right:0;bottom:0;width:36%;height:auto;aspect-ratio:3/4;border:9px solid #fff;border-radius:80px 80px 0 0}
.about-page .about-listening>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;max-width:100%}
.about-page .about-opening h1{font-size:clamp(38px,4.2vw,60px);line-height:1.16;max-width:900px}
.about-page h2{font-size:clamp(30px,3vw,40px);line-height:1.22;letter-spacing:-.6px}
.about-page h3{font-size:27px;line-height:1.3}
.about-page .about-experience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.about-page .about-offer>div{grid-template-columns:repeat(2,minmax(0,1fr))}
.about-page .about-offer a{display:block;min-width:0}
.inner-page .inner-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.inner-page .inner-hero-plain{display:block}
.inner-page .footer-columns{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.4fr) minmax(0,.7fr)}
@media(max-width:900px){.about-page .about-story,.about-page .about-listening{gap:30px;padding:35px 25px}.about-page .about-experience-grid{gap:25px}.about-page .about-opening{padding:40px 25px}}
@media(max-width:767px){.about-page .about-story,.about-page .about-listening,.inner-page .inner-hero{grid-template-columns:minmax(0,1fr);padding:30px 20px;gap:30px}.about-page .about-portraits{max-width:460px;margin:auto}.about-page .about-experience-grid,.about-page .about-offer>div{grid-template-columns:minmax(0,1fr)}.about-page .about-opening h1{font-size:38px}.inner-page .footer-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.inner-page .studio-welcome{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:55px;max-width:1200px;margin:25px auto 40px;padding:40px;background:#E9E0C0;border-radius:0 70px 0 0}.studio-welcome>img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}.studio-welcome h2{font:500 36px/1.2 'Mustard Local',serif;color:#164984;margin:0 0 20px;letter-spacing:-.6px}.studio-welcome .eyebrow{margin-bottom:18px}.studio-welcome p{max-width:550px;margin-bottom:22px}.studio-address{display:flex;flex-direction:column;gap:4px;font-size:15px;border-top:1px solid #16498430;padding-top:20px;margin-bottom:25px}.studio-address strong{color:#164984}.studio-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
@media(max-width:767px){.inner-page .studio-welcome{grid-template-columns:1fr;gap:25px;margin:20px;padding:25px;border-radius:0 45px 0 0}.studio-welcome>img{max-height:300px;aspect-ratio:4/3}.studio-welcome h2{font-size:30px}.studio-actions{gap:20px}}
/* Footer: testi neri e icone social blu. */
.healthify-footer,.healthify-footer p,.healthify-footer a,.healthify-footer h6,.healthify-footer small,.healthify-footer .pending-detail,.healthify-footer .footer-bottom,.healthify-footer .footer-bottom span{color:#000!important}
.healthify-footer .social-icons>span{color:#164984!important;border-color:#164984!important;background:transparent}
.healthify-footer .social-icons svg{color:#164984!important}
.healthify-footer .footer-bottom>span{white-space:nowrap}
.healthify-footer .footer-bottom{flex-wrap:wrap}
@media(max-width:767px){.healthify-footer .footer-bottom>span{white-space:normal}}
.healthify-footer .site-credit{display:inline;white-space:nowrap}

/* Match the light nutrition section without the original dark photo overlay. */
.healthify-home .elementor-41954 .elementor-element.elementor-element-a481e32{background:#E9E0C0!important;--overlay-opacity:0}
.healthify-home .elementor-41954 .elementor-element.elementor-element-a481e32::before{background:none!important;opacity:0!important}
.healthify-home .elementor-element-a481e32 .elementor-heading-title{color:#164984!important}

/* Light panel beside the consultation photo. */
.healthify-home .elementor-41954 .elementor-element.elementor-element-7351866>.elementor-widget-container{background:#E9E0C0!important}
.healthify-home .elementor-41954 .elementor-element-7351866 .elementor-icon-box-title,.healthify-home .elementor-41954 .elementor-element-7351866 .elementor-icon-box-title span,.healthify-home .elementor-41954 .elementor-element-7351866 .elementor-icon-box-description{color:#164984!important}

/* Appointment reference: white booking panel and full-height portrait. */
.appointment-page{background:#f8f7f1}
.appointment-page .appointment-main{padding:70px 30px 100px}
.appointment-page .appointment-panel{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);max-width:1440px;margin:0 auto;background:#fff;align-items:stretch}
.appointment-copy{padding:65px clamp(30px,5vw,90px)}
.appointment-page .appointment-copy h1{font:500 clamp(36px,3.6vw,54px)/1.12 'Mustard Local',serif;color:#164984;letter-spacing:-1px;text-align:center;margin:0 0 23px}
.appointment-page .appointment-intro{text-align:center;margin:0 0 40px;color:#454545}
.appointment-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-bottom:30px}
.appointment-fields label,.appointment-label,.appointment-professional>span:first-child{display:block;font-size:13px!important;letter-spacing:1.5px;font-weight:600;color:#164984;margin:0 0 10px}
.appointment-fields [data-slot=select-trigger]{width:100%;height:auto;min-height:56px;padding:14px 16px;border:1px solid #ccc;border-radius:3px;font:400 15px/1.4 'Onest Local',sans-serif;background:#fff;color:#164984;white-space:normal}
.appointment-fields [data-slot=select-value]{display:block;white-space:normal}
.appointment-page .appointment-details{padding:23px 0;border-top:1px solid #deded8;border-bottom:1px solid #deded8;margin-bottom:24px}
.appointment-page .appointment-details h2{font:500 27px/1.2 'Mustard Local',serif;color:#164984;margin:0 0 12px}
.appointment-page .appointment-details p:not(.appointment-label){font-size:16px;margin:0 0 15px;color:#454545}
.appointment-professional{display:flex;flex-direction:column;gap:3px;margin-bottom:28px;font-size:15px}
.appointment-professional>span:first-child{margin-bottom:3px}.appointment-professional strong{font-size:17px;font-weight:500}
.appointment-page .appointment-book{display:flex;justify-content:center;align-items:center;width:100%;min-height:58px;padding:18px 20px;background:#97C640;color:#164984;border-radius:0 42px 0 42px;text-align:center;font-size:14px;letter-spacing:1px}
.appointment-page .appointment-note{font-size:14px;color:#5c5c5c;line-height:1.6;text-align:center;margin:17px 0 0}
.appointment-photo{min-height:720px;overflow:hidden}.appointment-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.appointment-page .social-strip{margin:0;padding:0}
@media(max-width:900px){.appointment-page .appointment-main{padding:35px 20px 60px}.appointment-copy{padding:40px 30px}.appointment-fields{grid-template-columns:1fr}.appointment-photo{min-height:650px}}
@media(max-width:650px){.appointment-page .appointment-panel{grid-template-columns:1fr}.appointment-page .appointment-main{padding:25px 15px 45px}.appointment-copy{padding:35px 22px}.appointment-photo{min-height:0;height:440px}.appointment-photo img{object-position:50% 25%}.appointment-page .appointment-copy h1{font-size:38px}}

/* Match the reference appointment composition and compact form rhythm. */
.appointment-page .appointment-main{padding:90px 30px 100px}
.appointment-page .appointment-panel{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}
.appointment-page .appointment-copy{padding:72px clamp(35px,6.25vw,100px) 60px}
.appointment-page .appointment-copy h1{font-size:clamp(32px,3.2vw,48px);line-height:1.2;white-space:normal;margin-bottom:23px}
.appointment-page .appointment-intro{margin-bottom:45px;font-size:17px}
.appointment-page .appointment-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 12px;margin-bottom:20px}
.appointment-fields input,.appointment-field-link{display:flex;align-items:center;width:100%;min-width:0;height:55px;padding:14px 18px;border:1px solid #d5d5d5;border-radius:3px;background:#fff;color:#4f4d4d;font:400 15px/1.4 'Onest Local',sans-serif;box-shadow:0 1px 1px #00000008}
.appointment-page .appointment-fields [data-slot=select-trigger]{min-height:55px;color:#4f4d4d;border-color:#d5d5d5;font-size:15px}
.appointment-page .appointment-fields label{font-size:12px!important;letter-spacing:1.7px;color:#303530;font-weight:500}
.appointment-page .appointment-book{height:58px;min-height:58px;font-size:12px;letter-spacing:1.7px;font-weight:600;color:#fff;border-radius:0 40px 0 40px}
.appointment-page .appointment-note{font-size:13px;margin-top:16px;line-height:1.5}
.appointment-page .appointment-photo{min-height:0;position:relative}
.appointment-page .appointment-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
@media(max-width:1000px){.appointment-page .appointment-copy{padding:50px 30px}.appointment-page .appointment-main{padding:55px 20px 65px}.appointment-page .appointment-fields{grid-template-columns:1fr 1fr}.appointment-page .appointment-copy h1{font-size:34px}}
@media(max-width:650px){.appointment-page .appointment-panel{grid-template-columns:1fr}.appointment-page .appointment-main{padding:30px 15px 45px}.appointment-page .appointment-copy{padding:40px 22px}.appointment-page .appointment-fields{grid-template-columns:1fr}.appointment-page .appointment-photo{height:440px}.appointment-page .appointment-copy h1{font-size:34px}.appointment-page .appointment-intro{margin-bottom:30px}}
