/* Alta Clinic atelier: shared tokens, no new fonts, scripts or external requests. */
body.ac-atelier {
 --atelier-paper:#fbf8f3; --atelier-card:#f2ebe1; --atelier-light:#fffdf9;
 --atelier-ink:#342e29; --atelier-muted:#665d54; --atelier-accent:#715545;
 --atelier-line:#ded3c4; --atelier-radius:24px; --atelier-field:14px;
 --atelier-shadow:0 14px 36px rgb(90 62 36 / 8%); --atelier-card-action-height:52px;
 --about-ink:var(--atelier-ink); --about-muted:var(--atelier-muted); --about-paper:var(--atelier-card); --about-rule:0;
 --detail-ink:var(--atelier-ink); --detail-paper:var(--atelier-card); --detail-rule:0;
 --ac-ink:var(--atelier-ink); --ac-muted:var(--atelier-muted); --ac-paper:var(--atelier-card); --ac-rule:0;
 --ac-directory-ink:var(--atelier-ink); --ac-directory-muted:var(--atelier-muted); --ac-directory-paper:var(--atelier-card); --ac-directory-rule:0;
}
body.ac-atelier #Wrapper,body.ac-atelier #Content,body.ac-atelier #Content[class] { background:var(--atelier-paper); color:var(--atelier-ink); }
body.ac-atelier #Content { letter-spacing:normal; }
body.ac-atelier #Top_bar,body.ac-atelier #Top_bar.is-sticky { background:var(--atelier-light); }
body.ac-atelier #Top_bar .menu>li>a { color:var(--atelier-ink); }
body.ac-atelier #Top_bar .prenota-visita>a { border-radius:50px!important; border-color:var(--atelier-line)!important; background:var(--atelier-card); color:var(--atelier-ink); }
body.ac-atelier #Content :is(h1,h2,h3,h4) { color:var(--atelier-ink); }
body.ac-atelier #Content :is(h2.vc_custom_heading,h3.vc_custom_heading,.photo_box .desc) { font-family:Georgia,'Times New Roman',serif; }
body.ac-atelier #Content :is(p,li) { text-wrap:pretty; }
body.ac-atelier #Content :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--atelier-accent); outline-offset:4px; }
/* Explicit interactive cursors, including icons and text inside clickable controls. */
body.ac-atelier :is(a[href],button,input[type=submit],input[type=button],input[type=reset],input[type=checkbox],input[type=radio],select,summary,[role=button]):not(:disabled):not([aria-disabled=true]),
body.ac-atelier :is(a[href],button,summary,[role=button]):not(:disabled):not([aria-disabled=true]) :is(span,svg,path,img,i,strong),
body.ac-atelier :is(.autocomplete-suggestion,.link-result a) { cursor:pointer!important; }
body.ac-atelier #Content :is(input[type=search],input[type=text],input[type=email],input[type=tel],input[type=password],textarea):not(:disabled) { cursor:text!important; }

/* Buttons keep their original actions, disabled states and touch targets. */
body.ac-atelier :is(#Content,#Footer,#Top_bar) :is(a.button,button.button,input[type=submit],input[type=button],button[type=submit],.vc_btn3,.ac-contact-button,.ac-news-read,.ac-catalog-read,.ac-page-link),
body.ac-atelier :is(.ywgc-gift-this-product-button,.ywgc-choose-template) {
 border-radius:50px!important; min-height:44px; box-sizing:border-box; box-shadow:none;
}
body.ac-atelier #Content :is(a.button,button.button,input[type=submit],button[type=submit],.vc_btn3,.ac-contact-button) {
 border-color:var(--atelier-accent)!important; background:var(--atelier-accent)!important; color:#fffdf9!important;
 padding:13px 24px; transition:background .25s ease,box-shadow .25s ease;
}
body.ac-atelier #Content :is(a.button,button.button,input[type=submit],button[type=submit],.vc_btn3,.ac-contact-button):hover { background:#594234!important; }
body.ac-atelier #Content :is(.ac-news-read,.ac-catalog-read,.ac-page-link) { border:1px solid var(--atelier-line); padding:11px 22px; background:var(--atelier-light); }
body.ac-atelier #Content :is(.ac-directory-arrow,.ac-catalog-card__discover,.ac-catalog-stock,.onsale,.page-numbers:not(ul),.ac-news-category) { border-radius:50px!important; border-color:var(--atelier-line)!important; }

/* Do not change field widths: gift-card calendar and variation controls have their own sizing. */
body.ac-atelier #Content :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=url],input[type=date],select,textarea),
body.ac-atelier :is(.ywgc-popup,.ywgc-product-as-present-container) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
 border-radius:var(--atelier-field)!important; border-color:var(--atelier-line)!important; background-color:var(--atelier-light); color:var(--atelier-ink); font-size:16px;
}
body.ac-atelier #Content :is(input,textarea)::placeholder { color:#776c61; opacity:1; }

/* Spacious paper cards. No black dividing lines between image and copy. */
body.ac-atelier #Content :is(.ac-directory-card,.ac-about-person,.ac-detail-related-card,.ac-news-card,.ac-social-card,.ac-video-card,.ac-contact-route,.ac-contact-form,.ac-about-story,.ac-about-contact,.ac-detail-column,.ac-detail-section--contact,.ac-contact-signoff,.ac-news-signoff,.ac-catalog-help,.ac-detail-advice,.ac-catalog-search,.ac-catalog-empty,.ac-faq-item,.ac-catalog-about,.ac-catalog-categories,.ac-news-intro) {
 border:0; border-radius:var(--atelier-radius); background:var(--atelier-card);
}
body.ac-atelier #Content :is(.ac-directory-card,.ac-about-person,.ac-detail-related-card,.ac-news-card,.ac-social-card,.ac-video-card) { overflow:hidden; transition:transform .3s ease,box-shadow .3s ease; }
body.ac-atelier #Content :is(.ac-directory-card__visual,.ac-about-person__visual,.ac-news-card__image-link,.ac-catalog-card__visual,.ac-detail-related-card img) { border:0; padding:0; background:#fff; }
body.ac-atelier #Content :is(.ac-directory-card__image,.ac-catalog-image) { padding:0; margin:0; object-fit:contain; transform:none; }
/* Equal illustration frames keep treatment names aligned, regardless of source proportions. */
body.ac-atelier #Content .ac-directory-card__visual { position:relative; flex:none; aspect-ratio:4/3; }
body.ac-atelier #Content .ac-directory-card__visual img { position:absolute; inset:0; display:block; width:100%; height:100%; max-height:none; object-fit:contain; padding:0; margin:0; }
body.ac-atelier #Content .ac-directory-card__body { align-content:start; }
/* Staff photos and missing-photo placeholders share one frame, so names start together. */
body.ac-atelier #Content .ac-about-person__visual { position:relative; flex:none; aspect-ratio:4/4.3; padding:0; background:#fff; }
body.ac-atelier #Content .ac-about-person__visual>a { display:block; width:100%; height:100%; }
body.ac-atelier #Content .ac-about-person__visual img { position:absolute; inset:0; display:block; width:100%; height:100%; max-height:none; object-fit:contain; object-position:center bottom; padding:0; margin:0; }
@media(max-width:700px) { body.ac-atelier #Content .ac-about-person__visual { aspect-ratio:1; } }
body.ac-atelier #Content .ac-about-person__details a { border:0; padding:9px 17px; border-radius:50px; background:var(--atelier-light); }
/* News grids share image frames, including banners and illustrated placeholders. */
body.ac-atelier #Content .ac-news-grid>.ac-news-card>.ac-news-card__image-link { flex:none; aspect-ratio:16/10; }
body.ac-atelier #Content .ac-news-grid .ac-news-visual { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; }
body.ac-atelier #Content .ac-news-grid .ac-news-image { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:contain; margin:0; }
/* Align metadata, full titles, excerpts and links within each row without fixed text heights. */
@supports(grid-template-rows:subgrid) {
 body.ac-atelier #Content .ac-news-grid>.ac-news-card { display:grid; grid-template-rows:subgrid; grid-row:span 5; row-gap:0; }
 body.ac-atelier #Content .ac-news-grid>.ac-news-card>.ac-news-card__image-link { grid-row:1; }
 body.ac-atelier #Content .ac-news-grid .ac-news-card__body { display:grid; grid-template-rows:subgrid; grid-row:2/span 4; row-gap:0; justify-items:start; }
 body.ac-atelier #Content .ac-news-grid .ac-news-meta { grid-row:1; }
 body.ac-atelier #Content .ac-news-grid .ac-news-card__title { grid-row:2; }
 body.ac-atelier #Content .ac-news-grid .ac-news-card__excerpt { grid-row:3; }
 body.ac-atelier #Content .ac-news-grid .ac-news-read { grid-row:4; }
}
body.ac-atelier #Content .ac-about-grid:has(>.ac-about-partner) { gap:16px; border:0; }
body.ac-atelier #Content .ac-about-partner { border:0; border-radius:20px; padding:0; background:#fff; }
body.ac-atelier #Content .ac-about-partner { position:relative; overflow:hidden; }
body.ac-atelier #Content .ac-about-partner>a { width:100%; height:100%; }
body.ac-atelier #Content .ac-about-partner img { position:absolute; inset:0; width:100%; height:100%; max-height:none; object-fit:contain; }
body.ac-atelier #Content :is(.ac-about-index,.ac-about-section__heading,.ac-detail-index,.ac-detail-next,.ac-directory-selection,.ac-page-index,.ac-page-next,.ac-contact-section-heading) { border:0; }
body.ac-atelier #Content :is(.ac-detail-index,.ac-about-index,.ac-page-index) { padding:18px 22px; background:#f3ede5; border-radius:20px; }
body.ac-atelier #Content :is(.ac-detail-index,.ac-about-index,.ac-page-index) a { min-height:44px; }
body.ac-atelier #Content :is(.ac-detail-index,.ac-about-index,.ac-page-index,.ac-news-toc) a>span[aria-hidden=true] { flex:0 0 auto; }
body.ac-atelier #Content .ac-news-toc a { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
body.ac-atelier #Content .ac-detail-section--heading .ac-detail-column { background:transparent; padding:0; }
body.ac-atelier #Content .ac-detail-facts .dettagli-t { border:0!important; padding-top:8px!important; }
body.ac-atelier #Content .ac-detail-column:has(>.wpb_single_image) { padding:0 0 24px; overflow:hidden; }
body.ac-atelier #Content .ac-detail-column:has(>.wpb_single_image)>:not(.wpb_single_image) { padding-inline:24px; }
/* Legacy inline template styles set padding:5px!important on the fact rows. */
body.ac-atelier #Content .ac-detail-facts>.dettagli-t { padding:12px 24px!important; margin:0!important; }
body.ac-atelier #Content .ac-detail-facts>:is(.templatera_shortcode,.wpb_raw_code) { padding:12px 24px!important; }
body.ac-atelier #Content .ac-detail-facts>.wpb_text_column:not(.dettagli-t) { padding:12px 24px!important; margin:0!important; }
body.ac-atelier #Content .ac-detail-column>.wpb_single_image :is(figure,.vc_single_image-wrapper) { display:block; width:100%; padding:0; margin-inline:0; }
body.ac-atelier #Content .ac-detail-column>.wpb_single_image img { display:block; width:100%; height:auto; padding:0; margin:0; }
body.ac-atelier #Content .wpb_text_column li { border-bottom:0; }
body.ac-atelier #Content .ac-directory-content .wpb_text_column { border:0; border-radius:24px; }
body.ac-atelier #Content :is(.ac-about-film,.ac-contact-map,.ac-contact-map__frame,.ac-video-card,.wpb_video_wrapper,video,.vc_single_image-wrapper,.ac-news-article__cover,.ac-news-article__hero) { border:0; border-radius:24px; overflow:hidden; }
body.ac-atelier #Content video { display:block; object-fit:cover; }
body.ac-atelier #Content .ac-about-film video { width:100%; height:auto; aspect-ratio:2/1; object-fit:cover; }
body.ac-atelier #Content video:fullscreen { width:100vw; height:100vh; max-width:none; object-fit:cover; border-radius:0; }
body.ac-atelier #Content :is(.ac-news-prose,.ac-news-toc,.ac-news-contact,.ac-classic-title,.ac-error) { border:0; border-radius:24px; background:var(--atelier-card); }
body.ac-atelier #Content .ac-news-prose { background:var(--atelier-light); }
body.ac-atelier #Content :is(.wpb_single_image img,.ac-news-article__cover img) { border-radius:20px; }

/* Breadcrumb typography and rhythm only: keep every component's existing colours. */
body.ac-atelier :is(#Content,#Subheader) :is(.ac-detail-breadcrumb,.ac-about-breadcrumb,.ac-page-breadcrumb,.ac-directory-breadcrumb,.ac-news-breadcrumb,.woocommerce-breadcrumb,ul.breadcrumbs) {
 display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px;
 min-width:0; max-width:100%; padding:0; margin:0 0 24px;
 font:400 12px/1.7 'Open Sans',Arial,Tahoma,sans-serif!important;
 letter-spacing:normal; text-transform:none; text-align:left; overflow-wrap:anywhere;
}
body.ac-atelier :is(#Content,#Subheader) :is(.ac-detail-breadcrumb,.ac-about-breadcrumb,.ac-page-breadcrumb,.ac-directory-breadcrumb,.ac-news-breadcrumb,.woocommerce-breadcrumb,ul.breadcrumbs) :is(a,span,li) {
 font:inherit; letter-spacing:inherit; text-transform:inherit; padding:0; margin:0;
}
body.ac-atelier :is(#Content,#Subheader) :is(.ac-detail-breadcrumb,.ac-about-breadcrumb,.ac-page-breadcrumb,.ac-directory-breadcrumb,.ac-news-breadcrumb,.woocommerce-breadcrumb,ul.breadcrumbs) a:hover { text-decoration:underline; text-underline-offset:4px; }
body.ac-atelier #Subheader ul.breadcrumbs { width:100%; float:none; list-style:none; }
body.ac-atelier #Subheader ul.breadcrumbs li { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; }
body.ac-atelier #Content .ac-catalog-topline { margin-bottom:24px; }
body.ac-atelier #Content .ac-catalog-topline .woocommerce-breadcrumb { margin:0; }
@media(max-width:700px) {
 body.ac-atelier :is(#Content,#Subheader) :is(.ac-detail-breadcrumb,.ac-about-breadcrumb,.ac-page-breadcrumb,.ac-directory-breadcrumb,.ac-news-breadcrumb,.woocommerce-breadcrumb,ul.breadcrumbs) { gap:4px 8px; margin-bottom:18px; }
 body.ac-atelier #Subheader ul.breadcrumbs li { column-gap:8px; }
 body.ac-atelier #Content .ac-catalog-topline { margin-bottom:18px; }
 body.ac-atelier #Content .ac-catalog-topline .woocommerce-breadcrumb { margin:0; }
}

/* Hero: the drawing sits beside the title, uncropped, like a full editorial plate. */
body.ac-atelier .ac-home-custom-hero { width:calc(100% - 40px); max-width:1200px; margin:28px auto; }
body.ac-atelier .ac-home-custom-hero .ac-visual-hero { position:relative; min-height:440px; margin:0; overflow:hidden; border-radius:32px; background:var(--atelier-card); color:var(--atelier-ink); }
body.ac-atelier .ac-home-custom-hero h1 { text-align:left; color:inherit; }
body.ac-atelier :is(#Content,.ac-home-custom-hero) .ac-visual-hero--split:not(.ac-visual-hero--empty) { display:grid; grid-template-columns:1fr 1.05fr; align-items:stretch; }
body.ac-atelier :is(#Content,.ac-home-custom-hero) .ac-visual-hero--split .ac-visual-hero__media { position:relative; inset:auto; z-index:auto; grid-column:2; grid-row:1; min-width:0; padding:0; overflow:hidden; }
body.ac-atelier :is(#Content,.ac-home-custom-hero) .ac-visual-hero--split .ac-visual-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; padding:0; margin:0; }
body.ac-atelier :is(#Content,.ac-home-custom-hero) .ac-visual-hero--split .ac-visual-hero__copy { grid-column:1; grid-row:1; display:flex; flex-direction:column; justify-content:center; min-width:0; text-align:left; padding:clamp(28px,4vw,52px); background:transparent; }
body.ac-atelier #Content .ac-visual-hero--split h1 { text-align:left!important; }
body.ac-atelier #Content .ac-visual-hero { border:0; border-radius:32px; background:var(--atelier-card); min-height:440px; }
body.ac-atelier #Content .ac-visual-hero__copy { color:var(--atelier-ink); background:linear-gradient(0deg,#fbf8f3f5,#fbf8f3dc 60%,#fbf8f300); padding:48px 36px 36px; }
body.ac-atelier #Content .ac-visual-hero h1 { color:var(--atelier-ink)!important; font-size:clamp(34px,4.3vw,60px)!important; line-height:1.12!important; }
body.ac-atelier #Content .ac-visual-hero__lead p { color:var(--atelier-muted); font-size:17px; line-height:1.7; }
body.ac-atelier #Content :is(.ac-visual-hero--illustration,.ac-visual-hero--portrait):not(.ac-visual-hero--empty) { display:grid; grid-template-columns:1fr 1.05fr; align-items:stretch; }
body.ac-atelier #Content :is(.ac-visual-hero--illustration,.ac-visual-hero--portrait) .ac-visual-hero__media { position:relative; inset:auto; z-index:auto; grid-column:2; grid-row:1; min-width:0; min-height:0; padding:0; background:#fff; overflow:hidden; }
body.ac-atelier #Content :is(.ac-visual-hero--illustration,.ac-visual-hero--portrait) .ac-visual-hero__image { object-fit:cover; object-position:center; width:100%; height:100%; max-height:none; position:absolute; inset:0; box-sizing:border-box; padding:0; margin:0; }
body.ac-atelier #Content :is(.ac-visual-hero--illustration,.ac-visual-hero--portrait) .ac-visual-hero__copy { grid-column:1; grid-row:1; display:flex; flex-direction:column; justify-content:center; min-width:0; text-align:left; padding:clamp(28px,4vw,52px); background:transparent; }
body.ac-atelier #Content :is(.ac-visual-hero--illustration,.ac-visual-hero--portrait) h1 { text-align:left!important; }
body.ac-atelier #Content :is(.ac-visual-hero--illustration,.ac-visual-hero--portrait) .ac-visual-hero__lead { margin:20px 0 0; }
body.ac-atelier #Content .ac-visual-hero--portrait .ac-visual-hero__media { background:#fff; }
body.ac-atelier #Content .ac-visual-hero--portrait .ac-visual-hero__image { object-position:center top; }

/* Catalogue and native WooCommerce cards retain prices, stock, filters and purchasing. */
body.ac-atelier #Content.ac-catalog ul.products>li.product { border:0; border-radius:24px; background:var(--atelier-card); overflow:hidden; }
body.ac-atelier #Content .ac-catalog-card__visual { position:relative; flex:none; border:0; aspect-ratio:4/3; background:#fff; }
body.ac-atelier #Content .ac-catalog-card__visual>a { position:absolute; inset:0; display:block; width:100%; height:100%; }
body.ac-atelier #Content .ac-catalog-card__visual img { position:absolute; inset:0; display:block; padding:0; margin:0; width:100%; height:100%; max-height:none; object-fit:contain; }
body.ac-atelier #Content .ac-catalog-card__visual .smallpay-custom-field-wrapper { position:absolute; inset:0 0 auto; z-index:3; margin:0; }
body.ac-atelier #Content .ac-catalog-card__visual .smallpay-custom-badge { box-sizing:border-box; max-width:100%!important; margin:0!important; background:#fff; }
body.ac-atelier #Content .ac-catalog-card__body { display:flex; flex-direction:column; }
body.ac-atelier #Content .ac-catalog-card__body>h2 { min-height:4.05em; flex:none; padding:0!important; margin:0 0 22px!important; }
body.ac-atelier #Content .ac-catalog-card__body>.price { margin-top:auto!important; }
body.ac-atelier #Content .ac-catalog-card__visual:has(.ac-catalog-placeholder),body.ac-atelier #Content .ac-directory-card__visual:has(.ac-directory-placeholder) { aspect-ratio:4/3; }
body.ac-atelier #Content .ac-detail-related-card { grid-template-rows:auto 1fr; align-items:start; width:100%; }
body.ac-atelier #Content .ac-detail-related-card img { aspect-ratio:4/3; height:auto; object-fit:contain; padding:0; }
body.ac-atelier #Content .ac-detail-section--related .ac-detail-row { align-items:stretch; }
body.ac-atelier #Content .ac-detail-section--related .ac-detail-column { display:flex; }
body.ac-atelier #Content .ac-detail-section--related .ac-detail-column { padding:0; border:0; }
body.ac-atelier #Content .ac-detail-related-card img { display:block; grid-column:1/-1; width:100%; }
body.ac-atelier #Content .ac-catalog-products--single .ac-catalog-card__visual { border:0; aspect-ratio:auto; }
body.ac-atelier #Content .ac-catalog-products--single .ac-catalog-card__body>h2 { min-height:0; }
body.ac-atelier #Content .ac-catalog-categories { padding:4px 24px; }
body.ac-atelier #Content .ac-catalog-categories ul { gap:8px 18px; }
body.ac-atelier #Content .ac-catalog-categories li a { border:0; padding:10px 14px; border-radius:14px; background:var(--atelier-light); }
body.ac-atelier #Content .ac-catalog-categories a[aria-current] { background:#e5d8c8; }
body.ac-atelier #Content.ac-catalog li.product-category img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
body.ac-atelier #Content .ac-catalog-search form { gap:8px; }
body.ac-atelier #Content .ac-catalog-search :is(input[type=text],input[type=search],button,input[type=submit]) { border-radius:50px!important; }
body.ac-atelier #Content .ac-catalog-search :is(button,input[type=submit]) { background:var(--atelier-accent)!important; border-color:var(--atelier-accent)!important; }
/* Matched catalogue controls, including the search plugin's nested form wrappers. */
body.ac-atelier #Content .ac-catalog-controls { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:end; padding:22px 24px; border-radius:24px; background:var(--atelier-card); }
body.ac-atelier #Content .ac-catalog-controls .ac-catalog-toolbar { gap:10px; min-width:0; }
body.ac-atelier #Content .ac-catalog-controls :is(.woocommerce-result-count,.ac-catalog-eyebrow) { font-family:inherit; font-size:14px; font-weight:400; line-height:22px; letter-spacing:normal; text-transform:none; color:var(--atelier-muted); margin:0; }
body.ac-atelier #Content .ac-catalog-controls .woocommerce-ordering { width:100%; margin:0; }
body.ac-atelier #Content .ac-catalog-controls .orderby { box-sizing:border-box; width:100%; min-width:0; height:52px; margin:0; padding:13px 42px 13px 18px; border:1px solid var(--atelier-line)!important; border-radius:50px!important; background-color:var(--atelier-light); appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%23715545' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 18px center; background-size:12px; font-size:16px; line-height:24px; }
body.ac-atelier #Content .ac-catalog-controls .ac-catalog-search { display:flex; flex-direction:column; align-items:stretch; gap:10px; min-width:0; padding:0; margin:0; border:0; border-radius:0; background:transparent; }
body.ac-atelier #Content .ac-catalog-controls .ac-catalog-search .yith-ajaxsearchform-container { width:100%!important; max-width:none; min-width:0; margin:0; }
body.ac-atelier #Content .ac-catalog-controls .ac-catalog-search form,
body.ac-atelier #Content .ac-catalog-controls .ac-catalog-search form>.yith-ajaxsearchform-container { display:flex; align-items:stretch; gap:10px; width:100%; margin:0; }
body.ac-atelier #Content .ac-catalog-controls .search-navigation { flex:1; min-width:0; }
body.ac-atelier #Content .ac-catalog-controls .ac-catalog-search :is(input[type=search],input[type=text]) { box-sizing:border-box; width:100%!important; min-width:0; height:52px; min-height:52px; padding:13px 18px!important; border:1px solid var(--atelier-line)!important; background-color:var(--atelier-light)!important; font-size:16px!important; line-height:24px; }
body.ac-atelier #Content .ac-catalog-controls .ac-catalog-search :is(button,input[type=submit]) { box-sizing:border-box; flex:none; width:96px; min-width:0; height:52px!important; min-height:52px; padding:13px 18px!important; border:1px solid var(--atelier-accent)!important; font-size:15px; line-height:24px; }
@media(max-width:760px) { body.ac-atelier #Content .ac-catalog-controls { grid-template-columns:minmax(0,1fr); gap:20px; } }
body.ac-atelier #Content .altaclinic-product-page :is(.woocommerce-product-gallery,.woocommerce-product-gallery__wrapper,.altaclinic-product-description,.related.products,.upsells.products) { border:0; border-radius:24px; background:var(--atelier-card); overflow:hidden; }
body.ac-atelier #Content .altaclinic-product-page :is(.woocommerce-product-gallery,.woocommerce-product-gallery__wrapper) { background:#fff; padding:0; }
body.ac-atelier #Content .altaclinic-product-page :is(.related,.upsells) :is(.image_frame,.image_wrapper) { background:#fff; padding:0; }
body.ac-atelier #Content .altaclinic-product-description__title { background:transparent; border:0; }
body.ac-atelier #Content .altaclinic-product-page .woocommerce-product-gallery__image { padding:0; margin:0; background:#fff; box-sizing:border-box; }
body.ac-atelier #Content :is(.ywgc-product-as-present-container,.ywgc-product-as-present) { border-radius:24px; border-color:var(--atelier-line); background:var(--atelier-card); }
body.ac-atelier #Content .altaclinic-product-page .summary #gift-this-product { border:0!important; border-radius:24px; background:var(--atelier-card); }
body.ac-atelier #Content #give-as-present { border-radius:50px!important; }

/* Recommendations sit at the end of clinical pages, as a quiet editorial note. */
body.ac-atelier #Content .ac-detail-advice { margin:44px 0; padding:clamp(24px,4vw,40px); }
.ac-atelier-eyebrow { font-size:12px; line-height:1.7; letter-spacing:.1em; text-transform:uppercase; color:var(--atelier-muted); }
body.ac-atelier #Content .ac-detail-advice>h2 { font:400 clamp(27px,3vw,38px)/1.2 Georgia,serif; margin:14px 0; }
body.ac-atelier #Content .ac-detail-advice .woocommerce ul.products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; width:100%; height:auto!important; margin:24px 0 0; }
body.ac-atelier #Content .ac-detail-advice ul.products::before,body.ac-atelier #Content .ac-detail-advice ul.products::after { display:none; }
body.ac-atelier #Content .ac-detail-advice ul.products li.product { display:flex; flex-direction:column; align-items:stretch; gap:16px; float:none!important; position:relative!important; inset:auto!important; transform:none!important; width:100%!important; margin:0!important; padding:0 0 20px!important; box-sizing:border-box; border:0!important; border-radius:20px; overflow:hidden; background:var(--atelier-light); }
body.ac-atelier #Content .ac-detail-advice ul.products .image_frame { flex:none; width:100%; grid-row:auto; margin:0; padding:0; border:0; border-radius:0; background:#fff; }
body.ac-atelier #Content :is(.ac-detail-advice,.altaclinic-product-page .related,.altaclinic-product-page .upsells) .image_frame .image_wrapper { position:relative; aspect-ratio:4/3; width:100%; }
body.ac-atelier #Content :is(.ac-detail-advice,.altaclinic-product-page .related,.altaclinic-product-page .upsells) .image_frame .image_wrapper>a:first-child { display:block; width:100%; height:100%; }
body.ac-atelier #Content :is(.ac-detail-advice,.altaclinic-product-page .related,.altaclinic-product-page .upsells) .image_frame img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; margin:0; padding:0; }
body.ac-atelier #Content .ac-detail-advice ul.products :is(.mask,.image_links) { display:none; }
body.ac-atelier #Content .ac-detail-advice ul.products img { max-height:none; padding:0; margin:0; transform:none; }
body.ac-atelier #Content .ac-detail-advice ul.products .desc { display:flex; flex-direction:column; flex:1; padding:0 20px; text-align:left; }
body.ac-atelier #Content .ac-detail-advice ul.products .desc>.price { margin-top:auto; }
body.ac-atelier #Content .ac-detail-advice ul.products .button { align-self:flex-start; font-size:13px; padding:9px 14px; background:transparent!important; color:var(--atelier-accent)!important; border:1px solid var(--atelier-line)!important; margin:auto 20px 0; }
body.ac-atelier #Content .ac-detail-advice ul.products :is(h2,h4) { font-size:18px!important; line-height:1.4!important; }
body.ac-atelier #Content .ac-detail-advice ul.products .price { font-size:17px; }
body.ac-atelier #Content .ac-form-context { grid-column:1/-1; width:100%; margin:0 0 24px; }
/* Introduzione del modulo: sottotitolo (h3) della sezione, non un secondo titolo grande. */
body.ac-atelier #Content .ac-form-context h3 { --atelier-heading-size:clamp(22px,2.2vw,26px); --atelier-heading-leading:1.3; --atelier-heading-before:0px; --atelier-heading-after:10px; }
/* Moduli CF7: il consenso a sinistra (il modulo lo centrava con style="text-align:center") e la verifica Cloudflare alla sua misura. */
body.ac-atelier #Content .wpcf7 form :is(p,div):has(>p .wpcf7-acceptance, >.wpcf7-form-control-wrap .wpcf7-acceptance, .wpcf7-acceptance) { text-align:left!important; }
body.ac-atelier #Content .wpcf7 .wpcf7-turnstile { width:300px!important; max-width:100%!important; margin-inline:0!important; }
/* Link e consenso nei colori del sito (prima il grigio-azzurro del vecchio tema): inchiostro, marrone al passaggio. */
body.ac-atelier #Content .wpcf7 form a:not(.button) { color:var(--atelier-ink)!important; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; transition:color .2s ease; }
@media (hover:hover) and (pointer:fine) { body.ac-atelier #Content .wpcf7 form a:not(.button):hover { color:var(--atelier-accent)!important; } }
body.ac-atelier #Content .wpcf7 input[type=checkbox] { width:18px; height:18px; accent-color:var(--atelier-accent); cursor:pointer; vertical-align:-3px; }
/* Campi CF7 uguali in Chrome e Safari: bordo sempre visibile e anello al focus. Prima i campi non avevano bordo e style-static.css li rendeva trasparenti (colore della sezione) quando attivi. */
body.ac-atelier { --atelier-error:#9f3a2a; --atelier-error-soft:#f6e6df; --atelier-success:#3f5c34; --atelier-success-soft:#e8eee0; }
body.ac-atelier #Wrapper .wpcf7 form :is(input:not([type=hidden],[type=checkbox],[type=radio],[type=submit],[type=button]),textarea,select) { border:1px solid var(--atelier-line)!important; background-color:var(--atelier-light)!important; color:var(--atelier-ink)!important; box-shadow:none!important; transition:border-color .2s ease, box-shadow .2s ease; }
@media (hover:hover) and (pointer:fine) { body.ac-atelier #Wrapper .wpcf7 form :is(input:not([type=hidden],[type=checkbox],[type=radio],[type=submit],[type=button]),textarea,select):hover { border-color:#c9b6a1!important; } }
body.ac-atelier #Wrapper .wpcf7 form :is(input:not([type=hidden],[type=checkbox],[type=radio],[type=submit],[type=button]),textarea,select):focus { border-color:var(--atelier-accent)!important; box-shadow:0 0 0 3px rgba(113,85,69,.2)!important; outline:0!important; background-color:#fff!important; }
body.ac-atelier #Wrapper .wpcf7 form :is(input,textarea,select).wpcf7-not-valid { border-color:var(--atelier-error)!important; }
body.ac-atelier #Wrapper .wpcf7 form :is(input,textarea,select).wpcf7-not-valid:focus { box-shadow:0 0 0 3px rgba(159,58,42,.18)!important; }
body.ac-atelier #Wrapper .wpcf7 .wpcf7-acceptance.wpcf7-not-valid input[type=checkbox] { outline:2px solid var(--atelier-error); outline-offset:2px; }
/* Errore del campo: una riga di testo sotto il campo, al posto del quadrato rosso con la × di base.css. */
body.ac-atelier .wpcf7 .wpcf7-not-valid-tip { position:static!important; left:auto!important; top:auto!important; width:auto!important; height:auto!important; margin:6px 2px 0!important; padding:0!important; border:0!important; background:none!important; text-indent:0!important; color:var(--atelier-error)!important; font-size:13.5px!important; line-height:1.45!important; font-weight:400; text-align:left; display:block; }
body.ac-atelier .wpcf7 .wpcf7-not-valid-tip::before,
body.ac-atelier .wpcf7 .wpcf7-not-valid-tip::after { content:none!important; display:none!important; }
/* Consenso: l'errore va sotto la riga del testo, non tra la casella e "Accetto…". */
body.ac-atelier .wpcf7 form :has(> .wpcf7-form-control-wrap .wpcf7-acceptance) { position:relative; }
body.ac-atelier .wpcf7 form :has(> .wpcf7-form-control-wrap .wpcf7-acceptance.wpcf7-not-valid) { padding-bottom:26px; }
body.ac-atelier .wpcf7 .wpcf7-form-control-wrap:has(.wpcf7-acceptance) { position:static!important; }
body.ac-atelier .wpcf7 .wpcf7-form-control-wrap:has(.wpcf7-acceptance) .wpcf7-not-valid-tip { position:absolute!important; left:0!important; bottom:0!important; white-space:normal; }
/* Messaggio del modulo: riquadro arrotondato sopra il pulsante (lo sposta contact-antispam.js), senza il bordo giallo o rosso che, con le colonne flottanti, circondava tutto il modulo. */
body.ac-atelier .wpcf7 form .wpcf7-response-output,
body.ac-atelier .wpcf7 form .alta-contact-check { clear:both; float:none; box-sizing:border-box; width:auto!important; margin:0 0 18px!important; padding:13px 16px!important; border:0!important; border-radius:14px; background:var(--atelier-light); color:var(--atelier-muted); font-size:15px!important; line-height:1.55!important; text-align:left; }
body.ac-atelier .wpcf7 form:is(.invalid,.unaccepted,.payment-required,.failed,.aborted,.spam) .wpcf7-response-output { position:relative; padding-left:46px!important; background:var(--atelier-error-soft); color:#6b291d; }
body.ac-atelier .wpcf7 form.sent .wpcf7-response-output { position:relative; padding-left:46px!important; background:var(--atelier-success-soft); color:#2f4527; }
body.ac-atelier .wpcf7 form:is(.invalid,.unaccepted,.payment-required,.failed,.aborted,.spam,.sent) .wpcf7-response-output::before { content:"!"; position:absolute; left:16px; top:15px; width:20px; height:20px; border-radius:50%; background:var(--atelier-error); color:#fff; font:700 13px/20px Georgia,serif; text-align:center; }
body.ac-atelier .wpcf7 form.sent .wpcf7-response-output::before { content:"✓"; background:var(--atelier-success); font:700 12px/20px "Open Sans",sans-serif; }
/* Invio in corso: pulsante attenuato e indicatore dentro il pulsante, anche durante la verifica Cloudflare. */
body.ac-atelier .wpcf7 form :has(> .wpcf7-submit) { position:relative; }
body.ac-atelier .wpcf7 form:is(.submitting,[aria-busy=true]) .wpcf7-submit { opacity:.75; cursor:progress!important; }
body.ac-atelier .wpcf7 form .wpcf7-submit + .wpcf7-spinner { position:absolute; right:22px; bottom:calc(50% - 10px); display:block; width:20px; height:20px; margin:0; padding:0; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; background:transparent; opacity:1; pointer-events:none; }
body.ac-atelier .wpcf7 form .wpcf7-submit + .wpcf7-spinner::before { content:none; }
body.ac-atelier .wpcf7 form:is(.submitting,[aria-busy=true]) .wpcf7-submit + .wpcf7-spinner { visibility:visible; animation:ac-form-spin .8s linear infinite; }
@keyframes ac-form-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { body.ac-atelier .wpcf7 form:is(.submitting,[aria-busy=true]) .wpcf7-submit + .wpcf7-spinner { animation-duration:2s; } }
/* Modulo e prodotti consigliati delle schede come le altre sezioni: titolo sopra, contenuto nel riquadro beige. */
body.ac-atelier #Content.ac-detail .ac-detail-section--contact { padding:0; border:0; border-radius:0; background:transparent; }
body.ac-atelier #Content.ac-detail .ac-detail-section--contact .ac-detail-column { padding:clamp(24px,3.5vw,40px); border-radius:var(--atelier-radius); background:var(--atelier-card); }
body.ac-atelier #Content.ac-detail .ac-detail-column.ac-detail-advice { margin:0; }
body.ac-atelier #Content.ac-detail .ac-detail-advice__lead { margin:0; color:var(--atelier-muted); }
body.ac-atelier #Content .ac-form-context p { font-size:16px; line-height:1.75; }
body.ac-atelier #Content .ac-form-context a { font-size:15px; text-decoration:underline; text-underline-offset:4px; }

/* Legacy builder cards and home sections use the same soft framing. */
body.ac-atelier #Content :is(.medicina-estetica-t,.titolo-trattamento-1)>.vc_column-inner { border:0!important; border-radius:24px; background-color:var(--atelier-card)!important; }
body.ac-atelier #Content .photo_box { border:0!important; border-radius:24px; overflow:hidden; background:var(--atelier-light); }
body.ac-atelier #Content .photo_box { display:flex; flex-direction:column; height:100%; }
body.ac-atelier #Content .photo_box .image_frame { flex:none; border:0; border-radius:24px; }
body.ac-atelier #Content .photo_box :is(.image_frame,.image_wrapper) { padding:0; margin:0; width:100%; background:#fff; }
body.ac-atelier #Content .photo_box .image_wrapper { position:relative; aspect-ratio:4/3; overflow:hidden; }
body.ac-atelier #Content .photo_box .image_wrapper>a { position:absolute; inset:0; display:block; width:100%; height:100%; }
body.ac-atelier #Content .photo_box img { position:absolute; inset:0; display:block; object-fit:contain; width:100%; height:100%; padding:0; margin:0; }
body.ac-atelier #Content .photo_box .desc { flex:1; }
body.ac-atelier #Content .medicina-estetica-t>.vc_column-inner:has(.photo_box) { padding:0!important; background-color:var(--atelier-card)!important; }
/* Native WooCommerce recommendations keep complete names and align their prices. */
body.ac-atelier #Content ul.products>li.product:has(>.image_frame) { display:flex; flex-direction:column; }
body.ac-atelier #Content ul.products>li.product>.image_frame { flex:none; }
body.ac-atelier #Content ul.products>li.product>.image_frame .image_wrapper { position:relative; width:100%; aspect-ratio:4/3; }
body.ac-atelier #Content ul.products>li.product>.image_frame .image_wrapper>a:first-child { display:block; width:100%; height:100%; }
body.ac-atelier #Content ul.products>li.product>.image_frame img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
body.ac-atelier #Content ul.products>li.product:has(>.image_frame)>.desc { display:flex; flex:1; flex-direction:column; }
body.ac-atelier #Content ul.products>li.product:has(>.image_frame)>.desc>.price { margin-top:auto; }
body.ac-atelier.ac-classic--routine #Content .woocommerce-product-gallery__image { position:relative; aspect-ratio:1; }
body.ac-atelier.ac-classic--routine #Content .woocommerce-product-gallery__image>a { display:block; width:100%; height:100%; }
body.ac-atelier.ac-classic--routine #Content .woocommerce-product-gallery__image>img,
body.ac-atelier.ac-classic--routine #Content .woocommerce-product-gallery__image>a>img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
/* Editorial image frames; original backgrounds and all source content are retained. */
body.ac-atelier #Content.ac-page--per-il-sociale .vc_row:has(>.ac-social-card) { align-items:stretch; }
body.ac-atelier #Content .ac-social-card .wpb_single_image figure { display:block; width:100%; margin:0; }
body.ac-atelier #Content .ac-social-card .vc_single_image-wrapper { position:relative; display:block; width:100%; max-width:none; aspect-ratio:4/3; }
body.ac-atelier #Content .ac-social-card .wpb_single_image img { position:absolute; inset:0; width:100%; height:100%; max-height:none; object-fit:contain; margin:0; }
@supports(grid-template-rows:subgrid) {
 body.ac-atelier #Content .ac-social-card { display:grid; grid-template-rows:subgrid; grid-row:span 3; row-gap:0; }
 body.ac-atelier #Content .ac-social-card>.vc_column-inner,
 body.ac-atelier #Content .ac-social-card>.vc_column-inner>.wpb_wrapper { display:grid; grid-template-rows:subgrid; grid-row:1/-1; row-gap:0; }
 body.ac-atelier #Content .ac-social-card__heading { grid-row:1; }
 body.ac-atelier #Content .ac-social-card__visual { grid-row:2; }
 body.ac-atelier #Content .ac-social-card__copy { grid-row:3; min-width:0; }
}
/* Equal gallery tiles replace intrinsic masonry heights; lightbox links stay native. */
body.ac-atelier #Content :is(.vc_masonry_media_grid,.vc_media_grid) .vc_pageable-slide-wrapper { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; width:100%; height:auto!important; }
body.ac-atelier #Content :is(.vc_masonry_media_grid,.vc_media_grid) .vc_pageable-slide-wrapper::before,
body.ac-atelier #Content :is(.vc_masonry_media_grid,.vc_media_grid) .vc_pageable-slide-wrapper::after { content:none!important; }
body.ac-atelier #Content :is(.vc_masonry_media_grid,.vc_media_grid) .vc_grid-item { position:relative!important; inset:auto!important; transform:none!important; width:100%!important; margin:0!important; padding:0!important; float:none!important; grid-column:auto; min-width:0; }
body.ac-atelier #Content :is(.vc_masonry_media_grid,.vc_media_grid) .vc_gitem-zone { aspect-ratio:1; height:auto!important; background-size:contain!important; background-position:center!important; background-repeat:no-repeat; }
body.ac-atelier #Content :is(.vc_masonry_media_grid,.vc_media_grid) .vc_gitem-zone::before { padding-top:0; }
body.ac-atelier #Content :is(.vc_masonry_media_grid,.vc_media_grid) img.vc_gitem-zone-img { position:absolute; inset:0; width:100%!important; height:100%!important; object-fit:contain; padding:0; margin:0; }
@media(max-width:1000px) { body.ac-atelier #Content :is(.vc_masonry_media_grid,.vc_media_grid) .vc_pageable-slide-wrapper { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; } }
@media(max-width:760px) { body.ac-atelier #Content :is(.vc_masonry_media_grid,.vc_media_grid) .vc_pageable-slide-wrapper { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
body.ac-atelier #Content .ac-contact-direct { gap:16px; border:0; }
body.ac-atelier #Content .ac-contact-direct>a { border:0; border-radius:20px; background:var(--atelier-card); }
body.ac-atelier #Content .ac-contact-urgent { border-color:var(--atelier-line); }
body.ac-atelier #Content .ac-faq-item { margin-bottom:14px; padding-inline:16px; }
body.ac-atelier #Content .ac-faq-answer { border:0; }
body.ac-atelier #Content .select2-container .select2-selection { border-radius:14px; border-color:var(--atelier-line); }
body.ac-atelier #Content .autocomplete-suggestions { border-color:var(--atelier-line); border-radius:16px; }
body.ac-atelier .yith-ywgc-gift-this-product-modal-inner { border-radius:24px; }
body.ac-atelier .yith-ywgc-gift-this-product-modal-inner :is(input[type=text],input[type=email],textarea,select) { border-radius:14px!important; border-color:var(--atelier-line)!important; }
/* Keep Google's wordmark, yellow stars and familiar white review cards. */
body.ac-atelier #Content .ac-reviews { border:0; border-radius:24px; background:var(--atelier-light); }
body.ac-atelier #Content .ac-reviews__track>li.ac-review-card { border:0; border-radius:20px; box-shadow:0 4px 18px rgb(90 62 36 / 6%); }
body.ac-atelier #Content .ac-reviews__navigation { border-color:var(--atelier-line); }
body.ac-atelier #Content .ac-reviews__buttons button { border-radius:50px; border-color:var(--atelier-line); }
body.ac-atelier .ac-home-hero { border-radius:0 0 32px 32px; }
body.ac-atelier .ac-home-hero__button { border-radius:50px; }
body.ac-atelier .ac-home-intro { width:calc(100% - 40px); max-width:1100px; margin:32px auto 40px; text-align:center; color:var(--atelier-ink); }
body.ac-atelier .ac-home-intro h1 { font:400 clamp(30px,4vw,52px)/1.15 Georgia,serif; letter-spacing:-.025em; color:inherit; margin:0 0 14px; }
body.ac-atelier .ac-home-intro p { font-size:17px; line-height:1.7; color:var(--atelier-muted); }
@media(min-width:1240px) {
 body.ac-atelier #Top_bar>.container>.column.one { display:grid; grid-template-columns:minmax(0,1fr) 100px; align-items:start; }
 body.ac-atelier #Top_bar .top_bar_left { display:grid; grid-template-columns:260px minmax(0,1fr); align-items:center; float:none!important; width:100%!important; }
 body.ac-atelier #Top_bar .top_bar_left::before,body.ac-atelier #Top_bar .top_bar_left::after,body.ac-atelier #Top_bar>.container>.column.one::before,body.ac-atelier #Top_bar>.container>.column.one::after { display:none; }
 body.ac-atelier #Top_bar .top_bar_left>.logo { grid-column:1; grid-row:1; width:auto; float:none; margin-inline:0; }
 body.ac-atelier #Top_bar #logo img { max-width:245px; }
 body.ac-atelier #Top_bar .menu_wrapper { grid-column:2; grid-row:1; float:none; min-width:0; }
 body.ac-atelier #Top_bar .top_bar_left>.banner_wrapper { position:static!important; clear:both; width:100%!important; grid-column:1/-1; grid-row:2; padding:0 0 12px; }
 body.ac-atelier #Top_bar .prenota-visita { position:static!important; width:auto; margin:0; padding:0; text-align:right; }
 body.ac-atelier #Top_bar .prenota-visita>a { display:inline-block; padding:10px 22px; font-size:13px; line-height:1.4; }
 body.ac-atelier #Top_bar .top_bar_right { float:none; width:100px; }
 body.ac-atelier #Top_bar.is-sticky { height:auto!important; }
}
/* Card actions share one height; existing colors, borders and handlers stay authoritative. */
body.ac-atelier #Content :is(.ac-about-person__details a,.ac-news-card .ac-news-read,.ac-catalog-card__actions>.button,ul.products>li.product>.button,.photo_box .desc .button,.vc_btn3,.ac-catalog-help>.ac-catalog-read,.ac-page-next .ac-page-link,.ac-news-signoff .ac-news-read,.ac-news-contact .ac-news-read,.ac-contact-button,#gift-this-product #give-as-present) {
 display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; flex-shrink:0;
 height:var(--atelier-card-action-height)!important; min-height:var(--atelier-card-action-height)!important;
 max-width:100%; padding-block:4px!important; line-height:1.4; white-space:normal; text-align:center;
}
body.ac-atelier #Content .ac-about-person__details .wpb_text_column:last-child p:last-child { margin-bottom:0!important; }
body.ac-atelier #Content .ac-about-person__details p:has(>a:last-child) { display:flex; flex-direction:column; align-items:flex-start; }
body.ac-atelier #Content .ac-news-card .ac-news-read { margin-top:auto; }
body.ac-atelier #Content ul.products>li.product>.button {
 margin-top:auto; margin-inline:auto!important; align-self:center; justify-self:center;
 float:none!important; justify-content:center!important; text-align:center!important;
}
body.ac-atelier #Content :is(ul.products>li.product>.button,.ac-catalog-card__actions>.button) .button_label { text-align:center!important; }
body.ac-atelier #Content .ac-catalog-card__actions { flex:none; margin-top:auto; }
/* The whole treatment card is the link; its arrow sits at the foot of the copy. */
body.ac-atelier #Content .ac-directory-card__body { grid-template-columns:minmax(0,1fr) var(--atelier-card-action-height); grid-template-rows:1fr; align-content:stretch; }
body.ac-atelier #Content .ac-directory-card__body:has(.ac-directory-card__group) { grid-template-rows:auto 1fr; }
body.ac-atelier #Content .ac-directory-card__body h2 { align-self:start; }
body.ac-atelier #Content :is(.ac-directory-arrow,.ac-detail-related-arrow) { width:var(--atelier-card-action-height); justify-content:center; align-self:end; }
body.ac-atelier #Content :is(.ac-news-signoff .ac-news-read,.ac-news-contact .ac-news-read,.ac-catalog-help>.ac-catalog-read,.ac-page-next>div:last-child,.ac-contact-signoff>.ac-contact-button) { align-self:end; }
/* One directional affordance for cards: transparent at rest, black circle on interaction. */
body.ac-atelier #Content :is(a.ac-detail-related-card,.ac-directory-card__link,.ac-catalog-card__visual>a,.ac-news-card .ac-news-read):is(:hover,:focus,:focus-visible) { text-decoration:none; }
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) {
 display:inline-flex; align-items:center; justify-content:center; flex:0 0 var(--atelier-card-action-height); box-sizing:border-box;
 width:var(--atelier-card-action-height)!important; height:var(--atelier-card-action-height)!important;
 min-height:var(--atelier-card-action-height)!important; padding:0!important;
 border:0!important; border-radius:50%!important; background:transparent!important; color:inherit!important;
 font-size:28px; line-height:1!important; transition:background-color .3s ease,color .3s ease;
}
body.ac-atelier #Content .ac-news-card .ac-news-read { padding-block:0!important; }
body.ac-atelier #Content :is(.ac-directory-card,.ac-detail-related-card,.ac-catalog-card,.ac-news-card):is(:focus-visible,:has(:focus-visible)) :is(.ac-directory-arrow,.ac-detail-related-arrow,.ac-catalog-card__discover,.ac-news-read>.ac-card-arrow) {
 background:#181818!important; color:#fff!important;
}
@media(hover:hover) and (pointer:fine) {
 body.ac-atelier #Content :is(.ac-directory-card,.ac-detail-related-card,.ac-catalog-card,.ac-news-card):hover :is(.ac-directory-arrow,.ac-detail-related-arrow,.ac-catalog-card__discover,.ac-news-read>.ac-card-arrow) { background:#181818!important; color:#fff!important; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 body.ac-atelier #Content :is(.ac-directory-card,.ac-about-person,.ac-detail-related-card,.ac-news-card,.ac-social-card,.ac-video-card,.ac-catalog-card):is(:hover,:focus-visible,:has(:focus-visible)) { transform:translateY(-3px); box-shadow:var(--atelier-shadow); }
}
@media(max-width:1000px) { body.ac-atelier #Content .ac-detail-advice .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
 body.ac-atelier .ac-home-custom-hero .ac-visual-hero { border-radius:24px; min-height:340px; }
 body.ac-atelier :is(#Content,.ac-home-custom-hero) .ac-visual-hero--split:not(.ac-visual-hero--empty) { grid-template-columns:1fr; }
 body.ac-atelier :is(#Content,.ac-home-custom-hero) .ac-visual-hero--split .ac-visual-hero__media { grid-column:1; grid-row:1; min-height:0; aspect-ratio:4/3; width:100%; }
 body.ac-atelier :is(#Content,.ac-home-custom-hero) .ac-visual-hero--split .ac-visual-hero__copy { grid-column:1; grid-row:2; padding:28px 24px; }
 body.ac-atelier #Content .ac-visual-hero { border-radius:24px; min-height:340px; }
 body.ac-atelier #Content :is(.ac-visual-hero--illustration,.ac-visual-hero--portrait):not(.ac-visual-hero--empty) { grid-template-columns:1fr; }
 body.ac-atelier #Content :is(.ac-visual-hero--illustration,.ac-visual-hero--portrait) .ac-visual-hero__copy { grid-column:1; grid-row:2; padding:28px 24px; }
 body.ac-atelier #Content :is(.ac-visual-hero--illustration,.ac-visual-hero--portrait) .ac-visual-hero__media { grid-column:1; grid-row:1; min-height:0; height:auto; aspect-ratio:4/3; width:100%; }
 body.ac-atelier #Content .ac-visual-hero--portrait .ac-visual-hero__media { aspect-ratio:1; }
 body.ac-atelier #Content .ac-visual-hero h1 { font-size:clamp(30px,8.3vw,42px)!important; }
 body.ac-atelier #Content .ac-visual-hero__copy { padding:32px 24px 26px; }
 body.ac-atelier #Content .ac-catalog-categories { padding-inline:18px; }
 body.ac-atelier #Content .ac-catalog-products--single .ac-catalog-card__visual { aspect-ratio:4/3; }
 body.ac-atelier #Content .ac-detail-advice .woocommerce ul.products { grid-template-columns:1fr; }
}
@media(max-width:520px) { body.ac-atelier #Content .ac-detail-advice .woocommerce ul.products { grid-template-columns:1fr; } }
@media(max-width:600px) { body.ac-atelier #Content .ac-catalog-card__body>h2 { min-height:0; } }
@media(max-width:600px) { body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products ul.products { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) {
 body.ac-atelier #Content :is(.ac-directory-card,.ac-about-person,.ac-detail-related-card,.ac-news-card,.ac-social-card,.ac-video-card,.ac-catalog-card,.ac-directory-card__image,.ac-catalog-image,.ac-news-image) { transition:none; transform:none; }
}

/* Commerce hierarchy: recommendation prices stay readable alongside card headings. */
body.ac-atelier #Content ul.products>li.product:not(.ac-catalog-card) .price,
body.ac-atelier .shop_slider .shop_slider_ul li .item_wrapper .price {
 font-size:22px!important; line-height:1.4; font-weight:600;
}
body.ac-atelier #Content ul.products>li.product:not(.ac-catalog-card) .price del,
body.ac-atelier .shop_slider .shop_slider_ul li .item_wrapper .price del {
 font-size:16px; font-weight:400; color:var(--atelier-muted); opacity:1;
}
/* Financial tables keep legible amounts when the legacy mobile table text shrinks. */
body.ac-atelier #Content .woocommerce .shop_table .amount {
 font-size:18px; line-height:1.4; white-space:nowrap; overflow-wrap:normal; word-break:normal;
}
body.ac-atelier #Content .woocommerce-checkout-review-order-table th.product-total { white-space:nowrap; }
/* The payable total has more emphasis than individual order lines. */
body.ac-atelier #Content :is(.cart_totals,.woocommerce-checkout-review-order-table) .order-total .amount {
 font-size:24px; line-height:1.3; font-weight:700;
}

@media(prefers-reduced-motion:reduce) {
 body.ac-atelier #Content :is(.ac-directory-arrow,.ac-detail-related-arrow,.ac-catalog-card__discover,.ac-news-card .ac-news-read>.ac-card-arrow) { transition:none!important; }
}

/* Product recommendations echo the catalog: separate cards, no surrounding frame. */
body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products {
 border:0!important; border-radius:0; background:transparent!important;
 padding:0!important; margin-top:44px; overflow:visible; box-shadow:none;
}
body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products ul.products>li.product {
 display:flex; flex-direction:column; padding:0!important; text-align:left;
 border:0!important; border-radius:var(--atelier-radius); overflow:hidden; background:var(--atelier-card);
}
body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products ul.products>li.product>.image_frame,
body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products ul.products>li.product>.hover_box_product {
 flex:none; width:100%; margin:0; padding:0; border:0!important; border-radius:0; background:#fff;
}
body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products :is(.mask,.image_links) { display:none; }
body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products ul.products>li.product>.desc {
 display:flex; flex:1; flex-direction:column; padding:24px 24px 18px; text-align:left;
}
body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products ul.products>li.product>.desc>:is(h2,h3,h4) {
 --atelier-heading-size:22px; --atelier-heading-leading:1.3; --atelier-heading-after:16px;
 text-align:left;
}
body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products ul.products>li.product .price {
 margin-top:auto; margin-bottom:0; min-block-size:calc(1.4em + 27px); text-align:left;
}
body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products ul.products>li.product>.button {
 width:calc(100% - 48px); margin:0 auto 24px!important; align-self:center;
 justify-content:center!important; text-align:center!important;
}
@media(max-width:760px) {
 body.ac-atelier #Content .altaclinic-product-page>:is(.related,.upsells).products ul.products>li.product>.desc>:is(h2,h3,h4) { --atelier-heading-size:20px; }
}

/* Carrello: codice promozionale e aggiornamento in assets/css/shop-experience.css. */
body.ac-atelier #Content #place_order {
 display:inline-flex; align-items:center; justify-content:center;
 min-height:52px; font-size:16px; line-height:1.5; text-align:center;
}
@media(min-width:769px) {
 body.ac-atelier #Content #place_order {
  float:none; width:min(100%,420px); min-height:58px;
  margin-top:18px; padding:14px 32px; font-size:18px; font-weight:600;
 }
}
/* Compact directional links: underline the words, never the separate circular icon. */
body.ac-atelier :is(#Content,#Top_bar,.ac-home-custom-hero,.ac-native-lightbox) :is(a,button):has(>.ac-inline-arrow) {
 display:inline-flex; align-items:center; column-gap:.65em; text-decoration:none!important;
}
body.ac-atelier :is(#Content,#Top_bar,.ac-home-custom-hero,.ac-native-lightbox) .ac-inline-label {
 min-width:0; flex:0 1 auto; font:inherit; letter-spacing:inherit;
}
body.ac-atelier :is(#Content,#Top_bar,.ac-home-custom-hero,.ac-native-lightbox) .ac-inline-arrow {
 display:inline-flex!important; align-items:center; justify-content:center; box-sizing:border-box;
 width:clamp(22px,1.65em,30px)!important; height:clamp(22px,1.65em,30px)!important;
 min-width:0; min-height:0; flex:0 0 clamp(22px,1.65em,30px)!important;
 margin:0!important; padding:0!important; border:0!important; border-radius:50%!important;
 background:transparent; color:inherit; font-size:1.15em!important; font-weight:400!important; line-height:1!important;
 text-decoration:none!important; vertical-align:middle; transition:background-color .2s ease,color .2s ease;
}
body.ac-atelier :is(#Content,#Top_bar,.ac-home-custom-hero,.ac-native-lightbox) :is(a,button):not(:disabled):not([aria-disabled=true]):has(>.ac-inline-arrow):focus-visible>.ac-inline-arrow { background:#181818; color:#fff; }
body.ac-atelier :is(#Content,#Top_bar,.ac-home-custom-hero,.ac-native-lightbox) a:has(>.ac-inline-arrow):focus-visible .ac-inline-label,
body.ac-atelier #Content :is(.ac-directory-card,.ac-detail-related-card,.ac-catalog-card,.ac-news-card):is(:focus-visible,:has(:focus-visible)) .ac-card-label {
 text-decoration:underline; text-decoration-thickness:.5px; text-underline-offset:4px;
}
@media(hover:hover) and (pointer:fine) {
 body.ac-atelier :is(#Content,#Top_bar,.ac-home-custom-hero,.ac-native-lightbox) :is(a,button):not(:disabled):not([aria-disabled=true]):has(>.ac-inline-arrow):hover>.ac-inline-arrow { background:#181818; color:#fff; }
 body.ac-atelier :is(#Content,#Top_bar,.ac-home-custom-hero,.ac-native-lightbox) a:has(>.ac-inline-arrow):hover .ac-inline-label,
 body.ac-atelier #Content :is(.ac-directory-card,.ac-detail-related-card,.ac-catalog-card,.ac-news-card):hover .ac-card-label {
  text-decoration:underline; text-decoration-thickness:.5px; text-underline-offset:4px;
 }
}
@media(prefers-reduced-motion:reduce) {
 body.ac-atelier :is(#Content,#Top_bar,.ac-home-custom-hero,.ac-native-lightbox) .ac-inline-arrow { transition:none; }
}
body.ac-atelier #Content .ac-contact-direct>a>.ac-inline-label { flex:1; }

/* Mini carrello: tutti gli stili in commerce.css. */

/* Icon-only navigation uses its existing hit area as the hover circle. */
body.ac-atelier :is(#back_to_top,.ac-reviews__buttons button,.post-nav>a:is(.prev,.next),.next-prev-nav a) { border-radius:50%!important; }
body.ac-atelier :is(#back_to_top,.ac-reviews__buttons button,.post-nav>a:is(.prev,.next),.next-prev-nav a):not(:disabled):focus-visible { background:#181818!important; color:#fff!important; }
@media(hover:hover) and (pointer:fine) {
 body.ac-atelier :is(#back_to_top,.ac-reviews__buttons button,.post-nav>a:is(.prev,.next),.next-prev-nav a):not(:disabled):hover { background:#181818!important; color:#fff!important; }
}
body.ac-atelier .fixed-nav>.arrow { border-radius:50%; transition:background-color .2s ease,color .2s ease; }
body.ac-atelier .fixed-nav:focus-visible>.arrow { background:#181818; color:#fff; }
@media(hover:hover) and (pointer:fine) {
 body.ac-atelier .fixed-nav:hover>.arrow { background:#181818; color:#fff; }
}
body.ac-atelier .next-prev-nav a:is(:hover,:focus-visible) .button_icon { background:transparent; color:inherit; }
