/* Módulo A · Internado y comedor (Área asistencial). Prefijo de clases: int-
   Mobile-first (360 px); tokens de :root en css/base.css. */

/* ---------- Teléfono con botón de llamada ---------- */
.int-tel { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.int-tel-llamar { display: inline-flex; align-items: center; gap: 4px; font-weight: 650; text-decoration: none; }
.int-tel-llamar:hover { text-decoration: underline; }

/* ---------- Mapa del conjunto (ilustración: cada ventana es un cuarto) ---------- */
.int-mapa-rejilla { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1180px) { .int-mapa-rejilla { grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); } }

.int-conjunto {
  display: flex; flex-direction: column; min-width: 0;
  background: #EEF2EA; border: 1px solid var(--linea); border-radius: var(--radio-g); overflow: hidden;
}
.int-conjunto[data-modo='presencia'] { background: #0E2A3A; border-color: #0E2A3A; }
.int-conjunto-cabeza { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 14px; padding: 14px 16px 4px; }
.int-conjunto-sub { margin-top: 2px; color: var(--tinta-3); max-width: 46ch; }
.int-conjunto[data-modo='presencia'] .int-conjunto-titulo { color: #fff; }
.int-conjunto[data-modo='presencia'] .int-conjunto-sub { color: var(--plata); }
.int-conjunto-lienzo { padding: 0 4px; }
.int-conjunto-svg { display: block; width: 100%; max-width: 640px; height: auto; margin: 0 auto; }
.int-conjunto-svg text, .int-fachada-svg text, .int-cuarto-svg text { font-family: var(--sans); }

.int-seccion { font-size: 13px; font-weight: 700; fill: var(--tinta-2); letter-spacing: .02em; }
.int-zona { font-size: 10.5px; font-weight: 600; fill: var(--tinta-3); }
.int-zona-fuerte { font-size: 11.5px; font-weight: 750; fill: var(--azul-900); }
.int-ed-letra { font-size: 15px; font-weight: 800; fill: var(--azul-900); }
.int-ed-letra-g { font-size: 22px; }
.int-ed-nombre { font-size: 12.5px; font-weight: 700; fill: var(--tinta); }
.int-ed-cifra { font-size: 12px; font-weight: 650; fill: var(--tinta-2); font-variant-numeric: tabular-nums; }
.int-ed-pista { fill: #D5DEE6; }
.int-ed-barra { fill: var(--azul-700); }
.int-tinaco { fill: #26343C; }
.int-arbol { fill: #9DBB8C; }
.int-arbol-luz { fill: #B7CFA8; }
.int-conjunto[data-modo='presencia'] .int-seccion { fill: var(--plata); }
.int-conjunto[data-modo='presencia'] .int-zona { fill: #A9BCCA; }
.int-conjunto[data-modo='presencia'] .int-zona-fuerte { fill: #FFFFFF; }
.int-conjunto[data-modo='presencia'] .int-ed-letra { fill: #F3E3B0; }
.int-conjunto[data-modo='presencia'] .int-ed-nombre { fill: #FFFFFF; }
.int-conjunto[data-modo='presencia'] .int-ed-cifra { fill: var(--plata); }
.int-conjunto[data-modo='presencia'] .int-ed-pista { fill: #1D3A4A; }
.int-conjunto[data-modo='presencia'] .int-ed-barra { fill: #F6C453; }
.int-conjunto[data-modo='presencia'] .int-tinaco { fill: #0A1F2A; }
.int-conjunto[data-modo='presencia'] .int-arbol { fill: #12303D; }
.int-conjunto[data-modo='presencia'] .int-arbol-luz { fill: #183B4A; }

.int-ed, .int-comedor { cursor: pointer; outline: none; }
.int-ed-marco { fill: transparent; stroke: transparent; stroke-width: 2.5; transition: stroke .15s, fill .15s; }
.int-ed:hover .int-ed-marco, .int-ed:focus-visible .int-ed-marco,
.int-comedor:hover .int-ed-marco, .int-comedor:focus-visible .int-ed-marco { stroke: var(--oro); fill: rgba(217, 161, 43, .07); }

.int-leyenda { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 8px 16px 14px; font-size: 13px; color: var(--tinta-2); }
.int-leyenda > span { display: inline-flex; align-items: center; gap: 6px; }
.int-leyenda i { display: inline-block; flex: none; width: 12px; height: 12px; border-radius: 3px; }
.int-leyenda i.int-rayas { background: repeating-linear-gradient(45deg, #F3D27A 0 2px, #C98A0B 2px 4px); }
.int-leyenda i.int-vacio { background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--linea-fuerte); }
.int-conjunto[data-modo='presencia'] .int-leyenda { color: var(--plata); }
.int-leyenda-camas { padding: 0; }
.int-leyenda-camas i.int-cama { width: 18px; height: 10px; }

/* Lista de edificios con insignia en forma de arco */
.int-edificios { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.int-edificio {
  display: flex; align-items: center; gap: 14px; min-width: 0;
  padding: 14px; background: var(--blanco); border: 1px solid var(--linea); border-radius: 14px;
  color: inherit; text-decoration: none; transition: border-color .15s, background .15s;
}
.int-edificio:hover { border-color: var(--azul-200); background: var(--azul-50); }
.int-edificio-letra {
  flex: none; width: 46px; height: 54px; padding-bottom: 8px;
  display: flex; align-items: flex-end; justify-content: center;
  border-radius: 999px 999px 8px 8px; background: var(--azul-900); color: var(--oro);
  font-family: var(--serif); font-size: 24px; font-weight: 700;
}
.int-edificio-letra[data-tipo='varonil'] { background: var(--azul-700); color: #FFFFFF; }
.int-edificio-texto { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }

/* ---------- Edificio: fachada y plano de la planta ---------- */
.int-fachada-tarjeta { display: flex; flex-direction: column; gap: 14px; }
.int-fachada { padding: 8px 4px 2px; border-radius: 12px; background: linear-gradient(#EAF1F6, #F7F5EF); }
.int-fachada-svg { display: block; width: 100%; max-width: 620px; height: auto; margin: 0 auto; }
.int-fachada-num { font-size: 8.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
.int-fachada-planta { fill: transparent; stroke: transparent; stroke-width: 2.5; cursor: pointer; outline: none; transition: stroke .15s; }
.int-fachada-planta:hover, .int-fachada-planta:focus-visible { stroke: var(--azul-500); }
.int-fachada-planta.es-actual { stroke: var(--oro); fill: rgba(217, 161, 43, .08); }

.int-plano {
  display: grid; gap: 8px; padding: 10px;
  grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1fr);
  background: var(--plata-claro); border-radius: var(--radio-g);
}
.int-plano-escalera {
  grid-column: 1 / -1; grid-row: 1;
  display: flex; align-items: center; justify-content: center; gap: 6px; padding: 6px;
  border: 1px dashed var(--linea-fuerte); border-radius: 10px;
  font-size: 12.5px; font-weight: 600; color: var(--tinta-3); text-align: center;
}
.int-pasillo {
  grid-column: 2; grid-row: 2 / span 6;
  display: flex; align-items: center; justify-content: center;
  border-radius: 8px; background: repeating-linear-gradient(0deg, #E1E8EE 0 10px, #ECF1F5 10px 20px);
}
.int-pasillo span { writing-mode: vertical-rl; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; color: var(--tinta-3); }
.int-celda {
  grid-column: var(--m-col); grid-row: var(--m-fila);
  display: flex; flex-direction: column; gap: 7px; min-width: 0;
  padding: 10px 10px 9px; background: var(--blanco); border: 1px solid var(--linea); border-radius: 12px;
  color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s;
}
.int-celda:hover { border-color: var(--azul-500); box-shadow: 0 2px 8px rgba(11, 49, 69, .08); }
.int-celda[data-estado='mant'] { background: var(--ambar-fondo); border-color: #F0DDB1; }
.int-celda[data-estado='vacio'] { border-style: dashed; border-color: var(--linea-fuerte); }
.int-celda-num { font-size: 16px; font-weight: 750; color: var(--azul-900); font-variant-numeric: tabular-nums; }
.int-celda-info { font-size: 12.5px; color: var(--tinta-3); }
.int-camas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; max-width: 76px; }
.int-cama { display: block; height: 10px; border-radius: 3px; background: var(--azul-700); }
.int-cama[data-e='fuera'] { background: var(--oro); }
.int-cama[data-e='libre'] { background: var(--blanco); box-shadow: inset 0 0 0 1.5px var(--linea-fuerte); }
.int-cama[data-e='mant'] { background: repeating-linear-gradient(45deg, #F3D27A 0 3px, #C98A0B 3px 6px); }
@media (min-width: 900px) {
  .int-plano { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: auto 30px auto; }
  .int-plano-escalera { display: none; }
  .int-pasillo { grid-column: 1 / -1; grid-row: 2; background: repeating-linear-gradient(90deg, #E1E8EE 0 10px, #ECF1F5 10px 20px); }
  .int-pasillo span { writing-mode: horizontal-tb; }
  .int-celda { grid-column: var(--d-col); grid-row: var(--d-fila); }
}

/* ---------- Cuarto: literas y residentes ---------- */
.int-cuarto-rejilla { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 900px) { .int-cuarto-rejilla { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.int-cuarto-tarjeta .int-leyenda { padding: 12px 0 0; }
.int-cuarto-ilus { overflow: hidden; border: 1px solid var(--linea); border-radius: 12px; }
.int-cuarto-svg { display: block; width: 100%; height: auto; }
.int-cuarto-txt { font-size: 10.5px; font-weight: 650; fill: var(--tinta); }
.int-cuarto-txt.es-mia { font-weight: 800; fill: #5A3D05; }
.int-cuarto-txt-chico { font-size: 8.5px; font-weight: 600; fill: var(--tinta-3); }
.int-cama-g.es-tocable { cursor: pointer; outline: none; }
.int-cama-g.es-tocable:hover > rect:first-child,
.int-cama-g.es-tocable:focus-visible > rect:first-child { stroke-width: 2.6; filter: brightness(.96); }

/* Ubicación en piezas (edificio · planta · cuarto · cama) */
.int-ubicacion { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.int-ubicacion-pieza {
  display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px;
  border-radius: 12px 12px 6px 6px; background: var(--azul-900); color: #FFFFFF; text-align: center;
}
.int-ubicacion-pieza small { font-size: 11.5px; font-weight: 600; color: var(--plata); }
.int-ubicacion-pieza b { font-size: 19px; font-weight: 750; line-height: 1.1; font-variant-numeric: tabular-nums; }
.int-ubicacion-pieza:last-child { background: var(--oro); color: var(--azul-950); }
.int-ubicacion-pieza:last-child small { color: #5A3D05; }

/* ---------- Selección de personas y opciones ---------- */
.int-selector-res { min-height: 40px; }
.int-elegido { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--azul-50); border: 1px solid var(--azul-100); }
.int-elegido .crece { display: flex; flex-direction: column; min-width: 0; }
.int-elegido b { font-size: 15.5px; }
.int-opciones { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.int-opcion {
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0;
  padding: 10px 12px; border-radius: 12px; border: 1px solid var(--linea); background: var(--blanco);
  color: inherit; text-align: left;
}
.int-opcion:hover { border-color: var(--azul-200); background: var(--azul-50); }
.int-opcion[aria-pressed='true'] { border-color: var(--azul-700); background: var(--azul-50); box-shadow: inset 0 0 0 1px var(--azul-700); }

/* ---------- Permisos de salida ---------- */
.int-permisos { overflow: hidden; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-g); }
.int-permiso {
  display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 6px 12px; align-items: start;
  padding: 12px 14px; cursor: pointer; transition: background .12s;
}
.int-permiso + .int-permiso { border-top: 1px solid var(--linea); }
.int-permiso:hover { background: var(--azul-50); }
.int-permiso-retraso { box-shadow: inset 3px 0 0 var(--rojo); }
.int-permiso-por-autorizar { box-shadow: inset 3px 0 0 var(--ambar); }
.int-permiso-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.int-permiso-nombre { font-size: 15.5px; font-weight: 650; }
.int-permiso-detalle { font-size: 13.5px; color: var(--tinta-3); }
.int-permiso-fechas { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 13.5px; color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.int-permiso-fechas .i { color: var(--tinta-3); }
.int-permiso-fechas span + .i { margin-left: 6px; }
.int-permiso-derecha { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
@media (min-width: 760px) {
  .int-permiso { grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; }
  .int-permiso-derecha { grid-column: 3; justify-content: flex-end; max-width: 380px; }
}
.int-filtros { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .int-filtros { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); align-items: center; } }

/* Línea de tiempo (historial de cuartos y seguimiento de reportes) */
.int-linea { list-style: none; display: flex; flex-direction: column; }
.int-linea li { position: relative; display: flex; gap: 12px; padding-bottom: 14px; }
.int-linea li:not(:last-child)::before { content: ''; position: absolute; left: 5px; top: 16px; bottom: 0; width: 2px; background: var(--linea); }
.int-linea-punto { flex: none; width: 12px; height: 12px; margin-top: 4px; border-radius: 50%; background: var(--azul-700); box-shadow: 0 0 0 3px var(--azul-100); }
.int-linea-punto.es-inicial { background: var(--oro); box-shadow: 0 0 0 3px var(--oro-claro); }
.int-linea-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

/* ---------- ¿Dónde vive…? ---------- */
.int-resultados { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.int-resultado { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 14px; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-g); }
.int-resultado-nombre { font-size: 16.5px; font-weight: 700; }
.int-sugerencias { margin-top: 10px; }
.int-chip-boton { height: 34px; padding: 0 14px; border: 0; font-size: 14px; cursor: pointer; }
.int-chip-boton:hover { background: var(--azul-200); }

/* ---------- Fotos de fallas ---------- */
.int-foto-btn { align-self: flex-start; cursor: pointer; }
.int-foto-vista { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.int-foto-vista img, .int-foto { display: block; width: 320px; max-width: 100%; border-radius: 12px; border: 1px solid var(--linea); }

/* ---------- Pase de lista nocturno ---------- */
.int-plantas { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 760px) { .int-plantas { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .int-plantas { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.int-planta {
  display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 12px;
  background: var(--blanco); border: 1px solid var(--linea); border-radius: 14px; color: inherit; text-decoration: none;
}
.int-planta:hover { border-color: var(--azul-200); background: var(--azul-50); }
.int-planta[data-estado='completo'] { box-shadow: inset 0 3px 0 var(--verde); }
.int-planta[data-estado='cola'] { box-shadow: inset 0 3px 0 var(--ambar); }
.int-planta-cifras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.int-planta-cifra { display: flex; flex-direction: column; align-items: center; padding: 4px 2px; border-radius: 8px; background: var(--cal); }
.int-planta-cifra b { font-size: 17px; line-height: 1.15; }
.int-planta-cifra small { font-size: 11px; font-weight: 600; color: var(--tinta-3); }
.int-planta-cifra.es-alerta { background: var(--rojo-fondo); color: var(--rojo-texto); }

.int-pl-resumen { display: flex; flex-direction: column; gap: 12px; }
.int-pl-lista { display: flex; flex-direction: column; gap: 12px; }
.int-pl-cuarto { overflow: hidden; background: var(--blanco); border: 1px solid var(--linea); border-radius: 14px; }
.int-pl-cuarto-cabeza { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 14px; background: var(--plata-claro); font-weight: 700; }
.int-pl-fila { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 14px; border-top: 1px solid var(--linea); }
.int-pl-cuarto-cabeza + .int-pl-fila { border-top: 0; }
.int-pl-cama {
  flex: none; width: 28px; height: 28px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  background: var(--azul-100); color: var(--azul-800); font-size: 13px; font-weight: 800;
}
.int-pl-nombre { flex: 1 1 160px; min-width: 0; display: flex; flex-direction: column; }
.int-pl-nombre b { font-size: 15px; }
.int-pl-marcas { flex: none; display: flex; gap: 6px; margin-left: auto; }
.int-pl-vacio { padding: 10px 14px; }
.int-marca {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px;
  border: 1px solid var(--linea-fuerte); border-radius: 12px; background: var(--blanco);
  color: var(--tinta-2); font-size: 14.5px; font-weight: 650;
}
.int-marca:hover { border-color: var(--azul-500); }
.int-marca[data-m='P'][aria-pressed='true'] { background: var(--verde); border-color: var(--verde); color: #FFFFFF; }
.int-marca[data-m='A'][aria-pressed='true'] { background: var(--rojo); border-color: var(--rojo); color: #FFFFFF; }
.int-guardar-fijo {
  position: sticky; bottom: calc(var(--nav-alto) + var(--seg-abajo) + 10px); z-index: 6;
  padding: 10px; border-radius: 16px; background: rgba(255, 255, 255, .95); border: 1px solid var(--linea);
  box-shadow: var(--sombra-alta); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
@media (min-width: 1024px) { .int-guardar-fijo { bottom: 16px; } }

/* ---------- ¿Quién está hoy? ---------- */
.int-hoy-hero { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: center; }
@media (min-width: 720px) { .int-hoy-hero { grid-template-columns: auto minmax(0, 1fr); gap: 28px; } }
.int-hoy-cifra { display: flex; flex-direction: column; }
.int-hoy-cifra span { font-family: var(--serif); font-size: clamp(44px, 9vw, 64px); font-weight: 700; line-height: 1; color: #FFFFFF; }
.int-hoy-cifra small { margin-top: 4px; font-size: 15px; font-weight: 600; color: var(--plata); }
.int-hoy-detalle { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.int-hoy-detalle .progreso { background: rgba(255, 255, 255, .16); }
.int-hoy-nota { color: var(--plata); }

/* ---------- Mantenimiento ---------- */
.int-reportes { overflow: hidden; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-g); }
.int-reporte { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 6px 12px; padding: 12px 14px; cursor: pointer; transition: background .12s; }
.int-reporte + .int-reporte { border-top: 1px solid var(--linea); }
.int-reporte:hover { background: var(--azul-50); }
.int-reporte-icono { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--azul-100); color: var(--azul-700); }
.int-reporte-icono.es-urgente { background: var(--rojo-fondo); color: var(--rojo); }
.int-reporte-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.int-reporte-derecha { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
@media (min-width: 760px) {
  .int-reporte { grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; }
  .int-reporte-derecha { grid-column: 3; justify-content: flex-end; }
}

/* ---------- Resumen ---------- */
.int-servicios-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.int-servicios-mini > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 10px; border-radius: 12px; background: var(--cal); }
.int-servicios-mini small { font-size: 12.5px; font-weight: 600; color: var(--tinta-3); }
.int-servicios-mini b { font-size: 17px; }

/* ---------- Mi cuarto (alumno) ---------- */
.int-mi-cuarto { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
@media (min-width: 900px) { .int-mi-cuarto { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } }
.int-mi-hero {
  display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 46px 22px 22px; text-align: center;
  border-radius: 150px 150px var(--radio-g) var(--radio-g);
  background: radial-gradient(circle at 50% 0%, #1E6A8E 0%, var(--azul-900) 72%);
}
.int-mi-sobre { font-size: 14px; font-weight: 650; color: var(--oro); }
.int-mi-cuarto-num { font-family: var(--serif); font-size: clamp(38px, 9vw, 52px); font-weight: 700; line-height: 1.05; color: #FFFFFF; }
.int-mi-cama { font-size: 16px; color: var(--plata); }
.int-mi-datos { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; font-size: 14px; color: #E6EDF3; text-align: left; }
.int-mi-datos span { display: flex; align-items: center; gap: 8px; }
.int-mi-datos .i { flex: none; color: var(--oro); }

/* ---------- Comedor ---------- */
.int-comedor-rejilla { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1180px) { .int-comedor-rejilla { grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); } }
.int-comedor-hero { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr); justify-items: center; }
@media (min-width: 620px) { .int-comedor-hero { grid-template-columns: auto minmax(0, 1fr); justify-items: stretch; align-items: center; } }
.int-comedor-hero .anillo-texto b { font-size: 28px; color: #FFFFFF; }
.int-comedor-hero .anillo-texto span { color: var(--plata); }
.int-comedor-info { display: flex; flex-direction: column; gap: 14px; width: 100%; min-width: 0; }
.int-comedor-info .btn { white-space: normal; text-align: center; }
.int-comedor-servicio { display: flex; align-items: center; gap: 8px; font-family: var(--serif); font-size: 22px; font-weight: 650; color: #FFFFFF; }
.int-comedor-servicio .i { flex: none; color: var(--oro); }
.int-comedor-estado { font-size: 14.5px; color: var(--plata); }
.int-comedor-platillos { display: flex; flex-wrap: wrap; gap: 6px; }
.int-comedor-platillos span {
  padding: 3px 10px; border-radius: 999px; border: 1px solid rgba(201, 213, 226, .25);
  background: rgba(255, 255, 255, .1); color: #F1F5F8; font-size: 13.5px;
}
.int-servicios { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .int-servicios { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.int-servicio {
  display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 14px;
  background: var(--blanco); border: 1px solid var(--linea); border-radius: 14px;
  color: inherit; font: inherit; text-align: left;
}
.int-servicio:hover { border-color: var(--azul-200); }
.int-servicio[aria-pressed='true'] { border-color: var(--azul-700); box-shadow: inset 0 0 0 1px var(--azul-700); }
.int-servicio-nombre { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.int-servicio-nombre .i { color: var(--oro-texto); }
.int-servicio-cifra { font-size: 24px; font-weight: 750; color: var(--azul-900); }
.int-servicio-cifra small { font-size: 14px; font-weight: 600; color: var(--tinta-3); }

.int-menu { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .int-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.int-menu-servicio { padding: 12px 14px; border-radius: 12px; background: var(--cal); }
.int-menu-titulo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 6px; font-weight: 700; }
.int-menu-titulo .i { color: var(--oro-texto); }
.int-menu-titulo .mini { margin-left: auto; font-weight: 500; }
.int-menu-servicio ul { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.int-menu-servicio li { position: relative; padding-left: 14px; font-size: 15px; }
.int-menu-servicio li::before { content: ''; position: absolute; left: 2px; top: .62em; width: 5px; height: 5px; border-radius: 50%; background: var(--oro); }

.int-manana-cifra { font-family: var(--serif); font-size: 40px; font-weight: 700; line-height: 1.05; color: var(--azul-900); }
.int-manana-cifra small { font-family: var(--sans); font-size: 15px; font-weight: 600; color: var(--tinta-3); }
.int-manana .lista { margin: 8px 0; }
.int-manana p .i { display: inline-block; vertical-align: -3px; color: var(--oro-texto); }

@media print {
  .int-guardar-fijo { display: none !important; }
}
.int-comedor-anillo { display: flex; justify-content: center; }
