/*
 * Oma's Kitchen Speiseplan — Stylesheet
 * Alle Selektoren unter .omas-kitchen-speiseplan verschachtelt, damit nichts
 * mit dem Theme kollidiert. Schriften lokal eingebunden (kein Google-CDN).
 *
 * Die @font-face-Regeln stehen NICHT hier, sondern werden vom PHP-Code mit
 * absoluten URLs als Inline-Style ausgegeben (siehe omas_font_face_css() in
 * omas-kitchen-speiseplan.php) — relative url()-Pfade in dieser Datei werden
 * von manchen Cache-/Optimierungs-Plugins beim Zusammenfassen von CSS-Dateien
 * falsch aufgelöst, was dazu führt, dass die Schriften nicht laden und der
 * Browser auf Georgia/Courier New zurückfällt.
 */

.omas-kitchen-speiseplan{
  --omas-paper: #ece3d2;
  --omas-paper-light: #f6efe2;
  --omas-checker-base: #f1e8d8;
  --omas-red: #b3261e;
  --omas-ink: #1f2b25;
  --omas-cream: #f6efe2;

  --omas-font-display: 'OKAlfaSlabOne', Georgia, serif;
  --omas-font-mono: 'OKCourierPrime', 'Courier New', monospace;
  --omas-font-hand: 'OKKalam', cursive;

  background: var(--omas-paper);
  color: var(--omas-ink);
  font-family: var(--omas-font-mono);
  -webkit-font-smoothing: antialiased;
}
.omas-kitchen-speiseplan *{ box-sizing: border-box; }
.omas-kitchen-speiseplan a{ color: var(--omas-red); text-decoration: underline; }
.omas-kitchen-speiseplan a:hover{ color: var(--omas-ink); }

.omas-kitchen-speiseplan .omas-inner{
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding: 28px clamp(18px, 4vw, 48px) 0;
}

/* Top bar */
.omas-kitchen-speiseplan .omas-topbar{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding-bottom:12px;
  border-bottom:2px solid var(--omas-ink);
}

/* Header */
.omas-kitchen-speiseplan .omas-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:32px 0 8px;
  flex-wrap: wrap;
}
.omas-kitchen-speiseplan .omas-header-text{ min-width:0; }
.omas-kitchen-speiseplan .omas-h1{
  margin:0;
  font-family: var(--omas-font-display);
  font-weight:400;
  color: var(--omas-red);
  line-height:.9;
  font-size: clamp(44px, 9vw, 104px);
  letter-spacing:-.01em;
  text-transform:uppercase;
}
.omas-kitchen-speiseplan .omas-sub{
  margin:18px 0 0;
  font-size: clamp(15px, 1.6vw, 18px);
}
.omas-kitchen-speiseplan .omas-logo{
  width: clamp(160px, 28vw, 340px);
  height: auto;
  flex-shrink:0;
  mix-blend-mode: multiply;
}

/* Bestell-CTA */
.omas-kitchen-speiseplan .omas-cta{
  margin: 28px 0 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.omas-kitchen-speiseplan .omas-cta-btn{
  font-family: var(--omas-font-mono);
  font-weight:700;
  font-size:17px;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:16px 32px;
  border:2px solid var(--omas-red);
  border-radius:0;
  background: var(--omas-red);
  color: var(--omas-cream);
  text-decoration:none;
  display:inline-block;
  line-height:1;
  cursor:pointer;
}
.omas-kitchen-speiseplan .omas-cta-btn:hover{ color: var(--omas-cream); text-decoration:none; opacity:.92; }
.omas-kitchen-speiseplan .omas-cta-btn.is-disabled{
  background:transparent;
  color: var(--omas-ink);
  opacity:.45;
  cursor:default;
  pointer-events:none;
}
.omas-kitchen-speiseplan .omas-cta-note{
  margin:0;
  font-size:13px;
  letter-spacing:.04em;
  color:#5a5248;
}

/* Tabs */
.omas-kitchen-speiseplan .omas-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:36px 0 28px;
}
.omas-kitchen-speiseplan .omas-tab-btn{
  font-family: var(--omas-font-mono);
  font-weight:700;
  font-size:15px;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:12px 20px;
  border:2px solid var(--omas-ink);
  border-radius:0;
  cursor:pointer;
  background:transparent;
  color: var(--omas-ink);
  text-decoration:none;
  display:inline-block;
  line-height:1;
}
.omas-kitchen-speiseplan .omas-tab-btn:hover{ color: var(--omas-ink); text-decoration:none; }
.omas-kitchen-speiseplan .omas-tab-btn.is-active{
  background: var(--omas-red);
  border-color: var(--omas-red);
  color: var(--omas-cream);
}

/* Views */
.omas-kitchen-speiseplan .omas-view{ padding-bottom:56px; }
.omas-kitchen-speiseplan .omas-view[hidden]{ display:none; }

/* Heute */
.omas-kitchen-speiseplan .omas-day-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap:40px;
  align-items:start;
}
.omas-kitchen-speiseplan .omas-kicker{
  font-size:14px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color: var(--omas-red);
  font-weight:700;
}
.omas-kitchen-speiseplan .omas-day-title{
  margin:6px 0 24px;
  font-family: var(--omas-font-display);
  font-weight:400;
  font-size: clamp(30px, 4vw, 44px);
  line-height:1.05;
}
.omas-kitchen-speiseplan .omas-dish-list{
  display:flex;
  flex-direction:column;
  border-top:2px solid var(--omas-ink);
}
.omas-kitchen-speiseplan .omas-dish-row{
  display:grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap:4px 16px;
  align-items:baseline;
  padding:18px 0;
  border-bottom:1px solid var(--omas-ink);
}
.omas-kitchen-speiseplan .omas-dish-label{
  font-family: var(--omas-font-hand);
  color: var(--omas-red);
  font-size:20px;
  grid-column: 1 / -1;
  line-height:1;
}
.omas-kitchen-speiseplan .omas-dish-name{
  font-family: var(--omas-font-display);
  font-size: clamp(20px, 2.4vw, 26px);
  line-height:1.15;
}
.omas-kitchen-speiseplan .omas-dish-price{
  font-weight:700;
  font-size:18px;
  white-space:nowrap;
}
.omas-kitchen-speiseplan .omas-photo{
  width:100%;
  aspect-ratio: 4 / 5;
  overflow:hidden;
}
.omas-kitchen-speiseplan .omas-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.omas-kitchen-speiseplan .omas-closed-note{
  font-size:14px;
  color:#5a5248;
}

/* Woche */
.omas-kitchen-speiseplan .omas-section-title{
  margin:0 0 20px;
  font-family: var(--omas-font-display);
  font-weight:400;
  font-size: clamp(28px, 3.6vw, 40px);
}
.omas-kitchen-speiseplan .omas-week-list{ border-top:2px solid var(--omas-ink); }
.omas-kitchen-speiseplan .omas-week-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px 28px;
  padding:20px 12px;
  border-bottom:1px solid var(--omas-ink);
}
.omas-kitchen-speiseplan .omas-week-row.is-today{ background: var(--omas-paper-light); }
.omas-kitchen-speiseplan .omas-week-daycol{ flex: 0 0 180px; }
.omas-kitchen-speiseplan .omas-week-dayname{
  font-family: var(--omas-font-display);
  font-size:22px;
  color: var(--omas-red);
}
.omas-kitchen-speiseplan .omas-week-date{
  font-size:14px;
  letter-spacing:.1em;
  margin-top:2px;
}
.omas-kitchen-speiseplan .omas-week-dishes{
  flex:1 1 420px;
  min-width:0;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap:12px 24px;
}
.omas-kitchen-speiseplan .omas-week-dish .omas-dish-label{ font-size:17px; grid-column:auto; }
.omas-kitchen-speiseplan .omas-week-dish-name{
  font-weight:700;
  font-size:16px;
  margin-top:4px;
}

/* Monat */
.omas-kitchen-speiseplan .omas-month-hint{ margin:0 0 20px; font-size:14px; }
.omas-kitchen-speiseplan .omas-month-grid{
  display:grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  border-top:2px solid var(--omas-ink);
  border-left:1px solid var(--omas-ink);
}
.omas-kitchen-speiseplan .omas-month-head{
  padding:10px 8px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  border-right:1px solid var(--omas-ink);
  border-bottom:2px solid var(--omas-ink);
}
.omas-kitchen-speiseplan .omas-month-cell{
  min-height:104px;
  padding:8px;
  border-right:1px solid var(--omas-ink);
  border-bottom:1px solid var(--omas-ink);
  display:flex;
  flex-direction:column;
  gap:6px;
  background:transparent;
  color: var(--omas-ink);
}
.omas-kitchen-speiseplan .omas-month-cell.is-outside{ color: var(--omas-ink); }
.omas-kitchen-speiseplan .omas-month-cell.is-outside .omas-month-day{ opacity:.3; }
.omas-kitchen-speiseplan .omas-month-cell.is-today{
  background: var(--omas-red);
  color: var(--omas-cream);
}
.omas-kitchen-speiseplan .omas-month-day{
  font-family: var(--omas-font-display);
  font-size:20px;
  line-height:1;
}
.omas-kitchen-speiseplan .omas-month-dish{
  font-size: clamp(11px, 1.3vw, 14px);
  font-weight:700;
  line-height:1.25;
  overflow-wrap:anywhere;
}

/* Karomuster-Band */
.omas-kitchen-speiseplan .omas-checker{
  width:100%;
  height:28px;
  background-color: var(--omas-checker-base);
  background-image:
    repeating-linear-gradient(90deg, rgba(179,38,30,.85) 0 14px, transparent 14px 28px),
    repeating-linear-gradient(0deg, rgba(179,38,30,.45) 0 7px, transparent 7px 14px);
}

/* Footer */
.omas-kitchen-speiseplan .omas-footer{
  max-width:1080px;
  width:100%;
  margin:0 auto;
  padding:32px clamp(18px, 4vw, 48px) 40px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:28px;
}
.omas-kitchen-speiseplan .omas-footer-left{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:16px;
}
.omas-kitchen-speiseplan .omas-footer-left strong{
  letter-spacing:.12em;
  text-transform:uppercase;
}
.omas-kitchen-speiseplan .omas-footer-hours{
  color: var(--omas-red);
  font-weight:700;
  margin-top:8px;
}
.omas-kitchen-speiseplan .omas-footer-right{
  font-family: var(--omas-font-hand);
  color: var(--omas-red);
  font-size:26px;
  line-height:1.1;
  max-width:300px;
  align-self:center;
}

@media (max-width: 480px){
  .omas-kitchen-speiseplan .omas-footer-right{ align-self:flex-start; }
}
