/* Ideas de Comida · diseño D, calendario en bloques.
   Fuente de los valores: diseno/project/tokens.json (sistema de diseño en Claude Design).
   Reglas: esquinas rectas, bordes de 2 px, 6 px entre bloques, títulos Archivo estirado (125 %) en MAYÚSCULAS,
   naranja solo un destello por pantalla. Celular primero; escritorio desde 900 px. */

:root {
	--lima: #D8F05A; --on-lima: #0E0E0E;
	--surface: #FFFFFF; --surface-muted: #EFEFE8;
	--ink: #0E0E0E; --ink-muted: #4A4A44; --border: #0E0E0E;
	--naranja: #FF5A1F; --on-naranja: #0E0E0E; --ahorro: #1B7F3B;
	--negro: #0E0E0E; --blanco: #FFFFFF;
	--gap: 6px; --s3: 12px; --s4: 16px; --s8: 32px;
	--b2: 2px solid var(--border);
	--nav-alto: 60px;
	--fuente: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
	color-scheme: light;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--surface: #0E0E0E; --surface-muted: #1C1C1A; --ink: #FFFFFF; --ink-muted: #B5B5AE; --border: #FFFFFF;
		--naranja: #FF6B33; --ahorro: #7EE29B; color-scheme: dark;
	}
}
:root[data-theme="dark"] {
	--surface: #0E0E0E; --surface-muted: #1C1C1A; --ink: #FFFFFF; --ink-muted: #B5B5AE; --border: #FFFFFF;
	--naranja: #FF6B33; --ahorro: #7EE29B; color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--fuente); font-size: 16px; line-height: 24px; color: var(--ink); background: var(--surface); padding-bottom: calc(var(--nav-alto) + env(safe-area-inset-bottom)); }
body.idc-lima { background: var(--lima); color: var(--on-lima); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button { font: inherit; color: inherit; cursor: pointer; border-radius: 0; }
input { font: inherit; border-radius: 0; }
:focus-visible { outline: 3px solid var(--border); outline-offset: 2px; }
.idc-lima :focus-visible { outline-color: var(--negro); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.idc-saltar { position: absolute; left: -999px; top: 8px; background: var(--negro); color: var(--lima); padding: 8px 12px; z-index: 100; }
.idc-saltar:focus { left: 8px; }
#contenido { outline: none; }

.idc-ancho { max-width: 1240px; margin: 0 auto; padding-left: var(--s4); padding-right: var(--s4); }

/* ---------- Tipografía ---------- */
.idc-display { margin: 0; font-stretch: 125%; font-weight: 900; font-size: 38px; line-height: 38px; letter-spacing: -0.02em; text-transform: uppercase; overflow-wrap: anywhere; }
.idc-titulo { margin: 0; font-stretch: 112%; font-weight: 800; font-size: 32px; line-height: 34px; letter-spacing: -0.01em; }
.idc-h2 { margin: 0; font-stretch: 125%; font-weight: 900; font-size: 24px; line-height: 28px; letter-spacing: -0.01em; text-transform: uppercase; }
.idc-label { font-weight: 700; font-size: 12px; line-height: 16px; letter-spacing: 0.12em; text-transform: uppercase; }
.idc-precio { font-stretch: 125%; font-weight: 900; font-size: 24px; line-height: 28px; font-variant-numeric: tabular-nums; }
.idc-precio small { font-size: 0.6em; }
.idc-num { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.idc-gris { color: var(--ink-muted); font-weight: 500; }
.idc-lima .idc-gris { color: #4A4A44; }
.idc-nota { font-size: 13px; line-height: 19px; color: var(--ink-muted); margin: 12px 0 0; }
.idc-lima .idc-nota { color: #4A4A44; }
.idc-vacio { border: var(--b2); background: var(--surface); color: var(--ink); padding: var(--s4); margin: 0; }
.idc-lima .idc-vacio { border-color: var(--negro); background: var(--blanco); color: var(--negro); }

/* ---------- Botones y chips ---------- */
.idc-btn, .idc-barra-total-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; background: var(--negro); color: var(--lima); text-decoration: none; border: 0; font-stretch: 112%; font-weight: 800; font-size: 14px; letter-spacing: 0.02em; }
.idc-btn-borde { min-height: 44px; padding: 0 16px; background: transparent; border: var(--b2); font-stretch: 112%; font-weight: 800; font-size: 14px; }
.idc-btn-icono { width: 44px; height: 44px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--negro); background: var(--blanco); color: var(--negro); }
.idc-blanco .idc-btn-icono { border-color: var(--border); background: var(--surface); color: var(--ink); }
.idc-btn-icono.idc-btn-lima { background: var(--lima); color: var(--negro); border-color: var(--negro); }
.idc-btn-icono[aria-pressed="true"] { background: var(--negro); color: var(--lima); }
.idc-btn-icono[aria-pressed="true"] svg { fill: currentColor; }
.idc-chips { display: flex; flex-wrap: wrap; gap: var(--gap); }
.idc-chip { height: 36px; padding: 0 12px; display: inline-flex; align-items: center; border: 2px solid var(--negro); background: var(--blanco); color: var(--negro); text-decoration: none; font-weight: 700; font-size: 12px; letter-spacing: 0.08em; }
.idc-chip-activo, .idc-chip:hover { background: var(--negro); color: var(--lima); }
.idc-etiqueta-negra { background: var(--negro); color: var(--lima); font-weight: 700; font-size: 12px; letter-spacing: 0.12em; padding: 6px 10px; }

/* ---------- Cabecera y navegación ---------- */
.idc-cabecera-in { display: flex; align-items: center; gap: var(--s3); padding-top: var(--s4); padding-bottom: var(--s3); }
.idc-marca { display: flex; align-items: center; gap: 8px; margin: 0; margin-right: auto; text-decoration: none; font-stretch: 125%; font-weight: 800; font-size: 14px; letter-spacing: 0.02em; }
.idc-simbolo { flex-shrink: 0; }
.idc-sim-b { fill: var(--sim-burbuja, #0E0E0E); }
.idc-sim-f { fill: var(--sim-tenedor, #D8F05A); }
.idc-nav-abajo .idc-sim-b, .idc-temp-negro .idc-sim-b { fill: var(--lima); }
.idc-nav-arriba, .idc-cta-arriba { display: none; }
.idc-nav-abajo { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; height: calc(var(--nav-alto) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); background: var(--negro); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); text-align: center; font-stretch: 112%; font-weight: 800; font-size: 12px; letter-spacing: 0.04em; }
.idc-nav-abajo a { color: var(--blanco); text-decoration: none; display: flex; align-items: center; justify-content: center; border-top: 4px solid transparent; }
.idc-nav-abajo a[aria-current="page"] { color: var(--lima); border-top-color: var(--lima); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .idc-nav-abajo { border-top: 2px solid #333; } :root:not([data-theme="light"]) .idc-blanco { --sim-burbuja: #D8F05A; --sim-tenedor: #0E0E0E; } }
:root[data-theme="dark"] .idc-blanco { --sim-burbuja: #D8F05A; --sim-tenedor: #0E0E0E; }
.idc-blanco.idc-s-lista .idc-cabecera { --sim-burbuja: #0E0E0E; --sim-tenedor: #D8F05A; } /* la cabecera de la lista es lima también en modo oscuro */

/* ---------- Pie ---------- */
.idc-pie { border-top: var(--b2); margin-top: var(--s8); background: var(--surface); color: var(--ink); }
.idc-lima .idc-pie { border-color: var(--negro); background: var(--lima); color: var(--negro); }
.idc-pie-in { padding-top: 24px; padding-bottom: 24px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 20px; }
.idc-pie-in p { margin: 0; }
.idc-pie nav { display: flex; flex-wrap: wrap; gap: 6px 16px; font-weight: 700; font-size: 12px; letter-spacing: 0.1em; }
.idc-pie nav a { text-decoration: none; }
.idc-pie-chico { font-size: 12px; opacity: 0.8; }

/* ---------- Portada ---------- */
.idc-portada { display: flex; flex-direction: column; gap: 28px; }
.idc-hero { display: flex; flex-direction: column; gap: var(--s3); }
.idc-hero-buscar { display: none; }
.idc-semana-portada { display: flex; flex-direction: column; gap: var(--s3); }
.idc-fila-titulo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; }
.idc-semana-portada .idc-fila-titulo { display: none; }
.idc-dias { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
.idc-dia a { height: 104px; padding: 8px 10px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto; text-decoration: none; background: var(--blanco); color: var(--negro); border: 2px solid var(--negro); }
.idc-dia .idc-dia-cuerpo { display: contents; }
.idc-dia .idc-dia-num { grid-column: 1; grid-row: 1; font-stretch: 125%; font-weight: 900; font-size: 34px; line-height: 0.9; }
.idc-dia .idc-label { grid-column: 2; grid-row: 1; font-size: 11px; letter-spacing: 0.1em; }
.idc-dia .idc-dia-plato { grid-column: 1 / -1; grid-row: 2; align-self: center; font-weight: 600; font-size: 13.5px; line-height: 16px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.idc-dia .idc-dia-costo { grid-column: 1 / -1; grid-row: 3; font-weight: 800; font-size: 13px; font-variant-numeric: tabular-nums; }
.idc-dia a:hover { background: var(--surface-muted); }
.idc-dia-hoy { grid-column: span 2; }
.idc-dia-hoy a { height: 148px; padding: 12px 14px; background: var(--negro); color: var(--lima); border-color: var(--negro); display: flex; gap: 14px; align-items: stretch; }
.idc-dia-hoy a:hover { background: #222; }
.idc-dia-hoy .idc-dia-num { font-size: 92px; line-height: 0.85; }
.idc-dia-hoy .idc-dia-cuerpo { display: flex; flex-direction: column; justify-content: space-between; flex: 1; min-width: 0; }
.idc-dia-hoy .idc-label { font-size: 12px; letter-spacing: 0.12em; }
.idc-dia-hoy .idc-dia-plato { font-stretch: 112%; font-weight: 800; font-size: 22px; line-height: 24px; color: var(--blanco); -webkit-line-clamp: 3; }
.idc-dia-hoy .idc-dia-costo { font-weight: 500; color: var(--blanco); }
.idc-dia-hoy .idc-dia-costo strong { color: var(--lima); font-weight: 800; }

.idc-barra-total { display: flex; align-items: stretch; border: 2px solid var(--negro); background: var(--blanco); color: var(--negro); }
.idc-blanco .idc-barra-total:not(.idc-barra-lima) { border-color: var(--border); background: var(--surface); color: var(--ink); }
.idc-barra-lima { background: var(--lima); }
.idc-barra-total-txt { flex: 1; min-width: 0; padding: 6px 12px; display: flex; flex-direction: column; }
.idc-barra-total-txt .idc-label { font-size: 11px; }
.idc-barra-extra { display: none; font-weight: 600; font-size: 15px; }
.idc-barra-total-btn { min-height: 56px; max-width: 48%; padding: 4px 12px; text-align: center; font-size: 13px; line-height: 16px; }
.idc-barra-total .idc-precio { white-space: nowrap; }

.idc-con { display: flex; flex-direction: column; gap: var(--s3); }
.idc-con-rejilla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
.idc-con-bloque { min-height: 96px; padding: 12px; display: flex; flex-direction: column; justify-content: space-between; gap: 6px; background: var(--blanco); color: var(--negro); border: 2px solid var(--negro); text-decoration: none; }
.idc-con-bloque:hover { background: var(--negro); color: var(--lima); }
.idc-con-titulo { font-stretch: 125%; font-weight: 900; font-size: 17px; line-height: 20px; overflow-wrap: break-word; hyphens: none; }
.idc-con-texto { font-size: 13px; line-height: 17px; opacity: 0.85; }
.idc-temporadas { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--gap); }
.idc-temp { min-height: 130px; padding: 16px; display: flex; flex-direction: column; justify-content: space-between; gap: 6px; text-decoration: none; background: var(--blanco); color: var(--negro); border: 2px solid var(--negro); font-size: 15px; line-height: 20px; }
.idc-temp-titulo { font-stretch: 125%; font-weight: 900; font-size: 24px; line-height: 26px; }
.idc-temp-negro { background: var(--negro); color: var(--blanco); }
.idc-temp-negro .idc-label { color: var(--lima); }
.idc-temp-naranja { background: var(--naranja); color: var(--on-naranja); }
.idc-solo-esc { display: none; }

/* ---------- Buscador ---------- */
.idc-buscador { display: flex; align-items: stretch; height: 52px; border: 2px solid var(--negro); background: var(--blanco); max-width: 640px; }
.idc-buscador input { flex: 1; min-width: 0; border: 0; outline: none; padding: 0 14px; font-size: 16px; color: var(--negro); background: transparent; }
.idc-buscador:focus-within { outline: 3px solid var(--negro); outline-offset: 2px; }
.idc-buscador button { border: 0; background: var(--negro); color: var(--lima); padding: 0 18px; font-stretch: 112%; font-weight: 800; font-size: 14px; }

/* ---------- Tarjetas de receta ---------- */
.idc-tarjetas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
.idc-tarjeta { display: flex; flex-direction: column; background: var(--blanco); color: var(--negro); border: 2px solid var(--negro); text-decoration: none; }
.idc-blanco .idc-tarjeta { background: var(--surface); color: var(--ink); border-color: var(--border); }
.idc-tarjeta-foto { aspect-ratio: 4 / 3; background: var(--surface-muted); border-bottom: 2px solid var(--negro); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.idc-blanco .idc-tarjeta-foto { border-color: var(--border); }
.idc-tarjeta-foto img { width: 100%; height: 100%; object-fit: cover; }
.idc-tarjeta-titulo { padding: 8px 10px 2px; font-stretch: 112%; font-weight: 800; font-size: 16px; line-height: 19px; }
.idc-tarjeta-datos { padding: 0 10px 10px; margin-top: auto; font-size: 13px; color: var(--ink-muted); }
.idc-lima .idc-tarjeta-datos { color: #4A4A44; }
.idc-tarjeta-datos strong { color: var(--negro); font-weight: 800; }
.idc-blanco .idc-tarjeta-datos strong { color: var(--ink); }
.idc-tarjeta:hover .idc-tarjeta-titulo { text-decoration: underline; text-decoration-thickness: 2px; }
.idc-foto-falta { font-size: 13px; line-height: 18px; color: var(--ink-muted); padding: 12px; text-align: center; }

/* ---------- Listados ---------- */
.idc-archivo { display: flex; flex-direction: column; gap: var(--s3); }
.idc-intro { font-size: 16px; line-height: 24px; }
.idc-intro p { margin: 0 0 8px; }
.idc-paginas { display: flex; flex-wrap: wrap; gap: var(--gap); margin-top: var(--s3); }
.idc-paginas .page-numbers { min-width: 44px; height: 44px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--negro); background: var(--blanco); color: var(--negro); text-decoration: none; font-weight: 800; }
.idc-paginas .current { background: var(--negro); color: var(--lima); }

/* ---------- Receta ---------- */
.idc-receta { display: flex; flex-direction: column; gap: 14px; }
.idc-receta-arriba { display: flex; justify-content: space-between; align-items: center; }
.idc-receta-rejilla { display: flex; flex-direction: column; gap: 14px; }
.idc-receta-foto { aspect-ratio: 4 / 3; max-height: 60vh; border: var(--b2); background: var(--surface-muted); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.idc-receta-foto { position: relative; }
.idc-receta-foto img { width: 100%; height: 100%; object-fit: cover; }
.idc-foto-ia { position: absolute; left: 8px; bottom: 8px; background: var(--negro); color: var(--blanco); font-weight: 700; font-size: 10px; letter-spacing: 0.12em; padding: 3px 7px; }
.idc-receta-cabeza { display: flex; flex-direction: column; gap: 14px; }
.idc-datos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: var(--b2); }
.idc-datos > div { padding: 8px 10px; display: flex; flex-direction: column; min-width: 0; }
.idc-datos > div + div { border-left: var(--b2); }
.idc-datos .idc-label { font-size: 10.5px; }
.idc-dato { font-stretch: 125%; font-weight: 900; font-size: 20px; line-height: 26px; font-variant-numeric: tabular-nums; }
.idc-dato-lima { background: var(--lima); color: var(--on-lima); }
.idc-porciones { display: flex; align-items: center; gap: 8px; }
.idc-porciones button { width: 26px; height: 26px; padding: 0; border: 2px solid var(--border); background: var(--surface); font-weight: 900; font-size: 16px; line-height: 1; }
.idc-caja { border: var(--b2); background: var(--surface); color: var(--ink); }
.idc-caja-titulo { margin: 0; padding: 6px 10px; background: var(--negro); color: var(--lima); font-weight: 700; font-size: 12px; line-height: 16px; letter-spacing: 0.12em; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .idc-caja-titulo { border-bottom: 2px solid var(--border); } }
.idc-caja ul { list-style: none; margin: 0; padding: 0; }
.idc-ingredientes ul { padding: 4px 10px; font-size: 15px; line-height: 21px; }
.idc-ingredientes li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; }
.idc-ingredientes li + li { border-top: 1px solid var(--border); }
.idc-ingredientes strong { font-weight: 700; }
.idc-pasos { display: flex; flex-direction: column; gap: 8px; }
.idc-pasos h2 { margin: 0; }
.idc-pasos ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.idc-pasos li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 23px; }
.idc-paso-num { width: 36px; height: 36px; flex-shrink: 0; background: var(--negro); color: var(--lima); font-stretch: 125%; font-weight: 900; font-size: 20px; display: flex; align-items: center; justify-content: center; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .idc-paso-num { outline: 2px solid var(--border); } }
.idc-acciones { position: sticky; isolation: isolate; bottom: calc(var(--nav-alto) + env(safe-area-inset-bottom) + 12px); z-index: 20; display: flex; gap: var(--gap); }
.idc-btn-grande { flex: 1; min-height: 52px; font-size: 15px; }
.idc-acciones .idc-btn-icono { width: 52px; height: 52px; }
.idc-otras { display: flex; flex-direction: column; gap: var(--s3); margin-top: var(--s3); }

/* ---------- Semana ---------- */
.idc-semana { display: flex; flex-direction: column; gap: var(--s3); }
.idc-controles { display: flex; flex-direction: column; gap: var(--gap); }
.idc-stepper { display: flex; align-items: center; justify-content: space-between; height: 44px; border: 2px solid var(--negro); background: var(--blanco); padding-left: 10px; max-width: 360px; }
.idc-stepper-in { display: flex; align-items: stretch; height: 100%; }
.idc-stepper-in a, .idc-stepper-num { width: 40px; display: flex; align-items: center; justify-content: center; border-left: 2px solid var(--negro); text-decoration: none; font-weight: 800; font-size: 20px; }
.idc-stepper-num { width: 36px; font-stretch: 125%; font-weight: 900; font-size: 18px; }
.idc-stepper-mas { background: var(--negro); color: var(--lima); }
.idc-lista-dias { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--gap); }
.idc-lista-dias li { min-height: 58px; display: flex; align-items: stretch; background: var(--blanco); color: var(--negro); border: 2px solid var(--negro); }
.idc-ld-fecha { width: 60px; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 2px solid var(--negro); }
.idc-ld-fecha .idc-label { font-size: 10px; }
.idc-ld-num { font-stretch: 125%; font-weight: 900; font-size: 26px; line-height: 24px; }
.idc-ld-plato { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 6px 12px; text-decoration: none; font-weight: 600; font-size: 15px; line-height: 18px; }
.idc-ld-plato:hover { text-decoration: underline; }
.idc-ld-min { font-weight: 500; font-size: 12px; color: #4A4A44; }
.idc-ld-costo { display: flex; align-items: center; padding: 0 12px; font-stretch: 125%; font-weight: 900; font-size: 16px; font-variant-numeric: tabular-nums; }
.idc-lista-dias .idc-ld-hoy { background: var(--negro); color: var(--blanco); border-color: var(--negro); }
.idc-ld-hoy .idc-ld-fecha { color: var(--lima); border-right-color: var(--negro); width: 64px; }
.idc-ld-hoy .idc-ld-min { color: #B5B5AE; }
.idc-ld-hoy .idc-ld-costo { color: var(--lima); }

/* Armador: cambiar platillo, «lo cambiaste», deshacer */
.idc-ld-cambiar { width: 44px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-left: 2px solid var(--negro); color: var(--negro); }
.idc-ld-cambiar:hover { background: var(--negro); color: var(--lima); }
.idc-ld-hoy .idc-ld-cambiar { border-left-color: #333; color: var(--lima); }
.idc-ld-hoy .idc-ld-cambiar:hover { background: var(--lima); color: var(--negro); }
.idc-cambiaste { align-self: flex-start; margin-top: 3px; background: var(--naranja); color: var(--on-naranja); font-weight: 700; font-size: 10px; line-height: 14px; letter-spacing: 0.1em; padding: 1px 6px; }
.idc-deshacer { margin: 0; font-size: 14px; font-weight: 600; }
.idc-lista-dias li:target { outline: 3px solid var(--naranja); outline-offset: 2px; }

/* Receta: «Agregar a mi semana» abre los 7 días */
.idc-agregar { flex: 1; min-width: 0; display: flex; }
.idc-agregar summary.idc-btn-grande { padding: 0 10px; font-size: 14px; white-space: nowrap; }
.idc-agregar summary { list-style: none; width: 100%; cursor: pointer; }
.idc-agregar summary::-webkit-details-marker { display: none; }
.idc-agregar[open] summary { background: var(--lima); color: var(--negro); box-shadow: inset 0 0 0 2px var(--negro); }
.idc-agregar-dias { position: absolute; left: 0; right: 0; bottom: calc(100% + 6px); z-index: 30; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; padding: 8px; background: var(--surface); border: var(--b2); }
.idc-agregar-dias > .idc-label { grid-column: 1 / -1; }
.idc-agregar-dias a { min-height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: var(--b2); text-decoration: none; color: var(--ink); }
.idc-agregar-dias a:hover { background: var(--negro); color: var(--lima); border-color: var(--negro); }
.idc-agregar-dias .idc-ld-num { font-size: 22px; line-height: 22px; }
.idc-agregar-dias .idc-label { font-size: 10px; }

/* ---------- Lista del súper ---------- */
.idc-lista-cabeza { background: var(--lima); color: var(--on-lima); border-bottom: 2px solid var(--negro); padding: 4px 0 14px; margin-top: -4px; }
.idc-lista-cabeza .idc-ancho { display: flex; flex-direction: column; gap: 10px; }
.idc-s-lista .idc-cabecera { background: var(--lima); color: var(--on-lima); }
.idc-s-lista .idc-cabecera .idc-btn-icono { border-color: var(--negro); background: var(--blanco); color: var(--negro); }
.idc-lista-cabeza .idc-display { font-size: 34px; line-height: 34px; }
.idc-avance { display: flex; align-items: center; gap: 10px; }
.idc-avance-barra { flex: 1; height: 14px; border: 2px solid var(--negro); background: var(--blanco); }
.idc-avance-barra span { display: block; height: 100%; width: 0; background: var(--negro); transition: width .2s; }
.idc-avance-txt { font-stretch: 125%; font-weight: 900; font-size: 14px; white-space: nowrap; }
.idc-lista-cuerpo { padding-top: var(--s3); padding-bottom: var(--s3); }
.idc-lista-grupos { display: flex; flex-direction: column; gap: var(--s3); }
.idc-lista .idc-caja li + li { border-top: var(--b2); }
.idc-item { width: 100%; min-height: 48px; display: flex; align-items: center; gap: 12px; padding: 6px 10px; border: 0; background: transparent; text-align: left; }
.idc-check { width: 22px; height: 22px; flex-shrink: 0; border: var(--b2); display: flex; align-items: center; justify-content: center; }
.idc-check svg { width: 14px; height: 14px; stroke-width: 3.5; visibility: hidden; }
.idc-item-txt { flex: 1; min-width: 0; font-weight: 600; font-size: 15px; line-height: 20px; }
.idc-item .idc-num { font-stretch: 112%; font-weight: 800; font-size: 15px; }
.idc-item[aria-pressed="true"] .idc-check { background: var(--negro); border-color: var(--negro); color: var(--lima); }
.idc-item[aria-pressed="true"] .idc-check svg { visibility: visible; }
.idc-item[aria-pressed="true"] .idc-item-txt { text-decoration: line-through; color: var(--ink-muted); }
.idc-caja-suave .idc-caja-titulo { background: var(--surface-muted); color: var(--ink); }
.idc-revisa { margin: 0; padding: 10px; font-size: 15px; line-height: 22px; }
.idc-imprimir { margin: 12px 0 0; }
.idc-acciones-lista { padding: 0 var(--s4); max-width: 1240px; margin: 0 auto; }
.idc-acciones-lista .idc-barra-total { flex: 1; }

/* ---------- Páginas automáticas (qué hacer de comer con…, menú semanal económico) ---------- */
.idc-pagina { display: flex; flex-direction: column; gap: var(--s3); padding-bottom: var(--s4); }
.idc-pagina .idc-intro { max-width: 70ch; }
.idc-pagina .idc-display { font-size: 30px; line-height: 31px; }
.idc-pagina .idc-intro a, .idc-preguntas a { font-weight: 700; }
.idc-migas { font-size: 13px; line-height: 18px; font-weight: 600; }
.idc-migas a { text-decoration: underline; text-underline-offset: 2px; }
.idc-con-negro { background: var(--negro); color: var(--blanco); }
.idc-con-negro .idc-con-titulo { color: var(--lima); }
.idc-con-negro:hover { background: var(--blanco); color: var(--negro); }
.idc-con-negro:hover .idc-con-titulo { color: var(--negro); }
.idc-preguntas { border: 2px solid var(--negro); background: var(--blanco); color: var(--negro); padding: 14px 16px; margin-top: var(--s3); }
.idc-preguntas h3 { margin: 14px 0 2px; font-stretch: 112%; font-weight: 800; font-size: 17px; line-height: 22px; }
.idc-preguntas p { margin: 0; }
.idc-relacionadas { display: flex; flex-direction: column; gap: 8px; margin-top: var(--s3); }
.idc-lista-resumen { display: flex; flex-direction: column; gap: var(--s3); margin-top: var(--s3); }
.idc-renglones { padding: 2px 10px !important; }
.idc-renglones li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; font-size: 14px; line-height: 19px; font-weight: 600; }
.idc-renglones li + li { border-top: 1px solid var(--border); }
.idc-lima .idc-caja { border-color: var(--negro); background: var(--blanco); color: var(--negro); }
.idc-receta-temas { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gap); }

/* ---------- Texto general ---------- */
.idc-texto { display: flex; flex-direction: column; gap: var(--s4); max-width: 760px; }
.idc-contenido { font-size: 17px; line-height: 27px; }
.idc-contenido h2 { margin: 28px 0 8px; font-stretch: 112%; font-weight: 800; font-size: 22px; line-height: 26px; }
.idc-contenido h3 { margin: 20px 0 6px; font-weight: 800; font-size: 18px; line-height: 24px; }
.idc-contenido p, .idc-contenido ul { margin: 0 0 12px; }
.idc-contenido ul { padding-left: 22px; }
.idc-contenido a { text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }

/* ---------- Tema oscuro: lo que es negro sobre fondo negro lleva borde ---------- */
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .idc-blanco .idc-etiqueta-negra, :root:not([data-theme="light"]) .idc-blanco .idc-btn, :root:not([data-theme="light"]) .idc-blanco .idc-acciones .idc-btn-grande { box-shadow: inset 0 0 0 2px var(--border); }
	:root:not([data-theme="light"]) .idc-item[aria-pressed="true"] .idc-check { background: var(--lima); border-color: var(--lima); color: var(--negro); }
}
:root[data-theme="dark"] .idc-blanco .idc-etiqueta-negra, :root[data-theme="dark"] .idc-blanco .idc-btn, :root[data-theme="dark"] .idc-blanco .idc-acciones .idc-btn-grande { box-shadow: inset 0 0 0 2px var(--border); }
:root[data-theme="dark"] .idc-item[aria-pressed="true"] .idc-check { background: var(--lima); border-color: var(--lima); color: var(--negro); }

/* ---------- Escritorio ---------- */
@media (min-width: 900px) {
	body { padding-bottom: 0; }
	.idc-ancho { padding-left: 24px; padding-right: 24px; }
	.idc-nav-abajo { display: none; }
	.idc-cabecera { border-bottom: 2px solid var(--negro); }
	.idc-blanco .idc-cabecera { border-bottom-color: var(--border); }
	.idc-cabecera-in { gap: 24px; padding-top: 14px; padding-bottom: 14px; }
	.idc-marca { font-size: 18px; margin-right: 0; }
	.idc-nav-arriba { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; font-weight: 700; font-size: 13px; letter-spacing: 0.1em; }
	.idc-nav-arriba a { padding: 9px 12px; text-decoration: none; }
	.idc-nav-arriba a[aria-current="page"] { background: var(--negro); color: var(--lima); }
	.idc-blanco:not(.idc-s-lista) .idc-nav-arriba a[aria-current="page"] { background: var(--ink); color: var(--surface); }
	.idc-cta-arriba { display: inline-flex; }
	.idc-buscar-btn { order: 3; }
	main { padding-top: 40px; }
	.idc-s-lista main { padding-top: 0; }
	.idc-display { font-size: 64px; line-height: 0.95; letter-spacing: -0.03em; }
	.idc-h2 { font-size: 30px; line-height: 34px; }

	.idc-portada { gap: 40px; padding-bottom: 32px; }
	.idc-hero .idc-display { font-size: clamp(56px, 7.4vw, 104px); line-height: 0.92; max-width: 12ch; }
	.idc-hero-buscar { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; justify-content: space-between; }
	.idc-hero-buscar .idc-buscador { flex: 1 1 420px; height: 58px; }
	.idc-semana-portada .idc-fila-titulo { display: flex; }
	.idc-dias { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.idc-dia-hoy { grid-column: auto; }
	.idc-dia a, .idc-dia-hoy a { height: auto; min-height: 200px; padding: 12px 14px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto; gap: 10px 6px; }
	.idc-dia-hoy .idc-dia-cuerpo { display: contents; }
	.idc-dia .idc-dia-num { font-size: 48px; }
	.idc-dia-hoy .idc-dia-num { font-size: 56px; color: var(--lima); }
	.idc-dia .idc-label, .idc-dia-hoy .idc-label { font-size: 11px; letter-spacing: 0.12em; }
	.idc-dia .idc-dia-plato, .idc-dia-hoy .idc-dia-plato { font-stretch: 100%; font-weight: 600; font-size: 16px; line-height: 20px; -webkit-line-clamp: 4; }
	.idc-dia .idc-dia-costo strong, .idc-dia-hoy .idc-dia-costo strong { font-stretch: 125%; font-weight: 900; font-size: 18px; }
	.idc-solo-cel { display: none; }
	.idc-solo-esc { display: inline; }
	.idc-barra-total-txt { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 20px; padding: 10px 16px; }
	.idc-barra-total-txt .idc-label { flex-basis: 100%; }
	.idc-barra-total .idc-precio { font-size: 30px; line-height: 34px; }
	.idc-barra-extra { display: inline; }
	.idc-barra-total-btn { padding: 0 24px; font-size: 15px; }
	.idc-con-rejilla { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
	.idc-con-bloque { min-height: 110px; padding: 14px; }
	.idc-con-titulo { font-size: clamp(18px, 1.7vw, 24px); line-height: 1.1; }
	.idc-con-texto { font-size: 14px; line-height: 19px; }
	.idc-temporadas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.idc-temp { min-height: 150px; padding: 20px; }
	.idc-temp-titulo { font-size: 26px; line-height: 28px; }

	.idc-tarjetas { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
	.idc-archivo { padding-bottom: 32px; }

	.idc-receta { padding-bottom: 32px; }
	.idc-receta-rejilla { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); grid-template-areas: "foto cabeza" "foto ing" "pasos ing"; grid-template-rows: auto auto 1fr; gap: 24px 32px; align-items: start; }
	.idc-receta-foto { grid-area: foto; max-height: none; }
	.idc-receta-cabeza { grid-area: cabeza; }
	.idc-ingredientes { grid-area: ing; }
	.idc-pasos { grid-area: pasos; }
	.idc-titulo { font-size: 44px; line-height: 46px; }
	.idc-acciones { position: relative; bottom: auto; max-width: 560px; }
	.idc-agregar-dias { bottom: auto; top: calc(100% + 6px); }

	.idc-semana { padding-bottom: 32px; }
	.idc-controles { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; }
	.idc-stepper { flex: 0 0 260px; }
	.idc-lista-dias li { min-height: 64px; }
	.idc-ld-plato { font-size: 17px; line-height: 22px; }

	.idc-lista-cabeza { padding: 32px 0 20px; margin-top: 0; }
	.idc-lista-cabeza .idc-display { font-size: 56px; line-height: 0.95; }
	.idc-pagina .idc-display { max-width: 18ch; font-size: 56px; line-height: 0.95; }
	.idc-lista-grupos { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); align-items: start; }
	.idc-acciones-lista { position: static; padding: 0 24px; }
}

/* ---------- Impresión (lista del súper y receta) ---------- */
@media print {
	body { padding: 0; background: #fff !important; color: #000; }
	.idc-cabecera, .idc-nav-abajo, .idc-pie, .idc-acciones, .idc-imprimir, .idc-avance, .idc-otras, .idc-btn-icono, .idc-porciones button { display: none !important; }
	.idc-lista-cabeza { background: none; border: 0; }
	.idc-caja, .idc-caja-titulo { border-color: #000; }
	.idc-caja-titulo { background: none; color: #000; border-bottom: 2px solid #000; }
	.idc-lista-grupos { display: block; columns: 2; }
	.idc-caja { break-inside: avoid; margin-bottom: 8px; }
}
