/* Compact drawer: fixed title and checkout, independently scrolling native cart items. */
.cart-drawer{width:450px;max-width:100vw;height:100dvh;max-height:100dvh}.cart-drawer[open]{animation:michel-cart-enter .22s ease both}.cart-drawer::backdrop{background:rgba(30,30,30,.18);backdrop-filter:none}.cart-drawer .cart-drawer-heading{height:64px;min-height:64px;padding:10px 18px;gap:10px;border-bottom:1px solid #e8ece5}.cart-drawer-title{display:flex;align-items:center;gap:8px;min-width:0}.cart-drawer .cart-drawer-heading h2{font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.02em;margin:0}.michel-drawer-count{font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;background:#f3f8ed;color:#587b36;padding:4px 8px;border-radius:8px}.cart-drawer .cart-drawer-close{width:44px;height:44px;min-width:44px;padding:10px;border-radius:10px;color:#666}.cart-drawer .cart-drawer-close:focus-visible{outline:2px solid var(--michel-action);outline-offset:-2px}.cart-drawer-close:hover{background:#f3f8ed;color:var(--michel-soft-ink)}.cart-drawer .cart-drawer-body{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;overflow:hidden}.cart-drawer .michel-mini-cart{display:flex;flex-direction:column;flex:1;min-height:0}.drawer-items-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 20px;scrollbar-width:thin;scrollbar-color:#d4dfca transparent}.drawer-items-scroll:focus-visible{outline:2px solid #7cb342;outline-offset:-3px}.michel-mini-cart .drawer-items{margin:0;padding:0;list-style:none}.drawer-item{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid #e8ece5}.drawer-item:last-child{border-bottom:0}.drawer-item-image{padding-top:2px}.michel-mini-cart .drawer-item-image img{float:none;margin:0;width:64px;height:64px;object-fit:contain;border-radius:10px;background:#f7f9f4}.drawer-item-image a{display:block}.drawer-item-content{min-width:0}.drawer-item-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;padding-right:30px;font-size:13px;line-height:1.45;font-weight:600;color:#1e1e1e;min-height:0}.drawer-item-name:hover{color:var(--michel-soft-ink)}.drawer-item-meta{font-size:12px;line-height:1.5;color:#666;margin-top:5px}.drawer-item-meta:empty{display:none}.michel-mini-cart .drawer-item-meta dl{margin:2px 0 0;font-size:12px;line-height:1.5}.drawer-item-meta dt,.drawer-item-meta dd{display:inline;margin:0;padding:0;float:none}.drawer-item-meta dd:after{content:'';display:block}.drawer-item-meta dt:after{content:' '}.drawer-item-meta p{display:inline;margin:0}.drawer-item-unavailable{font-size:12px;color:#666;margin:5px 0}.drawer-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;min-width:0}.drawer-quantity{display:flex;align-items:center;flex:none;border:1px solid var(--michel-ui-border);border-radius:10px;height:46px;background:var(--michel-ui-bg)}.drawer-quantity button{border:0;background:transparent;color:var(--michel-ui-text);font:inherit;font-size:21px;line-height:1;cursor:pointer;width:44px;min-height:44px;padding:0;border-radius:9px;position:relative}.drawer-quantity button:hover:not(:disabled){background:var(--michel-ui-active-bg);color:var(--michel-ui-active-text)}.drawer-quantity button:disabled{color:#a9b1a2;cursor:default}.drawer-quantity-value{min-width:25px;padding:0 3px;text-align:center;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.drawer-line-price{font-size:15px;line-height:1.3;font-weight:700;color:#1e1e1e;text-align:right;min-width:0;overflow-wrap:anywhere}.drawer-line-price .woocommerce-Price-amount{white-space:nowrap}.drawer-line-price small{display:block;font-size:10px;font-weight:400;color:#666}.drawer-item-remove{display:grid;place-items:center;position:absolute;top:7px;right:-10px;width:44px;height:44px;border-radius:10px;color:#8b9385}.drawer-item-remove .icon{width:17px;height:17px}.drawer-item-remove:hover{background:#f3f8ed;color:var(--michel-soft-ink)}.drawer-item button:focus-visible,.drawer-item a:focus-visible,.drawer-checkout a:focus-visible{outline:2px solid #527d23;outline-offset:2px}.drawer-checkout{flex:none;padding:16px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid #e8ece5;background:#fff;box-shadow:0 -5px 16px #22331104}.drawer-subtotal{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;line-height:1.4}.drawer-subtotal strong{font-size:16px;font-weight:600}.drawer-subtotal>span{font-size:20px;font-weight:700;color:#1e1e1e}.michel-mini-cart .drawer-checkout .drawer-checkout-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 16px;margin:0;border:0;border-radius:11px;font-size:14px;font-weight:600;text-align:center}.drawer-checkout-button .icon{width:19px;height:19px}.drawer-view-cart{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;color:#666;text-decoration:underline;text-underline-offset:4px}.drawer-view-cart:hover{color:var(--michel-soft-ink)}.cart-drawer .mini-cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:32px 24px;overflow:auto}.cart-drawer .mini-cart-empty>.icon{width:52px;height:52px;margin:0 0 20px}.cart-drawer .mini-cart-empty h3{font-size:20px;line-height:1.3;margin:0 0 10px;font-weight:600}.cart-drawer .mini-cart-empty p{margin:0 0 24px;max-width:290px;line-height:1.6}.cart-drawer .cart-drawer-status:not(.is-error){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cart-drawer-status.is-error{flex:none;margin:0;padding:12px 20px max(12px,env(safe-area-inset-bottom));font-size:13px;line-height:1.4;color:#3f552e;background:#f3f8ed;border-top:1px solid #dce8d1}.cart-drawer [aria-disabled=true]{opacity:.6;cursor:wait}.cart-drawer[aria-busy=true] .drawer-quantity{opacity:.65}.cart-drawer[aria-busy=true] .drawer-items-scroll{cursor:progress}
@media(max-width:767px){.cart-drawer{width:100vw}.cart-drawer .cart-drawer-heading{height:calc(64px + env(safe-area-inset-top,0px));min-height:calc(64px + env(safe-area-inset-top,0px));padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px}.cart-drawer .cart-drawer-heading h2{font-size:19px}.cart-drawer-title{gap:8px}.drawer-items-scroll{padding-inline:16px}.drawer-item{grid-template-columns:60px minmax(0,1fr);gap:10px;padding-block:15px}.michel-mini-cart .drawer-item-image img{width:60px;height:60px}.drawer-item-name{font-size:13px;padding-right:26px;line-height:1.45}.drawer-item-remove{right:-10px;top:5px}.drawer-item-meta{font-size:12px;margin-top:4px}.drawer-item-bottom{gap:6px;margin-top:5px}.drawer-quantity button{width:44px}.drawer-quantity-value{min-width:23px}.drawer-line-price{font-size:14px}.drawer-checkout{padding:14px 16px max(8px,env(safe-area-inset-bottom))}.drawer-subtotal{margin-bottom:12px}.drawer-subtotal>span{font-size:20px}.cart-drawer-status.is-error{padding-inline:16px}}
@media(max-width:359px){.drawer-item{grid-template-columns:60px minmax(0,1fr);gap:10px}.michel-mini-cart .drawer-item-image img{width:60px;height:60px}.drawer-quantity button{width:44px}.drawer-line-price{font-size:13px}.michel-drawer-count{padding:4px 7px}}
@keyframes michel-cart-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.cart-drawer[open]{animation:none}}

/* Compact toolbar and an explicit, keyboard-accessible two-step clear action. */
.cart-drawer-title>.icon{width:20px;height:20px;flex:none;color:var(--michel-ui-active-text)}
.drawer-tools{display:flex;justify-content:flex-end;flex:none;padding:4px 16px 0}
.drawer-clear{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 4px;border:0;background:transparent;color:var(--michel-ui-muted);font:inherit;font-size:12px;cursor:pointer;border-radius:8px;transition:color .15s}
.drawer-clear>.icon{width:16px;height:16px}
.drawer-clear:hover{color:#9b4b42}
.drawer-clear:disabled{opacity:.55;cursor:wait}

/* One top-layer backdrop covers both the site and the still-open cart. */
.cart-drawer.has-clear-modal::backdrop{background:transparent}
.drawer-clear-confirm{box-sizing:border-box;position:fixed;inset:var(--clear-top,0px) 0 auto;margin:0 auto;top:calc(var(--clear-top,0px) + var(--clear-height,100dvh)/2);transform:translateY(-50%);width:min(390px,calc(100% - 32px));max-width:calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(var(--clear-height,100dvh) - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:24px;border:0;border-radius:20px;background:#fff;color:var(--michel-ui-text);box-shadow:0 18px 60px #1e1e1e26;text-align:center;overflow:auto;overscroll-behavior:contain}
.drawer-clear-confirm[open]{animation:michel-clear-enter .17s ease both}
.drawer-clear-confirm::backdrop{background:rgba(30,30,30,.3);backdrop-filter:none;animation:michel-clear-backdrop .17s ease both}
.drawer-clear-symbol{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:#fff1ef;color:#c94c42}
.drawer-clear-symbol>.icon{width:26px;height:26px;stroke:currentColor}
.drawer-clear-confirm h3{margin:0 0 10px;font-size:20px;line-height:1.3;font-weight:600}
.drawer-clear-confirm p{margin:0;font-size:14px;line-height:1.55;color:var(--michel-ui-muted)}
.drawer-clear-confirm .drawer-clear-error{margin-top:12px;color:#a33c34;font-size:13px}
.drawer-clear-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.drawer-clear-actions button{min-height:46px;padding:10px 8px;border:0;border-radius:11px;background:#f2f3f0;color:var(--michel-ui-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s}
.drawer-clear-actions [data-clear-confirm]{color:#fff;background:#c94c42}
.drawer-clear-actions button:hover:not(:disabled){background:#e8ece5}
.drawer-clear-actions [data-clear-confirm]:hover:not(:disabled){background:#b84037}
.drawer-clear-actions button:disabled{opacity:.7;cursor:wait}
.drawer-clear:focus-visible,.drawer-clear-actions button:focus-visible{outline:2px solid var(--michel-action);outline-offset:3px}
.drawer-clear-actions [data-clear-confirm]:focus-visible{outline-color:#a33c34}
.drawer-clear-confirm:focus{outline:none}
@keyframes michel-clear-enter{from{opacity:0;transform:translateY(-50%) scale(.97)}to{opacity:1;transform:translateY(-50%) scale(1)}}
@keyframes michel-clear-backdrop{from{opacity:0}to{opacity:1}}
@media(max-width:767px){.drawer-tools{padding-inline:12px}.drawer-item-name{padding-right:28px}}
@media(prefers-reduced-motion:reduce){.drawer-clear,.drawer-clear-actions button{transition:none}.drawer-clear-confirm[open],.drawer-clear-confirm::backdrop{animation:none}}
