/* ===== Speisekarte ===== */
.mavi-sk-menu{max-width:820px;margin:0 auto}
.mavi-sk-cat{margin:0 0 42px}
.mavi-sk-cat__title{font-family:"Cormorant Garamond",Georgia,serif;text-align:center;color:#0E2740;margin:0 0 6px;font-size:2rem;line-height:1.1}
.mavi-sk-cat--l1 .mavi-sk-cat__title{font-size:1.4rem;text-align:left;margin-top:22px;letter-spacing:.02em}
.mavi-sk-divider{width:60px;height:2px;background:#C39A4E;margin:10px auto 22px}
.mavi-sk-cat__desc{text-align:center;color:#666;max-width:600px;margin:0 auto 22px;font-size:.95rem}
.mavi-sk-list{list-style:none;margin:0;padding:0}
.mavi-sk-item{padding:13px 0;border-bottom:1px dashed rgba(0,0,0,.10);display:flex;gap:14px;align-items:flex-start}
.mavi-sk-item__img{flex:0 0 76px}.mavi-sk-item__img img{width:76px;height:76px;object-fit:cover;border-radius:10px;display:block}
.mavi-sk-item__main{flex:1;min-width:0}
.mavi-sk-item__row{display:flex;align-items:baseline;gap:10px}
.mavi-sk-item__name{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.3rem;font-weight:600;color:#0E2740;line-height:1.2;min-width:0;overflow-wrap:anywhere}
.mavi-sk-item__nr{display:inline-block;min-width:1.8em;color:#C39A4E;font-family:Mulish,sans-serif;font-size:.85rem;font-weight:700;margin-right:6px}
.mavi-sk-item__dots{flex:1 1 20px;min-width:20px;border-bottom:2px dotted rgba(0,0,0,.28);transform:translateY(-5px)}
.mavi-sk-item__price{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.25rem;font-weight:700;color:#C39A4E;white-space:nowrap;text-align:right}
.mavi-sk-oldprice{color:#999;font-size:.9rem;margin-right:6px}
.mavi-sk-price--sale{color:#b8321c}
.mavi-sk-item__desc{margin:4px 0 0;color:#555;font-size:.95rem;line-height:1.5;font-family:Mulish,system-ui,sans-serif}
.mavi-sk-badge{display:inline-block;font-family:Mulish,sans-serif;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:#C39A4E;font-style:normal;font-weight:700;margin-left:6px;vertical-align:middle}
.mavi-sk-allerg{font-family:Mulish,sans-serif;font-size:.65rem;color:#999;margin-left:4px}
.mavi-sk-flag{display:inline-block;font-family:Mulish,sans-serif;font-size:.62rem;font-weight:700;border-radius:999px;padding:1px 6px;margin-left:5px;vertical-align:middle;line-height:1.5}
.mavi-sk-flag--veg{background:#e6f2e6;color:#1a7f37}.mavi-sk-flag--vegan{background:#dff1d8;color:#166b2b}.mavi-sk-flag--spicy{background:#fde9e4;color:#b8321c}
.mavi-sk-variants{list-style:none;margin:6px 0 0 14px;padding:0}
.mavi-sk-variants li{display:flex;align-items:baseline;gap:8px;font-size:.95rem;color:#444;font-family:Mulish,sans-serif}
.mavi-sk-variants .mavi-sk-price{font-size:1rem}
.is-unavailable .mavi-sk-item__name{color:#999;text-decoration:line-through}
.mavi-sk-unavail{font-family:Mulish,sans-serif;font-size:.75rem;color:#999;font-weight:400}
.mavi-sk-legend{margin-top:36px;padding-top:18px;border-top:1px solid rgba(0,0,0,.08);font-family:Mulish,sans-serif;font-size:.78rem;color:#777;line-height:1.6}
.mavi-sk-legend p{margin:0 0 6px}
.mavi-sk-pdfwrap{text-align:center;margin-top:36px}
.mavi-sk-pdfbtn,.mavi-sk-btn{display:inline-block;font-family:Mulish,sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:13px 26px;border-radius:4px;text-decoration:none;transition:all .2s}
.mavi-sk-pdfbtn,.mavi-sk-btn--gold{background:#C39A4E;color:#0E2740}
.mavi-sk-pdfbtn:hover,.mavi-sk-btn--gold:hover{background:#b0883f;color:#0E2740}
.mavi-sk-btn--outline{background:transparent;color:#C39A4E;border:1px solid #C39A4E}
.mavi-sk-btn--outline:hover{background:#C39A4E;color:#0E2740}
.mavi-sk-notice{text-align:center;background:#EFE7D8;padding:32px;border-radius:8px;color:#555}
@media(max-width:600px){
  .mavi-sk-item{gap:10px}.mavi-sk-item__img{flex-basis:60px}.mavi-sk-item__img img{width:60px;height:60px}
  .mavi-sk-item__name{font-size:1.15rem}.mavi-sk-item__price{font-size:1.1rem}
  .mavi-sk-cat__title{font-size:1.7rem}
}
/* ===== Spezialitäten-Kacheln ===== */
.mavi-sk-specials{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;max-width:1140px;margin:0 auto}
.mavi-sk-tile{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(14,39,64,.10);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.mavi-sk-tile:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(14,39,64,.18)}
.mavi-sk-tile__img{height:220px;background:#0E2740}.mavi-sk-tile__img img{width:100%;height:100%;object-fit:cover;display:block}
.mavi-sk-tile__body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.mavi-sk-tile__name{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;color:#0E2740;margin:0 0 6px;line-height:1.15}
.mavi-sk-tile__desc{font-family:Mulish,system-ui,sans-serif;color:#4a5560;font-size:.95rem;line-height:1.55;margin:0 0 14px;flex:1}
.mavi-sk-tile__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.mavi-sk-tile__price .mavi-sk-price{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;font-weight:700;color:#C39A4E}
.mavi-sk-tile__btns{display:flex;gap:8px}.mavi-sk-tile__btns .mavi-sk-btn{padding:9px 14px;font-size:.7rem}
/* ===== Einzelansicht ===== */
.mavi-sk-single{margin-bottom:22px}.mavi-sk-single__price .mavi-sk-price{font-size:1.6rem;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;color:#C39A4E}
.mavi-sk-single__meta{font-family:Mulish,sans-serif;color:#666;font-size:.9rem;margin:4px 0}

/* ==========================================================================
   Kachel-Layout, Kategorie-Filter, Übersetzungen  (Speisekarte Pro 2.1)
   ========================================================================== */
.mavi-sk-menu { max-width: 1180px; }
.mavi-sk-cat.is-hidden { display: none; }

/* ---- Kategorie-Filterleiste ---- */
.mavi-sk-filter { position: sticky; top: var(--mavi-header-h, 84px); z-index: 20; margin: 0 0 30px; background: rgba(255,255,255,.94); backdrop-filter: blur(6px); }
.mavi-sk-filter__scroll { display: flex; gap: 10px; overflow-x: auto; padding: 10px 2px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.mavi-sk-filter__scroll::-webkit-scrollbar { height: 4px; }
.mavi-sk-filter__scroll::-webkit-scrollbar-thumb { background: rgba(195,154,78,.5); border-radius: 4px; }
.mavi-sk-filter__btn {
    flex: 0 0 auto; cursor: pointer; white-space: nowrap;
    font-family: Mulish, system-ui, sans-serif; font-size: .74rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    padding: 10px 18px; border-radius: 999px; border: 1px solid rgba(14,39,64,.18);
    background: #fff; color: #0E2740; transition: all .2s;
}
.mavi-sk-filter__btn:hover { border-color: #C39A4E; color: #C39A4E; }
.mavi-sk-filter__btn.is-active { background: #0E2740; border-color: #0E2740; color: #fff; }

/* ---- Kachel-Grid (Speisen) ---- */
.mavi-sk-grid {
    display: grid; gap: 24px; margin: 0 0 10px;
    grid-template-columns: repeat(var(--mavi-cd, 3), minmax(0, 1fr));
}
.mavi-sk-card {
    display: flex; flex-direction: column; background: #fff; border-radius: 14px; overflow: hidden;
    box-shadow: 0 8px 26px rgba(14,39,64,.09); transition: transform .25s, box-shadow .25s;
}
.mavi-sk-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(14,39,64,.16); }
.mavi-sk-card__img { position: relative; aspect-ratio: 4 / 3; background: #EFE7D8; }
.mavi-sk-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mavi-sk-card__img.is-empty { background: linear-gradient(135deg, #0E2740, #0A1C2E); }
.mavi-sk-card__img.is-empty::after { content: "MAVI"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(195,154,78,.5); font-family: "Cormorant Garamond", serif; font-size: 1.6rem; letter-spacing: .3em; }
.mavi-sk-card__badge { position: absolute; top: 12px; left: 12px; background: #C39A4E; color: #0E2740; font-family: Mulish, sans-serif; font-size: .6rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; padding: 5px 10px; border-radius: 5px; }
.mavi-sk-card__body { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 20px; }
.mavi-sk-card__name { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.35rem; font-weight: 600; color: #0E2740; margin: 0; line-height: 1.2; }
.mavi-sk-card__tr { display: block; font-family: Mulish, system-ui, sans-serif; font-size: .82rem; font-style: italic; color: #9a7b3e; margin: 2px 0 0; }
.mavi-sk-card__desc { font-family: Mulish, system-ui, sans-serif; color: #55606b; font-size: .9rem; line-height: 1.5; margin: 9px 0 0; }
.mavi-sk-card__foot { margin-top: auto; padding-top: 14px; display: flex; align-items: baseline; justify-content: flex-end; }
.mavi-sk-card__price .mavi-sk-price { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.4rem; font-weight: 700; color: #C39A4E; }
.mavi-sk-card.is-unavailable { opacity: .62; }
.mavi-sk-card.is-unavailable .mavi-sk-card__name { text-decoration: line-through; }
.mavi-sk-card .mavi-sk-variants { margin: 10px 0 0; }

/* TR-Name in Liste / Kachel / Spezialität / Einzelansicht */
.mavi-sk-item__tr { display: block; font-family: Mulish, sans-serif; font-size: .82rem; font-style: italic; color: #9a7b3e; margin: 2px 0 0; }
.mavi-sk-tile__tr { display: block; font-family: Mulish, sans-serif; font-size: .82rem; font-style: italic; color: #9a7b3e; margin: -2px 0 8px; }
.mavi-sk-single__tr { display: block; font-family: Mulish, sans-serif; font-style: italic; color: #9a7b3e; margin: 0 0 8px; }

/* Spezialitäten-Grid steuerbar über Spalten-Variablen */
.mavi-sk-specials { grid-template-columns: repeat(var(--mavi-cd, 4), minmax(0, 1fr)); }
.mavi-sk-specials__title { font-family: "Cormorant Garamond", Georgia, serif; text-align: center; color: #0E2740; font-size: 2rem; margin: 0 0 6px; }
.mavi-sk-tile__img.is-empty { background: linear-gradient(135deg, #0E2740, #0A1C2E); position: relative; }
.mavi-sk-tile__img.is-empty::after { content: "MAVI"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(195,154,78,.5); font-family: "Cormorant Garamond", serif; font-size: 1.8rem; letter-spacing: .3em; }

.mavi-sk-pdf-sub { display: inline-block; margin-left: 12px; font-family: Mulish, sans-serif; font-size: .78rem; color: #0E2740; text-decoration: underline; }

/* ---- Responsive: Spalten für Tablet und Smartphone ---- */
@media (max-width: 900px) {
    .mavi-sk-grid { grid-template-columns: repeat(var(--mavi-ct, 2), minmax(0, 1fr)); gap: 18px; }
    .mavi-sk-specials { grid-template-columns: repeat(var(--mavi-ct, 2), minmax(0, 1fr)); }
    .mavi-sk-filter { top: 72px; }
}
@media (max-width: 600px) {
    .mavi-sk-grid { grid-template-columns: repeat(var(--mavi-cm, 1), minmax(0, 1fr)); gap: 16px; }
    .mavi-sk-specials { grid-template-columns: repeat(var(--mavi-cm, 1), minmax(0, 1fr)); }
    .mavi-sk-card__name { font-size: 1.2rem; }
    .mavi-sk-filter { top: 64px; margin-bottom: 22px; }
    .mavi-sk-filter__btn { padding: 8px 14px; font-size: .68rem; }
}

/* ==========================================================================
   Zentrale Farb-Variablen (im Backend per Color-Picker überschreibbar)
   ========================================================================== */
:root {
    --mavi-gold: #C39A4E;
    --mavi-navy: #0E2740;
    --mavi-heading: #0E2740;
    --mavi-price: #C39A4E;
    --mavi-text: #55606b;
    --mavi-border: #e4dccb;
    --mavi-button: #0E2740;
    --mavi-button-text: #ffffff;
    --mavi-card-bg: #ffffff;
}
/* Kernelemente auf Variablen umgestellt */
.mavi-sk-card { background: var(--mavi-card-bg); }
.mavi-sk-card__name, .mavi-sk-modal__name { color: var(--mavi-heading); }
.mavi-sk-card__price .mavi-sk-price, .mavi-sk-price, .mavi-sk-modal__price .mavi-sk-price, .mavi-sk-tile__price .mavi-sk-price { color: var(--mavi-price); }
.mavi-sk-card__desc { color: var(--mavi-text); }
.mavi-sk-filter__btn.is-active { background: var(--mavi-navy); border-color: var(--mavi-navy); }
.mavi-sk-card__badge { background: var(--mavi-gold); }
.mavi-sk-btn--gold { background: var(--mavi-gold); }
.mavi-btn.mavi-sk-view-btn { background: var(--mavi-button); color: var(--mavi-button-text); }

/* ==========================================================================
   Bild-Lightbox (Zoom / Pan / Vollbild)
   ========================================================================== */
.mavi-lightbox { position: fixed; inset: 0; z-index: 100000; display: none; background: rgba(6,14,24,.94); }
.mavi-lightbox.is-open { display: block; }
.mavi-lightbox__bar { position: absolute; top: 0; right: 0; left: 0; display: flex; justify-content: flex-end; gap: 8px; padding: 14px; z-index: 2; }
.mavi-lightbox__btn { width: 44px; height: 44px; border: 0; border-radius: 8px; background: rgba(255,255,255,.14); color: #fff; font-size: 1.3rem; cursor: pointer; line-height: 1; transition: background .15s; }
.mavi-lightbox__btn:hover { background: rgba(255,255,255,.28); }
.mavi-lightbox__stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: none; }
.mavi-lightbox__img { max-width: 96vw; max-height: 92vh; transform-origin: center center; transition: transform .05s linear; user-select: none; -webkit-user-drag: none; }
.mavi-lightbox__hint { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; color: rgba(255,255,255,.6); font-family: Mulish, sans-serif; font-size: .78rem; pointer-events: none; }

/* ==========================================================================
   Detailansicht (Modal) + Galerie-Karussell
   ========================================================================== */
.mavi-sk-card.is-clickable { cursor: pointer; }
.mavi-sk-card.is-clickable:focus-visible { outline: 2px solid var(--mavi-gold); outline-offset: 2px; }
.mavi-sk-modal { position: fixed; inset: 0; z-index: 99990; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(6,14,24,.72); }
.mavi-sk-modal.is-open { display: flex; }
.mavi-sk-modal__box { position: relative; width: 100%; max-width: 920px; max-height: 92vh; overflow: auto; background: #fff; border-radius: 16px; display: grid; grid-template-columns: 1.1fr 1fr; }
.mavi-sk-modal__close { position: absolute; top: 12px; right: 12px; z-index: 3; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(14,39,64,.8); color: #fff; font-size: 1.4rem; cursor: pointer; line-height: 1; }
.mavi-sk-modal__loading { grid-column: 1 / -1; padding: 60px; text-align: center; font-family: Mulish, sans-serif; color: #55606b; }
.mavi-sk-modal__gallery { background: #0E2740; min-height: 320px; display: flex; align-items: center; }
.mavi-sk-gal { position: relative; width: 100%; overflow: hidden; }
.mavi-sk-gal__track { display: flex; transition: transform .3s ease; }
.mavi-sk-gal__slide { flex: 0 0 100%; aspect-ratio: 1 / 1; }
.mavi-sk-gal__slide img, .mavi-sk-gal__slide video { width: 100%; height: 100%; object-fit: cover; display: block; }
.mavi-sk-gal__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255,255,255,.85); color: #0E2740; font-size: 1.6rem; cursor: pointer; line-height: 1; }
.mavi-sk-gal__prev { left: 10px; } .mavi-sk-gal__next { right: 10px; }
.mavi-sk-gal__count { position: absolute; top: 12px; left: 12px; background: rgba(6,14,24,.6); color: #fff; font-family: Mulish, sans-serif; font-size: .78rem; padding: 4px 10px; border-radius: 999px; }
.mavi-sk-gal__thumbs { position: absolute; bottom: 8px; left: 0; right: 0; display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; padding: 0 8px; }
.mavi-sk-gal__thumb { width: 44px; height: 44px; border: 2px solid transparent; border-radius: 6px; overflow: hidden; padding: 0; cursor: pointer; background: #0a1c2e; }
.mavi-sk-gal__thumb.is-active { border-color: var(--mavi-gold); }
.mavi-sk-gal__thumb img { width: 100%; height: 100%; object-fit: cover; }
.mavi-sk-gal__play { color: #fff; font-size: 1rem; }
.mavi-sk-gal__empty { width: 100%; text-align: center; color: rgba(195,154,78,.5); font-family: "Cormorant Garamond", serif; font-size: 2.4rem; letter-spacing: .3em; }
.mavi-sk-modal__body { padding: 28px 30px; }
.mavi-sk-modal__name { font-family: "Cormorant Garamond", Georgia, serif; font-size: 2rem; margin: 0 0 4px; }
.mavi-sk-modal__tr { font-style: italic; color: #9a7b3e; margin: 0 0 6px; font-family: Mulish, sans-serif; }
.mavi-sk-modal__cat { text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; color: var(--mavi-gold); font-family: Mulish, sans-serif; margin: 0 0 10px; }
.mavi-sk-modal__desc { color: var(--mavi-text); line-height: 1.6; font-family: Mulish, sans-serif; }
.mavi-sk-modal__meta { font-size: .85rem; color: #55606b; font-family: Mulish, sans-serif; margin: 6px 0 0; }
.mavi-sk-modal__foot { margin-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.mavi-sk-modal__price .mavi-sk-price { font-family: "Cormorant Garamond", serif; font-size: 1.7rem; font-weight: 700; }
.mavi-sk-pdfwrap { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: center; margin-top: 40px; }
.mavi-sk-pdf-subs { flex-basis: 100%; text-align: center; margin-top: 4px; }

@media (max-width: 700px) {
    .mavi-sk-modal__box { grid-template-columns: 1fr; }
    .mavi-sk-modal__gallery { min-height: 240px; }
    .mavi-sk-modal__body { padding: 20px; }
    .mavi-sk-modal__name { font-size: 1.6rem; }
}

/* ==========================================================================
   Logo oben auf der Speisekarte
   ========================================================================== */
:root { --mavi-menu-bg: #0B1F34; --mavi-menu-frame: #1E4A75; --mavi-menu-text: #ffffff; --mavi-menu-accent: #ffffff; }
.mavi-sk-menulogo { text-align: center; margin: 0 auto 34px; }
.mavi-sk-menulogo__img { display: block; margin: 0 auto; width: auto; max-width: min(360px, 78%); max-height: 150px; height: auto; }
.mavi-sk-menulogo__img.is-tinted { filter: brightness(0) invert(1); }
.mavi-sk-menulogo__word { display: block; font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif; font-size: clamp(2.6rem, 8vw, 4.4rem); letter-spacing: .14em; line-height: 1; color: var(--mavi-heading); }
.mavi-sk-menulogo__sub { display: block; margin-top: 8px; font-family: Montserrat, Mulish, sans-serif; font-size: .8rem; letter-spacing: .6em; color: var(--mavi-heading); }
.mavi-sk-menulogo__line { display: block; width: 90px; height: 1px; margin: 22px auto 0; background: var(--mavi-gold); }

/* ==========================================================================
   Farbschema „Blau": blauer Hintergrund, weiße Schrift, Linien & Logo
   ========================================================================== */
.mavi-sk-menu--dark {
    --mavi-heading: var(--mavi-menu-text);
    --mavi-price: var(--mavi-menu-accent);
    --mavi-gold: var(--mavi-menu-accent);
    --mavi-text: rgba(255,255,255,.78);
    --mavi-border: var(--mavi-menu-frame);
    --mavi-card-bg: rgba(255,255,255,.045);
    --mavi-button: var(--mavi-menu-text);
    --mavi-button-text: var(--mavi-menu-bg);
    position: relative;
    background: var(--mavi-menu-bg);
    color: var(--mavi-menu-text);
    padding: clamp(34px, 6vw, 72px) clamp(18px, 4vw, 56px);
    /* Hintergrund über die volle Seitenbreite ziehen */
    box-shadow: 0 0 0 100vmax var(--mavi-menu-bg);
    clip-path: inset(0 -100vmax);
}
.mavi-sk-menu--dark::before { content: ""; position: absolute; inset: 12px; border: 1px solid var(--mavi-menu-frame); pointer-events: none; }
.mavi-sk-menu--dark .mavi-sk-menulogo__line,
.mavi-sk-menu--dark .mavi-sk-divider { background: var(--mavi-menu-accent); }
.mavi-sk-menu--dark .mavi-sk-cat__title,
.mavi-sk-menu--dark .mavi-sk-item__name,
.mavi-sk-menu--dark .mavi-sk-card__name { color: var(--mavi-menu-text); }
.mavi-sk-menu--dark .mavi-sk-item__price,
.mavi-sk-menu--dark .mavi-sk-price,
.mavi-sk-menu--dark .mavi-sk-card__price .mavi-sk-price,
.mavi-sk-menu--dark .mavi-sk-item__nr,
.mavi-sk-menu--dark .mavi-sk-badge { color: var(--mavi-menu-accent); }
.mavi-sk-menu--dark .mavi-sk-cat__desc,
.mavi-sk-menu--dark .mavi-sk-item__desc,
.mavi-sk-menu--dark .mavi-sk-card__desc,
.mavi-sk-menu--dark .mavi-sk-variants li,
.mavi-sk-menu--dark .mavi-sk-legend { color: rgba(255,255,255,.75); }
.mavi-sk-menu--dark .mavi-sk-card__tr,
.mavi-sk-menu--dark .mavi-sk-item__tr { color: rgba(255,255,255,.62); }
.mavi-sk-menu--dark .mavi-sk-allerg,
.mavi-sk-menu--dark .mavi-sk-oldprice,
.mavi-sk-menu--dark .mavi-sk-unavail { color: rgba(255,255,255,.5); }
.mavi-sk-menu--dark .mavi-sk-item { border-bottom-color: rgba(255,255,255,.12); }
.mavi-sk-menu--dark .mavi-sk-item__dots { border-bottom-color: rgba(255,255,255,.35); }
.mavi-sk-menu--dark .mavi-sk-legend { border-top-color: var(--mavi-menu-frame); }
.mavi-sk-menu--dark .mavi-sk-card { border: 1px solid var(--mavi-menu-frame); box-shadow: none; }
.mavi-sk-menu--dark .mavi-sk-card:hover { box-shadow: 0 16px 40px rgba(0,0,0,.35); border-color: rgba(255,255,255,.35); }
.mavi-sk-menu--dark .mavi-sk-card__img { background: #10294a; }
.mavi-sk-menu--dark .mavi-sk-card__badge { background: var(--mavi-menu-text); color: var(--mavi-menu-bg); }
.mavi-sk-menu--dark .mavi-sk-filter { background: rgba(11,31,52,.94); background: color-mix(in srgb, var(--mavi-menu-bg) 94%, transparent); }
.mavi-sk-menu--dark .mavi-sk-filter__btn { background: transparent; color: var(--mavi-menu-text); border-color: var(--mavi-menu-frame); }
.mavi-sk-menu--dark .mavi-sk-filter__btn:hover { border-color: var(--mavi-menu-text); color: var(--mavi-menu-text); }
.mavi-sk-menu--dark .mavi-sk-filter__btn.is-active { background: var(--mavi-menu-text); border-color: var(--mavi-menu-text); color: var(--mavi-menu-bg); }
.mavi-sk-menu--dark .mavi-btn.mavi-sk-view-btn { background: var(--mavi-menu-text); color: var(--mavi-menu-bg); border-color: var(--mavi-menu-text); }
.mavi-sk-menu--dark .mavi-sk-pdfbtn { background: transparent; color: var(--mavi-menu-text); border: 1px solid var(--mavi-menu-text); }
.mavi-sk-menu--dark .mavi-sk-pdfbtn:hover { background: var(--mavi-menu-text); color: var(--mavi-menu-bg); }
.mavi-sk-menu--dark .mavi-sk-pdf-sub { color: rgba(255,255,255,.8); }
.mavi-sk-menu--dark .mavi-sk-notice { background: transparent; color: var(--mavi-menu-text); }

/* Detail-Pop-up im blauen Schema */
.mavi-sk-dark .mavi-sk-modal__box { background: var(--mavi-menu-bg); color: var(--mavi-menu-text); border: 1px solid var(--mavi-menu-frame); }
.mavi-sk-dark .mavi-sk-modal__name { color: var(--mavi-menu-text); }
.mavi-sk-dark .mavi-sk-modal__price .mavi-sk-price, .mavi-sk-dark .mavi-sk-modal__cat { color: var(--mavi-menu-accent); }
.mavi-sk-dark .mavi-sk-modal__desc, .mavi-sk-dark .mavi-sk-modal__meta, .mavi-sk-dark .mavi-sk-modal .mavi-sk-variants li { color: rgba(255,255,255,.78); }
.mavi-sk-dark .mavi-sk-modal__tr { color: rgba(255,255,255,.62); }
.mavi-sk-dark .mavi-sk-modal__gallery { background: #071524; }
.mavi-sk-dark .mavi-sk-modal__close { background: rgba(255,255,255,.18); }

@media (max-width: 600px) {
    .mavi-sk-menu--dark::before { inset: 7px; }
    .mavi-sk-menulogo { margin-bottom: 24px; }
}

/* ==========================================================================
   Video-Hinweis auf Kacheln + Frontend-Bearbeitung (nur für Admins sichtbar)
   ========================================================================== */
.mavi-sk-tile__img { position: relative; }
.mavi-sk-videobadge { position: absolute; left: 12px; bottom: 12px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: rgba(6,14,24,.72); color: #fff; font: 600 .7rem/1.3 Mulish, sans-serif; letter-spacing: .06em; pointer-events: none; }
.mavi-sk-editbtn { position: absolute; top: 10px; right: 10px; z-index: 3; padding: 7px 12px; border: 0; border-radius: 999px; background: #fff; color: #0E2740; font: 700 .74rem/1 Mulish, sans-serif; box-shadow: 0 4px 14px rgba(0,0,0,.25); cursor: pointer; }
.mavi-sk-editbtn:hover { background: #C39A4E; color: #0E2740; }
.mavi-sk-item .mavi-sk-editbtn, .mavi-sk-modal__foot .mavi-sk-editbtn { position: static; margin-top: 8px; box-shadow: none; border: 1px solid #C39A4E; }
.mavi-sk-item__main { position: relative; }

.mavi-sk-edit { position: fixed; inset: 0; z-index: 99995; display: none; align-items: center; justify-content: center; padding: 16px; background: rgba(6,14,24,.7); font-family: Mulish, system-ui, sans-serif; color: #1B2733; }
.mavi-sk-edit.is-open { display: flex; }
.mavi-sk-edit__box { width: 100%; max-width: 980px; max-height: 94vh; display: flex; flex-direction: column; background: #fff; border-radius: 14px; overflow: hidden; }
.mavi-sk-edit__head { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; background: #0E2740; color: #fff; }
.mavi-sk-edit__x { border: 0; background: none; color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.mavi-sk-edit__body { padding: 18px; overflow-y: auto; }
.mavi-sk-edit__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 22px; }
.mavi-sk-edit__f { display: block; margin-bottom: 12px; }
.mavi-sk-edit__f span, .mavi-sk-edit__label { display: block; font-size: .76rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #55606b; margin-bottom: 4px; }
.mavi-sk-edit__label { margin-top: 6px; }
.mavi-sk-edit__f input, .mavi-sk-edit__f textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #d5d9de; border-radius: 8px; font: inherit; font-size: 16px; color: #1B2733; background: #fff; }
.mavi-sk-edit__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mavi-sk-edit__chk { display: flex; gap: 8px; align-items: center; font-weight: 600; }
.mavi-sk-edit__thumb { width: 100%; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #EFE7D8; display: flex; align-items: center; justify-content: center; }
.mavi-sk-edit__thumb img { width: 100%; height: 100%; object-fit: cover; }
.mavi-sk-edit__noimg { color: #8a8f95; font-size: .85rem; }
.mavi-sk-edit__btns { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 14px; }
.mavi-sk-edit__btns button, .mavi-sk-edit__cancel, .mavi-sk-edit__save { padding: 9px 14px; border-radius: 8px; border: 1px solid #0E2740; background: #fff; color: #0E2740; font: 700 .85rem Mulish, sans-serif; cursor: pointer; }
.mavi-sk-edit__btns button:disabled { opacity: .4; cursor: default; }
.mavi-sk-edit__save { background: #0E2740; color: #fff; }
.mavi-sk-edit__save:disabled { opacity: .6; }
.mavi-sk-edit__media { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 10px; }
.mavi-sk-edit__m { position: relative; border: 1px solid #e1e4e8; border-radius: 8px; overflow: hidden; background: #0A1C2E; }
.mavi-sk-edit__m img, .mavi-sk-edit__m video { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.mavi-sk-edit__vt { position: absolute; top: 6px; left: 6px; padding: 2px 7px; border-radius: 999px; background: rgba(0,0,0,.65); color: #fff; font-size: .68rem; }
.mavi-sk-edit__mbar { display: flex; align-items: center; justify-content: space-between; gap: 2px; padding: 4px; background: #fff; }
.mavi-sk-edit__mbar button { flex: 1; min-height: 32px; border: 0; border-radius: 6px; background: #EFE7D8; color: #0E2740; cursor: pointer; font-size: .8rem; }
.mavi-sk-edit__mbar button:disabled { opacity: .35; }
.mavi-sk-edit__mbar button.is-del { background: #f7dcd8; color: #a3261a; }
.mavi-sk-edit__mbar span { min-width: 18px; text-align: center; font-size: .75rem; color: #55606b; }
.mavi-sk-edit__main { width: 100%; border: 0; border-top: 1px solid #eee; background: #fff; padding: 6px; font-size: .72rem; color: #0E2740; cursor: pointer; }
.mavi-sk-edit__hint { color: #6b737b; font-size: .8rem; margin: 6px 0; }
.mavi-sk-edit__hint.is-err, .mavi-sk-edit__msg.is-err { color: #a3261a; }
.mavi-sk-edit__foot { display: flex; align-items: center; gap: 10px; padding: 12px 18px; border-top: 1px solid #eee; flex-wrap: wrap; }
.mavi-sk-edit__msg { flex: 1; font-size: .85rem; color: #2f6f3e; }
.mavi-sk-edit__backend { font-size: .82rem; color: #55606b; }
@media (max-width: 760px) {
    .mavi-sk-edit { padding: 0; align-items: stretch; }
    .mavi-sk-edit__box { max-height: 100vh; border-radius: 0; }
    .mavi-sk-edit__grid { grid-template-columns: 1fr; }
    .mavi-sk-edit__foot { position: sticky; bottom: 0; background: #fff; }
    .mavi-sk-edit__save { flex: 1 1 100%; order: 5; padding: 13px; }
}

/* ==========================================================================
   2.4.0 – Pop-up einspaltig: Bild über die volle Breite, Vorschaubilder darunter
   (behebt die leere rechte Spalte)
   ========================================================================== */
.mavi-sk-modal__box { display: block; max-width: 880px; }
.mavi-sk-modal__content { display: block; }
.mavi-sk-modal__gallery { display: block; min-height: 0; background: #071524; }
.mavi-sk-gal { position: relative; width: 100%; aspect-ratio: 4 / 3; max-height: 68vh; overflow: hidden; background: #071524; }
.mavi-sk-gal__track { height: 100%; }
.mavi-sk-gal__slide { flex: 0 0 100%; height: 100%; aspect-ratio: auto; display: flex; align-items: center; justify-content: center; }
.mavi-sk-gal__slide img, .mavi-sk-gal__slide video { width: 100%; height: 100%; object-fit: contain; }
.mavi-sk-gal__nav { z-index: 2; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.mavi-sk-gal__count { z-index: 2; }
.mavi-sk-gal__thumbs { position: static; display: flex; justify-content: flex-start; flex-wrap: nowrap; gap: 8px; padding: 10px 12px; overflow-x: auto; scrollbar-width: thin; background: #0A1C2E; }
.mavi-sk-gal__thumb { flex: 0 0 auto; width: 68px; height: 68px; border: 2px solid transparent; border-radius: 8px; opacity: .55; transition: opacity .15s, border-color .15s; display: flex; align-items: center; justify-content: center; }
.mavi-sk-gal__thumb:hover { opacity: .85; }
.mavi-sk-gal__thumb.is-active { opacity: 1; border-color: var(--mavi-gold, #C39A4E); }
.mavi-sk-dark .mavi-sk-gal__thumb.is-active { border-color: var(--mavi-menu-text, #fff); }
.mavi-sk-gal__empty { padding: 60px 0; }
.mavi-sk-modal__body { padding: 24px 28px 28px; }
@media (max-width: 700px) {
    .mavi-sk-modal { padding: 0; align-items: flex-end; }
    .mavi-sk-modal__box { max-height: 94vh; border-radius: 16px 16px 0 0; }
    .mavi-sk-gal { max-height: 56vh; }
    .mavi-sk-gal__thumb { width: 56px; height: 56px; }
    .mavi-sk-gal__nav { width: 38px; height: 38px; font-size: 1.4rem; }
    .mavi-sk-modal__body { padding: 18px 18px 24px; }
}

/* ==========================================================================
   Mini-Galerie in der Speisekarten-Kachel (Pfeile, Punkte, Swipe)
   ========================================================================== */
.mavi-sk-cs { overflow: hidden; touch-action: pan-y; }
.mavi-sk-cs__track { display: flex; height: 100%; transition: transform .35s ease; will-change: transform; }
.mavi-sk-cs__slide { flex: 0 0 100%; height: 100%; }
.mavi-sk-cs__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mavi-sk-cs__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.82); color: #0E2740; font-size: 1.35rem; line-height: 1; cursor: pointer; opacity: .75; transition: opacity .2s, background .2s; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.mavi-sk-cs__prev { left: 8px; } .mavi-sk-cs__next { right: 8px; }
.mavi-sk-card:hover .mavi-sk-cs__nav, .mavi-sk-cs__nav:focus-visible { opacity: 1; }
.mavi-sk-cs__nav:hover { background: #fff; }
.mavi-sk-cs__dots { position: absolute; left: 0; right: 0; bottom: 9px; z-index: 2; display: flex; justify-content: center; gap: 6px; pointer-events: none; }
.mavi-sk-cs__dots span { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.55); box-shadow: 0 0 3px rgba(0,0,0,.35); transition: background .2s, transform .2s; }
.mavi-sk-cs__dots span.is-active { background: #fff; transform: scale(1.25); }
.mavi-sk-cs .mavi-sk-videobadge { bottom: 26px; }
@media (hover: none) { .mavi-sk-cs__nav { opacity: .9; width: 32px; height: 32px; } }

/* ==========================================================================
   Speisekarten-Logo: Größe Desktop/Mobil aus „Speisekarte → Logo"
   ========================================================================== */
.mavi-sk-menulogo__img { width: var(--mavi-sk-logo-wd, 320px); max-width: 90%; height: auto; max-height: none; object-fit: contain; }
@media (max-width: 640px) { .mavi-sk-menulogo__img { width: var(--mavi-sk-logo-wm, 220px); } }

/* 2.5.1 – Buttons „Speisekarte anzeigen/herunterladen" oben und unten */
.mavi-sk-pdfwrap--top { margin: 0 0 28px; }
.mavi-sk-pdfwrap--bottom { margin-top: 40px; }
.mavi-sk-pdfwrap .mavi-btn { margin: 0; }
@media (max-width: 600px) {
    .mavi-sk-pdfwrap { gap: 10px; }
    .mavi-sk-pdfwrap .mavi-btn { flex: 1 1 100%; text-align: center; }
    .mavi-sk-pdfwrap--top { margin-bottom: 20px; }
}
/* Scharfe Bilder in Listenansicht */
.mavi-sk-item__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 2.6.0 – Startseiten-Kacheln: Farben einstellbar (Standard unverändert weiß) */
.mavi-sk-tile { background: var(--mavi-home-bg, #fff); }
.mavi-sk-tile__name { color: var(--mavi-home-name, #0E2740); }
.mavi-sk-tile__desc { color: var(--mavi-home-text, #4a5560); }
.mavi-sk-tile__price .mavi-sk-price { color: var(--mavi-home-price, #C39A4E); }
.mavi-sk-tile__tr { color: var(--mavi-home-text, #9a7b3e); opacity: .85; }

/* 2.6.1 – Startseiten-Kacheln nutzen die volle Inhaltsbreite (bündig links und rechts) */
.mavi-sk-specials { max-width: none; width: 100%; }

/* Reihenfolge ändern (nur für Bearbeiter sichtbar) */
.mavi-sk-sortbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 0 0 16px; }
.mavi-sk-sortbtn { padding: 8px 14px; border: 1px solid #C39A4E; border-radius: 999px; background: transparent; color: inherit; font: 700 .78rem/1.2 Mulish, sans-serif; cursor: pointer; }
.mavi-sk-sortbtn:hover, .mavi-sk-sortbtn.is-save { background: #C39A4E; color: #0E2740; }
.mavi-sk-sortbtn.is-link { border-color: transparent; text-decoration: underline; font-weight: 600; }
.mavi-sk-sortbar__hint { width: 100%; text-align: center; font-size: .82rem; opacity: .8; }
.mavi-sk-sortbar__msg { width: 100%; text-align: center; font-size: .85rem; font-weight: 700; }
.mavi-sk-sortbar__msg.is-err { color: #e0574a; }
.is-sorting > [data-id] { position: relative; outline: 2px dashed rgba(195,154,78,.7); outline-offset: 3px; transition: transform .15s; }
.is-sorting > [data-id].is-dragging { opacity: .55; transform: scale(.97); outline-style: solid; }
.is-sorting .mavi-sk-editbtn { display: none; }
.mavi-sk-sorth { position: absolute; left: 50%; top: 10px; transform: translateX(-50%); z-index: 6; display: flex; align-items: center; gap: 4px; padding: 4px; border-radius: 999px; background: #0E2740; box-shadow: 0 4px 14px rgba(0,0,0,.3); }
.mavi-sk-item .mavi-sk-sorth { top: 50%; left: auto; right: 8px; transform: translateY(-50%); }
.mavi-sk-sorth button { width: 34px; height: 34px; border: 0; border-radius: 50%; background: #C39A4E; color: #0E2740; font-size: .9rem; cursor: pointer; }
.mavi-sk-sorth button:disabled { opacity: .35; cursor: default; }
.mavi-sk-sorth__grip { min-width: 52px; padding: 0 8px; color: #fff; font: 700 .9rem/34px Mulish, sans-serif; text-align: center; cursor: grab; touch-action: none; user-select: none; }
.mavi-sk-sorth__grip:active { cursor: grabbing; }
.mavi-sk-sortbar[data-term] { position: fixed; left: 50%; bottom: 12px; transform: translateX(-50%); width: min(640px, calc(100% - 24px)); z-index: 9990; margin: 0; padding: 10px 12px; border-radius: 16px; background: #0E2740; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.45); }
.mavi-sk-sortbar[data-term] .mavi-sk-sortbtn { color: #fff; }
.mavi-sk-sortbar[data-term] .mavi-sk-sortbtn.is-save { color: #0E2740; }
body.mavi-sk-sorting { padding-bottom: 150px; }
