.sw-qs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:99990;opacity:1;transition:opacity .18s ease}
.sw-qs-overlay[hidden],.sw-qs-drawer[hidden]{display:none!important}
.sw-qs-drawer{box-sizing:border-box;min-width:0;max-width:100vw;overflow:hidden;contain:layout paint;position:fixed;z-index:99991;top:0;right:0;width:min(620px,94vw);height:100dvh;background:#fff;color:#222;box-shadow:-8px 0 30px rgba(0,0,0,.16);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .22s ease;outline:none}
.sw-qs-drawer.is-open{transform:translateX(0)}
.sw-qs-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #e5e5e5;flex:0 0 auto}
.sw-qs-header h2{font-size:22px;line-height:1.25;margin:0;color:inherit}
.sw-qs-close{border:0;background:transparent;color:inherit;font-size:32px;line-height:1;width:40px;height:40px;cursor:pointer;padding:0}
.sw-qs-status{padding:0 24px;font-size:13px;color:#287b54}.sw-qs-status:empty{display:none}.sw-qs-status.is-error{color:#b42318}
.sw-qs-content{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:22px 24px;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;overscroll-behavior:contain;flex:1;min-height:0}
.sw-qs-product{box-sizing:border-box;display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:start;margin-bottom:28px;min-width:0;max-width:100%}
.sw-qs-image{width:140px;height:140px;object-fit:contain;background:#f7f7f7;border-radius:6px}
.sw-qs-product-meta{min-width:0;max-width:100%;overflow-wrap:anywhere}.sw-qs-product-meta h3{font-size:20px;line-height:1.35;margin:0 0 12px;color:inherit;overflow-wrap:anywhere}
.sw-qs-price{font-size:22px;font-weight:700}.sw-qs-price del{opacity:.55;font-size:.85em}.sw-qs-price ins{text-decoration:none}
.sw-qs-view-details{display:inline-block;margin-top:12px;color:inherit;text-decoration:underline;text-underline-offset:3px}
.sw-qs-options{display:grid;gap:24px;min-width:0;max-width:100%}.sw-qs-attribute{box-sizing:border-box;display:grid;gap:12px;border:0;padding:0;margin:0;min-width:0;max-width:100%}.sw-qs-attribute legend{display:block;font-weight:700;margin:0;padding:0;font-size:15px}
.sw-qs-attribute select{width:100%;max-width:100%;min-height:46px;padding:10px 12px;border:1px solid #d7d7d7;border-radius:5px;background:#fff;color:#222;font:inherit}
.sw-qs-swatches,.sw-qs-size-options{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0;max-width:100%}
.sw-qs-swatch{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border:1px solid #d4d4d4;border-radius:50%;background-color:#d9dde2;background-size:cover;background-position:center;cursor:pointer;box-shadow:none;outline-offset:3px}
.sw-qs-swatch.has-image{flex:0 0 var(--sw-qs-image-width,88px);width:var(--sw-qs-image-width,88px);height:var(--sw-qs-image-height,88px);min-width:0;min-height:0;border-radius:var(--sw-qs-image-radius,4px)!important;border-width:var(--sw-qs-image-border-width,1px)!important;border-color:var(--sw-qs-image-border,#d7d7d7)!important;background-color:#fff!important;background-image:var(--sw-qs-swatch-image)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;overflow:hidden}
.sw-qs-swatch:is(:hover,:active,:focus,.is-selected){transform:none!important;scale:1!important;translate:none!important}.sw-qs-swatch.is-selected{outline:none;border-color:var(--sw-qs-image-border,#d7d7d7)!important;border-width:var(--sw-qs-image-border-width,1px)!important;box-shadow:inset 0 0 0 max(0px,calc(var(--sw-qs-image-selected-width,3px) - var(--sw-qs-image-border-width,1px))) var(--sw-qs-image-selected,#222)!important}
.sw-qs-swatch.has-image.is-selected{outline:none;border-color:var(--sw-qs-image-border,#d7d7d7)!important;border-width:var(--sw-qs-image-border-width,1px)!important;box-shadow:inset 0 0 0 max(0px,calc(var(--sw-qs-image-selected-width,3px) - var(--sw-qs-image-border-width,1px))) var(--sw-qs-image-selected,#222)!important}
.sw-qs-swatch[style*="#ffffff"],.sw-qs-swatch[style*="#fff"]{border-color:#bdbdbd}
.sw-qs-selected-label{font-size:13px;color:#666;min-height:0}.sw-qs-selected-label:empty{display:none}
.sw-qs-size-option{min-width:var(--sw-qs-text-width,72px)!important;min-height:var(--sw-qs-text-height,48px)!important;padding:8px 16px;border:var(--sw-qs-text-border-width,1px) solid var(--sw-qs-text-border,#d7d7d7)!important;border-radius:var(--sw-qs-text-radius,50px)!important;background:#fff;color:#222;font:inherit;font-weight:600;cursor:pointer;box-shadow:none;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.sw-qs-size-option:is(:hover,:active,:focus,.is-selected){transform:none!important;scale:1!important;translate:none!important}.sw-qs-size-option.is-selected{box-sizing:border-box!important;border-width:var(--sw-qs-text-border-width,1px)!important;border-color:var(--sw-qs-text-border,#d7d7d7)!important;background:var(--sw-qs-text-selected-bg,#fff)!important;color:var(--sw-qs-text-selected-color,#222)!important;box-shadow:inset 0 0 0 max(0px,calc(var(--sw-qs-text-selected-width,3px) - var(--sw-qs-text-border-width,1px))) var(--sw-qs-text-selected,#222)!important}.sw-qs-size-option:hover{border-color:var(--sw-qs-text-hover,#777)!important}.sw-qs-swatch.has-image:hover{border-color:var(--sw-qs-image-hover,#777)!important}.sw-qs-size-option:disabled,.sw-qs-swatch:disabled{opacity:.35;cursor:not-allowed}
.sw-qs-quantity{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px}.sw-qs-quantity>div{display:flex;align-items:center;border:1px solid #ddd;border-radius:5px;overflow:hidden}
.sw-qs-quantity button{width:42px;height:42px;border:0;background:#f7f7f7;color:#222;font-size:22px;cursor:pointer}.sw-qs-quantity input{width:48px;min-height:42px;border:0;text-align:center;padding:0;appearance:textfield}
.sw-qs-quantity input::-webkit-inner-spin-button,.sw-qs-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.sw-qs-note{font-size:13px;color:#666;margin:16px 0 0}.sw-qs-error{padding:16px;background:#fff2f0;color:#b42318;border-radius:5px}.sw-qs-loading{padding:28px 0;color:#666}
.sw-qs-footer{display:grid;grid-template-columns:1fr;gap:10px;padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid #e5e5e5;background:#fff;flex:0 0 auto;box-shadow:0 -6px 18px rgba(0,0,0,.04)}
.sw-qs-footer .sw-qs-add,.sw-qs-footer .sw-qs-buy-now{box-sizing:border-box;width:100%;max-width:100%;min-width:0;display:flex;align-items:center;justify-content:center;margin:0 auto;cursor:pointer}
.sw-qs-drawer .sw-qs-footer{min-width:0;max-width:100%;box-sizing:border-box}
.sw-qs-drawer .sw-qs-footer>*{min-width:0;max-width:100%}
.sw-qs-drawer,.sw-qs-drawer *{box-sizing:border-box}
.sw-qs-content *{min-width:0;max-width:100%}
.sw-qs-content .sw-qs-swatch,.sw-qs-content .sw-qs-size-option{flex-shrink:0}
.sw-qs-content::-webkit-scrollbar:horizontal{display:none;height:0}
.sw-qs-content{overscroll-behavior-x:none}
.sw-quick-shop-trigger{box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;width:100%;max-width:100%;min-width:0;margin-inline:auto;text-align:center;white-space:normal;overflow-wrap:anywhere}
.sw-qs-footer button:disabled{opacity:.45;cursor:not-allowed}.sw-qs-footer button:focus-visible,.sw-qs-swatch:focus-visible,.sw-qs-size-option:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
html.sw-qs-open,body.sw-qs-open{overflow:hidden!important;overscroll-behavior:none!important}
.sw-qs-footer .sw-qs-add,.sw-qs-footer .sw-qs-buy-now{flex:0 1 auto!important}
.sw-qs-footer{grid-template-columns:minmax(0,1fr)!important}
.sw-qs-footer .sw-qs-add,.sw-qs-footer .sw-qs-buy-now{justify-self:stretch}
@media(max-width:767px){.sw-qs-drawer{top:auto;bottom:0;left:0;right:0;width:100%;height:min(88dvh,820px);max-height:calc(100dvh - 12px);border-radius:16px 16px 0 0;transform:translateY(102%);box-shadow:0 -8px 30px rgba(0,0,0,.18)}.sw-qs-drawer.is-open{transform:translateY(0)}.sw-qs-header{padding:15px 18px}.sw-qs-header h2{font-size:19px}.sw-qs-content{padding:18px}.sw-qs-footer{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.sw-qs-product{grid-template-columns:100px minmax(0,1fr);gap:14px}.sw-qs-image{width:100px;height:100px}.sw-qs-product-meta h3{font-size:18px}.sw-qs-swatch{width:42px;height:42px;min-width:42px;min-height:42px;flex-basis:42px}.sw-qs-swatch.has-image{flex-basis:var(--sw-qs-image-width,72px);width:var(--sw-qs-image-width,72px);height:var(--sw-qs-image-height,72px);background-size:contain!important}.sw-qs-size-option{min-width:60px;min-height:44px;padding:8px 14px}}
@media(prefers-reduced-motion:reduce){.sw-qs-drawer,.sw-qs-overlay{transition:none}}

/* Success notification stays independent of the drawer; adding an item never auto-opens the cart drawer. */
.sw-qs-footer>.sw-qs-toast{position:relative;grid-column:1/-1;left:auto;bottom:auto;transform:none;width:100%;max-width:100%;box-sizing:border-box;display:flex;align-items:center;gap:12px;margin:0 0 4px;padding:14px 16px;background:#e8f5e9;border:1px solid #b8dfbd;color:#287b3e;box-shadow:none;opacity:1;transition:opacity .18s ease;overflow-wrap:anywhere}.sw-qs-footer>.sw-qs-toast[hidden]{display:none!important}.sw-qs-footer>.sw-qs-toast.is-visible{opacity:1;transform:none}.sw-qs-toast-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#2f8547;color:#fff;font-size:19px;font-weight:700}.sw-qs-toast-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.sw-qs-toast-title{font-size:15px;font-weight:750;overflow-wrap:anywhere}.sw-qs-toast-link{font-size:12px}.sw-qs-toast-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sw-qs-toast-open-cart{border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;padding:8px 10px;font:inherit;font-weight:650;cursor:pointer;white-space:normal}.sw-qs-toast-dismiss{border:0;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer;padding:4px;flex:0 0 auto}
@media(max-width:600px){.sw-qs-footer>.sw-qs-toast{gap:8px;padding:10px}.sw-qs-toast-title{font-size:14px}.sw-qs-toast-actions{width:auto;justify-content:flex-end}.sw-qs-toast-open-cart{padding:6px 8px;font-size:12px}}


/* RC.88: prevent theme active/focus transforms from enlarging a swatch after click. Keep dimensions stable; selection is an inset ring. */
.sw-qs-content .sw-qs-swatch,.sw-qs-content .sw-qs-size-option{box-sizing:border-box!important;transform:none!important;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease!important;}
.sw-qs-content .sw-qs-swatch:active,.sw-qs-content .sw-qs-swatch:focus,.sw-qs-content .sw-qs-size-option:active,.sw-qs-content .sw-qs-size-option:focus{transform:none!important;scale:1!important;}
.sw-qs-content .sw-qs-size-option.is-selected{border-width:var(--sw-qs-text-border-width,1px)!important;}
.sw-qs-content .sw-qs-swatch.is-selected{border-width:var(--sw-qs-image-border-width,1px)!important;}

/* 2.1.11: optional quantity control pinned in the fixed action footer. */
.sw-qs-quantity-slot:empty{display:none!important}
.sw-qs-footer[data-quantity-position="fixed"] .sw-qs-quantity-slot:not(:empty){display:block;width:100%;padding:0 0 12px;margin:0 0 2px;border-bottom:1px solid #ececec}
.sw-qs-footer[data-quantity-position="fixed"] .sw-qs-quantity{margin:0;min-height:48px;gap:12px}
.sw-qs-footer[data-quantity-position="fixed"] .sw-qs-quantity>label{font-weight:500}
.sw-qs-footer[data-quantity-position="fixed"] .sw-qs-quantity>div{flex:0 0 auto}
@media(max-width:767px){
.sw-qs-footer[data-quantity-position="fixed"] .sw-qs-quantity{min-height:44px}
.sw-qs-footer[data-quantity-position="fixed"] .sw-qs-quantity button{width:38px;height:40px}
.sw-qs-footer[data-quantity-position="fixed"] .sw-qs-quantity input{width:44px;min-height:40px}
}
