body.wcap-open{overflow:hidden}
.wcap-overlay,.wcap-overlay *{box-sizing:border-box}
.wcap-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:999999;display:flex;align-items:center;justify-content:center;padding:12px;animation:wcapFade .2s ease}
.wcap-overlay[dir=rtl]{direction:rtl}
.wcap-overlay[dir=ltr]{direction:ltr}
@keyframes wcapFade{from{opacity:0}to{opacity:1}}
.wcap-modal{position:relative;background:#fff;color:#222;border-radius:14px;width:100%;max-width:var(--wcap-modal-w,640px);max-height:88vh;overflow:auto;padding:14px 16px 16px;box-shadow:0 20px 60px rgba(0,0,0,.3);font-size:14px;line-height:1.6}
.wcap-overlay[dir=rtl] .wcap-modal{direction:rtl;text-align:right}
.wcap-overlay[dir=ltr] .wcap-modal{direction:ltr;text-align:left}

/* Close button */
.wcap-modal .wcap-close{position:absolute;top:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;color:var(--wcap-primary)!important;font-size:38px;font-weight:300;line-height:1;padding:0!important;margin:0;min-height:0;cursor:pointer;z-index:2}
.wcap-overlay[dir=rtl] .wcap-modal .wcap-close{left:6px;right:auto}
.wcap-overlay[dir=ltr] .wcap-modal .wcap-close{right:6px;left:auto}

.wcap-head{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:0 4px}
.wcap-overlay[dir=rtl] .wcap-head{padding-left:44px}
.wcap-overlay[dir=ltr] .wcap-head{padding-right:44px}
.wcap-head h3{margin:0;padding:0;font-size:16px;font-weight:700;line-height:1.5}
.wcap-check{display:inline-flex;width:28px;height:28px;border:2px solid #22a45d;border-radius:50%;color:#22a45d;align-items:center;justify-content:center;flex:none}
.wcap-check svg{width:16px;height:16px}
.wcap-sub{font-size:15px;margin:0 0 8px}

/* Horizontal product list */
.wcap-modal .wcap-track{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:10px;overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x mandatory;padding:0 0 8px;margin:0 0 10px;list-style:none;-webkit-overflow-scrolling:touch}
.wcap-modal .wcap-card{flex:0 0 var(--wcap-card-w,250px)!important;width:var(--wcap-card-w,250px)!important;max-width:none!important;scroll-snap-align:start;border:1px solid #e5e5e5;border-radius:8px;padding:10px;display:flex;flex-direction:column;background:#fff;margin:0}
.wcap-img{display:block;width:100%;height:120px;margin:0 0 6px;overflow:hidden}
.wcap-modal .wcap-img img{width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;display:block;margin:0}
.wcap-brand{font-size:12px;color:#888;margin-bottom:2px}
.wcap-modal .wcap-title{font-size:13px;line-height:1.7;color:#222;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}
.wcap-price{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0;min-height:0}
.wcap-badge{background:#d6204c;color:#fff;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;white-space:nowrap}
.wcap-prices{display:flex;flex-direction:column;align-items:flex-end;margin-inline-start:auto;font-size:13px}
.wcap-prices del{color:#999;font-size:11px}
.wcap-prices ins{text-decoration:none;font-weight:700;background:none}

/* Buttons */
.wcap-modal .wcap-add{margin-top:auto;display:block;width:100%;text-align:center;border:1px solid var(--wcap-primary)!important;background:var(--wcap-primary)!important;color:var(--wcap-btn-text,#fff)!important;border-radius:8px;padding:7px 6px;font-size:13px;font-weight:600;line-height:1.5;cursor:pointer;text-decoration:none;box-shadow:none}
.wcap-modal .wcap-add:hover{opacity:.9}
.wcap-modal .wcap-add.is-loading{opacity:.6;pointer-events:none}
.wcap-modal .wcap-add.is-added{background:#e8f6ee!important;border-color:#22a45d!important;color:#22a45d!important;cursor:default}
.wcap-foot{display:flex;gap:10px}
.wcap-modal .wcap-btn{flex:1;display:block;text-align:center;border-radius:6px;padding:11px 8px;font-size:14px;font-weight:700;line-height:1.5;cursor:pointer;text-decoration:none;border:1px solid var(--wcap-primary)!important;box-shadow:none}
.wcap-modal .wcap-btn-cart{background:#fff!important;color:var(--wcap-primary)!important}
.wcap-modal .wcap-btn-continue{background:var(--wcap-primary)!important;color:var(--wcap-btn-text,#fff)!important}
button.wcap-loading{opacity:.6;pointer-events:none}

@media(max-width:560px){
	.wcap-modal .wcap-card{flex-basis:min(var(--wcap-card-w,250px),62%)!important;width:min(var(--wcap-card-w,250px),62%)!important}
	.wcap-img{height:100px}
}
