/**
 * Diseño "Minimalista" — blanco, serifa en los títulos, el color del local
 * solo como acento. Clases propias: m-*.
 */

.p-minimal {
    --fuente-titulo: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "Noto Serif", "Droid Serif", Georgia, serif;
    --fondo-2: #f7f5f2;
}
@media (prefers-color-scheme: dark) {
    .p-minimal { --fondo-2: #2a2825; }
    .p-minimal .c-etq--agotado { color: #ff7a6e; }
}

/* los sellos, discretos: aquí el único color es el del local (y el rojo de "agotado") */
.p-minimal .c-etq { border: 1px solid var(--linea); background: none; color: var(--tenue); }
.p-minimal .c-etq--agotado { border-color: currentColor; color: #c8261b; }

/* ---- portada ---- */

.m-portada { position: relative; height: 210px; background: var(--c1-suave); }
.m-portada--sinfoto { height: calc(96px + env(safe-area-inset-top)); }
.m-portada-foto { width: 100%; height: 100%; object-fit: cover; }
.m-portada-idioma {
    position: absolute; top: calc(12px + env(safe-area-inset-top)); right: 12px;
    background: rgba(255, 255, 255, .94); color: #1c1b19;
    box-shadow: 0 1px 6px rgba(0, 0, 0, .18);
}

.m-identidad { position: relative; padding: 0 24px 4px; text-align: center; }
.m-logo {
    width: auto; max-width: 62%; max-height: 104px;
    margin: -52px auto 14px; padding: 10px;
    border-radius: 16px; background: #fff;
    box-shadow: var(--sombra);
}
.m-identidad h1 { font: 700 1.875rem/1.12 var(--fuente-titulo); letter-spacing: -.01em; text-wrap: balance; }
.m-identidad h1:first-child { margin-top: 26px; }
.m-identidad p { margin-top: 6px; font-size: .875rem; color: var(--tenue); }

/* ---- recomendaciones ---- */

.m-recos { margin-top: 28px; }
.m-recos h2 {
    padding: 0 20px 10px;
    font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--tenue);
}
.m-carrusel {
    display: flex; gap: 12px;
    padding: 2px 20px 8px;
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: 20px;
    scrollbar-width: none;
}
.m-carrusel::-webkit-scrollbar { display: none; }
.m-reco {
    flex: none; width: 172px;
    display: flex; flex-direction: column; gap: 2px;
    scroll-snap-align: start;
}
.m-reco-foto { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radio); margin-bottom: 8px; background: var(--fondo-2); }
.m-reco--sinfoto {
    justify-content: flex-end; min-height: 129px; padding: 14px;
    border-radius: var(--radio); background: var(--c1-suave);
}
.m-reco-grupo { font-size: .6875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--tenue); }
.m-reco-nombre { font: 600 1rem/1.25 var(--fuente-titulo); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.m-reco .c-precio { font-size: .9375rem; color: var(--c1-tinta); }

/* ---- lista de cartas ---- */

.m-menus { margin: 26px 20px 0; border-top: 1px solid var(--linea); }
.m-menus a {
    display: flex; align-items: center; gap: 12px;
    min-height: 68px; padding: 14px 2px;
    border-bottom: 1px solid var(--linea);
}
.m-menus-nombre { flex: 1; font: 600 1.3125rem/1.2 var(--fuente-titulo); }
.m-menus .c-precio { color: var(--c1-tinta); }
.m-menus .ic { color: var(--c1-tinta); }
.m-menus a:active { background: var(--fondo-2); }

/* ---- pie ---- */

.m-pie { padding: 32px 20px calc(28px + env(safe-area-inset-bottom)); }
.m-acciones { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 8px; }
.m-accion {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    min-height: 72px; padding: 10px 6px;
    border: 1px solid var(--linea); border-radius: var(--radio);
    font-size: .8125rem; font-weight: 500; text-align: center; line-height: 1.2;
}
.m-accion .ic { width: 20px; height: 20px; color: var(--c1-tinta); }
.m-accion:active { background: var(--fondo-2); }
.m-redes { margin-top: 18px; color: var(--tenue); }

/* ---- una carta ---- */

.m-carta .c-barra h1 { font-size: 1.1875rem; }
.m-grupos { padding: 8px 20px calc(40px + env(safe-area-inset-bottom)); }

.m-grupo-cab {
    display: flex; align-items: baseline; gap: 10px;
    padding: 28px 0 10px;
    border-bottom: 1px solid var(--linea);
}
.m-grupo h2 { flex: 1; font: 600 1.25rem/1.2 var(--fuente-titulo); color: var(--c1-tinta); }
.m-grupo-n { font-size: .8125rem; color: var(--tenue); font-variant-numeric: tabular-nums; }

.m-platos { padding-bottom: 10px; }
.m-platos li + li { border-top: 1px solid var(--linea); }
.m-plato { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; }
.m-plato:active { background: var(--fondo-2); }
.m-plato-foto { width: 72px; height: 72px; flex: none; object-fit: cover; border-radius: calc(var(--radio) - 4px); background: var(--fondo-2); }
.m-plato-txt { flex: 1; min-width: 0; }
.m-plato-nombre { display: block; font-weight: 500; line-height: 1.3; }
.m-plato-extra { display: block; margin-top: 2px; font-size: .875rem; color: var(--tenue); line-height: 1.35; }
.m-plato-precio { color: var(--c1-tinta); padding-left: 4px; }

/* botón "+": a la derecha del precio, en su misma línea */
.m-plato .c-mas { margin: -7px 0 -7px -4px; }
