/* ==============================================================================
   rfq.css — Página de cotización: tabla de ítems, formulario y confirmación
   ============================================================================== */

.rfq-page { padding-bottom: 4rem; }
.rfq-page h1 { padding-top: calc(var(--nav-h) + 1.5rem); margin-bottom: 1.6rem; }

/* ---------- Layout tabla + formulario ---------- */
.rfq-layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 2.2rem; align-items: start; }

.rfq-table-wrap {
  background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden;
}
.rfq-table { width: 100%; border-collapse: collapse; }
.rfq-table th, .rfq-table td { padding: .9rem 1.1rem; text-align: left; border-bottom: 1px solid var(--bg-alt); font-size: .95rem; }
.rfq-table thead th { background: var(--dark); color: #fff; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; }
.rfq-table tbody tr:hover { background: var(--bg-alt); }
.rfq-table__item { display: flex; align-items: center; gap: .9rem; }
.rfq-table__item img { width: 62px; height: 48px; object-fit: cover; border-radius: 6px; }
.rfq-table__item small { display: block; color: var(--gray-light); font-size: .8rem; }
.rfq-table__qty input {
  width: 68px; padding: .45rem .5rem; border: 1px solid var(--gray-light);
  border-radius: 8px; text-align: center; font-family: inherit;
}

/* ---------- Formulario ---------- */
.rfq-form {
  background: #fff; border-radius: var(--radius); box-shadow: var(--shadow);
  padding: 1.6rem; position: sticky; top: calc(var(--nav-h) + 1rem);
}
.rfq-form h3 { margin-bottom: 1.1rem; }
.rfq-form form { display: grid; gap: .85rem; }
.rfq-form label { display: grid; gap: .35rem; font-weight: 600; font-size: .88rem; }
.rfq-form input[type="text"], .rfq-form input[type="email"], .rfq-form input[type="tel"],
.rfq-form select, .rfq-form textarea {
  padding: .65rem .8rem; border: 1px solid var(--gray-light); border-radius: 8px;
  font-family: inherit; font-size: .95rem; width: 100%;
}
.rfq-form input:focus, .rfq-form select:focus, .rfq-form textarea:focus {
  outline: 2px solid var(--accent); border-color: transparent;
}
.rfq-form__privacy { display: flex !important; grid-template-columns: none; flex-direction: row; align-items: center; gap: .55rem; font-weight: 400 !important; font-size: .85rem !important; }
.rfq-form__privacy input { width: 16px; height: 16px; accent-color: var(--accent); }

/* ---------- Confirmación y vacío ---------- */
.rfq-success, .rfq-empty {
  text-align: center; padding: calc(var(--nav-h) + 4rem) 1rem 5rem; max-width: 560px; margin-inline: auto;
}
.rfq-success__icon {
  width: 74px; height: 74px; margin: 0 auto 1.4rem; border-radius: 50%;
  background: #d1fae5; color: #065f46; font-size: 2.2rem; display: grid; place-items: center;
}
.rfq-success__number { font-size: 1.1rem; margin: .8rem 0 .4rem; }
.rfq-success__number strong { color: var(--accent-dark); font-family: 'Courier New', monospace; }
.rfq-success p, .rfq-empty p { color: var(--gray); margin: .4rem 0 1.6rem; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .rfq-layout { grid-template-columns: 1fr; }
  .rfq-form { position: static; }
  .rfq-table-wrap { overflow-x: auto; }
}

.rfq-table tfoot td { background: var(--dark); color: #fff; font-size: 1.02rem; padding: 1rem 1.1rem; }
.rfq-table__total td { border-bottom: 0 !important; }
