/* Scheda trattamento: info rapide, prenotazione, illustrazione animata, prima/dopo e barra fissa su mobile. */
body.ac-tx {
 --tx-ink:var(--atelier-ink,#342e29); --tx-muted:var(--atelier-muted,#665d54); --tx-accent:var(--atelier-accent,#715545);
 --tx-line:var(--atelier-line,#ded3c4); --tx-paper:var(--atelier-paper,#fbf8f3); --tx-card:var(--atelier-card,#f2ebe1);
 --tx-ease:cubic-bezier(.2,.8,.2,1);
}

/* Info rapide nella testata */
body.ac-tx #Content .ac-tx-quick { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 0; padding:0; }
body.ac-tx #Content .ac-tx-quick li { display:flex; flex-direction:column; gap:3px; min-width:0; margin:0; padding:10px 15px 11px; list-style:none; border:1px solid var(--tx-line); border-radius:16px; background:rgb(255 253 249 / 78%); }
body.ac-tx #Content .ac-tx-quick li::before { content:none; display:none; }
body.ac-tx #Content .ac-tx-quick span { font-size:11px; font-weight:600; line-height:1.2; letter-spacing:.12em; text-transform:uppercase; color:var(--tx-muted); }
body.ac-tx #Content .ac-tx-quick strong { font-size:15px; font-weight:600; line-height:1.3; color:var(--tx-ink); }

/* Prezzo: una riga tipografica, non un'altra etichetta. */
body.ac-tx #Content .ac-tx-price { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:10px; row-gap:4px; margin:26px 0 0!important; padding:0; color:var(--tx-ink); line-height:1.1; }
body.ac-tx #Content .ac-tx-price__label { flex-basis:100%; font-size:11px; font-weight:600; line-height:1.2; letter-spacing:.12em; text-transform:uppercase; color:var(--tx-muted); }
body.ac-tx #Content .ac-tx-price strong { font:400 clamp(30px,2.6vw,38px)/1.05 Georgia,'Times New Roman',serif; letter-spacing:-.02em; color:var(--tx-ink); }
body.ac-tx #Content .ac-tx-price__unit { font-size:15px; line-height:1.3; color:var(--tx-muted); }

/* Su desktop la colonna del testo prende un po' più spazio: i due pulsanti stanno sulla stessa riga. */
@media (min-width:1001px) { body.ac-tx #Content .ac-visual-hero--illustration:not(.ac-visual-hero--empty) { grid-template-columns:1.15fr 1fr; } }

/* Pulsanti: forma, colori e freccia comuni a tutto il sito (site-uniform.css). */
body.ac-tx #Content .ac-tx-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 0; }
body.ac-tx #Content a.ac-tx-button { margin:0; }
body.ac-tx #Content .ac-tx-links { display:flex; flex-wrap:wrap; align-items:center; gap:12px 30px; margin:30px 0 0!important; padding:20px 0 0; border-top:1px solid var(--tx-line); font-size:15px; line-height:1.4; }
body.ac-tx #Content .ac-tx-links a { color:var(--tx-ink); }

/* L'animazione delle testate è comune a tutto il sito: site-uniform.css. */

/* Prima e dopo: cursore da trascinare, casi in miniatura */
body.ac-tx #Content .ac-native-gallery[data-ac-ba-ready] { display:none; }
body.ac-tx .ac-ba { --ac-ba-pos:50%; --ac-ba-ratio:4/3; margin:0 0 8px; }
body.ac-tx .ac-ba__stage { position:relative; width:min(100%, calc(70vh * var(--ac-ba-ratio))); margin:0 auto; aspect-ratio:var(--ac-ba-ratio); overflow:hidden; border-radius:22px; background:#fff; touch-action:pan-y; cursor:ew-resize; user-select:none; -webkit-user-select:none; isolation:isolate; }
body.ac-tx .ac-ba__layer { position:absolute; inset:0; overflow:hidden; }
body.ac-tx #Content .ac-ba__layer img { position:absolute; display:block; max-width:none; height:auto; margin:0; padding:0; border-radius:0; transition:opacity .35s ease; pointer-events:none; }
body.ac-tx .ac-ba__layer--after { clip-path:inset(0 0 0 var(--ac-ba-pos)); }
body.ac-tx .ac-ba.is-loading .ac-ba__layer img { opacity:.25; }
body.ac-tx .ac-ba__label { position:absolute; top:14px; z-index:2; padding:6px 12px; border-radius:50px; background:rgb(52 46 41 / 72%); color:#fff; font-size:12px; font-weight:600; line-height:1.2; letter-spacing:.12em; text-transform:uppercase; pointer-events:none; }
body.ac-tx .ac-ba__label--before { left:14px; }
body.ac-tx .ac-ba__label--after { right:14px; }
body.ac-tx .ac-ba__handle { position:absolute; top:0; bottom:0; left:var(--ac-ba-pos); z-index:3; width:2px; margin-left:-1px; background:#fff; box-shadow:0 0 0 1px rgb(52 46 41 / 12%); pointer-events:none; }
body.ac-tx .ac-ba__knob { position:absolute; top:50%; left:50%; display:grid; place-items:center; width:48px; height:48px; margin:-24px 0 0 -24px; border-radius:50%; background:#fff; color:var(--tx-ink); box-shadow:0 8px 24px rgb(52 46 41 / 22%); transition:transform .25s var(--tx-ease); }
body.ac-tx .ac-ba__knob svg { width:24px; height:24px; }
body.ac-tx .ac-ba__stage:active .ac-ba__knob { transform:scale(.92); }
/* L'etichetta della foto che la linea ha coperto sparisce: ai due estremi resta solo quella della foto visibile. */
body.ac-tx .ac-ba__label { transition:opacity .25s ease; }
body.ac-tx :is(.ac-ba--no-before .ac-ba__label--before,.ac-ba--no-after .ac-ba__label--after) { opacity:0; }
body.ac-tx :is(.ac-ba__range,.ac-ba__sr) { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0; white-space:nowrap; }
body.ac-tx .ac-ba:has(.ac-ba__range:focus-visible) .ac-ba__knob { outline:2px solid var(--tx-accent); outline-offset:3px; }
body.ac-tx .ac-ba__hint { position:absolute; left:50%; bottom:14px; z-index:2; translate:-50% 0; padding:6px 14px; border-radius:50px; background:rgb(255 253 249 / 92%); color:var(--tx-ink); font-size:13px; line-height:1.3; white-space:nowrap; pointer-events:none; transition:opacity .4s ease; }
body.ac-tx .ac-ba.is-touched .ac-ba__hint { opacity:0; }
body.ac-tx .ac-ba--static .ac-ba__stage { cursor:default; }
body.ac-tx .ac-ba--static :is(.ac-ba__layer--after,.ac-ba__handle,.ac-ba__label,.ac-ba__hint) { display:none; }
body.ac-tx #Content .ac-ba--static .ac-ba__layer--before img { inset:0; width:100%; height:100%; object-fit:contain; }

body.ac-tx .ac-ba__bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:16px auto 0; width:min(100%, calc(70vh * var(--ac-ba-ratio))); }
body.ac-tx #Content .ac-ba__count { margin:0!important; font-size:14px; color:var(--tx-muted); }
body.ac-tx .ac-ba__controls { display:flex; gap:8px; }
body.ac-tx #Content .ac-ba__controls button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; margin:0; padding:0 16px; border:1px solid var(--tx-line); border-radius:50px; background:#fffdf9!important; color:var(--tx-ink)!important; font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; letter-spacing:normal; box-shadow:none; cursor:pointer; transition:border-color .2s, background-color .2s; }
body.ac-tx #Content .ac-ba__controls button:hover { border-color:var(--tx-ink); }
body.ac-tx #Content .ac-ba__controls svg { width:20px; height:20px; }
body.ac-tx #Content .ac-ba__controls button:focus-visible { outline:2px solid var(--tx-accent); outline-offset:3px; }
body.ac-tx #Content .ac-ba__controls button[hidden] { display:none; }
body.ac-tx .ac-ba__thumbs { display:flex; gap:10px; margin:16px 0 0; padding:4px 2px 10px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:thin; }
body.ac-tx #Content .ac-ba__thumbs button { flex:0 0 auto; width:96px; height:72px; margin:0; padding:0; overflow:hidden; scroll-snap-align:start; border:2px solid transparent; border-radius:14px; background:#fff!important; box-shadow:none; cursor:pointer; transition:border-color .2s, opacity .2s; opacity:.72; }
body.ac-tx #Content .ac-ba__thumbs button[aria-pressed=true] { border-color:var(--tx-accent); opacity:1; }
body.ac-tx #Content .ac-ba__thumbs button:hover { opacity:1; }
body.ac-tx #Content .ac-ba__thumbs button:focus-visible { outline:2px solid var(--tx-accent); outline-offset:2px; }
body.ac-tx #Content .ac-ba__thumbs img { display:block; width:100%; height:100%; margin:0; object-fit:cover; border-radius:0; }
body.ac-tx #Content .ac-ba__note { margin:6px 0 0!important; font-size:13px; line-height:1.5; color:var(--tx-muted); }

/* Barra fissa su mobile: titolo e prezzo, telefono, prenotazione */
.ac-tx-bar[hidden] { display:none!important; }
.ac-tx-bar { position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom, 0px)); z-index:100000; display:flex; align-items:center; gap:10px; margin:0; padding:7px 7px 7px 18px; border-radius:999px; background:rgb(52 46 41 / 95%); color:#fff; box-shadow:0 18px 40px rgb(52 46 41 / 30%); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); opacity:0; transform:translateY(calc(100% + 24px)); transition:transform .4s var(--tx-ease, ease), opacity .3s ease; }
.ac-tx-bar.is-visible { opacity:1; transform:none; }
.ac-tx-bar__text { display:flex; flex:1; flex-direction:column; min-width:0; margin:0; padding:0; line-height:1.25; }
.ac-tx-bar__text strong { overflow:hidden; color:#fff; font:400 16px/1.25 Georgia,'Times New Roman',serif; white-space:nowrap; text-overflow:ellipsis; }
.ac-tx-bar__text span { color:#e6dccd; font-size:13px; }
.ac-tx-bar a { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:46px; text-decoration:none; }
.ac-tx-bar a:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.ac-tx-bar__call { width:46px; border:1px solid rgb(255 255 255 / 35%); border-radius:50%; color:#fff; }
.ac-tx-bar__call .ac-tx-icon { width:20px; height:20px; }
.ac-tx-bar__book { gap:10px; padding:0 7px 0 18px; border-radius:999px; background:#fbf8f3; color:#342e29; font-size:15px; font-weight:600; }
.ac-tx-bar__book .ac-inline-arrow { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:#181818; color:#fff; font-size:15px; line-height:1; }
@media (min-width:761px) { .ac-tx-bar { display:none!important; } }

/* "In questa pagina" è comune a tutto il sito (site-uniform.css); la scheda informazioni accompagna il testo accanto, sotto l'indice agganciato.
   Solo se ha altro contenuto accanto: a tutta riga (o sola nella sua riga, .ac-tx-alone) scorrerebbe sopra le righe seguenti. */
@media (min-width:1001px) {
 body.ac-tx #Content .ac-detail-row>.ac-detail-facts:not(.ac-tx-tall):not(.ac-tx-alone):not([style*="--detail-span:12"]) { position:sticky; top:calc(var(--ac-admin-bar,0px) + var(--ac-header-visible,var(--ac-header-height,88px)) + var(--ac-index-gap,8px) + var(--ac-index-bar,52px) + 24px); }
}

/* Scheda informazioni: etichetta piccola, valore leggibile, filetti sottili. */
body.ac-tx #Content .ac-detail-facts>.ac-tx-fact { padding:14px 24px!important; }
body.ac-tx #Content .ac-detail-facts>.ac-tx-fact+.ac-tx-fact { border-top:1px solid var(--tx-line)!important; }
body.ac-tx #Content .ac-tx-fact p { display:flex; flex-direction:column; gap:3px; margin:0; }
body.ac-tx #Content .ac-tx-fact strong { font-size:11px!important; font-weight:600; line-height:1.3!important; letter-spacing:.12em!important; text-transform:uppercase; color:var(--tx-muted); }
body.ac-tx #Content .ac-tx-fact span { font-size:15px!important; line-height:1.55!important; color:var(--tx-ink); }
/* Emphasis in the value is ordinary bold text, distinct from the small uppercase label. */
body.ac-tx #Content .ac-tx-fact .ac-native-fact__value strong {
    font-size:inherit!important; font-weight:700; line-height:inherit!important;
    letter-spacing:normal!important; text-transform:none; color:inherit;
}
body.ac-tx #Content .ac-tx-dup { display:none!important; }

/* Prima e dopo su una fascia scura a tutta larghezza: il momento di contrasto della pagina. */
body.ac-tx #Content .ac-detail-section.ac-tx-band { --band:#2f2925; margin-block:64px; padding-block:64px; border:0!important; background:var(--band); box-shadow:0 0 0 100vmax var(--band); clip-path:inset(0 -100vmax); color:#efe7dc; }
body.ac-tx #Content .ac-tx-band .ac-detail-section__title { color:#fbf8f3!important; }
body.ac-tx #Content .ac-tx-band :is(.ac-detail-row,.ac-detail-column) { padding:0; border:0; background:transparent!important; box-shadow:none!important; }
body.ac-tx #Content .ac-tx-band :is(.ac-ba__count,.ac-ba__note) { color:#d9cfc2; }
body.ac-tx #Content .ac-tx-band .ac-ba__controls button { border-color:rgb(255 255 255 / 28%); background:transparent!important; color:#fbf8f3!important; }
body.ac-tx #Content .ac-tx-band .ac-ba__controls button:hover { border-color:#fbf8f3; }
body.ac-tx #Content .ac-tx-band .ac-ba__controls button>.ac-inline-arrow { background:transparent; color:inherit; }
@media (hover:hover) and (pointer:fine) { body.ac-tx #Content .ac-tx-band .ac-ba__controls button:hover>.ac-inline-arrow { background:#fbf8f3!important; color:#181818!important; } }
body.ac-tx #Content .ac-tx-band .ac-ba__thumbs button { background:#3a332e!important; }
body.ac-tx #Content .ac-tx-band .ac-ba__thumbs button[aria-pressed=true] { border-color:#e6dccd; }
body.ac-tx .ac-tx-band .ac-ba__stage { box-shadow:0 30px 70px rgb(0 0 0 / 35%); }

/* Prodotti consigliati: schede compatte, quattro per riga. */
body.ac-tx #Content .ac-detail-advice .woocommerce ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.ac-tx #Content .ac-detail-advice ul.products li.product { gap:12px; }
body.ac-tx #Content .ac-detail-advice ul.products .desc { padding:0 16px 16px; }
body.ac-tx #Content .ac-detail-advice ul.products :is(h2,h4) { font-size:16px!important; line-height:1.35!important; }
body.ac-tx #Content .ac-detail-advice ul.products .price { font-size:16px; }
@media (max-width:1000px) { body.ac-tx #Content .ac-detail-advice .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Le sezioni entrano con una lieve dissolvenza quando arrivano sullo schermo. */
@media (prefers-reduced-motion:no-preference) {
 html.ac-tx-ready body.ac-tx .ac-tx-reveal { opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s var(--tx-ease); }
 html.ac-tx-ready body.ac-tx .ac-tx-reveal.is-in { opacity:1; transform:none; }
}

/* La barra prende il posto della vecchia barra contatti: WhatsApp e reCAPTCHA salgono sopra. */
@media (max-width:760px) {
 html.ac-tx-ready body.ac-tx #mobcont-x { display:none!important; }
 html.ac-tx-ready body.ac-tx { border-bottom:0!important; }
 body.ac-tx .wa__btn_popup_txt { display:none!important; }
 body.ac-tx :is(.wa__btn_popup,.grecaptcha-badge) { transition:bottom .4s var(--tx-ease, ease)!important; }
 body.ac-tx.ac-tx-bar-on .wa__btn_popup { bottom:calc(84px + env(safe-area-inset-bottom, 0px))!important; }
 body.ac-tx.ac-tx-bar-on .grecaptcha-badge { bottom:calc(84px + env(safe-area-inset-bottom, 0px))!important; }
 body.ac-tx #Content .ac-tx-quick li { padding:9px 13px 10px; }
 body.ac-tx #Content .ac-tx-actions { flex-direction:column; }
 body.ac-tx #Content a.ac-tx-button { width:100%; }
 body.ac-tx .ac-ba__stage { width:100%; border-radius:18px; }
 body.ac-tx .ac-ba__bar { width:100%; }
 body.ac-tx #Content .ac-ba__controls button { padding:0 14px; }
 body.ac-tx #Content .ac-ba__thumbs button { width:80px; height:60px; }
 body.ac-tx #Content .ac-tx-links { gap:10px 24px; margin-top:24px!important; }
 body.ac-tx #Content .ac-detail-section.ac-tx-band { margin-block:44px; padding-block:44px; }
 body.ac-tx #Content .ac-detail-advice .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 body.ac-tx #Content .ac-detail-advice ul.products .desc { padding:0 12px 14px; }
 body.ac-tx #Content .ac-detail-advice ul.products :is(h2,h4) { font-size:15px!important; }
 body.ac-tx #Content .ac-detail-advice ul.products .button { align-self:stretch; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
 .ac-tx-bar, body.ac-tx :is(.ac-tx-button,.ac-ba__knob,.ac-ba__hint,.ac-ba__layer img) { transition:none!important; }
}
