/* ============================================================
   Mittagstisch — "Heute"-Feature + editoriale Wochenkarte
   ============================================================ */

/* ---------- Hero (kompakt) ---------- */
.mittag-hero {
  padding-block: var(--space-2xl) var(--space-lg);
}
.mittag-hero h1 {
  font-size: var(--fs-display);
  font-weight: 500;
}
.mittag-hero .lead { max-width: 54ch; }

.mittag-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}
/* Datumsbereich + Zeit als Kalender-Badge */
.mittag-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  padding: 0.5rem 1.15rem;
  border-radius: 999px;
  border: 1.5px solid var(--hairline-accent, var(--color-mustard));
  background: var(--color-paper);
  font-family: var(--font-mono, monospace);
  font-size: var(--fs-small);
  letter-spacing: 0.01em;
  color: var(--color-espresso);
}
.mittag-meta span::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--color-mustard);
  flex-shrink: 0;
}

/* ---------- Geteilte Gericht-Typo (Feature + Wochenkarte) ---------- */
.mittag-dish {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
}
/* Klassisch / Vegetarisch — Versalien-Eyebrow, gleichwertig, kein Pill */
.mittag-dish__kind {
  font-family: var(--font-body);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--color-espresso-soft);
}
.mittag-dish__kind--veg { color: var(--color-sage, #A5B29E); }
.mittag-dish__name {
  font-family: var(--font-display);
  font-size: clamp(1.0625rem, 0.3vw + 1rem, 1.1875rem);
  font-weight: 500;
  line-height: 1.25;
  color: var(--color-espresso);
}

/* ---------- "Heute"-Feature (Signature-Moment) ---------- */
.mittag-feature-section {
  padding-block: 0 var(--space-xl);
}
.mittag-feature {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--surface-sage, #EFF1EB);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  box-shadow: var(--shadow-soft);
}
@media (min-width: 820px) {
  .mittag-feature { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
.mittag-feature__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  justify-content: center;
}
.mittag-feature__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55em;
  font-family: var(--font-mono, monospace);
  font-size: var(--fs-xsmall);
  letter-spacing: var(--tracking-mono, 0.06em);
  text-transform: uppercase;
  color: var(--color-espresso-soft);
}
.mittag-feature__eyebrow::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--color-mustard);
  flex-shrink: 0;
}
.mittag-feature__dishes {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
/* Feature-Gerichte = Brennpunkt → großes Cormorant */
.mittag-feature__dishes .mittag-dish__name {
  font-size: clamp(1.5rem, 1.6vw + 1rem, 2.25rem);
  line-height: 1.15;
}
.mittag-feature__dishes .mittag-dish + .mittag-dish {
  padding-top: var(--space-md);
  border-top: 1px dotted var(--color-line-strong, rgba(58, 48, 44, 0.22));
}
/* Preis direkt am Gericht (Label-Zeile) statt entkoppelter Block */
.mittag-dish__meta {
  display: flex;
  align-items: baseline;
}
.mittag-dish__price {
  font-family: var(--font-mono, monospace);
  font-size: var(--fs-small);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: var(--color-espresso);
}
.mittag-dish__price::before {
  content: "·";
  margin: 0 0.55em;
  color: var(--color-espresso-soft);
}
.mittag-feature__special {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.6rem, 2vw + 1rem, 2.5rem);
  font-weight: 500;
  line-height: 1.15;
  color: var(--color-mustard);
  margin: 0;
}
.mittag-feature--special {
  background: color-mix(in srgb, var(--color-mustard) 8%, var(--surface-sage, #EFF1EB));
}
.mittag-feature__media {
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  aspect-ratio: 4 / 3;            /* Handy: definierte Höhe */
}
@media (min-width: 820px) {
  .mittag-feature__media { aspect-ratio: auto; height: 100%; min-height: 240px; }
}

/* ---------- Fallback: keine Woche gepflegt → à la carte ---------- */
.mittag-fallback {
  max-width: 46ch;
  margin-inline: auto;
  padding-block: var(--space-2xl);
  text-align: center;
}
.mittag-fallback__lead {
  margin: 0;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(1.6rem, 1.8vw + 1rem, 2.5rem);
  color: var(--color-espresso);
}
.mittag-fallback__note {
  margin-top: var(--space-md);
  font-size: var(--fs-body, 1rem);
  line-height: 1.6;
  color: var(--text-muted, rgba(58, 48, 44, 0.65));
}

/* ---------- "Die ganze Woche" — editoriale Menü-Liste ---------- */
.mittag-week {
  padding-block: var(--space-xl) var(--space-2xl);
}
.mittag-week__title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 1.6vw + 1rem, 2.5rem);
  font-weight: 500;
  margin-bottom: var(--space-lg);
}
.mittag-week__list {
  display: flex;
  flex-direction: column;
}
.mittag-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-2xs);
  padding: var(--space-md) var(--space-sm);
  border-top: 1px solid var(--color-line);
}
.mittag-row:first-child { border-top: 0; }
@media (min-width: 760px) {
  .mittag-row {
    grid-template-columns: minmax(150px, 1fr) minmax(0, 3fr);
    gap: var(--space-lg);
    align-items: baseline;
  }
}
.mittag-row__day {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.6em;
  font-family: var(--font-display);
  font-size: clamp(1.375rem, 0.8vw + 1rem, 1.75rem);
  font-weight: 500;
  color: var(--color-espresso);
}
.mittag-row__today {
  font-family: var(--font-body);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--color-espresso);
  background: var(--color-mustard);
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  transform: translateY(-2px);
}
.mittag-row__dishes {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
/* Heute-Zeile als Sand-Band mit Mustard-Akzent */
.mittag-row--today {
  background: var(--color-sand);
  border: 1px solid var(--color-mustard);
  border-left-width: 3px;
  border-radius: var(--radius-md);
  padding-inline: var(--space-md);
  margin-block: var(--space-2xs);
}
.mittag-row--today + .mittag-row { border-top: 0; }
.mittag-row__special {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.25rem, 1vw + 0.9rem, 1.6rem);
  font-weight: 500;
  color: var(--color-mustard);
  margin: 0;
}
.mittag-row__special::before { content: "\2726\00a0"; color: var(--color-mustard); }

/* Week price footer — once per week, not per dish. Als Paper-Banner mit
   Mustard-Akzent statt bloßer Hairline. */
.mittag-prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-sm) var(--space-lg);
  margin-top: var(--space-xl);
  padding: var(--space-md) var(--space-lg);
  background: var(--color-paper);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--hairline-accent, var(--color-mustard));
  box-shadow: var(--shadow-soft);
  font-size: var(--fs-body);
  color: var(--color-text);
}
.mittag-prices strong {
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.mittag-prices__note {
  flex: 1 1 100%;
  font-size: var(--fs-small);
  color: var(--color-text-soft);
}
@media (min-width: 700px) {
  .mittag-prices__note { flex: 1 1 auto; }
}

/* ============================================================
   Newsletter — Wochenmenü per Mail
   ============================================================ */

.mittag-newsletter {
  padding-block: var(--space-2xl);
  background: var(--surface-sage, #EFF1EB);
}
.mittag-newsletter__layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .mittag-newsletter__layout { grid-template-columns: 1fr; gap: var(--space-md); }
}

.mittag-newsletter__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  font-family: var(--font-mono);
  font-size: var(--fs-xsmall);
  letter-spacing: var(--tracking-mono);
  text-transform: uppercase;
  color: var(--text-muted, var(--color-text-soft));
}
.mittag-newsletter__kicker::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent, var(--color-mustard));
}
.mittag-newsletter__headline {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.5vw + 0.8rem, 2.5rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text-primary, var(--color-espresso));
  margin: var(--space-2xs) 0 var(--space-sm);
  text-wrap: balance;
}
.mittag-newsletter__headline em {
  font-style: italic;
  color: var(--accent, var(--color-mustard));
}
.mittag-newsletter__lead {
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
  color: var(--text-muted, var(--color-text-soft));
  margin: 0;
  max-width: 38ch;
}

.mittag-newsletter__form {
  display: flex; flex-direction: column;
  gap: var(--space-sm);
}
.mittag-newsletter__label {
  font-family: var(--font-mono);
  font-size: var(--fs-xsmall);
  letter-spacing: var(--tracking-mono, 0.04em);
  text-transform: uppercase;
  color: var(--text-muted, var(--color-text-soft));
}
.mittag-newsletter__row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-2xs);
}
@media (max-width: 480px) {
  .mittag-newsletter__row { grid-template-columns: 1fr; }
}

.mittag-newsletter__input {
  min-height: 48px;
  padding: 0 var(--space-md);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  color: var(--text-primary, var(--color-espresso));
  background: var(--surface-elevated, var(--color-paper));
  border: 1px solid var(--hairline, var(--color-line));
  border-radius: 8px;
  transition: border-color var(--dur-fast) var(--ease-soft);
}
.mittag-newsletter__input:focus {
  outline: none;
  border-color: var(--accent, var(--color-mustard));
  box-shadow: 0 0 0 3px rgba(215,178,77,0.15);
}
.mittag-newsletter__input::placeholder {
  color: var(--text-muted, var(--color-text-soft));
  opacity: 0.7;
}

.mittag-newsletter__submit {
  min-height: 48px;
  padding: 0 var(--space-md);
  display: inline-flex; align-items: center; gap: 0.5em;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: 500;
  color: var(--surface-base, var(--color-creme));
  background: var(--text-primary, var(--color-espresso));
  border-radius: 999px;
  cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-soft);
}
.mittag-newsletter__submit:hover {
  background: var(--accent, var(--color-mustard));
  color: var(--text-primary, var(--color-espresso));
}
.mittag-newsletter__submit:focus-visible {
  outline: 2px solid var(--accent, var(--color-mustard));
  outline-offset: 2px;
}
.mittag-newsletter__submit[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

.mittag-newsletter__privacy {
  margin: 0;
  font-size: var(--fs-xsmall);
  color: var(--text-muted, var(--color-text-soft));
  line-height: 1.5;
}
.mittag-newsletter__privacy a {
  color: inherit;
  border-bottom: 1px solid var(--hairline-accent, var(--color-mustard));
}
.mittag-newsletter__thanks {
  margin: 0;
  padding: var(--space-sm) var(--space-md);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.125rem;
  color: var(--accent, var(--color-mustard));
  background: var(--surface-elevated, var(--color-paper));
  border-radius: 12px;
}
