/*
  Leckerbiss shared CTA button system.
  Only CTA links are affected. Slider arrows, menu icon and navigation controls remain unchanged.
*/
.leckerbiss-button{
  --lb-button-bg:#5a2b12;
  --lb-button-color:#f2efe9;
  --lb-button-border:#5a2b12;
  --lb-button-hover-bg:#f2efe9;
  --lb-button-hover-color:#5a2b12;
  --lb-button-icon-bg:#f2efe9;
  --lb-button-icon-color:#5a2b12;
  --lb-button-icon-border:transparent;
  --lb-button-icon-hover-bg:#5a2b12;
  --lb-button-icon-hover-color:#f2efe9;
  --lb-button-icon-hover-border:transparent;

  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:54px;
  padding:0 10px 0 22px;
  overflow:hidden;
  border:1px solid var(--lb-button-border);
  border-radius:14px;
  background:var(--lb-button-bg);
  color:var(--lb-button-color);
  box-shadow:0 12px 28px rgba(35,20,12,.14);
  font-family:"Commissioner",Arial,Helvetica,sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1;
  letter-spacing:.035em;
  text-transform:none;
  cursor:pointer;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:
    color .35s ease,
    border-color .35s ease,
    box-shadow .35s ease,
    transform .35s ease;
}

.leckerbiss-button::before{
  content:"";
  position:absolute;
  z-index:0;
  left:-108%;
  top:50%;
  width:100%;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--lb-button-hover-bg);
  transform:translateY(-50%) scale(1);
  transition:left .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);
}

.leckerbiss-button::after{display:none}

.leckerbiss-button__icon{
  position:relative;
  z-index:2;
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  border:1px solid var(--lb-button-icon-border);
  border-radius:50%;
  background:var(--lb-button-icon-bg);
  color:var(--lb-button-icon-color);
  transform:rotate(0deg);
  transition:
    transform .32s ease,
    background-color .32s ease,
    color .32s ease,
    border-color .32s ease;
}

.leckerbiss-button__icon::before{
  content:"";
  width:14px;
  height:14px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M9 7h8v8' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px 14px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M9 7h8v8' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px 14px no-repeat;
}


.leckerbiss-button__label{
  position:relative;
  z-index:2;
  white-space:nowrap;
}

.leckerbiss-button:hover{
  color:var(--lb-button-hover-color);
  border-color:var(--lb-button-border);
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(35,20,12,.20);
}

.leckerbiss-button:hover::before{
  left:0;
  transform:translateY(-50%) scale(1.75);
}

.leckerbiss-button:hover .leckerbiss-button__icon{
  background:var(--lb-button-icon-hover-bg);
  color:var(--lb-button-icon-hover-color);
  border-color:var(--lb-button-icon-hover-border);
  transform:rotate(45deg);
}

.leckerbiss-button:focus-visible{
  outline:3px solid rgba(122,129,106,.38);
  outline-offset:3px;
}

/* Light paper sections: footer brown is the primary brand colour. */
.leckerbiss-button--light{
  --lb-button-bg:#5a2b12;
  --lb-button-color:#f2efe9;
  --lb-button-border:#5a2b12;
  --lb-button-hover-bg:#f2efe9;
  --lb-button-hover-color:#5a2b12;
  --lb-button-icon-bg:#f2efe9;
  --lb-button-icon-color:#5a2b12;
  --lb-button-icon-hover-bg:#5a2b12;
  --lb-button-icon-hover-color:#f2efe9;
}

/* Dark footer: inverted cream version. */
.leckerbiss-button--dark{
  --lb-button-bg:#f2efe9;
  --lb-button-color:#5a2b12;
  --lb-button-border:#f2efe9;
  --lb-button-hover-bg:#5a2b12;
  --lb-button-hover-color:#fff;
  --lb-button-icon-bg:#5a2b12;
  --lb-button-icon-color:#f2efe9;
  --lb-button-icon-hover-bg:#f2efe9;
  --lb-button-icon-hover-color:#5a2b12;
}

/* Secondary footer action, with the same mechanics. */
.leckerbiss-button--dark-outline{
  --lb-button-bg:rgba(255,255,255,.02);
  --lb-button-color:#fff;
  --lb-button-border:rgba(242,239,233,.48);
  --lb-button-hover-bg:#f2efe9;
  --lb-button-hover-color:#5a2b12;
  --lb-button-icon-bg:transparent;
  --lb-button-icon-color:#fff;
  --lb-button-icon-border:rgba(242,239,233,.55);
  --lb-button-icon-hover-bg:#5a2b12;
  --lb-button-icon-hover-color:#f2efe9;
  --lb-button-icon-hover-border:#5a2b12;
  box-shadow:none;
}

/* Buttons placed directly over photography. */
.leckerbiss-button--photo{
  --lb-button-bg:rgba(16,12,10,.34);
  --lb-button-color:#fff;
  --lb-button-border:rgba(242,239,233,.64);
  --lb-button-hover-bg:#f2efe9;
  --lb-button-hover-color:#5a2b12;
  --lb-button-icon-bg:rgba(242,239,233,.96);
  --lb-button-icon-color:#5a2b12;
  --lb-button-icon-border:transparent;
  --lb-button-icon-hover-bg:#5a2b12;
  --lb-button-icon-hover-color:#f2efe9;
  background:var(--lb-button-bg);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 12px 30px rgba(0,0,0,.24);
}

.leckerbiss-button--compact{
  min-height:52px;
  padding:0 8px 0 22px;
  gap:16px;
  font-size:13px;
  letter-spacing:.075em;
}
.leckerbiss-button--compact .leckerbiss-button__icon{
  width:30px;
  height:30px;
  flex-basis:30px;
}

/* Neutralise only the old CTA-specific arrows and declarations. */
.home-primary-button .home-primary-button-icon,
.home-outline-button > span:not(.leckerbiss-button__label):not(.leckerbiss-button__icon),
.home-about-button > span:not(.leckerbiss-button__label):not(.leckerbiss-button__icon){display:none!important}

/* Keep the shared icon visible in CTA buttons that had legacy span rules. */
.home-outline-button.leckerbiss-button > .leckerbiss-button__icon,
.home-about-button.leckerbiss-button > .leckerbiss-button__icon{
  display:grid!important;
}



.home-primary-button.leckerbiss-button{
  min-width:272px;
  min-height:58px;
  padding:0 10px 0 24px;
  font-size:15px;
}
.home-outline-button.leckerbiss-button{margin-bottom:2px}
.home-about-button.leckerbiss-button{gap:18px}




@media(prefers-reduced-motion:reduce){
  .leckerbiss-button,
  .leckerbiss-button::before,
  .leckerbiss-button::after,
  .leckerbiss-button__icon{transition:none}
}

/* Prevent legacy arrow-span rules from affecting the new text label. */
.home-primary-button .leckerbiss-button__label,
.home-primary-button:hover .leckerbiss-button__label{
  font-size:inherit!important;
  transform:none!important;
}
.home-outline-button .leckerbiss-button__label{
  font-size:inherit!important;
}

/* Hero CTA icon: override legacy last-child rules from home.css. */
.home-slide-content .home-primary-button.leckerbiss-button > .leckerbiss-button__icon:last-child{
  display:grid!important;
  font-size:0!important;
  transform:rotate(0deg)!important;
  transition:
    transform .32s ease,
    background-color .32s ease,
    color .32s ease,
    border-color .32s ease!important;
}

.home-slide-content .home-primary-button.leckerbiss-button:hover > .leckerbiss-button__icon:last-child{
  transform:rotate(45deg)!important;
}


/* Footer Speisekarte CTA: olive resting state, existing hover concept retained. */


.leckerbiss-button__icon--download::before{display:none}
.leckerbiss-button__icon--download img{
  width:16px;
  height:16px;
  display:block;
  transition:transform .32s ease;
}
.leckerbiss-button:hover .leckerbiss-button__icon--download{
  transform:rotate(0deg);
}
.leckerbiss-button:hover .leckerbiss-button__icon--download img{
  transform:translateY(2px);
}


/* Mobile overlay reserve button must keep the shared CTA look and stay readable. */



/* Final mobile reserve-button fix: guaranteed visible text inside the overlay button. */




/* Mobile reservation button: single clean label, correct normal and interaction states. */



/* Footer download CTA: preserve contrast through the complete hover transition. */






/* Definitive header reservation button fix: one label for desktop and mobile. */




