/* ---------- Mini carrello (woocommerce/cart/mini-cart.php) ----------
   Lo stesso disegno del carrello: schede con il riquadro rosa, totale della riga e cestino tondo; in fondo il riepilogo
   scuro con il subtotale e le pillole con la freccia nel pallino. Il contenuto si aggiorna con i frammenti di WooCommerce. */
html.ac-cart-open { overflow:hidden; }
body.ac-atelier dialog.ac-mini-cart-dialog:not([open]) { display:none; }
body.ac-atelier dialog.ac-mini-cart-dialog {
 --mc-ink:#342e29; --mc-muted:#665d54; --mc-accent:#715545; --mc-paper:#fbf8f3; --mc-light:#fffdf9; --mc-line:#ded3c4; --mc-blush:#f5e6e1; --mc-soft:#e6dccd; --mc-ease:cubic-bezier(.22,1,.36,1);
 position:fixed; inset:calc(var(--ac-header-height,88px) + 14px) 24px auto auto;
 width:440px; max-width:calc(100vw - 32px); max-height:calc(100dvh - var(--ac-header-height,88px) - 36px);
 box-sizing:border-box; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; margin:0; padding:0;
 border:0; border-radius:28px; background:var(--mc-paper); color:var(--mc-ink); letter-spacing:normal;
 box-shadow:0 0 0 1px var(--mc-line), 0 40px 90px -30px rgb(52 46 41 / 55%);
}
body.ac-atelier dialog.ac-mini-cart-dialog[open] { animation:ac-mini-in .45s var(--mc-ease) both; }
@keyframes ac-mini-in { from { opacity:0; translate:0 -12px; scale:.985; } }
body.ac-atelier dialog.ac-mini-cart-dialog::backdrop { background:rgb(52 46 41 / 38%); backdrop-filter:blur(2px); }

/* Testata: titolo e chiusura tonda, ferma in alto se l'elenco scorre. */
body.ac-atelier .ac-mini-cart-heading { position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0; padding:22px 22px 4px 24px; background:var(--mc-paper); }
body.ac-atelier .ac-mini-cart-heading h2 { margin:0; padding:0; font:400 26px/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.01em; color:var(--mc-ink); }
body.ac-atelier .ac-mini-cart-heading h2::before, body.ac-atelier .ac-mini-cart-heading h2::after { display:none; }
body.ac-atelier .ac-mini-cart-close { display:grid; place-items:center; flex:none; width:44px; height:44px; min-height:0; margin:0; padding:0; border:0; border-radius:50%; background:var(--mc-light); box-shadow:inset 0 0 0 1px var(--mc-line); color:var(--mc-ink); cursor:pointer; transition:background-color .25s ease, color .25s ease, box-shadow .25s ease, rotate .4s var(--mc-ease); }
body.ac-atelier .ac-mini-cart-close>span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.ac-atelier .ac-mini-cart-close:focus-visible { outline:2px solid var(--mc-accent); outline-offset:3px; }
body.ac-atelier .ac-mini-cart-dialog .widget_shopping_cart { margin:0; padding:0; border:0; background:none; }
body.ac-atelier .ac-mini-cart-dialog .widget_shopping_cart_content { padding:0 24px 0; }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-count { margin:0 0 16px!important; font-size:14px!important; line-height:1.5!important; color:var(--mc-muted); }

/* Prodotti: una scheda per riga, come nel carrello. */
body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart.ac-mini-items { display:grid; gap:10px; margin:0!important; padding:0!important; list-style:none; }
body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart>li.ac-mini-item { position:relative; display:grid; grid-template-columns:72px minmax(0,1fr) auto; align-items:center; gap:14px; margin:0; padding:10px 12px 10px 10px!important; border:0; border-radius:20px; background:var(--mc-light); box-shadow:0 0 0 1px var(--mc-line), 0 16px 36px -30px rgb(52 46 41 / 45%); list-style:none; }
body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart>li.ac-mini-item::before, body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart>li.ac-mini-item::after { display:none; }
.ac-mini-item__visual { display:grid; place-items:center; width:72px; aspect-ratio:1; overflow:hidden; border-radius:16px; background:radial-gradient(80% 80% at 50% 45%, #fff 0%, #f5e6e1 100%); }
.ac-mini-item__visual a { display:contents; }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-item__visual img { display:block; float:none!important; width:84%!important; height:84%!important; max-width:none!important; margin:0!important; padding:0; border-radius:8px; background:none; box-shadow:none!important; object-fit:contain; mix-blend-mode:multiply; transition:scale .8s var(--mc-ease); }
.ac-mini-item__info { min-width:0; }
.ac-mini-item__kind { display:block; margin:0 0 4px; font-size:10.5px; font-weight:600; letter-spacing:.12em; line-height:1.4; text-transform:uppercase; color:var(--mc-accent); }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-item__name { margin:0!important; padding:0; font:400 17px/1.3 Georgia,'Times New Roman',serif!important; letter-spacing:-.01em; color:var(--mc-ink); }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-item__name a { display:inline; font:inherit!important; color:inherit!important; text-decoration:none; }
body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart .ac-mini-item__info :is(.quantity,.variation) { display:block; margin:4px 0 0; font-size:13px; line-height:1.5; color:var(--mc-muted); }
body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart .ac-mini-item__info .amount { font:inherit; color:inherit; }
.ac-mini-item__end { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart .ac-mini-item__total, body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart .ac-mini-item__total .amount { font:400 19px/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.01em; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--mc-ink); }
body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart a.remove.ac-mini-item__remove { position:static!important; display:grid; place-items:center; width:34px; height:34px; min-height:0; margin:0; padding:0!important; border:0; border-radius:50%; background:transparent!important; color:var(--mc-muted)!important; box-shadow:inset 0 0 0 1px var(--mc-line); font-size:0; line-height:1; text-decoration:none; transition:background-color .25s ease, color .25s ease, box-shadow .25s ease; }
body.ac-atelier .ac-mini-cart-dialog a.ac-mini-item__remove svg { width:16px; height:16px; }
.ac-mini-item__remove-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.ac-atelier .ac-mini-cart-dialog a.ac-mini-item__remove:focus-visible { outline:2px solid var(--mc-accent); outline-offset:2px; }
body.ac-atelier .ac-mini-cart-dialog .blockUI.blockOverlay { border-radius:20px; background:rgb(251 248 243 / 70%)!important; }
/* La rotellina d'attesa anche dove il CSS generale di WooCommerce non è caricato (chi siamo, contatti, news). */
body.ac-atelier .ac-mini-cart-dialog .blockUI.blockOverlay::before { content:""; position:absolute; top:50%; left:50%; width:1em; height:1em; margin:-.5em 0 0 -.5em; font-size:2em; background:url(/wp-content/plugins/woocommerce/assets/images/icons/loader.svg) center/cover; animation:ac-mini-spin 1s ease-in-out infinite; }
@keyframes ac-mini-spin { to { transform:rotate(360deg); } }

/* Quantità: − e + in una pillola, come nella scheda prodotto. − si ferma a 1: il cestino toglie il prodotto. */
body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart .ac-mini-item__info .ac-mini-qty { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin:8px 0 0; }
.ac-mini-qty__stepper { display:inline-flex; align-items:center; gap:2px; padding:2px; border-radius:50px; background:var(--mc-light); box-shadow:inset 0 0 0 1px var(--mc-line); }
body.ac-atelier .ac-mini-cart-dialog button.ac-mini-qty__btn { display:grid; place-items:center; width:32px; height:32px; min-height:0; margin:0; padding:0; border:0!important; border-radius:50%; background:transparent!important; box-shadow:none!important; color:var(--mc-ink)!important; font:400 18px/1 'Open Sans',Arial,sans-serif; letter-spacing:0; cursor:pointer; transition:background-color .2s ease, color .2s ease; }
body.ac-atelier .ac-mini-cart-dialog button.ac-mini-qty__btn:disabled { opacity:.35; cursor:default; }
body.ac-atelier .ac-mini-cart-dialog button.ac-mini-qty__btn:focus-visible { outline:2px solid var(--mc-accent); outline-offset:1px; }
.ac-mini-qty__value { min-width:22px; font:600 14px/1 'Open Sans',Arial,sans-serif; font-variant-numeric:tabular-nums; text-align:center; color:var(--mc-ink); }
.ac-mini-qty__price { white-space:nowrap; }

/* Riepilogo scuro, fermo in basso: subtotale, pulsanti, pagamenti accettati. */
body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary { position:sticky; bottom:0; z-index:2; margin:18px -24px 0; padding:22px 24px 20px; overflow:hidden; border-radius:24px 24px 0 0; background:var(--mc-ink); color:var(--mc-paper); }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary::after { content:""; position:absolute; right:-100px; top:-120px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle, rgb(201 162 92 / 26%), transparent 68%); pointer-events:none; }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary>* { position:relative; z-index:1; }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary .woocommerce-mini-cart__total { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 0 4px!important; padding:0!important; border:0!important; background:none!important; }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary .woocommerce-mini-cart__total strong { float:none; margin:0; font:400 14px/1.4 'Open Sans',Arial,sans-serif; color:var(--mc-soft); }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary .woocommerce-mini-cart__total .amount { float:none; font:400 32px/1.1 Georgia,'Times New Roman',serif; letter-spacing:-.02em; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--mc-paper); }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary__hint { margin:0 0 16px!important; font-size:12.5px!important; line-height:1.55!important; color:#cbbfb0; }
body.ac-atelier .ac-mini-cart-dialog .woocommerce-mini-cart__buttons { display:grid; gap:10px; margin:0!important; padding:0!important; }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary__pay { display:flex; align-items:flex-start; gap:8px; margin:14px 0 0!important; font-size:12px!important; line-height:1.55!important; color:#cbbfb0; }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary__pay .ac-shop-icon { flex:0 0 16px; width:16px; height:16px; margin-top:1px; }

/* Pillole con la freccia nel pallino, come nel carrello: chiara principale, con il bordo la seconda. */
body.ac-atelier .ac-mini-cart-dialog a.ac-mini-button { display:flex; align-items:center; justify-content:space-between; gap:14px; float:none; width:100%; min-height:52px; box-sizing:border-box; margin:0!important; padding:7px 7px 7px 24px!important; border:1px solid rgb(255 255 255 / 30%)!important; border-radius:50px; background:transparent!important; color:var(--mc-paper)!important; box-shadow:none!important; font:600 15px/1.25 'Open Sans',Arial,sans-serif!important; letter-spacing:normal; text-align:left; text-decoration:none!important; text-transform:none; transition:background-color .25s ease, transform .35s var(--mc-ease), box-shadow .35s var(--mc-ease); }
body.ac-atelier .ac-mini-cart-dialog a.ac-mini-button.ac-mini-button--primary { border-color:var(--mc-paper)!important; background:var(--mc-paper)!important; color:var(--mc-ink)!important; box-shadow:0 14px 30px rgb(0 0 0 / 25%)!important; }
body.ac-atelier .ac-mini-cart-dialog a.ac-mini-button .ac-inline-label { padding:0; color:inherit; }
body.ac-atelier .ac-mini-cart-dialog a.ac-mini-button .ac-inline-arrow { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; margin:0; padding:0; border-radius:50%; background:transparent; color:inherit; font-size:17px; line-height:1; transition:background-color .2s ease, color .2s ease; }
body.ac-atelier .ac-mini-cart-dialog a.ac-mini-button:focus-visible { outline:2px solid var(--mc-paper); outline-offset:3px; }

/* Carrello vuoto. */
body.ac-atelier .ac-mini-cart-dialog .ac-mini-empty { margin:6px 0 24px; padding:22px; border-radius:20px; background:radial-gradient(90% 140% at 100% 0%, var(--mc-blush) 0%, rgb(245 230 225 / 0%) 60%), #f2ebe1; }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-empty .woocommerce-mini-cart__empty-message { margin:0 0 6px!important; padding:0; font:400 21px/1.3 Georgia,'Times New Roman',serif; color:var(--mc-ink); text-align:left; }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-empty__text { margin:0 0 18px!important; font-size:14px!important; line-height:1.6!important; color:var(--mc-muted); }
body.ac-atelier .ac-mini-cart-dialog .ac-mini-empty a.ac-mini-button.ac-mini-button--primary { border-color:var(--mc-accent)!important; background:var(--mc-accent)!important; color:#fff!important; box-shadow:0 10px 24px rgb(113 85 69 / 20%)!important; }

@media (hover:hover) and (pointer:fine) {
 body.ac-atelier .ac-mini-cart-close:hover { background:#181818; color:#fff; box-shadow:none; rotate:90deg; }
 body.ac-atelier .ac-mini-cart-dialog li.ac-mini-item:hover .ac-mini-item__visual img { scale:1.06; }
 body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart a.remove.ac-mini-item__remove:hover { background:#181818!important; color:#fff!important; box-shadow:none; }
 body.ac-atelier .ac-mini-cart-dialog button.ac-mini-qty__btn:not(:disabled):hover { background:var(--mc-ink)!important; color:#fff!important; }
 body.ac-atelier .ac-mini-cart-dialog a.ac-mini-button:hover { transform:translateY(-2px); background:rgb(255 255 255 / 8%)!important; }
 body.ac-atelier .ac-mini-cart-dialog a.ac-mini-button.ac-mini-button--primary:hover { background:#fff!important; }
 body.ac-atelier .ac-mini-cart-dialog .ac-mini-empty a.ac-mini-button.ac-mini-button--primary:hover { background:#5c4437!important; }
 body.ac-atelier .ac-mini-cart-dialog a.ac-mini-button:hover>.ac-inline-arrow { background:#181818; color:#fff; }
 body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary a.ac-mini-button:not(.ac-mini-button--primary):hover>.ac-inline-arrow { background:var(--mc-paper); color:var(--mc-ink); }
}
@media (max-width:600px) {
 body.ac-atelier dialog.ac-mini-cart-dialog { inset:calc(var(--ac-header-height,72px) + 10px) 10px auto; width:auto; max-width:none; max-height:calc(100dvh - var(--ac-header-height,72px) - 24px); border-radius:24px; }
 body.ac-atelier .ac-mini-cart-heading { padding:18px 16px 4px 20px; }
 body.ac-atelier .ac-mini-cart-heading h2 { font-size:23px; }
 body.ac-atelier .ac-mini-cart-dialog .widget_shopping_cart_content { padding:0 14px; }
 body.ac-atelier .ac-mini-cart-dialog .ac-mini-count { padding-left:6px; }
 body.ac-atelier .ac-mini-cart-dialog ul.woocommerce-mini-cart>li.ac-mini-item { grid-template-columns:64px minmax(0,1fr) auto; gap:12px; }
 .ac-mini-item__visual { width:64px; }
 body.ac-atelier .ac-mini-cart-dialog .ac-mini-summary { margin:16px -14px 0; padding:20px 20px 18px; border-radius:22px 22px 0 0; }
}
@media (prefers-reduced-motion:reduce) {
 body.ac-atelier dialog.ac-mini-cart-dialog[open] { animation:none; }
 body.ac-atelier .ac-mini-cart-dialog :is(img,a,button) { transition:none!important; }
 body.ac-atelier .ac-mini-cart-dialog .blockUI.blockOverlay::before { animation-duration:3s; }
}

