/* Cart transport states and the lazily created popup; original product layout is unchanged. */
.mlsp-product .mlsp-cart-notice { margin-top:14px; font-size:13px; line-height:1.6; }
.mlsp-product .mlsp-cart-notice:empty { display:none; }
.mlsp-product .mlsp-cart-notice .woocommerce-error,.mlsp-product .mlsp-cart-notice .woocommerce-message,.mlsp-product .mlsp-cart-notice .woocommerce-info { margin:0; }
.mlsp-product .mlsp-cart-check { display:inline-block; margin-inline-start:8px; color:inherit; text-decoration:underline; }
.mlsp-product[data-mlsp-cart-busy="true"] .mlsp-cart-notice { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
.mlsp-product .single_add_to_cart_button[aria-busy="true"] { opacity:.65!important; cursor:wait!important; pointer-events:none; }
.mlsp-product .single_add_to_cart_button[aria-busy="true"]::after { content:""; display:inline-block; width:14px; height:14px; margin-inline-start:10px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:mlsp-cart-spin .7s linear infinite; }
@keyframes mlsp-cart-spin { to { transform:rotate(360deg); } }
body.mlsp-cart-open { overflow:hidden!important; }
.mlsp-mini-cart,.mlsp-mini-cart * { box-sizing:border-box; }
.mlsp-mini-cart [hidden] { display:none!important; }
.mlsp-mini-cart { position:fixed; inset:0 0 0 auto; width:min(440px,100%); max-width:100%; height:100vh; height:100dvh; max-height:100vh; max-height:100dvh; margin:0; padding:0; border:0; border-radius:0; background:#fff; color:#1b1b1b; font-family:inherit; box-shadow:-8px 0 40px rgba(0,0,0,.12); overflow:hidden; }
.mlsp-mini-cart:not([open]) { display:none; }
.mlsp-mini-cart[open] { display:flex; flex-direction:column; }
.mlsp-mini-cart::backdrop { background:rgba(0,0,0,.45); }
.mlsp-mini-cart-fallback { z-index:999999; }
.mlsp-mini-cart-overlay { position:fixed; inset:0; z-index:999998; background:rgba(0,0,0,.45); }
.mlsp-mini-cart-overlay[hidden] { display:none!important; }
.mlsp-mini-cart-header { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; border-bottom:1px solid #e5e5e5; }
.mlsp-mini-cart-header h2 { margin:0; padding:0; color:inherit; font:inherit; font-size:20px; font-weight:500; line-height:1.4; }
.mlsp-mini-cart-load-status { flex:0 0 auto; padding:12px 24px; background:#f7f7f7; color:#555; font-size:13px; line-height:1.5; }
.mlsp-mini-cart-load-status[hidden],.mlsp-mini-cart-retry[hidden] { display:none!important; }
.mlsp-mini-cart-retry { margin:0 0 0 8px; padding:0; border:0; background:transparent; color:inherit; font-size:inherit; line-height:inherit; text-decoration:underline; box-shadow:none; cursor:pointer; }
.mlsp-mini-cart-load-status .mlsp-mini-cart-view { margin-top:12px!important; }
.mlsp-mini-cart button,.mlsp-mini-cart a { font-family:inherit; }
.mlsp-mini-cart-close { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin:0; padding:0; border:0; border-radius:50%; background:transparent; color:inherit; font-size:30px; font-weight:400; line-height:1; box-shadow:none; cursor:pointer; }
.mlsp-mini-cart-close:hover { background:#f2f2f2; color:inherit; }
.mlsp-mini-cart-content { flex:1 1 auto; min-height:0; padding:24px; overflow:auto; overflow-x:hidden; overscroll-behavior:contain; }
.mlsp-cart-item-transition { will-change:transform,opacity; }
.mlsp-cart-motion-layer { position:absolute; z-index:1; overflow:hidden; pointer-events:none!important; }
.mlsp-cart-motion-layer ul { position:absolute; inset:0; width:100%; height:100%; }
.mlsp-cart-item-ghost { overflow:hidden; pointer-events:none!important; }
.mlsp-mini-cart-skeleton { flex:1 1 auto; min-height:0; padding:24px; overflow:hidden; }
.mlsp-mini-cart-skeleton-row { display:flex; align-items:center; gap:14px; padding:0 0 18px; border-bottom:1px solid #eee; }
.mlsp-mini-cart-skeleton-row + .mlsp-mini-cart-skeleton-row { margin-top:18px; }
.mlsp-mini-cart-skeleton-block { display:block; border-radius:4px; background:linear-gradient(90deg,#f1f1f1 25%,#fafafa 50%,#f1f1f1 75%); background-size:200% 100%; animation:mlsp-cart-skeleton 1.4s ease-in-out infinite; }
.mlsp-mini-cart-skeleton-image { flex:0 0 72px; width:72px; height:72px; }
.mlsp-mini-cart-skeleton-details { flex:1 1 auto; min-width:0; }
.mlsp-mini-cart-skeleton-line { width:85%; height:14px; }
.mlsp-mini-cart-skeleton-short { width:45%; height:12px; margin-top:14px; }
.mlsp-mini-cart-skeleton-footer { margin-top:24px; }
.mlsp-mini-cart-skeleton-footer > .mlsp-mini-cart-skeleton-line { width:100%; height:18px; }
.mlsp-mini-cart-skeleton-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:24px; }
.mlsp-mini-cart-skeleton-actions > .mlsp-mini-cart-skeleton-block { height:44px; border-radius:999px; }
@keyframes mlsp-cart-skeleton { from { background-position:100% 0; } to { background-position:-100% 0; } }
.mlsp-mini-cart .widget_shopping_cart_content { margin:0; padding:0; }
.mlsp-mini-cart ul.woocommerce-mini-cart { margin:0!important; padding:0!important; list-style:none!important; }
.mlsp-mini-cart ul.woocommerce-mini-cart li { position:relative; min-height:84px; margin:0!important; padding:0 26px 18px 0!important; border:0; border-bottom:1px solid #eee; background:transparent; color:inherit; font-size:14px; line-height:1.5; list-style:none; }
.mlsp-mini-cart ul.woocommerce-mini-cart li + li { margin-top:18px!important; }
.mlsp-mini-cart .mlsp-mini-cart-content .woocommerce-mini-cart-item,.mlsp-mini-cart .mlsp-mini-cart-content .mini_cart_item { transition:opacity .16s ease; }
.mlsp-mini-cart .mlsp-mini-cart-content .mlsp-cart-item-pending { opacity:.45!important; cursor:wait; }
.mlsp-mini-cart .mlsp-mini-cart-content .mlsp-cart-item-pending a { cursor:wait; }
.mlsp-mini-cart .mlsp-mini-cart-content .mlsp-cart-item-pending .blockUI { opacity:0!important; background:transparent!important; background-image:none!important; border:0!important; box-shadow:none!important; animation:none!important; }
.mlsp-mini-cart .mlsp-mini-cart-content .mlsp-cart-item-pending .blockUI::before,.mlsp-mini-cart .mlsp-mini-cart-content .mlsp-cart-item-pending .blockUI::after { display:none!important; content:none!important; animation:none!important; }
.mlsp-mini-cart ul.woocommerce-mini-cart li a:not(.remove) { display:block; color:inherit; font-weight:500; text-decoration:none; overflow-wrap:anywhere; }
/* Shield product thumbnails from native/theme cart rules, including outgoing visual copies. */
#mlsp-mini-cart-dialog.mlsp-mini-cart ul.woocommerce-mini-cart > li > a:not(.remove) img,
#mlsp-mini-cart-dialog.mlsp-mini-cart ul.woocommerce-mini-cart > li > img { display:block!important; position:static!important; inset:auto!important; float:left!important; clear:none!important; flex:0 0 72px!important; width:72px!important; min-width:72px!important; max-width:72px!important; height:72px!important; min-height:72px!important; max-height:72px!important; margin:0 14px 8px 0!important; padding:0!important; border:0!important; border-radius:0!important; box-shadow:none!important; transform:none!important; object-fit:contain!important; object-position:center!important; background:#f5f5f5; }
.mlsp-mini-cart ul.woocommerce-mini-cart li a.remove { position:absolute!important; top:0; right:0; left:auto!important; display:flex; align-items:center; justify-content:center; width:26px; height:26px; margin:0; padding:0; border:0; border-radius:50%; background:transparent!important; color:#777!important; font-size:22px; line-height:1; text-decoration:none; }
.mlsp-mini-cart ul.woocommerce-mini-cart li a.remove:hover { background:#f3f3f3!important; color:#1b1b1b!important; }
.mlsp-mini-cart .quantity { display:block; margin-top:8px; color:#666; font-size:13px; font-weight:400; }
.mlsp-mini-cart dl.variation { margin:6px 0; padding:0; border:0; color:#666; font-size:12px; }
.mlsp-mini-cart dl.variation dt,.mlsp-mini-cart dl.variation dd { margin:0 5px 0 0; padding:0; }
.mlsp-mini-cart dl.variation dd p { margin:0; }
.mlsp-mini-cart .woocommerce-mini-cart__total { display:flex; align-items:baseline; justify-content:space-between; gap:16px; clear:both; margin:20px 0; padding:0; border:0; color:inherit; font-size:16px; }
.mlsp-mini-cart .woocommerce-mini-cart__buttons { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; }
.mlsp-mini-cart .woocommerce-mini-cart__buttons a,.mlsp-mini-cart .mlsp-mini-cart-view { display:flex; align-items:center; justify-content:center; min-height:44px; margin:0!important; padding:12px 16px!important; border:1px solid #1b1b1b!important; border-radius:999px!important; background:#fff!important; color:#1b1b1b!important; font-size:13px!important; font-weight:400; line-height:1.4; text-align:center; text-decoration:none!important; box-shadow:none; }
.mlsp-mini-cart .woocommerce-mini-cart__buttons a.checkout { background:#1b1b1b!important; color:#fff!important; }
.mlsp-mini-cart .woocommerce-mini-cart__buttons a:hover { opacity:.85; }
.mlsp-mini-cart .mlsp-mini-cart-continue,.mlsp-mini-cart .mlsp-mini-cart-continue:visited { display:flex; flex:0 0 auto; align-items:center; justify-content:center; width:100%; min-height:48px; margin:0; padding:14px 24px calc(14px + env(safe-area-inset-bottom,0px)); border:0; border-top:1px solid #e5e5e5; border-radius:0; background:#fff; color:#555; font-size:13px; font-weight:400; line-height:1.5; text-align:center; text-decoration:underline; box-shadow:none; cursor:pointer; }
.mlsp-mini-cart .mlsp-mini-cart-continue:hover,.mlsp-mini-cart .mlsp-mini-cart-continue:active { background:var(--fl-global-black-1a1a1a); color:#ffffff; }
.mlsp-mini-cart a:focus-visible,.mlsp-mini-cart button:focus-visible { outline:2px solid #1b1b1b; outline-offset:3px; }
.mlsp-mini-cart .mlsp-mini-cart-continue:focus-visible { outline-offset:-3px; }
.mlsp-mini-cart .woocommerce-mini-cart__empty-message { margin:0; margin-bottom:30px; padding:0; font-size:14px; }
@media (max-width:480px) { .mlsp-mini-cart { width:100%; } .mlsp-mini-cart-header { padding:16px; } .mlsp-mini-cart-content,.mlsp-mini-cart-skeleton { padding:20px 16px; } }
@media (prefers-reduced-motion:reduce) { .mlsp-product .single_add_to_cart_button[aria-busy="true"]::after,.mlsp-mini-cart-skeleton-block { animation:none; } .mlsp-cart-item-transition { will-change:auto; } .mlsp-cart-motion-layer { display:none; } .mlsp-mini-cart .mlsp-mini-cart-content .woocommerce-mini-cart-item,.mlsp-mini-cart .mlsp-mini-cart-content .mini_cart_item { transition:none; } }
