:root {
  --brand-copper: #b65f3e;
  --brand-copper-dark: #8c412a;
  --brand-brown: #34231e;
  --brand-brown-soft: #57443c;
  --brand-cream: #f4eee4;
  --brand-paper: #fbf8f2;
  --brand-white: #fffdf9;
  --brand-grey: #756f68;
  --line: rgba(52,35,30,.14);
  --shadow: 0 18px 45px rgba(52,35,30,.12);
  --radius: 18px;
  --font-head: "Baskerville Old Face", Baskerville, "Times New Roman", serif;
  --font-body: Candara, "Trebuchet MS", Arial, sans-serif;
  --season-accent: #6d7e4a;
  --season-soft: #e8eddc;
}

html[data-season="fruehling"] { --season-accent:#78925a; --season-soft:#e7efdf; }
html[data-season="sommer"] { --season-accent:#6d7e4a; --season-soft:#e8eddc; }
html[data-season="herbst"] { --season-accent:#9a5d31; --season-soft:#f1e1cf; }
html[data-season="winter"] { --season-accent:#6e7b82; --season-soft:#e3e9eb; }

* { box-sizing:border-box; }
html { scroll-behavior:smooth; width:100%; max-width:100%; overflow-x:hidden; }
body { margin:0; width:100%; max-width:100%; min-width:0; overflow-x:hidden; color:var(--brand-brown); background:var(--brand-paper); font-family:var(--font-body); line-height:1.6; }
main { display:block; width:100%; max-width:100%; min-width:0; overflow-x:hidden; }
section { width:100%; max-width:100%; min-width:0; }
img { display:block; max-width:100%; }
a { color:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
.container { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.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; }
.skip-link { position:fixed; left:10px; top:-60px; z-index:999; padding:10px 14px; background:#fff; color:#000; }
.skip-link:focus { top:10px; }

h1,h2,h3 { font-family:var(--font-head); font-weight:400; line-height:1.05; margin:0 0 .55em; }
h1 { font-size:clamp(3.2rem, 8vw, 7.5rem); letter-spacing:-.035em; }
h2 { font-size:clamp(2.25rem, 4.6vw, 4.8rem); letter-spacing:-.02em; }
h3 { font-size:clamp(1.55rem, 2.2vw, 2.3rem); }
p { margin:0 0 1em; }
.eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:.77rem; font-weight:700; margin-bottom:1rem; }
.text-link { display:inline-block; margin-top:.5rem; font-weight:700; text-decoration:none; border-bottom:1px solid currentColor; }
.text-link:hover { color:var(--brand-copper-dark); }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:46px; padding:.75rem 1.1rem; border-radius:999px; font-weight:700; text-decoration:none; border:1px solid transparent; transition:.2s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-solid { background:var(--brand-copper); color:white; }
.btn-solid:hover { background:var(--brand-copper-dark); }
.btn-ghost { border-color:var(--line); background:rgba(255,255,255,.65); }
.btn-light { background:white; color:var(--brand-brown); }
.btn-outline-light { border-color:rgba(255,255,255,.72); color:white; background:rgba(38,25,20,.15); backdrop-filter:blur(5px); }

.site-header { position:fixed; inset:0 0 auto; z-index:50; background:rgba(251,248,242,.94); backdrop-filter:blur(14px); border-bottom:1px solid rgba(52,35,30,.08); }
.header-inner { min-height:84px; display:flex; align-items:center; gap:1.25rem; }
.brand { width:130px; flex:0 0 auto; }
.brand img { width:100%; height:auto; }
.mainnav { display:flex; gap:1.15rem; margin-left:auto; align-items:center; }
.mainnav a { text-decoration:none; font-weight:700; font-size:.93rem; white-space:nowrap; }
.mainnav a:hover { color:var(--brand-copper-dark); }
.header-actions { display:flex; gap:.55rem; }
.nav-toggle { display:none; width:44px; height:44px; border:0; background:transparent; padding:9px; }
.nav-toggle span:not(.sr-only) { display:block; height:2px; background:var(--brand-brown); margin:5px 0; }

.hero { position:relative; width:100%; max-width:100%; min-width:0; overflow:hidden; min-height:92svh; display:flex; align-items:flex-end; color:white; background-image:url('../img/alte-brauerei-abend.jpg'); background-size:cover; background-position:center 47%; padding:170px 0 86px; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(31,21,18,.76) 0%, rgba(31,21,18,.40) 45%, rgba(31,21,18,.05) 75%), linear-gradient(0deg, rgba(31,21,18,.35), transparent 45%); }
.hero-content { position:relative; z-index:2; }
.hero-copy { width:100%; max-width:900px; min-width:0; }
.hero-copy .eyebrow { color:#f1e8dc; }
.hero-subtitle { font-family:var(--font-head); font-size:clamp(1.45rem, 2.5vw, 2.4rem); margin:0 0 2rem; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:.7rem; }
.scroll-hint { position:absolute; z-index:2; right:3vw; bottom:36px; color:white; font-size:2rem; text-decoration:none; }

.today-section { background:var(--brand-cream); padding:54px 0 30px; border-bottom:1px solid var(--line); }
.today-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr .8fr; gap:1rem; align-items:stretch; }
.today-grid h2 { font-size:clamp(1.8rem, 3vw, 3rem); margin-bottom:0; }
.hours-card { background:var(--brand-white); padding:1.25rem 1.35rem; border-radius:var(--radius); box-shadow:0 8px 28px rgba(52,35,30,.06); display:flex; flex-direction:column; justify-content:center; }
.hours-card strong { color:var(--brand-copper-dark); }
.hours-card span { font-size:.95rem; }
.today-actions { display:flex; flex-direction:column; justify-content:center; gap:.45rem; }
.today-actions a { font-weight:700; text-decoration:none; }
.small-note { margin-top:1.15rem; font-size:.88rem; color:var(--brand-grey); }

.intro-section { padding:100px 0; }
.intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem, 5vw, 5.5rem); align-items:center; }
.intro-image img { border-radius:var(--radius); min-height:480px; width:100%; object-fit:cover; box-shadow:var(--shadow); }
.intro-copy { max-width:520px; }
.intro-copy p:not(.eyebrow) { font-size:1.06rem; }
.silhouette { width:min(360px,100%); margin-top:2.2rem; mix-blend-mode:multiply; opacity:.78; }

.worlds-section { background:var(--brand-brown); color:white; padding:100px 0; }
.worlds-section .eyebrow { color:#d8c9bb; }
.world-grid { display:grid; grid-template-columns:repeat(2,1fr); margin-top:2.8rem; border-top:1px solid rgba(255,255,255,.18); }
.world-card { display:grid; grid-template-columns:56px 1fr auto; gap:1rem; align-items:center; padding:2rem .75rem 2rem 0; border-bottom:1px solid rgba(255,255,255,.18); text-decoration:none; }
.world-card:nth-child(odd) { padding-right:2rem; }
.world-card:nth-child(even) { padding-left:2rem; border-left:1px solid rgba(255,255,255,.18); }
.world-card h3 { margin:0 0 .3rem; }
.world-card p { margin:0; color:#d9cec8; }
.world-number { font-size:.78rem; opacity:.65; }
.world-arrow { font-size:1.6rem; transition:.2s ease; }
.world-card:hover .world-arrow { transform:translateX(7px); }
.world-card:hover h3 { color:#f0c4ad; }

.season-section { padding:100px 0; background:var(--season-soft); transition:background .3s ease; }
.season-grid { display:grid; grid-template-columns:1fr .8fr; gap:4rem; align-items:center; }
.season-panel { background:rgba(255,255,255,.62); border:1px solid rgba(52,35,30,.09); border-radius:var(--radius); padding:2rem; box-shadow:0 12px 34px rgba(52,35,30,.06); }
.season-label { text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:700; color:var(--season-accent); }
.season-name { display:block; font-family:var(--font-head); font-size:clamp(3rem,6vw,5.5rem); color:var(--season-accent); line-height:1; margin:.5rem 0 1rem; }

.hotel-section { padding:100px 0; }
.hotel-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:4rem; align-items:center; }
.hotel-copy { padding-left:2vw; }
.hotel-image img { border-radius:var(--radius); box-shadow:var(--shadow); min-height:460px; width:100%; object-fit:cover; }
.quickbook-wrap { margin-top:70px; border-radius:var(--radius); background:var(--brand-cream); padding:2rem; display:grid; grid-template-columns:.34fr 1fr; gap:2rem; align-items:center; }
.quickbook-heading h3 { margin-bottom:0; }
.d21-quickbook:empty { min-height:112px; border:1px dashed rgba(52,35,30,.25); border-radius:14px; display:grid; place-items:center; background:rgba(255,255,255,.6); }
.d21-quickbook:empty::before { content:"DIRS21 QuickBook – Widget wird hier eingebunden"; color:var(--brand-grey); text-align:center; padding:1rem; }

.events-section { padding:100px 0; background:#ede5da; }
.section-heading-row { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2.8rem; }
.event-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.event-card { background:var(--brand-white); padding:1.5rem; border-radius:var(--radius); min-height:270px; display:flex; flex-direction:column; box-shadow:0 8px 26px rgba(52,35,30,.06); }
.event-card time { font-size:.8rem; font-weight:700; color:var(--brand-copper-dark); letter-spacing:.08em; }
.event-card h3 { margin-top:auto; font-size:1.8rem; }
.event-card p { margin-bottom:0; font-size:.94rem; color:var(--brand-brown-soft); }

.sustain-section { padding:90px 0; background:var(--season-accent); color:white; }
.sustain-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; }
.sustain-section .eyebrow { color:rgba(255,255,255,.8); }
.sustain-section .text-link:hover { color:white; opacity:.8; }
.sustain-copy { font-size:1.08rem; }

.social-section { padding:100px 0; }
.social-grid { display:grid; grid-template-columns:.8fr .75fr 1fr; gap:2rem; align-items:start; }
.social-links { display:flex; flex-direction:column; border-top:1px solid var(--line); }
.social-links a { display:flex; justify-content:space-between; padding:.9rem 0; border-bottom:1px solid var(--line); text-decoration:none; font-weight:700; }
.social-links a:hover { color:var(--brand-copper-dark); }
.social-placeholder { min-height:250px; border-radius:var(--radius); background:var(--brand-cream); border:1px dashed rgba(52,35,30,.2); padding:2rem; display:flex; flex-direction:column; justify-content:center; }

.site-footer { background:#241815; color:#f4eee4; padding:70px 0 92px; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:2.5rem; }
.footer-grid h3 { font-family:var(--font-body); text-transform:uppercase; letter-spacing:.11em; font-size:.8rem; font-weight:700; color:#cdbdb4; }
.footer-grid a { color:#fff; text-decoration:none; }
.footer-grid a:hover { text-decoration:underline; }
.footer-brand { display:flex; gap:1rem; align-items:flex-start; }
.footer-brand img { width:120px; background:#fff; border-radius:12px; }
.footer-brand p { margin:0; }
.footer-brand span { color:#d6c8bf; }
.footer-bottom { margin-top:45px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; font-size:.86rem; color:#cdbdb4; }
.mobile-actions { display:none; }

@media (max-width:1120px) {
  .mainnav { gap:.8rem; }
  .mainnav a { font-size:.86rem; }
  .header-actions .btn-ghost { display:none; }
  .event-grid { grid-template-columns:repeat(2,1fr); }
  .today-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:860px) {
  body { padding-bottom:66px; }
  .container { width:calc(100% - 28px); max-width:700px; }
  .site-header { position:fixed; }
  .header-inner { min-height:70px; }
  .brand { width:106px; }
  .nav-toggle { display:block; margin-left:auto; }
  .header-actions { display:none; }
  .mainnav { position:fixed; inset:70px 0 auto; display:none; flex-direction:column; gap:0; padding:16px 20px 24px; background:var(--brand-paper); border-top:1px solid var(--line); box-shadow:0 18px 30px rgba(0,0,0,.12); }
  .mainnav.is-open { display:flex; }
  .mainnav a { width:100%; padding:13px 0; font-size:1rem; border-bottom:1px solid var(--line); }
  .hero { min-height:90svh; padding-top:135px; background-position:35% center; }
  .hero-overlay { background:linear-gradient(90deg, rgba(31,21,18,.82), rgba(31,21,18,.38) 75%, rgba(31,21,18,.16)); }
  .hero-buttons { align-items:stretch; }
  .hero-buttons .btn { flex:1 1 100%; }
  .scroll-hint { display:none; }
  .today-grid, .intro-grid, .season-grid, .hotel-grid, .sustain-grid, .social-grid, .quickbook-wrap { grid-template-columns:1fr; }
  .intro-section, .worlds-section, .season-section, .hotel-section, .events-section, .social-section { padding:72px 0; }
  .intro-image img, .hotel-image img { min-height:320px; }
  .intro-copy { max-width:none; }
  .world-grid { grid-template-columns:1fr; }
  .world-card, .world-card:nth-child(odd), .world-card:nth-child(even) { padding:1.55rem 0; border-left:0; }
  .hotel-copy { padding-left:0; }
  .quickbook-wrap { margin-top:45px; }
  .section-heading-row { align-items:start; flex-direction:column; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1 / -1; }
  .mobile-actions { position:fixed; z-index:60; inset:auto 0 0; display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(0,0,0,.08); }
  .mobile-actions a { min-height:58px; display:grid; place-items:center; text-decoration:none; font-weight:700; font-size:.9rem; }
  .mobile-actions a:nth-child(2) { border-inline:1px solid var(--line); }
}

@media (max-width:560px) {
  h1 { font-size:clamp(2.35rem,10.4vw,3.25rem); letter-spacing:-.03em; max-width:100%; }
  h2 { font-size:clamp(2.2rem,11vw,3.6rem); }
  .hero { min-height:86svh; padding-bottom:52px; background-position:31% center; }
  .hero-subtitle { font-size:1.35rem; }
  .today-grid { grid-template-columns:1fr; }
  .event-grid { grid-template-columns:1fr; }
  .event-card { min-height:230px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; flex-direction:column; }
  .footer-bottom { flex-direction:column; gap:.6rem; }
}


@media (max-width:390px) {
  .container { width:calc(100% - 24px); }
  h1 { font-size:clamp(2.25rem,10.2vw,2.55rem); }
  .hero-copy .eyebrow { font-size:.70rem; letter-spacing:.13em; }
  .hero-subtitle { font-size:1.25rem; }
}

/* ==============================
   Version 4 – bildstärkere Startseite
   ============================== */
.worlds-heading-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.62fr);
  gap:3rem;
  align-items:end;
  margin-bottom:2.4rem;
}
.worlds-heading-row h2 { margin-bottom:0; }
.worlds-heading-row p { margin:0 0 .45rem; color:#d9cec8; max-width:440px; }

.world-photo-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.world-photo-card {
  position:relative;
  min-height:340px;
  overflow:hidden;
  border-radius:var(--radius);
  color:white;
  text-decoration:none;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
  isolation:isolate;
}
.world-photo-card.world-wide { min-height:390px; }
.world-photo-card img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease, filter .45s ease;
}
.world-photo-card:nth-child(1) img { object-position:center 58%; }
.world-photo-card:nth-child(2) img { object-position:center 55%; }
.world-photo-card:nth-child(3) img { object-position:center 52%; }
.world-photo-card:nth-child(4) img { object-position:center 50%; }
.world-photo-card:nth-child(5) img { object-position:center 48%; }
.world-photo-card:nth-child(6) img { object-position:center 54%; }

/* Freigestellte Produktbilder: ruhiger Creme-Hintergrund als Übergangslösung */
.world-photo-card.product-card { background:var(--brand-cream); }
.world-photo-card.product-card img {
  object-fit:contain;
  object-position:center 42%;
  padding:1.1rem 1.6rem 4.7rem;
  filter:none;
}
.world-photo-card.product-card .world-photo-shade {
  background:linear-gradient(180deg, rgba(25,15,12,0) 28%, rgba(25,15,12,.12) 58%, rgba(25,15,12,.9) 100%);
}
.world-photo-card.product-card:hover img { transform:scale(1.02); filter:none; }
.world-photo-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(25,15,12,.02) 15%, rgba(25,15,12,.28) 52%, rgba(25,15,12,.88) 100%);
  z-index:1;
}
.world-photo-copy {
  position:absolute;
  z-index:2;
  left:1.6rem;
  right:4.5rem;
  bottom:1.5rem;
}
.world-photo-copy h3 { font-size:clamp(2rem,3.2vw,3.4rem); margin-bottom:.28rem; }
.world-photo-copy p { margin:0; color:#f1e9e2; max-width:520px; }
.world-photo-card .world-number {
  position:absolute;
  z-index:2;
  top:1.35rem;
  left:1.5rem;
  width:40px;
  height:40px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(35,22,18,.38);
  border:1px solid rgba(255,255,255,.5);
  backdrop-filter:blur(7px);
  font-weight:700;
  opacity:1;
}
.world-photo-card .world-arrow {
  position:absolute;
  z-index:2;
  right:1.55rem;
  bottom:1.6rem;
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.92);
  color:var(--brand-brown);
  font-size:1.25rem;
  transition:transform .25s ease, background .25s ease;
}
.world-photo-card:hover img { transform:scale(1.035); filter:saturate(1.04); }
.world-photo-card:hover .world-arrow { transform:translateX(5px); background:white; }

.season-copy { max-width:560px; }
.season-visual {
  position:relative;
  min-height:520px;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  background:linear-gradient(145deg, var(--brand-paper), var(--brand-cream));
}
.season-visual img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:2.6rem 1.35rem 1.25rem;
}
.season-badge {
  position:absolute;
  left:1.15rem;
  top:1.15rem;
  width:auto;
  padding:.55rem .85rem;
  border-radius:999px;
  background:rgba(255,253,249,.94);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 22px rgba(52,35,30,.12);
  z-index:2;
}
.season-badge .season-label { font-size:.7rem; white-space:nowrap; }

.hotel-gallery {
  display:grid;
  grid-template-columns:1fr .56fr;
  gap:1rem;
  min-height:500px;
}
.hotel-gallery figure { margin:0; overflow:hidden; border-radius:var(--radius); position:relative; box-shadow:var(--shadow); }
.hotel-gallery-main { min-height:500px; }
.hotel-gallery-small { min-height:500px; }
.hotel-gallery img { width:100%; height:100%; object-fit:cover; }
.hotel-gallery-main img { object-position:center 50%; }
.hotel-gallery-small img { object-position:left 50%; }
.hotel-gallery-small figcaption {
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  padding:.7rem .8rem;
  border-radius:10px;
  background:rgba(255,253,249,.9);
  color:var(--brand-brown);
  font-weight:700;
  font-size:.9rem;
}

.events-section { background:#ede5da; }
.event-feature-grid {
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:stretch;
}
.event-feature-image {
  min-height:610px;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.event-feature-image img { width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.event-feature-content { align-self:center; }
.event-list { border-top:1px solid var(--line); }
.event-row {
  display:grid;
  grid-template-columns:78px 1fr;
  gap:1rem;
  padding:1.1rem 0;
  border-bottom:1px solid var(--line);
}
.event-row time { font-weight:700; color:var(--brand-copper-dark); letter-spacing:.05em; }
.event-row h3 { font-family:var(--font-body); font-size:1.05rem; font-weight:700; margin:0 0 .2rem; }
.event-row p { margin:0; color:var(--brand-grey); font-size:.92rem; }

@media (max-width:980px) {
  .worlds-heading-row { grid-template-columns:1fr; gap:.7rem; }
  .worlds-heading-row p { max-width:600px; }
  .hotel-gallery { min-height:430px; }
  .hotel-gallery-main, .hotel-gallery-small { min-height:430px; }
  .event-feature-grid { grid-template-columns:1fr; }
  .event-feature-image { min-height:430px; }
}

@media (max-width:860px) {
  .world-photo-grid { grid-template-columns:1fr; }
  .world-photo-card, .world-photo-card.world-wide { min-height:310px; }
  .world-photo-copy { left:1.25rem; right:4rem; bottom:1.25rem; }
  .world-photo-card .world-number { top:1rem; left:1rem; }
  .world-photo-card .world-arrow { right:1.1rem; bottom:1.15rem; }
  .season-visual { min-height:420px; }
  .hotel-gallery { grid-template-columns:1.12fr .88fr; min-height:390px; }
  .hotel-gallery-main, .hotel-gallery-small { min-height:390px; }
}

@media (max-width:560px) {
  .world-photo-card, .world-photo-card.world-wide { min-height:285px; }
  .world-photo-card.product-card img { padding:.8rem 1rem 4.5rem; }
  .season-visual img { padding:2.5rem .75rem .8rem; }
  .hotel-gallery-small img { object-position:left 50%; }
  .world-photo-copy h3 { font-size:2.15rem; }
  .world-photo-copy p { font-size:.9rem; }
  .season-visual { min-height:390px; }
  .season-badge { left:.8rem; top:.8rem; right:auto; bottom:auto; width:auto; }
  .hotel-gallery { grid-template-columns:1fr; min-height:0; }
  .hotel-gallery-main { min-height:330px; }
  .hotel-gallery-small { min-height:250px; }
  .event-feature-image { min-height:320px; }
  .event-row { grid-template-columns:68px 1fr; }
}

/* ==============================
   Finalisierung Startseite – DIRS21 & Social Embed
   ============================== */
.widget-note {
  margin:.75rem 0 0;
  color:var(--brand-grey);
  font-size:.9rem;
}

/* Das externe DIRS21-Widget bekommt einen ruhigen CI-Rahmen. */
.d21-quickbook {
  width:100%;
  min-width:0;
}
.d21-quickbook:not(:empty) {
  background:var(--brand-white);
  border:1px solid var(--line);
  border-radius:14px;
  padding:.9rem;
  box-shadow:0 8px 22px rgba(52,35,30,.06);
}

.social-embed {
  min-height:300px;
  border-radius:var(--radius);
  background:var(--brand-cream);
  border:1px solid rgba(52,35,30,.10);
  overflow:hidden;
}
.social-consent {
  min-height:300px;
  padding:2rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.social-consent strong {
  font-family:var(--font-head);
  font-size:1.8rem;
  font-weight:400;
  margin-bottom:.35rem;
}
.social-consent p {
  color:var(--brand-brown-soft);
  margin-bottom:1.1rem;
}
.facebook-frame {
  display:none;
  width:100%;
  min-height:420px;
  background:#fff;
}
.facebook-frame.is-loaded { display:block; }
.facebook-frame iframe {
  display:block;
  width:100%;
  min-height:420px;
  border:0;
}
.social-embed.is-loaded .social-consent { display:none; }

@media (max-width:560px) {
  .social-consent { padding:1.4rem; }
  .facebook-frame, .facebook-frame iframe { min-height:460px; }
}

/* ==============================
   Website-Grundsystem – Unterseiten
   ============================== */
.mainnav a.is-active { color:var(--brand-copper-dark); }
.subhero {
  position:relative;
  min-height:68svh;
  display:flex;
  align-items:flex-end;
  padding:170px 0 72px;
  color:white;
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.subhero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(31,21,18,.82),rgba(31,21,18,.36) 62%,rgba(31,21,18,.12)); }
.subhero .container { position:relative; z-index:1; }
.subhero h1 { max-width:900px; font-size:clamp(3.4rem,7vw,6.7rem); }
.subhero p:not(.eyebrow) { max-width:680px; font-size:clamp(1.1rem,2vw,1.45rem); }
.subhero-gastronomie { background-image:url('../img/gastraum.jpg'); background-position:center 54%; }
.subhero-reservierung { background-image:url('../img/gedeckter-tisch.jpg'); background-position:center 57%; }

.page-intro { padding:88px 0; }
.page-intro-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2.5rem,6vw,6rem); align-items:start; }
.page-intro-copy { font-size:1.08rem; max-width:700px; }
.page-intro-actions { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:1.4rem; }

.menu-feature { padding:90px 0; background:var(--brand-cream); }
.menu-feature-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.menu-product-stage { min-height:480px; border-radius:var(--radius); background:var(--brand-paper); box-shadow:var(--shadow); display:grid; place-items:center; overflow:hidden; position:relative; }
.menu-product-stage img { width:100%; height:100%; max-height:460px; object-fit:contain; padding:2rem; }
.menu-meta { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.3rem 0; }
.menu-chip { display:inline-flex; padding:.42rem .7rem; border-radius:999px; background:var(--season-soft); color:var(--brand-brown); font-weight:700; font-size:.82rem; }

.rooms-section { padding:100px 0; }
.rooms-heading { display:grid; grid-template-columns:1fr .65fr; gap:3rem; align-items:end; margin-bottom:2.4rem; }
.rooms-heading p { color:var(--brand-grey); }
.rooms-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.room-card { background:var(--brand-white); border-radius:var(--radius); overflow:hidden; box-shadow:0 12px 34px rgba(52,35,30,.08); }
.room-card.wide { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); align-items:stretch; }
.room-card.wide img { height:100%; min-height:340px; }
.room-card.wide .room-card-body { display:flex; flex-direction:column; justify-content:center; }
.room-card img { width:100%; height:310px; object-fit:cover; }
.room-card-body { padding:1.4rem 1.5rem 1.55rem; }
.room-card-body h3 { margin-bottom:.4rem; }
.room-card-body p { margin:0; color:var(--brand-grey); }
.room-facts { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.9rem; }
.room-facts span { padding:.35rem .6rem; border-radius:999px; background:var(--brand-cream); font-size:.82rem; font-weight:700; }

bus-section, .bus-section { display:block; }
.bus-section { padding:90px 0; background:var(--brand-brown); color:white; }
.bus-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.bus-section .eyebrow { color:#d8c9bb; }
.bus-section p { color:#e7ddd6; }
.bus-points { display:grid; gap:.75rem; }
.bus-point { padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.15); border-radius:14px; background:rgba(255,255,255,.04); }
.bus-point strong { display:block; color:white; }

.reserve-cta { padding:95px 0; background:var(--season-soft); }
.reserve-cta-grid { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; }
.reserve-cta h2 { margin-bottom:.25rem; }
.reserve-cta p { margin:0; max-width:650px; }

/* Reservierungsformular */
.form-section { padding:85px 0 105px; }
.form-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.65fr); gap:clamp(2rem,6vw,5rem); align-items:start; }
.reservation-form { background:var(--brand-white); border-radius:var(--radius); padding:clamp(1.3rem,4vw,2.4rem); box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.field { display:flex; flex-direction:column; gap:.38rem; }
.field.full { grid-column:1 / -1; }
.field label { font-weight:700; }
.field small { color:var(--brand-grey); }
.field input, .field select, .field textarea {
  width:100%; border:1px solid rgba(52,35,30,.2); border-radius:12px; background:#fff; color:var(--brand-brown);
  padding:.82rem .9rem; font:inherit; min-height:48px;
}
.field textarea { min-height:130px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline:3px solid rgba(182,95,62,.15); border-color:var(--brand-copper); }
.checkbox-row { display:flex; gap:.7rem; align-items:flex-start; margin:1.2rem 0; }
.checkbox-row input { margin-top:.34rem; width:18px; height:18px; }
.form-actions { display:flex; gap:.7rem; align-items:center; flex-wrap:wrap; }
.form-note { color:var(--brand-grey); font-size:.88rem; }
.form-alert { padding:1rem 1.1rem; border-radius:12px; margin-bottom:1rem; }
.form-alert.error { background:#f7e7e2; border:1px solid #e2b6a8; }
.form-alert.success { background:#e7efe1; border:1px solid #b9cdaa; }
.form-alert ul { margin:.4rem 0 0; padding-left:1.2rem; }
.reservation-aside { position:sticky; top:112px; }
.info-card { background:var(--brand-cream); border-radius:var(--radius); padding:1.5rem; margin-bottom:1rem; }
.info-card h3 { font-size:1.65rem; }
.info-card a { font-weight:700; }
.honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

/* ==============================
   Consent / Datenschutz
   ============================== */
html.consent-open { overflow:hidden; }
.consent-banner[hidden], .consent-modal[hidden], [hidden] { display:none !important; }
.consent-banner { position:fixed; z-index:200; left:0; right:0; bottom:0; padding:12px; pointer-events:none; }
.consent-banner-inner { width:min(1180px,calc(100% - 16px)); margin:auto; background:rgba(251,248,242,.98); backdrop-filter:blur(14px); border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 55px rgba(31,21,18,.24); padding:1rem 1.1rem; display:grid; grid-template-columns:1fr auto; gap:1.2rem; align-items:center; pointer-events:auto; }
.consent-copy strong { font-family:var(--font-head); font-size:1.35rem; font-weight:400; }
.consent-copy p { margin:.18rem 0 0; color:var(--brand-grey); font-size:.88rem; max-width:720px; }
.consent-actions { display:flex; gap:.5rem; flex-wrap:wrap; justify-content:flex-end; }
.consent-actions .btn { min-height:42px; padding:.62rem .9rem; font-size:.87rem; }
.consent-modal { position:fixed; z-index:220; inset:0; display:grid; place-items:center; padding:16px; }
.consent-modal-backdrop { position:absolute; inset:0; background:rgba(31,21,18,.55); backdrop-filter:blur(3px); }
.consent-panel { position:relative; z-index:1; width:min(680px,100%); max-height:min(780px,calc(100vh - 32px)); overflow:auto; background:var(--brand-paper); border-radius:20px; box-shadow:0 30px 80px rgba(0,0,0,.28); padding:clamp(1.35rem,4vw,2.3rem); }
.consent-panel h2 { font-size:clamp(2rem,5vw,3.4rem); }
.consent-close { position:absolute; right:1rem; top:1rem; width:42px; height:42px; border:1px solid var(--line); border-radius:999px; background:white; font-size:1.6rem; line-height:1; cursor:pointer; }
.consent-option { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center; padding:1rem 0; border-top:1px solid var(--line); }
.consent-option strong { display:block; }
.consent-option span { display:block; color:var(--brand-grey); font-size:.88rem; margin-top:.15rem; }
.switch input { position:absolute; opacity:0; pointer-events:none; }
.switch > span { position:relative; display:block; width:48px; height:28px; border-radius:999px; background:#c9c3bd; transition:.2s; cursor:pointer; }
.switch > span::after { content:""; position:absolute; width:22px; height:22px; border-radius:50%; background:#fff; left:3px; top:3px; box-shadow:0 2px 7px rgba(0,0,0,.18); transition:.2s; }
.switch input:checked + span { background:var(--brand-copper); }
.switch input:checked + span::after { transform:translateX(20px); }
.switch input:disabled + span { opacity:.6; cursor:not-allowed; }
.consent-panel-actions { display:flex; gap:.6rem; justify-content:flex-end; margin-top:1.3rem; flex-wrap:wrap; }
.consent-legal { font-size:.84rem; color:var(--brand-grey); margin:1rem 0 0; }
.consent-service-placeholder { min-height:112px; border:1px dashed rgba(52,35,30,.24); border-radius:14px; background:rgba(255,255,255,.55); padding:1.15rem; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.consent-service-placeholder strong { font-family:var(--font-head); font-weight:400; font-size:1.45rem; }
.consent-service-placeholder p { margin:.25rem 0 .8rem; color:var(--brand-grey); }
.facebook-frame iframe { width:100%; max-width:500px; }

@media (max-width:860px) {
  .subhero { min-height:62svh; padding:130px 0 55px; }
  .subhero h1 { font-size:clamp(2.8rem,12vw,4.5rem); }
  .page-intro-grid, .menu-feature-grid, .bus-grid, .reserve-cta-grid, .form-layout, .rooms-heading { grid-template-columns:1fr; }
  .rooms-grid { grid-template-columns:1fr; }
  .room-card.wide { grid-column:auto; display:block; }
  .room-card.wide img { height:280px; min-height:0; }
  .room-card img { height:280px; }
  .reserve-cta-grid { align-items:start; }
  .reservation-aside { position:static; }
  .consent-banner { bottom:62px; }
  .consent-banner-inner { grid-template-columns:1fr; }
  .consent-actions { justify-content:stretch; }
  .consent-actions .btn { flex:1 1 30%; }
}

@media (max-width:560px) {
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .menu-product-stage { min-height:330px; }
  .rooms-section, .page-intro, .menu-feature, .bus-section, .reserve-cta, .form-section { padding:66px 0; }
  .consent-actions { display:grid; grid-template-columns:1fr; }
  .consent-actions .btn { width:100%; }
  .consent-panel-actions { display:grid; grid-template-columns:1fr; }
  .consent-panel-actions .btn { width:100%; }
}

/* ==============================
   Feiern
   ============================== */
.subhero-feiern { background-image:url('../img/feiern-saal.jpg'); background-position:center 50%; }
.celebration-intro strong { color:var(--brand-brown); }
.celebration-rooms { padding:100px 0; background:var(--brand-cream); }
.celebration-room-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.celebration-room-card { position:relative; min-height:480px; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); background:#211815; color:white; }
.celebration-room-card.large { grid-column:1 / -1; min-height:520px; }
.celebration-room-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.celebration-room-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(27,18,15,.06) 15%,rgba(27,18,15,.82) 82%); }
.celebration-room-copy { position:absolute; z-index:1; left:0; right:0; bottom:0; padding:clamp(1.25rem,3vw,2rem); }
.celebration-room-copy .eyebrow { color:#e2d5cc; }
.celebration-room-copy h3 { font-size:clamp(2rem,4vw,3.2rem); margin-bottom:.3rem; }
.celebration-room-copy p { max-width:690px; color:#eee3dc; margin-bottom:.8rem; }
.celebration-room-copy .room-facts span { background:rgba(255,255,255,.13); color:white; border:1px solid rgba(255,255,255,.16); }

.planning-section { padding:100px 0; }
.planning-heading { max-width:820px; margin-bottom:2.2rem; }
.planning-heading.narrow { max-width:680px; }
.planning-heading > p:last-child { color:var(--brand-grey); font-size:1.05rem; }
.planning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.planning-card { min-height:260px; padding:1.55rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--brand-paper); }
.planning-number { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--season-soft); color:var(--brand-copper-dark); font-weight:800; margin-bottom:1.25rem; }
.planning-card h3 { font-size:1.7rem; }
.planning-card p { color:var(--brand-grey); margin-bottom:0; }

.celebration-food { padding:95px 0; background:var(--brand-brown); color:white; }
.celebration-food-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.celebration-food-image { border-radius:var(--radius); overflow:hidden; min-height:520px; }
.celebration-food-image img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.celebration-food-copy .eyebrow { color:#d8c9bb; }
.celebration-food-copy p { color:#e5d9d1; }
.celebration-food-copy .text-link { color:white; }

.christmas-section { padding:100px 0; background:linear-gradient(125deg,#213025,#314334); color:white; }
.christmas-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.christmas-section .eyebrow { color:#d8c9bb; }
.christmas-section p { color:#e3ebe5; }
.christmas-facts { display:grid; gap:.8rem; }
.christmas-facts div { padding:1.1rem 1.2rem; border-radius:14px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.05); }
.christmas-facts strong, .christmas-facts span { display:block; }
.christmas-facts strong { font-size:1.05rem; margin-bottom:.15rem; }
.christmas-facts span { color:#dce6de; }

.planning-process { padding:100px 0; background:var(--brand-paper); }
.process-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.process-grid li { padding:1.2rem; border-top:1px solid var(--line); display:grid; grid-template-columns:auto 1fr; gap:.9rem; align-items:start; }
.process-grid li > span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--brand-copper); color:white; font-weight:800; }
.process-grid h3 { font-size:1.45rem; margin-bottom:.25rem; }
.process-grid p { margin:0; color:var(--brand-grey); }

.wedding-bridge { padding:90px 0; background:var(--season-soft); }
.wedding-bridge-grid { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; }
.wedding-bridge-grid p { max-width:760px; }

.event-inquiry { padding:95px 0; }
.event-inquiry-grid { display:grid; grid-template-columns:1fr auto; gap:2.5rem; align-items:center; }
.event-inquiry-grid p { max-width:680px; }
.event-inquiry-actions { display:flex; gap:.65rem; flex-wrap:wrap; justify-content:flex-end; }

@media (max-width:860px) {
  .celebration-room-grid, .planning-grid, .celebration-food-grid, .christmas-grid, .process-grid, .wedding-bridge-grid, .event-inquiry-grid { grid-template-columns:1fr; }
  .celebration-room-card.large { grid-column:auto; }
  .planning-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .event-inquiry-actions { justify-content:flex-start; }
}

@media (max-width:560px) {
  .celebration-rooms, .planning-section, .celebration-food, .christmas-section, .planning-process, .wedding-bridge, .event-inquiry { padding:66px 0; }
  .celebration-room-card, .celebration-room-card.large { min-height:430px; }
  .planning-grid, .process-grid { grid-template-columns:1fr; }
  .celebration-food-image, .celebration-food-image img { min-height:360px; }
  .event-inquiry-actions { display:grid; grid-template-columns:1fr; }
  .event-inquiry-actions .btn { width:100%; }
}

/* ==============================
   Hochzeiten
   ============================== */
.subhero-wedding { background-image:url('../img/hochzeit-saal.jpg'); background-position:center 48%; }
.subhero-wedding::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(34,23,19,.72),rgba(34,23,19,.25) 65%,rgba(34,23,19,.08)); }
.subhero-wedding .container { position:relative; z-index:1; }
.subhero-actions { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:1.8rem; }
.wedding-intro strong { color:var(--brand-copper-dark); }

.wedding-venue { padding:100px 0; background:var(--brand-cream); }
.wedding-venue-grid, .wedding-food-grid, .wedding-spaces-grid, .wedding-hotel-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.wedding-venue-image, .wedding-food-image, .wedding-spaces-image { border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.wedding-venue-image img { width:100%; min-height:560px; height:100%; object-fit:cover; }
.wedding-venue-copy p:not(.eyebrow) { color:var(--brand-grey); }
.wedding-facts { display:flex; gap:.45rem; flex-wrap:wrap; margin-top:1.2rem; }
.wedding-facts span { padding:.45rem .7rem; border-radius:999px; background:white; border:1px solid var(--line); font-size:.84rem; font-weight:700; }

.wedding-plan { padding:100px 0; background:var(--brand-paper); }
.wedding-timeline { border-top:1px solid var(--line); }
.wedding-step { display:grid; grid-template-columns:72px 1fr; gap:1.4rem; padding:2rem 0; border-bottom:1px solid var(--line); }
.wedding-step > span { font-family:var(--font-head); font-size:1.8rem; color:var(--brand-copper); }
.wedding-step h3 { font-size:clamp(1.75rem,3vw,2.6rem); margin-bottom:.25rem; }
.wedding-step p { margin:0; max-width:820px; color:var(--brand-grey); font-size:1.02rem; }

.wedding-moments { padding:100px 0; background:var(--season-soft); }
.wedding-heading-row > p { max-width:520px; color:var(--brand-grey); }
.wedding-moment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.wedding-moment-grid article { padding:1.5rem; min-height:230px; background:rgba(255,255,255,.68); border:1px solid rgba(52,35,30,.1); border-radius:var(--radius); }
.wedding-moment-grid h3 { font-size:1.8rem; }
.wedding-moment-grid p { color:var(--brand-grey); margin-bottom:0; }

.wedding-food { padding:100px 0; background:var(--brand-brown); color:white; }
.wedding-food-grid { grid-template-columns:.9fr 1.1fr; }
.wedding-food-copy .eyebrow { color:#d8c9bb; }
.wedding-food-copy p { color:#e7ddd6; }
.wedding-food-copy strong { color:white; }
.wedding-food-copy .text-link { color:white; }
.wedding-food-image img { width:100%; min-height:560px; height:100%; object-fit:cover; object-position:center 55%; }

.wedding-spaces { padding:100px 0; }
.wedding-spaces-image img { width:100%; min-height:520px; height:100%; object-fit:cover; }
.wedding-spaces-copy p:not(.eyebrow) { color:var(--brand-grey); }

.wedding-hotel { padding:100px 0; background:#ede5da; }
.wedding-hotel-grid { grid-template-columns:.85fr 1.15fr; }
.wedding-hotel-grid > div p:not(.eyebrow) { max-width:560px; color:var(--brand-grey); }
.wedding-hotel-grid img { width:100%; min-height:460px; max-height:570px; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); }

.wedding-faq { padding:100px 0; }
.faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.faq-grid details { border:1px solid var(--line); border-radius:14px; background:var(--brand-white); padding:1.05rem 1.15rem; }
.faq-grid summary { cursor:pointer; font-weight:700; list-style:none; padding-right:1.5rem; position:relative; }
.faq-grid summary::-webkit-details-marker { display:none; }
.faq-grid summary::after { content:"+"; position:absolute; right:0; top:-.15rem; font-family:var(--font-head); font-size:1.5rem; color:var(--brand-copper); }
.faq-grid details[open] summary::after { content:"–"; }
.faq-grid details p { margin:.75rem 0 0; color:var(--brand-grey); }
.wedding-inquiry { background:var(--brand-cream); }

@media (max-width:860px) {
  .wedding-venue-grid, .wedding-food-grid, .wedding-spaces-grid, .wedding-hotel-grid, .wedding-moment-grid, .faq-grid { grid-template-columns:1fr; }
  .wedding-venue-image img, .wedding-food-image img, .wedding-spaces-image img, .wedding-hotel-grid img { min-height:360px; }
  .wedding-food-copy { order:2; }
  .wedding-food-image { order:1; }
}

@media (max-width:560px) {
  .wedding-venue, .wedding-plan, .wedding-moments, .wedding-food, .wedding-spaces, .wedding-hotel, .wedding-faq { padding:66px 0; }
  .subhero-actions { display:grid; grid-template-columns:1fr; }
  .subhero-actions .btn { width:100%; }
  .wedding-step { grid-template-columns:48px 1fr; gap:.8rem; padding:1.4rem 0; }
  .wedding-step > span { font-size:1.35rem; }
  .wedding-moment-grid article { min-height:0; }
}

/* Hochzeitsunterlagen anfordern */
.wedding-inquiry-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.wedding-inquiry-copy { position:sticky; top:110px; }
.wedding-inquiry-copy p:not(.eyebrow) { color:var(--brand-grey); }
.wedding-inquiry-form-wrap { background:var(--brand-paper); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.2rem,3vw,2rem); box-shadow:0 14px 36px rgba(52,35,30,.06); }
.wedding-doc-form textarea { min-height:120px; }

@media (max-width:860px) {
  .wedding-inquiry-grid { grid-template-columns:1fr; }
  .wedding-inquiry-copy { position:static; }
}

/* ==============================
   Tagungen
   ============================== */
.subhero-meeting { background-image:url('../img/tagung-saal.jpg'); background-position:center 52%; }
.subhero-meeting::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(34,23,19,.76),rgba(34,23,19,.3) 68%,rgba(34,23,19,.1)); }
.subhero-meeting .container { position:relative; z-index:1; }
.meeting-intro strong { color:var(--brand-copper-dark); }

.meeting-rooms { padding:100px 0; background:var(--brand-cream); }
.meeting-room-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:1rem; align-items:stretch; }
.meeting-room-card { border-radius:var(--radius); overflow:hidden; background:var(--brand-paper); border:1px solid var(--line); box-shadow:var(--shadow); }
.meeting-room-large { grid-row:span 1; }
.meeting-room-image { min-height:360px; overflow:hidden; }
.meeting-room-image img { width:100%; height:100%; min-height:360px; object-fit:cover; }
.meeting-room-copy { padding:clamp(1.3rem,3vw,2rem); }
.meeting-room-copy h3 { font-size:clamp(1.8rem,3vw,2.5rem); }
.meeting-room-copy p:not(.eyebrow) { color:var(--brand-grey); }
.meeting-room-copy .room-facts { margin-top:1rem; }

.meeting-benefits { padding:100px 0; background:var(--brand-paper); }
.meeting-heading-row > p { max-width:500px; color:var(--brand-grey); }
.meeting-planning-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

.meeting-day { padding:100px 0; background:var(--brand-brown); color:white; }
.meeting-day-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.meeting-day-image { border-radius:var(--radius); overflow:hidden; }
.meeting-day-image img { width:100%; min-height:520px; height:100%; object-fit:cover; }
.meeting-day-copy .eyebrow { color:#d8c9bb; }
.meeting-day-copy p { color:#e7ddd6; }
.meeting-day-copy .text-link { color:white; }

.meeting-faq { background:var(--brand-cream); }
.meeting-inquiry { background:var(--brand-paper); }
.meeting-inquiry-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.meeting-inquiry-copy { position:sticky; top:110px; }
.meeting-inquiry-copy p:not(.eyebrow) { color:var(--brand-grey); }
.meeting-inquiry-form-wrap { background:white; border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.2rem,3vw,2rem); box-shadow:0 14px 36px rgba(52,35,30,.06); }
.meeting-form textarea { min-height:120px; }

@media (max-width:860px) {
  .meeting-room-grid, .meeting-planning-grid, .meeting-day-grid, .meeting-inquiry-grid { grid-template-columns:1fr; }
  .meeting-inquiry-copy { position:static; }
  .meeting-day-image img { min-height:360px; }
}

@media (max-width:560px) {
  .meeting-rooms, .meeting-benefits, .meeting-day { padding:66px 0; }
  .meeting-room-image, .meeting-room-image img { min-height:300px; }
}


/* Tagungen: Saalgeschichte, Akustik und Erreichbarkeit */
.hall-story { padding:100px 0; background:var(--brand-brown); color:white; }
.hall-story-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.hall-story-image { border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.hall-story-image img { width:100%; min-height:520px; height:100%; object-fit:cover; }
.hall-story-copy .eyebrow { color:#d8c9bb; }
.hall-story-copy p { color:#e7ddd6; }
.hall-story-copy h2 { color:white; }
.meeting-access { padding:100px 0; background:var(--brand-cream); }
.meeting-access-grid { grid-template-columns:repeat(4,1fr); }
.meeting-access .planning-number { min-width:2.6rem; }
@media (max-width: 920px) {
  .hall-story-grid { grid-template-columns:1fr; }
  .hall-story-image img { min-height:360px; }
  .meeting-access-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 620px) {
  .hall-story, .meeting-access { padding:66px 0; }
  .meeting-access-grid { grid-template-columns:1fr; }
}

/* Hotel page */
.subhero-hotel {
  background:
    linear-gradient(90deg,rgba(37,26,22,.82),rgba(37,26,22,.34)),
    url('../img/hotel-zimmer-2.jpg') center 52%/cover no-repeat;
}
.hotel-room-story { padding:100px 0; background:var(--brand-cream); }
.hotel-room-story-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.hotel-room-story-image img { width:100%; min-height:500px; max-height:620px; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); }
.hotel-room-story-copy p:not(.eyebrow) { color:var(--brand-grey); max-width:570px; }
.hotel-facts { margin-top:1.25rem; }
.hotel-gallery-section { padding:100px 0; }
.hotel-gallery-heading { margin-bottom:2rem; }
.hotel-page-gallery { display:grid; grid-template-columns:1.4fr .8fr; grid-template-rows:repeat(2,260px); gap:1rem; }
.hotel-page-gallery figure { margin:0; overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); }
.hotel-page-gallery-main { grid-row:1 / -1; }
.hotel-page-gallery img { width:100%; height:100%; object-fit:cover; }
.hotel-page-gallery-main img { object-position:center 50%; }
.hotel-breakfast { padding:100px 0; background:#ede5da; }
.hotel-breakfast-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.hotel-breakfast-copy p:not(.eyebrow) { color:var(--brand-grey); max-width:570px; }
.hotel-breakfast-image img { width:100%; min-height:470px; max-height:590px; object-fit:cover; object-position:left center; border-radius:var(--radius); box-shadow:var(--shadow); }
.hotel-business { padding:100px 0; }
.hotel-business-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hotel-booking { padding:100px 0; background:var(--brand-cream); }
.hotel-booking-heading { max-width:820px; }
.booking-consent-shell { margin-top:2rem; }
.hotel-dirs-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; align-items:start; }
.hotel-dirs-card-roomlist { padding:clamp(.9rem,2vw,1.35rem); }
.hotel-dirs-card-calendar { width:min(100%, 560px); margin-inline:auto; }
.hotel-dirs-card-roomlist { width:100%; }

.hotel-dirs-card-calendar { padding:clamp(1.1rem,2.5vw,1.7rem); }
.d21-roomList, .d21-availabilityCalendar { width:100%; max-width:100%; min-width:0; overflow:hidden; }
.d21-roomList > *, .d21-availabilityCalendar > * { max-width:100% !important; box-sizing:border-box; }
.hotel-dirs-card { background:var(--brand-paper); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.25rem,3vw,2rem); box-shadow:0 10px 30px rgba(52,35,30,.06); min-width:0; overflow:hidden; }
.hotel-dirs-card h3 { margin-bottom:1rem; }
.d21-roomList:empty, .d21-availabilityCalendar:empty { min-height:180px; border:1px dashed rgba(52,35,30,.22); border-radius:14px; background:rgba(255,255,255,.45); }
.booking-placeholder { padding:1.2rem 1.3rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--brand-paper); margin-bottom:1rem; display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.booking-placeholder p { margin:0; color:var(--brand-grey); }
.hotel-faq { background:#ede5da; }
.hall-story-screen { position:relative; }
.hall-story-screen .image-caption { margin:.7rem .2rem 0; color:var(--brand-grey); font-size:.9rem; }

@media (max-width: 900px) {
  .hotel-room-story-grid, .hotel-breakfast-grid, .hotel-dirs-grid { grid-template-columns:1fr; }
  .hotel-dirs-card-roomlist, .hotel-dirs-card-calendar { padding:1rem; }
  .hotel-business-grid { grid-template-columns:1fr; }
  .hotel-room-story, .hotel-gallery-section, .hotel-breakfast, .hotel-business, .hotel-booking { padding:66px 0; }
  .hotel-room-story-image img, .hotel-breakfast-image img { min-height:360px; }
  .hotel-page-gallery { grid-template-columns:1fr 1fr; grid-template-rows:360px 250px; }
  .hotel-page-gallery-main { grid-column:1 / -1; grid-row:auto; }
}
@media (max-width: 620px) {
  .hotel-page-gallery { grid-template-columns:1fr; grid-template-rows:none; }
  .hotel-page-gallery figure, .hotel-page-gallery-main { min-height:280px; }
  .booking-placeholder { align-items:flex-start; flex-direction:column; }
  .hotel-dirs-card-roomlist, .hotel-dirs-card-calendar { padding:.75rem; }
  .hotel-dirs-grid { gap:.8rem; }
  .hotel-breakfast-image img { object-position:left center; }
}

.hotel-categories { padding:100px 0; background:#f7f2ea; }
.hotel-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.hotel-category-card { background:var(--brand-paper); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.35rem,3vw,2rem); box-shadow:0 10px 30px rgba(52,35,30,.05); }
.hotel-category-card h3 { margin-bottom:.65rem; }
.hotel-category-card p { color:var(--brand-grey); margin:0; }
.hotel-comfort { padding:100px 0; }
.hotel-comfort-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:900px){
  .hotel-categories,.hotel-comfort { padding:66px 0; }
  .hotel-category-grid { grid-template-columns:1fr; }
  .hotel-comfort-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px){ .hotel-comfort-grid { grid-template-columns:1fr; } }


/* Dezente externe Links zu den Google-Maps-360°-Rundgängen */
.virtual-tour-link {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin-top: .9rem;
  color: var(--copper, #9a5f48);
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(154,95,72,.35);
  padding-bottom: .12rem;
}
.virtual-tour-link:hover,
.virtual-tour-link:focus-visible {
  color: var(--ink, #392a25);
  border-bottom-color: currentColor;
}

/* Veranstaltungen */
.subhero-events {
  background:
    linear-gradient(90deg,rgba(37,26,22,.86),rgba(37,26,22,.34)),
    url('../img/feiern-saal.jpg') center 52%/cover no-repeat;
}
.events-intro { background:var(--brand-cream); }
.events-featured { padding:100px 0; background:#f7f2ea; }
.events-featured-dark { background:var(--brand-brown); color:#fff; }
.events-section-head { display:grid; grid-template-columns:1fr minmax(280px,480px); gap:clamp(2rem,7vw,7rem); align-items:end; margin-bottom:2.4rem; }
.events-section-head > p { margin:0; color:var(--brand-grey); }
.events-featured-dark .events-section-head > p { color:#e7ddd6; }
.events-featured-dark .events-section-head h2 { color:#fff; }
.events-featured-dark .eyebrow { color:#dcc6b8; }
.event-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.event-card { background:var(--brand-paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:0 14px 34px rgba(52,35,30,.08); display:flex; flex-direction:column; min-width:0; }
.event-card-dark { background:#fffaf4; color:var(--brand-brown); border-color:rgba(255,255,255,.14); }
.event-card-image { display:block; position:relative; aspect-ratio:4/3; overflow:hidden; background:#ddd; }
.event-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.event-card-image:hover img { transform:scale(1.025); }
.event-date-badge { position:absolute; left:1rem; top:1rem; background:rgba(247,242,234,.95); color:var(--brand-brown); border-radius:999px; padding:.5rem .75rem; font-size:.82rem; font-weight:700; box-shadow:0 5px 20px rgba(0,0,0,.13); }
.event-card-copy { padding:1.45rem; display:flex; flex-direction:column; flex:1; }
.event-card-copy h3 { margin:.15rem 0 .5rem; }
.event-card-copy > p:not(.event-kicker):not(.event-subtitle) { color:var(--brand-grey); }
.event-kicker { margin:0; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:700; color:var(--season-accent); }
.event-subtitle { margin:.1rem 0 .7rem; font-weight:700; color:var(--brand-brown); }
.event-card-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1px solid var(--line); font-size:.86rem; }
.event-card-footer > span { color:var(--brand-grey); }
.events-timeline { padding:100px 0; background:var(--brand-cream); }
.events-section-head-compact { margin-bottom:1.6rem; }
.event-list { border-top:1px solid var(--line); }
.event-list-row { display:grid; grid-template-columns:150px minmax(0,1fr) 210px; gap:1.5rem; align-items:center; padding:1.4rem 0; border-bottom:1px solid var(--line); }
.event-list-row time { display:flex; flex-direction:column; gap:.25rem; color:var(--brand-brown); }
.event-list-row time span { color:var(--brand-grey); font-size:.86rem; }
.event-list-main h3 { margin:.15rem 0 .25rem; font-size:1.25rem; }
.event-list-main p { margin:0; color:var(--brand-grey); }
.event-list-category { font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--season-accent); font-weight:700; }
.event-list-action { display:flex; flex-direction:column; align-items:flex-end; gap:.55rem; text-align:right; color:var(--brand-grey); font-size:.86rem; }
.events-empty { color:var(--brand-grey); }
.events-note { padding:82px 0; background:#ede5da; }
.events-note-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7rem); align-items:center; }
.events-note-grid p { color:var(--brand-grey); }
.social-inline { display:flex; flex-wrap:wrap; gap:.7rem 1rem; margin-top:1rem; }
.social-inline a { color:var(--brand-brown); font-weight:700; text-decoration:none; border-bottom:1px solid rgba(52,35,30,.25); }
@media (max-width:900px) {
  .events-featured,.events-timeline { padding:66px 0; }
  .events-section-head,.events-note-grid { grid-template-columns:1fr; gap:1rem; }
  .event-card-grid { grid-template-columns:1fr 1fr; }
  .event-list-row { grid-template-columns:120px minmax(0,1fr); }
  .event-list-action { grid-column:2; align-items:flex-start; text-align:left; flex-direction:row; justify-content:space-between; }
}
@media (max-width:620px) {
  .event-card-grid { grid-template-columns:1fr; }
  .event-card-image { aspect-ratio:16/10; }
  .event-list-row { grid-template-columns:1fr; gap:.65rem; }
  .event-list-action { grid-column:auto; align-items:flex-start; flex-direction:row; text-align:left; }
  .event-card-footer { align-items:flex-start; flex-direction:column; }
  .events-note { padding:60px 0; }
}
/* Veranstaltungen V1.14 */
.subhero-events { background-image:linear-gradient(90deg,rgba(36,26,22,.82),rgba(36,26,22,.32)),url('../img/event-buehne.jpg'); background-size:cover; background-position:center 38%; }
.event-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:auto;padding-top:1rem}
.event-actions .btn{min-height:auto;padding:.72rem 1rem;font-size:.9rem}
.event-list-action{display:flex;gap:.7rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.event-detail-hero{padding:76px 0;background:#ede5da}
.event-detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:clamp(2rem,7vw,6rem);align-items:center}
.event-detail-lead{font-size:1.25rem;color:var(--brand-brown-soft)}
.event-detail-facts{display:flex;gap:.65rem;flex-wrap:wrap;margin:1.4rem 0}
.event-detail-facts span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem .85rem;font-weight:700;font-size:.88rem}
.event-detail-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:0 18px 44px rgba(52,35,30,.12)}
.event-detail-body{padding:90px 0;background:var(--brand-cream)}
.event-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:start}
.event-menu-list{padding-left:1.2rem}.event-menu-list li{margin:.7rem 0;color:var(--brand-brown-soft)}
@media(max-width:850px){.event-detail-hero-grid,.event-detail-grid{grid-template-columns:1fr}.event-list-action{justify-content:flex-start}}

/* Veranstaltungen V1.15 – Originalmotive */
.event-detail-secondary{padding:0 0 90px;background:var(--brand-cream)}
.event-detail-secondary figure{margin:0;overflow:hidden;border-radius:var(--radius);box-shadow:0 18px 44px rgba(52,35,30,.10)}
.event-detail-secondary img{display:block;width:100%;max-height:620px;object-fit:cover}
@media(max-width:620px){.event-detail-secondary{padding-bottom:60px}}

/* ==============================
   Version 1.16 – kompaktere Intro-Typografie & getrennte Eventwelten
   ============================== */
.wedding-intro h2,
.meeting-intro h2,
.hotel-page-intro h2,
.events-intro h2 {
  font-size:clamp(2.35rem,4.25vw,4.25rem);
  line-height:1.02;
  letter-spacing:-.025em;
  max-width:680px;
}
.events-intro { padding-top:76px; padding-bottom:76px; }
.events-sublist-head {
  display:grid;
  grid-template-columns:1fr minmax(260px,420px);
  gap:clamp(1.5rem,5vw,5rem);
  align-items:end;
  margin:3.6rem 0 1.2rem;
  padding-top:2rem;
  border-top:1px solid var(--line);
}
.events-sublist-head h3 { margin:0; font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.6rem); }
.events-sublist-head p { margin:0; color:var(--brand-grey); }
.events-featured-dark .events-sublist-head { border-top-color:rgba(255,255,255,.18); }
.events-featured-dark .events-sublist-head p { color:#e7ddd6; }
.events-featured-dark .events-sublist-head h3 { color:#fff; }
.event-list-dark { border-top-color:rgba(255,255,255,.18); }
.event-list-dark .event-list-row { border-bottom-color:rgba(255,255,255,.18); }
.event-list-dark .event-list-row time { color:#fff; }
.event-list-dark .event-list-row time span,
.event-list-dark .event-list-main p,
.event-list-dark .event-list-action { color:#e7ddd6; }
.event-list-dark .event-list-main h3 { color:#fff; }
.event-list-dark .event-list-category { color:#e5b39a; }
.event-list-dark .text-link { color:#fff; }
.event-list-dark .btn-ghost { border-color:rgba(255,255,255,.55); color:#fff; }

@media (max-width:860px) {
  .events-sublist-head { grid-template-columns:1fr; gap:.8rem; margin-top:2.8rem; }
  .wedding-intro h2,
  .meeting-intro h2,
  .hotel-page-intro h2,
  .events-intro h2 { font-size:clamp(2.15rem,7.5vw,3.2rem); }
}

@media (max-width:560px) {
  .wedding-intro h2,
  .meeting-intro h2,
  .hotel-page-intro h2,
  .events-intro h2 { font-size:clamp(2rem,9vw,2.7rem); }
}

/* V1.17 – kompakte Öffnungszeiten und aktuelle Sonderzeiten */
.today-grid { grid-template-columns:1.2fr 1.05fr 1.45fr .8fr; }
.hours-card-regular { gap:.45rem; }
.hours-card-regular span b { color:var(--brand-brown); }
.hours-card-special { justify-content:flex-start; }
.special-hours-list { margin-top:.45rem; display:grid; gap:.4rem; max-height:235px; overflow:auto; padding-right:.3rem; }
.special-hours-list > div { display:grid; grid-template-columns:minmax(118px,.9fr) 1.35fr; gap:.65rem; padding-bottom:.35rem; border-bottom:1px solid rgba(52,35,30,.08); font-size:.82rem; line-height:1.28; }
.special-hours-list > div:last-child { border-bottom:0; padding-bottom:0; }
.special-hours-list b { color:var(--brand-brown); font-weight:700; }
.special-hours-list span { font-size:inherit; }
.events-disclaimer { padding:1.4rem 0 3rem; background:var(--brand-cream); }
.events-disclaimer p { max-width:1000px; margin:0 auto; color:var(--brand-grey); font-size:.86rem; line-height:1.55; }

@media (max-width: 1050px) {
  .today-grid { grid-template-columns:1fr 1fr; }
  .today-actions { grid-column:1 / -1; flex-direction:row; gap:1.5rem; }
}
@media (max-width: 760px) {
  .today-grid { grid-template-columns:1fr; }
  .today-actions { grid-column:auto; flex-direction:column; }
  .special-hours-list { max-height:none; }
  .special-hours-list > div { grid-template-columns:1fr; gap:.08rem; }
}

/* ==============================
   Version 1.18 – Über uns
   ============================== */
.subhero-about {
  background:
    linear-gradient(90deg,rgba(37,26,22,.86),rgba(37,26,22,.30)),
    url('../img/alte-brauerei-abend.jpg') center 48%/cover no-repeat;
}
.about-intro h2 {
  font-size:clamp(2.35rem,4.25vw,4.25rem);
  line-height:1.02;
  letter-spacing:-.025em;
  max-width:680px;
}
.about-house { padding:100px 0; background:var(--brand-cream); }
.about-house-grid,
.about-community-grid,
.about-spirits-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,6vw,6rem);
  align-items:center;
}
.about-house-image,
.about-community-image { overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); }
.about-house-image img,
.about-community-image img { width:100%; min-height:520px; height:100%; object-fit:cover; }
.about-house-copy p:not(.eyebrow),
.about-community-copy p:not(.eyebrow),
.about-spirits-copy p:not(.eyebrow) { color:var(--brand-grey); }
.about-facts { display:flex; gap:.55rem; flex-wrap:wrap; margin-top:1.35rem; }
.about-facts span { border:1px solid var(--line); border-radius:999px; padding:.5rem .75rem; font-size:.82rem; font-weight:700; background:rgba(255,255,255,.65); }

.about-community { padding:100px 0; background:var(--brand-paper); }
.about-community-grid { grid-template-columns:.92fr 1.08fr; }
.about-community-image img { object-position:center 52%; }
.about-quote {
  margin:1.7rem 0 0;
  padding:1.15rem 0 1.15rem 1.4rem;
  border-left:3px solid var(--season-accent);
  font-family:var(--font-display);
  font-size:clamp(1.35rem,2vw,1.75rem);
  line-height:1.25;
  color:var(--brand-brown);
}

.about-values { padding:100px 0; background:#ede5da; }
.about-values-heading > p { max-width:500px; color:var(--brand-grey); }
.about-values-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }

.about-spirits { padding:100px 0; background:var(--brand-brown); color:#fff; }
.about-spirits-grid { grid-template-columns:.85fr 1.15fr; }
.about-spirits-copy h2 { color:#fff; }
.about-spirits-copy .eyebrow { color:#ddcabe; }
.about-spirits-copy p:not(.eyebrow) { color:#e7ddd6; }
.about-spirits-visual {
  min-height:360px;
  border-radius:var(--radius);
  display:grid;
  place-items:center;
  padding:clamp(2rem,6vw,4.5rem);
  background:#f5efe6;
  box-shadow:0 20px 50px rgba(0,0,0,.17);
}
.about-spirits-visual img { width:min(100%,520px); mix-blend-mode:multiply; opacity:.72; }

.about-more { padding:100px 0; background:var(--brand-cream); }
.about-more-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.about-more-card {
  display:block;
  padding:clamp(1.5rem,3vw,2.3rem);
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--brand-paper);
  text-decoration:none;
  color:inherit;
  box-shadow:0 14px 34px rgba(52,35,30,.06);
  transition:transform .25s ease, box-shadow .25s ease;
}
.about-more-card:hover { transform:translateY(-3px); box-shadow:0 20px 42px rgba(52,35,30,.11); }
.about-more-card h3 { font-size:clamp(1.8rem,3vw,2.5rem); margin:.25rem 0 .65rem; }
.about-more-card p { color:var(--brand-grey); }

@media (max-width:980px) {
  .about-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px) {
  .about-intro h2 { font-size:clamp(2.15rem,7.5vw,3.2rem); }
  .about-house-grid,
  .about-community-grid,
  .about-spirits-grid { grid-template-columns:1fr; }
  .about-community-image { order:-1; }
  .about-house-image img,
  .about-community-image img { min-height:360px; }
}
@media (max-width:620px) {
  .about-house,.about-community,.about-values,.about-spirits,.about-more { padding:66px 0; }
  .about-intro h2 { font-size:clamp(2rem,9vw,2.7rem); }
  .about-values-grid,
  .about-more-grid { grid-template-columns:1fr; }
  .about-spirits-visual { min-height:260px; }
}


/* ==============================
   Version 1.19 – Über uns: Haus → Menschen
   ============================== */
.about-spirits-early {
  padding:100px 0;
  background:var(--brand-brown);
  color:#fff;
}
.about-spirits-photo {
  padding:0;
  min-height:0;
  overflow:hidden;
  background:none;
  box-shadow:0 20px 50px rgba(0,0,0,.20);
}
.about-spirits-photo img {
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
  opacity:1;
  mix-blend-mode:normal;
}
@media (max-width:760px) {
  .about-spirits-early { padding:66px 0; }
  .about-spirits-photo img { aspect-ratio:4/3; object-position:center center; }
}

/* ==============================
   Version 1.20 – Nachhaltigkeit
   ============================== */
.subhero-sustainability {
  position:relative;
  color:#fff;
  background:
    linear-gradient(90deg, rgba(35,45,33,.88) 0%, rgba(45,58,41,.70) 48%, rgba(45,58,41,.28) 100%),
    url('../img/alte-brauerei-tag.jpg') center 52%/cover no-repeat;
}
.subhero-sustainability::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:5px;
  background:var(--natural-green,#68765A);
}
.subhero-sustainability .container { position:relative; z-index:1; }

.sustain-intro { padding:100px 0; background:var(--brand-cream); }
.sustain-intro h2 { max-width:720px; }
.sustain-timeline { padding:100px 0; background:#f6f0e7; }
.sustain-steps {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin-top:2.4rem;
}
.sustain-step {
  position:relative;
  padding:1.6rem;
  border:1px solid rgba(104,118,90,.22);
  border-radius:var(--radius);
  background:rgba(255,255,255,.72);
  box-shadow:0 14px 34px rgba(52,35,30,.06);
}
.sustain-step::before {
  content:"";
  position:absolute;
  top:0; left:1.6rem; right:1.6rem;
  height:3px;
  border-radius:0 0 8px 8px;
  background:#68765A;
}
.sustain-step-future { background:#eef1ea; }
.sustain-year {
  display:inline-block;
  margin-bottom:1rem;
  color:#68765A;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.sustain-icon {
  width:48px; height:48px;
  display:grid; place-items:center;
  margin-bottom:1rem;
  border-radius:50%;
  background:#e3e8dc;
  color:#516047;
  font-size:1.35rem;
}
.sustain-step h3 { margin:.15rem 0 .7rem; }
.sustain-step p { color:var(--brand-grey); }

.sustain-feature { padding:100px 0; }
.sustain-feature-kitchen { background:var(--brand-paper); }
.sustain-feature-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,6vw,6rem);
  align-items:center;
}
.sustain-feature-image {
  overflow:hidden;
  border-radius:var(--radius);
  background:#efe5d6;
  box-shadow:var(--shadow);
}
.sustain-feature-image img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}
.sustain-feature-copy p:not(.eyebrow) { color:var(--brand-grey); }
.sustain-tags { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.3rem; }
.sustain-tags span {
  padding:.52rem .78rem;
  border-radius:999px;
  background:#e9eee4;
  border:1px solid rgba(104,118,90,.25);
  color:#4f6046;
  font-size:.82rem;
  font-weight:700;
}
.sustain-energy { padding:100px 0; background:#e8ede3; }
.sustain-energy .section-heading-row > p { color:#5f6859; max-width:500px; }
.sustain-daily-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sustain-daily-grid .planning-card { background:rgba(255,255,255,.78); }
.sustain-daily-grid .planning-number { color:#68765A; }

.sustain-honesty { padding:100px 0; background:var(--brand-brown); color:#fff; }
.sustain-honesty-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(2rem,7vw,7rem);
  align-items:start;
}
.sustain-honesty h2 { color:#fff; }
.sustain-honesty .eyebrow { color:#cbd3c3; }
.sustain-honesty p { color:#e8dfd8; }
.sustain-honesty .about-quote { color:#fff; border-left-color:#9cab8d; }

.sustain-cta { padding:86px 0; background:var(--brand-cream); }
.sustain-cta-inner {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:2rem;
  align-items:center;
  padding:clamp(1.6rem,4vw,3rem);
  border:1px solid rgba(104,118,90,.25);
  border-radius:var(--radius);
  background:linear-gradient(135deg,#f8f2e8 0%,#edf1e8 100%);
}
.sustain-cta-inner p:not(.eyebrow) { color:var(--brand-grey); max-width:760px; }
.sustain-cta-actions { display:flex; gap:.7rem; flex-wrap:wrap; justify-content:flex-end; }

@media (max-width:980px) {
  .sustain-steps,
  .sustain-daily-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .sustain-feature-grid,
  .sustain-honesty-grid,
  .sustain-cta-inner { grid-template-columns:1fr; }
  .sustain-cta-actions { justify-content:flex-start; }
}
@media (max-width:620px) {
  .sustain-intro,.sustain-timeline,.sustain-feature,.sustain-energy,.sustain-honesty,.sustain-cta { padding:66px 0; }
  .sustain-steps,
  .sustain-daily-grid { grid-template-columns:1fr; }
  .subhero-sustainability {
    background:
      linear-gradient(180deg, rgba(35,45,33,.78), rgba(35,45,33,.88)),
      url('../img/alte-brauerei-tag.jpg') 58% center/cover no-repeat;
  }
}


/* ==============================
   Version 1.21 – Nachhaltigkeit: stärkere Bilddramaturgie
   ============================== */
.sustain-picture-band {
  padding:0 0 100px;
  background:var(--brand-cream);
}
.sustain-picture-band-grid {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:1rem;
  align-items:stretch;
}
.sustain-picture-side {
  display:grid;
  grid-template-rows:1fr auto;
  gap:1rem;
}
.sustain-picture {
  position:relative;
  overflow:hidden;
  margin:0;
  min-height:330px;
  border-radius:var(--radius);
  background:#ddd4c8;
  box-shadow:var(--shadow);
}
.sustain-picture-main { min-height:590px; }
.sustain-picture img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sustain-picture::after {
  content:"";
  position:absolute;
  inset:42% 0 0;
  background:linear-gradient(180deg,transparent,rgba(34,28,25,.72));
  pointer-events:none;
}
.sustain-picture figcaption {
  position:absolute;
  z-index:2;
  left:1.4rem;
  right:1.4rem;
  bottom:1.35rem;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.22);
}
.sustain-picture figcaption strong,
.sustain-picture figcaption span { display:block; }
.sustain-picture figcaption strong {
  font-family:var(--font-display);
  font-size:clamp(1.45rem,2.4vw,2rem);
  line-height:1.06;
  margin-bottom:.25rem;
}
.sustain-picture figcaption span { color:rgba(255,255,255,.9); }
.sustain-picture-quote {
  position:relative;
  padding:1.7rem 1.8rem 1.8rem 4rem;
  border-radius:var(--radius);
  background:#68765A;
  color:#fff;
  box-shadow:0 14px 34px rgba(52,35,30,.08);
}
.sustain-picture-quote p {
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.25rem,2vw,1.7rem);
  line-height:1.2;
}
.sustain-picture-mark {
  position:absolute;
  left:1.25rem;
  top:.6rem;
  font-family:Georgia,serif;
  font-size:4.8rem;
  line-height:1;
  color:rgba(255,255,255,.22);
}
.sustain-step { overflow:hidden; }
.sustain-step::after {
  content:"";
  position:absolute;
  width:105px;
  height:105px;
  border:1px solid rgba(104,118,90,.10);
  border-radius:50%;
  right:-42px;
  bottom:-46px;
}
.sustain-step h3 { position:relative; z-index:1; }

@media (max-width:820px) {
  .sustain-picture-band-grid { grid-template-columns:1fr; }
  .sustain-picture-main { min-height:440px; }
  .sustain-picture-side { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .sustain-picture-side .sustain-picture { min-height:300px; }
}
@media (max-width:620px) {
  .sustain-picture-band { padding:0 0 66px; }
  .sustain-picture-main { min-height:390px; }
  .sustain-picture-side { grid-template-columns:1fr; }
  .sustain-picture-side .sustain-picture { min-height:310px; }
  .sustain-picture-quote { padding:1.5rem 1.4rem 1.5rem 3.4rem; }
}


/* ==============================
   Version 1.22 – Nachhaltigkeit: PV-Foto & Typografie
   ============================== */
.sustain-intro h2 {
  max-width:760px;
  font-size:clamp(2rem,3.5vw,3.25rem);
}
.sustain-picture-pv img {
  object-position:center 48%;
}
@media (max-width:620px) {
  .sustain-intro h2 { font-size:clamp(1.85rem,8vw,2.45rem); }
  .sustain-picture-pv img { object-position:58% center; }
}

/* ==============================
   Version 1.23 – Geschichte
   ============================== */
.subhero-history {
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(45,29,24,.92) 0%,rgba(45,29,24,.82) 42%,rgba(45,29,24,.28) 100%),
    url('../img/geschichte/brauerei-um-1901.jpg') center 42%/cover no-repeat;
}
.subhero-history .container { position:relative; z-index:1; }
.history-intro { padding:92px 0 78px; background:var(--brand-paper); }
.history-opening { padding:92px 0; }
.history-opening-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2.2rem,6vw,6rem); align-items:center; }
.history-map { margin:0; padding:1rem; border-radius:var(--radius); background:#f3ede4; box-shadow:var(--shadow); transform:rotate(-1deg); }
.history-map img { width:100%; display:block; border-radius:calc(var(--radius) - 8px); }
.history-map figcaption { padding:.7rem .3rem 0; color:var(--brand-grey); font-size:.88rem; text-align:center; }
.history-opening-copy p:not(.eyebrow) { color:var(--brand-grey); }
.history-timeline { padding:100px 0; background:#f4eee5; }
.history-line { position:relative; max-width:980px; margin:3.8rem auto 0; }
.history-line::before { content:""; position:absolute; left:126px; top:8px; bottom:8px; width:2px; background:linear-gradient(#a87556,#d8c7b7); }
.history-event { position:relative; display:grid; grid-template-columns:100px 1fr; gap:54px; padding:0 0 2.2rem; }
.history-event::before { content:""; position:absolute; left:120px; top:.42rem; width:14px; height:14px; border:3px solid #f4eee5; border-radius:50%; background:#9a6446; box-shadow:0 0 0 1px #9a6446; }
.history-year { font-family:var(--font-display); font-size:1.3rem; color:#8f583e; text-align:right; font-weight:700; }
.history-event h3 { margin:0 0 .35rem; }
.history-event p { margin:0; color:var(--brand-grey); }
.history-event-highlight > div { padding:1.2rem 1.35rem; margin-top:-1.2rem; border-radius:14px; background:#fff; box-shadow:0 12px 30px rgba(52,35,30,.07); }
.history-gallery { padding:100px 0; }
.history-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2.5rem; }
.history-photo { position:relative; min-height:315px; margin:0; overflow:hidden; border-radius:var(--radius); background:#ddd; box-shadow:var(--shadow); }
.history-photo-wide { grid-column:span 2; }
.history-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:sepia(.06); }
.history-photo::after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(34,27,24,.82)); }
.history-photo figcaption { position:absolute; z-index:2; left:1.25rem; right:1.25rem; bottom:1.1rem; color:white; }
.history-photo figcaption strong,.history-photo figcaption span { display:block; }
.history-photo figcaption strong { font-family:var(--font-display); font-size:1.5rem; }
.history-photo figcaption span { margin-top:.15rem; color:rgba(255,255,255,.88); }
.history-brewing { padding:100px 0; background:var(--brand-paper); }
.history-brewing-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.history-brewing-copy p:not(.eyebrow) { color:var(--brand-grey); }
.history-brewing-images { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.history-brewing-images figure { margin:0; overflow:hidden; border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); }
.history-brewing-images img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.history-brewing-images figcaption { padding:.75rem 1rem; color:var(--brand-grey); font-size:.9rem; }
.history-rebirth { padding:100px 0; }
.history-rebirth-head { max-width:850px; margin-bottom:2.6rem; }
.history-rebirth-head > p:not(.eyebrow) { color:var(--brand-grey); font-size:1.08rem; }
.history-rebuild-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.history-rebuild-grid figure { margin:0; overflow:hidden; border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); }
.history-rebuild-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.history-rebuild-grid figcaption { padding:.9rem 1rem 1rem; }
.history-rebuild-grid figcaption strong,.history-rebuild-grid figcaption span { display:block; }
.history-rebuild-grid figcaption strong { color:#8f583e; font-family:var(--font-display); font-size:1.15rem; }
.history-rebuild-grid figcaption span { color:var(--brand-grey); font-size:.9rem; }
.history-2014 { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(2.4rem,6vw,6rem); align-items:center; margin-top:4rem; padding:2rem; border-radius:calc(var(--radius) + 4px); background:#f4eee5; }
.history-2014-image { overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); }
.history-2014-image img { width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center 28%; display:block; }
.history-2014-copy p:not(.eyebrow) { color:var(--brand-grey); }
.history-signoff { font-family:var(--font-display); font-size:1.25rem; color:#68402f !important; }
.history-source { padding:78px 0; background:#34231e; color:#fff; }
.history-source-inner { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,6rem); align-items:start; }
.history-source .eyebrow { color:#d7b28f; }
.history-source h2 { color:#fff; margin-bottom:0; }
.history-source p { color:rgba(255,255,255,.78); }

@media (max-width:900px) {
  .history-opening-grid,.history-brewing-grid,.history-2014,.history-source-inner { grid-template-columns:1fr; }
  .history-map { max-width:520px; }
  .history-gallery-grid { grid-template-columns:1fr 1fr; }
  .history-photo-wide { grid-column:span 2; }
  .history-rebuild-grid { grid-template-columns:1fr 1fr; }
  .history-rebuild-grid figure:last-child { grid-column:span 2; }
  .history-2014-image { max-width:500px; }
}
@media (max-width:620px) {
  .history-intro,.history-opening,.history-timeline,.history-gallery,.history-brewing,.history-rebirth { padding:68px 0; }
  .subhero-history { background-position:58% center; }
  .history-line::before { left:9px; }
  .history-event { grid-template-columns:1fr; gap:.25rem; padding-left:34px; }
  .history-event::before { left:3px; top:.5rem; }
  .history-year { text-align:left; font-size:1.15rem; }
  .history-event-highlight > div { margin-top:.2rem; }
  .history-gallery-grid,.history-rebuild-grid,.history-brewing-images { grid-template-columns:1fr; }
  .history-photo-wide,.history-rebuild-grid figure:last-child { grid-column:auto; }
  .history-photo { min-height:285px; }
  .history-2014 { padding:1rem; }
  .history-2014-image { max-width:none; }
}

/* ==============================
   Version 1.24 – Geschichte: Typografie-Feinschliff
   ============================== */
.history-intro h2 {
  max-width:720px;
  font-size:clamp(2rem,3.35vw,3.25rem);
  line-height:1.05;
}
@media (max-width:620px) {
  .subhero-history h1 {
    max-width:100%;
    font-size:clamp(2.25rem,10.2vw,3.2rem);
    line-height:1.02;
    overflow-wrap:anywhere;
  }
  .history-intro h2 {
    font-size:clamp(1.9rem,8.4vw,2.55rem);
    line-height:1.07;
  }
}

/* ==============================
   Version 1.25 – Brauereigeist werden
   ============================== */
/* mobile Feinschliff Geschichte aus V1.24 */
@media (max-width:620px) {
  .subhero-history h1 {
    font-size:clamp(2.15rem,9.5vw,3rem);
    letter-spacing:-.018em;
  }
}

.subhero-jobs {
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(45,29,24,.93) 0%,rgba(45,29,24,.80) 43%,rgba(45,29,24,.28) 100%),
    url('../img/brauereigeister-team.jpg') center 48%/cover no-repeat;
}
.subhero-jobs .container { position:relative; z-index:1; }
.subhero-jobs h1 { max-width:850px; }
.subhero-jobs p:not(.eyebrow) { max-width:760px; }
.jobs-intro { padding:92px 0 78px; background:var(--brand-paper); }
.jobs-intro h2 { max-width:650px; }
.jobs-team { padding:100px 0; }
.jobs-team-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2.3rem,6vw,6rem); align-items:center; }
.jobs-team-photo { margin:0; overflow:hidden; border-radius:var(--radius); background:#ddd; box-shadow:var(--shadow); }
.jobs-team-photo img { width:100%; aspect-ratio:16/10; object-fit:cover; object-position:center 48%; display:block; }
.jobs-team-photo figcaption { padding:.85rem 1rem; color:var(--brand-grey); font-size:.9rem; background:#fff; }
.jobs-team-copy h2 { max-width:650px; }
.jobs-benefits { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:1.7rem; }
.jobs-benefits > div { padding:1rem 1.05rem; border:1px solid rgba(104,64,47,.11); border-radius:14px; background:#faf7f2; }
.jobs-benefits strong,.jobs-benefits span { display:block; }
.jobs-benefits strong { color:#68402f; margin-bottom:.15rem; }
.jobs-benefits span { color:var(--brand-grey); font-size:.92rem; line-height:1.42; }
.jobs-areas { padding:100px 0; background:#f4eee5; }
.jobs-heading { align-items:end; }
.jobs-heading > p { max-width:560px; color:var(--brand-grey); }
.jobs-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2.5rem; }
.jobs-card { position:relative; min-height:300px; padding:1.65rem; border-radius:var(--radius); background:#fff; box-shadow:0 12px 34px rgba(52,35,30,.06); border:1px solid rgba(104,64,47,.07); display:flex; flex-direction:column; }
.jobs-card h3 { margin:.55rem 0 .55rem; font-size:1.55rem; }
.jobs-card p { color:var(--brand-grey); }
.jobs-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:#efe5d8; color:#8f583e; font-size:1.25rem; }
.jobs-meta { display:block; margin-top:auto; padding-top:1rem; color:#8f583e; font-weight:700; font-size:.83rem; text-transform:uppercase; letter-spacing:.04em; }
.jobs-card-service,.jobs-card-kitchen { background:#fffdf9; }
.jobs-card-initiative { background:#68765A; color:#fff; }
.jobs-card-initiative .jobs-icon { background:rgba(255,255,255,.15); color:#fff; }
.jobs-card-initiative p,.jobs-card-initiative .text-link { color:rgba(255,255,255,.88); }
.jobs-card-initiative .text-link { margin-top:auto; font-weight:700; }
.jobs-day { padding:100px 0; }
.jobs-day-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.jobs-day-copy p:not(.eyebrow) { color:var(--brand-grey); }
.jobs-quote { margin:1.5rem 0 0; padding:1.2rem 1.3rem; border-left:4px solid #9a6446; background:#f4eee5; font-family:var(--font-display); font-size:1.35rem; color:#68402f; }
.jobs-day-images { display:grid; grid-template-columns:1.15fr .85fr; gap:1rem; }
.jobs-day-images figure { margin:0; overflow:hidden; border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); }
.jobs-day-images img { width:100%; height:360px; object-fit:cover; display:block; }
.jobs-day-images figure:nth-child(2) img { object-position:center; }
.jobs-day-images figcaption { padding:.8rem 1rem; color:var(--brand-grey); font-size:.9rem; }
.jobs-values { padding:100px 0; background:var(--brand-paper); }
.jobs-values-grid { margin-top:2.5rem; }
.jobs-apply { padding:82px 0; color:#fff; background:#34231e; }
.jobs-apply-inner { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.jobs-apply .eyebrow { color:#d7b28f; }
.jobs-apply h2 { color:#fff; }
.jobs-apply p { color:rgba(255,255,255,.78); max-width:700px; }
.jobs-apply-actions { display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; }
.jobs-apply-actions span { color:rgba(255,255,255,.64); font-size:.88rem; }

@media (max-width:960px) {
  .jobs-team-grid,.jobs-day-grid,.jobs-apply-inner { grid-template-columns:1fr; }
  .jobs-card-grid { grid-template-columns:1fr 1fr; }
  .jobs-team-photo { max-width:760px; }
}
@media (max-width:620px) {
  .jobs-intro,.jobs-team,.jobs-areas,.jobs-day,.jobs-values { padding:68px 0; }
  .subhero-jobs { background-position:58% center; }
  .subhero-jobs h1 { font-size:clamp(2.2rem,9.5vw,3rem); line-height:1.02; }
  .jobs-benefits,.jobs-card-grid,.jobs-day-images { grid-template-columns:1fr; }
  .jobs-card { min-height:0; }
  .jobs-day-images img { height:300px; }
  .jobs-apply { padding:68px 0; }
}
\n\n/* ==============================\n   Version 1.26 – Aktuell offene Stellen\n   ============================== */\n.jobs-current { padding:0 0 96px; background:var(--brand-paper); }\n.jobs-current-box { padding:clamp(1.5rem,4vw,2.5rem); border-radius:calc(var(--radius) + 4px); background:#fff; box-shadow:0 16px 42px rgba(52,35,30,.08); border:1px solid rgba(104,64,47,.08); }\n.jobs-current-head { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(1.5rem,5vw,4rem); align-items:end; padding-bottom:1.6rem; border-bottom:1px solid rgba(104,64,47,.10); }\n.jobs-current-head h2 { margin-bottom:0; font-size:clamp(2rem,3.1vw,3rem); }\n.jobs-current-head > p { margin:0; color:var(--brand-grey); max-width:700px; }\n.jobs-current-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.4rem; }\n.jobs-current-role { position:relative; padding:1.45rem 1.5rem 1.35rem; border-radius:var(--radius); background:#f7f1e8; border:1px solid rgba(104,64,47,.08); }\n.jobs-current-role h3 { margin:.65rem 0 .12rem; font-size:1.6rem; }\n.jobs-current-role p { color:var(--brand-grey); }\n.jobs-current-subtitle { margin:.1rem 0 .75rem !important; color:#68402f !important; font-weight:700; }\n.jobs-current-badge { display:inline-flex; align-items:center; min-height:28px; padding:.28rem .68rem; border-radius:999px; background:#68765A; color:#fff; font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }\n.jobs-current-footer { display:flex; justify-content:space-between; gap:1.5rem; align-items:center; margin-top:1.35rem; }\n.jobs-current-footer p { margin:0; color:var(--brand-grey); }\n.jobs-current-footer .btn { flex:0 0 auto; }\n@media (max-width:760px) {\n  .jobs-current { padding:0 0 68px; }\n  .jobs-current-head,.jobs-current-grid { grid-template-columns:1fr; }\n  .jobs-current-head { align-items:start; }\n  .jobs-current-footer { align-items:flex-start; flex-direction:column; }\n}\n

/* ==============================
   Version 1.27 – Aktuelle Stellen zweispaltig
   ============================== */
.jobs-current-list { display:flex; flex-direction:column; gap:0; margin-top:1.4rem; border:1px solid rgba(104,64,47,.10); border-radius:var(--radius); overflow:hidden; background:#fff; }
.jobs-current-row { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:center; padding:1.55rem 1.7rem; border:0; border-radius:0; background:#fff; }
.jobs-current-row + .jobs-current-row { border-top:1px solid rgba(104,64,47,.10); }
.jobs-current-label { padding-right:1.5rem; border-right:1px solid rgba(104,64,47,.12); }
.jobs-current-row h3 { margin:.62rem 0 .12rem; font-size:1.72rem; }
.jobs-current-description p { margin:0; color:var(--brand-grey); font-size:1.03rem; line-height:1.72; }
@media (max-width:760px) {
  .jobs-current-row { grid-template-columns:1fr; gap:1rem; padding:1.35rem 1.3rem; }
  .jobs-current-label { padding-right:0; padding-bottom:.95rem; border-right:0; border-bottom:1px solid rgba(104,64,47,.10); }
}

/* V1.28 – Anfahrt & Kontakt */
.subhero-contact {
  background-image:linear-gradient(90deg,rgba(34,23,19,.76),rgba(34,23,19,.28) 68%,rgba(34,23,19,.08)),url('../img/alte-brauerei-tag.jpg');
  background-position:center 50%;
}
.subhero-contact .container { position:relative; z-index:1; }
.subhero-contact h1 { max-width:850px; }
.contact-intro { background:var(--brand-paper); }
.contact-main-copy { max-width:760px; }
.contact-direct-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.8rem 0 1rem; }
.contact-direct-card { display:flex; flex-direction:column; gap:.25rem; text-decoration:none; background:var(--brand-white); border:1px solid var(--line); border-radius:var(--radius); padding:1.25rem 1.35rem; box-shadow:0 10px 30px rgba(52,35,30,.055); transition:.2s ease; overflow-wrap:anywhere; }
.contact-direct-card:hover { transform:translateY(-2px); border-color:rgba(182,95,62,.38); box-shadow:0 15px 34px rgba(52,35,30,.09); }
.contact-direct-card span { color:var(--brand-copper-dark); text-transform:uppercase; letter-spacing:.12em; font-weight:700; font-size:.72rem; }
.contact-direct-card strong { font-size:1.05rem; }
.contact-direct-card small { color:var(--brand-grey); }
.contact-location { padding:92px 0; background:var(--brand-cream); border-block:1px solid var(--line); }
.contact-location-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,5vw,5rem); align-items:stretch; }
.contact-location-copy { align-self:center; }
.contact-location-copy h2 { font-size:clamp(2.2rem,4.2vw,4rem); }
.contact-address { font-style:normal; font-size:1.15rem; margin:0 0 1.25rem; }
.contact-external-note { color:var(--brand-grey); font-size:.82rem; margin-top:.75rem; }
.privacy-map { min-height:460px; border-radius:var(--radius); overflow:hidden; position:relative; background:linear-gradient(145deg,#ded6c7,#f4eee4); border:1px solid rgba(52,35,30,.12); box-shadow:var(--shadow); }
.privacy-map iframe { width:100%; height:100%; min-height:460px; border:0; display:block; }
.privacy-map-placeholder { min-height:460px; padding:clamp(2rem,5vw,4.5rem); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.privacy-map-placeholder[hidden] { display:none; }
.privacy-map-placeholder h3 { max-width:520px; font-size:clamp(2rem,3.4vw,3.35rem); }
.privacy-map-placeholder p:not(.eyebrow) { max-width:570px; }
.privacy-map-pin { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; margin-bottom:1.4rem; background:var(--brand-copper); color:#fff; font-size:1.5rem; }
.privacy-map-placeholder .text-link { margin-top:1rem; font-size:.9rem; }
.arrival-section { padding:100px 0; }
.arrival-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2.4rem; }
.arrival-card { background:var(--brand-white); border:1px solid var(--line); border-radius:var(--radius); padding:1.7rem; box-shadow:0 10px 30px rgba(52,35,30,.05); }
.arrival-card h3 { font-size:clamp(1.7rem,2.4vw,2.25rem); }
.arrival-card p { margin-bottom:0; }
.arrival-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--season-soft); color:var(--brand-brown); font-weight:700; margin-bottom:1.25rem; }
.contact-hours { padding:100px 0; background:var(--brand-brown); color:white; }
.contact-hours-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,6vw,6rem); align-items:center; }
.contact-hours-image img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius); }
.contact-hours-copy .eyebrow { color:#d8c9bb; }
.contact-hours-copy h2 { font-size:clamp(2.4rem,4.5vw,4.4rem); }
.contact-hours-copy .small-note { color:#d9cec8; }
.contact-hours-copy .text-link { color:white; }
.contact-hours-list { display:grid; gap:0; margin:1.5rem 0; border-top:1px solid rgba(255,255,255,.18); }
.contact-hours-list > div { display:grid; grid-template-columns:160px 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.18); }
.contact-hours-list span { color:#e1d6cf; }
.contact-final { padding:82px 0; }
.contact-final-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center; }
.contact-final-grid h2 { font-size:clamp(2.2rem,4vw,3.9rem); }
.contact-final-grid p:last-child { margin-bottom:0; }
.contact-final-actions { display:flex; gap:.65rem; flex-wrap:wrap; justify-content:flex-end; }

@media (max-width:900px) {
  .contact-location-grid, .contact-hours-grid { grid-template-columns:1fr; }
  .arrival-grid { grid-template-columns:1fr; }
  .contact-hours-image { order:2; }
  .contact-hours-copy { order:1; }
}
@media (max-width:760px) {
  .subhero-contact h1 { font-size:clamp(2.35rem,10.5vw,3.3rem); line-height:1.02; }
  .contact-direct-grid, .contact-final-grid { grid-template-columns:1fr; }
  .contact-location, .arrival-section, .contact-hours { padding:66px 0; }
  .privacy-map, .privacy-map iframe, .privacy-map-placeholder { min-height:390px; }
  .contact-hours-list > div { grid-template-columns:1fr; gap:.15rem; }
  .contact-final-actions { justify-content:flex-start; }
  .contact-final-actions .btn { width:100%; }
}

/* V1.29 · Rechtliches & Anfahrt */
.arrival-small{margin-top:.7rem;font-size:.9rem;color:var(--muted)}
@media (min-width:900px){.arrival-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.legal-hero{background:linear-gradient(135deg,#382720,#5a4034);color:#fff;padding:clamp(4.5rem,8vw,7.5rem) 0 clamp(3.5rem,7vw,6rem)}
.legal-hero .eyebrow{color:#f0ddc7}
.legal-hero h1{max-width:900px;margin:.35rem 0 1rem;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.98}
.legal-hero p{max-width:760px;font-size:1.08rem;color:rgba(255,255,255,.86)}
.legal-page{padding:clamp(3.5rem,6vw,6rem) 0;background:#fbf7f1}
.legal-layout{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.legal-nav{position:sticky;top:110px;padding:1.4rem;border:1px solid rgba(67,45,36,.13);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(70,45,30,.06)}
.legal-nav strong{display:block;margin-bottom:.7rem;font-family:Georgia,serif;font-size:1.12rem}
.legal-nav a{display:block;padding:.46rem 0;color:var(--text);text-decoration:none;border-bottom:1px solid rgba(67,45,36,.08)}
.legal-nav a:last-child{border-bottom:0}
.legal-content{min-width:0}
.legal-section{padding:0 0 2rem;margin:0 0 2.2rem;border-bottom:1px solid rgba(67,45,36,.12);scroll-margin-top:120px}
.legal-section:last-child{border-bottom:0;margin-bottom:0}
.legal-section h2{font-size:clamp(1.55rem,2.8vw,2.35rem);line-height:1.08;margin:0 0 1rem}
.legal-section h3{font-size:1.14rem;margin:1.5rem 0 .45rem}
.legal-section p,.legal-section li{line-height:1.72}
.legal-section ul{padding-left:1.25rem}
.legal-card{padding:1.4rem 1.5rem;border-radius:18px;background:#fff;border:1px solid rgba(67,45,36,.12)}
.legal-card address{font-style:normal;line-height:1.75}
.legal-note{padding:1rem 1.2rem;border-left:3px solid #7a8b58;background:rgba(122,139,88,.08);border-radius:0 12px 12px 0}
.legal-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.1rem}
.legal-meta{font-size:.9rem;color:var(--muted)}
@media (max-width:820px){.legal-layout{grid-template-columns:1fr}.legal-nav{position:static}.legal-hero h1{font-size:clamp(2.15rem,10vw,3.5rem)}}

/* ==============================
   Version 1.30 – Speisekarte / Brauerei-Nachrichten
   ============================== */
.subhero-menu {
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(42,28,23,.88) 0%,rgba(42,28,23,.72) 46%,rgba(42,28,23,.20) 100%),
    url('../img/speisekarte/burger.jpg') center 54%/cover no-repeat;
}
.subhero-menu .container { position:relative; z-index:1; }
.subhero-menu h1 { max-width:930px; }
.subhero-menu p:not(.eyebrow) { max-width:760px; }
.menu-page-intro { padding:92px 0 78px; background:var(--brand-paper); }
.menu-page-intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,6rem); align-items:start; }
.menu-page-intro h2 { max-width:680px; font-size:clamp(2.2rem,3.7vw,3.55rem); }
.menu-page-copy p { color:var(--brand-grey); font-size:1.06rem; }
.menu-news { padding:100px 0; }
.menu-news-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.2rem,6vw,6rem); align-items:center; }
.menu-news-image { overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); background:#eee; }
.menu-news-image img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.menu-news-copy h2 { font-size:clamp(2.25rem,4vw,4rem); }
.menu-news-copy p { color:var(--brand-grey); }
.menu-news-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.5rem; }
.menu-small-note { margin-top:1rem; font-size:.83rem; }
.menu-season { padding:100px 0; background:#f4eee5; }
.menu-section-heading { display:grid; grid-template-columns:1fr .9fr; gap:clamp(2rem,5vw,5rem); align-items:end; margin-bottom:2.5rem; }
.menu-section-heading h2 { margin-bottom:0; font-size:clamp(2.15rem,3.6vw,3.55rem); }
.menu-section-heading > p { color:var(--brand-grey); margin:0; }
.menu-section-heading.compact { grid-template-columns:1fr; max-width:800px; }
.food-story-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:1rem; }
.food-story { margin:0; background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:0 12px 34px rgba(52,35,30,.06); }
.food-story img { width:100%; height:300px; object-fit:cover; display:block; }
.food-story-wide img { object-position:center 52%; }
.food-story figcaption { padding:1rem 1.1rem 1.15rem; }
.food-story figcaption strong,.food-story figcaption span { display:block; }
.food-story figcaption strong { color:#68402f; font-size:1.05rem; margin-bottom:.15rem; }
.food-story figcaption span { color:var(--brand-grey); font-size:.9rem; line-height:1.45; }
.menu-values { padding:100px 0; background:var(--brand-paper); }
.menu-values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.menu-values-grid article { padding:1.5rem; background:#fff; border:1px solid rgba(104,64,47,.08); border-radius:var(--radius); box-shadow:0 10px 30px rgba(52,35,30,.045); }
.menu-values-grid h3 { font-size:1.45rem; margin:.65rem 0 .55rem; }
.menu-values-grid p { color:var(--brand-grey); margin-bottom:0; }
.menu-value-no { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:30px; border-radius:999px; background:#efe5d8; color:#8f583e; font-weight:700; font-size:.78rem; }
.menu-bus { padding:100px 0; background:#34231e; color:#fff; }
.menu-bus-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,6vw,6rem); align-items:start; }
.menu-bus .eyebrow { color:#d7b28f; }
.menu-bus h2 { color:#fff; font-size:clamp(2.3rem,4vw,4rem); }
.menu-bus-copy > p { color:rgba(255,255,255,.78); }
.menu-bus-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.5rem; }
.menu-bus .btn-ghost { color:#fff; border-color:rgba(255,255,255,.42); }
.menu-bus-flow { display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.15); border-radius:var(--radius); overflow:hidden; }
.menu-bus-flow > div { display:grid; grid-template-columns:44px 1fr; column-gap:1rem; padding:1.15rem 1.25rem; border-bottom:1px solid rgba(255,255,255,.12); }
.menu-bus-flow > div:last-child { border-bottom:0; }
.menu-bus-flow span { grid-row:1 / span 2; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#68765A; color:#fff; font-weight:700; }
.menu-bus-flow strong { color:#fff; }
.menu-bus-flow p { margin:.15rem 0 0; color:rgba(255,255,255,.68); font-size:.92rem; }
.menu-partners { padding:100px 0; }
.menu-partners-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2.2rem,6vw,6rem); align-items:center; }
.menu-partners-image { overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); }
.menu-partners-image img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.menu-partners-copy h2 { font-size:clamp(2.2rem,3.8vw,3.65rem); }
.menu-partners-copy p { color:var(--brand-grey); }
.menu-partner-links { display:flex; flex-direction:column; gap:.55rem; margin-top:1.3rem; }
.menu-partner-links span { color:var(--brand-grey); font-size:.86rem; }
@media (max-width:950px) {
  .menu-page-intro-grid,.menu-news-grid,.menu-bus-grid,.menu-partners-grid { grid-template-columns:1fr; }
  .food-story-grid { grid-template-columns:1fr 1fr; }
  .food-story-wide { grid-column:span 2; }
  .menu-values-grid { grid-template-columns:1fr 1fr; }
  .menu-news-image,.menu-partners-image { max-width:760px; }
}
@media (max-width:680px) {
  .subhero-menu h1 { font-size:clamp(2.15rem,9.2vw,3rem); line-height:1.02; }
  .menu-page-intro,.menu-news,.menu-season,.menu-values,.menu-bus,.menu-partners { padding:68px 0; }
  .menu-section-heading { grid-template-columns:1fr; align-items:start; }
  .food-story-grid,.menu-values-grid { grid-template-columns:1fr; }
  .food-story-wide { grid-column:auto; }
  .food-story img { height:270px; }
  .menu-news-actions,.menu-bus-actions { flex-direction:column; align-items:stretch; }
  .menu-news-actions .btn,.menu-bus-actions .btn { width:100%; }
}

/* V1.31 · Speisekarte: aktuelle PDFs & regionale Partner */
.menu-bus-note{color:rgba(255,255,255,.62)!important;margin-top:1rem}
.menu-partners-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:start;margin-bottom:2.5rem}
.menu-partners-intro h2{font-size:clamp(2.2rem,3.8vw,3.65rem);margin-bottom:0}
.menu-partners-intro p{color:var(--brand-grey)}
.partner-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.partner-feature{padding:1.35rem 1.4rem;background:#fff;border:1px solid rgba(104,64,47,.10);border-radius:var(--radius);box-shadow:0 10px 30px rgba(52,35,30,.045)}
.partner-feature span{display:block;color:#7b8c5f;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:.45rem}
.partner-feature h3{font-size:1.32rem;margin:0 0 .35rem}
.partner-feature p{margin:0;color:var(--brand-grey);line-height:1.55}
.partner-feature small{display:block;margin-top:.8rem;color:var(--brand-grey);line-height:1.5}
.partner-feature-wild{grid-column:span 2;background:#f4eee5}
.partner-more{margin-top:1.25rem;border:1px solid rgba(104,64,47,.12);border-radius:var(--radius);background:#fbf7f1;overflow:hidden}
.partner-more summary{cursor:pointer;padding:1.1rem 1.35rem;font-weight:700;color:#68402f;list-style:none}
.partner-more summary::-webkit-details-marker{display:none}
.partner-more summary::after{content:'+';float:right;font-size:1.25rem;line-height:1}
.partner-more[open] summary::after{content:'–'}
.partner-more-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;padding:0 1.35rem 1.35rem;border-top:1px solid rgba(104,64,47,.10)}
.partner-more-grid p{padding-top:1.1rem;margin:0;color:var(--brand-grey);font-size:.92rem;line-height:1.6}
.menu-partner-links{margin-top:1.25rem}
@media(max-width:950px){.menu-partners-intro{grid-template-columns:1fr}.partner-feature-grid{grid-template-columns:1fr 1fr}.partner-more-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.partner-feature-grid,.partner-more-grid{grid-template-columns:1fr}.partner-feature-wild{grid-column:auto}}

/* V1.32 · Speisekarte Sprungnavigation & aktuelle Titelseite */
.menu-jump-nav{position:sticky;top:78px;z-index:20;background:rgba(255,250,244,.94);backdrop-filter:blur(12px);border-top:1px solid rgba(104,64,47,.08);border-bottom:1px solid rgba(104,64,47,.12)}
.menu-jump-inner{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.78rem 0;flex-wrap:wrap}
.menu-jump-inner span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-grey);font-weight:700;margin-right:.2rem}
.menu-jump-inner a{display:inline-flex;align-items:center;justify-content:center;padding:.52rem .85rem;border:1px solid rgba(104,64,47,.16);border-radius:999px;background:#fff;color:#68402f;font-size:.9rem;font-weight:700;text-decoration:none;transition:.2s ease}
.menu-jump-inner a:hover{transform:translateY(-1px);border-color:rgba(104,64,47,.35);box-shadow:0 6px 18px rgba(52,35,30,.08)}
.menu-news-cover{background:#f2eadf;padding:1.15rem;display:flex;flex-direction:column;align-items:center}
.menu-news-cover a{display:block;width:min(100%,430px)}
.menu-news-cover img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:10px;box-shadow:0 15px 35px rgba(52,35,30,.14)}
.menu-cover-caption{margin-top:.85rem;color:#68402f;font-size:.84rem;font-weight:700;letter-spacing:.04em}
@media(max-width:680px){.menu-jump-nav{top:64px}.menu-jump-inner{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:.7rem 0;scrollbar-width:none}.menu-jump-inner::-webkit-scrollbar{display:none}.menu-jump-inner span{flex:0 0 auto}.menu-jump-inner a{flex:0 0 auto}.menu-news-cover{padding:.8rem}}

/* V1.32 · Mertingen & Region erleben */
.region-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#2e3326}
.region-hero-image,.region-hero-overlay{position:absolute;inset:0}
.region-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 52%;display:block}
.region-hero-overlay{background:linear-gradient(90deg,rgba(24,25,19,.82) 0%,rgba(24,25,19,.56) 46%,rgba(24,25,19,.18) 100%),linear-gradient(0deg,rgba(24,25,19,.45),transparent 48%)}
.region-hero-content{position:relative;z-index:2;padding:150px 0 82px}
.region-hero-content .eyebrow{color:#e0c9aa}
.region-hero h1{max-width:830px;color:#fff;font-size:clamp(3rem,6vw,5.8rem);line-height:.96;margin-bottom:1.3rem}
.region-hero-content>p:not(.eyebrow){max-width:720px;font-size:1.13rem;line-height:1.65;color:rgba(255,255,255,.88)}
.region-jump-nav{position:sticky;top:78px;z-index:20;background:rgba(255,250,244,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(104,64,47,.12)}
.region-jump-inner{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.78rem 0;flex-wrap:wrap}
.region-jump-inner span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-grey);font-weight:700}
.region-jump-inner a{padding:.52rem .85rem;background:#fff;border:1px solid rgba(104,64,47,.16);border-radius:999px;color:#68402f;text-decoration:none;font-weight:700;font-size:.9rem}
.region-intro,.region-local,.region-trips,.region-location{padding:100px 0}
.region-intro{background:var(--brand-paper)}
.region-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.region-intro h2,.region-section-heading h2,.region-location h2,.region-finale h2{font-size:clamp(2.2rem,3.9vw,3.8rem)}
.region-copy p{color:var(--brand-grey);font-size:1.05rem}
.region-section-heading{display:grid;grid-template-columns:1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:end;margin-bottom:2.6rem}
.region-section-heading>p{margin:0;color:var(--brand-grey)}
.region-local-grid{display:grid;grid-template-columns:1.35fr .825fr .825fr;gap:1rem}
.region-museum-card,.region-local-card{border:1px solid rgba(104,64,47,.1);border-radius:var(--radius);background:#fff;box-shadow:0 12px 34px rgba(52,35,30,.05);padding:1.55rem}
.region-museum-card{display:grid;grid-template-columns:180px 1fr;gap:1.5rem;align-items:center;background:#f4eee5}
.region-museum-logo img{width:100%;height:auto;display:block}
.region-label{display:block;color:#7b8c5f;font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;margin-bottom:.45rem}
.region-local-grid h3{font-size:1.45rem;margin:.15rem 0 .55rem}
.region-local-grid p{color:var(--brand-grey);margin-bottom:.7rem}
.region-nature{padding:100px 0;background:#2f3a2d;color:#fff}
.region-section-heading-light h2{color:#fff}.region-section-heading-light>p{color:rgba(255,255,255,.72)}.region-section-heading-light .eyebrow{color:#d8c6a9}
.region-nature-gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:1rem}
.region-nature-gallery figure{margin:0;position:relative;overflow:hidden;border-radius:var(--radius);min-height:330px;background:#1e271f}
.region-nature-gallery img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.region-nature-gallery figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.7rem .85rem;background:rgba(24,25,19,.68);backdrop-filter:blur(8px);border-radius:10px;font-size:.9rem}
.region-memberships{margin-top:2rem;padding:1.4rem 1.5rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:rgba(255,255,255,.05)}
.region-memberships p{color:rgba(255,255,255,.76);margin-top:0}
.region-membership-links{display:flex;flex-wrap:wrap;gap:.65rem}.region-membership-links a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.22);padding:.6rem .8rem;border-radius:999px;font-size:.9rem}
.region-trips{background:#f4eee5}
.region-trip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.region-trip-grid article{padding:1.45rem;background:#fff;border-radius:var(--radius);border:1px solid rgba(104,64,47,.09);box-shadow:0 10px 30px rgba(52,35,30,.04)}
.region-trip-grid article>span{display:inline-block;color:#7b8c5f;font-weight:700;font-size:.8rem;letter-spacing:.05em;margin-bottom:.55rem}.region-trip-grid h3{font-size:1.35rem;margin:0 0 .45rem}.region-trip-grid p{color:var(--brand-grey);margin:0}
.region-location-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:center}.region-location p{color:var(--brand-grey)}
.region-location-actions,.region-finale-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
.region-distance-list{border:1px solid rgba(104,64,47,.11);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(52,35,30,.05)}
.region-distance-list div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid rgba(104,64,47,.08)}.region-distance-list div:last-child{border-bottom:0}.region-distance-list span{color:var(--brand-grey)}.region-distance-list strong{color:#68402f}
.region-finale{padding:82px 0;background:#34231e;color:#fff}.region-finale-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center}.region-finale h2{color:#fff;margin-bottom:.7rem}.region-finale p{color:rgba(255,255,255,.72);max-width:720px}.region-finale .eyebrow{color:#d7b28f}.region-finale-actions{justify-content:flex-end}.region-finale .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
@media(max-width:1000px){.region-local-grid{grid-template-columns:1fr 1fr}.region-museum-card{grid-column:span 2}.region-trip-grid{grid-template-columns:1fr 1fr}.region-nature-gallery{grid-template-columns:1fr 1fr}.region-nature-main{grid-column:span 2}.region-location-grid,.region-finale-inner{grid-template-columns:1fr}.region-finale-actions{justify-content:flex-start}}
@media(max-width:680px){.region-hero{min-height:520px}.region-hero-content{padding:125px 0 58px}.region-hero h1{font-size:clamp(2.45rem,11vw,3.4rem);line-height:1}.region-jump-nav{top:64px}.region-jump-inner{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.region-jump-inner::-webkit-scrollbar{display:none}.region-jump-inner>*{flex:0 0 auto}.region-intro,.region-local,.region-nature,.region-trips,.region-location{padding:68px 0}.region-intro-grid,.region-section-heading{grid-template-columns:1fr;align-items:start}.region-local-grid,.region-trip-grid,.region-nature-gallery{grid-template-columns:1fr}.region-museum-card,.region-nature-main{grid-column:auto}.region-museum-card{grid-template-columns:1fr}.region-museum-logo{max-width:180px}.region-nature-gallery figure{min-height:260px}.region-membership-links{flex-direction:column;align-items:stretch}.region-membership-links a{text-align:center}.region-location-actions,.region-finale-actions{flex-direction:column}.region-location-actions .btn,.region-finale-actions .btn{width:100%}}
.hotel-region-teaser{padding:72px 0;background:#f4eee5;border-top:1px solid rgba(104,64,47,.07);border-bottom:1px solid rgba(104,64,47,.07)}
.hotel-region-teaser-inner{display:grid;grid-template-columns:1.2fr auto;gap:2rem;align-items:center}.hotel-region-teaser h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:.55rem}.hotel-region-teaser p:not(.eyebrow){color:var(--brand-grey);max-width:760px;margin-bottom:0}
@media(max-width:760px){.hotel-region-teaser-inner{grid-template-columns:1fr}.hotel-region-teaser .btn{width:100%}}

/* ==============================
   Version 1.33 – Usability-Finale vor SEO
   ============================== */
/* Unterseiten: ruhigere Hierarchie, weniger visuelle Scrollhöhe. Die Startseiten-Hero bleibt bewusst großzügig. */
.subhero h1 { font-size:clamp(2.65rem,5.2vw,5rem); line-height:.98; }
.page-intro h2,
.section-heading-row h2,
.rooms-heading h2,
.menu-page-intro h2,
.menu-section-heading h2,
.menu-news-copy h2,
.menu-bus h2,
.menu-partners-intro h2,
.region-intro h2,
.region-section-heading h2,
.region-location h2,
.region-finale h2,
.events-section-head h2,
.history-intro h2,
.jobs-intro h2,
.jobs-team-copy h2,
.about-spirits-copy h2,
.about-house-copy h2,
.about-community-copy h2 {
  font-size:clamp(1.95rem,3.05vw,3.15rem);
  line-height:1.06;
}
.events-featured#kulinarik .events-section-head h2 { font-size:clamp(1.95rem,3vw,3.05rem); }
.history-source h2 { font-size:clamp(1.45rem,2.1vw,2rem); }
.hotel-page-intro h2 { font-size:clamp(1.95rem,3vw,3.05rem); }
.hotel-page-intro h2 .no-break,
.hotel-room-story-copy .room-facts span:first-child { white-space:nowrap; }

/* Footerlogo ohne künstlichen weißen Kasten */
.footer-brand img { background:transparent; border-radius:0; }

/* Sprungnavigation soll direkt auffallen und beim Ankern unter dem Sticky-Header landen. */
.menu-jump-nav, .region-jump-nav { scroll-margin-top:90px; }
#aktuelle-karte, #busgruppen, #regional, #aktuell, #jobs-bereiche, #bewerben, #brauereigeister, #was-uns-ausmacht { scroll-margin-top:110px; }

/* Ferienland Donau-Ries als sichtbarer Partner auf der Regionsseite */
.region-tourism-card { background:linear-gradient(145deg,#f7f1e8,#fff); border:1px solid rgba(104,64,47,.12); }
.region-tourism-card .text-link { margin-top:.8rem; display:inline-flex; }

/* 404: dieselben schnellen Hauptwege wie auf der Website */
.error-page { min-height:62vh; display:grid; place-items:center; padding:clamp(80px,10vw,140px) 0; background:var(--brand-paper); }
.error-page-inner { max-width:820px; text-align:center; }
.error-page h1 { font-size:clamp(2.4rem,5vw,4.7rem); margin-bottom:1rem; }
.error-page p:not(.eyebrow) { font-size:1.15rem; color:var(--brand-grey); }
.error-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.75rem; margin-top:1.8rem; }

@media (max-width:760px) {
  .subhero h1 { font-size:clamp(2.05rem,10.4vw,3.15rem); line-height:1.02; }
  .page-intro h2,
  .section-heading-row h2,
  .rooms-heading h2,
  .menu-page-intro h2,
  .menu-section-heading h2,
  .menu-news-copy h2,
  .menu-bus h2,
  .menu-partners-intro h2,
  .region-intro h2,
  .region-section-heading h2,
  .region-location h2,
  .region-finale h2,
  .events-section-head h2,
  .history-intro h2,
  .jobs-intro h2,
  .jobs-team-copy h2 { font-size:clamp(1.75rem,8.2vw,2.45rem); }
}

/* Auf langen Informationsseiten auf Desktop schneller wieder nach oben. */
.back-to-top { position:fixed; right:22px; bottom:24px; z-index:48; display:inline-flex; gap:.35rem; align-items:center; padding:.62rem .82rem; border-radius:999px; background:rgba(52,35,30,.92); color:#fff; font-size:.86rem; font-weight:700; box-shadow:0 8px 25px rgba(0,0,0,.16); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s ease,transform .2s ease,visibility .2s; }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:none; }
.back-to-top:hover { color:#fff; transform:translateY(-2px); }
@media(max-width:900px){ .back-to-top { display:none; } }

/* V1.34 SEO: regionale Kontextblöcke + optionale Hochzeitsstationen */
.seo-region-strip{padding:2.4rem 0;background:#f4efe7;border-top:1px solid rgba(52,35,30,.08);border-bottom:1px solid rgba(52,35,30,.08)}
.seo-region-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(1.4rem,4vw,4rem);align-items:start}
.seo-region-grid h2{font-size:clamp(1.8rem,2.6vw,2.65rem);margin:.25rem 0 0}
.seo-region-grid p{margin-top:0;line-height:1.75}
.wedding-step-optional{background:rgba(140,112,66,.08);border-left:3px solid rgba(140,112,66,.7)}
.wedding-step-optional>span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;min-width:5.6rem}
@media(max-width:760px){.seo-region-grid{grid-template-columns:1fr}.seo-region-strip{padding:1.8rem 0}.seo-region-grid h2{font-size:clamp(1.55rem,7vw,2rem)}}
