/* Restaurant-Seite: Hero, Info-Leiste, Bereichs-Navigation, Speisekarte, Weinkarte, Reservierung, Räume, Feiern, Anfahrt */
:root{ --rs-brown:#8B4513; --rs-gold:#b8902f; --rs-gold-soft:#d4af37; --rs-cream:#fbf8f2; --rs-ink:#2a2419; --rs-muted:#6e6356; --rs-line:#e4dccd; --rs-head:80px; }
@media(max-width:768px){ :root{ --rs-head:65px; } }
.rs-page section{padding:64px 0}
.rs-page .section-header{margin-bottom:34px}
.rs-page .section-title{font-size:2.2rem}
.rs-page .section-text{margin-bottom:0}

/* HERO: kompakt, Raumfoto, ein Hauptbutton */
.rs-hero{position:relative;min-height:440px;display:flex;align-items:center;overflow:hidden;color:#fff;padding:60px 0}
.rs-hero>picture img,.rs-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.rs-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,15,7,.82) 0%,rgba(24,15,7,.55) 55%,rgba(24,15,7,.25) 100%);z-index:1}
.rs-hero .container{position:relative;z-index:2}
.rs-hero-orn{color:var(--rs-gold-soft);letter-spacing:5px;font-size:.78rem;text-transform:uppercase;margin-bottom:12px}
.rs-hero h1{color:#fff;font-size:2.9rem;line-height:1.15;max-width:640px;margin:0 0 14px}
.rs-hero p{font-size:1.12rem;max-width:560px;margin:0 0 26px;color:rgba(255,255,255,.92)}
.rs-hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.rs-hero-cta .btn-link{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:4px}
@media(max-width:768px){.rs-hero{min-height:360px;padding:40px 0}.rs-hero h1{font-size:2.1rem}.rs-hero p{font-size:1rem}}

/* INFO-LEISTE: was Gäste zuerst wissen wollen */
.rs-infobar{background:var(--rs-ink);color:#efe6d6;padding:0}
.rs-infobar .container{display:flex;flex-wrap:wrap;gap:0}
.rs-info{flex:1 1 200px;display:flex;align-items:center;gap:12px;padding:16px 18px;border-right:1px solid rgba(255,255,255,.08);font-size:.92rem;color:inherit;text-decoration:none}
.rs-info:last-child{border-right:0}
.rs-info i{color:var(--rs-gold-soft);font-size:1.1rem;width:20px;text-align:center}
.rs-info small{display:block;font-size:.74rem;color:#b9ad97;text-transform:uppercase;letter-spacing:1px}
.rs-info strong{font-weight:600;color:#fff}
.rs-info.open strong{color:#9fd3ae}
a.rs-info:hover{background:rgba(255,255,255,.06)}
@media(max-width:768px){.rs-info{flex:1 1 50%;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}}

/* BEREICHS-NAVIGATION (klebt unter dem Header) */
.rs-nav{position:sticky;top:var(--rs-head);z-index:50;background:rgba(251,248,242,.97);backdrop-filter:blur(6px);border-bottom:1px solid var(--rs-line);box-shadow:0 6px 14px -12px rgba(42,36,25,.35)}
.rs-nav .container{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.rs-nav .container::-webkit-scrollbar{display:none}
.rs-nav a{flex:0 0 auto;padding:14px 14px;font-size:.88rem;font-weight:600;color:#6b6155;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.rs-nav a:hover,.rs-nav a.active{color:var(--rs-brown);border-bottom-color:var(--rs-gold)}
.rs-nav a i{margin-right:6px;color:var(--rs-gold)}
.rs-page{scroll-padding-top:calc(var(--rs-head) + 60px)}
.rs-page section[id]{scroll-margin-top:calc(var(--rs-head) + 60px)}

/* TAGESMENÜ */
.rs-daily{background:var(--rs-cream)}
.rs-daily-card{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;background:#fff;border:1px solid var(--rs-line);border-radius:12px;padding:28px 30px;position:relative}
.rs-daily-card::before{content:'';position:absolute;inset:8px;border:1px solid rgba(212,175,55,.35);border-radius:8px;pointer-events:none}
.rs-course h4{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--rs-gold);margin:0 0 6px}
.rs-course h3{font-size:1.15rem;margin:0 0 6px;color:var(--rs-ink)}
.rs-course p{font-size:.9rem;color:var(--rs-muted);margin:0}
.rs-daily-price{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;border-top:1px dotted #cdbfa8;padding-top:16px;color:var(--rs-muted);font-size:.92rem}
.rs-daily-price strong{font-family:var(--font-heading,'Playfair Display',serif);font-size:1.4rem;color:var(--rs-brown)}
@media(max-width:768px){.rs-daily-card{grid-template-columns:1fr;padding:22px 18px}}

/* SPEISEKARTE: Reiter + Suche */
.rs-menu{background:var(--rs-cream)}
.rs-menu-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:22px;min-width:0}
/* min-width:0, sonst dehnt die Reiterzeile den Container und die Seite wird auf dem Handy breiter als der Bildschirm */
.rs-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;flex:1 1 auto;min-width:0;max-width:100%}
.rs-page .container{min-width:0}
.rs-page{overflow-x:hidden}
.rs-tabs::-webkit-scrollbar{display:none}
.rs-tab{flex:0 0 auto;padding:9px 15px;border:1px solid var(--rs-line);background:#fff;border-radius:999px;font-size:.84rem;font-weight:600;color:#6b6155;cursor:pointer;white-space:nowrap;transition:all .15s}
.rs-tab:hover{border-color:var(--rs-gold);color:var(--rs-brown)}
.rs-tab[aria-selected="true"]{background:var(--rs-brown);border-color:var(--rs-brown);color:#fff}
.rs-tab i{margin-right:6px}
.rs-search{position:relative;flex:0 1 300px;min-width:200px}
.rs-search input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--rs-line);border-radius:999px;font-size:.92rem;background:#fff;outline:none;color:var(--rs-ink)}
.rs-search input:focus{border-color:var(--rs-gold)}
.rs-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#bbab93}
.rs-menu-cat{background:#fff;border:1px solid var(--rs-line);border-radius:12px;padding:26px 30px 20px;margin-bottom:14px}
.rs-menu-cat[hidden]{display:none}
.rs-menu-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.rs-menu-cat-head h3{font-size:1.5rem;margin:0;color:var(--rs-ink);display:flex;align-items:center;gap:10px}
.rs-menu-cat-head h3 i{color:var(--rs-gold);font-size:1rem}
.rs-menu-cat-head p{margin:0;font-size:.88rem;color:var(--rs-muted);font-style:italic}
.rs-menu-empty{display:none;text-align:center;padding:30px;color:var(--rs-muted);font-style:italic}
.rs-menu-foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}
.rs-menu-foot small{flex-basis:100%;text-align:center;color:var(--rs-muted);font-size:.82rem}
@media(max-width:768px){.rs-menu-cat{padding:18px 14px 12px}.rs-search{flex-basis:100%}}

/* WEINKARTE: kompakte Preisübersicht */
.rs-wines{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.rs-wine-group h3{font-size:1.3rem;margin:0 0 12px;color:var(--rs-ink);display:flex;align-items:center;gap:10px}
.rs-wine-group h3 i{color:var(--rs-gold);font-size:1rem}
.rs-wine-table{background:#fff;border:1px solid var(--rs-line);border-radius:12px;overflow:hidden}
.rs-wine-row{display:grid;grid-template-columns:1fr 70px 80px;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid #f1ebe1;text-decoration:none;color:inherit}
.rs-wine-row:last-child{border-bottom:0}
.rs-wine-row:hover{background:#fdf6ee}
.rs-wine-row.head{background:var(--rs-ink);color:var(--rs-gold-soft);font-size:.74rem;text-transform:uppercase;letter-spacing:1px;font-weight:600}
.rs-wine-name{font-weight:600;color:var(--rs-ink)}
.rs-wine-name small{display:block;font-weight:400;color:var(--rs-muted);font-size:.82em}
.rs-wine-name .fa-award{color:#DAA520;margin-left:5px;font-size:.85em}
.rs-wine-price{text-align:right;font-weight:600;color:var(--rs-brown);white-space:nowrap}
@media(max-width:900px){.rs-wines{grid-template-columns:1fr}}
/* Handy: Rebsorte/Region ausblenden, sonst wird jede Zeile 5–8 Zeilen hoch und die Weinkarte endlos lang */
@media(max-width:600px){
  .rs-wine-meta{display:none}
  .rs-wine-row{grid-template-columns:1fr 62px 72px;gap:8px;padding:10px 12px}
  .rs-wine-name small{font-size:.78em}
}

/* RESERVIERUNG: Formular + Kontakt */
.rs-reserve{background:var(--rs-cream)}
.rs-reserve-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:start}
.rs-reserve-form{background:#fff;border:1px solid var(--rs-line);border-radius:12px;padding:30px}
.rs-reserve-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rs-reserve-form .form-group{margin-bottom:16px}
.rs-reserve-aside{display:grid;gap:16px}
.rs-card{background:#fff;border:1px solid var(--rs-line);border-radius:12px;padding:22px 24px}
.rs-card h3{font-size:1.1rem;margin:0 0 12px;display:flex;align-items:center;gap:10px;color:var(--rs-ink)}
.rs-card h3 i{color:var(--rs-gold)}
.rs-card p,.rs-card li{font-size:.92rem;color:var(--rs-muted);margin:0 0 6px}
.rs-card ul{list-style:none;padding:0;margin:0}
.rs-card a.tel{font-family:var(--font-heading,'Playfair Display',serif);font-size:1.5rem;color:var(--rs-brown);text-decoration:none;display:block;margin:4px 0 8px}
@media(max-width:900px){.rs-reserve-grid{grid-template-columns:1fr}}
@media(max-width:560px){.rs-reserve-form .form-row{grid-template-columns:1fr}.rs-reserve-form{padding:20px 16px}}

/* RÄUME & TERRASSE / FEIERN */
.rs-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rs-room{background:#fff;border:1px solid var(--rs-line);border-radius:12px;overflow:hidden}
.rs-room img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.rs-room-body{padding:20px 22px}
.rs-room-body h3{font-size:1.2rem;margin:0 0 8px;color:var(--rs-ink)}
.rs-room-body p{font-size:.92rem;color:var(--rs-muted);margin:0}
.rs-events{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rs-event{display:block;background:var(--rs-ink);color:#efe6d6;border-radius:12px;padding:26px 22px;text-decoration:none;position:relative;transition:transform .15s}
.rs-event:hover{transform:translateY(-3px);color:#fff}
.rs-event i{color:var(--rs-gold-soft);font-size:1.5rem;margin-bottom:12px;display:block}
.rs-event h3{color:#fff;font-size:1.15rem;margin:0 0 6px}
.rs-event p{font-size:.88rem;color:#c9bca6;margin:0}
.rs-event span{display:inline-block;margin-top:12px;font-size:.84rem;font-weight:600;color:var(--rs-gold-soft)}
@media(max-width:960px){.rs-rooms{grid-template-columns:1fr 1fr}.rs-events{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.rs-rooms,.rs-events{grid-template-columns:1fr}}

/* GALERIE kompakt */
.rs-gallery .gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rs-gallery .gallery-item{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1/1}
.rs-gallery .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.rs-gallery .gallery-item:hover img{transform:scale(1.05)}
@media(max-width:768px){.rs-gallery .gallery-grid{grid-template-columns:1fr 1fr}}

/* ANFAHRT */
.rs-directions{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rs-directions address{font-style:normal;line-height:1.7;color:var(--rs-ink);font-size:1.02rem}
.rs-directions .btn{margin:10px 8px 0 0}
.rs-hours-list li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dotted #cdbfa8}
.rs-hours-list li:last-child{border-bottom:0}
@media(max-width:768px){.rs-directions{grid-template-columns:1fr}}
