.wm-shop-page{
  --ws-surface:var(--wm-surface,rgba(255,255,255,.055));
  --ws-surface-soft:var(--wm-surface-soft,var(--wm-surface-2,rgba(255,255,255,.035)));
  --ws-surface-strong:var(--wm-surface-strong,var(--wm-surface-2,rgba(255,255,255,.075)));
  --ws-input:var(--wm-input-bg,var(--ws-surface-soft));
  --ws-border:var(--wm-border,rgba(255,255,255,.10));
  --ws-text:var(--wm-text,#f6f7fb);
  --ws-muted:var(--wm-muted,rgba(246,247,251,.68));
  --ws-accent:var(--wm-accent,#f0a81f);
  --ws-accent-rgb:var(--wm-accent-rgb,240,168,31);
  --ws-accent-text:var(--wm-accent-text,#111827);
  --ws-gradient:var(--wm-accent-gradient,linear-gradient(135deg,var(--ws-accent),var(--ws-accent)));
  --ws-radius:var(--wm-radius,14px);
  --ws-radius-lg:var(--wm-radius-lg,20px);
  --ws-shadow:var(--wm-shadow,0 14px 34px rgba(0,0,0,.12));
  width:100%;
  max-width:none;
  min-width:0;
  display:grid;
  gap:16px;
  color:var(--ws-text);
  box-sizing:border-box;
  container-type:inline-size;
  container-name:wm-webshop;
}
.wm-shop-page *, .wm-shop-page *::before, .wm-shop-page *::after{box-sizing:border-box}
.wm-shop-page button,.wm-shop-page input,.wm-shop-page select{font:inherit}
.wm-shop-page a{text-decoration:none}
.wm-shop-svg-icon{display:inline-block;width:18px;height:18px;flex:0 0 auto;background:currentColor;-webkit-mask:var(--ws-icon) center/contain no-repeat;mask:var(--ws-icon) center/contain no-repeat}
.wm-shop-alert{padding:13px 16px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface);font-weight:700;color:var(--ws-text)}
.wm-shop-alert.is-ok{border-color:rgba(34,197,94,.32);color:#22c55e}.wm-shop-alert.is-error{border-color:rgba(239,68,68,.32);color:#ef4444}

.wm-shop-wallet,.wm-shop-nav,.wm-shop-section,.wm-shop-empty{border:1px solid var(--ws-border);background:var(--ws-surface);border-radius:var(--ws-radius-lg);box-shadow:var(--ws-shadow)}
.wm-shop-wallet{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px;align-items:stretch;overflow:hidden}
.wm-shop-wallet__label{min-width:160px;min-height:46px;padding:0 16px;display:flex;align-items:center;gap:10px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-soft);color:var(--ws-text);font-weight:900;white-space:nowrap}
.wm-shop-wallet__label .wm-shop-svg-icon{color:var(--ws-accent)}
.wm-shop-wallet__coins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}
.wm-shop-wallet__coin{min-width:0;height:46px;padding:0 12px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-soft);color:var(--ws-text);display:grid;grid-template-columns:24px auto minmax(0,1fr);align-items:center;gap:8px;cursor:pointer;transition:.18s ease}
.wm-shop-wallet__coin:hover,.wm-shop-wallet__coin.is-active{border-color:rgba(var(--ws-accent-rgb),.48);background:var(--ws-surface-strong)}
.wm-shop-wallet__coin img{width:22px;height:22px;object-fit:contain}.wm-shop-wallet__coin span{font-size:11px;font-weight:800;color:var(--ws-muted)}.wm-shop-wallet__coin strong{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:var(--ws-text);font-variant-numeric:tabular-nums}

.wm-shop-nav{min-height:58px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.wm-shop-nav__categories{display:flex;align-items:center;gap:6px;min-width:0;overflow:auto;scrollbar-width:none}.wm-shop-nav__categories::-webkit-scrollbar{display:none}
.wm-shop-nav__categories a,.wm-shop-cart-button{height:40px;padding:0 16px;border:1px solid transparent;border-radius:var(--ws-radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font-weight:850;color:var(--ws-muted);background:transparent;cursor:pointer;transition:.18s ease}
.wm-shop-nav__categories a:hover,.wm-shop-nav__categories a.is-active{color:var(--ws-text);border-color:var(--ws-border);background:var(--ws-surface-soft)}
.wm-shop-nav__categories a:hover .wm-shop-svg-icon,.wm-shop-nav__categories a.is-active .wm-shop-svg-icon{color:var(--ws-accent)}
.wm-shop-cart-button{border-color:rgba(var(--ws-accent-rgb),.32);background:var(--ws-surface-soft);color:var(--ws-text)}
.wm-shop-cart-button .wm-shop-svg-icon{color:var(--ws-accent)}.wm-shop-cart-button b{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ws-gradient);color:var(--ws-accent-text);display:inline-flex;align-items:center;justify-content:center;font-size:11px}

.wm-shop-section{padding:18px;display:grid;gap:16px;min-width:0}
.wm-shop-section__head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--ws-border)}
.wm-shop-section__title-icon{width:38px;height:38px;border:1px solid rgba(var(--ws-accent-rgb),.28);border-radius:var(--ws-radius);background:rgba(var(--ws-accent-rgb),.08);color:var(--ws-accent);display:grid;place-items:center;flex:0 0 auto}.wm-shop-section__title-icon .wm-shop-svg-icon{width:20px;height:20px}
.wm-shop-section__head h2{margin:0;color:var(--ws-text);font-size:17px;font-weight:900;line-height:1.2}.wm-shop-section__head p{margin:4px 0 0;color:var(--ws-muted);font-size:12px;line-height:1.45}
.wm-shop-empty{padding:34px;text-align:center;color:var(--ws-muted)}

.wm-shop-featured-grid,.wm-shop-product-grid--vip,.wm-shop-item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0}
.wm-shop-featured-card,.wm-shop-product-card,.wm-shop-item-card,.wm-shop-service-card{position:relative;min-width:0;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-soft);overflow:hidden}
.wm-shop-featured-card{display:grid;grid-template-rows:180px 1fr}
.wm-shop-featured-media{position:relative;overflow:hidden;background:var(--ws-surface-strong)}.wm-shop-featured-media>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.wm-shop-featured-card:hover .wm-shop-featured-media>img{transform:scale(1.035)}
.wm-shop-featured-mark{position:absolute;top:12px;left:12px;width:34px;height:34px;border-radius:var(--ws-radius);background:var(--ws-gradient);color:var(--ws-accent-text);display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.wm-shop-featured-body{padding:16px;display:grid;gap:10px;align-content:start}.wm-shop-featured-body h3,.wm-shop-product-body h3,.wm-shop-service-copy h3,.wm-shop-item-copy h3{margin:0;color:var(--ws-text);font-size:16px;font-weight:900;line-height:1.25}.wm-shop-featured-body p,.wm-shop-product-body p,.wm-shop-service-copy p,.wm-shop-item-copy p{margin:0;color:var(--ws-muted);font-size:12px;line-height:1.5}
.wm-shop-featured-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.wm-shop-featured-meta>span{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ws-muted)}.wm-shop-featured-meta>span .wm-shop-svg-icon{color:var(--ws-accent)}
.wm-shop-featured-actions{margin-top:auto}.wm-shop-featured-actions .wm-shop-btn{width:100%}

.wm-shop-product-card--vip{display:grid;grid-template-rows:170px 1fr}.wm-shop-product-media{display:grid;place-items:center;padding:14px;background:var(--ws-surface-strong);overflow:hidden}.wm-shop-product-media img{width:100%;height:100%;object-fit:contain}.wm-shop-product-body{padding:15px;display:grid;gap:10px}.wm-shop-product-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}.wm-shop-product-heading span,.wm-shop-duration{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:rgba(var(--ws-accent-rgb),.10);border:1px solid rgba(var(--ws-accent-rgb),.24);color:var(--ws-accent);font-size:10px;font-weight:850;white-space:nowrap}.wm-shop-product-footer{display:flex;align-items:center;gap:8px;margin-top:auto}.wm-shop-product-footer form{margin-left:auto}.wm-shop-badge{position:absolute;z-index:2;top:10px;right:10px;padding:5px 9px;border-radius:999px;background:var(--ws-gradient);color:var(--ws-accent-text);font-size:10px;font-weight:900}

.wm-shop-card-price{display:inline-flex;align-items:center;gap:6px;color:var(--ws-text);white-space:nowrap}.wm-shop-card-price>.wm-shop-svg-icon{width:15px;height:15px;color:var(--ws-accent)}.wm-shop-card-price strong{font-size:18px;font-weight:950;font-variant-numeric:tabular-nums}.wm-shop-price-currency img{width:18px;height:18px;object-fit:contain;display:block}

.wm-shop-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wm-shop-service-card{padding:12px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center}.wm-shop-service-icon{width:58px;height:58px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-strong);color:var(--ws-accent);display:grid;place-items:center}.wm-shop-service-icon .wm-shop-svg-icon{width:30px;height:30px}.wm-shop-service-copy{min-width:0}.wm-shop-service-copy h3,.wm-shop-service-copy p{overflow:hidden;text-overflow:ellipsis}.wm-shop-service-copy p{margin-top:4px}.wm-shop-service-actions{display:grid;justify-items:end;gap:8px}

.wm-shop-item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wm-shop-item-card{padding:12px;display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:auto auto;gap:10px 12px}.wm-shop-item-media{grid-row:1/3;width:82px;height:82px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-strong);display:grid;place-items:center;cursor:help}.wm-shop-item-media img{max-width:72px;max-height:72px;object-fit:contain}.wm-shop-item-copy{min-width:0;align-self:start}.wm-shop-item-copy p{margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wm-shop-item-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.wm-shop-item-actions .wm-shop-btn{min-width:108px}

.wm-shop-btn{min-height:42px;padding:0 14px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;font-size:12px;cursor:pointer;transition:.18s ease;white-space:nowrap}.wm-shop-btn--primary{background:var(--ws-gradient);border-color:rgba(var(--ws-accent-rgb),.42);color:var(--ws-accent-text)}.wm-shop-btn--primary:hover{filter:brightness(1.05)}.wm-shop-btn--secondary{background:var(--ws-surface-strong);color:var(--ws-text)}.wm-shop-btn--secondary:hover,.wm-shop-btn--ghost:hover{border-color:rgba(var(--ws-accent-rgb),.40);color:var(--ws-accent)}.wm-shop-btn--ghost{background:transparent;color:var(--ws-muted)}.wm-shop-btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.wm-shop-icon-btn{width:42px;height:42px;padding:0;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-soft);color:var(--ws-text);display:grid;place-items:center;cursor:pointer}.wm-shop-icon-btn:hover{color:var(--ws-accent);border-color:rgba(var(--ws-accent-rgb),.4)}

.wm-shop-cart[hidden],.wm-shop-modal[hidden]{display:none!important}.wm-shop-cart{position:fixed;inset:0;z-index:100100;display:grid;grid-template-columns:1fr minmax(320px,420px)}.wm-shop-cart__backdrop{grid-column:1/2;border:0;background:rgba(0,0,0,.58);cursor:default}.wm-shop-cart__panel{grid-column:2/3;height:100%;display:grid;grid-template-rows:auto 1fr auto;background:var(--ws-surface);color:var(--ws-text);border-left:1px solid var(--ws-border);box-shadow:-18px 0 48px rgba(0,0,0,.28)}.wm-shop-cart__panel>header{min-height:72px;padding:14px 16px;border-bottom:1px solid var(--ws-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.wm-shop-cart__panel>header>div{display:flex;align-items:center;gap:10px}.wm-shop-cart__panel>header>.wm-shop-svg-icon,.wm-shop-cart__panel>header>div>.wm-shop-svg-icon{color:var(--ws-accent);width:22px;height:22px}.wm-shop-cart__panel h3{margin:0;color:var(--ws-text);font-size:18px}.wm-shop-cart__panel header span{display:block;margin-top:2px;color:var(--ws-muted);font-size:11px}.wm-shop-cart__items{padding:14px;overflow:auto;display:grid;align-content:start;gap:10px}.wm-shop-cart__item{padding:10px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-soft);display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center}.wm-shop-cart__item>img{width:54px;height:54px;object-fit:contain;background:var(--ws-surface-strong);border-radius:calc(var(--ws-radius) - 2px)}.wm-shop-cart__item h4{margin:0;color:var(--ws-text);font-size:13px}.wm-shop-cart__item p{margin:4px 0 0;color:var(--ws-muted);font-size:11px}.wm-shop-cart__qty{display:flex;align-items:center;gap:6px;margin-top:8px}.wm-shop-cart__qty button{width:26px;height:26px;border:1px solid var(--ws-border);border-radius:8px;background:var(--ws-surface-strong);color:var(--ws-text);cursor:pointer}.wm-shop-cart__qty b{min-width:22px;text-align:center}.wm-shop-cart__remove{width:30px;height:30px;border:0;background:transparent;color:var(--ws-muted);cursor:pointer}.wm-shop-cart__remove:hover{color:#ef4444}.wm-shop-cart__empty{align-self:center;justify-self:center;text-align:center;color:var(--ws-muted);padding:30px}.wm-shop-cart__empty .wm-shop-svg-icon{width:38px;height:38px;color:var(--ws-accent);margin-bottom:8px}.wm-shop-cart__panel>footer{padding:14px;border-top:1px solid var(--ws-border);display:grid;gap:10px}.wm-shop-cart__panel>footer form,.wm-shop-cart__panel>footer .wm-shop-btn{width:100%}.wm-shop-cart__total{display:flex;align-items:center;gap:8px;color:var(--ws-muted)}.wm-shop-cart__total strong{margin-left:auto;color:var(--ws-text);font-size:22px}.wm-shop-cart__total img{width:22px;height:22px;object-fit:contain}

.wm-shop-modal{position:fixed;inset:0;z-index:100200;display:grid;place-items:center;padding:20px}.wm-shop-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.64)}.wm-shop-modal__box{position:relative;z-index:1;width:min(620px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:20px;border:1px solid var(--ws-border);border-radius:var(--ws-radius-lg);background:var(--ws-surface);color:var(--ws-text);box-shadow:0 28px 70px rgba(0,0,0,.36)}.wm-shop-modal__box.is-wide{width:min(920px,100%)}.wm-shop-modal__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-soft);color:var(--ws-text);display:grid;place-items:center;cursor:pointer}.wm-shop-modal__box>h3,.wm-shop-featured-modal-head h3{margin:0 52px 16px 0;color:var(--ws-text);font-size:19px}.wm-shop-modal-form{display:grid;gap:14px}.wm-shop-modal-form label{color:var(--ws-muted);font-size:11px;font-weight:850}.wm-shop-input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-input);color:var(--ws-text);outline:none}.wm-shop-input:focus{border-color:rgba(var(--ws-accent-rgb),.52);box-shadow:0 0 0 2px rgba(var(--ws-accent-rgb),.12)}.wm-shop-input option{background:var(--ws-surface);color:var(--ws-text)}.wm-shop-modal-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-soft)}.wm-shop-modal-line img{width:64px;height:64px;object-fit:contain}.wm-shop-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.wm-shop-req-list{list-style:none;margin:0;padding:0;border:1px solid var(--ws-border);border-radius:var(--ws-radius);overflow:hidden}.wm-shop-req-list li{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--ws-border);color:var(--ws-muted);font-size:12px}.wm-shop-req-list li:last-child{border-bottom:0}.wm-shop-req-list li span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--ws-surface-strong)}.wm-shop-req-list li.is-ok{color:#22c55e}.wm-shop-req-list li.is-bad{color:#ef4444}.wm-shop-service-hint{margin:0;color:var(--ws-muted);font-size:11px}.wm-shop-featured-modal-head{display:flex;align-items:flex-start;gap:10px;padding-right:50px}.wm-shop-featured-modal-head>.wm-shop-svg-icon{width:26px;height:26px;color:var(--ws-accent)}.wm-shop-featured-modal-head p{margin:-10px 0 16px;color:var(--ws-muted);font-size:12px}.wm-shop-featured-modal-hero{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center;padding:12px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-soft)}.wm-shop-featured-modal-hero [data-ws-modal-img]{height:120px;border-radius:var(--ws-radius);overflow:hidden;background:var(--ws-surface-strong);display:block}.wm-shop-featured-modal-hero img{width:100%;height:100%;object-fit:cover}.wm-shop-featured-modal-hero strong{display:block;color:var(--ws-text);font-size:20px}.wm-shop-featured-modal-hero b{display:block;margin-top:10px;color:var(--ws-accent);font-size:22px}.wm-shop-modal-items-head{display:flex;align-items:center;gap:8px}.wm-shop-modal-items-head .wm-shop-svg-icon{color:var(--ws-accent)}.wm-shop-modal-items-head h4{margin:0;color:var(--ws-text)}.wm-shop-modal-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wm-shop-modal-items>span{min-width:0;padding:10px;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-soft);display:grid;justify-items:center;gap:5px;text-align:center}.wm-shop-modal-items img{width:54px;height:54px;object-fit:contain}.wm-shop-modal-items b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ws-text);font-size:11px}.wm-shop-modal-items small{color:var(--ws-muted);font-size:10px}

@container wm-webshop (max-width:1050px){.wm-shop-featured-grid,.wm-shop-product-grid--vip,.wm-shop-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wm-shop-service-grid{grid-template-columns:1fr}.wm-shop-wallet{grid-template-columns:1fr}.wm-shop-wallet__label{width:max-content;max-width:100%}}
@container wm-webshop (max-width:760px){.wm-shop-wallet__coins{grid-template-columns:repeat(2,minmax(0,1fr))}.wm-shop-featured-grid,.wm-shop-product-grid--vip,.wm-shop-item-grid{grid-template-columns:1fr}.wm-shop-nav{align-items:stretch;flex-direction:column}.wm-shop-cart-button{align-self:flex-end}.wm-shop-modal-items{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container wm-webshop (max-width:560px){.wm-shop-section{padding:12px}.wm-shop-wallet__coins{grid-template-columns:1fr}.wm-shop-service-card{grid-template-columns:50px minmax(0,1fr)}.wm-shop-service-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.wm-shop-item-card{grid-template-columns:70px minmax(0,1fr)}.wm-shop-item-media{width:70px;height:70px}.wm-shop-item-media img{max-width:62px;max-height:62px}.wm-shop-item-actions{grid-column:1/-1}.wm-shop-cart{grid-template-columns:1fr}.wm-shop-cart__backdrop{display:none}.wm-shop-cart__panel{grid-column:1}.wm-shop-featured-modal-hero{grid-template-columns:1fr}.wm-shop-modal-items{grid-template-columns:repeat(2,minmax(0,1fr))}.wm-shop-modal-actions{flex-direction:column}.wm-shop-modal-actions .wm-shop-btn{width:100%}}
html.wm-shop-modal-open,body.wm-shop-modal-open{overflow:hidden!important}
.wm-shop-service-buttons{display:flex;align-items:center;gap:8px}.wm-shop-featured-actions{display:flex;align-items:center;gap:8px}.wm-shop-featured-actions .wm-shop-btn{flex:1 1 auto}

/* ===== Webshop Pro 4.0.1 - Theme / modal / tooltip / VIP / cart hotfix ===== */
/* Solo se activa cuando JS detecta una combinación real de superficie/texto sin contraste. */
.wm-shop-page[data-ws-contrast-fix="light"]{
  --ws-text:#182235;
  --ws-muted:#687386;
  --ws-border:rgba(24,34,53,.14);
  --ws-surface-soft:rgba(24,34,53,.035);
  --ws-surface-strong:rgba(24,34,53,.06);
  --ws-input:rgba(24,34,53,.045);
}
.wm-shop-page[data-ws-contrast-fix="dark"]{
  --ws-text:#f5f7fb;
  --ws-muted:#aeb9cb;
  --ws-border:rgba(255,255,255,.11);
  --ws-surface-soft:rgba(255,255,255,.045);
  --ws-surface-strong:rgba(255,255,255,.075);
  --ws-input:rgba(255,255,255,.055);
}

/* Los overlays deben ser legibles incluso si el theme usa surfaces transparentes. */
.wm-shop-cart__panel,
.wm-shop-modal__box{
  background:var(--ws-float-surface,var(--ws-surface)) !important;
  color:var(--ws-text) !important;
}
.wm-shop-cart__item,
.wm-shop-cart__qty button,
.wm-shop-cart__panel .wm-shop-icon-btn,
.wm-shop-modal-line,
.wm-shop-modal__close,
.wm-shop-modal-items>span,
.wm-shop-featured-modal-hero{
  background:var(--ws-float-soft,var(--ws-surface-soft)) !important;
}
.wm-shop-cart__panel h3,
.wm-shop-cart__item h4,
.wm-shop-cart__total strong,
.wm-shop-modal__box h3,
.wm-shop-modal__box h4,
.wm-shop-modal__box strong,
.wm-shop-modal__box b{
  color:var(--ws-text) !important;
}
.wm-shop-cart__panel header span,
.wm-shop-cart__item p,
.wm-shop-cart__total,
.wm-shop-modal__box label,
.wm-shop-featured-modal-head p,
.wm-shop-modal-items small{
  color:var(--ws-muted) !important;
}

/* Evita que iconos de moneda o imágenes del modal sean agrandados por CSS global de un theme. */
.wm-shop-price-currency,
.wm-shop-modal [data-ws-modal-price] .wm-shop-price-currency{
  display:inline-flex !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  max-width:20px !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
}
.wm-shop-price-currency img,
.wm-shop-modal [data-ws-modal-price] .wm-shop-price-currency img{
  display:block !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
  object-fit:contain !important;
  margin:0 !important;
  transform:none !important;
}
.wm-shop-featured-modal-hero [data-ws-modal-img]{
  width:180px !important;
  height:120px !important;
  min-width:0 !important;
  max-width:180px !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.wm-shop-featured-modal-hero [data-ws-modal-img] > img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
  transform:none !important;
}
.wm-shop-modal-line [data-ws-modal-img]{
  width:72px !important;
  height:72px !important;
  flex:0 0 72px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.wm-shop-modal-line [data-ws-modal-img] > img{
  width:64px !important;
  height:64px !important;
  max-width:64px !important;
  max-height:64px !important;
  object-fit:contain !important;
  margin:0 !important;
  transform:none !important;
}
.wm-shop-modal-items img{
  display:block !important;
  width:54px !important;
  height:54px !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:54px !important;
  max-height:54px !important;
  object-fit:contain !important;
  margin:0 auto !important;
  transform:none !important;
}

/* VIP: muestra la imagen completa, nunca recortada o ampliada fuera de la tarjeta. */
.wm-shop-product-card--vip{grid-template-rows:190px minmax(0,1fr) !important;}
.wm-shop-product-card--vip .wm-shop-product-media{
  min-height:190px !important;
  height:190px !important;
  padding:18px !important;
  overflow:hidden !important;
}
.wm-shop-product-card--vip .wm-shop-product-media img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:88% !important;
  max-height:154px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:auto !important;
  transform:none !important;
}

/* Tooltip de Webshop: siempre por encima de modal/carrito y con el mismo diseño estándar. */
#wm-webshop-tooltip{
  position:fixed !important;
  z-index:2147483647 !important;
  width:auto !important;
  min-width:220px !important;
  max-width:min(285px,calc(100vw - 24px)) !important;
  border:1px solid var(--wm-vault-line,rgba(255,255,255,.12)) !important;
  border-radius:var(--wm-vault-radius-sm,12px) !important;
  background:var(--wm-vault-solid,#111827) !important;
  color:var(--wm-vault-text,#f6f7fb) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.38) !important;
  pointer-events:none !important;
  overflow:hidden !important;
}
#wm-webshop-tooltip[hidden]{display:none !important;}
#wm-webshop-tooltip .wm-mi-vault-tooltip__namebar{
  padding:8px 12px !important;
  background:var(--wm-vault-card-2,#182235) !important;
  border-bottom:1px solid var(--wm-vault-line,rgba(255,255,255,.12)) !important;
}
#wm-webshop-tooltip .wm-mi-vault-tooltip__body{padding:12px 14px 14px !important;}
#wm-webshop-tooltip .wm-mi-vault-tooltip__thumb img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:78px !important;
  max-height:78px !important;
  object-fit:contain !important;
  margin:0 auto !important;
}
#wm-webshop-tooltip .wm-mi-vault-tooltip__name{color:var(--wm-vault-text,#f6f7fb) !important;font-size:15px !important;font-weight:900 !important;text-align:center !important;}
#wm-webshop-tooltip .wm-mi-vault-tooltip__primary,
#wm-webshop-tooltip .wm-mi-vault-tooltip__serial,
#wm-webshop-tooltip .wm-mi-vault-tooltip__durability,
#wm-webshop-tooltip .wm-mi-vault-tooltip__requirement,
#wm-webshop-tooltip .wm-mi-vault-tooltip__classes,
#wm-webshop-tooltip .wm-mi-vault-tooltip__option{color:var(--wm-vault-muted,#aeb9cb) !important;font-size:12px !important;line-height:1.4 !important;text-align:center !important;}
#wm-webshop-tooltip .wm-mi-vault-tooltip__title{margin-top:10px !important;color:var(--wm-warning,var(--wm-accent,#f0a81f)) !important;font-weight:900 !important;text-align:center !important;}
#wm-webshop-tooltip .wm-mi-vault-tooltip__options{display:flex !important;flex-direction:column !important;gap:4px !important;margin-top:8px !important;}

@container wm-webshop (max-width:560px){
  .wm-shop-featured-modal-hero [data-ws-modal-img]{width:100% !important;max-width:100% !important;height:140px !important;}
  .wm-shop-product-card--vip .wm-shop-product-media{height:170px !important;min-height:170px !important;}
  .wm-shop-product-card--vip .wm-shop-product-media img{max-height:136px !important;}
}

/* 4.0.2 - Solo 3 destacados en portada + modal para ver todos */
.wm-shop-featured-more{
  display:flex;
  justify-content:center;
  padding-top:16px;
}
.wm-shop-featured-more__button{
  width:auto !important;
  min-width:230px;
  max-width:100%;
}
.wm-shop-featured-list-modal__box{
  width:min(1120px,100%) !important;
  max-height:min(820px,calc(100vh - 40px)) !important;
}
.wm-shop-featured-list-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  min-width:0;
  padding-top:4px;
}
.wm-shop-featured-list-grid .wm-shop-featured-card{
  min-width:0;
}
@media (max-width: 980px){
  .wm-shop-featured-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .wm-shop-featured-list-grid{grid-template-columns:1fr;}
  .wm-shop-featured-more__button{width:100% !important;min-width:0;}
}


/* 4.0.3 - Tooltip portal siempre por encima de cualquier modal/theme */
body > #wm-webshop-tooltip{
  position:fixed !important;
  z-index:2147483647 !important;
  isolation:isolate !important;
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
}
html.wm-shop-modal-open body > #wm-webshop-tooltip:not([hidden]){
  z-index:2147483647 !important;
}
