:root{--paper:#fffdf7;--cream:#f7f1e6;--sage:#80916c;--sage-dark:#566348;--apricot:#e7a176;--ink:#27302a;--muted:#687067;--line:#dfe3d7;--white:#fff;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.45 var(--sans)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-family:var(--serif);font-weight:600;line-height:1.08}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:82px;display:flex;align-items:center;gap:clamp(24px,4vw,56px);padding:7px clamp(22px,5vw,72px);background:rgba(255,253,247,.97);border-bottom:1px solid var(--line);z-index:20}.logo-link{width:178px;flex:0 0 178px}.logo-link img{width:100%;height:68px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:clamp(22px,3vw,42px);font-weight:650;color:var(--sage-dark)}.site-nav a{padding:9px 1px;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a.active{color:var(--ink);border-color:var(--apricot)}.nav-toggle{display:none}
.one-screen{min-height:100svh}.eyebrow{margin:0 0 8px;color:var(--sage-dark);font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.lead{font-size:clamp(1rem,1.3vw,1.14rem);color:var(--muted)}.text-link{display:inline-block;color:var(--sage-dark);font-weight:800;border-bottom:1px solid var(--sage)}.small-button,button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 19px;border:0;border-radius:999px;color:#fff;background:var(--sage-dark);font:750 .9rem/1 var(--sans);cursor:pointer}
.home-page{height:calc(100svh - 82px);display:grid;grid-template-rows:minmax(0,1fr) auto;padding:clamp(24px,4vh,44px) clamp(22px,5vw,72px) 18px}.home-intro{min-height:0;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,74px);align-items:center}.home-intro h1{max-width:650px;font-size:clamp(2.4rem,4vw,4rem)}.home-intro .lead{max-width:630px;margin:18px 0 22px}.home-gallery{height:min(47vh,440px);display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:10px}.home-gallery img{width:100%;height:100%;object-fit:cover;border-radius:6px}.home-gallery img:first-child{grid-row:1/span 2}.home-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding:13px 18px;background:var(--cream);border:1px solid var(--line);border-radius:7px}.home-contact p{margin:0}.home-contact>div{display:flex;align-items:center;gap:22px;font-size:.92rem}.home-contact>div>a:not(.small-button){color:var(--sage-dark);font-weight:700}
.about-page{height:calc(100svh - 82px);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,7vw,96px);align-items:center;padding:clamp(24px,4vh,44px) clamp(22px,7vw,110px)}.about-copy h1{font-size:clamp(2.6rem,4.6vw,4.5rem)}.about-copy>p{max-width:720px}.profile-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:24px 0 0}.profile-list div{padding:11px 0;border-top:1px solid var(--line)}.profile-list dt{font-size:.78rem;font-weight:800;color:var(--sage-dark);text-transform:uppercase}.profile-list dd{margin:3px 0 0;color:var(--muted)}.about-photo{justify-self:end;width:min(420px,100%);margin:0}.about-photo img{width:100%;max-height:58vh;object-fit:cover;object-position:center 18%;border-radius:8px}.about-photo figcaption{margin-top:7px;color:var(--muted);font-size:.82rem}
.menu-page{height:calc(100svh - 82px);display:grid;grid-template-rows:auto 1fr auto;gap:20px;padding:clamp(22px,3vh,34px) clamp(22px,5vw,72px) 20px}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.menu-heading h1{font-size:clamp(2.4rem,4vw,3.8rem)}.menu-heading p:not(.eyebrow){margin:8px 0 0;color:var(--muted)}.menu-heading img{width:180px;height:92px;object-fit:cover;border-radius:6px}.menu-cards{min-height:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.menu-cards a{display:flex;flex-direction:column;justify-content:flex-end;min-height:180px;padding:20px;background:var(--cream);border:1px solid var(--line);border-radius:7px}.menu-cards a:hover,.menu-cards a:focus-visible{background:#eef2e8;border-color:var(--sage)}.menu-cards span{margin-bottom:auto;color:var(--apricot);font-weight:850}.menu-cards strong{font:600 clamp(1.25rem,2vw,1.7rem)/1.1 var(--serif)}.menu-cards small{margin-top:7px;color:var(--muted)}.menu-actions{display:flex;align-items:center;justify-content:space-between}
.dish-page{height:calc(100svh - 82px);display:grid;grid-template-rows:auto 1fr auto;padding:22px clamp(22px,5vw,72px) 18px}.dish-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:15px;border-bottom:1px solid var(--line)}.dish-head h1{font-size:clamp(2.25rem,3.5vw,3.4rem)}.dish-head img{width:150px;height:76px;object-fit:cover;border-radius:6px}.dish-content{min-height:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:18px 0}.dish-group{min-width:0}.dish-group h2{margin-bottom:8px;color:var(--sage-dark);font:750 1rem/1.2 var(--sans)}.dish-list{margin:0;padding:0;list-style:none;font-size:clamp(.78rem,1vw,.91rem)}.dish-list li{padding:4px 0;border-bottom:1px solid #eceee7}.dish-foot{display:flex;justify-content:space-between;align-items:center;padding-top:11px;border-top:1px solid var(--line);font-size:.86rem;color:var(--muted)}.dish-nav{display:flex;gap:16px;color:var(--sage-dark);font-weight:750}
.contact-page{height:calc(100svh - 82px);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(34px,6vw,86px);align-items:center;padding:clamp(22px,3vh,34px) clamp(22px,6vw,92px)}.contact-info h1{font-size:clamp(2.4rem,4vw,3.8rem)}.contact-info>p:not(.eyebrow){color:var(--muted)}.contact-info address{display:grid;gap:8px;margin-top:25px;font-style:normal}.contact-info address strong{font:600 1.3rem/1.2 var(--serif)}.contact-info address a{color:var(--sage-dark);font-weight:750}.fine-print{font-size:.82rem}.compact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:19px;background:var(--cream);border:1px solid var(--line);border-radius:8px}.compact-form label{display:grid;gap:4px;font-size:.78rem;font-weight:750}.compact-form input,.compact-form select,.compact-form textarea{width:100%;min-height:36px;padding:7px 9px;border:1px solid #cfd5c8;border-radius:5px;background:#fff;font:inherit}.compact-form textarea{resize:vertical}.compact-form .wide{grid-column:1/-1}.compact-form .upload input{padding:5px;font-size:.78rem}.compact-form .consent{display:flex;align-items:flex-start;gap:8px;font-weight:500}.compact-form .consent input{width:17px;min-height:17px;flex:0 0 17px}.form-end{display:flex;align-items:center;justify-content:space-between;gap:16px}.form-end small{color:var(--muted)}.honeypot{position:absolute;left:-10000px}
@media (min-width:901px) and (min-height:650px){.one-screen{height:100svh;overflow:hidden}}
@media (max-width:900px){.site-header{height:72px;padding:4px 16px;justify-content:space-between}.logo-link{width:145px;flex-basis:145px}.logo-link img{height:60px}.nav-toggle{display:grid;place-items:center;gap:4px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--paper)}.nav-toggle span:not(.sr-only){width:17px;height:2px;background:var(--sage-dark)}.site-nav{display:none}.site-header.nav-open .site-nav{position:absolute;top:72px;left:12px;right:12px;display:grid;gap:4px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:7px}.home-page,.about-page,.menu-page,.dish-page,.contact-page{height:auto;min-height:calc(100svh - 72px)}.home-intro,.about-page,.contact-page{grid-template-columns:1fr}.home-gallery{height:370px}.home-contact{align-items:flex-start;flex-direction:column}.home-contact>div{align-items:flex-start;flex-direction:column;gap:8px}.about-photo{justify-self:start}.menu-cards{grid-template-columns:1fr 1fr}.dish-content{grid-template-columns:1fr 1fr}.contact-page{align-items:start}.compact-form{grid-template-columns:1fr}}
@media (max-width:560px){.home-gallery{height:320px}.home-intro h1{font-size:2.5rem}.profile-list,.menu-cards,.dish-content,.compact-form{grid-template-columns:1fr}.menu-heading img,.dish-head img{display:none}.menu-actions,.dish-foot,.form-end{align-items:flex-start;flex-direction:column;gap:12px}.menu-cards a{min-height:120px}.compact-form .wide{grid-column:auto}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.home-gallery{min-height:0;overflow:hidden;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
.home-gallery img{min-height:0}

/* Entwurf 3: kräftige Kopfzeile und klar gefasste Kacheln */
.site-header{background:var(--sage-dark);border-bottom-color:var(--sage-dark)}
.logo-link{padding:3px 9px;background:var(--cream);border:1px solid rgba(255,255,255,.45);border-radius:6px}
.logo-link img{height:60px}
.site-nav{color:#fff}
.site-nav a{padding:9px 15px;border:1px solid rgba(255,255,255,.34);border-radius:6px}
.site-nav a:hover,.site-nav a:focus-visible{color:#fff;background:rgba(255,255,255,.12);border-color:#fff}
.site-nav a.active{color:var(--ink);background:var(--apricot);border-color:var(--apricot)}
.intro-card,.about-panel,.profile-panel{padding:clamp(22px,3vw,38px);background:var(--cream);border:1px solid var(--line);border-radius:7px}
.home-gallery{grid-template-columns:1fr 1fr;padding:10px;background:var(--sage-dark);border-radius:7px}
.home-gallery img:first-child{grid-row:auto}
.home-gallery .paella-one{object-position:center 60%}.home-gallery .paella-two{object-position:center 35%}
.about-three{grid-template-columns:1fr .72fr .86fr;gap:clamp(20px,3vw,42px);padding-left:clamp(22px,4vw,62px);padding-right:clamp(22px,4vw,62px)}
.about-three .about-photo{justify-self:center;width:100%}.about-three .about-photo img{height:min(52vh,470px)}
.about-three .profile-list{grid-template-columns:1fr;margin-top:8px}.about-three .profile-list div:first-child{border-top:0}
.about-panel h1{font-size:clamp(2.3rem,3.6vw,3.7rem)}
.menu-cards a{justify-content:flex-start;overflow:hidden;padding:0 14px 14px}
.menu-cards a img{width:calc(100% + 28px);max-width:none;height:118px;margin:0 -14px 12px;object-fit:cover}
.menu-cards a span{margin:0 0 5px}.menu-cards a strong{margin-top:auto}
@media(max-width:900px){.site-header .nav-toggle{background:var(--cream)}.site-header.nav-open .site-nav{background:var(--sage-dark);border-color:rgba(255,255,255,.3)}.about-three{grid-template-columns:1fr}.menu-cards a img{height:145px}}

/* Home-Variante 4: helle Kopfzeile und zwei freie Einzelbilder */
.home-screen .site-header{background:var(--cream);border-bottom-color:var(--line)}
.home-screen .logo-link{background:var(--paper);border-color:var(--line)}
.home-screen .site-nav{gap:12px;color:var(--sage-dark)}
.home-screen .site-nav a{width:112px;padding:10px 8px;text-align:center;color:var(--sage-dark);background:#e7ebdf;border-color:#cbd3c1;border-radius:6px}
.home-screen .site-nav a:hover,.home-screen .site-nav a:focus-visible{color:var(--ink);background:#dce4d2;border-color:var(--sage)}
.home-screen .site-nav a.active{color:var(--ink);background:var(--apricot);border-color:var(--apricot)}
.home-screen .home-page{background:linear-gradient(rgba(255,253,247,.94),rgba(255,253,247,.94)),url("assets/instagram-paella.jpg") center/cover}
.home-screen .home-gallery{height:min(43vh,405px);grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:14px;padding:0;background:transparent;border-radius:0;overflow:visible}
.home-screen .home-gallery img{height:100%;object-fit:cover;border:0;border-radius:7px;box-shadow:0 10px 28px rgba(39,48,42,.11)}
.home-screen .home-gallery img:first-child{grid-row:auto}
@media(max-width:900px){.home-screen .site-nav a{width:100%;color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}.home-screen .home-gallery{height:330px}}

/* Variante 5: Kopfzeile als Kachel, aktiver Menüpunkt in dezentem Grün */
.site-header,.home-screen .site-header{height:70px;margin:12px clamp(14px,4vw,62px) 0;padding:5px 16px;background:var(--cream);border:1px solid var(--line);border-radius:7px}
.logo-link,.home-screen .logo-link{width:176px;flex-basis:176px;padding:0;background:transparent;border:0;border-radius:0}
.logo-link img,.home-screen .logo-link img{height:58px}
.site-nav,.home-screen .site-nav{gap:12px;color:var(--sage-dark)}
.site-nav a,.home-screen .site-nav a{width:112px;padding:10px 8px;text-align:center;color:var(--sage-dark);background:transparent;border:1px solid #cbd3c1;border-radius:6px}
.site-nav a:hover,.site-nav a:focus-visible,.home-screen .site-nav a:hover,.home-screen .site-nav a:focus-visible{color:var(--ink);background:#eef1e9;border-color:var(--sage)}
.site-nav a.active,.home-screen .site-nav a.active{color:var(--ink);background:#dce5d3;border-color:#bfcbb4}
.home-screen .home-intro{align-items:stretch}
.home-screen .intro-card{height:100%;display:flex;flex-direction:column;justify-content:center}
.home-screen .home-gallery{height:auto;min-height:0;align-self:stretch}
.home-screen .home-gallery img{height:100%;min-height:0}
.home-screen .home-contact .small-button{width:112px;min-height:40px;padding:0 8px;color:var(--ink);background:#dce5d3;border:1px solid #bfcbb4;border-radius:6px;box-shadow:none}
@media(max-width:900px){.site-header,.home-screen .site-header{height:66px;margin:8px 10px 0}.site-header.nav-open .site-nav,.home-screen .site-header.nav-open .site-nav{top:74px;background:var(--cream);border-color:var(--line)}.site-nav a,.home-screen .site-nav a{width:100%;color:var(--sage-dark);background:transparent;border-color:#cbd3c1}.site-nav a.active,.home-screen .site-nav a.active{background:#dce5d3}.home-screen .home-gallery{height:330px}}
.one-screen{display:flow-root}
.home-screen .home-page{grid-template-rows:auto auto;align-content:space-between}
.home-screen .home-intro{height:min(46vh,440px)}
.home-screen .home-contact .small-button{min-height:45px}

/* Wer-bin-ich-Seite analog zur Home-Seite */
.about-page-v2{height:calc(100svh - 82px);display:grid;grid-template-rows:auto auto;align-content:space-between;padding:clamp(24px,4vh,44px) clamp(22px,5vw,72px) 18px;background:linear-gradient(rgba(255,253,247,.94),rgba(255,253,247,.94)),url("assets/instagram-catering-buffet.jpg") center/cover}
.about-grid{height:min(46vh,440px);display:grid;grid-template-columns:1fr .72fr .86fr;gap:clamp(16px,2.2vw,34px);align-items:stretch}
.about-grid .about-panel,.about-grid .profile-panel{height:100%;display:flex;flex-direction:column;justify-content:center}
.about-grid .about-photo{width:100%;height:100%;margin:0;justify-self:stretch}
.about-grid .about-photo img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 18%;border-radius:7px;box-shadow:0 10px 28px rgba(39,48,42,.11)}
.about-grid .about-photo figcaption{display:none}
.about-grid .profile-list{grid-template-columns:1fr;margin:8px 0 0}
.about-grid .profile-list div:first-child{border-top:0}
.about-screen .home-contact .small-button{width:112px;min-height:45px;padding:0 8px;color:var(--ink);background:#dce5d3;border:1px solid #bfcbb4;border-radius:6px;box-shadow:none}
@media(max-width:900px){.about-page-v2{height:auto;min-height:calc(100svh - 74px)}.about-grid{height:auto;grid-template-columns:1fr}.about-grid .about-photo{height:360px}.about-page-v2 .home-contact{margin-top:22px}}

/* Speisenseite im selben Seitenraster */
.menu-page-v2{height:calc(100svh - 82px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;padding:clamp(18px,2.5vh,28px) clamp(22px,4vw,62px) 18px;background:linear-gradient(rgba(255,253,247,.95),rgba(255,253,247,.95)),url("assets/instagram-paella.jpg") center/cover}
.menu-title-card{padding:16px 20px;background:var(--cream);border:1px solid var(--line);border-radius:7px}
.menu-title-card h1{font-size:clamp(2rem,3vw,3.1rem)}
.menu-title-card p:not(.eyebrow){margin:5px 0 0}.menu-title-card .text-link{flex:0 0 auto}
.menu-page-v2 .menu-cards{min-height:0;grid-template-columns:repeat(5,1fr);gap:12px}
.menu-page-v2 .menu-cards a{height:100%;min-height:0;padding:0 14px 14px;background:var(--cream);border-color:var(--line)}
.menu-page-v2 .menu-cards a img{height:54%;min-height:0;flex:0 0 54%;object-fit:cover}
.menu-page-v2 .menu-cards a span{margin:7px 0 4px}.menu-page-v2 .menu-cards a strong{margin-top:auto}
.menu-screen .home-contact{margin-top:0}.menu-screen .home-contact .small-button{width:112px;min-height:45px;padding:0 8px;color:var(--ink);background:#dce5d3;border:1px solid #bfcbb4;border-radius:6px;box-shadow:none}
@media(max-width:900px){.menu-page-v2{height:auto;min-height:calc(100svh - 74px)}.menu-page-v2 .menu-cards{grid-template-columns:1fr 1fr}.menu-page-v2 .menu-cards a{min-height:300px}.menu-page-v2 .menu-cards a img{height:58%;flex-basis:58%}.menu-title-card{align-items:flex-start;flex-direction:column}}

/* Kontaktseite im gemeinsamen Seitenraster */
.contact-page-v2 {
  min-height: calc(100svh - 82px);
  padding: clamp(22px, 3.5vh, 36px) clamp(34px, 4.3vw, 68px) 18px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 18px;
  background:
    linear-gradient(rgba(252, 250, 244, .94), rgba(252, 250, 244, .94)),
    url("assets/instagram-catering-buffet.jpg") center / cover fixed;
}

.contact-grid {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(290px, .72fr) minmax(620px, 1.28fr);
  gap: clamp(22px, 2.4vw, 36px);
  align-items: stretch;
}

.contact-info-card,
.contact-grid .compact-form {
  height: 100%;
  background: rgba(246, 241, 229, .96);
  border: 1px solid rgba(81, 100, 66, .22);
  border-radius: 7px;
}

.contact-info-card {
  padding: clamp(26px, 3.2vw, 48px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-info-card h1 {
  margin: 4px 0 14px;
}

.contact-info-card address {
  margin-top: 18px;
}

.contact-grid .compact-form {
  padding: clamp(20px, 2.25vw, 32px);
  align-content: start;
}

.contact-grid .compact-form button[type="submit"] {
  width: 112px;
  min-height: 45px;
  padding: 8px 12px;
  border: 1px solid rgba(81, 100, 66, .28);
  border-radius: 6px;
  background: #dce5d3;
  color: #263025;
}

.contact-footer > div {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: clamp(22px, 2.2vw, 34px);
}

@media (max-width: 950px) {
  .contact-screen.one-screen { overflow: auto; }
  .contact-page-v2 { min-height: auto; padding: 22px 18px; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-info-card, .contact-grid .compact-form { height: auto; }
  .contact-footer { align-items: flex-start; }
  .contact-footer > div { margin-left: 0; flex-wrap: wrap; }
}

/* Speisenübersicht: kompakte Beispiele und hervorgehobener PDF-Download */
.menu-screen .menu-title-card {
  min-height: 108px;
  padding: 14px 18px;
  align-items: center;
}

.menu-screen .menu-title-card h1 {
  margin-top: 2px;
  font-size: clamp(1.9rem, 2.6vw, 2.75rem);
}

.menu-download {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 9px;
}

.menu-download p {
  margin: 0;
  font-size: .88rem;
  color: var(--muted);
}

.menu-download-button {
  min-height: 42px;
  padding: 9px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  background: #dce5d3;
  border: 1px solid #bfcbb4;
  border-radius: 6px;
  font-weight: 700;
  text-decoration: none;
}

.menu-page-v2 .menu-cards a {
  padding: 0 13px 13px;
  justify-content: flex-start;
}

.menu-page-v2 .menu-cards a img {
  height: 38%;
  flex-basis: 38%;
  margin: 0 -13px 12px;
  width: calc(100% + 26px);
}

.menu-card-title {
  width: 100%;
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.menu-page-v2 .menu-card-title span {
  margin: 0;
  flex: 0 0 auto;
  color: var(--apricot-dark);
  font-size: .86rem;
  font-weight: 800;
}

.menu-page-v2 .menu-card-title strong {
  margin: 0;
  font-size: clamp(1.15rem, 1.45vw, 1.55rem);
  line-height: 1.08;
}

.menu-page-v2 .menu-cards ul {
  width: 100%;
  margin: 11px 0 8px;
  padding-left: 18px;
  color: var(--ink);
  font-size: clamp(.78rem, .83vw, .9rem);
  line-height: 1.45;
}

.menu-page-v2 .menu-cards small {
  margin-top: auto;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.25;
}

@media (max-width: 900px) {
  .menu-screen .menu-title-card { align-items: flex-start; }
  .menu-download { margin-left: 0; align-items: flex-start; }
  .menu-page-v2 .menu-cards a img { height: 43%; flex-basis: 43%; }
}

/* Reaktivierter Shop im gemeinsamen Seitenraster */
.shop-page-v2 {
  height: calc(100svh - 82px);
  padding: 16px clamp(22px, 4vw, 62px) 16px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  background: linear-gradient(rgba(255,253,247,.95),rgba(255,253,247,.95)), url("assets/garden-shop.png") center / cover fixed;
}

.shop-title-card {
  min-height: 88px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  background: rgba(246,241,229,.97);
  border: 1px solid var(--line);
  border-radius: 7px;
  overflow: hidden;
}

.shop-title-brand {
  padding: 11px 18px;
}

.shop-title-card h1 {
  margin-top: 2px;
  font-size: clamp(1.9rem, 2.6vw, 2.75rem);
}

.shop-title-message,
.shop-title-order {
  align-self: stretch;
  margin: 8px 8px 8px 0;
  padding: 9px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: clamp(.72rem, .78vw, .86rem);
  line-height: 1.35;
}

.shop-title-message {
  margin-left: 8px;
  background: rgba(220,229,211,.28);
}

.shop-title-message strong {
  color: var(--sage-dark);
  font-size: .9rem;
}

.shop-title-order {
  align-items: flex-end;
  background: rgba(255,255,255,.2);
  text-align: right;
}

.shop-workspace {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 14px;
}

.shop-products {
  min-height: 0;
  padding-right: 5px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(88px, 1fr);
  gap: 9px;
  overflow-y: auto;
  scrollbar-color: #bfcbb4 transparent;
}

.shop-products .product-card {
  min-width: 0;
  padding: 7px;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto 52px;
  align-items: center;
  gap: 9px;
  background: rgba(246,241,229,.97);
  border: 1px solid var(--line);
  border-radius: 7px;
}

.shop-products .product-card img {
  width: 78px;
  height: 72px;
  object-fit: cover;
  border-radius: 5px;
}

.shop-products .product-card h2 {
  font: 650 clamp(.92rem, 1.05vw, 1.08rem)/1.15 var(--serif);
}

.shop-products .product-card p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: clamp(.67rem, .73vw, .78rem);
  line-height: 1.25;
}

.shop-products .product-card > strong {
  white-space: nowrap;
  color: var(--sage-dark);
  font-size: .86rem;
}

.shop-products .product-card label {
  display: grid;
  gap: 3px;
  font-size: .66rem;
  font-weight: 750;
}

.shop-products .product-card input {
  width: 48px;
  min-height: 34px;
  padding: 4px;
  border: 1px solid #cfd5c8;
  border-radius: 5px;
  background: #fff;
  font: inherit;
}

.shop-workspace .order-panel {
  min-height: 0;
  padding: 17px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  background: rgba(246,241,229,.98);
  border: 1px solid var(--line);
  border-radius: 7px;
}

.shop-workspace .order-panel h2 {
  font-size: 1.55rem;
}

.order-summary {
  min-height: 76px;
  max-height: 150px;
  padding: 9px;
  overflow-y: auto;
  color: var(--muted);
  background: rgba(255,255,255,.62);
  border: 1px solid var(--line);
  border-radius: 5px;
  font-size: .77rem;
}

.order-line,
.total-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.order-line + .order-line {
  margin-top: 7px;
  padding-top: 7px;
  border-top: 1px solid var(--line);
}

.total-row {
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  color: var(--sage-dark);
  font-weight: 750;
}

.shop-workspace .order-panel > label,
.customer-contact-fields label {
  display: grid;
  gap: 3px;
  font-size: .7rem;
  font-weight: 750;
}

.customer-contact-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.shop-workspace .order-panel input,
.shop-workspace .order-panel textarea {
  width: 100%;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid #cfd5c8;
  border-radius: 5px;
  background: #fff;
  font: inherit;
  resize: vertical;
}

.shop-order-button {
  min-height: 42px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  background: #dce5d3;
  border: 1px solid #bfcbb4;
  border-radius: 6px;
  font-weight: 750;
  text-align: center;
}

.shop-order-button[aria-disabled="true"] {
  opacity: .58;
}

.shop-workspace .order-panel > small {
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.3;
}


.shop-footer {
  margin-top: 0;
}

@media (max-width: 1100px) {
  .shop-products { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .shop-page-v2 { height: auto; min-height: calc(100svh - 74px); padding: 18px; }
  .shop-title-card { grid-template-columns: 1fr; align-items: stretch; }
  .shop-title-message, .shop-title-order { margin: 0 8px 8px; }
  .shop-title-order { align-items: flex-start; text-align: left; }
  .shop-workspace { grid-template-columns: 1fr; }
  .shop-products { max-height: none; overflow: visible; }
  .shop-products .product-card { grid-template-columns: 72px minmax(0,1fr) auto 52px; }
}

/* Speisekarten-Vorschau vor Download oder Weitergabe */
.pdf-viewer-screen {
  min-height: 100svh;
  display: flow-root;
  background: linear-gradient(rgba(255,253,247,.95),rgba(255,253,247,.95)), url("assets/instagram-paella.jpg") center / cover fixed;
}

.pdf-viewer-page {
  height: calc(100svh - 82px);
  padding: 18px clamp(18px, 4vw, 62px) 20px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
}

.pdf-viewer-bar {
  min-height: 86px;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: rgba(246, 241, 229, .97);
  border: 1px solid var(--line);
  border-radius: 7px;
}

.pdf-viewer-bar h1 {
  margin: 2px 0 0;
  font-size: clamp(1.7rem, 2.4vw, 2.5rem);
}

.pdf-viewer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.pdf-action {
  min-height: 42px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  background: #dce5d3;
  border: 1px solid #bfcbb4;
  border-radius: 6px;
  font-weight: 700;
  text-decoration: none;
}

.pdf-action.secondary {
  background: transparent;
}

.pdf-frame {
  width: 100%;
  height: 100%;
  min-height: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 7px;
}

@media (max-width: 900px) {
  .pdf-viewer-page { height: auto; min-height: calc(100svh - 74px); }
  .pdf-viewer-bar { align-items: flex-start; flex-direction: column; }
  .pdf-viewer-actions { justify-content: flex-start; }
  .pdf-frame { height: 72svh; }
}

/* Speisenkacheln ohne Detailseiten */
.menu-page-v2 .menu-cards .menu-card {
  min-width: 0;
  height: 100%;
  min-height: 0;
  padding: 0 13px 13px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--ink);
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 7px;
}

.menu-card-media {
  position: relative;
  height: 42%;
  min-height: 0;
  flex: 0 0 42%;
  margin: 0 -13px 0;
  overflow: hidden;
}

.menu-card-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.menu-card-media h2 {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 10px 13px 9px;
  color: var(--ink);
  background: rgba(246, 241, 229, .92);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.08rem, 1.35vw, 1.45rem);
  line-height: 1.1;
}

.menu-card-media h2 span {
  color: inherit;
  font: inherit;
}

.menu-page-v2 .menu-card > ul {
  width: 100%;
  margin: 17px 0 10px;
  padding-left: 19px;
  font-size: clamp(.8rem, .86vw, .92rem);
  line-height: 1.48;
}

.menu-page-v2 .menu-card > small {
  margin-top: auto;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.25;
}

@media (max-width: 900px) {
  .menu-page-v2 .menu-cards .menu-card { min-height: 300px; }
  .menu-card-media { height: 46%; flex-basis: 46%; }
}

/* Deutsche Beschriftung der PDF-Auswahl im Kontaktformular */
.file-picker {
  position: relative;
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 4px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #cfd5c8;
  border-radius: 5px;
  cursor: pointer;
}

.file-picker-button {
  padding: 6px 10px;
  color: var(--ink);
  background: #eef1e9;
  border: 1px solid #cbd3c1;
  border-radius: 4px;
  font-size: .76rem;
  font-weight: 750;
}

.file-picker-name {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.compact-form .upload .file-picker input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}
/* Einheitliche Hauptüberschriften und oben ausgerichtete Infokacheln */
.home-screen .intro-card h1,
.about-screen .about-panel h1,
.menu-screen .menu-title-card h1,
.shop-screen .shop-title-card h1,
.contact-screen .contact-info-card h1 {
  font-size: clamp(1.9rem, 2.6vw, 2.75rem);
}

.about-grid .about-panel,
.about-grid .profile-panel,
.contact-info-card {
  justify-content: flex-start;
}
