/* TangramFood unified UI styles */

/* System tokens */
:root{
  --tgf-primary:#E85E27; /* naranja Tangram */
  --tgf-bg:#E9E7E5;      /* gris fondo panel */
  --tgf-text:#1F1F1F;
  --tgf-muted:#6A6360;
  --tgf-surface:#FFFFFF;
  --tgf-radius:10px;
  --tgf-shadow:0 12px 24px rgba(0,0,0,.08);
  --tgf-button-bg:var(--tgf-primary);
  --tgf-button-color:#fff;
  --tgf-button-border:transparent;
  --tgf-button-shadow:0 10px 18px rgba(0,0,0,.12);
  --tgf-mobile-page-gap:clamp(20px, 6vw, 28px);
}

/* Contenedores principales */
.tgf-container{
  background:var(--tgf-bg);
  color:var(--tgf-text);
  padding:24px;
  border-radius:var(--tgf-radius);
  margin:0 auto 24px;
  width:min(100%, 1200px);
}

.tgf-card{
  background:var(--tgf-surface);
  border-radius:var(--tgf-radius);
  padding:1.5rem;
  box-shadow:var(--tgf-shadow);
}

.tgf-card + .tgf-card{margin-top:18px;}

.tgf-page-header{margin:0 0 18px;}

/* 1) Botones legibles en “Mi cuenta” */
.tgf-btn,
.woocommerce .button,
.pmpro_btn,
.pmpro_checkout .pmpro_btn,
.rcp-button,
.rcp-table button,
.wp-block-button__link,
.gb-button,
.gb-button-text,
.button:not(.button-link):not(.button-secondary):not(.components-button),
button:not(.dt-button):not(.components-button):not(.menu-toggle):not(.dropdown-menu-toggle),
input[type="submit"],
input[type="button"],
input[type="reset"]{
  background:var(--tgf-button-bg)!important;
  color:var(--tgf-button-color)!important;
  border:1px solid var(--tgf-button-border)!important;
  border-radius:8px!important;
  font-weight:600!important;
  padding:0.65rem 1.25rem!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
  box-shadow:var(--tgf-button-shadow);
}

.tgf-btn:focus,
.woocommerce .button:focus,
.pmpro_btn:focus,
.pmpro_checkout .pmpro_btn:focus,
.rcp-button:focus,
.rcp-table button:focus,
.wp-block-button__link:focus,
.gb-button:focus,
.gb-button-text:focus,
.button:not(.button-link):not(.button-secondary):not(.components-button):focus,
button:not(.dt-button):not(.components-button):not(.menu-toggle):not(.dropdown-menu-toggle):focus,
input[type="submit"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus{outline:2px solid #000; outline-offset:2px;box-shadow:0 0 0 2px rgba(0,0,0,.05)}

.tgf-btn[disabled],
.woocommerce .button.disabled,
.pmpro_btn[disabled],
.rcp-button[disabled],
.rcp-table button[disabled],
.wp-block-button__link[aria-disabled="true"],
.gb-button[disabled],
.gb-button-text[disabled],
button[disabled],
input[type="submit"][disabled],
input[type="button"][disabled],
input[type="reset"][disabled]{opacity:.55!important;cursor:not-allowed!important;box-shadow:none!important}

.tgf-btn:hover,
.woocommerce .button:hover,
.pmpro_btn:hover,
.pmpro_checkout .pmpro_btn:hover,
.rcp-button:hover,
.rcp-table button:hover,
.wp-block-button__link:hover,
.gb-button:hover,
.gb-button-text:hover,
.button:not(.button-link):not(.button-secondary):not(.components-button):hover,
button:not(.dt-button):not(.components-button):not(.menu-toggle):not(.dropdown-menu-toggle):hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(0,0,0,.16);
}

.tf-override{
  color:#c00;
  font-weight:600;
}

@media (prefers-reduced-motion:reduce){
  .tgf-btn,
  .woocommerce .button,
  .pmpro_btn,
  .pmpro_checkout .pmpro_btn,
  .rcp-button,
  .rcp-table button,
  .wp-block-button__link,
  .gb-button,
  .gb-button-text,
  .button:not(.button-link):not(.button-secondary):not(.components-button),
  button:not(.dt-button):not(.components-button):not(.menu-toggle):not(.dropdown-menu-toggle),
  input[type="submit"],
  input[type="button"],
  input[type="reset"]{transition:none}

  .tgf-btn:hover,
  .woocommerce .button:hover,
  .pmpro_btn:hover,
  .pmpro_checkout .pmpro_btn:hover,
  .rcp-button:hover,
  .rcp-table button:hover,
  .wp-block-button__link:hover,
  .gb-button:hover,
  .gb-button-text:hover,
  .button:not(.button-link):not(.button-secondary):not(.components-button):hover,
  button:not(.dt-button):not(.components-button):not(.menu-toggle):not(.dropdown-menu-toggle):hover,
  input[type="submit"]:hover,
  input[type="button"]:hover,
  input[type="reset"]:hover{transform:none}
}

/* Navegación principal */
.main-navigation .menu-toggle{
  background:rgba(232,94,39,.12)!important;
  color:var(--tgf-primary)!important;
  border:1px solid rgba(232,94,39,.3)!important;
  border-radius:999px!important;
  box-shadow:none!important;
  padding:0.45rem 0.85rem;
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  font-weight:600;
  font-size:1.05rem;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}

@media(min-width:769px){
  .main-navigation .menu-toggle{
    display:none;
  }
}

.main-navigation .menu-toggle:hover,
.main-navigation .menu-toggle:focus{
  background:rgba(232,94,39,.18)!important;
  border-color:rgba(232,94,39,.45)!important;
  color:var(--tgf-primary)!important;
}

.main-navigation .menu-toggle:focus{
  outline:2px solid var(--tgf-primary);
  outline-offset:2px;
}

.main-navigation .menu-toggle .gp-icon svg{
  width:22px;
  height:22px;
}

@media (max-width:1024px){
  .main-navigation{
    background:transparent;
    position:relative;
  }

  .main-navigation .inside-navigation{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
  }

  .main-navigation .inside-navigation .main-nav{
    width:100%;
    order:3;
  }

  .main-navigation.toggled .main-nav{
    background:var(--tgf-surface);
    border-radius:16px;
    box-shadow:var(--tgf-shadow);
    padding:1.25rem;
    margin-top:1rem;
    width:100%;
  }

  .main-navigation.toggled .main-nav > ul{
    display:flex;
    flex-direction:column;
    gap:0.65rem;
  }

  .main-navigation.toggled .main-nav > ul > li > a{
    font-weight:600;
    font-size:1.05rem;
    color:var(--tgf-text);
    padding:0.5rem 0;
  }

  .main-navigation.toggled .main-nav > ul > li > a:hover,
  .main-navigation.toggled .main-nav > ul > li > a:focus{
    color:var(--tgf-primary);
  }

  .main-navigation.toggled .main-nav ul ul{
    position:static;
    opacity:1;
    visibility:visible;
    box-shadow:0 16px 32px rgba(0,0,0,.12);
    background:var(--tgf-surface);
    padding:0.75rem 1rem;
    margin:0.75rem auto 0;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-direction:row;
    flex-wrap:wrap;
    gap:0.5rem 0.75rem;
    row-gap:0.5rem;
    column-gap:0.75rem;
  }

  .main-navigation.toggled .main-nav ul ul li{
    width:auto;
    flex:0 1 auto;
    min-width:0;
  }

  .main-navigation.toggled .main-nav ul ul li a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:1rem;
    line-height:1.5;
    font-weight:600;
    color:var(--tgf-text);
    padding:0.35rem 0.5rem;
    white-space:normal;
    text-align:center;
    overflow-wrap:anywhere;
    hyphens:auto;
    max-width:100%;
  }

  .main-navigation.toggled .main-nav ul ul li a:hover,
  .main-navigation.toggled .main-nav ul ul li a:focus{
    color:var(--tgf-primary);
  }

  .main-navigation.toggled .menu-bar-items{
    display:flex;
    flex-direction:column;
    gap:0.65rem;
    align-items:flex-start;
    margin-top:1.25rem;
    padding-top:1.25rem;
    border-top:1px solid rgba(31,31,31,.08);
  }

  .main-navigation.toggled .menu-bar-items a{
    font-weight:600;
    color:var(--tgf-primary);
  }

  .main-navigation .menu-toggle{
    order:2;
    margin-left:auto;
  }

  .site-content .page-header,
  .site-content .inside-article{
    padding-top:var(--tgf-mobile-page-gap);
  }

  .site-content .entry-header{
    margin-top:0;
    margin-bottom:clamp(16px, 5vw, 24px);
  }

  .site-content .entry-header .entry-title{
    font-size:clamp(1.5rem, 5vw, 1.875rem);
    line-height:1.35;
  }
}

@media (min-width:769px){
  .main-navigation{
    background:transparent;
  }

  .main-navigation .inside-navigation{
    display:flex;
    align-items:center;
    gap:1.75rem;
  }

  .main-navigation .main-nav > ul{
    display:flex;
    align-items:center;
    gap:1.5rem;
  }

  .main-navigation .main-nav > ul > li > a{
    display:inline-flex;
    align-items:center;
    gap:0.35rem;
    padding:0.35rem 0;
    font-weight:600;
    color:var(--tgf-text);
    transition:color .2s ease;
  }

  .main-navigation .main-nav > ul > li:hover > a,
  .main-navigation .main-nav > ul > li:focus-within > a{
    color:var(--tgf-primary);
  }

  .main-navigation .main-nav ul ul{
    background:var(--tgf-surface);
    border-radius:14px;
    border:1px solid rgba(31,31,31,.08);
    box-shadow:var(--tgf-shadow);
    padding:0.75rem;
    min-width:220px;
  }

  .main-navigation .main-nav ul ul li{
    width:100%;
  }

  .main-navigation .main-nav ul ul li + li{
    margin-top:0.35rem;
  }

  .main-navigation .main-nav ul ul li a{
    display:flex;
    align-items:center;
    gap:0.35rem;
    padding:0.4rem 0.5rem;
    border-radius:10px;
    color:var(--tgf-text);
    font-weight:600;
    line-height:1.4;
    transition:background-color .2s ease,color .2s ease;
  }

  .main-navigation .main-nav ul ul li a:hover,
  .main-navigation .main-nav ul ul li a:focus{
    background:rgba(232,94,39,.1);
    color:var(--tgf-primary);
  }

  .main-navigation .menu-bar-items > *{
    display:inline-flex;
    align-items:center;
  }
}

.main-navigation.toggled .menu-toggle{
  background:var(--tgf-primary)!important;
  color:#fff!important;
  border-color:var(--tgf-primary)!important;
}

.main-navigation .menu-toggle .gp-icon svg{
  transition:transform .2s ease;
}

.main-navigation.toggled .menu-toggle .gp-icon svg{
  transform:rotate(180deg);
}

:where(body[class*="iniciar-sesion"],
       body[class*="inicia-sessio"],
       .has-accent-background-color,
       .has-accent-2-background-color,
       .has-accent-3-background-color,
       .has-contrast-background-color,
       .has-primary-background-color,
       .has-contrast-2-background-color,
       .surface--accent,
       .surface--primary,
       .surface--inverse,
       .surface--contrast,
       .tgf-surface--accent,
       .tgf-surface--primary,
       .tgf-surface--inverse,
       .tgf-hero,
       .tgf-hero--primary,
       .tgf-section--accent,
       .tgf-section--primary,
       .tgf-section--inverse,
       .bg-accent,
       .bg-primary,
       .bg-contrast,
       .bg-tgf-primary,
       .tgf-bg-primary,
       .tgf-bg-accent,
       .tgf-bg-contrast,
       .wp-block-cover,
       .gb-container.has-background,
       .gb-container.has-background-color,
       .gb-container.tgf-inverse){
  --tgf-button-bg:#fff;
  --tgf-button-color:var(--tgf-primary);
  --tgf-button-border:#fff;
  --tgf-button-shadow:0 16px 28px rgba(0,0,0,.2);
}

:where(body[class*="iniciar-sesion"],
       body[class*="inicia-sessio"],
       .has-accent-background-color,
       .has-accent-2-background-color,
       .has-accent-3-background-color,
       .has-contrast-background-color,
       .has-primary-background-color,
       .has-contrast-2-background-color,
       .surface--accent,
       .surface--primary,
       .surface--inverse,
       .surface--contrast,
       .tgf-surface--accent,
       .tgf-surface--primary,
       .tgf-surface--inverse,
       .tgf-hero,
       .tgf-hero--primary,
       .tgf-section--accent,
       .tgf-section--primary,
       .tgf-section--inverse,
       .bg-accent,
       .bg-primary,
       .bg-contrast,
       .bg-tgf-primary,
       .tgf-bg-primary,
       .tgf-bg-accent,
       .tgf-bg-contrast,
       .wp-block-cover,
       .gb-container.has-background,
       .gb-container.has-background-color,
       .gb-container.tgf-inverse)
  .wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent!important;
  color:var(--tgf-primary)!important;
  border:1.5px solid currentColor!important;
}

:where(body[class*="iniciar-sesion"],
       body[class*="inicia-sessio"],
       .has-accent-background-color,
       .has-accent-2-background-color,
       .has-accent-3-background-color,
       .has-contrast-background-color,
       .has-primary-background-color,
       .has-contrast-2-background-color,
       .surface--accent,
       .surface--primary,
       .surface--inverse,
       .surface--contrast,
       .tgf-surface--accent,
       .tgf-surface--primary,
       .tgf-surface--inverse,
       .tgf-hero,
       .tgf-hero--primary,
       .tgf-section--accent,
       .tgf-section--primary,
       .tgf-section--inverse,
       .bg-accent,
       .bg-primary,
       .bg-contrast,
       .bg-tgf-primary,
       .tgf-bg-primary,
       .tgf-bg-accent,
       .tgf-bg-contrast,
       .wp-block-cover,
       .gb-container.has-background,
       .gb-container.has-background-color,
       .gb-container.tgf-inverse)
  :where(.tgf-btn,
         .woocommerce .button,
         .pmpro_btn,
         .pmpro_checkout .pmpro_btn,
         .rcp-button,
         .rcp-table button,
         .wp-block-button__link,
         .gb-button,
         .gb-button-text,
         .button:not(.button-link):not(.button-secondary):not(.components-button),
         button:not(.dt-button):not(.components-button):not(.menu-toggle):not(.dropdown-menu-toggle),
         input[type="submit"],
         input[type="button"],
       input[type="reset"]){
  color:var(--tgf-button-color)!important;
}

body[class*="iniciar-sesion"],
body[class*="inicia-sessio"]{
  --tgf-button-bg:#fff;
  --tgf-button-color:var(--tgf-primary);
  --tgf-button-border:rgba(232,94,39,.35);
  --tgf-button-shadow:0 10px 22px rgba(232,94,39,.18);
}

body[class*="iniciar-sesion"] .main-navigation,
body[class*="inicia-sessio"] .main-navigation{
  background:transparent;
}

body[class*="iniciar-sesion"] .main-navigation .main-nav ul ul,
body[class*="inicia-sessio"] .main-navigation .main-nav ul ul{
  background:var(--tgf-surface);
}

body[class*="iniciar-sesion"] :is(.tgf-btn,
                                   .woocommerce .button,
                                   .pmpro_btn,
                                   .pmpro_checkout .pmpro_btn,
                                   .rcp-button,
                                   .rcp-table button,
                                   .wp-block-button__link,
                                   .gb-button,
                                   .gb-button-text,
                                   .button:not(.button-link):not(.button-secondary):not(.components-button),
                                   button:not(.dt-button):not(.components-button):not(.menu-toggle):not(.dropdown-menu-toggle),
                                   input[type="submit"],
                                   input[type="button"],
                                   input[type="reset"]),
body[class*="inicia-sessio"] :is(.tgf-btn,
                                   .woocommerce .button,
                                   .pmpro_btn,
                                   .pmpro_checkout .pmpro_btn,
                                   .rcp-button,
                                   .rcp-table button,
                                   .wp-block-button__link,
                                   .gb-button,
                                   .gb-button-text,
                                   .button:not(.button-secondary):not(.button-link):not(.components-button),
                                   button:not(.dt-button):not(.components-button):not(.menu-toggle):not(.dropdown-menu-toggle),
                                   input[type="submit"],
                                   input[type="button"],
                                   input[type="reset"]){
  border-width:1.5px!important;
}

body[class*="iniciar-sesion"] :is(.tgf-btn,
                                   .woocommerce .button,
                                   .pmpro_btn,
                                   .pmpro_checkout .pmpro_btn,
                                   .rcp-button,
                                   .rcp-table button,
                                   .wp-block-button__link,
                                   .gb-button,
                                   .gb-button-text,
                                   .button:not(.button-link):not(.button-secondary):not(.components-button),
                                   button:not(.dt-button):not(.components-button):not(.menu-toggle):not(.dropdown-menu-toggle),
                                   input[type="submit"],
                                   input[type="button"],
                                   input[type="reset"]):hover,
body[class*="inicia-sessio"] :is(.tgf-btn,
                                   .woocommerce .button,
                                   .pmpro_btn,
                                   .pmpro_checkout .pmpro_btn,
                                   .rcp-button,
                                   .rcp-table button,
                                   .wp-block-button__link,
                                   .gb-button,
                                   .gb-button-text,
                                   .button:not(.button-secondary):not(.button-link):not(.components-button),
                                   button:not(.dt-button):not(.components-button):not(.menu-toggle):not(.dropdown-menu-toggle),
                                   input[type="submit"],
                                   input[type="button"],
                                   input[type="reset"]):hover{
  background:rgba(232,94,39,.12)!important;
  transform:translateY(0);
  box-shadow:0 12px 24px rgba(232,94,39,.16);
}

/* 2) Campo subir logo sin corte (móvil Safari) */
.tgf-file-wrap{overflow:visible}
input[type="file"]{
  max-width:100%;
  white-space:nowrap;
}
.tgf-profile-logo img{max-width:120px; height:auto; border-radius:6px}

/* Formularios */
.tgf-card form{display:grid; gap:1.5rem;}
.tgf-card fieldset{border:0; margin:0; padding:0;}
.tgf-form-grid{display:grid; gap:1rem;}
@media(min-width:720px){
  .tgf-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tgf-form-grid .wide-row{grid-column:1 / -1;}
}
.tgf-form-grid p{margin:0; display:flex; flex-direction:column; gap:.4rem;}
.tgf-form-grid .half-row{grid-column:auto;}
.tgf-form-grid textarea{min-height:140px;}

/* 3) Títulos coherentes */
.tgf-page-title{
  margin:0 0 12px 0;
  padding:0;
  line-height:1.15;
  font-weight:800;
  font-size:clamp(26px,3.5vw,40px);
  color:var(--tgf-primary);
}
.tgf-page-subtitle{margin:0 0 18px 0; color:var(--tgf-muted); font-size:1.05rem;}
.tgf-section-title{margin:18px 0 12px; font-weight:700; color:var(--tgf-text); font-size:1.1rem;}

/* 4) Tabla Mis platos */
.tgf-table{width:100%; min-width:100%; border-collapse:separate; border-spacing:0 6px}
.tgf-table thead th:first-child{border-top-left-radius:var(--tgf-radius); border-bottom-left-radius:var(--tgf-radius);}
.tgf-table thead th:last-child{border-top-right-radius:var(--tgf-radius); border-bottom-right-radius:var(--tgf-radius);}
.tgf-table th{
  position:sticky; top:0; z-index:1;
  background:var(--tgf-bg); text-align:left; padding:.65rem .75rem; font-weight:700;
}
.tgf-table td{background:#fff; padding:.75rem .85rem; vertical-align:middle;}
.tgf-table tbody tr td:first-child{border-top-left-radius:var(--tgf-radius); border-bottom-left-radius:var(--tgf-radius);}
.tgf-table tbody tr td:last-child{border-top-right-radius:var(--tgf-radius); border-bottom-right-radius:var(--tgf-radius);}
.tgf-table .tgf-col-name{max-width:420px}
.tgf-ellipsis{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block;}
.tgf-badge{display:inline-block; padding:.25rem .55rem; border-radius:999px; background:var(--tgf-primary); color:#fff; font-size:.75rem; font-weight:600; margin:0 .35rem .35rem 0;}
.tf-badge{display:inline-block; padding:.15rem .35rem; border-radius:.25rem; font-size:.75rem; font-weight:600; line-height:1; margin:0 .35rem .35rem 0;}
.tf-badge-festivo{background:#fee2e2; color:#991b1b;}
.tf-badge-especial{background:#e0e7ff; color:#3730a3;}
.tf-dia-status-badge{margin-bottom:.5rem;}
.tgf-allergen-icons{display:flex; flex-wrap:wrap; gap:.35rem; align-items:center;}
.tgf-allergen-icons img{width:22px; height:22px; object-fit:contain;}
.tgf-table-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  align-items:center;
}

.td-icons .tgf-table-actions{justify-content:flex-start;}

.tgf-table-action{
  --tgf-action-size:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--tgf-action-size);
  height:var(--tgf-action-size);
  line-height:1;
  border-radius:50%;
  background:rgba(31,31,31,.08);
  color:var(--tgf-text);
  text-decoration:none;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}

.tgf-table-action--edit{color:var(--tgf-primary);}

.tgf-table-action__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
}

.tgf-table-action__icon svg{width:100%; height:100%; display:block;}

.tgf-table-action:hover,
.tgf-table-action:focus{
  transform:translateY(-1px);
  background:rgba(232,94,39,.14);
  color:var(--tgf-primary);
}

.tgf-table-action:focus{outline:2px solid currentColor; outline-offset:2px;}

.tgf-table-action--delete{color:#A30D11;}
.tgf-table-action--delete:hover,
.tgf-table-action--delete:focus{background:rgba(163,13,17,.18); color:#A30D11;}

.tgf-table-action--duplicate{color:#205F75;}
.tgf-table-action--duplicate:hover,
.tgf-table-action--duplicate:focus{background:rgba(32,95,117,.18); color:#205F75;}
.tgf-table-action--download{color:#205F75;}
.tgf-table-action--download:hover,
.tgf-table-action--download:focus{background:rgba(32,95,117,.18); color:#205F75;}
.tgf-link-action{display:inline-flex; align-items:center; gap:.35rem; color:var(--tgf-primary); font-weight:600; text-decoration:none;}
.tgf-link-action:focus-visible{outline:2px solid currentColor; outline-offset:2px;}
.tgf-link-action__icon{display:inline-flex; align-items:center; justify-content:center; width:1.15em; height:1.15em;}
.tgf-link-action__icon svg{width:100%; height:100%; display:block;}
.tgf-link-action__label{line-height:1.4;}
.tgf-link-action:hover{text-decoration:underline;}

@media (max-width:640px){
  .tgf-table--platos th:nth-child(3), .tgf-table--platos td:nth-child(3){display:none}
  .tgf-container{padding:18px;}
  .tgf-card{padding:1.25rem;}
}

/* Inputs y labels */
label{font-weight:600}
input,select,textarea{border-radius:8px; border:1px solid #D0CCC9; background:#fff; padding:.6rem .75rem; font-size:1rem; color:var(--tgf-text);}
input:focus,select:focus,textarea:focus{outline:2px solid var(--tgf-primary); outline-offset:1px;}

/* Miscelánea */
.tgf-field-hint{margin:.25rem 0 0; color:var(--tgf-muted); font-size:.9rem;}
.tgf-note{color:var(--tgf-muted); font-size:.95rem; margin:0;}

/* Alerts */
.tgf-alert{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  border-radius:16px;
  padding:1.25rem 1.5rem;
  background:rgba(232,94,39,.12);
  border:1px solid rgba(232,94,39,.25);
}

.tgf-alert--info{background:rgba(32,107,133,.12); border-color:rgba(32,107,133,.25);}
.tgf-alert--success{background:rgba(54,179,126,.12); border-color:rgba(54,179,126,.28);}
.tgf-alert__title{margin:0; font-weight:700; color:var(--tgf-primary); font-size:1.05rem;}
.tgf-alert--info .tgf-alert__title{color:#205f75;}
.tgf-alert--success .tgf-alert__title{color:#1c7a57;}
.tgf-alert__text{margin:0; color:var(--tgf-muted);}

/* Back link */
.tgf-back-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--tgf-primary);
  text-decoration:none;
  font-weight:600;
}

.tgf-back-link:hover{color:var(--tgf-primary); text-decoration:underline;}
.tgf-back-link:focus-visible{outline:2px solid currentColor; outline-offset:2px;}
.tgf-back-link svg{width:1.1em; height:1.1em;}

/* ACF forms */
.tgf-card .acf-form{margin:0;}
.tgf-card .acf-form .acf-fields{
  display:grid;
  gap:1.2rem;
  padding:0;
  border:0;
}

.tgf-card .tf-form .acf-fields{
  grid-template-columns:1fr;
}

.tgf-card .acf-field{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}

.tgf-card .acf-field:before,
.tgf-card .acf-field:after{display:none!important;}

.tgf-card .acf-field .acf-label label{font-weight:600; color:var(--tgf-text);}
.acf-field[data-name="numero_de_semanas"] .acf-label label,
.tgf-card .acf-field[data-name="numero_de_semanas"] .acf-label label{white-space:nowrap;}
.tgf-card .acf-field .acf-label p.description{margin:.35rem 0 0; color:var(--tgf-muted);}

.tgf-card .acf-input input[type="text"],
.tgf-card .acf-input input[type="email"],
.tgf-card .acf-input input[type="url"],
.tgf-card .acf-input input[type="number"],
.tgf-card .acf-input input[type="password"],
.tgf-card .acf-input textarea,
.tgf-card .acf-input select{width:100%;}

.tgf-card .acf-form .acf-form-submit{display:flex; justify-content:flex-end; padding-top:1.25rem; margin:0; border:0;}
.tgf-card .acf-form .acf-submit-button{min-width:180px;}

@media(min-width:720px){
  .tgf-card .acf-form .acf-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tgf-card .acf-field[data-width="100"],
  .tgf-card .acf-field[data-width="0"],
  .tgf-card .acf-field.-full{grid-column:1 / -1;}
  .tgf-card .acf-field[data-width="33"]{grid-column:auto;}
  .tgf-card .tf-form .acf-fields{grid-template-columns:1fr;}
}

.tgf-card .tf-form .acf-field[data-name="tf_listados_idiomas"] .acf-input{width:100%;}
.tgf-card .tf-form .acf-field[data-name="tf_listados_idiomas"] .acf-checkbox-list{display:flex;flex-direction:column;gap:.5rem;}

.tgf-card .acf-notice{border-radius:12px; padding:1rem 1.25rem; background:rgba(32,107,133,.12); border:1px solid rgba(32,107,133,.2);}
.tgf-card .acf-error-message{margin-top:.35rem; border-radius:10px; padding:.65rem .75rem; background:rgba(163,13,17,.14); color:#A30D11;}
.tgf-card .acf-error-message p{margin:0;}

/* Listados */
.tgf-listados-table{width:100%; min-width:100%; border-collapse:separate; border-spacing:0 8px;}
.tgf-listados-table thead th{background:var(--tgf-bg); padding:.75rem .85rem; text-align:left; font-weight:700; color:var(--tgf-muted);}
.tgf-listados-table tbody td{background:#fff; padding:.85rem .9rem;}
.tgf-listados-table tbody tr td:first-child{border-top-left-radius:var(--tgf-radius); border-bottom-left-radius:var(--tgf-radius);}
.tgf-listados-table tbody tr td:last-child{border-top-right-radius:var(--tgf-radius); border-bottom-right-radius:var(--tgf-radius);}
.tgf-listados-table tbody tr{box-shadow:var(--tgf-shadow);}
.tgf-listados-table .tgf-listado-actions{display:flex; gap:.5rem; align-items:center; justify-content:flex-end;}
.tgf-listados-table .tgf-listado-actions .tgf-table-action{--tgf-action-size:40px;}
.tgf-listados-table .tgf-listado-checkbox{text-align:center;}

.tgf-listado-meta{display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin:0 0 1.25rem; color:var(--tgf-muted); font-size:.95rem;}
.tgf-listado-meta__item{display:inline-flex; align-items:center; gap:.35rem;}
.tgf-listado-meta__item svg{width:1.1em; height:1.1em;}

.tgf-listado-preview{margin-top:1.5rem;}
.tgf-listado-preview #ver-listado{margin:0;}

.tgf-listado-placeholder{display:flex; align-items:flex-start; gap:1.5rem; color:var(--tgf-muted); padding:clamp(12px, 1.6vw, 18px) 0;}
.tgf-listado-placeholder__icon{width:64px; height:64px; border-radius:20px; display:flex; align-items:center; justify-content:center; background:rgba(232,94,39,.12); color:var(--tgf-primary,#E85E27); flex-shrink:0; box-shadow:0 14px 28px rgba(232,94,39,.15);}
.tgf-listado-placeholder__icon svg{width:32px; height:32px;}
.tgf-listado-placeholder__content{display:flex; flex-direction:column; gap:.75rem;}
.tgf-listado-placeholder__title{margin:0; font-size:1.35rem; color:var(--tgf-text); letter-spacing:-.01em;}
.tgf-listado-placeholder__description{margin:0; line-height:1.6;}
.tgf-listado-placeholder__steps{margin:0; padding-left:1.2rem; display:flex; flex-direction:column; gap:.35rem; font-size:.95rem; color:var(--tgf-text);}
.tgf-listado-placeholder__steps li{list-style:disc;}
.tgf-listado-placeholder__steps li::marker{color:var(--tgf-primary,#E85E27);}

.tgf-card--preview{
  padding:clamp(24px, 3vw, 36px);
  background:linear-gradient(145deg,#f6f1eb 0%,#efe7df 45%,#f9f5f0 100%);
  border-radius:calc(var(--tgf-radius) * 1.8);
  box-shadow:0 22px 44px rgba(0,0,0,.12);
  border:1px solid rgba(124,99,82,.12);
  position:relative;
  overflow:hidden;
}
.tgf-card--preview::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at top right, rgba(232,94,39,.18) 0%, rgba(232,94,39,0) 60%);
  opacity:.9;
}
.tgf-card--preview > *{position:relative; z-index:1;}
.tgf-card--preview > * + *{margin-top:clamp(18px, 2.6vw, 32px);}
.tgf-card--preview:empty{display:none;}

.tgf-card--preview .ocultar-listado-button{display:flex; justify-content:flex-end; align-items:center; margin:0;}
.tgf-card--preview .ocultar-listado{
  background:var(--tgf-primary,#E85E27);
  color:#fff!important;
  border:0;
  border-radius:999px;
  padding:0.6rem 1.65rem;
  font-weight:600;
  font-size:0.95rem;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(232,94,39,.25);
  transition:transform .2s ease, box-shadow .2s ease;
  text-transform:none;
  letter-spacing:.02em;
}
.tgf-card--preview .ocultar-listado:hover{transform:translateY(-2px); box-shadow:0 18px 36px rgba(232,94,39,.3);}
.tgf-card--preview .ocultar-listado:focus{outline:2px solid currentColor; outline-offset:2px;}

.tgf-card--preview .ver-platos{display:flex; flex-direction:column; gap:clamp(20px, 2.4vw, 32px);}
.tgf-card--preview .ver-platos section{
  background:var(--tgf-surface,#fff);
  border-radius:calc(var(--tgf-radius) * 1.6);
  box-shadow:0 20px 40px rgba(0,0,0,.14);
  border:1px solid rgba(124,99,82,.14);
  padding:clamp(20px, 2.6vw, 32px);
  display:flex;
  flex-direction:column;
  gap:clamp(14px, 1.8vw, 22px);
  margin:0!important;
  overflow-x:auto;
  page-break-after:auto!important;
}
.tgf-card--preview .ver-platos h2{
  margin:0;
  font-size:clamp(20px, 2.5vw, 28px);
  font-weight:700;
  color:var(--tgf-primary,#E85E27);
  letter-spacing:.015em;
}
.tgf-card--preview .ver-platos table{
  width:100%;
  min-width:720px;
  border-collapse:separate;
  border-spacing:0;
  background:transparent;
}
.tgf-card--preview .ver-platos thead th{
  background:#f1ebe4;
  color:#5c4d43;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.78rem;
  padding:0.85rem 1.05rem;
  border-bottom:2px solid rgba(124,99,82,.18);
}
.tgf-card--preview .ver-platos tbody tr td{
  background:rgba(255,255,255,.92);
  padding:0.85rem 1.05rem;
  border-bottom:1px solid rgba(31,31,31,.06);
  vertical-align:top;
  color:var(--tgf-text,#1F1F1F);
  line-height:1.45;
}
.tgf-card--preview .ver-platos tbody tr:last-of-type td{border-bottom:0;}
.tgf-card--preview .ver-platos tbody tr:nth-of-type(even) td{background:rgba(245,242,237,.96);}
.tgf-card--preview .ver-platos td:first-child{font-weight:600; color:#4a3d34; white-space:nowrap;}
.tgf-card--preview .ver-platos td.rowspan{
  background:linear-gradient(180deg,#f7f2ec 0%,#ece2d7 100%);
  color:#5c4d43;
  font-weight:700;
  text-align:center;
  border-right:1px solid rgba(124,99,82,.18);
  min-width:72px;
}
.tgf-card--preview .ver-platos td.rowspan.ingesta{color:var(--tgf-primary,#E85E27); font-size:.92rem; letter-spacing:.05em;}
.tgf-card--preview .ver-platos hr.implode-plato{border:0; border-top:1px dashed rgba(124,99,82,.28); margin:0.55rem 0;}
.tgf-card--preview .ver-platos table tr.row--especial td{background:rgba(122,14,40,.08); color:#5b1025; border-bottom-color:rgba(122,14,40,.22);}
.tgf-card--preview .ver-platos table tr.row--festivo td{background:rgba(232,94,39,.12); color:#74351a; border-bottom-color:rgba(232,94,39,.28);}
.tgf-card--preview #platos-alergenos{overflow-x:auto;}
.tgf-card--preview table.alergenos{min-width:880px; border-collapse:separate; border-spacing:0;}
.tgf-card--preview table.alergenos th,
.tgf-card--preview table.alergenos td{padding:0.75rem;}
.tgf-card--preview table.alergenos td.nombre-alergeno{font-weight:600; color:#4a3d34;}

.tgf-card--preview .tf-plato-especial__label{display:inline-block; margin-right:.35rem;}
.tgf-card--preview .tf-plato-especial__value{display:inline-flex; align-items:center; gap:.35rem;}

.tgf-card--preview .ver-platos .ocultar-listado-button{margin-top:clamp(12px, 1.5vw, 18px);}

@media (max-width:1024px){
  .tgf-card--preview{
    padding:22px;
    border-radius:calc(var(--tgf-radius) * 1.4);
  }
  .tgf-card--preview .ver-platos section{
    padding:18px;
    border-radius:calc(var(--tgf-radius) * 1.4);
  }
  .tgf-card--preview .ver-platos table{min-width:640px;}
  .tgf-card--preview .ver-platos tbody tr td,
  .tgf-card--preview .ver-platos thead th{padding:0.7rem .85rem;}
  .tgf-card--preview .ocultar-listado{padding:0.55rem 1.35rem;}
}

@media (max-width:640px){
  .tgf-card--preview{
    padding:18px;
  }
  .tgf-card--preview .ver-platos{
    gap:20px;
  }
  .tgf-card--preview .ver-platos section{
    padding:16px;
  }
  .tgf-card--preview .ver-platos table{min-width:560px;}
  .tgf-card--preview .ver-platos thead th{font-size:.72rem;}
}

.tgf-card--listados{
  display:flex;
  flex-direction:column;
  gap:clamp(24px, 3vw, 40px);
}

.tgf-listados-layout{
  display:grid;
  gap:clamp(24px, 3vw, 40px);
}

.tgf-listados-layout__table,
.tgf-listados-layout__preview{
  min-width:0;
}

@media (min-width:1024px){
  .tgf-listados-layout{
    grid-template-columns:minmax(0, 1.45fr) minmax(0, 1fr);
    align-items:start;
  }
}

@media (min-width:1280px){
  .tgf-listados-layout__preview{
    position:sticky;
    top:clamp(88px, 12vh, 128px);
  }
}

.tangram-section--listados #loading-container{
  display:none;
  align-items:center;
  gap:.75rem;
  margin-top:clamp(18px, 2.4vw, 28px);
  padding:clamp(14px, 2vw, 20px) clamp(18px, 2.6vw, 28px);
  border-radius:18px;
  border:1px solid rgba(232,94,39,.28);
  background:rgba(232,94,39,.08);
  color:var(--tgf-primary,#E85E27);
  font-weight:600;
  font-size:.95rem;
  box-shadow:0 18px 38px rgba(232,94,39,.18);
}

.tangram-section--listados #loading-container::before{
  content:"";
  width:18px;
  height:18px;
  border-radius:50%;
  border:3px solid rgba(232,94,39,.28);
  border-top-color:var(--tgf-primary,#E85E27);
  animation:tgf-spinner .9s linear infinite;
}

.tangram-section--listados #loading-container.is-visible{
  display:flex;
}

@keyframes tgf-spinner{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}

/* === Tablas TangramFood: evitar cortes === */
.tf-table-wrap{width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
.tf-table{width:100%; min-width:100%; border-collapse:separate; table-layout:auto;}
.tf-table th,
.tf-table td{padding:.85rem .9rem; vertical-align:top; white-space:normal; word-break:normal; overflow-wrap:anywhere;}
.tf-table input[type="text"],
.tf-table input[type="date"],
.tf-table input[type="search"],
.tf-table input[type="email"],
.tf-table input[type="number"],
.tf-table select,
.tf-table .acf-input input,
.tf-table .acf-input select{width:100%; min-width:0; box-sizing:border-box;}
.tf-table-wrap--dietas{margin-top:1.25rem; padding:1.25rem; border-radius:16px; border:1px solid rgba(124,99,82,.18); background:var(--tgf-surface,#fff); box-shadow:0 12px 28px rgba(0,0,0,.08);} 
.tf-table-wrap--dietas .acf-actions{margin:1rem 0 0; padding:0; display:flex; justify-content:flex-end;}
.tf-table-wrap--dietas .acf-actions .acf-button{border-radius:999px; font-weight:600; padding:.6rem 1.4rem; box-shadow:none;}
.tf-table-wrap--dietas .acf-actions .acf-button.button-primary{background:var(--tgf-primary,#E85E27); border-color:var(--tgf-primary,#E85E27); color:#fff;}
.tf-table-wrap--dietas .acf-actions .acf-button.button-primary:hover{background:#cf4f1f; border-color:#cf4f1f;}
.tf-table--dietas{border-collapse:separate; border-spacing:0; min-width:580px;}
.tf-table--dietas thead th{position:static; box-shadow:none; background:transparent; font-size:.85rem; font-weight:600; text-transform:uppercase; letter-spacing:.02em; color:var(--tgf-muted,#6A6360); padding-bottom:.65rem; border-bottom:1px solid rgba(124,99,82,.22);} 
.tf-table--dietas tbody tr:nth-child(even){background:rgba(247,242,236,.6);} 
.tf-table--dietas tbody tr:nth-child(odd){background:rgba(255,255,255,.9);} 
.tf-table--dietas tbody td{border-bottom:1px solid rgba(124,99,82,.16); font-size:.95rem; color:var(--tgf-text,#1F1F1F);} 
.tf-table--dietas tbody tr:last-child td{border-bottom:0;} 
.tf-table--dietas th.acf-row-handle,
.tf-table--dietas td.acf-row-handle{width:48px; min-width:48px; text-align:center; padding-inline:.5rem;} 
.tf-table--dietas td.acf-row-handle.order{vertical-align:middle;} 
.tf-table--dietas td.acf-row-handle.remove{vertical-align:middle;} 
.tf-table--dietas .acf-row-handle .acf-icon{width:32px; height:32px; line-height:32px; border-radius:50%; background:rgba(232,94,39,.12); color:var(--tgf-primary,#E85E27); margin:0 auto; font-size:16px;} 
.tf-table--dietas .acf-row-handle .acf-icon:hover{background:rgba(232,94,39,.2); color:var(--tgf-primary,#E85E27);} 
.tf-table--dietas td[data-name="nombre_dieta"]{min-width:260px;} 
.tf-table--dietas td[data-name="slug_dieta"]{min-width:220px;} 
.tf-table--dietas td[data-name="slug_dieta"] input[readonly]{background:rgba(31,31,31,.04); border-color:rgba(124,99,82,.28); color:var(--tgf-muted,#6A6360);} 
.tf-table--dietas td[data-name="slug_dieta"] input[readonly]:focus{outline:0; box-shadow:none; border-color:rgba(232,94,39,.55);} 
.tf-table--dietas td.acf-row-handle .acf-icon.-minus{background:rgba(163,13,17,.12); color:#A30D11;} 
.tf-table--dietas td.acf-row-handle .acf-icon.-minus:hover{background:rgba(163,13,17,.2); color:#A30D11;} 
.tf-dietas-custom-field .tf-dietas-custom__meta{margin-top:0;}

.tf-centro-language-actions{margin:1rem 0 2rem;padding:1rem 1.25rem;border:1px solid rgba(124,99,82,.18);border-radius:14px;background:rgba(255,255,255,.88);display:flex;flex-direction:column;gap:.65rem;box-shadow:0 12px 24px rgba(0,0,0,.06);}
.tf-centro-language-actions__title{margin:0;font-size:1rem;font-weight:600;color:var(--tgf-text,#1F1F1F);}
.tf-centro-language-actions__description{margin:0;color:var(--tgf-muted,#6A6360);font-size:.9rem;}
.tf-centro-language-actions__buttons{display:flex;flex-wrap:wrap;gap:.5rem;}
.tf-centro-language-actions__buttons form{margin:0;}
.tf-centro-language-actions__buttons button{min-width:0;}

.select-plato[data-selected-fallback="1"]{color:var(--tgf-primary,#E85E27);font-weight:600;}
.select-plato option[data-fallback="1"]{color:var(--tgf-primary,#E85E27);font-weight:600;}
.tf-table--listados th:nth-child(1),
.tf-table--listados td:nth-child(1){min-width:120px;}
.tf-table--listados th:nth-child(2),
.tf-table--listados td:nth-child(2){min-width:360px;}
.tf-table--listados th:nth-child(3),
.tf-table--listados td:nth-child(3){min-width:120px;}
.tf-table--listados th:nth-child(4),
.tf-table--listados td:nth-child(4),
.tf-table--listados th:nth-child(5),
.tf-table--listados td:nth-child(5){min-width:180px;}
.tf-table--listados th:nth-child(6),
.tf-table--listados td:nth-child(6){min-width:140px; white-space:nowrap;}
.tf-table--listados tbody td{vertical-align:top;}
.tf-actions{display:flex; align-items:center; gap:.5rem; justify-content:flex-end; flex-wrap:nowrap; flex-shrink:0;}
.tf-actions .tgf-table-action{display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px;}
.tf-table thead th{position:sticky; top:0; background:var(--tgf-bg,#fff); z-index:2; box-shadow:0 1px 0 rgba(0,0,0,.06);}
@media (max-width:1199px){
  .tf-table--listados th:nth-child(2),
  .tf-table--listados td:nth-child(2){min-width:300px;}
  .tf-table--listados th:nth-child(6),
  .tf-table--listados td:nth-child(6){min-width:128px;}
}
.tangram-section--listados{
  max-width:1400px;
  margin-inline:auto;
  padding:clamp(28px, 4vw, 48px);
}

body.page-template-imprimir-listados{
  background:linear-gradient(180deg, #f7f2ec 0%, #efe7df 100%);
}

body.page-template-imprimir-listados .site-content,
body.page-template-imprimir-listados .inside-article{
  background:transparent;
}

body.page-template-imprimir-listados .site-main{
  padding-block:clamp(24px, 5vw, 64px);
}

.tangram-section--listados .tgf-card{
  background:transparent;
  box-shadow:none;
  padding:clamp(28px, 4vw, 44px);
}

.tangram-section--listados .tf-table-wrap{
  background:var(--tgf-surface);
  border-radius:calc(var(--tgf-radius) * 1.6);
  box-shadow:0 22px 44px rgba(0,0,0,.12);
  border:1px solid rgba(124,99,82,.12);
  padding:clamp(20px, 2.6vw, 32px);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.tangram-section--listados .tf-table-wrap::-webkit-scrollbar{
  height:10px;
}

.tangram-section--listados .tf-table-wrap::-webkit-scrollbar-thumb{
  background:rgba(124,99,82,.35);
  border-radius:999px;
}

.tangram-section--listados .tf-table-wrap::-webkit-scrollbar-track{
  background:rgba(124,99,82,.12);
  border-radius:999px;
}

.tangram-section--listados .tgf-listados-table thead th{
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.85rem;
  color:var(--tgf-muted);
}

.tangram-section--listados .tgf-listados-table tbody tr{
  transition:transform .18s ease, box-shadow .18s ease;
}

.tangram-section--listados .tgf-listados-table tbody tr:hover{
  transform:translateY(-3px);
  box-shadow:0 26px 48px rgba(0,0,0,.16);
}

.tangram-section--listados .tgf-listados-table tbody tr:hover td{
  background:rgba(255,255,255,.96);
}

.tangram-section--listados .tgf-listado-preview{
  margin-top:clamp(28px, 4vw, 52px);
  position:static;
  width:100%;
  display:block;
}

.tangram-section--listados .tgf-card--preview{
  width:100%;
  min-height:100%;
}

.tangram-section--listados .tf-table th,
.tangram-section--listados .tf-table td{
  font-size:.95rem;
}

.tangram-section--listados .tf-table select,
.tangram-section--listados .tf-table input[type="text"],
.tangram-section--listados .tf-table input[type="search"],
.tangram-section--listados .tf-table input[type="email"],
.tangram-section--listados .tf-table input[type="number"],
.tangram-section--listados .tf-table input[type="date"],
.tangram-section--listados .tf-table input[type="time"],
.tangram-section--listados .tf-table input[type="tel"],
.tangram-section--listados .tf-table .acf-input input,
.tangram-section--listados .tf-table .acf-input select{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border-radius:14px;
  border:1px solid rgba(124,99,82,.18);
  background:rgba(255,255,255,.96);
  padding:0.6rem 0.95rem;
  font-size:.95rem;
  line-height:1.4;
  color:var(--tgf-text);
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  box-shadow:inset 0 1px 2px rgba(17,17,17,.08);
}

.tangram-section--listados .tf-table select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:2.75rem;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237C6352' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 0.95rem center;
  background-size:12px 8px;
}

.tangram-section--listados .tf-table select:focus{
  background-color:#fff;
}

.tangram-section--listados .tf-table select[multiple]{
  background-image:none;
  padding-right:0.95rem;
}

.tangram-section--listados .tf-table input:focus,
.tangram-section--listados .tf-table select:focus,
.tangram-section--listados .tf-table .acf-input input:focus,
.tangram-section--listados .tf-table .acf-input select:focus{
  border-color:rgba(232,94,39,.55);
  box-shadow:0 0 0 4px rgba(232,94,39,.16);
  outline:0;
}

.tangram-section--listados .tf-table input.listados-date--disabled{
  background:rgba(243,238,232,.85);
  color:var(--tgf-muted);
  cursor:not-allowed;
}

.tangram-section--listados .tf-table select:disabled,
.tangram-section--listados .tf-table input:disabled{
  opacity:.65;
  cursor:not-allowed;
}

.tangram-section--listados .tgf-table-action{
  --tgf-action-size:40px;
}

.tangram-section--listados .tgf-table-action__icon{
  width:20px;
  height:20px;
}

.tangram-section--listados .tf-actions{
  gap:.65rem;
}

.tangram-section--listados .tgf-listado-meta{
  margin-top:clamp(20px, 2.5vw, 28px);
}

@media (max-width:1199px){
  .tangram-section--listados .tgf-listado-preview{
    margin-top:clamp(24px, 5vw, 40px);
  }
}

@media (max-width:820px){
  body.page-template-imprimir-listados .site-main{
    padding-block:clamp(20px, 6vw, 44px);
  }

  .tangram-section--listados{
    padding:clamp(22px, 6vw, 36px);
  }

  .tangram-section--listados .tf-table-wrap{
    padding:20px;
  }
}

@media (max-width:640px){
  .tangram-section--listados .tgf-card{
    padding:22px;
  }

  .tangram-section--listados .tf-table-wrap{
    padding:18px;
  }

  .tangram-section--listados .tgf-listados-table thead th{
    font-size:.78rem;
    letter-spacing:.04em;
  }

  .tgf-listado-placeholder{
    flex-direction:column;
    gap:1.2rem;
  }

  .tgf-listado-placeholder__icon{
    width:56px;
    height:56px;
  }

  .tgf-listado-placeholder__icon svg{
    width:28px;
    height:28px;
  }

  .tgf-listado-placeholder__steps{
    padding-left:1rem;
  }
}

/* ------------------------------ */
/* Nuevo día – constructor de menú */
.tf-dia-menu-builder{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.tf-dia-menu-builder__title{
  margin:0;
}

.tf-dia-menu-builder__controls{
  display:grid;
  grid-template-columns:repeat(5,minmax(180px,1fr));
  gap:16px;
  align-items:end;
}

.tf-dia-menu-builder__controls label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:600;
  color:var(--tgf-text);
}

.tf-dia-menu-builder__controls select{
  width:100%;
  min-height:44px;
  border-radius:8px;
  border:1px solid rgba(31,31,31,.18);
  padding:8px 12px;
  font-size:15px;
  background-color:#fff;
}
.tf-dia-menu-builder__controls .tf-dia-menu-builder__value{
  display:flex;
  align-items:center;
  min-height:44px;
  border-radius:8px;
  border:1px solid rgba(31,31,31,.18);
  padding:8px 12px;
  font-size:15px;
  background-color:rgba(31,31,31,.04);
  color:var(--tgf-text);
}
.tf-dia-menu-builder__value--empty{
  color:var(--tgf-muted);
}

.tf-dia-menu-builder__plato-control{
  display:flex;
  gap:12px;
  align-items:center;
}

.tf-dia-menu-builder__plato-control .button{
  white-space:nowrap;
}

.tf-dia-menu-builder__table-wrapper{
  position:relative;
  overflow-x:auto;
  border:1px solid rgba(31,31,31,.12);
  border-radius:12px;
  background-color:#fff;
}

.tf-dia-menu-builder__table{
  width:100%;
  min-width:760px;
  border-collapse:separate;
  border-spacing:0;
}

.tf-dia-menu-builder__table thead th{
  position:sticky;
  top:0;
  background-color:#f7f5f3;
  text-align:left;
  font-weight:600;
  padding:12px 16px;
  border-bottom:1px solid rgba(31,31,31,.12);
}

.tf-dia-menu-builder__table tbody td{
  padding:12px 16px;
  border-bottom:1px solid rgba(31,31,31,.08);
  vertical-align:top;
}

.tf-dia-menu-builder__table tbody tr:last-child td{
  border-bottom:none;
}

.tf-dia-menu-builder__table tbody tr:nth-child(odd){
  background-color:rgba(31,31,31,.02);
}

.tf-dia-menu-builder__empty{
  margin:16px 0 0;
}

.tf-dia-menu-builder [data-role="add"]{
  align-self:stretch;
  min-height:44px;
}

@media (max-width:1280px){
  .tf-dia-menu-builder__controls{
    grid-template-columns:repeat(3,minmax(180px,1fr));
  }
}

@media (max-width:960px){
  .tf-dia-menu-builder__controls{
    grid-template-columns:repeat(2,minmax(160px,1fr));
  }
}

@media (max-width:720px){
  .tf-dia-menu-builder{
    gap:20px;
  }

  .tf-dia-menu-builder__controls{
    grid-template-columns:1fr;
  }

  .tf-dia-menu-builder__plato-control{
    flex-direction:column;
    align-items:stretch;
  }

  .tf-dia-menu-builder__plato-control .button{
    width:100%;
  }

  .tf-dia-menu-builder [data-role="add"]{
    width:100%;
    justify-content:center;
  }
}

@media (max-width:540px){
  .tf-dia-menu-builder__table{
    min-width:640px;
  }
}


