/* Regalazo – Sistema de Presupuestos v2 */
:root{
  --rc-red:#fe3c52; --rc-red-d:#d42c40; --rc-black:#111;
  --rc-gray:#666; --rc-light:#f8f8f8; --rc-border:#e8e8e8;
  --rc-radius:10px; --rc-shadow:0 2px 12px rgba(0,0,0,.08);
}

#regalazo-cotizador{
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  max-width:1080px; margin:0 auto; padding:0 16px 60px; color:var(--rc-black);
}

/* STEPS */
.rc-steps{display:flex;align-items:center;justify-content:center;margin:28px 0 36px;flex-wrap:nowrap}
.rc-step{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0}
.rc-step-num{width:36px;height:36px;border-radius:50%;background:var(--rc-border);color:var(--rc-gray);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s;border:2px solid transparent}
.rc-step-label{font-size:10px;font-weight:600;color:var(--rc-gray);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}
.rc-step.active .rc-step-num{background:var(--rc-red);color:#fff;border-color:var(--rc-red);box-shadow:0 0 0 4px rgba(254,60,82,.18)}
.rc-step.active .rc-step-label{color:var(--rc-red)}
.rc-step.completed .rc-step-num{background:var(--rc-black);color:#fff;border-color:var(--rc-black)}
.rc-step.completed .rc-step-label{color:var(--rc-black)}
.rc-step-line{flex:1;height:2px;background:var(--rc-border);margin:0 6px 20px;min-width:16px;max-width:70px}

/* PANEL */
.rc-panel{background:#fff;border-radius:var(--rc-radius);box-shadow:var(--rc-shadow);overflow:hidden;margin-bottom:20px}
.rc-panel-header{padding:26px 28px 18px;border-bottom:2px solid var(--rc-light)}
.rc-panel-header h2{font-size:20px;font-weight:800;margin:0 0 5px;color:var(--rc-black)}
.rc-panel-header p{font-size:13px;color:var(--rc-gray);margin:0}

/* SEARCH */
.rc-search-bar{display:flex;gap:10px;padding:18px 28px;background:var(--rc-light);align-items:center}
.rc-search-input-wrap{flex:1;position:relative;display:flex;align-items:center}
.rc-search-icon{position:absolute;left:12px;font-size:15px;pointer-events:none}
#rc-search{width:100%;padding:11px 14px 11px 38px;border:2px solid var(--rc-border);border-radius:8px;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s;background:#fff}
#rc-search:focus{border-color:var(--rc-red)}

/* GRID */
.rc-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;padding:18px 28px}
.rc-product-card{border:2px solid var(--rc-border);border-radius:10px;overflow:hidden;transition:all .25s;background:#fff;display:flex;flex-direction:column}
.rc-product-card:hover{border-color:var(--rc-red);box-shadow:var(--rc-shadow);transform:translateY(-2px)}
.rc-product-card.in-cart{border-color:var(--rc-black);background:#f9f9f9}
.rc-product-img{aspect-ratio:1;overflow:hidden;background:var(--rc-light);display:flex;align-items:center;justify-content:center}
.rc-product-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.rc-product-card:hover .rc-product-img img{transform:scale(1.05)}
.rc-product-info{padding:10px 10px 6px;flex:1;display:flex;flex-direction:column;gap:3px}
.rc-product-name{font-size:12px;font-weight:700;line-height:1.3;color:var(--rc-black);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-product-sku{font-size:10px;color:#aaa;text-transform:uppercase;letter-spacing:.4px}
.rc-product-price{font-size:13px;font-weight:800;color:var(--rc-red);margin-top:3px}
.rc-price-c{font-size:11px;color:#999;font-weight:600}
.rc-product-desc{font-size:10px;color:#888;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-add-btn{width:100%;padding:9px;background:var(--rc-red);color:#fff;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;transition:all .2s;margin-top:auto}
.rc-add-btn:hover{background:var(--rc-red-d)}
.rc-add-btn.rc-added{background:var(--rc-black)}

/* LOADING / EMPTY */
.rc-loading{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:50px 20px;color:var(--rc-gray);font-size:13px}
.rc-spinner{width:30px;height:30px;border:3px solid var(--rc-border);border-top-color:var(--rc-red);border-radius:50%;animation:spin .7s linear infinite}
.rc-spinner-sm{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:5px}
@keyframes spin{to{transform:rotate(360deg)}}
.rc-empty{grid-column:1/-1;text-align:center;padding:50px 20px;color:var(--rc-gray);font-size:14px;line-height:2}

/* PAGINATION */
.rc-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 28px 20px;font-size:12px;color:var(--rc-gray)}

/* CART PREVIEW */
.rc-cart-preview{background:var(--rc-black);color:#fff;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rc-cart-title{display:flex;align-items:center;gap:8px;font-size:14px}
.rc-cart-icon{font-size:18px}

/* BUTTONS */
.rc-btn-primary,.rc-btn-accent,.rc-btn-ghost,.rc-btn-secondary{
  padding:10px 20px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;border:2px solid transparent;transition:all .2s;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap
}
.rc-btn-primary{background:var(--rc-red);color:#fff;border-color:var(--rc-red)}
.rc-btn-primary:hover{background:var(--rc-red-d);border-color:var(--rc-red-d);color:#fff}
.rc-btn-accent{background:var(--rc-black);color:#fff;border-color:var(--rc-black)}
.rc-btn-accent:hover{background:#333;border-color:#333;color:#fff}
.rc-btn-ghost{background:transparent;color:var(--rc-gray);border-color:var(--rc-border)}
.rc-btn-ghost:hover{border-color:var(--rc-black);color:var(--rc-black)}
.rc-btn-secondary{background:#fff;color:var(--rc-black);border-color:var(--rc-border)}
.rc-btn-secondary:hover{border-color:var(--rc-red);color:var(--rc-red)}
.rc-btn-lg{padding:13px 26px;font-size:14px}
.rc-btn-whatsapp{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;background:#25D366;color:#fff;border-radius:8px;font-weight:700;font-size:13px;text-decoration:none;transition:background .2s;border:none}
.rc-btn-whatsapp:hover{background:#20b858;color:#fff}

/* STEP ACTIONS */
.rc-step-actions{display:flex;align-items:center;gap:10px;padding:20px 28px;border-top:2px solid var(--rc-light);flex-wrap:wrap}
.rc-step-actions--send{justify-content:flex-end}

/* ITEM CONFIG */
.rc-item-config{border:2px solid var(--rc-border);border-radius:10px;margin:0 28px 16px;overflow:hidden}
.rc-item-config:first-child{margin-top:20px}
.rc-item-config:last-child{margin-bottom:20px}
.rc-item-config-header{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--rc-light);border-bottom:1px solid var(--rc-border)}
.rc-item-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--rc-border);flex-shrink:0}
.rc-item-config-info{flex:1;min-width:0}
.rc-item-config-info strong{font-size:13px;font-weight:700;display:block;color:var(--rc-black)}
.rc-sku-tag{font-size:10px;color:#aaa;text-transform:uppercase;letter-spacing:.4px;display:block}
.rc-precio-display{font-size:12px;color:var(--rc-red);font-weight:700;display:block;margin-top:2px}
.rc-remove-item{background:none;border:1px solid #ddd;border-radius:6px;width:28px;height:28px;cursor:pointer;color:#999;font-size:13px;line-height:1;flex-shrink:0;transition:all .2s;display:flex;align-items:center;justify-content:center}
.rc-remove-item:hover{background:var(--rc-red);border-color:var(--rc-red);color:#fff}
.rc-item-config-body{padding:16px 18px}
.rc-qty-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.rc-qty-row label{font-size:13px;font-weight:600;color:var(--rc-black);min-width:160px}
.rc-qty-ctrl{display:flex;align-items:center;border:2px solid var(--rc-border);border-radius:8px;overflow:hidden}
.rc-qty-btn{width:34px;height:34px;background:var(--rc-light);border:none;cursor:pointer;font-size:17px;font-weight:700;color:var(--rc-black);transition:background .2s;line-height:1}
.rc-qty-btn:hover{background:var(--rc-red);color:#fff}
.rc-qty-input{width:56px;height:34px;border:none;text-align:center;font-family:inherit;font-size:14px;font-weight:700;outline:none;border-left:1px solid var(--rc-border);border-right:1px solid var(--rc-border)}
.rc-item-subtotal{background:var(--rc-light);border-radius:6px;padding:10px 14px;border-left:4px solid var(--rc-red)}
.rc-sub-detail{font-size:13px;color:var(--rc-black)}
.rc-sub-detail strong{color:var(--rc-red);font-size:14px}

/* SUMMARY TABLE */
.rc-summary-table{width:100%;border-collapse:collapse}
.rc-summary-table thead th{background:var(--rc-red);color:#fff;padding:10px 20px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:1px}
.rc-summary-table tbody td{padding:12px 20px;border-bottom:1px solid var(--rc-light);font-size:13px;vertical-align:top}
.rc-summary-table tbody tr:hover td{background:#fff9f9}
.rc-summary-table tbody tr:last-child td{border-bottom:none}
.rc-pers-row-summary td{background:#fff5f6!important;color:var(--rc-red)}

/* TOTALS */
.rc-totals-block{padding:18px 28px;display:flex;flex-direction:column;align-items:flex-end;border-top:2px solid var(--rc-light)}
.rc-totals-row{display:flex;justify-content:space-between;align-items:center;width:320px;padding:7px 0;border-bottom:1px solid var(--rc-border);font-size:13px;color:var(--rc-black)}
.rc-totals-row:last-child{border-bottom:none}
.rc-totals-row span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:16px}
.rc-totals-iva{color:var(--rc-gray)}
.rc-totals-pers{color:var(--rc-black)}
.rc-totals-final{border-top:2px solid var(--rc-red)!important;border-bottom:none!important;margin-top:5px;padding-top:12px!important;font-size:17px!important;font-weight:900;color:var(--rc-red)!important;width:340px}

/* NOTAS */
.rc-notas-row{padding:0 28px 22px;display:flex;flex-direction:column;gap:7px}
.rc-notas-row label{font-size:13px;font-weight:600;color:var(--rc-black)}
#rc-notas{width:100%;padding:11px 13px;border:2px solid var(--rc-border);border-radius:8px;font-family:inherit;font-size:13px;outline:none;resize:vertical;transition:border-color .2s;box-sizing:border-box}
#rc-notas:focus{border-color:var(--rc-red)}

/* FORM */
.rc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:22px 28px 8px}
.rc-form-group{display:flex;flex-direction:column;gap:5px}
.rc-form-group label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--rc-black)}
.rc-form-group.required label::after{content:' *';color:var(--rc-red)}
.rc-form-group input,.rc-form-group select{padding:11px 13px;border:2px solid var(--rc-border);border-radius:8px;font-family:inherit;font-size:14px;outline:none;transition:border-color .2s;background:#fff;color:var(--rc-black);width:100%;box-sizing:border-box}
.rc-form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}
.rc-form-group select option{color:#111;background:#fff}
.rc-form-group input:focus,.rc-form-group select:focus{border-color:var(--rc-red)}

.rc-total-final{margin:14px 28px 8px;background:linear-gradient(135deg,var(--rc-red) 0%,#c02030 100%);border-radius:10px;padding:18px 22px;color:#fff}
.rc-final-amount{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.rc-final-amount span{font-size:13px;opacity:.85;font-weight:600}
.rc-final-amount strong{font-size:26px;font-weight:900}

/* SUCCESS */
.rc-success-wrap{text-align:center;padding:54px 28px}
.rc-success-icon{font-size:60px;margin-bottom:14px}
.rc-success-wrap h2{font-size:26px;font-weight:900;color:var(--rc-black);margin:0 0 10px}
.rc-success-wrap #rc-success-msg{font-size:14px;color:var(--rc-gray);margin:0 0 8px;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.7}
.rc-success-sub{font-size:13px;color:#aaa;max-width:420px;margin:0 auto 28px!important}
.rc-success-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}

/* MODAL */
.rc-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}
.rc-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}
.rc-modal-content{position:relative;background:#fff;border-radius:12px;width:90%;max-width:840px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.2)}
.rc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:2px solid var(--rc-light)}
.rc-modal-header h3{margin:0;font-size:15px;font-weight:800}
.rc-modal-close{background:var(--rc-light);border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:13px;font-weight:700;color:var(--rc-gray);transition:all .2s;display:flex;align-items:center;justify-content:center}
.rc-modal-close:hover{background:var(--rc-red);color:#fff}
.rc-modal-body{flex:1;overflow:auto;padding:14px;background:#f0f0f0}
.rc-modal-footer{display:flex;gap:8px;padding:14px 22px;border-top:2px solid var(--rc-light);justify-content:flex-end}

/* ALERT */
.rc-alert{background:var(--rc-red);color:#fff;padding:12px 18px;border-radius:8px;font-size:13px;font-weight:600;margin-bottom:14px;animation:slideIn .3s ease}
@keyframes slideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

/* ADMIN CSS */
.rca-pers-card,.rca-desc-box{background:#fff;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.08);padding:22px;max-width:580px;margin:16px 0}

/* RESPONSIVE */
@media(max-width:768px){
  .rc-products-grid{grid-template-columns:repeat(2,1fr);padding:12px 14px}
  .rc-search-bar{flex-direction:column;padding:12px 14px}
  .rc-panel-header{padding:18px 14px 12px}
  .rc-step-actions{padding:14px}
  .rc-form-grid{grid-template-columns:1fr;padding:14px}
  .rc-item-config{margin:0 10px 14px}
  .rc-notas-row{padding:0 14px 16px}
  .rc-totals-block{padding:14px;align-items:stretch}
  .rc-totals-row{width:100%}
  .rc-total-final{margin:12px 10px 6px}
  .rc-step-actions--send{justify-content:center}
  .rc-summary-table thead th,.rc-summary-table tbody td{padding:9px 10px;font-size:12px}
  .rc-cart-preview{flex-direction:column;gap:8px}
  .rc-step-label{font-size:9px}
  .rc-step-num{width:30px;height:30px;font-size:12px}
  .rc-step-line{min-width:10px}
}
@media(max-width:480px){
  .rc-products-grid{grid-template-columns:1fr}
}

/* ── VARIANTES COLOR/TALLE (agregado v3.1) ── */
.rc-variantes-wrap { margin-bottom: 12px; }
.rc-variante-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.rc-variante-row label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    min-width: 50px;
    flex-shrink: 0;
}
.rc-variante-row select {
    flex: 1;
    border: 1.5px solid #e5e5e5;
    border-radius: 8px;
    padding: 9px 12px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #222;
    outline: none;
    transition: border-color 0.2s;
    background: white;
    cursor: pointer;
}
.rc-variante-row select:focus { border-color: #fe3c52; }
.rc-variante-row select:disabled { background: #f5f5f5; color: #999; cursor: not-allowed; }
.rc-stock-info { margin-left: 62px; margin-bottom: 8px; }
.rc-minqty-note { margin-left: 62px; }