/* =========================================================
   responsive.css
   ========================================================= */

@media (max-width: 760px) {

  body {
    padding: 12px 6px 40px;
  }

  /* =========================
     HEADER
     ========================= */

  .header-top {
    padding: 18px 16px 0;
    flex-direction: column;
    gap: 12px;
  }

  .logo-box {
    width: 170px;
    height: 70px;
  }

  .logo-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .header-fields,
  .header-fields--3 {
    grid-template-columns: 1fr 1fr;
    padding: 16px 16px 4px;
  }

  .header-toggles {
    padding: 8px 16px 16px;
  }

  .social-row {
    flex-direction: column;
    gap: 10px;
    padding: 0 16px 16px;
  }


  /* =========================
     SECCIONES
     ========================= */

  .sections-area {
    padding: 6px 16px 4px;
    gap: 30px;
  }

  .pill-box {
    padding: 24px 16px 16px;
  }

  .pill-box__two-col {
    grid-template-columns: 1fr;
    gap: 18px;
  }


  /* =========================
     CHECKBOX GRID
     ========================= */

  .cb-grid {
    grid-template-columns: 1fr;
  }

  .cb-grid.cols-3 {
    grid-template-columns: 1fr 1fr;
  }


  /* =========================
     TABLA DE DIENTES
     ========================= */

  .tooth-table {
    padding: 8px 4px 10px;
  }

  .tooth-table__side {
    gap: 4px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
  }

  .tooth-table__side-label {
    flex-shrink: 0;
  }

  .tooth-table__rows {
    flex-shrink: 0;
  }

  .tooth-table__row {
    gap: 2px;
  }

  .tooth-btn {
    width: 18px;
    height: 18px;
    font-size: 8.5px;
    flex-shrink: 0;
  }

  .tooth-table__toolbar {
    flex-wrap: wrap;
  }


  /* =========================
     UBICACIÓN
     ========================= */

  .ubicacion-grid {
    grid-template-columns: 1fr;
  }

  .ubicacion-card {
    width: 100%;
  }

  .ubicacion-horarios {
    grid-template-columns: 1fr;
  }


  /* =========================
     FIRMA
     ========================= */

  .firma-nombre-row {
    flex-direction: column;
    gap: 10px;
  }


  /* =========================
     BOTONES
     ========================= */

  .form-actions {
    flex-direction: column;
    align-items: center;
  }

  .form-actions .btn {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}


/* =========================================================
   CELULARES PEQUEÑOS
   ========================================================= */

@media (max-width: 480px) {

  .header-top {
    padding: 14px 14px 0;
    align-items: center;
  }

  .logo-box {
    width: 140px;
    height: 60px;
  }

  .logo-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .fecha-group {
    flex-shrink: 0;
  }

  .fecha-cell {
    width: 48px;
  }

  .fecha-cell__label {
    font-size: 7.5px;
  }

  .fecha-cell input {
    font-size: 11px;
  }

  .header-fields,
  .header-fields--3 {
    grid-template-columns: 1fr;
    padding: 14px 14px 6px;
  }

  .header-toggles {
    padding: 8px 14px 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .toggle-group {
    width: 100%;
    flex-wrap: wrap;
  }

  .social-row {
    padding: 0 14px 16px;
  }

  .sections-area {
    padding: 6px 14px 4px;
  }

  .pill-box {
    padding: 24px 14px 16px;
  }

  .cb-grid.cols-3 {
    grid-template-columns: 1fr;
  }

  .ubicacion-grid {
    grid-template-columns: 1fr;
  }

  .ubicacion-horarios {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   CELULARES MUY PEQUEÑOS
   ========================================================= */

@media (max-width: 380px) {

  .logo-box {
    width: 130px;
    height: 55px;
  }

  .tooth-btn {
    width: 16px;
    height: 16px;
    font-size: 7.5px;
    border-radius: 3px;
  }

  .tooth-table__side {
    gap: 3px;
  }

  .tooth-table__row {
    gap: 1.5px;
  }
}