/* ═══════════════════════════════════════════════════════════════════
   S-Print Wholesale Variation Grid — v2.0 (MATRIZ CRUZADA)
   sprint-wholesale-grid.css
   Manual: Negro #000 · Gris #7A7A7E · Blanco #FFF · Bebas Neue · sin radius
   ═══════════════════════════════════════════════════════════════════ */

.sprint-wg {
    --sp-black:#000; --sp-grey:#7A7A7E; --sp-light:#F5F5F3; --sp-white:#fff;
    --sp-border:#E0E0E0; --sp-success:#2D7A3A; --sp-warn:#B05C00; --sp-error:#C0392B;
    --sp-ff-title:'Bebas Neue','Arial Black',sans-serif;
    --sp-ff-body:'Century Gothic','Nunito Sans','Trebuchet MS',sans-serif;
    font-family:var(--sp-ff-body); color:var(--sp-black); font-size:13px;
    margin:24px 0 32px; width:100%;
    border:1px solid var(--sp-black);
}

/* Ocultar controles nativos de WooCommerce */
.variations_form .variations,
.variations_form .single_variation_wrap,
.woocommerce-variation-price,
.woocommerce-variation-availability,
.variations_form .woocommerce-variation-add-to-cart { display:none !important; }

/* ── Cabecera ───────────────────────────────────────────────────────── */
.sprint-wg__header {
    display:flex; align-items:baseline; justify-content:space-between;
    padding:14px 18px; border-bottom:1px solid var(--sp-black);
}
.sprint-wg__title { font-family:var(--sp-ff-title); font-size:20px; letter-spacing:.06em; }
.sprint-wg__summary { font-size:11px; color:var(--sp-grey); letter-spacing:.04em; }

/* ── Matriz ─────────────────────────────────────────────────────────── */
.sprint-wg__table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.sprint-wg__matrix { width:100%; border-collapse:collapse; min-width:480px; }

.sprint-wg__matrix thead th {
    background:var(--sp-light); font-family:var(--sp-ff-title);
    font-size:16px; letter-spacing:.05em; font-weight:400; color:var(--sp-black);
    padding:12px 8px; text-align:center; border-bottom:1px solid var(--sp-border);
    border-right:1px solid var(--sp-border);
}
.sprint-wg__matrix thead th:last-child { border-right:none; }
.sprint-wg__matrix thead th.spwg-col-prod {
    text-align:left; background:var(--sp-white); width:190px; padding-left:18px;
}

.sprint-wg__matrix tbody td {
    padding:12px 8px; border-bottom:1px solid var(--sp-border);
    border-right:1px solid var(--sp-border); text-align:center; vertical-align:middle;
}
.sprint-wg__matrix tbody td:last-child { border-right:none; }
.sprint-wg__matrix tbody tr:last-child td { border-bottom:none; }

/* Celda producto (foto + nombre) */
.spwg-prod-cell { text-align:left !important; padding-left:18px !important; }
.spwg-prod { display:flex; align-items:center; gap:12px; }
.spwg-thumb {
    width:52px; height:52px; flex-shrink:0;
    border:1px solid var(--sp-border); overflow:hidden; background:var(--sp-light);
}
.spwg-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.spwg-thumb--empty { background:var(--sp-light); }
.spwg-prod-name { font-family:var(--sp-ff-title); font-size:17px; letter-spacing:.03em; line-height:1; }

/* Celdas de cantidad */
.spwg-cell { min-width:78px; }
.spwg-cell--na { color:#ccc; }
.spwg-input {
    width:56px; height:34px; border:1px solid var(--sp-border);
    text-align:center; font-family:var(--sp-ff-body); font-size:14px; font-weight:600;
    color:var(--sp-black); outline:none; -moz-appearance:textfield;
    transition:border-color .12s;
}
.spwg-input::-webkit-outer-spin-button,
.spwg-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.spwg-input:focus { border-color:var(--sp-black); }

.spwg-cell-price { font-size:11px; font-weight:600; color:var(--sp-black); margin-top:5px; }
.spwg-cell-stock { font-size:10px; margin-top:1px; }
.spwg-stock--ok  { color:var(--sp-success); }
.spwg-stock--low { color:var(--sp-warn); }
.spwg-out { font-size:10px; color:#bbb; text-transform:uppercase; letter-spacing:.05em; }

/* ── Footer ─────────────────────────────────────────────────────────── */
.sprint-wg__foot { border-top:1px solid var(--sp-black); padding:16px 18px; background:var(--sp-light); }
.sprint-wg__order-lines { list-style:none; margin:0 0 8px; padding:0; display:flex; flex-direction:column; gap:5px; }
.sprint-wg__order-line { display:flex; justify-content:space-between; font-size:12px; }
.sprint-wg__order-line span:first-child { color:var(--sp-grey); }
.sprint-wg__total-row {
    display:flex; justify-content:space-between; font-weight:700; font-size:14px;
    padding-top:10px; border-top:1px solid var(--sp-border); margin-bottom:12px;
}
.sprint-wg__add-btn {
    width:100%; background:var(--sp-black); color:var(--sp-white);
    font-family:var(--sp-ff-title); font-size:19px; letter-spacing:.08em;
    padding:15px; border:1px solid var(--sp-black); cursor:pointer;
    transition:background .15s,color .15s;
}
.sprint-wg__add-btn:hover:not(:disabled) { background:transparent; color:var(--sp-black); }
.sprint-wg__add-btn:disabled { opacity:.4; cursor:not-allowed; }
.sprint-wg__add-btn.is-loading { background:var(--sp-grey); border-color:var(--sp-grey); pointer-events:none; }
.sprint-wg__add-btn.is-success { background:var(--sp-success); border-color:var(--sp-success); }

.sprint-wg__notice { display:none; margin-top:12px; padding:10px 14px; font-size:12px; font-weight:600; border:1px solid; }
.sprint-wg__notice.is-visible { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sprint-wg__notice.is-success { color:var(--sp-success); border-color:var(--sp-success); background:#F0F7F1; }
.sprint-wg__notice.is-error { color:var(--sp-error); border-color:var(--sp-error); background:#FDF0EF; }
.sprint-wg__notice a { color:inherit; text-decoration:underline; font-size:11px; white-space:nowrap; }

/* ── Responsive ─────────────────────────────────────────────────────── */
@media (max-width:600px) {
    .sprint-wg__matrix { min-width:420px; }
    .spwg-thumb { width:42px; height:42px; }
    .spwg-prod-name { font-size:14px; }
    .sprint-wg__matrix thead th.spwg-col-prod { width:130px; padding-left:12px; }
    .spwg-prod-cell { padding-left:12px !important; }
    .spwg-input { width:46px; }
    .sprint-wg__add-btn { font-size:17px; }
}
