/* responsive.css */

@media (max-width: 780px) {
  body { padding: 12px 6px 40px; }

  .header-band { padding: 16px 14px 0; }
  .header-top { flex-direction: column; }
  .logo-box { width: 100%; height: 76px; }

  .fecha-table__body { display: flex; }
  .fecha-table__input { font-size: 13px; padding: 6px 1px; min-width: 0; }
  .fecha-table__input:nth-child(1),
  .fecha-table__input:nth-child(2) { flex: 0.85; }
  .fecha-table__input:nth-child(3) { flex: 1.3; }
  .fecha-table__head span { font-size: 8.5px; }

  .pt-row { flex-direction: column; }
  .pt-cell + .pt-cell { border-left: none; border-top: 1px solid var(--c-line); }

  .sections-grid, .sections-grid--2 { grid-template-columns: 1fr; padding: 4px 14px 6px; }
  .span-2, .span-3 { grid-column: 1 / -1; }

  .cb-grid { grid-template-columns: 1fr; }
  .cb-grid.cols-3 { grid-template-columns: 1fr 1fr; }

  .tomo-3d { flex-direction: column; align-items: flex-start; gap: 8px; }
  .tomo-3d__grid { grid-template-columns: 1fr 1fr; width: 100%; }

  .foto-grid { grid-template-columns: 1fr 1fr; gap: 14px; }

  .firma-nombre-row { flex-direction: column; gap: 10px; }

  .form-actions {
    flex-direction: column;
    align-items: center;
  }
  .form-actions .btn {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}

@media (max-width: 420px) {
  .foto-grid { grid-template-columns: 1fr; }
  .fecha-table__input { font-size: 12px; }
}
