/* LY LY Premium V3 — responsive enhancements for mobile, tablet and laptop.
   Extends the previously approved V2 design without changing its palette. */
:root { --touch-min: 46px; --content-gutter: clamp(18px,4vw,60px); }
html { scroll-padding-top: 110px; }
body { overflow-wrap: break-word; }
main, .container, .hero-left, .hero-right, .story-text, .price-copy,
.page-section, .signature-grid > *, .subhero-grid > *, .menu-heading > *,
.feature-split > * { min-width: 0; }
img { height: auto; }
button, a, input { -webkit-tap-highlight-color: rgba(199,164,106,.21); }
.skip-link {position:fixed;top:-100px;left:14px;z-index:600;padding:12px 19px;background:#f5deb0;color:#17120d;border:2px solid #17120d;font-weight:700}
.skip-link:focus {top:12px}
.header-nav a[aria-current="page"]{color:var(--goldlight);text-decoration:underline;text-underline-offset:8px}
.menu-toggle{gap:8px;padding:0 14px;width:auto;min-width:54px;min-height:46px;border-radius:3px;font-size:23px;line-height:1}
.menu-toggle-label{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:700}
.menu-toggle-icon{width:24px;text-align:center}
.site-header, .site-header a, .site-header button {touch-action:manipulation}
.menu-photo-card>a{cursor:zoom-in;position:relative}
.menu-photo-card>a:after {content:'\2922  VERGRÖSSERN';position:absolute;right:12px;bottom:12px;background:rgba(9,12,11,.92);border:1px solid #c7a46a;padding:10px 13px;color:#f3e4c6;font-size:11px;letter-spacing:.1em}
.menu-photo-card img { height:auto; aspect-ratio:1055 / 1491;object-fit:contain;object-position:center;background:#050505; }
.menu-photo-card:hover img{transform:none}
.menu-photo-caption a{display:inline-flex;align-items:center;min-height:44px;line-height:1.5}
.menu-search input {font-size:16px;min-width:0}
.menu-group summary{min-height:60px;touch-action:manipulation}
.group-label{overflow-wrap:anywhere}
.menu-tools .chip{min-height:44px}
.menu-items{min-width:0}
.menu-item p, .price-copy p{overflow-wrap:anywhere}
.hero-bottom {max-width:100%}
.price-line > strong {align-self:start}
.btn,.text-link,.map-link{touch-action:manipulation}
.text-link{min-height:43px;align-items:center;line-height:1.4}
.footer a{display:inline-flex;align-items:center;min-height:38px}
.modal-backdrop{padding:16px;overscroll-behavior:contain}
.modal{max-height:calc(100dvh - 36px);overflow-y:auto}
.modal .btn{white-space:normal}
/* Scalable, accessible picture-menu viewer */
.lyly-viewer{position:fixed;inset:0;z-index:700;border:0;margin:0;padding:0;max-width:100%;max-height:100%;width:100%;height:100%;background:#0c0f0eea;color:#fff}
.lyly-viewer::backdrop{background:rgba(0,0,0,.85)}
.lyly-viewer-inner{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;max-height:100dvh;gap:0}
.lyly-viewer-toolbar,.lyly-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(12px,3vw,32px);background:#111813;border-bottom:1px solid #4c412b}
.lyly-viewer-title{font-size:clamp(13px,1.3vw,17px);font-weight:600;letter-spacing:.02em;color:#f7e6cb;min-width:0}
.lyly-viewer-actions{display:flex;gap:7px}
.lyly-viewer button{min-width:46px;min-height:46px;border:1px solid #94774a;background:#1f271f;color:#fff;border-radius:2px;padding:9px 12px;font-size:19px;cursor:pointer}
.lyly-viewer button:hover,.lyly-viewer button:focus-visible{background:#3d392d}
.lyly-viewer-stage{overflow:auto;overscroll-behavior:contain;display:flex;align-items:safe center;justify-content:safe center;touch-action:pan-x pan-y pinch-zoom;padding:14px}
.lyly-viewer-image{display:block;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 10px 48px #000b;margin:auto}
.lyly-viewer[data-zoomed="true"] .lyly-viewer-stage{display:block;text-align:center}
.lyly-viewer[data-zoomed="true"] .lyly-viewer-image{width:1055px;max-width:none;max-height:none;height:auto;object-fit:unset;margin:0 auto}
.lyly-viewer-footer{border-bottom:0;border-top:1px solid #4c412b}
.lyly-viewer-footer small{color:#e3d3b7;font-size:12px;text-align:center;line-height:1.5}
.lyly-viewer-btns{display:flex;gap:9px;align-items:center}
@media (min-width: 1600px) {
 .hero{min-height:730px}
 .hero-left{padding-left:max(calc((100vw - 1320px)/2),6vw)}
 .container{width:min(1320px,calc(100% - 9vw))}
}
/* Small laptop & landscape tablet: switch to usable dropdown navigation */
@media (max-width: 1160px) {
 .site-header{height:78px}
 .header-inner{gap:14px}
 .header-nav{display:none;position:absolute;top:100%;right:clamp(12px,4vw,42px);left:auto;
   width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 95px);overflow:auto;
   padding:14px 18px 20px;background:#121915;border:1px solid #7d633c;
   flex-direction:column;align-items:stretch;gap:0;box-shadow:0 24px 60px #000b;z-index:100}
 .header-nav.open{display:flex}
 .header-nav a{font-size:14px;line-height:1.4;letter-spacing:.045em;display:flex;align-items:center;min-height:50px;padding:12px 10px;border-bottom:1px solid rgba(199,164,106,.14)}
 .header-nav a:last-child{border-bottom:0}
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
 .header-cta{margin-left:auto;padding:13px 17px;min-height:46px}
 .hero-left{padding-left:5vw}
 .hero h1{font-size:clamp(75px,9vw,110px)}
 .story-grid{gap:5vw}
 .visit-grid{gap:5vw}
}
/* Tablet: comfortably sized images, labels and two-column cards */
@media (max-width: 980px) {
 .container,.container.narrow{width:calc(100% - 60px)}
 .hero{min-height:610px}
 .hero-left{padding:74px 5vw 106px}
 .hero h1{font-size:clamp(78px,12vw,108px)}
 .hero p{font-size:15px;max-width:560px}
 .hero-right{position:absolute;inset:0;z-index:0;min-height:0;opacity:.56}
 .hero-right:before{background:linear-gradient(90deg,#0b0d0d 7%,rgba(11,13,13,.9) 33%,rgba(11,13,13,.2) 100%),linear-gradient(0deg,#0b0d0d 0%,transparent 45%)}
 .hero-side-label{display:none}
 .hero-bottom{left:5vw}
 .story-grid{grid-template-columns:1fr;gap:38px}
 .story-photos{width:min(660px,100%);min-height:440px;margin-inline:auto}
 .story-img-1{height:90%;width:72%}
 .story-img-2{height:53%;width:49%;right:0}
 .story-text{max-width:700px}
 .signature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .signature-grid>.dish-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:43% 1fr;align-items:stretch}
 .signature-grid>.dish-card:last-child:nth-child(odd) .dish-photo{height:100%;min-height:240px}
 .signature-grid>.dish-card:last-child:nth-child(odd) .dish-content{align-self:center}
 .dish-photo{height:270px}
 .printed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .menu-items{grid-template-columns:1fr}
 .menu-tools{flex-direction:column;align-items:stretch}
 .menu-search{width:100%;min-height:48px}
 .menu-search input{width:100%}
 .menu-heading{flex-direction:column;align-items:flex-start;gap:15px}
 .menu-heading p{max-width:780px}
 .quotes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .visit-grid{grid-template-columns:1fr;gap:35px}
 .takeaway-grid{grid-template-columns:1fr;gap:20px}
 .steps-grid{grid-template-columns:1fr 1fr}
 .steps-grid article:last-child{grid-column:1/-1}
 .steps-grid p{min-height:0}
 .subhero-grid{grid-template-columns:1fr 1fr;gap:24px;min-height:410px}
 .subhero-copy{padding:65px 0}
 .subhero-copy h1{font-size:clamp(58px,7.6vw,79px)}
 .subhero-image{min-height:410px}
 .feature-split{gap:30px}
}
@media (max-width: 820px) {
 .site-header{height:73px}
 .header-nav{top:100%;right:10px;left:auto;width:min(400px,calc(100vw - 20px));padding:12px 16px}
 .subhero-grid{grid-template-columns:1fr;gap:0}
 .subhero-copy{padding:55px 0 35px}
 .subhero-image{height:310px;min-height:310px;margin-inline:-30px}
 .subhero-image img{height:100%;width:100%;object-fit:cover}
 .subhero-image:before{background:linear-gradient(0deg,#0e1411,transparent 38%)}
 .page-section{padding:70px 0}
 .signature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:95;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
   padding:10px max(12px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));
   background:#0c1210f5;border-top:1px solid rgba(199,164,106,.48);box-shadow:0 -8px 25px #0005;backdrop-filter:blur(18px)}
 .mobile-cta .btn{min-width:0;min-height:50px;padding:11px 7px;white-space:normal;font-size:11px;letter-spacing:0;line-height:1.2;display:flex;gap:5px;align-items:center}
 .mobile-cta .btn span[aria-hidden]{font-size:17px}
 body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
 .backtop{bottom:calc(94px + env(safe-area-inset-bottom));right:18px}
 .footer{padding-bottom:30px}
}
@media (max-width: 650px) {
 .container,.container.narrow{width:calc(100% - 36px)}
 .demo-strip{font-size:9px;letter-spacing:.07em;min-height:29px;padding:7px}
 .brand{gap:9px}
 .brand-logo{width:39px;height:39px;font-size:23px}
 .brand-main{font-size:28px}
 .brand-sub{font-size:7px;letter-spacing:.12em;margin-top:6px}
 .header-cta{display:none}
 .menu-toggle{margin-left:auto;padding:0 11px;min-height:46px}
 .hero{display:flex;flex-direction:column;min-height:0}
 .hero-left{padding:58px 18px 35px;min-height:0;background:#0b0d0d}
 .hero h1{font-size:clamp(68px,18vw,102px);line-height:.82;max-width:100%}
 .hero-small{font-size:10px;letter-spacing:.11em;margin-bottom:26px;line-height:1.5}
 .hero-small:before{width:22px;flex-shrink:0}
 .hero p{margin:30px 0 24px;font-size:14px;line-height:1.75}
 .hero-actions{display:grid;grid-template-columns:1fr;gap:11px;width:100%}
 .hero-actions .btn{width:100%;min-height:50px;white-space:normal;font-size:11px}
 .hero-right{position:relative;inset:auto;opacity:1;height:290px;min-height:290px;width:100%}
 .hero-right:before{background:linear-gradient(180deg,rgba(11,13,13,.2),rgba(11,13,13,.06) 70%,#0b0d0d)}
 .hero-img{filter:brightness(.95)}
 .hero-bottom{position:relative;left:auto;bottom:auto;display:flex;flex-wrap:wrap;gap:12px;background:#0b0d0d;padding:17px 18px 25px;font-size:9px}
 .promise-strip{padding:16px 0}
 .promise-items{justify-content:center;gap:10px 12px}
 .promise-items span{font-size:9px;letter-spacing:.05em}
 .story,.signature,.menu-section,.visit,.quotes,.takeaway{padding:62px 0}
 .section-title,.menu-heading .section-title,.page-section .section-title{font-size:clamp(43px,12vw,62px);line-height:1.04}
 .story-photos{min-height:290px;height:69vw;max-height:390px}
 .story-img-1{width:76%;height:90%}
 .story-img-2{width:50%;height:55%;right:0}
 .story-text p{font-size:14px}
 .stamp{width:75px;height:75px;font-size:7px}
 .stamp span{font-size:23px}
 .signature-grid{grid-template-columns:1fr;gap:19px}
 .signature-grid>.dish-card:last-child:nth-child(odd){grid-column:auto;display:block}
 .signature-grid>.dish-card:last-child:nth-child(odd) .dish-photo{height:230px;min-height:0}
 .dish-photo{height:230px}
 .dish-content{padding:24px}
 .dish-content h3{font-size:31px}
 .dish-content p{font-size:13px;min-height:0}
 .menu-tools{display:flex;flex-direction:column;gap:14px;padding:17px 0}
 .menu-search{order:-1;min-width:0;height:50px;padding:0 12px}
 .filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-bottom:6px;gap:8px;-webkit-overflow-scrolling:touch}
 .chip{white-space:nowrap;flex:0 0 auto;scroll-snap-align:start;min-height:46px;padding:10px 15px;font-size:12px}
 .menu-items{grid-template-columns:1fr;padding:4px 14px 18px}
 .menu-item{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:19px 0 18px}
 .menu-code{font-size:13px}
 .menu-item h4{font-size:25px;line-height:1.16}
 .menu-item p{font-size:13px;line-height:1.65}
 #digital .menu-item{grid-template-columns:42px minmax(0,1fr);gap:10px}
 #digital .menu-item>div{grid-column:2;grid-row:1}
 #digital .digital-price,#digital .digital-notice{grid-column:2;grid-row:2;justify-self:start}
 #digital .digital-price{font-size:17px;line-height:1.4;color:#f0c98e}
 .menu-group summary{padding:16px 14px}
 .group-label{font-size:26px}
 .group-meta{font-size:10px;letter-spacing:.04em}
 .menu-heading p{font-size:14px}
 .menu-info{font-size:12px}
 .menu-photo-caption{padding:18px 20px}
 .printed-grid{grid-template-columns:1fr;gap:22px}
 .menu-photo-card img{height:auto;width:100%;aspect-ratio:1055 / 1491;object-fit:contain}
 .menu-photo-card>a:after{content:'ANTIPPEN ZUM VERGRÖSSERN';font-size:10px;letter-spacing:0;padding:9px;right:8px;bottom:8px}
 .page-section{padding:60px 0}
 .subhero-copy{padding:46px 0 30px}
 .subhero-copy h1{font-size:clamp(49px,13vw,75px);line-height:.98;overflow-wrap:normal}
 .subhero-copy p{font-size:14px;line-height:1.8;margin:18px 0}
 .subhero-image{margin:0 -18px;height:260px;min-height:260px}
 .subhero-actions,.section-actions{display:grid;grid-template-columns:1fr;width:100%}
 .subhero-actions .btn,.section-actions .btn{width:100%;min-height:48px;white-space:normal}
 .feature-split{grid-template-columns:1fr}
 .feature-split img{height:280px;max-width:100%}
 .steps-grid{grid-template-columns:1fr}
 .steps-grid article:last-child{grid-column:auto}
 .steps-grid article{padding:24px}
 .price-line{grid-template-columns:48px minmax(0,1fr);gap:10px 12px;padding:22px 1px}
 .price-code{grid-column:1;grid-row:1;font-size:13px}
 .price-copy{grid-column:2;grid-row:1}
 .price-copy h3{font-size:26px;line-height:1.1}
 .price-copy p{font-size:13px}
 .price-line>strong{grid-column:2;grid-row:2;justify-self:start;font-size:23px;padding-top:0}
 .hours-row{font-size:14px;gap:12px}
 .visit-info-card{padding:33px 22px}
 .takeaway-actions{display:grid;grid-template-columns:1fr}
 .takeaway-actions .btn{white-space:normal}
 .quotes-grid{grid-template-columns:1fr}
 .quotes-grid .quote:last-child{grid-column:auto}
 .quote{min-height:0}
 .footer-top{flex-direction:column;gap:25px}
 .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px 12px}
 .footer-links a{font-size:12px;min-height:44px;line-height:1.4}
 .footer-bottom{font-size:11px;line-height:1.6}
 .modal{padding:35px 19px}
 .modal-actions{display:grid;grid-template-columns:1fr}
 .lyly-viewer-toolbar{padding:8px 10px}
 .lyly-viewer-title{font-size:12px}
 .lyly-viewer button{padding:8px;font-size:18px;min-height:44px;min-width:44px}
 .lyly-viewer-actions{gap:5px}
 .lyly-viewer-footer{padding:8px 10px}
 .lyly-viewer-footer small{font-size:11px}
 .lyly-viewer-stage{padding:7px}
}
@media (max-width: 350px) {
 .brand-sub{font-size:6px}
 .brand-main{font-size:25px}
 .brand-logo{height:36px;width:36px}
 .hero h1{font-size:clamp(61px,18vw,68px)}
 .menu-toggle-label{display:none}
 .menu-toggle{min-width:45px}
 .mobile-cta{gap:5px;padding-left:6px;padding-right:6px}
 .mobile-cta .btn{font-size:10px;gap:4px}
 .group-label{font-size:24px}
 .menu-group summary{gap:8px}
 .price-copy h3{font-size:24px}
 .lyly-viewer-footer small{display:none}
}
@media (prefers-reduced-motion:reduce) { .menu-photo-card:hover {transform:none} .menu-photo-card a img {transition:none} }
/* Prevent the horizontally scrollable category chips from widening the document. */
@media (max-width: 650px) {
 .menu-tools,.filters {width:100%;min-width:0;max-width:100%;}
 .filters {overflow-x:auto;overflow-y:hidden;box-sizing:border-box;}
 .menu-section .btn-dark{max-width:100%;width:100%;white-space:normal;line-height:1.5;min-height:50px;padding:13px 10px;}
}
.filter-hint{display:none}
@media (min-width: 651px) and (max-width: 980px) {
 .hero-right{opacity:.78}
 .hero-right:before{background:linear-gradient(90deg,#0b0d0d 5%,rgba(11,13,13,.8) 34%,rgba(11,13,13,.1) 84%),linear-gradient(0deg,#0b0d0d 0%,transparent 30%)}
}
@media (max-width:650px) {
 .filter-hint{display:block;order:1;font-size:11px;color:#706451;letter-spacing:.02em;margin:1px 0 0}
 #digital .filter-hint{color:#c8b795}
}
/* Confirmed prices added to the homepage's compact digital menu. */
.menu-section .menu-item .digital-price{grid-column:2;grid-row:2;justify-self:start;color:#8d6330;font-size:14px;margin:2px 0 0;font-weight:700;white-space:nowrap}


/* LY LY V4 – consolidated three-page information architecture. */
.header-nav a[aria-current="page"],.footer-links a[aria-current="page"]{color:var(--goldlight);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:9px}
.header-cta{flex-shrink:0;white-space:nowrap}
.menu-preview-section .section-head{max-width:790px}
.menu-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.menu-preview-card{border:1px solid var(--line);background:#191f1c;color:#f1eee8;display:flex;flex-direction:column;transition:transform .25s,border-color .25s;min-width:0}
.menu-preview-card:hover,.menu-preview-card:focus-visible{border-color:var(--gold);transform:translateY(-3px)}
.menu-preview-card img{width:100%;height:230px;object-fit:cover}
.menu-preview-card span{font:500 29px/1.15 var(--display);padding:22px 22px 7px}
.menu-preview-card b{font-weight:600;color:var(--goldlight);font-size:11px;letter-spacing:.08em;padding:0 22px 25px;text-transform:uppercase}
.menu-preview-actions{text-align:center;margin-top:29px}
.menu-index-nav{display:flex;flex-wrap:wrap;gap:10px;padding-block:22px;border-bottom:1px solid var(--line);align-items:center}
.menu-index-nav a{border:1px solid rgba(199,164,106,.44);color:var(--goldlight);font-size:11px;letter-spacing:.055em;padding:14px 18px;min-height:46px;display:flex;align-items:center;transition:background .2s}
.menu-index-nav a:hover{background:rgba(199,164,106,.15)}
#sushi,#mittag,#originalkarten,#digital{scroll-margin-top:120px}
@media (max-width:850px){.menu-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-preview-card:last-child{grid-column:1/-1}.menu-preview-card img{height:190px}}
@media (max-width:650px){.menu-preview-grid{grid-template-columns:1fr;gap:14px}.menu-preview-card:last-child{grid-column:auto}.menu-preview-card{display:grid;grid-template-columns:38% minmax(0,1fr);min-height:132px;align-items:center}.menu-preview-card img{grid-row:1/3;height:100%;min-height:132px}.menu-preview-card span{padding:12px 15px 0;font-size:25px}.menu-preview-card b{padding:0 15px 14px}.menu-index-nav{flex-wrap:nowrap;overflow-x:auto;padding-block:16px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.menu-index-nav a{flex-shrink:0;scroll-snap-align:start}.mobile-cta{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-cta .btn{font-size:10px;line-height:1.2;padding:8px 4px;white-space:normal;overflow-wrap:normal}.mobile-cta .btn:last-child{background:var(--gold);color:#161410}}
@media (max-width:360px){.mobile-cta .btn{font-size:9px;gap:3px}.mobile-cta .btn span{font-size:13px}}


/* V5: Two official FoodBooking actions, consistent on every device. */
.header-cta-group { display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-shrink:0; }
.header-cta-group .btn { margin-left:0;min-height:48px;padding:13px 14px;font-size:10px;letter-spacing:.065em; }
.header-cta-group .header-reserve { border-color:#bd965c;color:#f6e8ce;background:#191e1b; }
.header-cta-group .header-reserve:hover { background:rgba(199,164,106,.19); }
.hero-actions .btn { min-height:51px; }
.mobile-cta a { text-decoration:none; }
@media (max-width:1240px) and (min-width:821px){ .header-cta-group .btn{font-size:9px;padding:12px 13px;} }
@media (max-width:820px){
  .header-cta-group{display:none;}
  .mobile-cta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .mobile-cta .btn{font-size:12px;letter-spacing:.015em;line-height:1.2;min-height:51px;white-space:normal;padding:11px 10px;}
  .mobile-cta .btn:last-child{background:transparent;color:#f1dcba;border:1px solid var(--gold);}
}
@media (max-width:360px){ .mobile-cta .btn{font-size:11px;gap:6px;} }
