/* Compact persistent navigation; anchors and native details work before JavaScript. */
/* !important: uno script imposta padding-top:0 in linea sul body e il contenuto finiva sotto l'header fisso. */
body.ac-navigation-native { --ac-header-height:88px; padding-top:var(--ac-header-height)!important; }
body.ac-navigation-native #Header { min-height:0!important; }
body.ac-navigation-native #Top_bar.ac-header-bar { position:fixed!important; inset:0 0 auto!important; width:100%!important; height:var(--ac-header-height)!important; box-sizing:border-box; background:var(--atelier-light)!important; border-bottom:1px solid var(--atelier-line); box-shadow:0 4px 22px #342e2908; z-index:1001; }
body.ac-navigation-native.admin-bar #Top_bar.ac-header-bar { top:32px!important; }
body.ac-navigation-native #Top_bar.ac-header-bar>.container { width:calc(100% - 48px)!important; max-width:1480px!important; padding:0!important; background:transparent!important; box-shadow:none!important; border:0; }
body.ac-navigation-native #Top_bar.ac-header-bar>.container>.column.one { display:flex!important; align-items:center; gap:20px; margin:0!important; width:100%; height:var(--ac-header-height); float:none; }
body.ac-navigation-native #Top_bar.ac-header-bar .top_bar_left { display:flex!important; align-items:center; gap:28px; flex:1; width:auto!important; min-width:0; float:none!important; position:static!important; }
body.ac-navigation-native #Top_bar.ac-header-bar .top_bar_left:before,body.ac-navigation-native #Top_bar.ac-header-bar .top_bar_left:after { display:none; }
body.ac-navigation-native #Top_bar.ac-header-bar .logo { float:none!important; flex:0 0 212px; width:212px!important; margin:0!important; text-align:left; }
body.ac-navigation-native #Top_bar.ac-header-bar #logo { height:auto!important; line-height:1!important; padding:0!important; margin:0!important; display:block; }
body.ac-navigation-native #Top_bar.ac-header-bar #logo img { width:auto!important; max-width:212px!important; max-height:52px!important; height:auto!important; }
body.ac-navigation-native #Top_bar.ac-header-bar .menu_wrapper { flex:1; float:none; min-width:0; }
body.ac-navigation-native #Top_bar.ac-header-bar #menu { display:block!important; }
body.ac-navigation-native #Top_bar.ac-header-bar #menu>.menu { display:flex; align-items:center; justify-content:center; float:none; }
body.ac-navigation-native #Top_bar.ac-header-bar #menu>.menu>li { float:none; }
body.ac-navigation-native #Top_bar.ac-header-bar #menu>.menu>li>a { padding:0; border:0; font-size:14px; line-height:1.4; letter-spacing:.015em; }
body.ac-navigation-native #Top_bar.ac-header-bar #menu>.menu>li>a>span { padding:14px 10px; line-height:1.4; border:0; }
body.ac-navigation-native #Top_bar.ac-header-bar #menu>.menu>li>a:after { height:1px; bottom:5px; background:var(--atelier-accent); }
body.ac-navigation-native #Top_bar.ac-header-bar #menu .sub-menu { background:var(--atelier-light); border:1px solid var(--atelier-line); border-radius:18px; box-shadow:var(--atelier-shadow); padding:10px; }
body.ac-navigation-native #Top_bar.ac-header-bar #menu .sub-menu a { border:0; border-radius:10px; font-size:14px; line-height:1.5; }
body.ac-navigation-native #Top_bar.ac-header-bar #menu li:is(:hover,:focus-within)>ul { display:block!important; opacity:1!important; visibility:visible!important; }
body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-actions { display:flex; align-items:center; gap:13px; flex-shrink:0; }
body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:46px; box-sizing:border-box; padding:11px 21px; margin:0; border-radius:50px; background:var(--atelier-accent); color:#fffdf9; font-size:13px; line-height:1.4; letter-spacing:0; text-decoration:none; white-space:nowrap; transition:box-shadow .2s,transform .2s; }
body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking:hover { box-shadow:0 5px 16px #71554526; transform:translateY(-1px); }
body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking>span:last-child { font-size:21px; line-height:1; }
body.ac-navigation-native #Top_bar.ac-header-bar .ac-booking-short { display:none; }
body.ac-navigation-native #Top_bar.ac-header-bar :is(#header_cart,#header_user) { display:inline-flex; align-items:center; justify-content:center; position:relative; top:auto; margin:0; padding:0; width:30px; min-height:44px; color:var(--atelier-ink); text-decoration:none; font-size:24px; }
body.ac-navigation-native #Top_bar.ac-header-bar #header_cart span { position:absolute; right:-4px; top:3px; font:10px/17px Arial,sans-serif; min-width:17px; height:17px; text-align:center; border-radius:50%; background:var(--atelier-accent); color:#fffdf9; }
body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile { display:none; }
body.ac-navigation-native #Top_bar.ac-header-bar :is(a,summary):focus-visible { outline:2px solid var(--atelier-accent); outline-offset:4px; }
body.ac-navigation-native #Top_bar.ac-header-bar :is(a,summary) { cursor:pointer; }
@media(max-width:1239px) {
 body.ac-navigation-native { --ac-header-height:78px; }
 body.ac-navigation-native #Top_bar.ac-header-bar>.container { width:calc(100% - 32px)!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar>.container>.column.one { gap:14px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .top_bar_left { order:1; flex:1; justify-content:center; }
 body.ac-navigation-native #Top_bar.ac-header-bar .logo { flex:0 1 205px; width:auto!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar #logo img { max-width:205px!important; max-height:44px!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar .menu_wrapper { display:none; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile { display:block; order:0; flex:0 0 38px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile>summary { width:38px; height:44px; display:flex; align-items:center; justify-content:center; list-style:none; cursor:pointer; border-radius:12px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile>summary::-webkit-details-marker { display:none; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile>summary i { display:block; width:22px; height:1px; margin:5px 0; background:var(--atelier-ink); transition:transform .2s; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-actions { order:2; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile>nav { position:absolute; top:100%; left:0; right:0; max-height:calc(100dvh - var(--ac-header-height) - 48px); overflow:auto; padding:18px max(20px,calc((100vw - 700px)/2)); background:var(--atelier-light); border-bottom:1px solid var(--atelier-line); box-shadow:var(--atelier-shadow); }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu,body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu ul { list-style:none; padding:0; margin:0; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu li { margin:0; border:0; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu :is(a,summary) { display:flex; align-items:center; justify-content:space-between; min-height:46px; box-sizing:border-box; gap:20px; padding:10px 12px; color:var(--atelier-ink); text-decoration:none; font-size:16px; line-height:1.5; cursor:pointer; list-style:none; border-radius:12px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu summary::-webkit-details-marker { display:none; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu :is(a,summary):hover { background:var(--atelier-card); }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu ul { padding-left:16px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu ul :is(a,summary),body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-parent { font-size:14px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-mobile-menu details[open]>summary>span { transform:rotate(45deg); }
}
@media(max-width:782px) { body.ac-navigation-native.admin-bar #Top_bar.ac-header-bar { top:46px!important; } }
@media(max-width:600px) {
 body.ac-navigation-native { --ac-header-height:72px; }
 body.ac-navigation-native #Top_bar.ac-header-bar>.container { width:calc(100% - 24px)!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar>.container>.column.one { gap:8px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .logo { flex:0 1 150px; }
 body.ac-navigation-native #Top_bar.ac-header-bar #logo img { max-width:min(150px,34vw)!important; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-actions { gap:7px; }
 body.ac-navigation-native #Top_bar.ac-header-bar #header_user { display:none; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking { min-height:42px; padding:10px 15px; gap:8px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-booking-long { display:none; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-booking-short { display:inline; }
}
@media(max-width:359px) {
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking>span:last-child { display:none; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking { padding-inline:12px; }
 body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-mobile { flex-basis:32px; }
}
/* Native treatment blocks retain the shared palette and image/frame sizes. */
.ac-native-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 24px; }
.ac-native-gallery>a { display:block; border-radius:18px; overflow:hidden; background:#fff; }
#Content .ac-native-gallery img { display:block; width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; margin:0; }
#Content .ac-native-image { margin:0 0 24px; }
#Content .ac-native-image img { display:block; width:100%; height:auto; margin:0; }
#Content .ac-detail-facts>.ac-native-image { margin:0!important; padding:0!important; }
#Content .ac-detail-facts>.ac-native-purchase { padding:20px 24px 24px; }
#Content .ac-detail-facts>.ac-native-purchase .button { margin:0; box-sizing:border-box; max-width:100%; }
.ac-native-video { margin-bottom:24px; overflow:hidden; border-radius:20px; }
.ac-native-video :is(video,iframe) { display:block; width:100%; max-width:100%; margin:0; }
.ac-native-video iframe { aspect-ratio:16/9; height:auto; }
.ac-native-accordion { margin:24px 0 0; padding:0 24px; border:1px solid var(--atelier-line); border-radius:18px; }
.ac-native-accordion>summary { display:flex; justify-content:space-between; align-items:center; min-height:52px; padding:12px 0; gap:20px; list-style:none; cursor:pointer; }
.ac-native-accordion>summary::-webkit-details-marker { display:none; }
.ac-native-accordion>div { padding:0 0 20px; }
.ac-native-accordion[open]>summary>span { transform:rotate(45deg); }
@media(max-width:700px) { .ac-native-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
.ac-native-lightbox { box-sizing:border-box; width:min(1100px,calc(100vw - 28px)); max-height:calc(100dvh - 28px); padding:16px; border:1px solid var(--atelier-line); border-radius:24px; background:#fff; color:var(--atelier-ink); box-shadow:var(--atelier-shadow); }
.ac-native-lightbox::backdrop { background:rgb(52 46 41 / 78%); }
.ac-native-lightbox>header,.ac-native-lightbox>footer { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ac-native-lightbox button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:8px 18px; margin:0; border:1px solid var(--atelier-line); border-radius:50px; background:var(--atelier-card); color:var(--atelier-ink); font:inherit; font-size:14px; cursor:pointer; }
.ac-native-lightbox button:focus-visible { outline:2px solid var(--atelier-accent); outline-offset:3px; }
body.ac-atelier .ac-native-lightbox button[hidden] { display:none!important; }
.ac-native-lightbox figure { margin:12px 0; }
.ac-native-lightbox figure img { display:block; max-width:100%; width:auto; max-height:calc(100dvh - 210px); height:auto; margin:auto; object-fit:contain; }
.ac-native-lightbox figcaption { font-size:13px; line-height:1.5; text-align:center; margin-top:10px; }
/* Ingrandimento nel popup (tabelle delle routine e immagini ricche di dettagli): l'immagine a grandezza piena, si scorre. */
.ac-native-lightbox .ac-lightbox-tools { display:flex; align-items:center; gap:8px; }
.ac-native-lightbox:has([data-ac-zoom]:not([hidden])) figure img { cursor:zoom-in; }
.ac-native-lightbox.is-zoomed figure { max-height:calc(100dvh - 210px); overflow:auto; overscroll-behavior:contain; border-radius:14px; background:var(--atelier-card); }
.ac-native-lightbox.is-zoomed figure img { max-width:none; max-height:none; width:auto; cursor:zoom-out; }
.ac-native-lightbox.is-zoomed figcaption { display:none; }
.ac-lightbox-counter { font-size:13px; }
@media(prefers-reduced-motion:reduce) { body.ac-navigation-native #Top_bar.ac-header-bar .ac-header-booking { transition:none; transform:none; } }

/* The social template retains the separator layout without loading builder CSS. */
.page-template-template-sociale-acf .ac-page-content .vc_separator { display:flex; align-items:center; }
.page-template-template-sociale-acf .ac-page-content .vc_sep_holder { display:block; flex:1; }
.page-template-template-sociale-acf .ac-page-content .vc_sep_line { display:block; border-top-style:solid; }
