/* Elementi uniformati allo stile Atelier: prenotazione, rate, pulsanti prodotto, footer, mappa, 404. */
body.ac-atelier {
 --uni-ink:var(--atelier-ink,#342e29); --uni-muted:var(--atelier-muted,#665d54); --uni-accent:var(--atelier-accent,#715545);
 --uni-line:var(--atelier-line,#ded3c4); --uni-card:var(--atelier-card,#f2ebe1); --uni-light:var(--atelier-light,#fffdf9);
 --uni-dark:#2f2925; --uni-dark-text:#d9cfc2; --uni-ease:cubic-bezier(.2,.8,.2,1);
}

/* ---------- Prenotazione online ---------- */
/* Le variabili del modulo arrivano in linea dal plugin: con !important prendono i colori del sito. */
body.ac-booking-page .altacl-v2-booking .am-fs__wrapper {
 --am-c-primary:#715545!important; --am-c-main-bgr:#fffdf9!important; --am-c-main-heading-text:#342e29!important; --am-c-main-text:#342e29!important;
 --am-c-sb-bgr:#f2ebe1!important; --am-c-sb-text:#342e29!important;
 --am-c-inp-bgr:#ffffff!important; --am-c-inp-border:#ded3c4!important; --am-c-inp-text:#342e29!important; --am-c-inp-placeholder:#8a7f74!important;
 --am-c-drop-bgr:#fffdf9!important; --am-c-drop-text:#342e29!important;
 --am-c-btn-prim:#715545!important; --am-c-btn-prim-text:#ffffff!important; --am-c-btn-sec:#342e29!important; --am-c-btn-sec-text:#ffffff!important;
 --am-c-error:#a24b3f!important; --am-c-checkbox-border-focused:#715545!important;
 --am-font-family:'Open Sans',Arial,sans-serif!important; --am-rad-inp:14px!important; --am-brad-main:0 24px 24px 0!important;
 border-radius:24px; box-shadow:0 22px 50px rgb(90 62 36 / 12%);
}
body.ac-booking-page .altacl-v2-booking .am-fs-sb { border-radius:24px 0 0 24px; }
/* Giorni del calendario: disponibili nel marrone del tema, non disponibili in un neutro caldo. */
body.ac-booking-page .altacl-v2-booking .am-advsc__wrapper {
 --am-c-cal-init:#715545!important; --am-c-cal-low:#715545!important; --am-c-cal-high:#715545!important;
 --am-c-cal-init-text:#5c4437!important; --am-c-cal-low-text:#5c4437!important; --am-c-cal-high-text:#5c4437!important;
 --am-c-cal-init-op10:rgba(113,85,69,.08)!important; --am-c-cal-low-op10:rgba(113,85,69,.08)!important; --am-c-cal-high-op10:rgba(113,85,69,.08)!important;
 --am-c-cal-init-op20:rgba(113,85,69,.16)!important; --am-c-cal-low-op20:rgba(113,85,69,.16)!important; --am-c-cal-high-op20:rgba(113,85,69,.16)!important;
 --am-c-cal-init-op30:rgba(113,85,69,.24)!important; --am-c-cal-low-op30:rgba(113,85,69,.24)!important; --am-c-cal-high-op30:rgba(113,85,69,.24)!important;
 --am-c-cal-init-op60:rgba(113,85,69,.45)!important; --am-c-cal-low-op60:rgba(113,85,69,.45)!important; --am-c-cal-high-op60:rgba(113,85,69,.45)!important;
 --am-c-cal-low-op80:rgba(113,85,69,.8)!important; --am-c-cal-high-op80:rgba(113,85,69,.8)!important;
 --am-c-cal-selected:#715545!important; --am-c-cal-selected-op80:rgba(113,85,69,.85)!important; --am-c-cal-selected-text:#ffffff!important;
 --am-c-cal-disabled:rgba(52,46,41,.03)!important; --am-c-cal-disabled-op10:rgba(52,46,41,.045)!important; --am-c-cal-disabled-op60:rgba(52,46,41,.2)!important; --am-c-cal-disabled-text:#b3a99d!important;
}
body.ac-booking-page .altacl-v2-booking .fc-daygrid-day-frame { border-radius:12px!important; }

body.ac-booking-page .altacl-v2-booking .am-fs-sb__step { border-radius:14px; }
body.ac-booking-page .altacl-v2-booking .am-fs__main-heading-inner-title { font:400 22px/1.3 Georgia,'Times New Roman',serif!important; color:#342e29!important; letter-spacing:-.01em; }
body.ac-booking-page .altacl-v2-booking .am-button { border-radius:50px!important; }
body.ac-booking-page .altacl-v2-booking .am-button-group .am-button { border-radius:0!important; }
body.ac-booking-page .altacl-v2-booking .am-button-group .am-button:first-child { border-radius:50px 0 0 50px!important; }
body.ac-booking-page .altacl-v2-booking .am-button-group .am-button:last-child { border-radius:0 50px 50px 0!important; }
body.ac-booking-page .altacl-v2-booking .am-fs__main-footer .am-button { min-height:46px; padding-inline:26px!important; font-weight:600; }
body.ac-booking-page .altacl-v2-booking .fc-daygrid-day-number { font-family:'Open Sans',Arial,sans-serif!important; }
@media (max-width:760px) {
 body.ac-booking-page .altacl-v2-booking .am-fs__wrapper { --am-brad-main:24px!important; }
}

/* La pagina: testata più compatta, il calendario prima delle spiegazioni sulla cauzione. */
@media (min-width:761px) { body.ac-booking-page #Content .ac-visual-hero { min-height:330px; } }
body.ac-booking-page #Content .titolo-trattamento :is(.vc_column_container,.vc_column-inner) { background:transparent!important; padding:0!important; border:0!important; box-shadow:none!important; }
body.ac-booking-page #Content .titolo-trattamento h2 { text-align:left!important; margin:8px 0 4px!important; }
body.ac-booking-page #Content .margine-sotto .wpb_text_column p { text-align:left!important; }
body.ac-booking-page #Content .wpb_wrapper:has(>.wpb_text_column .altacl-v2-booking) { display:flex; flex-direction:column; gap:28px; }
body.ac-booking-page #Content .vc_column-inner:has(.altacl-v2-booking) { padding-top:clamp(20px,3vw,36px)!important; }
body.ac-booking-page #Content .wpb_wrapper:has(>.wpb_text_column .altacl-v2-booking)>.wpb_text_column:has(.altacl-v2-booking) { order:-1; margin:0!important; }
body.ac-booking-page #Content .wpb_wrapper:has(>.wpb_text_column .altacl-v2-booking)>.wpb_text_column:not(:has(.altacl-v2-booking)) { margin:0!important; padding:22px 26px; border-radius:20px; background:var(--uni-light); }
body.ac-booking-page #Content .wpb_wrapper:has(>.wpb_text_column .altacl-v2-booking)>.wpb_text_column:not(:has(.altacl-v2-booking)) p { text-align:left!important; font-size:15px; line-height:1.65; color:var(--uni-muted); }
@media (min-width:1001px) {
 body.ac-booking-page #Content .wpb_wrapper:has(>.wpb_text_column .altacl-v2-booking)>.wpb_text_column:not(:has(.altacl-v2-booking)) .wpb_wrapper { column-count:2; column-gap:40px; }
 body.ac-booking-page #Content .wpb_wrapper:has(>.wpb_text_column .altacl-v2-booking)>.wpb_text_column:not(:has(.altacl-v2-booking)) p { break-inside:avoid; }
}

/* ---------- Rate (SmallPay) ---------- */
/* Etichetta nelle schede prodotto: pillola chiara in basso a sinistra dell'immagine. */
body.ac-atelier .smallpay-custom-badge {
 display:inline-flex!important; align-items:center; gap:7px; width:auto!important; max-width:100%!important; margin:0!important;
 padding:6px 12px 6px 10px!important; border:0!important; border-radius:50px!important; background:rgb(255 253 249 / 94%)!important; color:#342e29!important;
 font:600 12px/1.25 'Open Sans',Arial,sans-serif!important; letter-spacing:.01em; text-transform:none!important; box-shadow:0 6px 18px rgb(52 46 41 / 14%);
}
body.ac-atelier .smallpay-custom-badge::before { content:""; flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:#715545; }
body.ac-atelier #Content .ac-catalog-card__visual .smallpay-custom-field-wrapper { inset:auto auto 14px 14px!important; width:auto; }
/* Riquadro nella pagina prodotto: carta chiara, nessuna tabella grigia. */
body.ac-atelier #Content .smallpay-custom-field-wrapper:has(table) { max-width:none!important; margin:0 0 24px!important; padding:16px 20px!important; border:1px solid var(--uni-line)!important; border-radius:18px; background:var(--uni-light)!important; }
body.ac-atelier #Content .smallpay-custom-field-wrapper:has(table) :is(table,tbody,tr,td) { margin:0!important; border:0!important; background:transparent!important; }
body.ac-atelier #Content .smallpay-custom-field-wrapper.smallpay-custom-field-wrapper:has(table) td h5 { margin:0 0 4px!important; padding:0!important; font:600 11px/1.3 'Open Sans',Arial,sans-serif!important; letter-spacing:.12em!important; text-transform:uppercase; color:var(--uni-muted)!important; }
body.ac-atelier #Content .smallpay-custom-field-wrapper.smallpay-custom-field-wrapper:has(table) td h6 { margin:0!important; padding:0!important; font:400 15px/1.5 'Open Sans',Arial,sans-serif!important; letter-spacing:normal!important; color:var(--uni-ink)!important; }
body.ac-atelier #Content .smallpay-custom-field-wrapper:has(table) img { max-height:26px!important; opacity:.85; }

/* ---------- Pulsanti nella pagina prodotto ---------- */
body.ac-atelier #Content form.cart :is(button.single_add_to_cart_button,button.button.alt) {
 min-height:52px; padding:0 30px!important; border:1px solid var(--uni-accent)!important; border-radius:50px!important; background:var(--uni-accent)!important; color:#fff!important;
 font-size:15px!important; font-weight:600!important; line-height:1.2!important; box-shadow:0 12px 26px rgb(113 85 69 / 22%); transition:transform .3s var(--uni-ease), box-shadow .3s var(--uni-ease), background-color .25s;
}
@media (hover:hover) and (pointer:fine) {
 body.ac-atelier #Content form.cart :is(button.single_add_to_cart_button,button.button.alt):hover { background:#5c4437!important; transform:translateY(-2px); box-shadow:0 18px 34px rgb(113 85 69 / 30%); }
}
body.ac-atelier #Content form.cart .quantity input.qty { min-height:52px; width:84px; border:1px solid var(--uni-line)!important; border-radius:50px!important; background:var(--uni-light)!important; color:var(--uni-ink); text-align:center; }

/* ---------- Footer (footer.php) ----------
   Logo vettoriale con il suo riflesso dorato, recapiti, i due menu dei trattamenti e la fascia finale centrata.
   Computer: tre colonne. Tablet: logo e recapiti al centro, sotto i due menu affiancati. Telefono: tutto al centro,
   i menu si aprono toccando il titolo. Entrata e riflesso con js/site-uniform.js; con "riduci movimento" tutto è fermo. */
body.ac-atelier #Footer { --ft-text:var(--uni-dark-text); --ft-light:#fbf8f3; --ft-muted:#a99d90; --ft-sand:#b9ab9a; --ft-gold:#d8b878; --ft-line:rgb(255 255 255 / 12%); --ft-ring:rgb(255 255 255 / 24%); --ft-urgent:#e2733f; --ft-urgent-hover:#c95f2e; background:var(--uni-dark)!important; color:var(--ft-text); }
body.ac-atelier #Footer a { color:var(--ft-text); text-decoration:none; }
body.ac-atelier #Footer :is(.ac-footer-main,.ac-footer-bottom) :is(ul,li) { margin:0; padding:0; border:0; list-style:none; }
body.ac-atelier #Footer :is(.ac-footer-main,.ac-footer-bottom) li::before { display:none; }
body.ac-atelier #Footer .ac-footer-main { position:relative; overflow:hidden; padding:clamp(56px,6vw,88px) 0 clamp(44px,5vw,68px); }
/* Un alone caldo dietro al logo, appena percettibile. */
body.ac-atelier #Footer .ac-footer-main::before { content:""; position:absolute; top:-260px; left:max(-160px, calc(50% - 760px)); width:760px; aspect-ratio:1; border-radius:50%; background:radial-gradient(closest-side, rgb(216 184 120 / 10%), transparent); pointer-events:none; }
body.ac-atelier #Footer .ac-footer-main__inner { position:relative; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr); gap:48px clamp(32px,5vw,72px); width:min(1200px, calc(100% - 48px)); margin:0 auto; }

/* Marchio e recapiti. */
body.ac-atelier #Footer .ac-footer-brand { display:flex; flex-direction:column; align-items:flex-start; gap:24px; min-width:0; }
body.ac-atelier #Footer a.ac-footer-logo { display:block; width:min(290px,100%); color:var(--ft-light); }
#Footer .ac-footer-logo .ac-logo { display:block; width:100%; height:auto; overflow:visible; }
#Footer .ac-footer-logo .ac-logo__rule { fill:var(--ft-gold); }
#Footer .ac-footer-logo .ac-logo__tag { fill:var(--ft-sand); }
/* Sul fondo scuro il riflesso è oro pieno: passa sulle lettere chiare e le accende. */
#Footer .ac-footer-logo .ac-logo stop { stop-color:#c9a25c; }
#Footer .ac-footer-logo .ac-logo stop:nth-child(2) { stop-color:#ecd29a; stop-opacity:1; }
body.ac-atelier #Footer .ac-footer-contacts { display:flex; flex-direction:column; align-items:inherit; gap:3px; margin:0; font-style:normal; font-size:14px; line-height:1.7; color:var(--ft-text); }
body.ac-atelier #Footer .ac-footer-contacts a { width:fit-content; }
body.ac-atelier #Footer .ac-footer-contacts__place { margin-bottom:6px; }
body.ac-atelier #Footer .ac-footer-social { display:flex; flex-wrap:wrap; gap:10px; }
body.ac-atelier #Footer .ac-footer-social a { display:grid; place-items:center; width:44px; height:44px; box-sizing:border-box; border:1px solid var(--ft-ring); border-radius:50%; color:var(--ft-light); transition:background-color .3s, border-color .3s, color .3s, transform .4s var(--uni-ease); }
body.ac-atelier #Footer .ac-footer-social svg { width:19px; height:19px; }
body.ac-atelier #Footer .ac-footer-links { display:flex; flex-direction:column; align-items:inherit; gap:10px; margin:0!important; font-size:14px; line-height:1.4; }

/* Pulsanti del footer: la stessa pillola del sito con i colori rovesciati (come "Chiama" nella chiusura), freccia nel
   pallino che al passaggio si riempie e la freccia scappa e rientra (data-ac-dir). Urgenze: pallino arancione pieno,
   sempre visibile. Privacy e Cookie: la pillola compatta dell'header, perché stanno sotto il copyright. */
body.ac-atelier #Footer a.ac-footer-pill { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; padding:7px 7px 7px 24px; box-sizing:border-box; border:1px solid rgb(255 255 255 / 32%); border-radius:50px; color:var(--ft-light); font:600 15px/1.25 'Open Sans',Arial,sans-serif; letter-spacing:normal; text-decoration:none; transition:transform .35s var(--uni-ease), border-color .25s ease, background-color .25s ease; }
body.ac-atelier #Footer a.ac-footer-pill--small { gap:14px; min-height:46px; padding:5px 6px 5px 20px; font-size:14px; }
body.ac-atelier #Footer :is(a.ac-footer-pill,a.ac-footer-textlink,.ac-footer-menu__more)>.ac-inline-arrow { display:inline-flex; align-items:center; justify-content:center; flex:none; box-sizing:border-box; width:36px; height:36px; border-radius:50%; font-size:17px; font-weight:400; line-height:1; transition:background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease; }
body.ac-atelier #Footer a.ac-footer-pill--small>.ac-inline-arrow { width:34px; height:34px; font-size:16px; }
body.ac-atelier #Footer a.ac-footer-pill--urgent>.ac-inline-arrow { background:var(--ft-urgent); color:#fff; }
body.ac-atelier #Footer :is(a.ac-footer-textlink,.ac-footer-menu__more)>.ac-inline-arrow { width:30px; height:30px; border:1px solid var(--ft-ring); font-size:15px; }
body.ac-atelier #Footer a.ac-footer-textlink { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--ft-text); text-decoration:none; }
body.ac-atelier #Footer :is(a.ac-footer-pill,a.ac-footer-textlink,.ac-footer-menu__more):focus-visible { outline:2px solid var(--ft-light); outline-offset:3px; border-radius:50px; }
body.ac-atelier #Footer a.ac-footer-pill:active { transform:scale(.98); transition-duration:.1s; }

/* Menu dei trattamenti: la prima voce del menu è il titolo della colonna. */
body.ac-atelier #Footer .ac-footer-menu { min-width:0; }
body.ac-atelier #Footer h2.ac-footer-menu__head { margin:0 0 16px; padding:0; font:400 22px/1.25 Georgia,'Times New Roman',serif; letter-spacing:-.01em; color:var(--ft-light); }
body.ac-atelier #Footer .ac-footer-menu__title { color:var(--ft-light); }
body.ac-atelier #Footer .ac-footer-menu__toggle, body.ac-atelier #Footer .ac-footer-menu__all { display:none; }
body.ac-atelier #Footer .ac-footer-menu li a { display:inline-block; padding:5px 0; font-size:14px; line-height:1.5; letter-spacing:normal; color:var(--ft-text); background:linear-gradient(var(--ft-gold), var(--ft-gold)) 0 calc(100% - 3px) / 0 1px no-repeat; transition:color .3s, background-size .45s var(--uni-ease); }
body.ac-atelier #Footer .ac-footer-menu a[aria-current] { color:var(--ft-light); background-size:100% 1px; }
body.ac-atelier #Footer .ac-footer-menu__more { display:none; }
body.ac-atelier #Footer.ac-footer--js .ac-footer-menu__more { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin:8px 0 0; padding:0!important; border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important; color:var(--ft-light)!important; font:600 14px/1.3 'Open Sans',Arial,sans-serif!important; letter-spacing:normal; text-transform:none; cursor:pointer; -webkit-tap-highlight-color:transparent; }
body.ac-atelier #Footer.ac-footer--js .ac-footer-menu__extra { display:grid; grid-template-rows:0fr; transition:grid-template-rows .6s var(--uni-ease); }
body.ac-atelier #Footer.ac-footer--js .ac-footer-menu__extra>ul { min-height:0; overflow:hidden; visibility:hidden; opacity:0; transition:visibility 0s .6s, opacity .4s ease; }
body.ac-atelier #Footer.ac-footer--js .ac-footer-menu.is-more .ac-footer-menu__extra { grid-template-rows:1fr; }
body.ac-atelier #Footer.ac-footer--js .ac-footer-menu.is-more .ac-footer-menu__extra>ul { visibility:visible; opacity:1; transition:visibility 0s, opacity .6s ease .1s; }

/* Fascia finale: direttrice sanitaria, copyright, immagini, note legali. */
body.ac-atelier #Footer .ac-footer-bottom { position:relative; padding:34px 0 38px; text-align:center; }
body.ac-atelier #Footer .ac-footer-bottom::before { content:""; position:absolute; top:0; left:50%; width:min(1200px, calc(100% - 48px)); height:1px; translate:-50% 0; background:linear-gradient(90deg, transparent, rgb(216 184 120 / 55%) 50%, transparent); }
body.ac-atelier #Footer .ac-footer-bottom__inner { display:flex; flex-direction:column; align-items:center; gap:4px; width:min(1200px, calc(100% - 48px)); margin:0 auto; }
body.ac-atelier #Footer .ac-footer-bottom p { margin:0!important; padding:0; }
body.ac-atelier #Footer .ac-footer-director { display:flex; flex-direction:column; align-items:center; gap:3px; margin-bottom:14px!important; }
body.ac-atelier #Footer .ac-footer-director__name { font-size:14px; line-height:1.5; color:var(--ft-text); }
body.ac-atelier #Footer .ac-footer-director__name strong { font:400 16px/1.3 Georgia,'Times New Roman',serif; letter-spacing:-.005em; color:var(--ft-light); }
body.ac-atelier #Footer :is(.ac-footer-copy,.ac-footer-images) { font-size:13px; line-height:1.7; color:var(--ft-muted); }
body.ac-atelier #Footer .ac-footer-copy a { color:#cfc4b6; }
body.ac-atelier #Footer .ac-footer-copy #logo_industryweb { font-size:21px; color:#e6dccf; }
body.ac-atelier #Footer .ac-footer-legal { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:20px 0 0; padding:0; }
body.ac-atelier #Footer :is(.ac-footer-main,.ac-footer-bottom) a:focus-visible { outline:2px solid var(--ft-light); outline-offset:3px; border-radius:4px; }
body.ac-atelier #Footer .ac-footer-social a:focus-visible { border-radius:50px; }

@media (hover:hover) and (pointer:fine) {
 body.ac-atelier #Footer .ac-footer-contacts a:hover, body.ac-atelier #Footer .ac-footer-copy a:hover, body.ac-atelier #Footer .ac-footer-menu__title:hover, body.ac-atelier #Footer :is(a.ac-footer-pill,a.ac-footer-textlink,.ac-footer-menu__more):hover>.ac-inline-label { color:#fff; text-decoration:underline; text-decoration-thickness:.5px; text-underline-offset:4px; }
 body.ac-atelier #Footer .ac-footer-menu li a:hover { color:#fff; background-size:100% 1px; }
 body.ac-atelier #Footer .ac-footer-social a:hover { background:var(--ft-light); border-color:var(--ft-light); color:var(--uni-dark); transform:translateY(-3px); }
 body.ac-atelier #Footer a.ac-footer-pill:hover { border-color:var(--ft-light); transform:translateY(-2px); }
 body.ac-atelier #Footer :is(a.ac-footer-pill:not(.ac-footer-pill--urgent),a.ac-footer-textlink,.ac-footer-menu__more):hover>.ac-inline-arrow { border-color:var(--ft-light); background:var(--ft-light); color:var(--uni-dark); }
 body.ac-atelier #Footer a.ac-footer-pill--urgent:hover>.ac-inline-arrow { background:var(--ft-urgent-hover); }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 #Footer .ac-footer-logo:is(:hover,:focus-visible) .ac-logo .ac-logo__glint { animation:ac-logo-glint 1.3s cubic-bezier(.45,.05,.3,1) both; }
}

/* Tablet: logo e recapiti al centro, poi i due menu in due colonne. */
@media (min-width:761px) and (max-width:1000px) {
 body.ac-atelier #Footer .ac-footer-main__inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 40px; text-align:center; }
 body.ac-atelier #Footer .ac-footer-brand { grid-column:1 / -1; align-items:center; padding-bottom:44px; border-bottom:1px solid var(--ft-line); }
 body.ac-atelier #Footer .ac-footer-social { justify-content:center; }
 body.ac-atelier #Footer .ac-footer-menu li a { padding:6px 0; }
}
/* Telefono: tutto al centro; i menu si aprono con il titolo (senza JavaScript restano aperti). */
@media (max-width:760px) {
 body.ac-atelier #Footer .ac-footer-main { padding:52px 0 8px; }
 body.ac-atelier #Footer .ac-footer-main::before { top:-200px; left:50%; width:560px; translate:-50% 0; }
 body.ac-atelier #Footer .ac-footer-main__inner { grid-template-columns:minmax(0,1fr); gap:0; width:calc(100% - 40px); text-align:center; }
 body.ac-atelier #Footer .ac-footer-brand { align-items:center; gap:22px; padding-bottom:40px; }
 body.ac-atelier #Footer a.ac-footer-logo { width:min(250px,72vw); }
 body.ac-atelier #Footer .ac-footer-social { justify-content:center; }
 body.ac-atelier #Footer .ac-footer-links { gap:12px; }
 body.ac-atelier #Footer .ac-footer-menu { border-top:1px solid var(--ft-line); }
 body.ac-atelier #Footer .ac-footer-menu:last-child { border-bottom:1px solid var(--ft-line); }
 body.ac-atelier #Footer h2.ac-footer-menu__head { margin:22px 0 10px; font-size:21px; }
 body.ac-atelier #Footer .ac-footer-menu__body::after { content:""; display:block; height:22px; }
 body.ac-atelier #Footer .ac-footer-menu__more { margin-top:4px; }
 body.ac-atelier #Footer .ac-footer-menu li a { padding:7px 0; font-size:15px; }
 body.ac-atelier #Footer.ac-footer--js h2.ac-footer-menu__head { margin:0; }
 body.ac-atelier #Footer.ac-footer--js .ac-footer-menu__title { display:none; }
 body.ac-atelier #Footer.ac-footer--js .ac-footer-menu__toggle { position:relative; display:flex; align-items:center; justify-content:center; gap:14px; width:100%; min-height:68px; margin:0; padding:0 8px; border:0!important; border-radius:0; background:none!important; box-shadow:none; color:var(--ft-light)!important; font:inherit; letter-spacing:inherit; text-transform:none; cursor:pointer; -webkit-tap-highlight-color:transparent; }
 body.ac-atelier #Footer.ac-footer--js .ac-footer-menu__toggle:focus-visible { outline:2px solid var(--ft-light); outline-offset:-4px; border-radius:12px; }
 body.ac-atelier #Footer .ac-footer-menu__plus { position:relative; flex:none; width:30px; height:30px; box-sizing:border-box; border:1px solid var(--ft-ring); border-radius:50%; transition:background-color .35s, border-color .35s, rotate .5s var(--uni-ease); }
 body.ac-atelier #Footer .ac-footer-menu__plus::before, body.ac-atelier #Footer .ac-footer-menu__plus::after { content:""; position:absolute; top:50%; left:50%; width:11px; height:1.5px; margin:-.75px 0 0 -5.5px; border-radius:2px; background:currentColor; transition:rotate .5s var(--uni-ease), background-color .35s; }
 body.ac-atelier #Footer .ac-footer-menu__plus::after { rotate:90deg; }
 body.ac-atelier #Footer .ac-footer-menu.is-open .ac-footer-menu__plus { rotate:180deg; border-color:var(--ft-light); background:var(--ft-light); color:var(--uni-dark); }
 body.ac-atelier #Footer .ac-footer-menu.is-open .ac-footer-menu__plus::after { rotate:0deg; }
 body.ac-atelier #Footer.ac-footer--js .ac-footer-menu__all { display:block; }
 body.ac-atelier #Footer.ac-footer--js .ac-footer-menu__all a { color:var(--ft-light); font-weight:600; }
 body.ac-atelier #Footer.ac-footer--js .ac-footer-menu__panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows .55s var(--uni-ease); }
 body.ac-atelier #Footer.ac-footer--js .ac-footer-menu__panel>.ac-footer-menu__body { min-height:0; overflow:hidden; visibility:hidden; transition:visibility 0s .55s; }
 body.ac-atelier #Footer.ac-footer--js .ac-footer-menu.is-open .ac-footer-menu__panel { grid-template-rows:1fr; }
 body.ac-atelier #Footer.ac-footer--js .ac-footer-menu.is-open .ac-footer-menu__panel>.ac-footer-menu__body { visibility:visible; transition-delay:0s; }
 body.ac-atelier #Footer .ac-footer-bottom { padding:32px 0 36px; }
 body.ac-atelier #Footer .ac-footer-bottom::before { display:none; }
 body.ac-atelier #Footer .ac-footer-bottom__inner { width:calc(100% - 40px); }
 body.ac-atelier #Footer .ac-footer-copy__sep { display:none; }
 body.ac-atelier #Footer .ac-footer-copy a { display:block; margin-top:2px; }
 /* Privacy e Cookie una sotto l'altra, della stessa larghezza. */
 body.ac-atelier #Footer .ac-footer-legal { flex-direction:column; align-items:center; }
 body.ac-atelier #Footer .ac-footer-legal a.ac-footer-pill { width:min(100%, 230px); }
 /* La barra contatti e il pulsante WhatsApp, fluttuanti, non coprono le note legali. */
 body.ac-has-wa #Footer .ac-footer-bottom { padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px)); }
 body.ac-has-dock #Footer .ac-footer-bottom { padding-bottom:calc(104px + env(safe-area-inset-bottom, 0px)); }
}

/* Entrata: le colonne salgono una dopo l'altra, il logo si compone e passa il riflesso, la linea dorata si traccia
   dal centro. Solo se il footer arriva in vista scorrendo (js/site-uniform.js aggiunge ac-footer--reveal). */
@keyframes ac-footer-pulse { from { box-shadow:0 0 0 0 rgb(226 115 63 / 60%); } to { box-shadow:0 0 0 16px rgb(226 115 63 / 0%); } }
@media (prefers-reduced-motion:no-preference) {
 #Footer.ac-footer--reveal :is(.ac-footer-brand>*,.ac-footer-menu,.ac-footer-bottom__inner>*) { opacity:0; translate:0 22px; transition:opacity .8s ease, translate 1s var(--uni-ease); }
 #Footer.ac-footer--reveal .ac-footer-logo { translate:none; }
 #Footer.ac-footer--reveal .ac-footer-bottom::before { scale:0 1; transition:scale 1.6s cubic-bezier(.65,0,.35,1) .2s; }
 #Footer.ac-footer--reveal.is-in :is(.ac-footer-brand>*,.ac-footer-menu) { opacity:1; translate:0 0; }
 #Footer.ac-footer--reveal.is-in .ac-footer-brand>:nth-child(2) { transition-delay:.25s; }
 #Footer.ac-footer--reveal.is-in .ac-footer-brand>:nth-child(3) { transition-delay:.35s; }
 #Footer.ac-footer--reveal.is-in .ac-footer-brand>:nth-child(4) { transition-delay:.45s; }
 #Footer.ac-footer--reveal.is-in .ac-footer-menu { transition-delay:.3s; }
 #Footer.ac-footer--reveal.is-in .ac-footer-menu+.ac-footer-menu { transition-delay:.45s; }
 #Footer.ac-footer--reveal .ac-footer-bottom.is-in::before { scale:1 1; }
 #Footer.ac-footer--reveal .ac-footer-bottom.is-in .ac-footer-bottom__inner>* { opacity:1; translate:0 0; transition-delay:calc(.15s + var(--ft-i, 0) * 90ms); }
 #Footer.ac-footer--reveal .ac-footer-bottom__inner>:nth-child(2) { --ft-i:1; }
 #Footer.ac-footer--reveal .ac-footer-bottom__inner>:nth-child(3) { --ft-i:2; }
 #Footer.ac-footer--reveal .ac-footer-bottom__inner>:nth-child(4) { --ft-i:3; }
 #Footer.is-in a.ac-footer-pill--urgent>.ac-inline-arrow { animation:ac-footer-pulse 1.6s ease-out 1.2s 3; }
}

/* Chiusura del footer: invito alla prima visita. */
body.ac-atelier #Footer .ac-footer-cta { border-bottom:1px solid rgb(255 255 255 / 12%); }
body.ac-atelier #Footer .ac-footer-cta__inner { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:28px 48px; width:min(1200px, calc(100% - 48px)); margin:0 auto; padding:clamp(48px,6vw,80px) 0 clamp(40px,5vw,64px); }
body.ac-atelier #Footer .ac-footer-cta__copy { max-width:620px; }
body.ac-atelier #Footer .ac-footer-cta p { margin:0!important; }
body.ac-atelier #Footer .ac-footer-cta__eyebrow { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#b9ab9a; }
body.ac-atelier #Footer .ac-footer-cta__title { margin-top:12px!important; font:400 clamp(34px,4.4vw,58px)/1.08 Georgia,'Times New Roman',serif; letter-spacing:-.03em; color:#fbf8f3; }
body.ac-atelier #Footer .ac-footer-cta__text { margin-top:16px!important; font-size:16px; line-height:1.65; color:var(--uni-dark-text); }
body.ac-atelier #Footer .ac-footer-cta__actions { display:flex; flex-wrap:wrap; gap:12px; }
body.ac-atelier #Footer a.ac-footer-cta__button { display:inline-flex; align-items:center; gap:16px; min-height:54px; padding:8px 10px 8px 24px; box-sizing:border-box; border:1px solid rgb(255 255 255 / 32%); border-radius:50px; color:#fbf8f3; font-size:15px; font-weight:600; line-height:1.2; text-decoration:none!important; transition:transform .3s var(--uni-ease); }
body.ac-atelier #Footer a.ac-footer-cta__button--primary { border-color:#fbf8f3; background:#fbf8f3; color:var(--uni-dark); }
body.ac-atelier #Footer a.ac-footer-cta__button .ac-inline-arrow { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; flex:0 0 36px; border-radius:50%; font-size:17px; line-height:1; transition:background-color .2s ease,color .2s ease; }
@media (hover:hover) and (pointer:fine) {
 body.ac-atelier #Footer a.ac-footer-cta__button:hover .ac-inline-label { text-decoration:underline; text-decoration-thickness:.5px; text-underline-offset:4px; }
 body.ac-atelier #Footer a.ac-footer-cta__button--primary:hover .ac-inline-arrow { background:#181818; color:#fff; }
 body.ac-atelier #Footer a.ac-footer-cta__button:not(.ac-footer-cta__button--primary):hover .ac-inline-arrow { background:#fbf8f3; color:var(--uni-dark); }
}
@media (max-width:760px) {
 body.ac-atelier #Footer .ac-footer-cta__actions { width:100%; flex-direction:column; }
 body.ac-atelier #Footer a.ac-footer-cta__button { justify-content:space-between; width:100%; }
}

/* ---------- Mappa dei contatti (prima del consenso) ---------- */
body.ac-atelier .ac-contact-map { overflow:hidden; border:0!important; border-radius:24px; background:var(--uni-card); }
body.ac-atelier .ac-contact-map__art { stroke:none; }
body.ac-atelier .ac-contact-map__art ellipse { opacity:1; }
body.ac-atelier .ac-contact-map__city { color:var(--uni-ink); }
body.ac-atelier .ac-contact-map__controls { background:linear-gradient(rgb(242 235 225 / 0),#f2ebe1 34%); }
.ac-map-pulse { transform-box:fill-box; transform-origin:center; opacity:0; }
@keyframes ac-map-pulse { 0% { transform:scale(.35); opacity:.35; } 80%,100% { transform:scale(1.25); opacity:0; } }
@keyframes ac-map-thread { from { stroke-dashoffset:1100; } to { stroke-dashoffset:0; } }
@media (prefers-reduced-motion:no-preference) {
 .ac-map-pulse { animation:ac-map-pulse 2.6s ease-out infinite; }
 .ac-map-thread { stroke-dasharray:1100; animation:ac-map-thread 2.8s cubic-bezier(.45,.05,.3,1) .3s both; }
}

/* ---------- Pagina 404 ---------- */
body.ac-atelier #Content .ac-error__code { color:var(--uni-accent); }
body.ac-atelier #Content .ac-error__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:26px; }
body.ac-atelier #Content .ac-error a.ac-error__button { display:inline-flex; align-items:center; gap:14px; min-height:52px; margin:0; padding:8px 22px; box-sizing:border-box; border:1px solid var(--uni-ink); border-radius:50px; background:transparent; color:var(--uni-ink); font-size:15px; font-weight:600; text-decoration:none!important; }
body.ac-atelier #Content .ac-error a.ac-error__button--primary { border-color:var(--uni-accent); background:var(--uni-accent); color:#fff; padding-left:10px; }
body.ac-atelier #Content .ac-error a.ac-error__button:not(.ac-error__button--primary) { padding-right:10px; }

/* Il tema impone 1px di spaziatura alle lettere: nel footer torna quella normale. */
body.ac-atelier #Footer, body.ac-atelier #Footer :is(p,a,li,span,div) { letter-spacing:normal; }
body.ac-atelier #Footer .ac-footer-cta__eyebrow { letter-spacing:.14em; }
@media (max-width:760px) {
 body.ac-atelier #Footer :is(.widget_leo_menu,.widget_leo_menu ul.menu,.widget_leo_menu li) { text-align:left!important; }
}

/* Barra contatti mobile del plugin: stessi colori e caratteri del sito. */
@media (max-width:768px) {
 body.ac-atelier #mobcont-x .bottom-nav { background:rgb(47 41 37 / 94%)!important; border-top:1px solid rgb(255 255 255 / 14%)!important; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
 body.ac-atelier #mobcont-x .bottom-nav__item:not(:last-child) { border-right:1px solid rgb(255 255 255 / 14%)!important; }
 body.ac-atelier #mobcont-x .bottom-nav__link { color:#fbf8f3!important; font-family:'Open Sans',Arial,sans-serif!important; }
 body.ac-atelier #mobcont-x .bottom-nav__link span { font-size:11.5px; letter-spacing:.02em; }
 body.ac-atelier:has(#mobcont-x) { border-bottom-color:var(--uni-dark)!important; }
}

/* =====================================================================
   Effetto wow su tutto il sito
   ===================================================================== */

/* ---------- Testate: il disegno si traccia a matita e prende colore; foto e ritratti si svelano. ---------- */
@property --ac-hero-reveal { syntax:'<percentage>'; inherits:false; initial-value:130%; }
@keyframes ac-hero-draw { from { --ac-hero-reveal:-10%; } to { --ac-hero-reveal:130%; } }
@keyframes ac-hero-wash { from { filter:grayscale(1) contrast(1.4) brightness(1.06); } to { filter:none; } }
@keyframes ac-hero-settle { from { scale:1.08; } to { scale:1; } }
@keyframes ac-hero-rise { from { opacity:0; translate:0 18px; } to { opacity:1; translate:0 0; } }
@keyframes ac-hero-drift { from { translate:0 0; scale:1; } to { translate:0 7%; scale:1.05; } }
@media (prefers-reduced-motion:no-preference) {
 body.ac-atelier #Content .ac-visual-hero--illustration .ac-visual-hero__image {
  -webkit-mask-image:linear-gradient(118deg,#000 calc(var(--ac-hero-reveal) - 30%),transparent var(--ac-hero-reveal));
  mask-image:linear-gradient(118deg,#000 calc(var(--ac-hero-reveal) - 30%),transparent var(--ac-hero-reveal));
  animation:ac-hero-draw 1.7s cubic-bezier(.45,.05,.3,1) .15s both, ac-hero-wash 1.5s ease-out 1s both;
 }
 body.ac-atelier #Content :is(.ac-visual-hero--portrait,.ac-visual-hero--photo,.ac-visual-hero--clinic) .ac-visual-hero__image {
  -webkit-mask-image:linear-gradient(180deg,#000 calc(var(--ac-hero-reveal) - 25%),transparent var(--ac-hero-reveal));
  mask-image:linear-gradient(180deg,#000 calc(var(--ac-hero-reveal) - 25%),transparent var(--ac-hero-reveal));
  animation:ac-hero-draw 1.3s cubic-bezier(.45,.05,.3,1) .1s both, ac-hero-settle 1.9s var(--uni-ease) both;
 }
 body.ac-atelier #Content .ac-visual-hero__copy>* { animation:ac-hero-rise .9s var(--uni-ease) both; }
 body.ac-atelier #Content .ac-visual-hero__copy>:nth-child(2) { animation-delay:.12s; }
 body.ac-atelier #Content .ac-visual-hero__copy>:nth-child(3) { animation-delay:.22s; }
 body.ac-atelier #Content .ac-visual-hero__copy>:nth-child(4) { animation-delay:.32s; }
 body.ac-atelier #Content .ac-visual-hero__copy>:nth-child(5) { animation-delay:.42s; }
 body.ac-atelier #Content .ac-visual-hero__copy>:nth-child(n+6) { animation-delay:.5s; }
 @supports (animation-timeline:view()) {
  body.ac-atelier #Content .ac-visual-hero--illustration .ac-visual-hero__image {
   animation-name:ac-hero-draw, ac-hero-wash, ac-hero-drift;
   animation-duration:1.7s, 1.5s, auto;
   animation-timing-function:cubic-bezier(.45,.05,.3,1), ease-out, linear;
   animation-delay:.15s, 1s, 0s;
   animation-fill-mode:both;
   animation-timeline:auto, auto, view();
   animation-range:normal, normal, exit 0% exit 100%;
  }
 }
}

/* ---------- Contenuti che entrano uno dopo l'altro (site-uniform.js) ---------- */
@media (prefers-reduced-motion:no-preference) {
 html.ac-motion-ready .ac-uni-reveal { opacity:0; translate:0 26px; transition:opacity .8s ease, translate .9s var(--uni-ease,ease); transition-delay:calc(var(--uni-i,0) * 80ms); }
 html.ac-motion-ready .ac-uni-reveal.is-in { opacity:1; translate:0 0; }
}

/* ---------- Immagini delle card: si avvicinano al passaggio ---------- */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 body.ac-atelier #Content :is(.ac-directory-card,.ac-catalog-card,.ac-news-card,.ac-detail-related-card) :is(.ac-directory-card__visual,.ac-catalog-card__visual,.ac-news-card__visual,figure,picture) { overflow:hidden; }
 body.ac-atelier #Content :is(.ac-directory-card,.ac-catalog-card,.ac-news-card,.ac-detail-related-card) img { transition:scale .8s var(--uni-ease); }
 body.ac-atelier #Content :is(.ac-directory-card,.ac-catalog-card,.ac-news-card,.ac-detail-related-card):hover img { scale:1.045; }
}

/* ---------- Passaggio tra le pagine: dissolvenza morbida, l'header resta fermo ---------- */
@keyframes ac-page-out { to { opacity:0; } }
@keyframes ac-page-in { from { opacity:0; translate:0 14px; } }
@media (prefers-reduced-motion:no-preference) {
 @view-transition { navigation:auto; }
 body.ac-navigation-native #Top_bar.ac-header-bar { view-transition-name:ac-header; }
 ::view-transition-old(root) { animation:ac-page-out .25s ease both; }
 ::view-transition-new(root) { animation:ac-page-in .55s cubic-bezier(.2,.8,.2,1) both; }
}

/* ---------- Header ---------- */
/* Il nav aveva uno sfondo bianco puro dentro l'header avorio. */
body.ac-navigation-native #Top_bar.ac-header-bar :is(#menu,.menu_wrapper) { background:transparent!important; box-shadow:none!important; }
body.ac-navigation-native #Top_bar.ac-header-bar { transition:height .4s var(--uni-ease), background-color .4s ease, box-shadow .4s ease, border-color .4s ease; }
body.ac-navigation-native #Top_bar.ac-header-bar>.container>.column.one { transition:height .4s var(--uni-ease); }
body.ac-navigation-native #Top_bar.ac-header-bar #logo img { transition:max-width .4s var(--uni-ease), max-height .4s var(--uni-ease); }
body.ac-navigation-native #Top_bar.ac-header-bar.is-scrolled { background:rgb(255 253 249 / 84%)!important; -webkit-backdrop-filter:blur(16px) saturate(1.15); backdrop-filter:blur(16px) saturate(1.15); border-bottom-color:rgb(222 211 196 / 70%); box-shadow:0 12px 34px rgb(52 46 41 / 9%); }
/* Voci del menu: più ariose, con una linea che si allarga dal centro al passaggio e sulla pagina corrente. */
body.ac-navigation-native #Top_bar.ac-header-bar #menu>.menu>li>a { position:relative; display:block!important; color:var(--uni-ink)!important; }
body.ac-navigation-native #Top_bar.ac-header-bar #menu>.menu>li>a>span { display:block!important; padding:14px 13px!important; font-size:15px; letter-spacing:.01em; }
body.ac-navigation-native #Top_bar.ac-header-bar #menu>.menu>li>a::after { content:""!important; display:block!important; position:absolute!important; top:auto!important; left:13px!important; right:13px!important; bottom:6px!important; width:auto!important; height:1px!important; margin:0!important; background:var(--uni-accent)!important; opacity:1!important; transform:scaleX(0); transform-origin:center; transition:transform .35s var(--uni-ease); }
body.ac-navigation-native #Top_bar.ac-header-bar #menu>.menu>li:is(:hover,:focus-within,.current-menu-item,.current-menu-ancestor,.current_page_item,.current_page_ancestor)>a::after { transform:scaleX(1); }
body.ac-navigation-native #Top_bar.ac-header-bar #menu>.menu>li:is(.current-menu-item,.current-menu-ancestor,.current_page_item,.current_page_ancestor)>a { color:var(--uni-accent)!important; }
/* Sottomenu: compare con una breve discesa. */
@media (prefers-reduced-motion:no-preference) {
 body.ac-navigation-native #Top_bar.ac-header-bar #menu li:is(:hover,:focus-within)>ul { animation:ac-hero-rise .35s var(--uni-ease) both; }
}
@media (min-width:1240px) {
 body.ac-navigation-native #Top_bar.ac-header-bar .logo { flex:0 0 250px; width:250px!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar #logo img { max-width:250px!important; max-height:58px!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar.is-scrolled { height:72px!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar.is-scrolled>.container>.column.one { height:72px; }
 body.ac-navigation-native #Top_bar.ac-header-bar.is-scrolled #logo img { max-width:212px!important; max-height:48px!important; }
 body.ac-navigation-native.ac-header-scrolled { --ac-header-visible:72px; }
}
@media (max-width:1239px) {
 body.ac-navigation-native #Top_bar.ac-header-bar .logo { flex-basis:230px; }
 body.ac-navigation-native #Top_bar.ac-header-bar #logo img { max-width:230px!important; max-height:50px!important; }
}
@media (max-width:600px) {
 body.ac-navigation-native #Top_bar.ac-header-bar .logo { flex:0 1 164px; }
 body.ac-navigation-native #Top_bar.ac-header-bar #logo img { max-width:min(164px,42vw)!important; max-height:40px!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking { padding:9px 13px; }
}

/* ---------- Menu mobile: pannello a tutta altezza, voci grandi che entrano in sequenza ---------- */
@keyframes ac-menu-in { from { opacity:0; translate:0 14px; } to { opacity:1; translate:0 0; } }
@media (max-width:1239px) {
 html:has(#Top_bar .ac-header-mobile[open]) { overflow:hidden; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile>nav { display:flex; flex-direction:column; box-sizing:border-box; height:calc(100dvh - var(--ac-header-height) - var(--ac-admin-bar,0px)); max-height:none!important; padding:12px max(24px,calc((100vw - 640px)/2)) calc(24px + env(safe-area-inset-bottom,0px))!important; overflow:auto; border:0!important; background:var(--uni-light)!important; box-shadow:none!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu { flex:0 0 auto; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu>li { border-bottom:1px solid var(--uni-line)!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar :is(.ac-mobile-menu>li>a,.ac-mobile-menu>li>details>summary) { min-height:62px; padding:12px 4px!important; font:400 25px/1.25 Georgia,'Times New Roman',serif!important; letter-spacing:-.01em; color:var(--uni-ink); }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu>li>a[aria-current=page] { color:var(--uni-accent); }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu :is(a,summary):hover { background:transparent!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu details>summary>span { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--uni-line); border-radius:50%; font:400 20px/1 'Open Sans',Arial,sans-serif; transition:transform .3s var(--uni-ease), background-color .2s; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu details[open]>summary>span { background:#181818; color:#fff; border-color:#181818; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu ul { padding:0 0 14px 4px!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu ul :is(a,summary) { min-height:44px; padding:8px 0!important; font-size:16px!important; letter-spacing:normal!important; color:var(--uni-muted); }
 html:has(#Top_bar .ac-header-mobile[open]) :is(#mobcont-x,.wa__btn_popup,.grecaptcha-badge,.ac-tx-bar) { visibility:hidden!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu-footer { display:flex; flex-direction:column; gap:10px; margin-top:auto; padding-top:28px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu-footer a { display:flex; align-items:center; justify-content:space-between; min-height:54px; box-sizing:border-box; padding:8px 10px 8px 22px; border:1px solid var(--uni-ink); border-radius:50px; color:var(--uni-ink); font-size:16px; font-weight:600; text-decoration:none; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu-footer a.ac-mobile-menu-footer__book { border-color:var(--uni-accent); background:var(--uni-accent); color:#fff; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu-footer .ac-inline-arrow { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:#181818; color:#fff; font-size:17px; line-height:1; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu-footer p { margin:6px 0 0; font-size:13px; line-height:1.5; color:var(--uni-muted); text-align:center; }
 /* Le tre linee diventano una croce. */
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile>summary i { transition:transform .35s var(--uni-ease), opacity .2s; transform-origin:center; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open]>summary i:nth-child(1) { transform:translateY(6px) rotate(45deg); }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open]>summary i:nth-child(2) { opacity:0; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open]>summary i:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
}
@media (max-width:1239px) and (prefers-reduced-motion:no-preference) {
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open]>nav { animation:ac-menu-in .35s var(--uni-ease) both; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open] :is(.ac-mobile-menu>li,.ac-mobile-menu-footer) { animation:ac-menu-in .55s var(--uni-ease) both; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open] .ac-mobile-menu>li:nth-child(2) { animation-delay:.04s; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open] .ac-mobile-menu>li:nth-child(3) { animation-delay:.08s; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open] .ac-mobile-menu>li:nth-child(4) { animation-delay:.12s; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open] .ac-mobile-menu>li:nth-child(5) { animation-delay:.16s; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open] .ac-mobile-menu>li:nth-child(6) { animation-delay:.2s; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open] .ac-mobile-menu>li:nth-child(n+7) { animation-delay:.24s; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile[open] .ac-mobile-menu-footer { animation-delay:.3s; }
}

/* ---------- Contatti: il logo con l'arcobaleno si vede e si legge ---------- */
body.ac-atelier #Content.ac-contact .ac-contact-identity { max-width:min(100%,460px); margin:0 0 32px; }
body.ac-atelier #Content.ac-contact .ac-contact-identity img { width:100%; height:auto; border-radius:22px; background:#fff; box-shadow:0 18px 40px rgb(90 62 36 / 10%); }

/* =====================================================================
   Pulsanti: un solo sistema in tutto il sito
   Pillola marrone (principale) o con bordo (secondaria), stessa altezza, stesso testo,
   freccia nel pallino da 36 px che al passaggio diventa nero e la freccia "scappa" e rientra.
   Cerchi da 44 px per le frecce isolate. I link testuali restano link con il pallino in proporzione.
   ===================================================================== */
body.ac-atelier { --btn-h:52px; --btn-dot:36px; --btn-dot-fs:17px; --btn-accent-hover:#5c4437; }

/* Forma comune a tutte le pillole. */
body.ac-atelier :is(#Content,#Footer) :is(a.ac-tx-button,a.ac-error__button,.ac-contact-button,.ac-news-read,.ac-catalog-read,.ac-page-link,.ac-about-person__link,a.ac-footer-cta__button,a.button,button.button,input[type=submit],button[type=submit],.vc_btn3,.give-as-present):not(.am-button):not(.ac-ba__controls button) {
 display:inline-flex; align-items:center; justify-content:center; gap:16px; box-sizing:border-box;
 min-height:var(--btn-h)!important; padding-block:7px!important; padding-inline:26px!important; border-width:1px!important; border-style:solid!important; border-radius:50px!important;
 font-family:'Open Sans',Arial,sans-serif!important; font-size:15px!important; font-weight:600!important; line-height:1.25!important; letter-spacing:normal!important; text-transform:none!important; text-decoration:none!important;
 transition:transform .35s var(--uni-ease), box-shadow .35s var(--uni-ease), background-color .25s ease, border-color .25s ease, color .25s ease!important;
}
/* Con la freccia la pillola stringe il bordo verso il pallino. */
body.ac-atelier :is(#Content,#Footer) :is(a.ac-tx-button,a.ac-error__button,.ac-contact-button,.ac-news-read,.ac-catalog-read,.ac-page-link,.ac-about-person__link,a.ac-footer-cta__button,a.button,button.button,.vc_btn3):not(.am-button):not(.ac-ba__controls button):has(>:is(.ac-inline-arrow,.ac-card-arrow):last-child) { justify-content:space-between; padding-right:7px!important; padding-left:24px!important; }
body.ac-atelier :is(#Content,#Footer) :is(a.ac-tx-button,a.ac-error__button,.ac-contact-button,.ac-news-read,.ac-catalog-read,.ac-page-link,.ac-about-person__link,a.ac-footer-cta__button,a.button,button.button,.vc_btn3):not(.am-button):not(.ac-ba__controls button):has(>:is(.ac-inline-arrow,.ac-card-arrow):first-child) { padding-left:7px!important; padding-right:24px!important; }

/* Principale: marrone del tema. */
body.ac-atelier #Content :is(.ac-tx-button--primary,.ac-error__button--primary,.ac-contact-button,a.button,button.button,input[type=submit],button[type=submit],.vc_btn3):not(.am-button):not(.ac-ba__controls button) {
 border-color:var(--uni-accent)!important; background:var(--uni-accent)!important; color:#fff!important; box-shadow:0 10px 24px rgb(113 85 69 / 20%)!important;
}
/* Secondaria: bordo sottile color inchiostro, fondo trasparente. */
body.ac-atelier #Content :is(a.ac-tx-button:not(.ac-tx-button--primary),a.ac-error__button:not(.ac-error__button--primary),.ac-news-read,.ac-catalog-read,.ac-page-link,.ac-about-person__link,.give-as-present) {
 border-color:var(--uni-ink)!important; background:transparent!important; color:var(--uni-ink)!important; box-shadow:none!important;
}
@media (hover:hover) and (pointer:fine) {
 body.ac-atelier :is(#Content,#Footer) :is(a.ac-tx-button,a.ac-error__button,.ac-contact-button,.ac-news-read,.ac-catalog-read,.ac-page-link,.ac-about-person__link,a.ac-footer-cta__button,a.button,button.button,input[type=submit],button[type=submit],.vc_btn3,.give-as-present):not(.am-button):not(.ac-ba__controls button):not(:disabled):hover { transform:translateY(-2px); }
 body.ac-atelier #Content :is(.ac-tx-button--primary,.ac-error__button--primary,.ac-contact-button,a.button,button.button,input[type=submit],button[type=submit],.vc_btn3):not(.am-button):not(.ac-ba__controls button):not(:disabled):hover { border-color:var(--btn-accent-hover)!important; background:var(--btn-accent-hover)!important; box-shadow:0 16px 32px rgb(113 85 69 / 28%)!important; }
 body.ac-atelier #Content :is(a.ac-tx-button:not(.ac-tx-button--primary),a.ac-error__button:not(.ac-error__button--primary),.ac-news-read,.ac-catalog-read,.ac-page-link,.ac-about-person__link,.give-as-present):hover { background:var(--uni-light)!important; box-shadow:0 14px 28px rgb(52 46 41 / 10%)!important; }
 /* Nelle card la pillola reagisce a tutta la card. */
 body.ac-atelier #Content .ac-news-card:hover .ac-news-read { background:var(--uni-light)!important; }
}
body.ac-atelier :is(#Content,#Footer) :is(a.ac-tx-button,a.ac-error__button,.ac-contact-button,.ac-news-read,.ac-catalog-read,.ac-page-link,.ac-about-person__link,a.ac-footer-cta__button,a.button,button.button,input[type=submit],button[type=submit],.vc_btn3,.give-as-present):not(.am-button):not(:disabled):active { transform:translateY(0) scale(.98); transition-duration:.1s!important; }
body.ac-atelier :is(#Content,#Footer) :is(a.ac-tx-button,a.ac-error__button,.ac-contact-button,.ac-news-read,.ac-catalog-read,.ac-page-link,.ac-about-person__link,a.ac-footer-cta__button,a.button,button.button,input[type=submit],button[type=submit],.vc_btn3,.give-as-present):focus-visible { outline:2px solid var(--uni-accent)!important; outline-offset:3px!important; }
body.ac-atelier #Footer a.ac-footer-cta__button:focus-visible { outline-color:#fbf8f3!important; }

/* Il pallino: 36 px in ogni pillola, freccia da 17 px. */
body.ac-atelier :is(#Content,#Footer) :is(a.ac-tx-button,a.ac-error__button,.ac-contact-button,.ac-news-read,.ac-catalog-read,.ac-page-link,.ac-about-person__link,a.ac-footer-cta__button,a.button,button.button,.vc_btn3)>.ac-inline-arrow,
body.ac-atelier #Content .ac-news-card .ac-news-read>.ac-card-arrow {
 width:var(--btn-dot)!important; height:var(--btn-dot)!important; flex:0 0 var(--btn-dot)!important; font-size:var(--btn-dot-fs)!important; line-height:1!important;
}
body.ac-atelier #Content .ac-news-card .ac-news-read>.ac-card-arrow { display:inline-flex; align-items:center; justify-content:center; min-height:0!important; }
body.ac-atelier #Content .ac-news-card .ac-news-read { justify-content:space-between; gap:16px; padding-block:0!important; }
/* Su una pillola marrone il pallino si stacca in nero, come altrove. */
@media (hover:hover) and (pointer:fine) {
 body.ac-atelier #Content :is(.ac-contact-button,a.button,button.button,.vc_btn3):hover>.ac-inline-arrow { background:#181818; color:#fff; }
}

/* Header: la stessa pillola, più compatta. */
body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking { gap:14px; min-height:46px; padding:5px 6px 5px 20px; font-size:14px; font-weight:600; line-height:1.2; box-shadow:0 8px 20px rgb(113 85 69 / 18%); transition:transform .35s var(--uni-ease), box-shadow .35s var(--uni-ease), background-color .25s ease; }
body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking>.ac-inline-arrow { width:34px!important; height:34px!important; flex:0 0 34px!important; font-size:16px!important; }
@media (hover:hover) and (pointer:fine) {
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking:hover { background:var(--btn-accent-hover); box-shadow:0 14px 28px rgb(113 85 69 / 28%); transform:translateY(-2px); }
}
@media (max-width:600px) {
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking { min-height:42px; padding:4px 4px 4px 15px; gap:8px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking>.ac-inline-arrow { width:34px!important; height:34px!important; flex-basis:34px!important; }
}
@media (max-width:359px) { body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking { padding-inline:12px; } }

/* Menu mobile: le due pillole in fondo come tutte le altre. */
body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu-footer a { min-height:var(--btn-h); padding:7px 7px 7px 24px; font-size:15px; }

/* Footer: stessa misura, colori rovesciati sul fondo scuro. */
body.ac-atelier #Footer a.ac-footer-cta__button { gap:16px; }
body.ac-atelier #Footer a.ac-footer-cta__button--primary { box-shadow:0 12px 28px rgb(0 0 0 / 22%); }
@media (hover:hover) and (pointer:fine) {
 body.ac-atelier #Footer a.ac-footer-cta__button:not(.ac-footer-cta__button--primary):hover { border-color:#fbf8f3!important; }
}

/* Nelle schede prodotto strette la pillola resta su una riga. */
body.ac-atelier #Content ul.products>li.product .button { white-space:nowrap; }
@media (max-width:760px) {
 body.ac-atelier #Content ul.products>li.product .button { padding-inline:14px!important; font-size:14px!important; }
}
/* Video in attesa del consenso: la stessa pillola; sul riquadro scuro con i colori del footer. */
body.ac-atelier .altaclinic-video-consent__box button { display:inline-flex; align-items:center; justify-content:center; min-height:var(--btn-h); margin:0; padding:7px 26px; box-sizing:border-box; border:1px solid rgb(255 255 255 / 40%); border-radius:50px; font:600 15px/1.25 'Open Sans',Arial,sans-serif; letter-spacing:normal; transition:transform .35s var(--uni-ease), box-shadow .35s var(--uni-ease), background-color .25s ease, color .25s ease; }
body.ac-atelier .ac-page--sei-in-salute .altaclinic-video-consent__box button { border-color:var(--uni-accent)!important; background:var(--uni-accent)!important; color:#fff!important; box-shadow:0 10px 24px rgb(113 85 69 / 20%); }
@media (hover:hover) and (pointer:fine) {
 body.ac-atelier .altaclinic-video-consent__box button:hover { transform:translateY(-2px); }
 body.ac-atelier .ac-page--sei-in-salute .altaclinic-video-consent__box button:hover { background:var(--btn-accent-hover)!important; box-shadow:0 16px 32px rgb(113 85 69 / 28%); }
}

/* Cerchi da 44 px: frecce isolate delle card, torna su, recensioni. */
body.ac-atelier #Content :is(.ac-directory-card .ac-directory-arrow,.ac-detail-related-card>.ac-detail-related-arrow,.ac-catalog-card .ac-catalog-card__discover,.ac-news-card .ac-news-read>.ac-card-arrow):not(.ac-card-arrow) {
 width:44px!important; height:44px!important; min-height:44px!important; flex:0 0 44px; justify-self:end;
 box-shadow:inset 0 0 0 1px var(--uni-line); font-size:var(--btn-dot-fs)!important; overflow:hidden;
}
body.ac-atelier :is(#back_to_top,.ac-reviews__buttons button) {
 display:inline-flex!important; align-items:center; justify-content:center; width:44px!important; height:44px!important; padding:0!important; box-sizing:border-box;
 border:1px solid var(--uni-line)!important; background:var(--uni-light)!important; color:var(--uni-ink)!important; font-size:17px!important; line-height:1!important;
 box-shadow:0 8px 20px rgb(52 46 41 / 10%); transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .35s var(--uni-ease)!important;
}
body.ac-atelier #back_to_top i { font-size:17px; line-height:1; color:inherit!important; }
@media (hover:hover) and (pointer:fine) {
 body.ac-atelier :is(#back_to_top,.ac-reviews__buttons button):not(:disabled):hover { border-color:#181818!important; transform:translateY(-2px); }
}

/* Frecce disegnate: il carattere ↗ ← → cambiava font da un sistema all'altro (su Mac ← e → finivano 2-3 px sotto il centro).
   site-uniform.js segna la direzione; il segno resta nel testo per chi non ha JavaScript, qui lo sostituisce un'unica freccia
   centrata e ruotata. Al passaggio la freccia scappa nella sua direzione e una uguale rientra dal lato opposto. */
body.ac-atelier { --ac-arrow-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12h17M14 5.5l6.5 6.5-6.5 6.5'/%3E%3C/svg%3E"); }
:where(body.ac-atelier [data-ac-dir]) { position:relative; }
body.ac-atelier [data-ac-dir] { --ac-ax:1; --ac-ay:-1; --ac-rot:-45deg; overflow:hidden; -webkit-text-fill-color:transparent; text-shadow:none; }
body.ac-atelier [data-ac-dir=e] { --ac-ax:1; --ac-ay:0; --ac-rot:0deg; }
body.ac-atelier [data-ac-dir=w] { --ac-ax:-1; --ac-ay:0; --ac-rot:180deg; }
body.ac-atelier [data-ac-dir=s] { --ac-ax:0; --ac-ay:1; --ac-rot:90deg; }
body.ac-atelier [data-ac-dir=n] { --ac-ax:0; --ac-ay:-1; --ac-rot:-90deg; }
body.ac-atelier [data-ac-dir]::before,
body.ac-atelier [data-ac-dir]::after {
 content:""; position:absolute; top:50%; left:50%; width:1.05em; height:1.05em; margin:-.525em 0 0 -.525em; pointer-events:none;
 background:currentColor; -webkit-mask:var(--ac-arrow-svg) center/contain no-repeat; mask:var(--ac-arrow-svg) center/contain no-repeat;
 rotate:var(--ac-rot);
}
/* La seconda freccia aspetta fuori dal pallino, dal lato opposto. */
body.ac-atelier [data-ac-dir]::after { translate:calc(var(--ac-ax) * -2.2em) calc(var(--ac-ay) * -2.2em); }
@keyframes ac-arrow-out { from { translate:0 0; } to { translate:calc(var(--ac-ax) * 2.2em) calc(var(--ac-ay) * 2.2em); } }
@keyframes ac-arrow-in { from { translate:calc(var(--ac-ax) * -2.2em) calc(var(--ac-ay) * -2.2em); } to { translate:0 0; } }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 body.ac-atelier :is(a,button):not(:disabled):not([aria-disabled=true]):hover>[data-ac-dir]::before,
 body.ac-atelier #Content :is(.ac-directory-card,.ac-detail-related-card,.ac-catalog-card,.ac-news-card):hover [data-ac-dir]::before { animation:ac-arrow-out .5s cubic-bezier(.6,0,.2,1) both; }
 body.ac-atelier :is(a,button):not(:disabled):not([aria-disabled=true]):hover>[data-ac-dir]::after,
 body.ac-atelier #Content :is(.ac-directory-card,.ac-detail-related-card,.ac-catalog-card,.ac-news-card):hover [data-ac-dir]::after { animation:ac-arrow-in .5s cubic-bezier(.6,0,.2,1) both; }
}
/* Un link con la freccia nel pallino non si sottolinea: il vecchio "a:hover { text-decoration:underline }" di base.css
   sottolineava tutto il link e, in un link flex, la riga passava anche sotto la freccia. Restano le sottolineature
   date apposta a un titolo o a un'etichetta dentro il link. */
body.ac-atelier a:has(:is([data-ac-dir],.ac-inline-arrow,.ac-card-arrow,.ac-directory-arrow,.ac-detail-related-arrow,.ac-catalog-card__discover)):is(:hover,:focus) { text-decoration:none!important; }

/* =====================================================================
   "In questa pagina": lo stesso indice in tutto il sito
   Schede trattamento, medici, Chi siamo, pagine editoriali. Su desktop resta agganciato sotto l'header
   e segna la sezione in lettura (site-uniform.js); su tablet e telefono diventa una riga di etichette.
   ===================================================================== */
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) { display:flex; align-items:center; justify-content:space-between; gap:8px 28px; box-sizing:border-box; }
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index)>span:first-child { flex:0 0 auto; padding:0; font:600 11px/1.6 'Open Sans',Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--uni-ink); }
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) ul { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 28px; margin:0; padding:0; list-style:none; }
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) li { margin:0; padding:0; max-width:100%; }
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) a { display:inline-flex; align-items:center; justify-content:flex-start; gap:12px; min-height:44px; padding:0; font-size:13px; line-height:1.5; color:var(--uni-ink); text-decoration:none; }
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index,.ac-news-toc) a:is([aria-current=true],[aria-current=location])>.ac-inline-arrow { background:#181818; color:#fff; }
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index,.ac-news-toc) a:is([aria-current=true],[aria-current=location]) .ac-inline-label { text-decoration:underline; text-decoration-thickness:.5px; text-underline-offset:4px; }
/* overflow:hidden su #Wrapper impedisce gli elementi agganciati; clip ritaglia allo stesso modo senza bloccarli. */
body.ac-atelier:has(#Content :is(.ac-detail-index,.ac-page-index,.ac-about-index,.ac-news-aside-inner)) #Wrapper { overflow:clip; }

/* Utente collegato: la barra di WordPress sta sopra l'header (native-layouts.css sposta l'header); l'indice e gli altri
   elementi agganciati scendono di altrettanto. Sul telefono WordPress la fa scorrere via: resta ferma, sopra l'header. */
body.admin-bar { --ac-admin-bar:32px; }
@media (max-width:782px) { body.admin-bar { --ac-admin-bar:46px; } }
@media (max-width:600px) { body.ac-navigation-native #wpadminbar { position:fixed!important; } }

/* Il fuoco da tastiera e i salti alle sezioni si fermano sotto la barra di WordPress, l'header e l'indice agganciato,
   mai coperti (WCAG 2.4.11). Un solo margine sulla pagina al posto di quelli dei singoli blocchi, che si sommerebbero. */
html:has(body.ac-navigation-native) { --ac-sp-admin:0px; --ac-sp-header:88px; --ac-sp-index:0px; scroll-padding-top:calc(var(--ac-sp-admin) + var(--ac-sp-header) + var(--ac-sp-index) + 16px); }
@media (max-width:1239px) { html:has(body.ac-navigation-native) { --ac-sp-header:78px; } }
@media (max-width:600px) { html:has(body.ac-navigation-native) { --ac-sp-header:72px; } }
html:has(body.ac-navigation-native #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index)) { --ac-sp-index:54px; }
html:has(body.admin-bar) { --ac-sp-admin:32px; }
@media (max-width:782px) { html:has(body.admin-bar) { --ac-sp-admin:46px; } }
body.ac-navigation-native #Content :is(.ac-index-target,.ac-detail-section,.ac-about-section,.ac-about-contact,.ac-catalog-results,.ac-contact-location,.ac-directory-selection,#ac-page-content,.altacl-v2-booking) { scroll-margin-top:0!important; }

/* Agganciato, l'indice diventa una pillola di vetro alta 52 px, 2 px sotto il menu e larga quanto il menu: si allarga
   dai bordi della colonna fino al logo e al carrello (site-uniform.js misura il menu in --ac-menu-w).
   Si abbassa di quanto misura site-uniform.js (--ac-index-shrink) e il margine sotto cresce di altrettanto: il testo non salta. */
body.ac-atelier { --ac-index-bar:52px; --ac-index-gap:2px; }
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) {
 position:sticky; top:calc(var(--ac-admin-bar,0px) + var(--ac-header-visible,var(--ac-header-height,88px)) + var(--ac-index-gap)); z-index:40;
}
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index).is-stuck {
 margin-bottom:calc(var(--ac-index-mb,0px) + var(--ac-index-shrink,28px)); margin-inline:calc((100% - var(--ac-menu-w,100%)) / 2); border-radius:999px;
 background:rgb(251 248 243 / 80%); -webkit-backdrop-filter:blur(18px) saturate(1.2); backdrop-filter:blur(18px) saturate(1.2);
 box-shadow:inset 0 0 0 1px rgb(255 255 255 / 55%), 0 0 0 1px rgb(222 211 196 / 80%), 0 18px 40px -14px rgb(52 46 41 / 28%);
}
/* Linea di lettura dentro la pillola: si riempie mentre si legge il blocco della pagina (--ac-read da 0 a 1). */
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index)::after {
 content:""; position:absolute; left:26px; right:26px; bottom:0; height:2px; border-radius:2px; pointer-events:none; opacity:0;
 background:var(--uni-accent); transform-origin:left center; scale:var(--ac-read,0) 1; transition:opacity .3s ease;
}
body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index).is-stuck::after { opacity:1; }
/* Se le voci non stanno in una riga scorrono: sfumatura sul lato dove ce ne sono altre. */
body.ac-atelier #Content .ac-index-more-right ul { -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent); mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent); }
body.ac-atelier #Content .ac-index-more-left ul { -webkit-mask-image:linear-gradient(90deg,transparent,#000 48px); mask-image:linear-gradient(90deg,transparent,#000 48px); }
body.ac-atelier #Content .ac-index-more-left.ac-index-more-right ul { -webkit-mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent); mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent); }

@media (min-width:1001px) {
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) { transition:padding .4s var(--uni-ease), margin .4s var(--uni-ease), border-radius .4s var(--uni-ease), background-color .3s ease, box-shadow .3s ease; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index).is-stuck { padding:4px 8px 4px 24px; }
 /* Sempre una sola riga. */
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) ul { flex:0 1 auto; min-width:0; flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; scrollbar-width:none; overscroll-behavior-x:contain; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) ul::-webkit-scrollbar { display:none; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) li { flex:0 0 auto; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) a { white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) {
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) { transition:none; }
}
/* Tablet e telefono: etichette a pillola; sul telefono una sola riga da scorrere col dito. */
@media (max-width:1000px) {
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) { display:block; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) ul { justify-content:flex-start; gap:8px; margin-top:12px; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) a { min-height:40px; padding:6px 8px 6px 16px; border:1px solid var(--uni-line); border-radius:50px; background:var(--uni-light); white-space:nowrap; }
 /* Agganciato: solo la riga di etichette dentro la pillola; la scritta resta per i lettori di schermo. */
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index).is-stuck { padding:5px; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index).is-stuck>span:first-child { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index).is-stuck ul { flex-wrap:nowrap; margin:0; padding:0; overflow-x:auto; scrollbar-width:none; scroll-padding-inline:0; border-radius:999px; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index).is-stuck li { flex:0 0 auto; }
}
@media (max-width:760px) {
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) ul { flex-wrap:nowrap; margin:12px -22px 0; padding:0 22px 4px; overflow-x:auto; scroll-snap-type:x proximity; scroll-padding-inline:22px; scrollbar-width:none; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) ul::-webkit-scrollbar { display:none; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index) li { flex:0 0 auto; scroll-snap-align:start; }
 body.ac-atelier #Content :is(.ac-detail-index,.ac-page-index,.ac-about-index).is-stuck ul { margin:0; padding:0; scroll-padding-inline:0; }
}

/* Indice degli articoli: stessa freccia, resta sotto l'header ridotto. */
@media (min-width:1001px) {
 body.ac-atelier #Content .ac-news-aside-inner { top:calc(var(--ac-admin-bar,0px) + var(--ac-header-visible,var(--ac-header-height,88px)) + 24px); }
}
/* Le frecce dell'indice degli articoli in colonna, allineate a destra anche quando la voce va a capo. */
body.ac-atelier #Content .ac-news-toc a:has(>.ac-inline-arrow) { display:flex; width:100%; box-sizing:border-box; }
body.ac-atelier #Content .ac-news-toc a>.ac-inline-label { flex:1 1 auto; }
/* La colonna laterale degli articoli è stretta: il titolo non va più a capo a metà parola. */
body.ac-atelier #Content .ac-news-contact h2 { --atelier-heading-size:clamp(24px,2.1vw,28px); }
/* "Regala questo prodotto" accanto ad "Aggiungi al carrello": secondaria, così la scelta principale resta una. */
body.ac-atelier #Content #gift-this-product #give-as-present { border-color:var(--uni-ink)!important; background:transparent!important; color:var(--uni-ink)!important; box-shadow:none!important; }
@media (hover:hover) and (pointer:fine) { body.ac-atelier #Content #gift-this-product #give-as-present:hover { background:var(--uni-light)!important; box-shadow:0 14px 28px rgb(52 46 41 / 10%)!important; } }
/* Con "riduci movimento" i pulsanti cambiano solo colore. */
@media (prefers-reduced-motion:reduce) {
 body.ac-atelier #Footer :is(a.ac-footer-pill,.ac-footer-menu__extra,.ac-footer-menu__extra>ul) { transform:none!important; transition:none!important; }
 body.ac-atelier :is(#Content,#Footer,#Top_bar) :is(a.ac-tx-button,a.ac-error__button,.ac-contact-button,.ac-news-read,.ac-catalog-read,.ac-page-link,.ac-about-person__link,a.ac-footer-cta__button,.ac-header-booking,a.button,button.button,input[type=submit],button[type=submit],.vc_btn3,.give-as-present),
 body.ac-atelier :is(#back_to_top,.ac-reviews__buttons button,.altaclinic-video-consent__box button) { transform:none!important; transition:background-color .2s ease, color .2s ease, border-color .2s ease!important; }
}

/* =====================================================================
   Logo vettoriale (functions/brand-logo.php)
   Stesse misure del logo in immagine. Alla prima pagina della visita le lettere di ALTA CLINIC salgono dal centro
   verso il loro posto, la riga si traccia dal centro e MEDICINA ESTETICA compare dal centro verso i lati; poi un
   riflesso dorato attraversa il nome. Il riflesso torna al passaggio del mouse e quando l'header si riduce.
   Tutto il movimento dura meno di 5 secondi e parte solo così (WCAG 2.2.2); con "riduci movimento" il logo è fermo.
   ===================================================================== */
body.ac-navigation-native #Top_bar.ac-header-bar #logo .ac-logo { display:block; width:250px; max-width:100%; height:auto; overflow:visible; color:#1b1916; transition:width .4s var(--uni-ease); }
@media (min-width:1240px) { body.ac-navigation-native #Top_bar.ac-header-bar.is-scrolled #logo .ac-logo { width:212px; } }
@media (max-width:1239px) { body.ac-navigation-native #Top_bar.ac-header-bar #logo .ac-logo { width:230px; } }
@media (max-width:600px) { body.ac-navigation-native #Top_bar.ac-header-bar #logo .ac-logo { width:min(164px,42vw); } }
.ac-logo :is(.ac-logo__l,.ac-logo__t,.ac-logo__rule) { transform-box:fill-box; transform-origin:center; }
@keyframes ac-logo-letter { from { opacity:0; transform:translate(calc(var(--dx) * 1px), 34px); } }
@keyframes ac-logo-rule { from { transform:scaleX(0); } }
@keyframes ac-logo-tag { from { opacity:0; transform:translateY(16px); } }
@keyframes ac-logo-glint { from { transform:translateX(0) skewX(-22deg); } to { transform:translateX(1860px) skewX(-22deg); } }
.ac-logo .ac-logo__glint { transform:skewX(-22deg); }
@media (prefers-reduced-motion:no-preference) {
 .ac-logo.ac-logo--intro .ac-logo__l { animation:ac-logo-letter 1s cubic-bezier(.2,.8,.2,1) calc(.1s + var(--i) * 55ms) both; }
 .ac-logo.ac-logo--intro .ac-logo__rule { animation:ac-logo-rule .9s cubic-bezier(.65,0,.35,1) .55s both; }
 .ac-logo.ac-logo--intro .ac-logo__t { animation:ac-logo-tag .7s cubic-bezier(.2,.8,.2,1) calc(.85s + var(--j) * 35ms) both; }
 .ac-logo.ac-logo--intro .ac-logo__glint { animation:ac-logo-glint 1.5s cubic-bezier(.45,.05,.3,1) 1.75s both; }
 .ac-logo.ac-logo--shine .ac-logo__glint { animation:ac-logo-glint 1.4s cubic-bezier(.45,.05,.3,1) both; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 #Top_bar #logo:hover .ac-logo .ac-logo__glint { animation:ac-logo-glint 1.3s cubic-bezier(.45,.05,.3,1) both; }
}

/* ---------- Video: pulsante "Guarda il video" come gli altri pulsanti (site-uniform.js) ---------- */
body.ac-atelier #Content .ac-video-play-wrap { position:relative; }
body.ac-atelier #Content .ac-video-play-wrap video { display:block; }
body.ac-atelier #Content .ac-video-play { position:absolute; left:50%; top:50%; translate:-50% -50%; display:inline-flex; align-items:center; gap:14px; min-height:52px; margin:0; padding:8px 8px 8px 24px!important; border:0!important; border-radius:50px!important; background:#fffdf9!important; color:var(--uni-ink,#342e29)!important; font:600 15px/1.2 'Open Sans',Arial,sans-serif!important; letter-spacing:0; text-transform:none; white-space:nowrap; box-shadow:0 18px 40px -18px rgb(24 24 24 / 55%); cursor:pointer; transition:transform .3s var(--uni-ease,ease), box-shadow .3s ease; }
body.ac-atelier #Content .ac-video-play>.ac-inline-arrow { width:36px!important; height:36px!important; flex:0 0 36px!important; padding-left:2px!important; font-size:13px!important; background:#f2ebe1; }
body.ac-atelier #Content .ac-video-play-wrap.is-playing .ac-video-play { display:none; }
@media (hover:hover) and (pointer:fine) {
 body.ac-atelier #Content .ac-video-play:hover { transform:scale(1.04); box-shadow:0 24px 50px -20px rgb(24 24 24 / 60%); }
}
@media (prefers-reduced-motion:reduce) { body.ac-atelier #Content .ac-video-play { transition:none; } }


/* Testata senza immagine (Privacy Policy, Cookie Policy, Urgenze cliniche, Termini…): non più un grande riquadro vuoto con il
   titolo in fondo, ma la testata compatta delle pagine d'acquisto, con il filo dorato. */
body.ac-atelier #Content .ac-visual-hero--empty { position:relative; display:block; min-height:0!important; margin-bottom:clamp(24px, 3vw, 36px); padding:clamp(28px, 4vw, 52px)!important; overflow:hidden; border:0!important; border-radius:28px; background:radial-gradient(90% 140% at 100% 0%, #f5e6e1 0%, rgb(245 230 225 / 0%) 60%), #f2ebe1!important; }
body.ac-atelier #Content .ac-visual-hero--empty::after { content:""; position:absolute; top:-90px; right:-70px; width:260px; height:260px; border:1px solid rgb(201 162 92 / 38%); border-radius:50%; pointer-events:none; }
body.ac-atelier #Content .ac-visual-hero--empty .ac-visual-hero__copy { position:relative; z-index:1; width:auto; max-width:820px; padding:0!important; background:none!important; text-align:left; }
body.ac-atelier #Content .ac-visual-hero--empty h1 { font-size:clamp(34px, 4.4vw, 56px)!important; text-align:left!important; }
body.ac-atelier #Content .ac-visual-hero--empty .ac-visual-hero__lead { margin-inline:0; text-align:left; }
@media (max-width:700px) { body.ac-atelier #Content .ac-visual-hero--empty { min-height:0!important; border-radius:24px; } }
/* 404: il riquadro resta dentro lo schermo anche sul telefono (il padding si sommava alla larghezza). */
body.ac-atelier #Content .ac-error { box-sizing:border-box; margin-inline:auto; }
/* Pulsanti dei prodotti che aprono la scheda (Scegli, Leggi tutto): etichetta a sinistra e pallino a destra, come le altre
   pillole; "Aggiungi al carrello" resta senza freccia (la freccia la aggiunge functions/shop-experience.php). */
body.ac-atelier #Content :is(ul.products li.product,.ac-catalog-card__actions,.ac-promo-offers) a.button:has(>.ac-inline-arrow:last-child) { justify-content:space-between!important; padding-right:7px!important; padding-left:24px!important; text-align:left!important; }

/* Pagine interne: 28 px fra l'header e il percorso di navigazione (20 sul telefono); il percorso, 12 px, lascia 24 px
   prima della testata (18 sul telefono, regola comune in atelier.css). Le pagine senza percorso lo hanno da
   functions/page-breadcrumb.php. Le eccezioni sono home, cassa e area personale, con le loro intestazioni. */
body.ac-atelier #Content:is(.ac-page,.ac-md,.ac-rt,.ac-qz,.ac-ok,.ac-lg,.ac-at,.ac-about,.ac-contact,.ac-booking,.ac-detail,.ac-directory,.ac-catalog,.ac-nx),
body.ac-atelier.ac-classic-view:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) #Content,
body.ac-atelier.single-product #Content { padding-top:28px!important; }
body.ac-atelier.single-product #Content .woocommerce-breadcrumb { width:min(1200px, calc(100% - 96px)); margin-inline:auto; }
@media (max-width:760px) {
 body.ac-atelier #Content:is(.ac-page,.ac-md,.ac-rt,.ac-qz,.ac-ok,.ac-lg,.ac-at,.ac-about,.ac-contact,.ac-booking,.ac-detail,.ac-directory,.ac-catalog,.ac-nx),
 body.ac-atelier.ac-classic-view:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) #Content,
 body.ac-atelier.single-product #Content { padding-top:20px!important; }
 body.ac-atelier.single-product #Content .woocommerce-breadcrumb { width:calc(100% - 32px); }
}
