/* MAD Product Cards: independent floating tools; no changes to existing cards or filters. */
.mad-wpc-floating { --mad-float-accent:#7ab631; --mad-float-foreground:#fff; --mad-float-badge:#17211e; --mad-float-panel:#fff; --mad-float-edge:24px; --mad-float-bottom:24px; --mad-float-size:54px; --mad-float-gap:12px; --mad-float-drawer-width:390px; position:fixed!important; inset:0; z-index:2147482000; pointer-events:none; font-family:Montserrat,'Open Sans',Arial,sans-serif; color:#17211e; }
.mad-wpc-floating *, .mad-wpc-floating *::before, .mad-wpc-floating *::after { box-sizing:border-box; }
.mad-wpc-floating [hidden] { display:none!important; }
.mad-wpc-floating button { cursor:pointer; font:inherit; }
.mad-wpc-floating a { text-decoration:none; }
.mad-wpc-floating a:focus-visible, .mad-wpc-floating button:focus-visible, .mad-wpc-floating input:focus-visible { outline:3px solid #365e1e; outline-offset:3px; }
.mad-wpc-floating-actions { position:absolute; display:flex; flex-direction:row; align-items:center; gap:var(--mad-float-gap); bottom:calc(var(--mad-float-bottom) + env(safe-area-inset-bottom, 0px)); pointer-events:auto; }
.mad-wpc-floating--right .mad-wpc-floating-actions { right:calc(var(--mad-float-edge) + env(safe-area-inset-right, 0px)); }
.mad-wpc-floating--left .mad-wpc-floating-actions { left:calc(var(--mad-float-edge) + env(safe-area-inset-left, 0px)); }
.mad-wpc-floating .mad-wpc-floating-btn { position:relative!important; width:var(--mad-float-size); height:var(--mad-float-size); flex:0 0 var(--mad-float-size); border:none!important; border-radius:50%!important; padding:0!important; display:flex; align-items:center; justify-content:center; box-shadow:0 7px 23px rgba(15,35,20,.22); background:var(--mad-float-accent)!important; color:var(--mad-float-foreground)!important; transition:transform .2s ease,box-shadow .2s ease; }
.mad-wpc-floating .mad-wpc-floating-btn:hover { transform:translateY(-2px); box-shadow:0 11px 25px rgba(15,35,20,.3); }
.mad-wpc-floating .mad-wpc-floating-btn svg { display:block; width:25px; height:25px; stroke:currentColor; }
.mad-wpc-floating-count { position:absolute; top:-7px; right:-8px; z-index:2; pointer-events:none; background:var(--mad-float-badge); color:#fff; border:2px solid #fff; border-radius:20px; min-width:23px; height:23px; padding:0 5px; display:flex; align-items:center; justify-content:center; font-size:11px; line-height:1; font-weight:800; }
.mad-wpc-floating--left .mad-wpc-floating-count { right:-8px; }
.mad-wpc-floating-scrim { position:absolute; inset:0; pointer-events:auto; background:rgba(7,19,13,.46); backdrop-filter:blur(2px); }
.mad-wpc-cart-is-open { overflow:hidden!important; }
.mad-wpc-cart-drawer { position:absolute; top:0; bottom:0; right:0; display:flex; flex-direction:column; width:min(var(--mad-float-drawer-width),100vw); max-width:100%; background:var(--mad-float-panel); box-shadow:-8px 0 32px rgba(0,0,0,.18); pointer-events:auto; overflow:hidden; }
.mad-wpc-floating--left .mad-wpc-cart-drawer { right:auto; left:0; box-shadow:8px 0 32px rgba(0,0,0,.18); }
.mad-wpc-drawer-heading { padding:26px 25px 21px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e6ebe7; }
.mad-wpc-drawer-eyebrow { display:block; color:#67736c; font-size:10px; letter-spacing:.15em; font-weight:800; margin-bottom:5px; }
.mad-wpc-drawer-heading h2 { margin:0!important; padding:0!important; font-size:25px!important; line-height:1.2!important; font-weight:800!important; color:#18241d!important; }
.mad-wpc-drawer-heading h2 span { color:#7b8780; font-size:16px; }
.mad-wpc-floating .mad-wpc-close-drawer, .mad-wpc-floating .mad-wpc-popover-top button { border:1px solid #e0e7e1!important; background:#f6f8f5!important; color:#243126!important; border-radius:50%; display:flex; align-items:center; justify-content:center; padding:0!important; width:37px; height:37px; font-size:27px; line-height:1; }
.mad-wpc-cart-body { flex:1; min-height:0; overflow:auto; padding:0 24px 24px; display:flex; flex-direction:column; }
.mad-wpc-cart-body[aria-busy="true"] { opacity:.7; }
.mad-wpc-loading { padding:36px 0; color:#67736c; }
.mad-wpc-cart-empty { padding:65px 0 30px; text-align:center; }
.mad-wpc-cart-empty-icon { margin:0 auto 22px; width:72px; height:72px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#edf4e7; color:#578a2d; }
.mad-wpc-cart-empty-icon svg { width:34px; height:34px; }
.mad-wpc-cart-empty h3 { margin:0 0 12px!important; padding:0!important; color:#17211e!important; font-size:19px!important; }
.mad-wpc-cart-empty p { color:#69776e; margin:0 0 26px!important; }
.mad-wpc-cart-list { flex:1; }
.mad-wpc-cart-line { display:grid; grid-template-columns:84px 1fr; gap:15px; padding:22px 0; border-bottom:1px solid #edf1ed; }
.mad-wpc-cart-thumb { width:84px; height:84px; border-radius:11px; background:#f6f8f6; display:flex; justify-content:center; align-items:center; overflow:hidden; }
.mad-wpc-cart-thumb img { display:block; width:100%; height:100%; object-fit:contain; }
.mad-wpc-cart-product-title { color:#17211e!important; font-size:13px; line-height:1.4; font-weight:700; display:block; }
.mad-wpc-cart-line .variation { font-size:11px; color:#718077; margin:6px 0; }
.mad-wpc-cart-line .variation dd, .mad-wpc-cart-line .variation dt { display:inline; margin:0 4px 0 0; }
.mad-wpc-cart-unit-price { margin:8px 0 10px; font-weight:800; color:#203529; font-size:15px; }
.mad-wpc-cart-qty-row { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.mad-wpc-qty-controls { display:flex; align-items:center; border:1px solid #d8e2da; border-radius:8px; height:32px; overflow:hidden; }
.mad-wpc-floating .mad-wpc-qty-controls button { background:#f5f7f5!important; color:#18241d!important; border:0!important; width:30px; height:30px; font-size:18px; line-height:1; padding:0!important; }
.mad-wpc-floating .mad-wpc-qty-controls button:disabled { opacity:.45; cursor:default; }
.mad-wpc-qty-controls input { border:0!important; border-radius:0!important; box-shadow:none!important; outline:0!important; width:36px!important; height:30px!important; padding:0!important; font-size:12px!important; font-weight:700!important; color:#17211e!important; background:#fff!important; text-align:center; -moz-appearance:textfield; }
.mad-wpc-qty-controls input::-webkit-inner-spin-button,.mad-wpc-qty-controls input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.mad-wpc-floating .mad-wpc-remove { background:transparent!important; border:0!important; color:#68786e!important; padding:4px!important; text-decoration:underline; font-size:11px; }
.mad-wpc-cart-bottom { border-top:1px solid #e5ece6; margin-top:auto; padding-top:20px; }
.mad-wpc-cart-subtotal { display:flex; align-items:center; justify-content:space-between; color:#17211e; font-size:16px; }
.mad-wpc-cart-subtotal strong { font-size:19px; }
.mad-wpc-cart-note { color:#738076; font-size:11px; line-height:1.5; margin:12px 0 18px!important; }
.mad-wpc-floating .mad-wpc-cart-action,.mad-wpc-floating .mad-wpc-account-primary { background:var(--mad-float-accent)!important; color:var(--mad-float-foreground)!important; padding:15px 17px!important; display:flex; justify-content:space-between; align-items:center; border:0!important; border-radius:9px; font-size:13px; font-weight:800; }
.mad-wpc-floating .mad-wpc-cart-action { width:100%; }
.mad-wpc-floating .mad-wpc-cart-view { display:block; color:#36493a!important; text-align:center; padding:15px 0 4px; font-size:12px; font-weight:700; text-decoration:underline; }
.mad-wpc-account-popover { position:absolute; bottom:calc(var(--mad-float-bottom) + var(--mad-float-size) + 14px + env(safe-area-inset-bottom,0px)); width:min(285px,calc(100vw - 36px)); max-height:min(650px, calc(100dvh - 80px)); overflow:auto; border:1px solid #e0e8e2; border-radius:16px; box-shadow:0 18px 38px rgba(15,35,20,.21); background:var(--mad-float-panel); pointer-events:auto; }
.mad-wpc-floating--right .mad-wpc-account-popover { right:calc(var(--mad-float-edge) + var(--mad-float-size) + var(--mad-float-gap) + env(safe-area-inset-right,0px)); }
.mad-wpc-floating--left .mad-wpc-account-popover { left:calc(var(--mad-float-edge) + env(safe-area-inset-left,0px)); }
.mad-wpc-popover-top { display:flex; justify-content:space-between; align-items:center; padding:16px 18px; border-bottom:1px solid #ebeeeb; }
.mad-wpc-popover-top strong { font-size:14px; }
.mad-wpc-floating .mad-wpc-popover-top button { width:27px; height:27px; font-size:20px; }
.mad-wpc-account-inner { padding:10px 12px 14px; }
.mad-wpc-account-welcome { margin:3px 6px 12px; color:#708075; font-size:12px; }
.mad-wpc-account-welcome strong { color:#17211e; }
.mad-wpc-account-links a { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#243028!important; padding:11px 10px; border-radius:8px; font-size:12px; font-weight:600; }
.mad-wpc-account-links a:hover { background:#f2f6ee!important; color:#1c5629!important; }
.mad-wpc-account-links .mad-wpc-logout-link { color:#9d3636!important; border-top:1px solid #eef0ee; border-radius:0; margin-top:6px; padding-top:17px; }
.mad-wpc-account-hint { margin:4px 5px 18px!important; color:#657168; font-size:12px; line-height:1.6; }
.mad-wpc-account-register { display:flex; justify-content:space-between; padding:15px 5px 0; color:#345a39!important; font-size:12px; font-weight:700; }
.mad-wpc-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media(max-width:640px) { .mad-wpc-floating { --mad-float-edge:14px; --mad-float-bottom:18px; } .mad-wpc-account-popover { bottom:calc(var(--mad-float-bottom) + var(--mad-float-size) + 14px + env(safe-area-inset-bottom,0px)); } .mad-wpc-floating--right .mad-wpc-account-popover { right:14px; } .mad-wpc-floating--left .mad-wpc-account-popover { left:14px; } .mad-wpc-drawer-heading { padding:21px; } .mad-wpc-cart-body { padding:0 20px 20px; } }
@media(prefers-reduced-motion:reduce) { .mad-wpc-floating .mad-wpc-floating-btn { transition:none; } .mad-wpc-floating-scrim { backdrop-filter:none; } }
