/* Pagine d'acquisto (functions/shop-experience.php): testata con i passaggi, carrello a schede con riepilogo scuro che
   resta in vista, carrello vuoto disegnato, cassa con metodi di pagamento a schede, ringraziamento con spunta animata,
   dettagli dell'ordine e area personale. Colori e caratteri Atelier; pulsanti del sistema comune con il pallino. */
body.ac-shop-view { --sh-ink:#342e29; --sh-muted:#665d54; --sh-accent:#715545; --sh-paper:#fbf8f3; --sh-card:#f2ebe1; --sh-light:#fffdf9; --sh-line:#ded3c4; --sh-blush:#f5e6e1; --sh-gold:#c9a25c; --sh-ease:cubic-bezier(.22,1,.36,1); }

/* Cornice: niente riquadro con bordo intorno al contenuto, larghezza del sito, margini giusti anche sul telefono. */
body.ac-atelier.ac-shop-view:not(.ac-shop--account) #Content .entry-content { border:0!important; padding:0!important; background:none!important; }
/* Nel carrello "Visualizza carrello" delle notifiche porterebbe alla stessa pagina. */
body.ac-atelier.ac-shop--cart #Content .woocommerce-message a.wc-forward { display:none; }
/* La nota sull'IVA dei trattamenti è nel riepilogo del carrello: quella sotto lo shortcode non si ripete. */
body.ac-atelier.ac-shop--cart #Content .entry-content .woocommerce ~ p { display:none; }

/* ---------- Testata con i tre passaggi ---------- */
.ac-shop-head { position:relative; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:22px 40px; margin:clamp(6px, 1.4vw, 14px) 0 clamp(22px, 3vw, 34px); padding:clamp(24px, 3.4vw, 44px); overflow:hidden; border-radius:28px; background:radial-gradient(90% 140% at 100% 0%, var(--sh-blush) 0%, rgb(245 230 225 / 0%) 60%), var(--sh-card); }
.ac-shop-head::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; }
.ac-shop-head__copy { position:relative; z-index:1; min-width:0; max-width:620px; }
.ac-shop-head__eyebrow { display:block; margin:0 0 10px; font-size:12px; font-weight:600; letter-spacing:.14em; line-height:1.5; text-transform:uppercase; color:var(--sh-accent); }
body.ac-atelier.ac-shop-view #Content .ac-shop-head h1 { --atelier-heading-size:clamp(34px, 4.4vw, 56px); --atelier-heading-leading:1.05; --atelier-heading-before:0px; --atelier-heading-after:0px; color:var(--sh-ink); }
body.ac-atelier.ac-shop-view #Content .ac-shop-head p { --atelier-copy-size:15px; --atelier-copy-leading:1.6; margin:10px 0 0!important; color:var(--sh-muted); }
.ac-shop-steps { position:relative; z-index:1; display:flex; align-items:center; gap:0; margin:0; padding:0; list-style:none; counter-reset:none; }
.ac-shop-steps li { display:flex; align-items:center; margin:0; padding:0; list-style:none; }
.ac-shop-steps li::before { display:none; }
.ac-shop-steps li+li::before { content:""; display:block; width:clamp(18px, 3vw, 44px); height:2px; margin:0 10px; border-radius:2px; background:linear-gradient(90deg, var(--sh-gold) 0 var(--fill, 0%), var(--sh-line) var(--fill, 0%) 100%); }
.ac-shop-steps li.is-done+li::before { --fill:100%; }
.ac-shop-steps li>:is(a,span) { display:inline-flex; align-items:center; gap:10px; color:var(--sh-muted); text-decoration:none; }
.ac-shop-steps a:hover .ac-shop-steps__label { text-decoration:underline; text-underline-offset:3px; }
.ac-shop-steps__mark { display:grid; place-items:center; flex:none; width:34px; height:34px; box-sizing:border-box; border:1px solid var(--sh-line); border-radius:50%; background:var(--sh-light); font:400 15px/1 Georgia,'Times New Roman',serif; color:var(--sh-muted); }
.ac-shop-steps__mark svg { width:16px; height:16px; }
.ac-shop-steps__label { font-size:13px; font-weight:600; letter-spacing:.02em; white-space:nowrap; }
.ac-shop-steps .is-done .ac-shop-steps__mark { border-color:var(--sh-gold); background:var(--sh-gold); color:#fff; }
.ac-shop-steps .is-current .ac-shop-steps__mark { position:relative; border-color:var(--sh-ink); background:var(--sh-ink); color:var(--sh-paper); }
.ac-shop-steps .is-current>:is(a,span) { color:var(--sh-ink); }
@keyframes ac-shop-ring { from { box-shadow:0 0 0 0 rgb(52 46 41 / 35%); } to { box-shadow:0 0 0 12px rgb(52 46 41 / 0%); } }
@keyframes ac-shop-fill { from { --fill:0%; } }
@property --fill { syntax:'<percentage>'; inherits:false; initial-value:0%; }
@media (prefers-reduced-motion:no-preference) {
 .ac-shop-steps .is-current .ac-shop-steps__mark { animation:ac-shop-ring 1.4s ease-out .4s 2; }
 .ac-shop-steps li.is-done+li::before { animation:ac-shop-fill 1s var(--sh-ease) .2s both; }
}

/* ---------- Carrello ---------- */
body.ac-atelier.ac-shop--cart #Content .ac-cart { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px, 400px); align-items:start; gap:24px clamp(24px, 3vw, 40px); }
body.ac-atelier.ac-shop--cart #Content .ac-cart__form { grid-column:1; min-width:0; margin:0!important; padding:0!important; border:0!important; border-radius:0; background:none!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart__aside { grid-column:2; position:sticky; top:calc(var(--ac-header-visible, 88px) + 20px); display:block; margin:0!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-items { display:grid; gap:14px; margin:0!important; padding:0!important; list-style:none; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-item { position:relative; display:grid; grid-template-columns:116px minmax(0,1fr) auto minmax(96px, auto) 40px; align-items:center; gap:14px 22px; margin:0; padding:14px 16px 14px 14px; list-style:none; border-radius:24px; background:var(--sh-light); box-shadow:0 0 0 1px var(--sh-line), 0 20px 44px -36px rgb(52 46 41 / 40%); transition:box-shadow .5s var(--sh-ease), translate .5s var(--sh-ease), opacity .4s ease; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-item::before { display:none; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-item.is-removing { opacity:.45; }
.ac-cart-item__visual { display:grid; place-items:center; width:116px; aspect-ratio:1; overflow:hidden; border-radius:18px; background:radial-gradient(80% 80% at 50% 45%, #fff 0%, var(--sh-blush) 100%); }
.ac-cart-item__visual a { display:contents; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-item__visual img { display:block; width:84%!important; height:84%!important; max-width:none!important; margin:0; padding:0; border-radius:10px; background:none; object-fit:contain; mix-blend-mode:multiply; transition:scale .8s var(--sh-ease); }
.ac-cart-item__info { min-width:0; }
.ac-cart-item__kind { display:block; margin:0 0 6px; font-size:11.5px; font-weight:600; letter-spacing:.12em; line-height:1.4; text-transform:uppercase; color:var(--sh-accent); }
body.ac-atelier.ac-shop--cart #Content h3.ac-cart-item__name { --atelier-heading-size:clamp(19px, 1.6vw, 22px); --atelier-heading-leading:1.3; --atelier-heading-tracking:-.01em; --atelier-heading-before:0px; --atelier-heading-after:0px; color:var(--sh-ink); }
body.ac-atelier.ac-shop--cart #Content h3.ac-cart-item__name a { color:inherit; text-decoration:none; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-item__price { margin:6px 0 0!important; font-size:14px!important; line-height:1.5!important; color:var(--sh-muted); }
.ac-cart-item__unit { margin-left:4px; font-size:12.5px; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-item .variation { margin:8px 0 0!important; font-size:13px; line-height:1.6; color:var(--sh-muted); }
body.ac-atelier.ac-shop--cart #Content .ac-cart-item__subtotal { justify-self:end; font:400 clamp(20px, 1.8vw, 24px)/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.01em; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--sh-ink); }

/* Quantità: pillola con − e +. */
body.ac-atelier.ac-shop--cart #Content .ac-cart-item__qty .quantity { display:inline-flex; align-items:center; gap:2px; margin:0; padding:3px; border-radius:50px; background:var(--sh-paper); box-shadow:inset 0 0 0 1px var(--sh-line); }
body.ac-atelier.ac-shop--cart #Content .ac-cart-item__qty .quantity input.qty { width:44px!important; min-width:0; min-height:40px; margin:0; padding:0!important; border:0!important; border-radius:0; background:none!important; box-shadow:none; color:var(--sh-ink); font:600 16px/1 'Open Sans',Arial,sans-serif; text-align:center; -moz-appearance:textfield; appearance:textfield; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-item__qty .quantity input.qty::-webkit-inner-spin-button, body.ac-atelier.ac-shop--cart #Content .ac-cart-item__qty .quantity input.qty::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
body.ac-atelier.ac-shop--cart #Content .ac-qty-btn { display:grid; place-items:center; width:40px; height:40px; min-height:0; margin:0; padding:0; border:0!important; border-radius:50%; background:transparent!important; box-shadow:none!important; color:var(--sh-ink)!important; font:400 20px/1 'Open Sans',Arial,sans-serif; cursor:pointer; transition:background-color .2s ease, color .2s ease; }
body.ac-atelier.ac-shop--cart #Content .ac-qty-btn:focus-visible { outline:2px solid var(--sh-accent); outline-offset:1px; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-fixed-quantity { font-size:14px; color:var(--sh-muted); }

/* Togli: cerchio con il cestino, il testo resta per i lettori di schermo. */
body.ac-atelier.ac-shop--cart #Content .ac-cart-item__remove { justify-self:end; }
body.ac-atelier.ac-shop--cart #Content a.ac-cart-remove { display:grid; place-items:center; width:40px; height:40px; min-height:0; margin:0; padding:0!important; border:0; border-radius:50%; background:transparent!important; color:var(--sh-muted)!important; box-shadow:inset 0 0 0 1px var(--sh-line); text-decoration:none; transition:background-color .25s ease, color .25s ease, box-shadow .25s ease; }
body.ac-atelier.ac-shop--cart #Content a.ac-cart-remove svg { width:18px; height:18px; }
.ac-cart-remove__label { position:absolute!important; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Codice promozionale apribile; il pulsante "Aggiorna carrello" serve solo senza JavaScript. */
body.ac-atelier.ac-shop--cart #Content .ac-cart-actions { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:14px; margin:16px 0 0; padding:0!important; border:0; background:none!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon { flex:1 1 320px; margin:0; border-radius:20px; background:var(--sh-card); }
body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon summary { display:flex; align-items:center; gap:10px; min-height:52px; padding:0 20px; list-style:none; font-size:15px; font-weight:600; color:var(--sh-ink); cursor:pointer; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon summary::-webkit-details-marker { display:none; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon summary::after { content:""; width:9px; height:9px; margin-left:auto; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; rotate:45deg; translate:0 -3px; transition:rotate .35s var(--sh-ease), translate .35s var(--sh-ease); }
body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon[open] summary::after { rotate:225deg; translate:0 2px; }
.ac-cart-coupon .ac-shop-icon { width:20px; height:20px; color:var(--sh-accent); }
body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon .coupon { display:flex; flex-wrap:wrap; gap:10px; float:none; width:auto!important; margin:0; padding:0 16px 16px; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon #coupon_code { flex:0 1 340px; width:auto!important; min-width:0; height:52px; margin:0; padding:0 18px!important; border:1px solid var(--sh-line)!important; border-radius:50px!important; background:var(--sh-light)!important; color:var(--sh-ink); font-size:16px; box-shadow:none; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon #coupon_code:focus { outline:2px solid rgb(113 85 69 / 25%); outline-offset:2px; border-color:var(--sh-accent)!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon .coupon .button { flex:none; width:auto!important; margin:0; }
html.ac-shop-js body.ac-atelier.ac-shop--cart #Content .ac-cart-update { position:absolute!important; width:1px!important; min-height:0!important; height:1px; padding:0!important; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-update { float:none; margin:0; }
body.ac-atelier.ac-shop--cart #Content .blockUI.blockOverlay { border-radius:24px; background:rgb(251 248 243 / 70%)!important; }

/* Riepilogo: carta scura con alone dorato, come i numeri di Amministrazione trasparente. */
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary { position:relative; float:none!important; width:auto!important; margin:0!important; padding:clamp(24px, 2.6vw, 32px)!important; overflow:hidden; border:0!important; border-radius:28px; background:var(--sh-ink)!important; color:var(--sh-paper); box-shadow:0 30px 60px -30px rgb(52 46 41 / 55%); text-align:left!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary::after { content:""; position:absolute; right:-110px; top:-120px; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle, rgb(201 162 92 / 26%), transparent 68%); pointer-events:none; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary>* { position:relative; z-index:1; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary h2.ac-cart-summary__title { --atelier-heading-size:26px; --atelier-heading-before:0px; --atelier-heading-after:14px; color:var(--sh-paper); }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary table { width:100%; margin:0 0 20px; border:0; border-collapse:collapse; background:none; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary table :is(th,td) { padding:13px 0!important; border:0!important; border-bottom:1px solid rgb(255 255 255 / 12%)!important; background:transparent!important; color:#e6dccd!important; font-size:14px; font-weight:400; line-height:1.5; vertical-align:baseline; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary table th { padding-right:16px!important; text-align:left!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary table td { text-align:right!important; font-variant-numeric:tabular-nums; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary table, body.ac-atelier.ac-shop--cart #Content .ac-cart-summary table tr:last-child :is(th,td) { border:0!important; box-shadow:none!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary table td::before { display:none!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary table tr { display:table-row!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary table :is(th,td) { display:table-cell!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary table .amount { color:var(--sh-paper); }
/* Spedizione sul fondo scuro: metodo, destinazione e "Cambia indirizzo" chiari. */
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary #shipping_method { margin:0!important; padding:0!important; list-style:none; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary #shipping_method li { margin:0 0 4px!important; padding:0!important; list-style:none; text-align:right; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary #shipping_method li::before { display:none; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary #shipping_method :is(label,li) { color:#e6dccd!important; font-size:14px!important; line-height:1.5; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary #shipping_method input[type=radio] { margin:0 6px 0 0; accent-color:#d8c3ae; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary :is(.woocommerce-shipping-destination,.woocommerce-shipping-contents) { margin:6px 0 0!important; font-size:12.5px!important; line-height:1.5!important; color:#cbbfb0!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .woocommerce-shipping-destination strong { color:#e6dccd; font-weight:600; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary a.shipping-calculator-button { color:var(--sh-paper)!important; font-size:12.5px; text-decoration:underline; text-underline-offset:3px; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .shipping-calculator-form :is(input,select) { color:var(--sh-ink); }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .order-total :is(th,td) { padding-top:18px!important; border-bottom:0!important; vertical-align:middle; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .order-total th { font-size:15px; font-weight:600; color:var(--sh-paper)!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .order-total .amount { font:400 clamp(30px, 2.8vw, 38px)/1 Georgia,'Times New Roman',serif!important; letter-spacing:-.02em; color:var(--sh-paper)!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .order-total small { display:block; margin-top:6px; font-size:12px; color:#cbbfb0; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .wc-proceed-to-checkout { margin:0; padding:0!important; }
/* Sul fondo scuro la pillola principale diventa chiara, come "Prenota la prima visita" nel footer. */
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .wc-proceed-to-checkout a.checkout-button.button { justify-content:space-between; width:100%; margin:0!important; border-color:var(--sh-paper)!important; background:var(--sh-paper)!important; color:var(--sh-ink)!important; box-shadow:0 14px 30px rgb(0 0 0 / 25%)!important; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary :is(.ac-cart-summary__pay,.ac-cart-summary__note) { display:flex; align-items:flex-start; gap:10px; margin:16px 0 0!important; font-size:12.5px!important; line-height:1.6!important; color:#cbbfb0; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .ac-cart-summary__note { padding-top:16px; border-top:1px solid rgb(255 255 255 / 12%); font-style:normal; }
.ac-cart-summary .ac-shop-icon { flex:none; width:18px; height:18px; margin-top:1px; color:#d8c3ae; }

@media (hover:hover) and (pointer:fine) {
 body.ac-atelier.ac-shop--account #Content #ywgc-add-new-gift-card:hover { background:var(--sh-light); transform:translateY(-2px); }
 body.ac-atelier.ac-shop--account #Content #ywgc-add-new-gift-card:hover>.ac-inline-arrow { background:#181818; color:#fff; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-empty .ac-cart-empty__actions a.button.ac-cart-empty__secondary:hover, body.ac-atelier.ac-shop-view #Content .ac-received .ac-received__actions a.button.ac-received__secondary:hover { background:var(--sh-light)!important; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-item:hover { box-shadow:0 0 0 1px var(--sh-line), 0 26px 50px -30px rgb(52 46 41 / 40%); translate:0 -2px; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-item:hover .ac-cart-item__visual img { scale:1.05; }
 body.ac-atelier.ac-shop--cart #Content h3.ac-cart-item__name a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
 body.ac-atelier.ac-shop--cart #Content .ac-qty-btn:hover { background:var(--sh-ink)!important; color:#fff!important; }
 body.ac-atelier.ac-shop--cart #Content a.ac-cart-remove:hover { background:#fbe9e6!important; color:#a33b32!important; box-shadow:inset 0 0 0 1px #e8b9b2; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .wc-proceed-to-checkout a.checkout-button.button:hover { background:#fff!important; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-summary .wc-proceed-to-checkout a.checkout-button.button:hover>.ac-inline-arrow { background:#181818; color:#fff; }
}

/* Carrello vuoto: il disegno di una borsa, tre strade per riempirla. */
body.ac-atelier.ac-shop--cart #Content .ac-cart-empty { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:center; gap:clamp(24px, 4vw, 64px); margin:0 0 clamp(24px, 4vw, 48px); padding:clamp(28px, 4vw, 56px); border-radius:28px; background:var(--sh-light); box-shadow:0 0 0 1px var(--sh-line), 0 30px 60px -40px rgb(52 46 41 / 35%); }
.ac-cart-empty__art svg { display:block; width:100%; max-width:360px; height:auto; margin:auto; }
.ac-cart-empty__wash { fill:var(--sh-blush); stroke:none; }
.ac-cart-empty__line { stroke:var(--sh-ink); stroke-width:2; }
.ac-cart-empty__vein { stroke:#6f7e6b; stroke-width:1.4; }
.ac-cart-empty__gold { stroke:var(--sh-gold); stroke-width:2; }
.ac-cart-empty__leaf { fill:#a7b3a2; stroke:var(--sh-ink); stroke-width:1.4; }
.ac-cart-empty__dot { fill:var(--sh-gold); stroke:none; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-empty h2 { --atelier-heading-size:clamp(30px, 3.2vw, 42px); --atelier-heading-before:0px; --atelier-heading-after:12px; color:var(--sh-ink); }
body.ac-atelier.ac-shop--cart #Content .ac-cart-empty p { --atelier-copy-size:16px; margin:0 0 24px!important; color:var(--sh-muted); }
.ac-cart-empty__actions { display:flex; flex-wrap:wrap; gap:12px; }
body.ac-atelier.ac-shop--cart #Content .ac-cart-empty .ac-cart-empty__actions a.button.ac-cart-empty__secondary { border-color:var(--sh-ink)!important; background:transparent!important; color:var(--sh-ink)!important; box-shadow:none!important; }
@keyframes ac-shop-draw { from { stroke-dashoffset:var(--len); } }
@media (prefers-reduced-motion:no-preference) {
 .ac-cart-empty__line, .ac-cart-empty__gold { --len:420; stroke-dasharray:420; animation:ac-shop-draw 1.8s var(--sh-ease) .2s both; }
 .ac-cart-empty__gold { animation-delay:.7s; }
 .ac-cart-empty__leaf { animation:ac-shop-pop .8s var(--sh-ease) 1.1s both; transform-box:fill-box; transform-origin:0% 100%; }
}
@keyframes ac-shop-pop { from { opacity:0; scale:.4; } }

/* Prodotti consigliati sotto il carrello. */
body.ac-atelier.ac-shop--cart #Content .cross-sells { margin:clamp(40px, 6vw, 72px) 0 0; }
body.ac-atelier.ac-shop--cart #Content .cross-sells>h2 { --atelier-heading-size:clamp(26px, 2.6vw, 34px); --atelier-heading-before:0px; --atelier-heading-after:20px; }

/* ---------- Cassa ---------- */
body.ac-atelier.ac-shop--checkout #Content :is(.woocommerce-form-login-toggle,.woocommerce-form-coupon-toggle) .woocommerce-info { padding-block:12px!important; font-size:14px; }
body.ac-atelier.ac-shop-view #Content .ac-checkout-summary { position:sticky; top:calc(var(--ac-header-visible, 88px) + 20px); }
body.ac-atelier.ac-shop-view #Content #payment ul.payment_methods { display:grid; gap:10px; margin:0 0 18px; padding:0!important; border:0!important; background:none!important; }
body.ac-atelier.ac-shop-view #Content #payment ul.payment_methods>li { margin:0; padding:14px 16px!important; list-style:none; border:1px solid var(--sh-line); border-radius:16px; background:var(--sh-light); transition:border-color .25s ease, box-shadow .25s ease, background-color .25s ease; }
body.ac-atelier.ac-shop-view #Content #payment ul.payment_methods>li::before { display:none; }
body.ac-atelier.ac-shop-view #Content #payment ul.payment_methods>li:has(>input:checked) { border-color:var(--sh-accent); background:#fff; box-shadow:0 0 0 1px var(--sh-accent), 0 14px 30px -24px rgb(113 85 69 / 60%); }
body.ac-atelier.ac-shop-view #Content #payment ul.payment_methods>li>label { display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px; font-weight:600; cursor:pointer; }
body.ac-atelier.ac-shop-view #Content #payment ul.payment_methods>li>input[type=radio] { accent-color:var(--sh-accent); width:18px; height:18px; margin:0 10px 0 0; vertical-align:middle; }
body.ac-atelier.ac-shop-view #Content #payment .payment_box { margin:12px 0 0!important; padding:12px 14px!important; border-radius:12px; background:var(--sh-card)!important; color:var(--sh-muted); font-size:13.5px; }
body.ac-atelier.ac-shop-view #Content #payment .payment_box::before { display:none!important; }
body.ac-atelier.ac-shop-view #Content #payment .place-order { padding:0!important; margin:0; }
body.ac-atelier.ac-shop-view #Content #payment #place_order { justify-content:space-between; width:100%!important; float:none; margin:18px 0 0; }
body.ac-atelier.ac-shop-view #Content .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox { display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.6; }
body.ac-atelier.ac-shop-view #Content .woocommerce-terms-and-conditions-wrapper input[type=checkbox] { flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:var(--sh-accent); }
/* Condizioni aperte dal link della spunta: lo stesso testo della pagina, con titoli piccoli, in un riquadro del sito. */
body.ac-atelier.ac-shop-view #Content #payment .woocommerce-terms-and-conditions { max-height:260px!important; margin:0 0 16px; padding:18px 20px 8px; border:1px solid var(--sh-line); border-radius:16px; background:var(--sh-light); box-shadow:none; color:var(--sh-muted); overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--sh-line) transparent; }
body.ac-atelier.ac-shop-view #Content #payment .woocommerce-terms-and-conditions :is(h2,h3) { --atelier-heading-size:15px; --atelier-heading-leading:1.4; --atelier-heading-tracking:0em; --atelier-heading-before:18px; --atelier-heading-after:6px; color:var(--sh-ink); }
body.ac-atelier.ac-shop-view #Content #payment .woocommerce-terms-and-conditions h3 { --atelier-heading-size:13.5px; --atelier-heading-before:12px; --atelier-heading-after:4px; }
body.ac-atelier.ac-shop-view #Content #payment .woocommerce-terms-and-conditions>h2:first-child { --atelier-heading-size:17px; --atelier-heading-before:0px; --atelier-heading-after:8px; }
body.ac-atelier.ac-shop-view #Content #payment .woocommerce-terms-and-conditions :is(p,li) { font-size:13px; line-height:1.7; margin:0 0 10px; }
body.ac-atelier.ac-shop-view #Content #payment .woocommerce-terms-and-conditions ul { margin:0 0 10px; padding-left:18px; list-style:disc; }
body.ac-atelier.ac-shop-view #Content #payment .woocommerce-terms-and-conditions li { margin-bottom:4px; }
body.ac-atelier.ac-shop-view #Content #payment .woocommerce-terms-and-conditions a { color:var(--sh-accent); text-decoration:underline; text-underline-offset:3px; }

/* ---------- Ordine ricevuto ---------- */
body.ac-atelier.ac-shop-view #Content .ac-received { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:20px clamp(22px, 3vw, 40px); margin:0 0 clamp(28px, 4vw, 44px); padding:clamp(24px, 3.4vw, 44px); border-radius:28px; background:var(--sh-light); box-shadow:0 0 0 1px var(--sh-line), 0 30px 60px -40px rgb(52 46 41 / 35%); }
.ac-received__mark { position:relative; width:clamp(88px, 9vw, 116px); aspect-ratio:1; }
.ac-received__mark svg { display:block; width:100%; height:100%; }
.ac-received__ring { fill:var(--sh-blush); stroke:var(--sh-gold); stroke-width:3; }
.ac-received__check { stroke:var(--sh-ink); stroke-width:6; }
.ac-received__spark { position:absolute; width:8px; height:8px; border-radius:50%; background:var(--sh-gold); opacity:0; }
.ac-received__spark--1 { top:6%; left:8%; } .ac-received__spark--2 { top:2%; right:12%; width:6px; height:6px; } .ac-received__spark--3 { bottom:8%; right:2%; } .ac-received__spark--4 { bottom:4%; left:14%; width:5px; height:5px; }
body.ac-atelier.ac-shop-view #Content .ac-received .woocommerce-notice, body.ac-atelier.ac-shop-view #Content .ac-received__lead { margin:0!important; padding:0!important; border:0!important; background:none!important; box-shadow:none!important; font:400 clamp(22px, 2.2vw, 30px)/1.25 Georgia,'Times New Roman',serif!important; letter-spacing:-.015em; color:var(--sh-ink)!important; }
body.ac-atelier.ac-shop-view #Content .ac-received .woocommerce-notice::before { display:none!important; }
body.ac-atelier.ac-shop-view #Content .ac-received__mail { display:flex; align-items:center; gap:10px; margin:12px 0 0!important; font-size:15px!important; color:var(--sh-muted); }
.ac-received__mail .ac-shop-icon { flex:none; width:20px; height:20px; color:var(--sh-accent); }
body.ac-atelier.ac-shop-view #Content ul.ac-received__facts { grid-column:1 / -1; display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px; margin:0!important; padding:0!important; list-style:none; border:0; }
body.ac-atelier.ac-shop-view #Content ul.ac-received__facts li { display:flex; flex-direction:column; gap:6px; margin:0!important; padding:16px 18px!important; float:none!important; border:0!important; border-radius:18px; background:var(--sh-card); font-size:11.5px!important; font-weight:600; letter-spacing:.1em; line-height:1.4; text-transform:uppercase; color:var(--sh-muted); list-style:none; }
body.ac-atelier.ac-shop-view #Content ul.ac-received__facts li::before, body.ac-atelier.ac-shop-view #Content ul.ac-received__facts::before, body.ac-atelier.ac-shop-view #Content ul.ac-received__facts::after { display:none!important; content:none!important; }
body.ac-atelier.ac-shop-view #Content ul.ac-received__facts li strong { overflow-wrap:anywhere; font:400 19px/1.3 Georgia,'Times New Roman',serif; letter-spacing:-.005em; text-transform:none; color:var(--sh-ink); }
body.ac-atelier.ac-shop-view #Content ul.ac-received__facts li.total strong { font-size:22px; }
/* L'email è lunga: occupa due caselle invece di andare a capo a metà parola. */
body.ac-atelier.ac-shop-view #Content ul.ac-received__facts li.email { grid-column:span 2; }
body.ac-atelier.ac-shop-view #Content .ac-received__actions { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:12px; margin:4px 0 0!important; padding:0!important; border:0!important; background:none!important; }
body.ac-atelier.ac-shop-view #Content .ac-received .ac-received__actions a.button.ac-received__secondary { border-color:var(--sh-ink)!important; background:transparent!important; color:var(--sh-ink)!important; box-shadow:none!important; }
body.ac-atelier.ac-shop-view #Content .ac-received--failed { grid-template-columns:minmax(0,1fr); }
@keyframes ac-shop-spark { 0% { opacity:0; scale:.2; } 40% { opacity:1; scale:1.2; } 100% { opacity:0; scale:.6; translate:var(--sx, 0) var(--sy, -10px); } }
@media (prefers-reduced-motion:no-preference) {
 .ac-received__ring { stroke-dasharray:315; animation:ac-shop-draw-ring 1s var(--sh-ease) .2s both; }
 .ac-received__check { stroke-dasharray:70; animation:ac-shop-draw-check .6s var(--sh-ease) .9s both; }
 .ac-received__spark { animation:ac-shop-spark 1.3s ease-out 1.2s both; }
 .ac-received__spark--1 { --sx:-10px; --sy:-10px; } .ac-received__spark--2 { --sx:10px; --sy:-12px; animation-delay:1.3s; } .ac-received__spark--3 { --sx:12px; --sy:8px; animation-delay:1.4s; } .ac-received__spark--4 { --sx:-10px; --sy:10px; animation-delay:1.35s; }
}
@keyframes ac-shop-draw-ring { from { stroke-dashoffset:315; fill-opacity:0; } }
@keyframes ac-shop-draw-check { from { stroke-dashoffset:70; } }

/* ---------- Dettagli dell'ordine (ringraziamento e area personale) ---------- */
body.ac-atelier.ac-shop-view #Content .woocommerce-order-details, body.ac-atelier.ac-shop-view #Content .woocommerce-customer-details { margin:0 0 clamp(24px, 3vw, 36px); }
body.ac-atelier.ac-shop-view #Content :is(.woocommerce-order-details__title,.woocommerce-column__title,.woocommerce-customer-details>h2) { --atelier-heading-size:clamp(24px, 2.4vw, 30px); --atelier-heading-before:0px; --atelier-heading-after:14px; color:var(--sh-ink); }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details { table-layout:auto!important; width:100%; margin:0; overflow:hidden; border:0!important; border-collapse:separate; border-spacing:0; border-radius:22px; background:var(--sh-light); box-shadow:0 0 0 1px var(--sh-line); }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details :is(th,td) { padding:15px 20px!important; border:0!important; border-bottom:1px solid var(--sh-line)!important; background:transparent!important; color:var(--sh-ink); font-size:14.5px; font-weight:400; line-height:1.5; text-align:left; vertical-align:middle; }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details thead th { padding-block:13px!important; background:var(--sh-card)!important; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--sh-muted); }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details :is(td.product-total,tfoot td,thead th.product-total) { text-align:right; font-variant-numeric:tabular-nums; }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details .amount { white-space:nowrap; }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details :is(th,td) { overflow-wrap:normal!important; word-break:normal; }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details td.product-name a { font:400 17px/1.35 Georgia,'Times New Roman',serif; color:var(--sh-ink); text-decoration:none; }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details td.product-name :is(strong.product-quantity) { margin-left:6px; font-weight:600; color:var(--sh-muted); }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details tfoot th { color:var(--sh-muted); font-weight:400; }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details tfoot tr:last-child :is(th,td) { border-bottom:0!important; }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details tfoot tr:has(.woocommerce-Price-amount):last-of-type td { font:400 22px/1.2 Georgia,'Times New Roman',serif; }
body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details tfoot td .button { margin:2px 4px 2px 0; }
body.ac-atelier.ac-shop-view #Content .woocommerce-customer-details address { position:relative; margin:0; padding:20px 22px 20px 22px!important; border:0!important; border-radius:22px; background:var(--sh-light); box-shadow:0 0 0 1px var(--sh-line); font-style:normal; font-size:15px; line-height:1.75; color:var(--sh-ink); }
body.ac-atelier.ac-shop-view #Content .woocommerce-customer-details address::before, body.ac-atelier.ac-shop-view #Content .woocommerce-customer-details address::after { display:none!important; }
body.ac-atelier.ac-shop-view #Content .woocommerce-customer-details :is(.woocommerce-customer-details--phone,.woocommerce-customer-details--email) { display:flex; align-items:center; gap:10px; margin:6px 0 0!important; padding:0!important; font-size:14.5px; }
body.ac-atelier.ac-shop-view #Content .woocommerce-customer-details :is(.woocommerce-customer-details--phone,.woocommerce-customer-details--email)::before { content:""!important; display:block!important; flex:none; width:18px; height:18px; margin:0!important; background:var(--sh-accent); -webkit-mask:var(--sh-icon) center/contain no-repeat; mask:var(--sh-icon) center/contain no-repeat; font-size:0; position:static!important; }
body.ac-atelier.ac-shop-view #Content .woocommerce-customer-details--phone { --sh-icon: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='M8 3.5H5.2c-.9 0-1.7.8-1.6 1.7C4.4 13 11 19.6 18.8 20.4c.9.1 1.7-.7 1.7-1.6V16l-4-1.6-2 2.4c-2.6-1.2-4.6-3.2-5.8-5.8l2.4-2Z'/%3E%3C/svg%3E"); }
body.ac-atelier.ac-shop-view #Content .woocommerce-customer-details--email { --sh-icon: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%3Crect x='3.5' y='5.5' width='17' height='13' rx='2'/%3E%3Cpath d='m4.5 7 7.5 6 7.5-6'/%3E%3C/svg%3E"); }
/* Il footer usa un <address>: niente stili degli indirizzi di WooCommerce lì. */
body.ac-shop-view #Footer address.ac-footer-contacts { margin:0; padding:0!important; border:0!important; background:none!important; box-shadow:none!important; }

/* ---------- Avvisi con pulsante (es. "Conferma l'indirizzo e-mail") ---------- */
body.ac-atelier.ac-shop-view #Content .ac-commerce-notice a.close::after, body.ac-atelier.ac-shop-view #Content .ac-commerce-notice a.close::before { content:none!important; display:none!important; }
body.ac-atelier.ac-shop-view #Content .ac-commerce-notice .alert_wrapper:has(>.button) { display:flex!important; flex-direction:column; align-items:flex-start; gap:12px; }
/* WooCommerce mette il pulsante prima del testo: si legge prima il messaggio, poi l'azione. */
body.ac-atelier.ac-shop-view #Content .ac-commerce-notice .alert_wrapper>.button { order:2; float:none!important; margin:0!important; white-space:nowrap; }

/* ---------- Codice promozionale e buono regalo (cassa e carrello) ----------
   Campo e pulsante sulla stessa riga, il campo bianco con il bordo ben visibile, uguale per i due codici. Il modulo del
   coupon in cassa si apre e chiude con l'altezza (WooCommerce): la riga flessibile vale solo quando è aperto. */
body.ac-atelier.ac-shop-view #Content form.checkout_coupon:not([style*="none"]), body.ac-atelier.ac-shop-view #Content .ywgc_enter_code>div { display:flex!important; flex-wrap:wrap; align-items:center; gap:10px; }
body.ac-atelier.ac-shop-view #Content form.checkout_coupon { margin:-8px 0 24px!important; padding:18px 20px!important; border:1px solid var(--sh-line)!important; border-radius:20px; background:var(--sh-card)!important; }
body.ac-atelier.ac-shop-view #Content .ywgc_enter_code { box-sizing:border-box; margin:-12px 0 24px!important; padding:18px 20px!important; border:1px solid var(--sh-line); border-radius:20px; background:var(--sh-card)!important; box-shadow:none!important; }
/* Il plugin sposta la riga di 14px a sinistra e rientra i paragrafi: qui campo e testo partono dal bordo del riquadro. */
body.ac-atelier.ac-shop-view #Content .ywgc_enter_code>div { margin:0!important; }
body.ac-atelier.ac-shop-view #Content .ywgc_enter_code>div::after { content:none; }
body.ac-atelier.ac-shop-view #Content .ywgc_enter_code p { padding-inline:0!important; }
body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon,.ywgc_enter_code>div)>p:not(.form-row) { flex-basis:100%; margin:0 0 2px!important; font-size:14px!important; color:var(--sh-muted); }
body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon,.ywgc_enter_code>div) .form-row { float:none!important; width:auto!important; margin:0!important; padding:0!important; }
/* Un codice è corto: il campo resta di una misura da codice (non a tutta larghezza) con il pulsante subito accanto. */
body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon,.ywgc_enter_code>div) .form-row-first { flex:0 1 360px; min-width:0; }
body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon,.ywgc_enter_code>div) .form-row-last { flex:0 0 auto; }
body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon,.ywgc_enter_code>div) .clear { display:none; }
body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon #coupon_code,#giftcard_code,.ac-cart-coupon #coupon_code) { width:100%!important; height:52px!important; min-height:52px; margin:0!important; padding:0 20px!important; box-sizing:border-box; border:1px solid #c9b8a6!important; border-radius:50px!important; background:#fff!important; color:var(--sh-ink)!important; font:400 16px/1.2 'Open Sans',Arial,sans-serif!important; box-shadow:none!important; }
body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon #coupon_code,#giftcard_code,.ac-cart-coupon #coupon_code)::placeholder { color:#8a7f74; opacity:1; }
body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon #coupon_code,#giftcard_code,.ac-cart-coupon #coupon_code):focus { outline:2px solid rgb(113 85 69 / 25%); outline-offset:2px; border-color:var(--sh-accent)!important; }
body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon,.ywgc_enter_code>div) .button { width:auto!important; margin:0!important; white-space:nowrap; }
@media (max-width:480px) { body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon,.ywgc_enter_code>div) :is(.form-row-first,.form-row-last) { flex:1 1 100%; } body.ac-atelier.ac-shop-view #Content :is(form.checkout_coupon,.ywgc_enter_code>div) .button { width:100%!important; } }
/* "Sei già un cliente?": email e password affiancate della misura di un campo, poi Ricordami e Accedi, poi la password
   dimenticata. Niente !important su display: WooCommerce apre e chiude il modulo con lo stile in linea. */
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px 20px; }
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login>p:not(.form-row,.lost_password) { flex-basis:100%; margin:0; font-size:14px; color:var(--sh-muted); }
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login .form-row { margin:0!important; }
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login :is(.form-row-first,.form-row-last) { flex:0 1 340px; min-width:0; }
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login .clear { display:none; }
/* Il clearfix di WooCommerce (::before e ::after vuoti) qui diventerebbe un elemento in più, con il suo spazio. */
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login::before,
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login::after,
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login .form-row::before,
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login .form-row::after { content:none; display:none; }
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login .form-row:not(.form-row-first,.form-row-last) { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; flex-basis:100%; }
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login .woocommerce-form-login__rememberme { display:inline-flex; align-items:center; gap:8px; margin:0; font-weight:400; }
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login .woocommerce-form-login__submit { margin:0!important; }
body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login .lost_password { flex-basis:100%; margin:0!important; font-size:14px; }
@media (max-width:600px) { body.ac-atelier.ac-shop--checkout #Content form.woocommerce-form-login :is(.form-row-first,.form-row-last) { flex:1 1 100%; } }

/* ---------- Area personale ---------- */
/* Testata: lo stesso filo dorato del carrello al posto dei cerchi concentrici. */
body.ac-atelier.ac-shop--account #Content .ac-classic-title { background:radial-gradient(90% 140% at 100% 0%, var(--sh-blush) 0%, rgb(245 230 225 / 0%) 60%), var(--sh-card)!important; }
/* La testata dell'account è più bassa di quella del carrello: l'anello si aggancia al fondo, così se ne vede la curva. */
body.ac-atelier.ac-shop--account #Content .ac-classic-title::after { top:auto!important; bottom:22px!important; right:-70px!important; width:260px!important; height:260px!important; border:1px solid rgb(201 162 92 / 38%)!important; box-shadow:none!important; }
@media (max-width:760px) { body.ac-atelier.ac-shop--account #Content .ac-classic-title::after { bottom:24px!important; right:-50px!important; width:180px!important; height:180px!important; } }
body.ac-atelier.ac-shop--account #Content #ywgc-add-new-gift-card { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:4px 20px; border:1px solid var(--sh-ink); border-radius:50px; background:transparent; color:var(--sh-ink); font:600 14px/1.2 'Open Sans',Arial,sans-serif; cursor:pointer; transition:background-color .25s ease, transform .35s var(--sh-ease); }
body.ac-atelier.ac-shop--account #Content #ywgc-add-new-gift-card>.ac-inline-arrow { width:32px!important; height:32px!important; flex:0 0 32px!important; font-size:15px!important; }
body.ac-atelier.ac-shop--account #Content .woocommerce-MyAccount-content table.woocommerce-orders-table .button { min-height:40px!important; padding-block:4px!important; gap:10px; font-size:13.5px!important; }
body.ac-atelier.ac-shop--account #Content .woocommerce-MyAccount-content table.woocommerce-orders-table .button>.ac-inline-arrow { width:30px!important; height:30px!important; flex-basis:30px!important; font-size:14px!important; }
body.ac-atelier.ac-shop--account #Content .woocommerce-MyAccount-content table.woocommerce-orders-table .button:has(>.ac-inline-arrow:last-child) { padding-left:16px!important; padding-right:5px!important; }
/* Le pillole chiare (ordini, azioni dell'ordine, indirizzi, gift card) al passaggio restano chiare con il testo scuro:
   il passaggio marrone delle pillole principali (site-uniform.css) lasciava qui il testo scuro sul marrone. */
@media (hover:hover) and (pointer:fine) {
 body.ac-atelier.ac-shop--account #Content .woocommerce-MyAccount-content :is(td .button,.woocommerce-Address-title a.edit,.yith-add-new-gc-my-account-button):not(:disabled):hover { border-color:var(--sh-ink)!important; background:var(--sh-light)!important; color:var(--sh-ink)!important; box-shadow:0 14px 28px rgb(52 46 41 / 10%)!important; }
 /* Il pallino diventa nero con la freccia bianca, come nel resto del sito: account.css fa ereditare ai testi dei pulsanti
    il colore della pillola, che sulle pillole chiare lasciava la freccia scura sul nero. */
 body.ac-atelier.ac-shop--account #Content .woocommerce-MyAccount-content :is(.button,.yith-add-new-gc-my-account-button,.woocommerce-Address-title a.edit):not(:disabled):hover>.ac-inline-arrow { background:#181818!important; color:#fff!important; }
}

/* ---------- Scheda prodotto: la quantità come nel carrello ---------- */
body.ac-atelier.single-product #Content form.cart .quantity.ac-qty { display:inline-flex; align-items:center; gap:2px; margin:0 10px 0 0; padding:3px; border-radius:50px; background:#fffdf9; box-shadow:inset 0 0 0 1px #ded3c4; vertical-align:middle; }
body.ac-atelier.single-product #Content form.cart .quantity.ac-qty input.qty { width:44px!important; min-width:0; min-height:44px; margin:0; padding:0!important; border:0!important; border-radius:0; background:none!important; box-shadow:none; color:#342e29; font:600 16px/1 'Open Sans',Arial,sans-serif; text-align:center; -moz-appearance:textfield; appearance:textfield; }
body.ac-atelier.single-product #Content form.cart .quantity.ac-qty input.qty::-webkit-inner-spin-button, body.ac-atelier.single-product #Content form.cart .quantity.ac-qty input.qty::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
body.ac-atelier.single-product #Content .ac-qty-btn { display:grid; place-items:center; width:44px; height:44px; min-height:0; margin:0; padding:0; border:0!important; border-radius:50%; background:transparent!important; box-shadow:none!important; color:#342e29!important; font:400 20px/1 'Open Sans',Arial,sans-serif; cursor:pointer; transition:background-color .2s ease, color .2s ease; }
@media (hover:hover) and (pointer:fine) { body.ac-atelier.single-product #Content .ac-qty-btn:hover { background:#342e29!important; color:#fff!important; } }

/* ---------- Telefono e tablet ---------- */
@media (max-width:1000px) {
 body.ac-atelier.ac-shop--cart #Content .ac-cart { grid-template-columns:minmax(0,1fr); }
 body.ac-atelier.ac-shop--cart #Content .ac-cart__aside { grid-column:1; position:static; }
 body.ac-atelier.ac-shop-view #Content .ac-checkout-summary { position:static; }
}
@media (max-width:760px) {
 .ac-shop-head { border-radius:24px; }
 .ac-shop-steps { width:100%; justify-content:space-between; }
 .ac-shop-steps li { flex:1 1 0; }
 .ac-shop-steps li+li::before { flex:1 1 auto; width:auto; min-width:12px; margin:0 8px; }
 .ac-shop-steps li>:is(a,span) { flex-direction:column; gap:6px; text-align:center; }
 .ac-shop-steps li+li { flex:2 1 0; }
 .ac-shop-steps__label { font-size:11.5px; white-space:normal; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-item { grid-template-columns:84px minmax(0,1fr); grid-template-areas:"visual info" "qty subtotal"; gap:12px 14px; padding:12px; padding-right:56px; border-radius:22px; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-item__visual { grid-area:visual; width:84px; border-radius:16px; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-item__info { grid-area:info; align-self:center; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-item__qty { grid-area:qty; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-item__subtotal { grid-area:subtotal; align-self:center; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-item__remove { position:absolute; top:12px; right:12px; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon #coupon_code { flex:1 1 100%; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-coupon .coupon .button { width:100%!important; justify-content:center; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-empty { grid-template-columns:minmax(0,1fr); text-align:center; }
 .ac-cart-empty__art svg { max-width:240px; }
 .ac-cart-empty__actions { flex-direction:column; }
 body.ac-atelier.ac-shop--cart #Content .ac-cart-empty .button { justify-content:space-between; width:100%; }
 body.ac-atelier.ac-shop-view #Content .ac-received { grid-template-columns:minmax(0,1fr); justify-items:start; }
 body.ac-atelier.ac-shop-view #Content ul.ac-received__facts { grid-template-columns:repeat(2, minmax(0,1fr)); width:100%; }
 body.ac-atelier.ac-shop-view #Content .ac-received__actions { flex-direction:column; width:100%; }
 body.ac-atelier.ac-shop-view #Content .ac-received__actions .button { justify-content:space-between; width:100%; }
 body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details :is(th,td) { padding:13px 14px!important; font-size:14px; }
 body.ac-atelier.ac-shop-view #Content .ac-commerce-notice:has(.alert_wrapper>.button) { grid-template-columns:24px minmax(0,1fr) 32px; row-gap:10px; }
 body.ac-atelier.ac-shop-view #Content .ac-commerce-notice .alert_wrapper:has(>.button) { grid-column:1 / -1; grid-row:2; }
 body.ac-atelier.ac-shop-view #Content .ac-commerce-notice .alert_wrapper>.button { justify-content:space-between; width:100%; white-space:normal; }
 body.ac-atelier.ac-shop-view #Content table.woocommerce-table--order-details tfoot td .button { display:flex; justify-content:space-between; width:100%; margin:0 0 8px; }
}
@media (prefers-reduced-motion:reduce) {
 body.ac-atelier.ac-shop-view #Content :is(.ac-cart-item,.ac-cart-item__visual img,.ac-qty-btn,a.ac-cart-remove) { transition:none!important; }
}

/* ---------- Intestazione della cassa (alta_shop_focus_header) ----------
   Solo il logo verso la home, "Pagamento sicuro", il telefono e il ritorno al carrello: niente menu che porti via. */
body.ac-navigation-native #Top_bar.ac-header-bar--focus .top_bar_left { flex:1 1 auto; justify-content:flex-start!important; }
body.ac-navigation-native #Top_bar.ac-header-bar--focus .ac-focus-actions { gap:10px; }
.ac-header-bar--focus .ac-shop-icon { width:18px; height:18px; flex:0 0 18px; }
.ac-header-bar--focus .ac-focus-secure { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 16px 0 12px; border-radius:50px; background:var(--sh-card); color:var(--sh-ink); font:600 13px/1.2 'Open Sans',Arial,sans-serif; white-space:nowrap; }
.ac-header-bar--focus .ac-focus-secure .ac-shop-icon { color:var(--sh-gold); }
.ac-header-bar--focus .ac-focus-help { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 4px; color:var(--sh-ink); font:600 14px/1.2 'Open Sans',Arial,sans-serif; text-decoration:none; white-space:nowrap; }
.ac-header-bar--focus .ac-focus-help .ac-shop-icon { box-sizing:content-box; padding:8px; border:1px solid var(--sh-line); border-radius:50%; transition:background-color .2s ease, color .2s ease, border-color .2s ease; }
.ac-header-bar--focus .ac-focus-help__ask { color:var(--sh-muted); font-weight:400; }
.ac-header-bar--focus .ac-focus-back { display:inline-flex; align-items:center; gap:10px; min-height:46px; box-sizing:border-box; padding:5px 20px 5px 6px; border:1px solid var(--sh-ink); border-radius:50px; color:var(--sh-ink); font:600 14px/1.2 'Open Sans',Arial,sans-serif; text-decoration:none; white-space:nowrap; transition:background-color .25s ease, transform .35s var(--sh-ease); }
@media (hover:hover) and (pointer:fine) {
 .ac-header-bar--focus .ac-focus-help:hover .ac-shop-icon { border-color:#181818; background:#181818; color:#fff; }
 .ac-header-bar--focus .ac-focus-back:hover { background:var(--sh-light); transform:translateY(-2px); }
}
@media (max-width:1000px) { .ac-header-bar--focus .ac-focus-help__ask { display:none; } }
/* Sul telefono restano logo, "Pagamento sicuro" e la chiamata; al carrello si torna dal primo passaggio della testata. */
@media (max-width:820px) {
 .ac-header-bar--focus .ac-focus-help__text { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .ac-header-bar--focus .ac-focus-help { padding:0; }
}
@media (max-width:600px) {
 body.ac-navigation-native #Top_bar.ac-header-bar--focus .ac-focus-back { display:none; }
 .ac-header-bar--focus .ac-focus-secure { min-height:36px; padding:0 12px 0 10px; font-size:12px; gap:6px; }
 .ac-header-bar--focus .ac-focus-secure .ac-shop-icon { width:16px; height:16px; flex-basis:16px; }
}
@media (max-width:359px) { .ac-header-bar--focus .ac-focus-secure { background:none; padding:0; } }
