/*
 * TangramFood responsive layer
 * Theme: tangramfood_child_v3
 * Scope: centros, platos, menús, días especiales, listados, ACF, DataTables y Select2.
 */

:root {
  --tgf-responsive-orange: #e85e27;
  --tgf-responsive-orange-dark: #c84c1d;
  --tgf-responsive-gap: clamp(12px, 3vw, 24px);
}

html {
  box-sizing: border-box;
  max-width: 100%;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  max-width: 100%;
  overflow-x: clip;
}

body img,
body svg,
body video,
body canvas {
  max-width: 100%;
  height: auto;
}

body input,
body select,
body textarea,
body button {
  max-width: 100%;
}

body .site,
body .site-content,
body .site-main,
body .inside-article,
body .entry-content,
body .tgf-container,
body .tgf-card,
body .tf-dia-page,
body .tf-dia-card,
body .tf-centro-form,
body .tf-centro-form__inner,
body .tf-menu-builder-wrap {
  max-width: 100%;
}

body .entry-content table,
body .tgf-card table,
body .tf-centro-form table,
body .tf-menu-builder-wrap table,
body .tf-dia-menu-builder__table,
body .dataTable,
body table.dataTable {
  max-width: 100%;
}

body .entry-content :is(
  .table-responsive,
  .tabla-responsive,
  .tf-table-wrap,
  .tf-table-wrapper,
  .tf-dia-menu-builder__table-wrapper,
  .tf-menu-builder-wrap
),
body .dataTables_wrapper,
body .tf-centro-form__diets,
body #listado-platos,
body #listados,
body #resultado-listado,
body #resultado_pdf,
body #tf-listados,
body .tf-listados,
body .tgf-listados {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body .tf-dia-menu-builder__table,
body .tf-centro-form__diet-table,
body table.dataTable,
body .dataTable {
  border-collapse: separate;
  border-spacing: 0;
}

body .tf-dia-menu-builder__table th,
body .tf-dia-menu-builder__table td,
body .tf-centro-form__diet-table th,
body .tf-centro-form__diet-table td,
body table.dataTable th,
body table.dataTable td,
body .dataTable th,
body .dataTable td {
  vertical-align: middle;
  overflow-wrap: anywhere;
}

body .dataTables_wrapper .dataTables_length,
body .dataTables_wrapper .dataTables_filter,
body .dataTables_wrapper .dataTables_info,
body .dataTables_wrapper .dataTables_paginate {
  float: none;
  width: auto;
  max-width: 100%;
}

body .dataTables_wrapper .dataTables_filter input,
body .dataTables_wrapper .dataTables_length select {
  max-width: 100%;
}

body .select2,
body .select2-container,
body .select2-container--default,
body .select2-container .select2-selection,
body .select2-dropdown {
  max-width: 100%;
}

body .select2-container {
  width: 100%;
}

body .select2-container .select2-selection--single,
body .select2-container .select2-selection--multiple {
  min-height: 42px;
}

body .acf-form,
body .acf-fields,
body .acf-field,
body .acf-input,
body .acf-input-wrap,
body .acf-input-wrap input,
body .acf-field input,
body .acf-field select,
body .acf-field textarea {
  max-width: 100%;
}

body .acf-fields > .acf-field {
  min-width: 0;
}

body .tf-centro-form__media-controls,
body .tf-centro-form__options,
body .tf-centro-form__actions,
body .tf-centro-form__diet-row,
body .tf-centro-form__fieldset {
  max-width: 100%;
}

body .tf-centro-form__media-controls,
body .tf-centro-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body .tf-centro-form__diet-input {
  min-width: 0;
}

body .tf-dia-menu-builder [data-role='add'],
body .tf-dia-menu-builder [data-role='remove'],
body .tf-dias-add-plato .button,
body .tf-centro-form__add-diet,
body .tf-centro-form__diet-remove,
body .tf-centro-form__submit,
body .tf-centro-form__media-button,
body button[data-role='add'],
body button[data-role='remove'],
body button[name*='agregar'],
body button[id*='agregar'],
body .button[href*='duplicar'],
body a[href*='duplicar'].button,
body a[href*='duplicar-centro'],
body a[href*='duplicar-plato'],
body a[href*='duplicar-dia'] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 42px;
  line-height: 1.2;
  white-space: nowrap;
  vertical-align: middle;
  background: var(--tgf-responsive-orange);
  color: #fff;
  border-color: var(--tgf-responsive-orange);
  border-radius: 999px;
  text-decoration: none;
}

body .tf-dia-menu-builder [data-role='add']:hover,
body .tf-dia-menu-builder [data-role='remove']:hover,
body .tf-dias-add-plato .button:hover,
body .tf-centro-form__add-diet:hover,
body .tf-centro-form__diet-remove:hover,
body .tf-centro-form__submit:hover,
body .tf-centro-form__media-button:hover,
body button[data-role='add']:hover,
body button[data-role='remove']:hover,
body button[name*='agregar']:hover,
body button[id*='agregar']:hover,
body .button[href*='duplicar']:hover,
body a[href*='duplicar'].button:hover,
body a[href*='duplicar-centro']:hover,
body a[href*='duplicar-plato']:hover,
body a[href*='duplicar-dia']:hover {
  background: var(--tgf-responsive-orange-dark);
  border-color: var(--tgf-responsive-orange-dark);
  color: #fff;
}

body .tf-duplicar,
body .duplicar,
body a[href*='duplicar'] {
  text-align: center;
}

body .guarnicion,
body .guarnición,
body [data-ingesta='guarnicion'],
body [data-ingesta='guarnición'],
body th[class*='guarnicion'],
body td[class*='guarnicion'],
body th[class*='guarnición'],
body td[class*='guarnición'] {
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}

body .ui-datepicker,
body .ui-datepicker table,
body .flatpickr-calendar,
body .air-datepicker,
body .tf-dia-calendar,
body .tf-dias-calendar,
body .tf-calendario,
body .calendario,
body .calendar {
  max-width: 100%;
}

body .ui-datepicker {
  width: auto;
  min-width: min(100%, 300px);
}

body .ui-datepicker td a,
body .ui-datepicker td span {
  text-align: center;
}

body .tf-dia-menu-builder__controls,
body .tf-dia-menu-builder__plato-control,
body .tf-dia-menu-builder__plato-control > * {
  min-width: 0;
}

@media (max-width: 900px) {
  body .tf-dia-menu-builder__table,
  body .tf-centro-form__diet-table,
  body table.dataTable,
  body .dataTable {
    min-width: 720px;
  }

  body .dataTables_wrapper .dataTables_length,
  body .dataTables_wrapper .dataTables_filter {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px;
    margin-bottom: 10px;
  }

  body .dataTables_wrapper .dataTables_filter label,
  body .dataTables_wrapper .dataTables_length label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100%;
  }
}

@media (max-width: 768px) {
  body .site-content {
    padding-left: 0;
    padding-right: 0;
  }

  body .inside-article,
  body .tgf-container,
  body .tgf-card,
  body .tf-dia-page,
  body .tf-dia-card,
  body .tf-centro-form {
    padding-left: var(--tgf-responsive-gap);
    padding-right: var(--tgf-responsive-gap);
  }

  body .tf-dia-menu-builder__controls,
  body .tf-centro-form__options {
    grid-template-columns: 1fr;
  }

  body .tf-dia-menu-builder__plato-control,
  body .tf-centro-form__media-controls,
  body .tf-centro-form__actions,
  body .tf-centro-form__submit-row,
  body .acf-form .acf-form-submit {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  body .tf-dia-menu-builder__plato-control .button,
  body .tf-dia-menu-builder [data-role='add'],
  body .tf-dia-menu-builder [data-role='remove'],
  body .tf-dias-add-plato .button,
  body .tf-centro-form__media-button,
  body .tf-centro-form__media-remove,
  body .tf-centro-form__add-diet,
  body .tf-centro-form__submit,
  body .acf-form .acf-submit-button,
  body input[type='submit'],
  body input[type='button'],
  body button:not(.menu-toggle):not(.dropdown-menu-toggle) {
    width: 100%;
    max-width: 100%;
  }

  body .dataTables_wrapper .dataTables_filter input,
  body .dataTables_wrapper .dataTables_length select {
    width: 100%;
  }

  body .dataTables_wrapper .dataTables_paginate {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
  }

  body .dataTables_wrapper .dataTables_paginate .paginate_button {
    margin: 0;
  }

  body .tf-centro-form__diet-table th,
  body .tf-centro-form__diet-table td,
  body .tf-dia-menu-builder__table th,
  body .tf-dia-menu-builder__table td {
    padding: 10px 12px;
  }
}

@media (max-width: 480px) {
  body .inside-article,
  body .tgf-container,
  body .tgf-card,
  body .tf-dia-page,
  body .tf-dia-card,
  body .tf-centro-form {
    padding-left: 12px;
    padding-right: 12px;
  }

  body .tf-dia-menu-builder__table,
  body .tf-centro-form__diet-table,
  body table.dataTable,
  body .dataTable {
    min-width: 640px;
  }

  body .ui-datepicker {
    font-size: 13px;
  }

  body .ui-datepicker th,
  body .ui-datepicker td {
    padding: 1px;
  }
}
