
/* Automatische Nummerierung im Frontend: Speisen 1..n, Getränke ab 1 */
.mbh-menu .mbh-item-number{
  flex:0 0 auto!important;
  width:26px!important;
  margin-right:5px!important;
  font-weight:800!important;
  line-height:1.18!important;
  text-align:right!important;
  color:inherit!important;
}
.mbh-menu .mbh-title-row .mbh-title{
  flex:1 1 auto!important;
}
@media(max-width:700px){
  .mbh-menu .mbh-item-number{
    width:23px!important;
    margin-right:4px!important;
  }
}

/* ===== Nach-oben-Button im Frontend ===== */
.mbh-menu + .mbh-back-to-top,
.mbh-back-to-top{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  z-index:2147483647!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(17,24,39,.12)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#111827!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 5px 18px rgba(17,24,39,.14)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(8px)!important;
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease,box-shadow .2s ease!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:pointer!important;
}
.mbh-back-to-top.is-visible{
  opacity:.96!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.mbh-back-to-top .mbh-back-to-top-chevron{
  display:block!important;
  width:10px!important;
  height:10px!important;
  border-left:1.8px solid #111827!important;
  border-top:1.8px solid #111827!important;
  background:transparent!important;
  transform:rotate(45deg)!important;
}
.mbh-back-to-top:hover{
  box-shadow:0 7px 22px rgba(17,24,39,.20)!important;
  transform:translateY(-2px)!important;
}
.mbh-back-to-top:focus-visible{
  outline:2px solid #111827!important;
  outline-offset:3px!important;
}
@media(max-width:700px){
  .mbh-back-to-top{
    right:16px!important;
    bottom:16px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }
}

/* GETRÄNKE-KARTE: zentral, ohne Linie/Unterstrich, Typography/Farbe aus Karten-Navigation */
.mbh-menu .mbh-item.mbh-drinks-card-title{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.mbh-menu .mbh-item.mbh-drinks-card-title .mbh-title-row{
  justify-content:center;
}
.mbh-menu .mbh-item.mbh-drinks-card-title .mbh-title{
  text-align:center;
}
.mbh-menu h2.mbh-drinks-heading{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  border-bottom:0!important;
  border-top:0!important;
  text-decoration:none!important;
  padding:0!important;
  margin:0 0 24px!important;
}
.mbh-menu h2.mbh-drinks-heading::before,
.mbh-menu h2.mbh-drinks-heading::after{
  display:none!important;
  content:none!important;
}

/* ==========================================================
   WP-ADMIN: load this stylesheet in the plugin admin page too.
   The editor uses the full content area and no 1100px cap.
   ========================================================== */
body.toplevel_page_marien-beisl-html #wpcontent{
  padding-left:20px!important;
  padding-right:20px!important;
}
body.toplevel_page_marien-beisl-html #wpbody-content{
  width:100%!important;
  max-width:none!important;
  padding-bottom:40px!important;
}
body.toplevel_page_marien-beisl-html .wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.toplevel_page_marien-beisl-html .mbh-admin{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.toplevel_page_marien-beisl-html .mbh-admin #mbh-form,
body.toplevel_page_marien-beisl-html .mbh-editor,
body.toplevel_page_marien-beisl-html .mbh-live-section{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.toplevel_page_marien-beisl-html .mbh-live-title-row.mbh-title-price-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 220px!important;
  grid-template-areas:"title price"!important;
  gap:0 32px!important;
  width:100%!important;
}
body.toplevel_page_marien-beisl-html .mbh-live-title-row .mbh-live-title-control{
  grid-area:title!important;
  width:100%!important;
}
body.toplevel_page_marien-beisl-html .mbh-live-title-row .mbh-live-price-control{
  grid-area:price!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body.toplevel_page_marien-beisl-html .mbh-live-control input,
body.toplevel_page_marien-beisl-html .mbh-live-control textarea,
body.toplevel_page_marien-beisl-html .mbh-live-control select{
  max-width:none!important;
}
@media(min-width:1400px){
  body.toplevel_page_marien-beisl-html #wpcontent{
    padding-left:24px!important;
    padding-right:24px!important;
  }
}

/* ================================
   FRONTEND
   ================================ */
/* Marien Beisl website background: warm off-white / ivory */
body:has(.mbh-menu){
  background:#faf9f2!important;
}
.mbh-menu{
  width:100%;
  margin:0 auto;
  padding:0;
  background:#faf9f2;
  color:#111827;
  font-family:Arial,"Helvetica Neue",sans-serif;
  box-sizing:border-box;
}
.mbh-menu *{box-sizing:border-box}
.mbh-book{width:100%;margin:0 auto;padding:0;background:#faf9f2}
.mbh-page{display:contents;background:#faf9f2}
.mbh-menu h2{margin:0 0 18px;padding:0 0 6px;border-bottom:1px solid #111827;line-height:1.1;letter-spacing:.055em;text-transform:uppercase}
.mbh-item{width:100%;margin:0 0 23px}
.mbh-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:100%}
.mbh-title{flex:1 1 auto;min-width:0;margin:0;font-weight:800;line-height:1.18;letter-spacing:.045em;text-transform:uppercase}
.mbh-price{flex:0 0 auto;margin:0;font-weight:800;line-height:1.18;letter-spacing:.025em;white-space:nowrap;text-align:right}
.mbh-description{margin:2px 0 0;line-height:1.28;font-weight:400;letter-spacing:.035em;text-transform:uppercase}
.mbh-quote{margin:4px 0 0;color:#172033;line-height:1.25;font-weight:400;letter-spacing:.01em}
.mbh-note{margin:8px 0;font-size:10px;line-height:1.3;color:#59615d}

/* ================================
   BACKEND – FULL ADMIN WIDTH
   ================================ */
.mbh-admin{
  display:block!important;
  width:calc(100vw - 170px)!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.mbh-admin #mbh-form{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.mbh-admin>.notice,.mbh-admin>h1,.mbh-admin>p{display:none!important}

/* Remove the accidental shrink-to-fit from common WP/theme rules */
.mbh-admin *,
.mbh-admin *::before,
.mbh-admin *::after{box-sizing:border-box}
.mbh-editor{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#fff!important;
}
.mbh-live-section{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0 0 34px!important;
  padding:0!important;
}
.mbh-live-heading{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  align-items:center!important;
  margin:0 0 18px!important;
  padding:0 0 6px!important;
  border-bottom:1px solid #111827!important;
}
.mbh-live-heading.mbh-hidden-heading{display:none!important}
.mbh-live-heading-input{
  flex:1 1 auto!important;
  display:block!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:24px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  outline:0!important;
  box-shadow:none!important;
  color:#111827!important;
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}

/* THE IMPORTANT PART:
   one single row, title on left, price on right */
.mbh-live-title-row.mbh-title-price-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  gap:24px!important;
  align-items:flex-start!important;
}
.mbh-live-title-row .mbh-live-title-control{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
.mbh-live-title-row .mbh-live-price-control{
  flex:0 0 190px!important;
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
  margin:0!important;
}

.mbh-live-control{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0 0 10px!important;
  padding:0!important;
}
.mbh-live-control input[type="text"],
.mbh-live-control textarea{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:28px!important;
  margin:0!important;
  padding:0 0 3px!important;
  border:0!important;
  border-bottom:1px dashed transparent!important;
  border-radius:0!important;
  background:transparent!important;
  outline:0!important;
  box-shadow:none!important;
  color:#111827!important;
  font-family:inherit!important;
  line-height:1.25!important;
}
.mbh-live-title-control textarea.mbh-title-input,
.mbh-live-price-control textarea.mbh-price-input{
  min-height:28px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
}
.mbh-live-title-control textarea.mbh-title-input{
  text-transform:uppercase!important;
  white-space:pre-wrap!important;
  overflow:hidden!important;
  resize:none!important;
}
.mbh-live-price-control textarea.mbh-price-input{
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  resize:none!important;
}
.mbh-live-control textarea[name*="[description]"]{
  min-height:24px!important;
  line-height:1.28!important;
  text-transform:uppercase!important;
  resize:none!important;
  overflow:hidden!important;
}
.mbh-live-control textarea[name*="[quote]"]{
  min-height:24px!important;
  line-height:1.28!important;
  text-transform:none!important;
  resize:none!important;
  overflow:hidden!important;
  color:#172033!important;
}

.mbh-live-style{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  margin-top:4px!important;
}
.mbh-live-style select{
  width:150px!important;
  max-width:150px!important;
  min-width:150px!important;
  height:26px!important;
  font-size:11px!important;
}
.mbh-live-style input[type="number"]{
  width:64px!important;
  min-width:64px!important;
  height:26px!important;
  font-size:11px!important;
}
.mbh-live-style span{font-size:11px!important}

.mbh-order-controls{
  display:flex!important;
  flex:0 0 auto!important;
  gap:2px!important;
  opacity:.45;
}
.mbh-order-controls .button{
  min-width:26px!important;
  width:auto!important;
  height:22px!important;
  min-height:22px!important;
  padding:0 5px!important;
  line-height:20px!important;
}
.mbh-item-order{
  position:absolute!important;
  left:-65px!important;
  top:0!important;
}

.mbh-section-actions,
.mbh-insert-actions,
.mbh-item-actions{
  display:flex!important;
  width:100%!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
.mbh-section-actions-top{margin:0 0 4px!important}
.mbh-section-actions-top .button,
.mbh-insert-actions .button,
.mbh-item-actions .button{
  width:auto!important;
  min-width:0!important;
  font-size:10px!important;
  min-height:23px!important;
  height:23px!important;
  padding:0 7px!important;
}
.mbh-item-actions{opacity:.6!important;margin-top:2px!important}

.mbh-admin-card-nav{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 auto 8px!important;
}
.mbh-global-heading-bar,
.mbh-global-nav-bar{
  width:100%!important;
  max-width:none!important;
  margin:0 auto 4px!important;
}

.mbh-shortcode-info{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}

/* Never allow WP/theme rules to make the editor inputs narrow */
.mbh-admin input,
.mbh-admin textarea,
.mbh-admin select,
.mbh-admin .mbh-live-control,
.mbh-admin .mbh-live-title-row{
  box-sizing:border-box!important;
}

/* Mobile */
@media(max-width:782px){
  .mbh-admin{
    width:calc(100vw - 30px)!important;
    margin:0 15px 0 0!important;
  }
  .mbh-live-section{width:100%!important}
  .mbh-live-title-row.mbh-title-price-grid{
    gap:12px!important;
  }
  .mbh-live-title-row .mbh-live-price-control{
    flex:0 0 120px!important;
    width:120px!important;
    min-width:120px!important;
    max-width:120px!important;
  }
  .mbh-live-price-control textarea.mbh-price-input{
    font-size:13px!important;
  }
}
@media(max-width:600px){
  .mbh-admin{
    width:100vw!important;
    margin:0!important;
    padding:0 10px!important;
  }
  .mbh-editor{width:100%!important}
  .mbh-live-title-row.mbh-title-price-grid{
    gap:9px!important;
    grid-template-columns:none!important;
  }
  .mbh-live-title-row .mbh-live-price-control{
    flex-basis:105px!important;
    width:105px!important;
    min-width:105px!important;
    max-width:105px!important;
  }
  .mbh-live-style{flex-wrap:wrap!important}
  .mbh-live-style select{width:135px!important;min-width:135px!important}
}

.mbh-menu .mbh-card-nav,
.mbh-menu .mbh-card-nav-link,
.mbh-menu .mbh-card-nav-separator{
  text-align:center!important;
}
.mbh-menu .mbh-card-nav-link{
  text-decoration:none!important;
  color:inherit!important;
}
.mbh-menu .mbh-card-nav-link:hover,
.mbh-menu .mbh-card-nav-link:focus,
.mbh-menu .mbh-card-nav-link:visited{
  text-decoration:none!important;
  color:inherit!important;
}

/* Dynamic GTranslate numbering */
.mbh-menu .mbh-title-row .mbh-item-number{
  display:none;
  flex:0 0 auto;
  width:24px;
  margin-right:6px;
  font-weight:800;
  line-height:1.18;
  color:inherit;
  text-align:right;
}
@media(max-width:700px){
  .mbh-menu .mbh-title-row .mbh-item-number{width:21px;margin-right:4px}
}

.mbh-menu .mbh-item-number{
  display:none;
  flex:0 0 auto!important;
  width:26px!important;
  margin-right:6px!important;
  font-weight:800!important;
  line-height:1.18!important;
  text-align:right!important;
  color:inherit!important;
}

/* GTranslate language-dependent article numbers */
.mbh-menu .mbh-item-number{
  display:inline-block!important;
  flex:0 0 auto!important;
  width:26px!important;
  margin-right:6px!important;
  font-weight:800!important;
  line-height:1.18!important;
  text-align:right!important;
  color:inherit!important;
}
@media(max-width:700px){
  .mbh-menu .mbh-item-number{
    width:22px!important;
    margin-right:4px!important;
  }
}

/* Zentral/individuell: Titel, Beschreibungen und Zitate */
.mbh-global-text-settings{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:8px 14px!important;
  width:100%!important;
  margin:4px auto 16px!important;
  padding:7px 0!important;
  font-size:11px!important;
  color:#333!important;
}
.mbh-global-text-group{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
.mbh-global-text-group select{height:25px!important;min-width:120px!important;font-size:11px!important}
.mbh-global-text-group input[type="number"]{width:58px!important;height:25px!important;font-size:11px!important}
.mbh-global-text-group input[type="color"]{width:28px!important;height:25px!important;padding:1px!important}
.mbh-global-text-group label{font-size:11px!important;cursor:pointer}
.mbh-live-style input[type="color"]{width:28px!important;min-width:28px!important;height:25px!important;padding:1px!important}
.mbh-live-style label{font-size:10px!important;white-space:nowrap!important;cursor:pointer}
.mbh-live-style input[type="checkbox"]{margin:0 2px 0 0!important}
@media(max-width:700px){
  .mbh-global-text-settings{justify-content:flex-start!important;padding:5px 12px!important}
  .mbh-global-text-group{width:100%!important}
}

/* Keep currency untouched by GTranslate and display it exactly as entered. */
.mbh-menu .mbh-price.notranslate,
.mbh-menu .mbh-price[translate="no"]{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* Keep frontend text readable even when old saved options were empty. */
.mbh-menu .mbh-title{font-size:14px}
.mbh-menu .mbh-description{font-size:13px}
.mbh-menu .mbh-quote{font-size:10.5px}

/* Global title/description/quote controls in backend */
body.toplevel_page_marien-beisl-html .mbh-global-text-settings{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px 16px!important;
  margin:8px 0 16px!important;
  padding:8px 0!important;
}
body.toplevel_page_marien-beisl-html .mbh-global-text-settings>div{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
body.toplevel_page_marien-beisl-html .mbh-global-text-settings select{
  min-width:125px!important;
  height:26px!important;
}
body.toplevel_page_marien-beisl-html .mbh-global-text-settings input[type="number"]{
  width:62px!important;
  height:26px!important;
}
body.toplevel_page_marien-beisl-html .mbh-global-text-settings input[type="color"]{
  width:30px!important;
  height:26px!important;
  padding:1px!important;
}

/* Backend/editor mirrors effective frontend typography */
.mbh-admin .mbh-live-title-control textarea.mbh-title-input,
.mbh-admin .mbh-live-price-control textarea.mbh-price-input,
.mbh-admin .mbh-live-control[data-field="description"] textarea,
.mbh-admin .mbh-live-control[data-field="quote"] textarea{
  color:inherit;
}

/* Central + individual formatting */
.mbh-global-text-settings{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px 14px!important;
  width:100%!important;
  margin:4px auto 16px!important;
  padding:7px 0!important;
  font-size:11px!important;
}
.mbh-global-text-group{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
.mbh-global-text-group select{height:25px!important;min-width:120px!important;font-size:11px!important}
.mbh-global-text-group input[type=number]{width:58px!important;height:25px!important}
.mbh-global-text-group input[type=color]{width:28px!important;height:25px!important;padding:1px!important}
.mbh-global-text-group label{font-size:11px!important;cursor:pointer}
.mbh-live-style input[type=color]{width:28px!important;min-width:28px!important;height:25px!important;padding:1px!important}
.mbh-live-style label{font-size:10px!important;cursor:pointer;white-space:nowrap!important}

/* Individual text formatting controls */
.mbh-live-style input[type="color"]{
  width:28px!important;
  min-width:28px!important;
  height:25px!important;
  padding:1px!important;
}
.mbh-live-style label{
  font-size:10px!important;
  cursor:pointer;
  white-space:nowrap!important;
}
.mbh-live-style input[type="checkbox"]{margin-right:2px!important}

/* v4.0 zentral: keine individuellen Formatierungsfelder */
.mbh-live-style input[type="color"],
.mbh-live-style label:has(input[name$="_custom"]),
.mbh-live-style label:has(input[name$="_bold"]),
.mbh-live-style label:has(input[name$="_italic"]){
  display:none!important;
}
.mbh-global-text-settings{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:10px 20px!important;
  width:100%!important;
  margin:8px auto 16px!important;
  padding:8px 0!important;
}
.mbh-global-text-group{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
.mbh-global-text-group select{height:26px!important;min-width:135px!important}
.mbh-global-text-group input[type="number"]{width:62px!important;height:26px!important}
.mbh-global-text-group input[type="color"]{width:30px!important;height:26px!important;padding:1px!important}
.mbh-global-text-group label{font-size:11px!important}
.mbh-item-number{flex:0 0 auto!important;width:26px!important;margin-right:6px!important;font-weight:800!important}
@media(max-width:700px){
  .mbh-global-text-settings{justify-content:flex-start!important}
  .mbh-live-title-row.mbh-title-price-grid{gap:10px!important}
}

/* v4.0 final admin naming */
body.toplevel_page_marien-beisl-html #adminmenu .current a.menu-top{
  font-weight:600!important;
}

/* v4.0: only one central text-formatting toolbar */
body.toplevel_page_marien-beisl-html .mbh-global-text-settings + .mbh-global-text-settings{
  display:none!important;
}

/* Getränke-Nummerierung beginnt an der GETRÄNKE-KARTE-Sektion neu bei 1. */
.mbh-menu .mbh-item-number{
  flex:0 0 auto!important;
  width:26px!important;
  margin-right:6px!important;
  text-align:right!important;
  font-weight:800!important;
  line-height:1.18!important;
}

/* Title option: raise everything inside round parentheses. */
.mbh-title-parentheses{vertical-align:super;font-size:.72em;line-height:1;}
