/* Quote Builder Pro – estilos públicos */
.qbp-buttons{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;vertical-align:middle}
.qbp-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:0;cursor:pointer;padding:.7em 1.2em;line-height:1.2;font-size:inherit;font-weight:600;text-align:center;white-space:nowrap;text-decoration:none;border-radius:var(--qbp-radius,6px);transition:background .15s,color .15s}
/* Formulario del producto: cantidad y botones en la misma línea y centrados */
form.cart:has(.qbp-buttons),.woocommerce-variation-add-to-cart:has(.qbp-buttons){display:flex;flex-wrap:wrap;align-items:center;gap:8px}
form.cart:has(.qbp-buttons) .quantity,.woocommerce-variation-add-to-cart:has(.qbp-buttons) .quantity{margin:0!important;float:none}
form.cart:has(.qbp-buttons) .quantity .qty{margin:0}
/* Listados: botón a todo el ancho de la tarjeta, texto centrado */
.qbp-buttons.qbp-loop{display:flex;width:100%;margin-top:10px}
.qbp-buttons.qbp-loop .qbp-btn{flex:1 1 100%;width:100%;text-align:center;justify-content:center}
.qbp-btn[disabled],.qbp-btn.disabled{opacity:.5;cursor:not-allowed}
.qbp-msg{flex-basis:100%;font-size:.9em}
.qbp-msg:empty{display:none}
.qbp-msg a{margin-left:6px;text-decoration:underline}
.qbp-loop .qbp-msg{text-align:center}
.qbp-loop .qbp-msg a{display:block;margin:0}
/* Barras fijas/sticky: nunca partir los botones en dos líneas (cambiaría su altura) */
[class*="sticky"] .qbp-buttons,[class*="fixed"] .qbp-buttons{flex-wrap:nowrap}
.qbp-msg.qbp-err{color:#b91c1c}

/* Ocultar el carrito nativo en productos cotizables */
.qbp-nocart .single_add_to_cart_button,
.qbp-nocart .add_to_cart_button,
.qbp-nocart .ajax_add_to_cart,
.qbp-nocart a.button.product_type_simple:not(.qbp-btn),
.qbp-nocart .woocommerce-variation-price:empty{display:none!important}

/* Mini lista */
.qbp-mini-wrap{position:relative;display:inline-block}
.qbp-mini-toggle{position:relative;display:inline-flex;align-items:center;color:inherit;text-decoration:none}
.qbp-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--qbp-accent,#1d4ed8);color:#fff;font-size:11px;line-height:1;margin-left:4px}
.qbp-mini-panel{display:none;position:absolute;right:0;top:100%;z-index:9999;width:300px;max-width:90vw;background:#fff;color:#111827;padding:14px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.qbp-mini-wrap:hover .qbp-mini-panel,.qbp-mini-wrap:focus-within .qbp-mini-panel{display:block}
.qbp-mini-panel h4,.qbp-minicart-block h4{margin:0 0 8px;font-size:15px}
.qbp-mini-items{list-style:none!important;margin:0 0 12px!important;padding:0!important;max-width:100%}
.qbp-mini-items li{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;margin:0!important;padding:10px 0!important;border-bottom:1px solid #eee;font-size:14px;line-height:1.3}
.qbp-mini-items li:not(:has(img)){grid-template-columns:minmax(0,1fr) auto}
.qbp-mini-items img{display:block;width:48px!important;height:48px!important;max-width:none;margin:0!important;object-fit:cover;border-radius:4px}
.qbp-mini-name{min-width:0;overflow-wrap:anywhere}
.qbp-mini-qty{color:#6b7280;white-space:nowrap;padding-right:2px}
.qbp-mini-go{display:flex;width:100%;box-sizing:border-box}
.qbp-minicart-block{box-sizing:border-box;max-width:100%;margin-top:14px;padding:14px 20px 0;border-top:1px solid #e5e7eb}
.qbp-minicart-block *{box-sizing:border-box}
.qbp-empty{margin:0;font-size:13px;color:#6b7280}
.qbp-cart-box{border:1px solid #e5e7eb;border-left:4px solid var(--qbp-accent,#1d4ed8);padding:14px 16px;margin:0 0 20px;border-radius:6px;background:#fafafa}
.qbp-floating{position:fixed;right:18px;bottom:18px;z-index:9998;display:inline-flex;align-items:center;gap:6px;padding:12px 18px;border-radius:999px;background:var(--qbp-accent,#1d4ed8);color:#fff;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.25);font-weight:600}
.qbp-floating .qbp-count{background:#fff;color:var(--qbp-accent,#1d4ed8)}

/* Página de cotización */
.qbp-page{max-width:960px;margin:0 auto}
.qbp-title{margin-bottom:16px}
.qbp-table-wrap{overflow-x:auto}
.qbp-table{width:100%;border-collapse:collapse;margin-bottom:12px}
.qbp-table th,.qbp-table td{padding:10px 8px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}
.qbp-table th{border-bottom:2px solid var(--qbp-accent,#1d4ed8);font-size:.9em}
.qbp-table img{width:56px;height:56px;object-fit:cover;border-radius:4px;display:block}
.qbp-qty{width:72px;padding:6px}
.qbp-remove{font-size:22px;text-decoration:none;color:#b91c1c;line-height:1}
.qbp-totals{margin-left:auto;margin-bottom:24px}
.qbp-totals td{padding:6px 10px;text-align:right}
.qbp-tot-label{color:#4b5563}
.qbp-form-wrap{margin-top:24px}
.qbp-field{margin:0 0 14px}
.qbp-field label{display:block;margin-bottom:4px;font-weight:600}
.qbp-field-checkbox label{font-weight:400}
.qbp-field input[type=text],.qbp-field input[type=email],.qbp-field input[type=tel],.qbp-field textarea,.qbp-field select{width:100%;padding:10px;box-sizing:border-box}
.qbp-req{color:#b91c1c}
.qbp-errors{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:10px 14px;border-radius:6px;margin-bottom:16px}
.qbp-errors ul{margin:0;padding-left:18px}
.qbp-thanks{text-align:center;padding:30px 0}
.qbp-quote-no{font-size:1.2em;font-weight:700;color:var(--qbp-accent,#1d4ed8)}
.qbp-thanks-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.qbp-qty-input{width:72px;padding:.6em;box-sizing:border-box}
.qbp-standalone{margin:12px 0}
