/* ==========================================================
   RIVA SPEISEKARTEN - CSS
   VERSION: 4
   ABLAGEORT: /site/templates/styles/speisekarte-styles.css
   Fast unveraendert aus dem bestehenden System uebernommen -
   nur die WP-spezifische ".the-content"-Regel entfernt (gibt es
   bei uns nicht).
   ========================================================== */

/* Schriften kommen jetzt lokal aus fonts.css (global in _main.php
   eingebunden) - kein externer Aufruf an Google mehr noetig. Caveat
   und Oswald werden dort bereits in den hier benoetigten Schnitten
   bereitgestellt; Montserrat wurde durch Barlow ersetzt (im Projekt
   etablierte Fliesstext-Schrift, siehe fonts.css). */

@keyframes rivaSpin { to { transform: rotate(360deg); } }

.landing-stage, .landing-stage * { box-sizing: border-box; }

.landing-stage {
    --bg-paper: #fdfbf7;
    --text-dark: #1e1e1e;
    --text-muted: #666666;
    --accent-gold: #d4a373;
    --accent-green: #2e7d32;
    --banner-bg: #373c40;
    --border-color: #e5dfd3;
    --font-script: 'Caveat', cursive;
    --font-title: 'Oswald', sans-serif;
    --font-body: 'Barlow', sans-serif;
    position: relative;
}

.menu-card-root {
    width: 100%; max-width: 760px; margin: 0 auto;
    background-color: var(--bg-paper);
    background-image: radial-gradient(#ece6d9 1px, transparent 1px);
    background-size: 18px 18px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
    overflow: hidden;
    font-family: var(--font-body); color: var(--text-dark);
    border: 1px solid var(--border-color);
}

.menu-hero { width: 100%; height: 220px; position: relative; overflow: hidden; }
.menu-hero img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0; transition: opacity 0.7s ease; }
.menu-hero img.loaded { opacity: 1; }
.menu-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.3) 60%, transparent 100%); padding: 35px; color: #fff; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; text-align: left; pointer-events: none; }
.hero-script { font-family: var(--font-script); font-size: 2.5rem; color: #f0e6d2; display: block; line-height: 0.9; }
.hero-title { font-family: var(--font-title); font-size: 3.4rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; line-height: 1; color: #ffffff !important; text-shadow: 0 2px 10px rgba(0,0,0,0.7); padding-top: 10px !important; margin: 0; }
h1.hero-title:after { display: none !important; }

.menu-content { padding: 35px 40px; }
.category-note { font-size: 0.9rem; color: var(--text-muted); font-style: italic; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 1px dashed var(--border-color); line-height: 1.45; }

.menu-item { margin-bottom: 20px; }
.item-row { display: flex; justify-content: space-between; align-items: baseline; }
.item-left { display: flex; align-items: baseline; gap: 6px; }
.item-number { font-family: var(--font-title); font-weight: 700; font-size: 1.15rem; color: var(--text-dark); opacity: 0.7; }
.item-name { font-family: var(--font-title); font-size: 1.28rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.item-dots { flex-grow: 1; border-bottom: 1px dotted var(--border-color); margin: 0 8px; position: relative; top: -4px; }
.item-price { font-family: var(--font-title); font-size: 1.35rem; font-weight: 700; white-space: nowrap; }
.item-desc { font-size: 0.88rem; color: var(--text-muted); padding-left: 28px; margin-top: 3px; line-height: 1.4; }

.allergen { font-size: 1em; font-weight: 600; color: #777777; margin-left: 3px; }
.veg-icon { display: inline-block; width: 13px; height: 13px; background-color: var(--accent-green); clip-path: polygon(50% 0%,100% 50%,50% 100%,0% 50%); margin-left: 5px; }
.badge-inline { display: inline-block; background: #f0ece1; border: 1px dashed #c0b8a6; padding: 3px 10px; border-radius: 4px; font-size: 0.8rem; font-weight: 600; margin-top: 6px; margin-left: 28px; }

.drinks-row { display: flex; align-items: baseline; gap: 10px; padding: 8px 0; border-bottom: 1px dotted var(--border-color); }
.drinks-row:last-child { border-bottom: none; }
.drinks-name-col { flex: 1; min-width: 0; }
.drinks-name { font-family: var(--font-title); font-weight: 700; font-size: 1.05rem; color: var(--text-dark); text-transform: uppercase; }
.drinks-desc { font-size: 0.82rem; color: var(--text-muted); margin-top: 2px; line-height: 1.3; }
.drinks-col { width: 62px; flex-shrink: 0; text-align: right; font-family: var(--font-title); font-weight: 700; color: var(--text-dark); font-size: 0.95rem; }
.drinks-col-group { display: flex; gap: 16px; margin-left: auto; flex-shrink: 0; }
.drinks-col-group .drinks-col-auto { width: auto; }
.drinks-header-row { border-bottom: 2px solid var(--border-color); padding-bottom: 6px; margin-bottom: 4px; }
.drinks-header-row .drinks-col { font-family: var(--font-body); font-weight: 600; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); }
.drinks-highlight-dark { background: var(--banner-bg); border-radius: 8px; padding: 10px 12px; margin: 4px 0; border-bottom: none; }
.drinks-highlight-dark .drinks-name, .drinks-highlight-dark .drinks-col { color: #ffffff; }
.drinks-highlight-dark .drinks-desc { color: #cccccc; }
.drinks-highlight-light { background: #ffffff; box-shadow: 0 4px 14px rgba(0,0,0,0.12); border-radius: 8px; padding: 10px 12px; margin: 4px 0; border-bottom: none; }
.drinks-highlight-light .drinks-name, .drinks-highlight-light .drinks-col { color: #1e1e1e; }
.drinks-highlight-light .drinks-desc { color: #666666; }
@media (max-width: 480px) {
    .drinks-col { width: 46px; font-size: 0.85rem; }
    .drinks-col-group { gap: 12px; }
    .drinks-name { font-size: 0.95rem; }
}

.extras-panel { background-color: var(--banner-bg); color: #ffffff; border-radius: 10px; padding: 24px 22px; margin: 30px 0 10px 0; }
.extras-header { font-family: var(--font-script); font-size: 2rem; color: #f0e6d2; text-align: center; margin-bottom: 16px; }
.extras-info { text-align: center; font-size: 0.85rem; color: #dddddd; opacity: 0.85; margin: -8px 0 16px; }
.extras-row { margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px dashed rgba(255,255,255,0.15); }
.extras-row:last-child { border-bottom: none; margin-bottom: 0; }
.extras-row-line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.extras-list { font-size: 0.85rem; color: #dddddd; }
.extras-price { font-family: var(--font-title); font-weight: 700; color: var(--accent-gold); text-align: right; font-size: 1.1rem; white-space: nowrap; }
.extras-panel.style-dark { background: #1e1e1e; color: #ffffff; }
.extras-panel.style-light { background: #ffffff; color: var(--text-dark); box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
.extras-panel.style-light .extras-header { color: var(--accent-gold); }
.extras-panel.style-light .extras-info, .extras-panel.style-light .extras-list { color: var(--text-muted); }
.extras-panel.style-light .extras-row { border-bottom-color: var(--border-color); }
.extras-panel.style-light .extras-row-title { color: var(--accent-gold); }
.extras-panel.style-border { background: #ffffff; color: #1e1e1e; border: 1.5px solid var(--accent-gold); }
.extras-panel.style-border .extras-header { color: #1e1e1e; }
.extras-panel.style-border .extras-info, .extras-panel.style-border .extras-list { color: #666666; }
.extras-panel.style-border .extras-row { border-bottom-color: #e5dfd3; }
.extras-panel.style-border .extras-row-title { color: var(--accent-gold); }
.extras-panel.style-outline { background: #ffffff; color: #1e1e1e; border: 1.5px dashed var(--accent-gold); }
.extras-panel.style-outline .extras-header { color: #1e1e1e; }
.extras-panel.style-outline .extras-info, .extras-panel.style-outline .extras-list { color: #666666; }
.extras-panel.style-outline .extras-row { border-bottom-color: #e5dfd3; }
.extras-panel.style-outline .extras-row-title { color: var(--accent-gold); }
.extras-panel.style-gradient { background: linear-gradient(135deg, var(--banner-bg) 0%, transparent 100%); color: #ffffff; }

.allergen-footer { background-color: #f3ede2; padding: 16px 40px; border-top: 1px solid var(--border-color); font-size: 0.78rem; color: #666666; }
.veg-legend { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; font-weight: 600; }

@media (max-width: 768px) {
    .menu-card-root { border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,0.1); }
    .menu-hero { height: 220px; }
    .menu-hero-overlay { padding: 20px; }
    .hero-script { font-size: 1.8rem; }
    .hero-title { font-size: 2.2rem; padding-top: 5px !important; }
    .menu-content { padding: 20px 16px; }
    .item-name { font-size: 1.1rem; }
    .item-price { font-size: 1.15rem; }
    .item-desc { padding-left: 0; margin-top: 4px; }
    .badge-inline { margin-left: 0; }
    .extras-panel { padding: 18px 14px; margin: 20px 0 5px 0; }
    .extras-header { font-size: 1.6rem; }
    .allergen-footer { padding: 16px 20px; }
}
@media (max-width: 480px) {
    .item-row { flex-wrap: wrap; }
    .item-dots { display: none; }
    .item-price { margin-left: auto; }
    .hero-title { font-size: 1.9rem; }
}

.top-slider-topbar { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; background-color: #292D38; }
.top-slider-topbar .hero-script { font-size: 1.5rem; color: #f0e6d2; display: block; line-height: 1; }
.top-slider-topbar .hero-title { font-size: 1.8rem !important; margin-top: 4px !important; }
.top-slider-wrap { position: relative; padding: 14px 24px 20px; }
.top-slider { position: relative; border-radius: 12px; overflow: hidden; height: 220px; }
.top-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 0.6s ease; }
.top-slide.active { opacity: 1; z-index: 1; }
.top-slide img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0; transition: opacity 0.5s ease; }
.top-slide img.loaded { opacity: 1; }
.top-slide-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 60%); padding: 18px; display: flex; align-items: flex-end; justify-content: space-between; color: #fff; }
.top-slide-text { font-family: var(--font-title); font-weight: 700; text-transform: uppercase; font-size: 1.15rem; }
.top-dots { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); display: flex; gap: 5px; z-index: 3; }
.top-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(0,0,0,0.25); }
.top-dot.active { background: var(--accent-gold); }
@media (max-width: 768px) {
    .top-slider-topbar { padding: 16px 16px 0; }
    .top-slider { height: 180px; }
    .top-slide-text { font-size: 1rem; }
}


/* ==========================================================
   SCHMALER SEITEN-HEADER: .page-header selbst ist jetzt global in
   header-styles.css (immer geladen) - hier nur noch die
   speisekarte-eigene Eyebrow-Klasse, die sonst nirgends vorkommt.
   ========================================================== */
.menu-header-script{font-size:26px;color:var(--accent);display:inline-block;}

/* ==========================================================
   LANDING-KACHELN (Speisekarte / Getraenke / Fruehstueck-Werbung)
   Im echten Riva-Look statt des alten Papier/Gold-Designs.
   ========================================================== */
.menu-landing{padding:60px 0;transition:opacity 0.35s ease, transform 0.35s ease;}
.menu-landing.sk-fade-out{opacity:0;transform:translateY(-16px);pointer-events:none;}
.menu-wrap.sk-fade-start{opacity:0;transform:translateY(16px);}

/* ---------- Sprach-Umschalter ---------- */
.lang-toggle-wrap{
  display:inline-flex;gap:2px;background:var(--surface-alt,#F3F0E8);border-radius:20px;
  padding:3px;margin:0 0 20px;
}
.lang-toggle-btn{
  padding:6px 18px;border-radius:17px;font-family:'Oswald',sans-serif;font-weight:600;
  font-size:12.5px;letter-spacing:.03em;color:var(--text-muted);background:none;border:none;
  cursor:pointer;transition:background .25s var(--ease,ease),color .25s var(--ease,ease);
}
.lang-toggle-btn.active{background:var(--accent-deep);color:#fff;}
.lang-toggle-btn:not(.active):hover{color:var(--text);}

/* ---------- Animierter Sprachwechsel (Grid & Detail-Ansicht) ---------- */
#categoryGridWrap,#menuDetailSection{transition:opacity .22s ease,transform .22s ease;}
#categoryGridWrap.lang-fade-out,#menuDetailSection.lang-fade-out{opacity:0;transform:translateY(-8px);}
#categoryGridWrap.lang-fade-in,#menuDetailSection.lang-fade-in{animation:langFadeIn .35s ease;}
@keyframes langFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.menu-landing-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;}
.menu-landing-tile{
  position:relative;border-radius:3px;overflow:hidden;cursor:pointer;
  min-height:340px;background:var(--navy-2);
  box-shadow:var(--shadow-1);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.menu-landing-tile:hover{transform:translateY(-6px);box-shadow:var(--shadow-2);}
.menu-landing-tile .ph-flat{position:absolute;inset:0;border:none;border-radius:0;}
.menu-landing-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease,transform .6s ease;}
.menu-landing-tile img.loaded{opacity:1;}
.menu-landing-tile:hover img{transform:scale(1.06);}
.menu-landing-ov{
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(to top,rgba(18,20,27,.9) 0%,rgba(18,20,27,.15) 60%,transparent 100%);
  display:flex;flex-direction:column;justify-content:flex-end;padding:26px;color:#fff;
}
.menu-landing-title{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.01em;font-size:26px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5);margin-top:4px;}
.menu-landing-sub{color:#D5D8DF;font-size:14.5px;margin-top:8px;font-weight:300;}
.menu-landing-ad{border:1px dashed rgba(212,169,127,.5);}

@media(max-width:900px){
  .menu-landing-grid{grid-template-columns:1fr;}
  .menu-landing-tile{min-height:220px;}
}

/* ==========================================================
   GRID -> DETAIL (nach Landing-Auswahl)
   ========================================================== */
.back-link{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--text-muted);margin:34px 0 22px;transition:color .25s var(--ease);}
.back-link:hover{color:var(--accent-deep);}

.menu-wrap{padding:0 0 90px;transition:opacity 0.4s ease, transform 0.4s ease;}

.app-container{display:flex;align-items:flex-start;max-width:1200px;margin:0 auto;gap:32px;opacity:0;animation:skAppFadeIn 0.5s ease forwards;}
@keyframes skAppFadeIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

.category-section{flex:1;width:100%;min-width:0;transition:flex .7s var(--ease);}
.header-area{margin-bottom:22px;}
.back-btn{
  display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:var(--text-muted);
  font-family:'Barlow',sans-serif;font-weight:600;font-size:15px;cursor:pointer;padding:0;
  opacity:0;visibility:hidden;transform:translateX(-10px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s ease,color .2s ease;
}
.back-btn:hover{color:var(--accent-deep);}

#bannerAdsWrap{margin-bottom:22px;}
#bannerAdsWrap:empty{display:none;}
.sk-banner{
  position:relative;border-radius:6px;overflow:hidden;min-height:110px;display:flex;align-items:center;
  padding:20px 24px;color:#fff;background:var(--navy-2);background-size:cover;background-position:center;
  margin-bottom:12px;
}
.sk-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,27,.82) 0%,rgba(18,20,27,.35) 100%);}
.sk-banner > *{position:relative;z-index:1;}
.sk-banner-eyebrow{font-family:'Caveat',cursive;font-size:20px;color:var(--accent);display:block;}
.sk-banner-title{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:19px;letter-spacing:.01em;margin-top:2px;}
.sk-banner-sub{font-size:13.5px;color:#D5D8DF;margin-top:4px;font-weight:300;}

.category-grid-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;transition:all .7s var(--ease);}

.category-card{
  background:var(--surface);border-radius:6px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-1);
  cursor:pointer;display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);}
.category-card.active{pointer-events:none;}

.card-image-box{width:100%;height:145px;position:relative;overflow:hidden;background:var(--surface-alt);}
.card-image-box img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease,transform .5s ease;}
.card-image-box img.loaded{opacity:1;}
.category-card:hover .card-image-box img{transform:scale(1.05);}

.card-content{padding:12px 14px;}
.card-title{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:14.5px;letter-spacing:.01em;}

.menu-detail-section{
  flex:0;width:0;opacity:0;transform:translateX(60px);pointer-events:none;overflow:hidden;
  transition:opacity .5s ease,transform .5s ease,flex .7s var(--ease),width .7s var(--ease);
}

/* ---------- Zustand: eine Kategorie ist ausgewaehlt ---------- */
.app-container.detail-active .back-btn{opacity:1;visibility:visible;transform:translateX(0);}
.app-container.detail-active .category-section{flex:0 0 260px;}
.app-container.detail-active #bannerAdsWrap{display:none;}
.app-container.detail-active .category-grid-wrap{grid-template-columns:1fr;gap:8px;}
.app-container.detail-active .category-card{flex-direction:row;align-items:center;height:70px;}
.app-container.detail-active .category-card.active{border-color:var(--accent-deep);box-shadow:0 0 0 1px var(--accent-deep);}
.app-container.detail-active .card-image-box{width:76px;height:100%;flex-shrink:0;}
.app-container.detail-active .card-content{padding:6px 10px;}
.app-container.detail-active .card-title{font-size:12.5px;}
.app-container.detail-active .menu-detail-section{flex:1;width:auto;opacity:1;transform:translateX(0);pointer-events:auto;overflow:visible;}

/* ---------- Kartenwechsel INNERHALB der Detail-Ansicht (Klick auf andere Miniatur) ---------- */
.cat-panel{transition:transform .5s var(--ease);}
.cat-panel.enter-right{transform:translateX(60px);}
.cat-panel.enter-left{transform:translateX(-60px);}
.cat-panel.active{transform:translateX(0);}

@media(max-width:900px){
  .app-container{flex-direction:column;gap:20px;}
  .app-container.detail-active .category-section{flex:none;width:100%;}
  .app-container.detail-active .category-grid-wrap{display:none;}
  .app-container.detail-active .menu-detail-section{width:100%;}
}


.flex-sections-wrap { display: flex; flex-direction: column; gap: 8px; }
.flex-sections-wrap.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; align-items: start; }
.flex-section { margin-bottom: 22px; }
.flex-section-title { font-family: var(--font-script); font-size: 2rem; color: var(--accent-gold); margin-bottom: 14px; padding-bottom: 8px; border-bottom: 2px dashed var(--border-color); }
@media (max-width: 700px) { .flex-sections-wrap.grid2 { grid-template-columns: 1fr; } }

.item-style-dark .menu-item { background: #24272b; border-radius: 10px; padding: 14px 16px 14px 44px; margin-bottom: 12px; position: relative; }
.item-style-dark .menu-item .item-name { color: #ffffff; letter-spacing: 0.6px; }
.item-style-dark .menu-item .item-number { position: absolute; left: 14px; top: 16px; background: var(--accent-gold); color: #1e1e1e; opacity: 1; border-radius: 50%; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; font-size: 0.68rem; }
.item-style-dark .menu-item .item-left { padding-left: 0; }
.item-style-dark .menu-item .item-desc { color: #b9b9b9; padding-left: 0; }
.item-style-dark .menu-item .item-price { color: var(--accent-gold); }
.item-style-dark .menu-item .item-dots { border-bottom-color: rgba(255,255,255,0.2); }
.item-style-dark .menu-item .badge-inline { margin-left: 0; }
.item-style-border .menu-item { border-left: 4px solid var(--accent-gold); background: #ffffff; border-radius: 0 8px 8px 0; padding: 12px 16px; margin-bottom: 12px; }
.item-style-border .menu-item .item-name, .item-style-border .menu-item .item-number { color: #1e1e1e; letter-spacing: 1.3px; }
.item-style-border .menu-item .item-number { color: var(--accent-gold); font-style: italic; opacity: 1; }
.item-style-border .menu-item .item-desc { color: #666666; padding-left: 0; }
.item-style-border .menu-item .item-price { color: #c9915c; }
.item-style-border .menu-item .item-dots { border-bottom-color: #cccccc; }
.item-style-border .menu-item .badge-inline { margin-left: 0; }
.item-style-light .menu-item { background: #ffffff; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; box-shadow: 0 4px 16px rgba(0,0,0,0.18); }
.item-style-light .menu-item .item-name, .item-style-light .menu-item .item-number { color: #1e1e1e; opacity: 1; }
.item-style-light .menu-item .item-desc { color: #666666; padding-left: 0; }
.item-style-light .menu-item .item-price { color: #c9915c; }
.item-style-light .menu-item .item-dots { border-bottom-color: #cccccc; }
.item-style-light .menu-item .badge-inline { margin-left: 0; }
.item-style-outline .menu-item { border: 1.5px solid var(--accent-gold); border-radius: 10px; padding: 12px 14px; margin-bottom: 12px; background: #ffffff; }
.item-style-outline .menu-item .item-name, .item-style-outline .menu-item .item-number { color: #1e1e1e; opacity: 1; }
.item-style-outline .menu-item .item-desc { color: #666666; padding-left: 0; }
.item-style-outline .menu-item .item-price { color: #c9915c; }
.item-style-outline .menu-item .item-dots { border-bottom-color: #cccccc; }
.item-style-outline .menu-item .badge-inline { margin-left: 0; }
.item-style-gradient .menu-item { background: linear-gradient(120deg, var(--banner-bg) 0%, transparent 100%); border-radius: 10px; padding: 12px 14px 12px 18px; margin-bottom: 12px; }
.item-style-gradient .menu-item .item-desc { padding-left: 0; }
.item-style-gradient .menu-item .badge-inline { margin-left: 0; }

.item-style-dark .drinks-row { background: #24272b; border-radius: 10px; padding: 10px 14px; margin-bottom: 8px; border-bottom: none; }
.item-style-dark .drinks-row .drinks-name, .item-style-dark .drinks-row .drinks-col { color: #ffffff; }
.item-style-dark .drinks-row .drinks-desc { color: #b9b9b9; }
.item-style-border .drinks-row { border-left: 4px solid var(--accent-gold); background: #ffffff; border-radius: 0 8px 8px 0; padding: 10px 14px; margin-bottom: 8px; border-bottom: none; }
.item-style-border .drinks-row .drinks-name, .item-style-border .drinks-row .drinks-col { color: #1e1e1e; }
.item-style-border .drinks-row .drinks-desc { color: #666666; }
.item-style-light .drinks-row { background: #ffffff; box-shadow: 0 4px 16px rgba(0,0,0,0.18); border-radius: 12px; padding: 10px 14px; margin-bottom: 8px; border-bottom: none; }
.item-style-light .drinks-row .drinks-name, .item-style-light .drinks-row .drinks-col { color: #1e1e1e; }
.item-style-light .drinks-row .drinks-desc { color: #666666; }
.item-style-outline .drinks-row { border: 1.5px solid var(--accent-gold); background: #ffffff; border-radius: 10px; padding: 10px 14px; margin-bottom: 8px; border-bottom: none; }
.item-style-outline .drinks-row .drinks-name, .item-style-outline .drinks-row .drinks-col { color: #1e1e1e; }
.item-style-outline .drinks-row .drinks-desc { color: #666666; }
.item-style-gradient .drinks-row { background: linear-gradient(120deg, var(--banner-bg) 0%, transparent 100%); border-radius: 10px; padding: 10px 14px 10px 18px; margin-bottom: 8px; border-bottom: none; }

.menu-card-root.theme-ice_cream { --bg-paper:#232323; --text-dark:#f5f2ea; --text-muted:#c9c5ba; --accent-gold:#ffe08a; --accent-green:#5dd9c1; --banner-bg:#2e2e2e; --border-color:rgba(255,255,255,0.25); background-image: radial-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), radial-gradient(rgba(255,255,255,0.02) 1px, transparent 1px); background-size:14px 14px,22px 22px; background-position:0 0,7px 11px; }
.menu-card-root.theme-ice_cream .hero-script { color:#ffe08a; text-shadow:0 0 3px rgba(255,224,138,0.35); }
.menu-card-root.theme-ice_cream .hero-title { color:#ff8fc7 !important; text-shadow:0 0 4px rgba(255,143,199,0.4); }
.menu-card-root.theme-ice_cream .item-name { text-shadow:0 0 2px rgba(255,255,255,0.3); }
.menu-card-root.theme-ice_cream .item-desc { font-size:0.98rem; }
.menu-card-root.theme-ice_cream .item-row { align-items:center; }
.menu-card-root.theme-ice_cream .item-price { width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.72rem; color:#232323; text-align:center; line-height:1.1; flex-shrink:0; }
.menu-card-root.theme-ice_cream .menu-item:nth-child(odd) .item-price { background: var(--accent-green); }
.menu-card-root.theme-ice_cream .menu-item:nth-child(even) .item-price { background: var(--accent-gold); }
.menu-card-root.theme-ice_cream .flex-section-title { color:#ff8fc7; }

.menu-card-root.theme-drinks { --bg-paper:#292D38; --text-dark:#ffffff; --text-muted:#c7cad1; --accent-gold:#d4a373; --accent-green:#9caf6e; --banner-bg:#34394a; --border-color:#323847; background-image: radial-gradient(#323847 1.4px, transparent 1.4px); background-size:16px 16px; }
.menu-card-root.theme-drinks .item-dots, .menu-card-root.theme-drinks .flex-section .item-dots { border-bottom: 2px dotted var(--accent-gold); opacity:0.7; }
.menu-card-root.theme-drinks .item-desc { font-size:0.98rem; }
.menu-card-root.theme-drinks .allergen { color:#c9b09a; }

.menu-card-root.theme-nightlife { --text-dark:#e0f2ff; --text-muted:#93a8d6; --accent-gold:#7dd3fc; --accent-green:#22d3ee; --banner-bg:#16266b; --border-color:#2a3a7a; background: linear-gradient(180deg,#050a1f 0%,#0d1a4a 55%,#16266b 100%); position:relative; overflow:hidden; }
.menu-card-root.theme-nightlife::before { content:""; position:absolute; inset:0; background-image: radial-gradient(1.4px 1.4px at 10% 12%, #bfe0ff 50%, transparent 50%), radial-gradient(1.4px 1.4px at 25% 22%, #bfe0ff 50%, transparent 50%), radial-gradient(1.4px 1.4px at 42% 8%, #bfe0ff 50%, transparent 50%), radial-gradient(1.4px 1.4px at 58% 18%, #bfe0ff 50%, transparent 50%), radial-gradient(1.4px 1.4px at 74% 6%, #bfe0ff 50%, transparent 50%), radial-gradient(1.4px 1.4px at 88% 20%, #bfe0ff 50%, transparent 50%); opacity:0.5; animation: nightlifeTwinkle 3.5s ease-in-out infinite; pointer-events:none; z-index:0; }
@keyframes nightlifeTwinkle { 0%,100% { opacity:0.3; } 50% { opacity:0.8; } }
.menu-card-root.theme-nightlife::after { content:""; position:absolute; left:0; right:0; bottom:0; height:46px; background:#020509; clip-path: polygon(0% 100%,0% 40%,5% 40%,5% 60%,10% 60%,10% 20%,15% 20%,15% 55%,20% 55%,20% 35%,26% 35%,26% 65%,32% 65%,32% 15%,37% 15%,37% 50%,43% 50%,43% 30%,49% 30%,49% 60%,55% 60%,55% 20%,61% 20%,61% 45%,67% 45%,67% 10%,72% 10%,72% 55%,78% 55%,78% 35%,84% 35%,84% 62%,90% 62%,90% 25%,95% 25%,95% 48%,100% 48%,100% 100%); opacity:0.9; z-index:0; }
.menu-card-root.theme-nightlife .menu-hero, .menu-card-root.theme-nightlife .top-slider-topbar, .menu-card-root.theme-nightlife .top-slider-wrap, .menu-card-root.theme-nightlife .menu-content { position:relative; z-index:1; }
.menu-card-root.theme-nightlife .hero-title, .menu-card-root.theme-nightlife .flex-section-title, .menu-card-root.theme-nightlife .item-name { text-shadow: 0 0 14px rgba(125,211,252,0.4); }
.menu-card-root.theme-nightlife .item-price { text-shadow: 0 0 10px rgba(125,211,252,0.45); }
.menu-card-root.theme-nightlife .item-dots, .menu-card-root.theme-nightlife .flex-section .item-dots { border-bottom: 2px solid var(--accent-green); opacity:0.55; }
.menu-card-root.theme-nightlife .item-desc { font-size:0.98rem; }
.menu-card-root.theme-nightlife .allergen { color:#a8c5e8; }

.hero-star { position: absolute; top: 18px; right: 18px; background: var(--accent-gold); color: #fff; width: 76px; height: 76px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-align: center; padding: 8px; font-family: var(--font-title); font-weight: 700; font-size: 0.72rem; line-height: 1.15; text-transform: uppercase; transform: rotate(-8deg); box-shadow: 0 6px 16px rgba(0,0,0,0.3); z-index: 5; }
.extras-row-title { font-family: var(--font-title); font-weight: 700; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 0.4px; color: var(--accent-gold); margin-bottom: 3px; }

/* ==========================================================
   INLINE-BEARBEITUNG (nur fuer eingeloggte Redakteure)
   ========================================================== */
.menu-edit-toggle {
    display: block; margin: 0 auto 14px; padding: 10px 20px;
    background: #292E3A; color: #fff; border: none; border-radius: 20px;
    font-family: var(--font-title); font-weight: 700; text-transform: uppercase;
    font-size: 0.78rem; letter-spacing: 0.5px; cursor: pointer;
    transition: background 0.2s ease;
}
.menu-edit-toggle:hover { background: #454b5c; }
.menu-edit-toggle.active { background: var(--accent-green); }

.menu-item-editing { outline: 1px dashed rgba(212,163,115,0.5); border-radius: 6px; padding: 8px; margin: -8px -8px 12px; }

.editable-field {
    outline: 1px dashed rgba(212,163,115,0.6);
    border-radius: 3px;
    padding: 1px 4px;
    cursor: text;
    transition: background 0.2s ease, outline-color 0.2s ease;
}
.editable-field:hover { background: rgba(212,163,115,0.08); }
.editable-field:focus { outline: 2px solid var(--accent-gold); background: rgba(212,163,115,0.12); }
.editable-field.editable-block { display: block; margin-top: 2px; }

.editable-field.field-saving { outline-color: #999; opacity: 0.7; }
.editable-field.field-saved { outline-color: #2e7d32; background: rgba(46,125,50,0.12); }
.editable-field.field-error { outline-color: #b3392c; background: rgba(179,57,44,0.12); }

.veg-toggle { display: inline-flex; align-items: center; gap: 4px; font-size: 0.72rem; color: var(--accent-green); cursor: pointer; margin-left: 4px; }
.veg-toggle input { accent-color: var(--accent-green); }

.top-slider.top-slider-editing{height:auto;display:flex;flex-direction:column;gap:12px;}
.top-slider.top-slider-editing .top-slide{position:static;opacity:1;border-radius:8px;overflow:hidden;height:140px;}
.top-slider.top-slider-editing .top-slide-overlay{background:linear-gradient(to top,rgba(0,0,0,0.8) 0%,transparent 70%);}