
/* === FIGATOOLS Cotizador - RESPONSIVE ÚNICO (móvil/tablet/ESCRITORIO) === */
.ftc-cotizador {
  --bg:#f7f7f8;
  --card:#ffffff;
  --muted:#6b7280;
  --ink:#0b0f10;
  --accent:#FF9814;
  --border:#e5e7eb;
  --title-ink:#ffffff;         
  --title-bg:#000805;          
  --grand-bg:#000805;          
  font:14px/1.5 "Inter", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--ink);
  background:transparent;
}

.ftc-cotizador .container{max-width:1100px;margin:24px auto;padding:0 12px}
.ftc-cotizador .toolbar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.ftc-cotizador .btn{border:1px solid var(--border);background:var(--card);padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:600;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ftc-cotizador .btn.primary{background:var(--accent);color:#fff;border-color:transparent}
.ftc-cotizador .btn:hover{transform:translateY(-1px)}

.ftc-cotizador .page{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.05);padding:16px}

.ftc-cotizador h1{
  font-size:22px;letter-spacing:.3px;margin:0 0 8px 0;color:var(--title-ink);
  background:var(--title-bg);
  border-left:none;border-radius:12px;padding:10px 12px;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.ftc-cotizador h2{
  font-size:15px;margin:0 0 8px 0;color:var(--title-ink);
  background:var(--title-bg);
  border-left:none;border-radius:10px;padding:8px 10px;display:block;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.ftc-cotizador label{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}
.ftc-cotizador input[type="text"],
.ftc-cotizador input[type="number"],
.ftc-cotizador input[type="date"],
.ftc-cotizador textarea,
.ftc-cotizador select{width:100%;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#000805}
.ftc-cotizador textarea{min-height:40px;resize:none;overflow:hidden}

.ftc-cotizador .grid{display:grid;gap:12px}
.ftc-cotizador .flex{display:flex;gap:12px;flex-wrap:wrap}
.ftc-cotizador .grow{flex:1 1 200px}

.ftc-cotizador .header-grid{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}
.ftc-cotizador .logo-wrap{display:flex;gap:12px;align-items:center}
.ftc-cotizador .logo{width:90px;height:90px;border:1px dashed var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fafafa;overflow:hidden}
.ftc-cotizador .logo img{max-width:100%;max-height:100%;object-fit:contain}
.ftc-cotizador .meta{display:grid;gap:8px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}
.ftc-cotizador .meta .row{display:flex;gap:8px;flex-wrap:wrap}
.ftc-cotizador .meta .cell{flex:1 1 120px}
.ftc-cotizador .meta input, .ftc-cotizador .meta select{padding:8px;border-radius:8px}

.ftc-cotizador .card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:12px}
.ftc-cotizador .thin{padding:10px;border-radius:12px}

.ftc-cotizador .table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}
/* Para escritorio, mantenemos un mínimo que evita romper columnas */
.ftc-cotizador table{border-collapse:separate;border-spacing:0;width:100%;min-width:900px;background:#fff; table-layout:fixed;}
.ftc-cotizador thead th{position:sticky;top:0;background:linear-gradient(#fff, #fafafa);border-bottom:1px solid var(--border);font-size:12px;color:#334155;text-align:left;padding:10px}
.ftc-cotizador tbody td{border-bottom:1px solid #f1f5f9;padding:8px;vertical-align:top}
.ftc-cotizador tbody tr:last-child td{border-bottom:none}
.ftc-cotizador tbody tr:nth-child(odd){background:#fcfcfd}
.ftc-cotizador tfoot td{padding:8px}
.ftc-cotizador .num{width:100%;text-align:right}

/* Proporciones cómodas en desktop */
.ftc-cotizador th.col-cant, .ftc-cotizador td.col-cant{width:8%}
.ftc-cotizador th.col-unit, .ftc-cotizador td.col-unit{width:12%}
.ftc-cotizador th.col-desc, .ftc-cotizador td.col-desc{width:38%}
.ftc-cotizador th.col-price, .ftc-cotizador td.col-price{width:18%}
.ftc-cotizador th.col-imp, .ftc-cotizador td.col-imp{width:16%}
.ftc-cotizador th.col-act, .ftc-cotizador td.col-act{width:8%}

.ftc-cotizador .row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ftc-cotizador .mini{padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:12px}
.ftc-cotizador .mini.danger{border-color:#fecaca;background:#fff1f2}
.ftc-cotizador .mini:hover{filter:brightness(.98)}

.ftc-cotizador .totals{display:grid;gap:8px}
.ftc-cotizador .totals .line{display:flex;justify-content:space-between;align-items:center}
.ftc-cotizador .grand{font-size:20px;font-weight:900;border-top:none;padding:12px;background:var(--grand-bg);color:#fff;border:none;border-radius:12px; margin-top:4px;-webkit-print-color-adjust: exact; print-color-adjust: exact;}
.ftc-cotizador .right-box{margin-left:auto;max-width:100%}

/* Mejora en pantallas medianas/grandes */
@media (min-width: 768px){
  .ftc-cotizador .header-grid{grid-template-columns: 1fr 1.1fr}
  .ftc-cotizador .right-box{max-width:420px}
}

/* Impresión/PDF */
@media print{
  @page{size:A4;margin:12mm}
  body.clean-print .ftc-cotizador .toolbar,
  body.clean-print .ftc-cotizador .import-controls,
  body.clean-print .ftc-cotizador .hint,
  body.clean-print .ftc-cotizador .badge,
  body.clean-print .ftc-cotizador .print-footer{display:none !important}

  .ftc-cotizador .container{max-width:100%;margin:0;padding:0}
  .ftc-cotizador .page{border:none;border-radius:0;box-shadow:none;padding:0}
  .ftc-cotizador .print-sheet{padding:10mm 12mm}
  .ftc-cotizador .logo{border:1px solid #e5e7eb}
  .ftc-cotizador h1{font-size:20pt;margin-bottom:2mm}
  .ftc-cotizador h2{font-size:12pt;margin:0 0 2mm 0}
  .ftc-cotizador .meta{border:1px solid #e5e7eb;padding:8px}
  .ftc-cotizador .meta input, .ftc-cotizador .meta select{border:none;padding:0}
  .ftc-cotizador input, .ftc-cotizador textarea, .ftc-cotizador select{border:none;padding:0;background:transparent}
  .ftc-cotizador .card, .ftc-cotizador .thin{border:none;padding:0}
  .ftc-cotizador .table-wrap{border:none;overflow:visible !important}
  .ftc-cotizador table{font-size:10.2pt;min-width:0}
  .ftc-cotizador thead th{border-bottom:1px solid #e5e7eb;background:#fff;color:#111827}
  .ftc-cotizador tbody td{border-bottom:1px solid #eef2f7;padding:6px}
  .ftc-cotizador tbody tr:nth-child(odd){background:transparent}
  .ftc-cotizador .right-box{max-width:70mm}
  .ftc-cotizador .no-break{page-break-inside:avoid}
  .ftc-cotizador .section{break-inside:avoid-page}
  .ftc-cotizador .row-actions, .ftc-cotizador th.col-act, .ftc-cotizador td.col-act, .ftc-cotizador tfoot{display:none !important}
}


/* === Ajustes solicitados (agosto 2025) === */

/* 1) Móvil: Fecha y Moneda más chicas para no desbordar */
@media (max-width: 768px) {
  .ftc-cotizador .column-fecha,
  .ftc-cotizador .column-moneda {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
  }
}

/* 2) Impresión: ocultar carga de logo, botón y textos relacionados,
      y también cabecera y título del sitio */
@media print {
  .ftc-cotizador .upload-logo,
  .ftc-cotizador .upload-logo-button,
  .ftc-cotizador .upload-logo-text,
  h1.entry-title,
  header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* 3) Formato de impresión: reducir 'Unidad' y ampliar 'Cant.' */
  .ftc-cotizador .column-unidad {
    width: 20% !important;
    max-width: 20% !important;
    flex: 0 0 20% !important;
  }
  .ftc-cotizador .column-cantidad {
    width: 80% !important;
    max-width: 80% !important;
    flex: 0 0 80% !important;
  }
}



/* === Ajuste adicional: ocultar botones y textos extra al imprimir === */
@media print {
  .ftc-cotizador .btn,                /* todos los botones (Imprimir, Limpiar, etc.) */
  .ftc-cotizador .upload-logo,
  .ftc-cotizador .upload-logo-button,
  .ftc-cotizador .upload-logo-text,
  .ftc-cotizador input[type="file"],  /* campo Seleccionar archivo */
  .ftc-cotizador .no-file-text,       /* "Sin archivos seleccionados" */
  .ftc-cotizador .embed-print,        /* incrustar para impresión/pdf */
  h1.entry-title,
  header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}



/* === Ajustes extra de impresión (ocultar botones/inputs y textos relacionados) === */
@media print {
  /* Botones de acciones generales */
  #printBtn,
  #clearBtn,
  #addRowBtn {
    display: none !important;
    visibility: hidden !important;
  }

  /* Bloque completo de carga de logo y textos relacionados
     - Oculta: "Cargar logo", "Seleccionar archivo", "Sin archivos seleccionados",
       el cuadro de logo y el texto "Se incrusta para impresión/PDF." */
  .logo-wrap,
  .logo-wrap * {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}



/* === Ajuste impresión: mostrar logo, ocultar solo botones y textos === */
@media print {
  /* Mostrar logo */
  .logo-wrap,
  .logo-wrap * {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Ocultar botones */
  #printBtn,
  #clearBtn,
  #addRowBtn {
    display: none !important;
    visibility: hidden !important;
  }

  /* Ocultar textos de carga de logo y pistas */
  label[for="logoInput"],
  #logoInput,
  .hint {
    display: none !important;
    visibility: hidden !important;
  }
}



/* === Ajuste impresión: ocultar inputs y selects para formato limpio === */
@media print {
  input,
  select,
  textarea {
    display: none !important;
    visibility: hidden !important;
  }
}



/* === Impresión: ocultar campos interactivos y mostrar sólo el formato === */
@media print {
  /* Oculta todos los controles del formulario dentro del cotizador */
  .ftc-cotizador input,
  .ftc-cotizador select,
  .ftc-cotizador textarea,
  .ftc-cotizador button {
    display: none !important;
    visibility: hidden !important;
  }

  /* Asegura que la hoja/formato de impresión esté visible */
  .ftc-cotizador .print-sheet {
    display: block !important;
    visibility: visible !important;
  }
}



/* === Ajuste columnas (print) para visibilidad de cantidades y reducción de precio unit. === */
@media print {
  /* Oculta la columna de acciones */
  .ftc-cotizador thead th.col-act,
  .ftc-cotizador td.col-act { display:none !important; }

  /* Anchos recalibrados para impresión (suma ~100%) */
  .ftc-cotizador .col-cant, .ftc-cotizador td.col-cant { width:16% !important; }
  .ftc-cotizador .col-unit, .ftc-cotizador td.col-unit { width:12% !important; }
  .ftc-cotizador .col-desc, .ftc-cotizador td.col-desc { width:47% !important; }
  /* Precio unit. reducido a ~60% del ancho original (18% -> ~11%) */
  .ftc-cotizador .col-price, .ftc-cotizador td.col-price { width:11% !important; }
  .ftc-cotizador .col-imp, .ftc-cotizador td.col-imp { width:14% !important; }
}

/* Opcional: hacer un poco más ancha Cant. también en pantalla grande */
@media (min-width: 769px) {
  .ftc-cotizador .col-cant, .ftc-cotizador td.col-cant { width:12% !important; }
  .ftc-cotizador .col-price, .ftc-cotizador td.col-price { width:16% !important; }
}



/* Texto espejo para impresión de campos */
.print-text { display: none; }
@media print { .print-text { display: inline !important; white-space: pre-wrap; } }



/* === Robust print handling === */
/* By default (Ctrl+P), show controls; when .clean-print is present, hide them */
@media print {
  .ftc-cotizador input,
  .ftc-cotizador select,
  .ftc-cotizador textarea,
  .ftc-cotizador button {
    display: initial !important;
    visibility: visible !important;
  }
  body.clean-print .ftc-cotizador input,
  body.clean-print .ftc-cotizador select,
  body.clean-print .ftc-cotizador textarea,
  body.clean-print .ftc-cotizador button {
    display: none !important;
    visibility: hidden !important;
  }

  /* Show mirror text values */
  .print-text { display: inline !important; white-space: pre-wrap; }

  /* Ensure mirror text occupies space nicely in table cells */
  td .print-text { display: inline-block !important; max-width: 100% !important; overflow-wrap: anywhere; }

  /* Avoid clipping */
  .ftc-cotizador table { table-layout: fixed; }
  .ftc-cotizador td, .ftc-cotizador th { overflow: visible; }
}

/* Cant. wider and Precio unit. narrower on print (redundant but at end for priority) */
@media print {
  .ftc-cotizador .col-cant, .ftc-cotizador td.col-cant { width: 16% !important; }
  .ftc-cotizador .col-price, .ftc-cotizador td.col-price { width: 11% !important; }
  .ftc-cotizador .col-desc, .ftc-cotizador td.col-desc { width: 47% !important; }
  .ftc-cotizador .col-unit, .ftc-cotizador td.col-unit { width: 12% !important; }
  .ftc-cotizador .col-imp, .ftc-cotizador td.col-imp { width: 14% !important; }
}
