/* ============================================
   WIN MANAGER v4.0 — SHOP / CART / PRODUCT
   ============================================ */

/* === Shop === */
.wm-shop { max-width:1200px; margin:40px auto; padding:20px; }
.wm-shop-header { text-align:center; margin-bottom:30px; }
.wm-shop-header h2 { font-size:30px; font-weight:800; color:#0F172A; margin:0 0 8px; }
.wm-shop-header p { color:#64748B; font-size:15px; }

.wm-shop-filters { display:flex; gap:14px; justify-content:center; align-items:center; margin-top:20px; flex-wrap:wrap; }
.wm-shop-filters input[type=text] { padding:12px 20px; border:2px solid #E2E8F0; border-radius:40px; min-width:260px; font-size:14px; outline:none; transition:border-color .2s; }
.wm-shop-filters input[type=text]:focus { border-color:#1E40AF; }

.wm-shop-tabs { display:inline-flex; background:#F1F5F9; border-radius:40px; padding:4px; gap:2px; }
.wm-shop-tab { background:transparent; border:none; padding:10px 20px; border-radius:30px; cursor:pointer; font-size:14px; font-weight:600; color:#64748B; transition:all .2s; }
.wm-shop-tab:hover { color:#1E40AF; }
.wm-shop-tab.active { background:#fff; color:#0F172A; box-shadow:0 2px 8px rgba(0,0,0,0.06); }

.wm-shop-grid {
    display:grid; gap:24px;
    grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
    margin-top:30px;
}
.wm-shop-card {
    background:#fff; border:1px solid #E2E8F0; border-radius:18px; overflow:hidden;
    transition:all .3s ease; display:flex; flex-direction:column;
}
.wm-shop-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,0.1); border-color:#CBD5E1; }
.wm-shop-card.wm-hidden { display:none; }

.wm-shop-card-img {
    position:relative; display:block; aspect-ratio:1; background:#F8FAFC; overflow:hidden;
}
.wm-shop-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.wm-shop-card:hover .wm-shop-card-img img { transform:scale(1.05); }
.wm-shop-no-img { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:64px; color:#CBD5E1; }

.wm-shop-discount-badge {
    position:absolute; top:12px; left:12px; background:#DC2626; color:#fff;
    font-weight:800; padding:6px 12px; border-radius:20px; font-size:13px;
    box-shadow:0 4px 12px rgba(220,38,38,0.3);
}
.wm-shop-type-pill {
    position:absolute; top:12px; right:12px; background:rgba(255,255,255,0.95);
    color:#0F172A; font-size:11px; font-weight:700; padding:6px 10px; border-radius:20px;
    text-transform:uppercase; letter-spacing:0.5px;
}

.wm-shop-card-body { padding:16px; flex:1; display:flex; flex-direction:column; gap:10px; }
.wm-shop-card-body h4 { margin:0; font-size:16px; font-weight:700; line-height:1.3; }
.wm-shop-card-body h4 a { color:#0F172A; text-decoration:none; }
.wm-shop-card-body h4 a:hover { color:#1E40AF; }
.wm-shop-desc { color:#64748B; font-size:13px; line-height:1.5; margin:0; }

.wm-shop-price { display:flex; gap:8px; align-items:baseline; margin-top:auto; flex-wrap:wrap; }
.wm-price-old { text-decoration:line-through; color:#94A3B8; font-size:14px; }
.wm-price-now { color:#1E40AF; font-weight:800; font-size:20px; }

.wm-shop-card-actions { display:flex; gap:8px; margin-top:12px; }
.wm-shop-card-actions .wm-btn { flex:1; padding:10px 12px; font-size:13px; white-space:nowrap; }

/* === Floating cart === */
.wm-cart-float { position:fixed; bottom:24px; right:24px; z-index:9999; }
.wm-cart-float a {
    display:flex; align-items:center; gap:8px; background:#1E40AF; color:#fff;
    padding:16px 22px; border-radius:40px; font-weight:700; font-size:16px;
    box-shadow:0 10px 30px rgba(30,64,175,0.4); text-decoration:none; transition:transform .2s;
}
.wm-cart-float a:hover { transform:translateY(-3px); }
.wm-cart-float-count { background:#fff; color:#1E40AF; padding:2px 10px; border-radius:20px; font-size:14px; font-weight:800; }

/* === Cart page === */
.wm-cart-page { max-width:1200px; margin:40px auto; padding:20px; }
.wm-cart-header { text-align:center; margin-bottom:30px; }
.wm-cart-header h1 { font-size:32px; font-weight:800; color:#0F172A; margin:0 0 8px; }
.wm-cart-header p { color:#64748B; }

.wm-cart-empty { text-align:center; padding:60px 20px; background:#F8FAFC; border-radius:20px; }
.wm-cart-empty-icon { font-size:80px; margin-bottom:16px; }
.wm-cart-empty h3 { margin:0 0 12px; color:#0F172A; }
.wm-cart-empty p { color:#64748B; margin-bottom:20px; }

.wm-cart-grid { display:grid; grid-template-columns:1fr 360px; gap:30px; align-items:start; }
@media (max-width:900px) { .wm-cart-grid { grid-template-columns:1fr; } }

.wm-cart-items { background:#fff; border:1px solid #E2E8F0; border-radius:18px; overflow:hidden; }
.wm-cart-business-info { padding:16px 20px; background:#F1F5F9; border-bottom:1px solid #E2E8F0; font-size:14px; }
.wm-cart-business-info a { color:#1E40AF; text-decoration:none; }

.wm-cart-item {
    display:grid; grid-template-columns:80px 1fr auto auto auto;
    gap:16px; align-items:center; padding:16px 20px; border-bottom:1px solid #F1F5F9;
}
.wm-cart-item:last-child { border-bottom:none; }
.wm-cart-item-img { width:80px; height:80px; border-radius:12px; overflow:hidden; background:#F8FAFC; }
.wm-cart-item-img img { width:100%; height:100%; object-fit:cover; }
.wm-cart-item-noimg { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:32px; color:#CBD5E1; }
.wm-cart-item-info h4 { margin:0 0 6px; font-size:15px; }
.wm-cart-item-info h4 a { color:#0F172A; text-decoration:none; }
.wm-cart-item-price { color:#64748B; font-size:13px; }

.wm-cart-item-qty { display:flex; align-items:center; background:#F1F5F9; border-radius:30px; padding:4px; }
.wm-qty-btn {
    width:32px; height:32px; border-radius:50%; border:none; background:#fff;
    cursor:pointer; font-size:18px; font-weight:700; color:#1E40AF;
    box-shadow:0 1px 3px rgba(0,0,0,0.08); transition:all .15s;
}
.wm-qty-btn:hover { transform:scale(1.1); }
.wm-qty-input { width:40px; border:none; background:transparent; text-align:center; font-weight:700; font-size:14px; outline:none; }
.wm-cart-item-subtotal { font-weight:800; color:#1E40AF; font-size:16px; white-space:nowrap; }
.wm-cart-remove { background:transparent; border:none; cursor:pointer; font-size:20px; opacity:0.6; transition:opacity .15s; }
.wm-cart-remove:hover { opacity:1; }

@media (max-width:640px) {
    .wm-cart-item { grid-template-columns:60px 1fr; gap:12px; }
    .wm-cart-item-img { width:60px; height:60px; }
    .wm-cart-item-qty, .wm-cart-item-subtotal, .wm-cart-remove { grid-column:1 / -1; }
    .wm-cart-item-qty { justify-self:start; }
    .wm-cart-item-subtotal { justify-self:end; }
}

/* === Cart summary === */
.wm-cart-summary {
    background:#fff; border:1px solid #E2E8F0; border-radius:18px; padding:24px;
    position:sticky; top:24px;
}
.wm-cart-summary h3 { margin:0 0 20px; font-size:18px; color:#0F172A; }
.wm-cart-summary-row { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid #F1F5F9; font-size:14px; color:#64748B; }
.wm-cart-summary-total { font-size:18px; color:#0F172A; border-bottom:none; padding-top:16px; margin-top:8px; border-top:2px solid #E2E8F0; }
.wm-cart-summary-total strong { color:#1E40AF; font-size:24px; }

.wm-checkout-form { margin-top:20px; }
.wm-checkout-form .wm-form-group { margin-bottom:14px; }
.wm-checkout-form label { display:block; font-size:13px; font-weight:600; color:#475569; margin-bottom:6px; }
.wm-checkout-form input, .wm-checkout-form textarea {
    width:100%; padding:10px 14px; border:2px solid #E2E8F0; border-radius:10px;
    font-size:14px; outline:none; transition:border-color .15s; font-family:inherit;
}
.wm-checkout-form input:focus, .wm-checkout-form textarea:focus { border-color:#1E40AF; }
.wm-checkout-note { text-align:center; font-size:12px; color:#94A3B8; margin-top:10px; }

/* === Product single page === */
.wm-product-single { max-width:1200px; margin:0 auto; padding:20px; }

.wm-breadcrumb { display:flex; gap:8px; font-size:13px; color:#64748B; margin-bottom:24px; flex-wrap:wrap; align-items:center; }
.wm-breadcrumb a { color:#1E40AF; text-decoration:none; }
.wm-breadcrumb a:hover { text-decoration:underline; }
.wm-breadcrumb-current { color:#0F172A; font-weight:600; }

.wm-product-single-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-bottom:60px; }
@media (max-width:900px) { .wm-product-single-grid { grid-template-columns:1fr; gap:24px; } }

.wm-product-main-img {
    position:relative; background:#F8FAFC; border-radius:20px; overflow:hidden;
    aspect-ratio:1; border:1px solid #E2E8F0;
}
.wm-product-main-img img { width:100%; height:100%; object-fit:contain; padding:20px; }
.wm-product-no-img-large { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:120px; color:#CBD5E1; }
.wm-product-discount-badge {
    position:absolute; top:20px; left:20px; background:#DC2626; color:#fff;
    font-weight:800; font-size:18px; padding:10px 18px; border-radius:30px;
    box-shadow:0 6px 20px rgba(220,38,38,0.4);
}

.wm-product-type-badge {
    display:inline-block; background:#EFF6FF; color:#1E40AF; padding:6px 14px;
    border-radius:20px; font-size:12px; font-weight:700; text-transform:uppercase;
    letter-spacing:0.5px; margin-bottom:12px;
}
.wm-product-title { font-size:30px; font-weight:800; color:#0F172A; margin:0 0 16px; line-height:1.2; }

.wm-product-business {
    display:flex; align-items:center; gap:12px; padding:12px; background:#F8FAFC;
    border-radius:14px; margin-bottom:20px;
}
.wm-product-business img { width:44px; height:44px; border-radius:10px; object-fit:cover; }
.wm-product-business span { display:block; font-size:12px; color:#94A3B8; }
.wm-product-business a { font-weight:700; color:#0F172A; text-decoration:none; font-size:14px; }
.wm-product-business a:hover { color:#1E40AF; }

.wm-product-price-block {
    display:flex; align-items:baseline; gap:14px; padding:20px 0;
    border-top:1px solid #E2E8F0; border-bottom:1px solid #E2E8F0; flex-wrap:wrap;
    margin-bottom:20px;
}
.wm-product-price-old { text-decoration:line-through; color:#94A3B8; font-size:18px; }
.wm-product-price-now { color:#1E40AF; font-weight:800; font-size:36px; }
.wm-product-price-save { background:#DCFCE7; color:#166534; padding:6px 12px; border-radius:20px; font-size:13px; font-weight:700; }

.wm-product-stock { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:20px; font-size:13px; font-weight:700; margin-bottom:20px; }
.wm-stock-available { background:#DCFCE7; color:#166534; }
.wm-stock-unavailable { background:#FEE2E2; color:#991B1B; }

.wm-product-description { margin-bottom:24px; }
.wm-product-description h3 { font-size:16px; color:#0F172A; margin:0 0 10px; }
.wm-product-description p { color:#475569; line-height:1.6; margin:0; }

.wm-product-actions-block { display:flex; flex-direction:column; gap:10px; margin-bottom:24px; }
.wm-product-qty-row { display:flex; align-items:center; gap:14px; margin-bottom:6px; }
.wm-product-qty-row label { font-weight:600; color:#475569; }
.wm-qty-selector { display:flex; align-items:center; background:#F1F5F9; border-radius:30px; padding:4px; }
.wm-qty-selector input { width:50px; border:none; background:transparent; text-align:center; font-weight:700; font-size:15px; outline:none; }

.wm-product-trust { display:grid; gap:10px; background:#F8FAFC; padding:16px; border-radius:12px; }
.wm-product-trust > div { display:flex; align-items:center; gap:10px; font-size:13px; color:#475569; }
.wm-product-trust span { font-size:18px; }

.wm-product-related h2 { font-size:22px; color:#0F172A; margin:0 0 20px; }

/* === Vendor registration / panel extras === */
.wm-ref-banner {
    background:linear-gradient(135deg,#DCFCE7,#BBF7D0); color:#166534;
    padding:14px 20px; border-radius:14px; margin-bottom:20px; text-align:center;
    font-size:14px; border:1px solid #86EFAC;
}

.wm-vendor-panel { max-width:1200px; margin:20px auto; padding:20px; }
.wm-vendor-avatar {
    width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,#1E40AF,#60A5FA);
    color:#fff; display:flex; align-items:center; justify-content:center;
    font-size:28px; font-weight:800;
}

.wm-affiliate-link-box {
    display:flex; gap:10px; align-items:center; padding:14px; background:#F8FAFC;
    border:2px dashed #CBD5E1; border-radius:14px; flex-wrap:wrap;
}
.wm-affiliate-link-box input {
    flex:1; min-width:240px; border:none; background:transparent; font-size:14px;
    padding:8px 12px; color:#0F172A; font-family:monospace; outline:none;
}
.wm-affiliate-link-box .wm-btn { flex-shrink:0; }

/* === Tables === */
.wm-table-wrap { overflow-x:auto; border-radius:14px; border:1px solid #E2E8F0; background:#fff; }
.wm-table { width:100%; border-collapse:collapse; font-size:14px; }
.wm-table th { background:#F8FAFC; text-align:left; padding:12px 16px; font-weight:700; color:#334155; font-size:13px; border-bottom:1px solid #E2E8F0; white-space:nowrap; }
.wm-table td { padding:12px 16px; border-bottom:1px solid #F1F5F9; color:#475569; }
.wm-table tbody tr:last-child td { border-bottom:none; }
.wm-table tbody tr:hover { background:#F8FAFC; }
.wm-table a { color:#1E40AF; text-decoration:none; }
.wm-table a:hover { text-decoration:underline; }

.wm-plan-tag { display:inline-block; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; background:#F1F5F9; color:#475569; }
.wm-plan-gratis, .wm-plan-trial { background:#FEF3C7; color:#92400E; }
.wm-plan-inicio { background:#DBEAFE; color:#1E40AF; }
.wm-plan-emprendedor { background:#E0E7FF; color:#3730A3; }
.wm-plan-premium { background:linear-gradient(135deg,#FCD34D,#F59E0B); color:#78350F; }

/* === Payment modal steps === */
.wm-pay-steps { display:flex; flex-direction:column; gap:24px; padding:10px 0; }
.wm-pay-step { display:flex; gap:16px; align-items:flex-start; }
.wm-pay-step-num {
    flex-shrink:0; width:36px; height:36px; border-radius:50%; background:#1E40AF;
    color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center;
}
.wm-pay-step > div { flex:1; }
.wm-pay-step strong { display:block; margin-bottom:6px; color:#0F172A; font-size:15px; }

.wm-pay-plans { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px; margin-top:10px; }
.wm-pay-plan {
    display:block; cursor:pointer; border:2px solid #E2E8F0; border-radius:12px;
    padding:12px; transition:all .15s; background:#fff;
}
.wm-pay-plan:hover { border-color:#1E40AF; }
.wm-pay-plan input { display:none; }
.wm-pay-plan input:checked ~ span { color:#1E40AF; }
.wm-pay-plan:has(input:checked) { border-color:#1E40AF; background:#EFF6FF; }
.wm-pay-plan span { display:block; font-size:13px; line-height:1.4; }

/* === Admin panel extras (inside wp-admin) === */
.wm-admin-wrap h1 { color:#0F172A; }
.wm-admin-stats { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; margin:20px 0 30px; }
.wm-admin-stat { background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:18px; display:flex; gap:14px; align-items:center; }
.wm-admin-stat-alert { border-color:#F59E0B; background:#FFFBEB; }
.wm-admin-stat-icon { width:48px; height:48px; border-radius:12px; background:#F1F5F9; display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.wm-admin-stat strong { display:block; font-size:24px; color:#0F172A; font-weight:800; }
.wm-admin-stat span { display:block; font-size:12px; color:#64748B; margin-top:2px; }
.wm-admin-stat em { font-style:normal; color:#B45309; font-weight:600; }

.wm-admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:960px){ .wm-admin-grid { grid-template-columns:1fr; } }
.wm-admin-card { background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:20px; }
.wm-admin-card h3 { margin:0 0 16px; color:#0F172A; font-size:16px; }

.wm-admin-actions-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.wm-admin-quick {
    display:flex; align-items:center; gap:6px; padding:14px; background:#F8FAFC;
    border-radius:10px; text-decoration:none; color:#0F172A; font-weight:600;
    font-size:13px; transition:all .15s; border:1px solid transparent;
}
.wm-admin-quick:hover { background:#EFF6FF; border-color:#BFDBFE; color:#1E40AF; }
.wm-badge-count { background:#DC2626; color:#fff; padding:2px 8px; border-radius:20px; font-size:11px; font-weight:800; margin-left:auto; }

.wm-admin-activity { list-style:none; margin:0; padding:0; max-height:360px; overflow-y:auto; }
.wm-admin-activity li { padding:10px 0; border-bottom:1px solid #F1F5F9; display:flex; flex-direction:column; font-size:13px; color:#475569; }
.wm-admin-activity li:last-child { border-bottom:none; }
.wm-admin-activity-time { font-size:11px; color:#94A3B8; margin-bottom:2px; text-transform:uppercase; letter-spacing:0.5px; }

/* === Shared alert styles === */
.wm-alert { padding:14px 18px; border-radius:12px; margin:16px 0; font-size:14px; }
.wm-alert-info { background:#EFF6FF; color:#1E40AF; border:1px solid #BFDBFE; }
.wm-alert-error { background:#FEF2F2; color:#991B1B; border:1px solid #FECACA; }
.wm-alert-success { background:#DCFCE7; color:#166534; border:1px solid #86EFAC; }

/* Empty state */
.wm-empty-state { text-align:center; padding:40px 20px; background:#F8FAFC; border-radius:14px; color:#64748B; }
.wm-empty-icon { font-size:52px; margin-bottom:10px; }

/* Shop search no results */
.wm-shop-card.wm-hidden-by-search { display:none !important; }

/* === v4.2 — Solo Presencia (negocios sin tienda online) === */
.wm-solo-contact {
    max-width: 900px;
    margin: 40px auto;
    padding: 20px;
}
.wm-solo-contact-box {
    background: linear-gradient(135deg, #F0FDFA 0%, #fff 100%);
    border: 2px dashed #5EEAD4;
    border-radius: 24px;
    padding: 50px 30px;
    text-align: center;
}
.wm-solo-contact-icon {
    font-size: 64px;
    margin-bottom: 16px;
}
.wm-solo-contact h3 {
    font-size: 26px;
    color: #0F172A;
    margin: 0 0 12px;
    font-weight: 800;
}
.wm-solo-contact p {
    color: #475569;
    font-size: 15px;
    line-height: 1.6;
    margin: 0 auto 24px;
    max-width: 540px;
}

@media (max-width: 600px) {
    .wm-solo-contact-box { padding: 36px 18px; }
    .wm-solo-contact h3 { font-size: 20px; }
    .wm-solo-contact p { font-size: 14px; }
    .wm-solo-contact-icon { font-size: 52px; }
}

/* === Notice in dashboard for solo-presencia plans === */
.wm-solo-notice {
    display: flex;
    gap: 20px;
    background: linear-gradient(135deg, #FEFCE8 0%, #FFFBEB 100%);
    border: 1px solid #FCD34D;
    border-radius: 18px;
    padding: 24px;
    align-items: flex-start;
}
.wm-solo-notice-icon {
    font-size: 44px;
    flex-shrink: 0;
    line-height: 1;
}
.wm-solo-notice h3 {
    font-size: 18px;
    color: #92400E;
    margin: 0 0 8px;
    font-weight: 800;
}
.wm-solo-notice p {
    color: #78350F;
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}
.wm-solo-notice a {
    color: #1E40AF;
    font-weight: 700;
    text-decoration: none;
}
.wm-solo-notice a:hover { text-decoration: underline; }

@media (max-width: 600px) {
    .wm-solo-notice { flex-direction: column; padding: 20px; gap: 12px; text-align: center; }
}

/* =====================================================
   v4.5 — Tienda profesional por negocio
   ===================================================== */
.wm-shop-pro{
    max-width:1180px;
    margin:36px auto;
    padding:0;
}
.wm-shop-hero{
    background:linear-gradient(135deg,#ffffff 0%,#F8FAFC 55%,var(--wm-primary-light,#EFF6FF) 100%);
    border:1px solid #E2E8F0;
    border-radius:28px;
    padding:24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:22px;
    box-shadow:0 18px 50px rgba(15,23,42,.08);
    margin-bottom:18px;
}
.wm-shop-hero-brand{display:flex;align-items:center;gap:18px;min-width:0;}
.wm-shop-logo{width:78px;height:78px;flex:0 0 78px;border-radius:22px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(15,23,42,.12);border:1px solid rgba(226,232,240,.9)}
.wm-shop-logo img{width:100%;height:100%;object-fit:cover;display:block;}
.wm-shop-logo span{font-size:34px;font-weight:900;color:var(--wm-primary,#1E40AF)}
.wm-shop-kicker{display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;color:var(--wm-primary,#1E40AF);background:#fff;border:1px solid #E2E8F0;border-radius:999px;padding:5px 10px;margin-bottom:8px;}
.wm-shop-hero h2{font-size:clamp(24px,3vw,36px);line-height:1.08;margin:0;color:#0F172A;font-weight:900;letter-spacing:-.03em;}
.wm-shop-hero p{font-size:15px;color:#475569;margin:8px 0 0;max-width:640px;}
.wm-shop-hero-stats{display:grid;grid-template-columns:1fr;gap:8px;min-width:150px;}
.wm-shop-hero-stats span{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:10px 12px;color:#64748B;font-size:12px;font-weight:700;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.wm-shop-hero-stats strong{font-size:18px;color:#0F172A;}
.wm-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 22px;flex-wrap:wrap;}
.wm-shop-search-wrap{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #E2E8F0;border-radius:999px;padding:0 16px;box-shadow:0 8px 24px rgba(15,23,42,.05);min-width:min(100%,330px);}
.wm-shop-search-wrap input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:13px 0!important;min-width:260px;font-size:14px;color:#0F172A;}
.wm-shop-tabs{display:inline-flex;align-items:center;background:#fff;border:1px solid #E2E8F0;border-radius:999px;padding:5px;gap:4px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.wm-shop-tab{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;border-radius:999px;padding:10px 15px;font-weight:800;color:#64748B;cursor:pointer;transition:all .2s ease;}
.wm-shop-tab span{background:#F1F5F9;border-radius:999px;padding:2px 7px;color:#475569;font-size:11px;}
.wm-shop-tab.active{background:var(--wm-primary,#1E40AF);color:#fff;box-shadow:0 8px 18px rgba(30,64,175,.22)}
.wm-shop-tab.active span{background:rgba(255,255,255,.2);color:#fff;}
.wm-shop-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;margin-top:0!important;}
.wm-shop-card{border-radius:24px!important;border:1px solid #E2E8F0!important;background:#fff!important;box-shadow:0 14px 34px rgba(15,23,42,.07);overflow:hidden;min-width:0;}
.wm-shop-card:hover{transform:translateY(-6px)!important;box-shadow:0 24px 50px rgba(15,23,42,.13)!important;border-color:rgba(37,99,235,.25)!important;}
.wm-shop-card-img{aspect-ratio:1/1!important;background:linear-gradient(135deg,#F8FAFC,#EEF2FF)!important;}
.wm-shop-card-img img{object-fit:cover!important;}
.wm-shop-card-body{padding:16px!important;gap:9px!important;}
.wm-shop-card-body h4{font-size:16px!important;min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.wm-shop-desc{min-height:39px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.wm-shop-price{margin-top:4px!important;}
.wm-price-now{color:var(--wm-primary,#1E40AF)!important;font-size:21px!important;letter-spacing:-.02em;}
.wm-shop-card-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:10px!important;}
.wm-shop-card-actions .wm-btn{width:100%;min-width:0;font-size:12px!important;border-radius:12px!important;padding:10px 8px!important;display:inline-flex;align-items:center;justify-content:center;}
.wm-shop-type-pill{top:10px!important;right:10px!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(8px);}
.wm-shop-discount-badge{top:10px!important;left:10px!important;}
.wm-shop-empty h3{font-size:22px;margin:0 0 8px;color:#0F172A;}

@media (max-width: 920px){
    .wm-shop-hero{align-items:flex-start;flex-direction:column;}
    .wm-shop-hero-stats{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));}
    .wm-shop-toolbar{align-items:stretch;}
    .wm-shop-search-wrap{width:100%;}
    .wm-shop-search-wrap input{min-width:0;width:100%;}
    .wm-shop-tabs{width:100%;overflow-x:auto;justify-content:flex-start;}
}
@media (max-width: 700px){
    .wm-shop-pro{margin:24px auto;padding:0 0;}
    .wm-shop-hero{border-radius:22px;padding:18px;}
    .wm-shop-logo{width:58px;height:58px;flex-basis:58px;border-radius:18px;}
    .wm-shop-hero-brand{align-items:flex-start;gap:12px;}
    .wm-shop-hero h2{font-size:22px;}
    .wm-shop-hero p{font-size:13px;}
    .wm-shop-hero-stats{grid-template-columns:1fr 1fr;}
    .wm-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
    .wm-shop-card{border-radius:18px!important;}
    .wm-shop-card-body{padding:11px!important;}
    .wm-shop-card-body h4{font-size:13px!important;min-height:35px;}
    .wm-shop-desc{display:none;}
    .wm-price-now{font-size:16px!important;}
    .wm-price-old{font-size:12px!important;}
    .wm-shop-card-actions{grid-template-columns:1fr!important;gap:6px!important;}
    .wm-shop-card-actions .wm-btn{font-size:11px!important;padding:8px 6px!important;}
    .wm-shop-tab{padding:8px 10px;font-size:12px;}
    .wm-shop-search-wrap{border-radius:16px;}
}

/* =====================================================
   v4.5.1 — Tienda responsive profesional
   3 columnas en PC y 2 columnas en celular.
   ===================================================== */
.wm-shop-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
@media (max-width:900px){
    .wm-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
}
@media (max-width:560px){
    .wm-shop{padding:14px;}
    .wm-shop-hero{padding:16px;border-radius:22px;}
    .wm-shop-hero-brand{align-items:flex-start;gap:12px;}
    .wm-shop-logo{width:54px;height:54px;border-radius:16px;}
    .wm-shop-kicker{font-size:10px;}
    .wm-shop-hero h2{font-size:22px;line-height:1.05;}
    .wm-shop-hero p{font-size:13px;line-height:1.45;}
    .wm-shop-toolbar{gap:10px;}
    .wm-shop-search-wrap{width:100%;}
    .wm-shop-search-wrap input{width:100%;min-width:0;}
    .wm-shop-tabs{width:100%;overflow-x:auto;justify-content:flex-start;}
    .wm-shop-tab{padding:9px 12px;font-size:12px;white-space:nowrap;}
    .wm-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;}
    .wm-shop-card{border-radius:16px;}
    .wm-shop-card-body{padding:10px;gap:7px;}
    .wm-shop-card-body h4{font-size:13px;line-height:1.25;}
    .wm-shop-desc{display:none;}
    .wm-price-now{font-size:16px;}
    .wm-price-old{font-size:12px;}
    .wm-shop-card-actions{flex-direction:column;gap:6px;margin-top:6px;}
    .wm-shop-card-actions .wm-btn{width:100%;font-size:11px;padding:8px 6px;}
    .wm-shop-type-pill,
    .wm-shop-discount-badge{font-size:9px;padding:5px 7px;top:8px;}
    .wm-shop-discount-badge{left:8px;}
    .wm-shop-type-pill{right:8px;}
}


/* v4.5.2 — Ocultar contadores de la cabecera “Tienda oficial”. */
.wm-shop-hero{justify-content:flex-start;}
.wm-shop-hero-brand{width:100%;}
.wm-shop-hero-stats{display:none!important;}
