/*
 * Unterseiten-Designsystem (Speisekarte, Getränkekarte, Saisonales, Unser
 * Haus, Besuch). Wird nur auf diesen fünf Seiten geladen (siehe
 * paddenwirt_subpage_key() in functions.php); Impressum, Datenschutz und
 * andere Seiten bleiben unberührt. Übernimmt die Gestaltung der Startseite
 * (home.css bleibt ausschließlich für die Startseite).
 *
 * !important steht nur dort, wo WordPress selbst Palettenklassen
 * (.has-*-background-color / -color) oder Inline-Abstände per !important
 * setzt und die Regel sonst nicht gewinnen kann.
 */
body.pw-subpage {
  --pw-green: #25382F;
  --pw-green-deep: #1C2B24;
  --pw-ivory: #F4EEDF;
  --pw-parchment: #EFE5CC;
  --pw-paper: #FBF7EC;
  --pw-brass: #B18A4A;
  --pw-brass-dark: #7A5A24;
  --pw-brass-light: #CAAF81;
  --pw-coal: #272521;
  --pw-line: #DED8CC;
  --pw-hand: "Bradley Hand", "Segoe Print", cursive;
  --pw-serif: Georgia, "Times New Roman", serif;
  --pw-wide: 1200px;
  --wp--style--global--content-size: 760px;
  --wp--style--global--wide-size: 1200px;
}
body.pw-page-unser-haus { --pw-wide: 820px; --wp--style--global--content-size: 820px; --wp--style--global--wide-size: 820px; }

.pw-subpage main.wp-block-group { padding-top: 0 !important; padding-bottom: 2.5rem !important; }
.pw-page-speisekarte main.wp-block-group,
.pw-page-besuch main.wp-block-group { padding-bottom: 0 !important; }
.pw-subpage .entry-content { max-width: var(--pw-wide); margin-top: 0; }

/* ---------- Page-Hero ---------- */
.pw-subpage .pw-page-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%);
  background: var(--pw-parchment);
  box-sizing: border-box;
  padding: 1.75rem clamp(1rem, 4vw, 3rem) 0.25rem;
}
.pw-subpage .pw-page-hero__inner { max-width: var(--pw-wide); margin-inline: auto; }
.pw-subpage .pw-page-hero .pw-eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pw-brass-dark);
}
.pw-subpage .pw-page-hero .wp-block-post-title {
  margin: 0;
  font-family: var(--pw-serif);
  font-size: clamp(1.9rem, 2.6vw, 2.5rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
  color: var(--pw-green);
}

/* Erstes Band direkt unter den Hero (kein Blockabstand) */
.pw-subpage .entry-content > .paddenwirt-full-bleed:has(> .paddenwirt-speisekarte-intro) { margin-top: 0; }

/* Bereits im Inhalt vorhandener Intro-Block (Speise-/Getränkekarte) heller, Teil des Heros */
.pw-subpage .paddenwirt-full-bleed:has(> .paddenwirt-speisekarte-intro) { background: var(--pw-parchment); }
.pw-subpage .paddenwirt-speisekarte-intro {
  background: var(--pw-parchment) !important;
  color: var(--pw-coal) !important;
  padding: 0.25rem max(clamp(1rem, 4vw, 3rem), calc((100% - var(--pw-wide)) / 2)) 1.5rem !important;
  border-bottom: 1px solid var(--pw-line);
}
.pw-subpage .paddenwirt-full-bleed > .paddenwirt-speisekarte-intro > * { max-width: none; margin-inline: 0; }
.pw-subpage .paddenwirt-speisekarte-intro .paddenwirt-eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pw-brass-dark);
}
.pw-subpage .paddenwirt-full-bleed > .paddenwirt-speisekarte-intro > p:not(.paddenwirt-eyebrow) { max-width: 72ch; margin-block: 0; font-size: 1.05rem; line-height: 1.6; }

/* ---------- Schnellwahl ---------- */
.pw-subpage .paddenwirt-sprungnav,
.pw-subpage .paddenwirt-menu-nav {
  max-width: var(--pw-wide);
  margin: 1.5rem auto 1.75rem;
  padding: 0;
}
.pw-subpage .paddenwirt-sprungnav { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pw-subpage .paddenwirt-menu-nav__list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.pw-subpage .paddenwirt-menu-nav__item { flex: 0 0 auto; width: auto; margin: 0; }
.pw-subpage .paddenwirt-sprungnav a,
.pw-subpage .paddenwirt-menu-nav__link {
  min-height: 44px;
  padding: 0.35rem 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.92rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  color: var(--pw-green);
  background: var(--pw-paper);
  border: 1px solid var(--pw-line);
  border-radius: 2px;
  box-shadow: none;
}
.pw-subpage .paddenwirt-sprungnav a:hover,
.pw-subpage .paddenwirt-menu-nav__link:hover,
.pw-subpage .paddenwirt-sprungnav a:focus-visible,
.pw-subpage .paddenwirt-menu-nav__link:focus-visible {
  border-color: var(--pw-brass);
  background: var(--pw-parchment);
  color: var(--pw-green);
}

/* ---------- Karten (Plugin-Ausgabe .paddenwirt-menu) ---------- */
.pw-subpage .paddenwirt-menu { max-width: var(--pw-wide); margin-inline: auto; }
.pw-subpage .paddenwirt-menu__category {
  margin: 0 0 2rem;
  padding: 1.75rem 0 0;
  border: 0;
  border-top: 1px solid var(--pw-brass);
  background: none;
}
.pw-subpage .paddenwirt-menu__category > h2 {
  margin: 0 0 0.25rem;
  font-family: var(--pw-serif);
  font-size: clamp(1.45rem, 1.9vw, 1.8rem);
  font-weight: 400;
  letter-spacing: 0;
  color: var(--pw-green);
}
.pw-subpage .paddenwirt-menu__category-description {
  margin: 0 0 1.1rem;
  font-style: italic;
  color: var(--pw-brass-dark);
}
.pw-subpage .paddenwirt-menu__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 3rem;
}
.pw-subpage .paddenwirt-menu__item {
  margin: 0;
  padding: 0.85rem 0;
  border: 0;
  border-bottom: 1px solid var(--pw-line);
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.pw-subpage .paddenwirt-menu__item-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}
.pw-subpage .paddenwirt-menu__item h3 {
  margin: 0;
  font-family: var(--pw-serif);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--pw-green);
}
.pw-subpage .paddenwirt-menu__price {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--pw-coal);
  white-space: nowrap;
}
.pw-subpage .paddenwirt-menu__item p { margin: 0.25rem 0 0; font-size: 0.95rem; line-height: 1.5; color: #4a463f; }
.pw-subpage .paddenwirt-menu__labels { margin: 0.4rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; list-style: none; }
.pw-subpage .paddenwirt-menu__label {
  padding: 0.05rem 0.5rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pw-brass-dark);
  background: none;
  border: 1px solid var(--pw-brass-light);
  border-radius: 2px;
}
.pw-subpage .paddenwirt-menu__legal { font-size: 0.85rem; color: #4a463f; }

/* ---------- Signature-Gerichte ---------- */
.pw-subpage .paddenwirt-signatures {
  margin: 0 0 2rem;
  padding: 1.5rem 1.75rem 1.75rem;
  background: var(--pw-paper);
  border: 1px solid var(--pw-line);
  border-top: 3px solid var(--pw-brass);
  border-radius: 2px;
  box-shadow: none;
}
.pw-subpage .paddenwirt-signatures > h2 {
  margin: 0 0 1rem;
  font-family: var(--pw-serif);
  font-size: clamp(1.4rem, 1.8vw, 1.7rem);
  font-weight: 400;
  letter-spacing: 0;
  color: var(--pw-green);
}
.pw-subpage .paddenwirt-signatures__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.pw-subpage .paddenwirt-signature {
  padding: 0 1.5rem;
  border: 0;
  border-left: 1px solid var(--pw-line);
  border-radius: 0;
  background: none;
  box-shadow: none;
  display: flex;
  flex-direction: column;
}
.pw-subpage .paddenwirt-signature:first-child { padding-left: 0; border-left: 0; }
.pw-subpage .paddenwirt-signature:last-child { padding-right: 0; }
.pw-subpage .paddenwirt-signature p { margin: 0; }
.pw-subpage .paddenwirt-signature__role {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pw-brass-dark);
}
.pw-subpage .paddenwirt-signature__name { margin: 0.2rem 0 0.4rem; font-family: var(--pw-serif); font-size: 1.3rem; font-weight: 700; letter-spacing: 0; color: var(--pw-green); }
.pw-subpage .paddenwirt-signature__description { font-size: 0.95rem; line-height: 1.5; }
.pw-subpage .paddenwirt-signature__text { margin-top: 0.4rem !important; font-size: 0.9rem; line-height: 1.5; color: #4a463f; }
.pw-subpage .paddenwirt-signature__price { margin-top: auto !important; padding-top: 0.6rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--pw-coal); }

/* ---------- Statement / Zwischenblock (grün, wie Startseite) ---------- */
.pw-subpage .paddenwirt-menu__interlude--green,
.pw-subpage .paddenwirt-interlude--green {
  background: var(--pw-green);
  color: var(--pw-ivory);
  text-align: center;
  padding: 1.75rem 1rem;
  border: 0;
}
.pw-subpage .paddenwirt-menu__interlude--green .paddenwirt-menu__interlude-title,
.pw-subpage .paddenwirt-interlude--green .paddenwirt-menu__interlude-title {
  margin: 0;
  font-family: var(--pw-serif);
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  font-weight: 400;
  letter-spacing: 0;
  color: var(--pw-brass-light);
}
.pw-subpage .paddenwirt-menu__interlude--green .paddenwirt-menu__interlude-text {
  max-width: 62ch;
  margin: 0.5rem auto 0;
  font-size: 0.95rem;
  color: var(--pw-ivory);
}

/* ---------- Abschluss-Bänder und Buttons ---------- */
.pw-subpage .paddenwirt-speisekarte-abschluss,
.pw-subpage .paddenwirt-besuch-abschluss {
  background: var(--pw-green) !important;
  color: var(--pw-ivory) !important;
  text-align: center;
  padding-block: 2rem !important;
}
.pw-subpage .paddenwirt-speisekarte-abschluss h2,
.pw-subpage .paddenwirt-besuch-abschluss h2 {
  font-family: var(--pw-serif);
  font-size: clamp(1.4rem, 2vw, 1.8rem);
  font-weight: 400;
  letter-spacing: 0;
  color: var(--pw-brass-light);
}
.pw-subpage .paddenwirt-speisekarte-abschluss .wp-block-buttons,
.pw-subpage .paddenwirt-besuch-abschluss .wp-block-buttons { justify-content: center; }
.pw-subpage .wp-block-button__link {
  border-radius: 3px;
  font-weight: 600;
  text-decoration: none;
  background: var(--pw-green);
  color: var(--pw-ivory);
  border: 1px solid var(--pw-green);
}
.pw-subpage .wp-block-button__link:hover,
.pw-subpage .wp-block-button__link:focus-visible { background: var(--pw-green-deep); color: var(--pw-brass-light); }
.pw-subpage .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--pw-green); border-color: var(--pw-green); }
.pw-subpage .wp-block-button.is-style-outline .wp-block-button__link:hover,
.pw-subpage .wp-block-button.is-style-outline .wp-block-button__link:focus-visible { background: var(--pw-green); color: var(--pw-ivory); }
.pw-subpage .paddenwirt-speisekarte-abschluss .wp-block-button__link,
.pw-subpage .paddenwirt-besuch-abschluss .wp-block-button__link { background: var(--pw-brass); border-color: var(--pw-brass); color: var(--pw-coal); }
.pw-subpage .paddenwirt-speisekarte-abschluss .wp-block-button__link:hover,
.pw-subpage .paddenwirt-besuch-abschluss .wp-block-button__link:hover { background: var(--pw-brass-light); border-color: var(--pw-brass-light); color: var(--pw-coal); }
.pw-subpage .paddenwirt-speisekarte-abschluss .is-style-outline .wp-block-button__link,
.pw-subpage .paddenwirt-besuch-abschluss .is-style-outline .wp-block-button__link { background: transparent; border-color: var(--pw-brass-light); color: var(--pw-ivory); }
.pw-subpage .paddenwirt-speisekarte-abschluss .is-style-outline .wp-block-button__link:hover,
.pw-subpage .paddenwirt-besuch-abschluss .is-style-outline .wp-block-button__link:hover { background: var(--pw-ivory); border-color: var(--pw-ivory); color: var(--pw-green); }

.pw-subpage .paddenwirt-back-to-top { color: var(--pw-green); }

/* ---------- Saisonales (Notion-Klasse paddenwirt-season--autumn, Senfeier-Motiv) ---------- */
.pw-subpage .paddenwirt-season--autumn {
  --paddenwirt-autumn-oxblood: var(--pw-green);
  background: var(--pw-paper);
  border: 1px solid var(--pw-line);
  border-top: 3px solid var(--pw-brass);
  border-radius: 2px;
  box-shadow: none;
}
.pw-subpage .paddenwirt-season--autumn::after { display: none; }
.pw-subpage .paddenwirt-season--autumn :where(h2, h3, .wp-block-heading) { font-family: var(--pw-serif); font-weight: 400; letter-spacing: 0; }
.pw-subpage .paddenwirt-menu__interlude--image {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  align-items: stretch;
  gap: 2rem;
  padding: 0;
  margin: 0 0 2rem;
  overflow: hidden;
}
.pw-subpage .paddenwirt-menu__interlude--image .paddenwirt-menu__interlude-content { align-self: center; padding: 1.75rem 0 1.75rem 2rem; }
.pw-subpage .paddenwirt-menu__interlude--image .paddenwirt-menu__interlude-title { margin: 0 0 0.5rem; font-size: clamp(1.4rem, 2vw, 1.8rem); }
.pw-subpage .paddenwirt-menu__interlude--image .paddenwirt-menu__interlude-text { margin: 0; line-height: 1.6; }
.pw-subpage .paddenwirt-menu__interlude--image::before {
  content: "";
  grid-column: 2;
  grid-row: 1;
  min-height: 210px;
  background: url("../images/home/senfeier.webp") center / cover no-repeat;
}
.pw-subpage .paddenwirt-menu__interlude--image .paddenwirt-menu__interlude-content { grid-column: 1; grid-row: 1; }
.pw-page-saisonales .paddenwirt-menu { padding-top: 1.75rem; }

/* ---------- Unser Haus (erzählende Seite, Inhalt aus dem Editor) ---------- */
.pw-page-unser-haus .entry-content { padding-top: 1.75rem; font-size: 1.02rem; line-height: 1.7; }
.pw-page-unser-haus .entry-content > h2 {
  margin: 0 0 1rem;
  font-family: var(--pw-serif);
  font-size: clamp(1.5rem, 2vw, 1.85rem);
  font-weight: 400;
  letter-spacing: 0;
  color: var(--pw-green);
}
.pw-page-unser-haus .entry-content > h3 {
  margin: 2.5rem 0 0.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--pw-brass);
  font-family: var(--pw-serif);
  font-size: clamp(1.25rem, 1.6vw, 1.5rem);
  font-weight: 400;
  letter-spacing: 0;
  color: var(--pw-green);
  clear: both;
}
.pw-page-unser-haus .entry-content > p { margin-block: 0 1rem; }
.pw-page-unser-haus .wp-block-image img,
.pw-page-unser-haus .wp-block-column img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  border: 1px solid var(--pw-line);
  border-radius: 2px;
}
.pw-page-unser-haus .entry-content > figure.wp-block-image:not(.alignleft):not(.alignright) { margin: 1.25rem 0 1.5rem; }
.pw-page-unser-haus .entry-content > figure.wp-block-image:not(.alignleft):not(.alignright) img { max-height: 340px; object-fit: cover; object-position: center 25%; }
.pw-page-unser-haus .wp-block-image.alignleft,
.pw-page-unser-haus .wp-block-image.alignright { width: 38%; margin-block: 0.25rem 1rem; }
.pw-page-unser-haus .wp-block-image.alignleft { margin-right: 1.75rem; }
.pw-page-unser-haus .wp-block-image.alignright { margin-left: 1.75rem; }
.pw-page-unser-haus .wp-block-image figcaption {
  margin: 0.35rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  font-style: italic;
  color: var(--pw-brass-dark);
  text-align: left;
}
.pw-page-unser-haus .wp-block-columns { gap: 2rem; margin-block: 1.25rem; align-items: center; }
.pw-page-unser-haus .wp-block-column img { max-height: 280px; object-fit: cover; }
.pw-page-unser-haus .wp-block-column p { margin-block: 0 0.75rem; }

/* ---------- Besuch / Reservierung ---------- */
.pw-page-besuch .entry-content { padding-top: 1.75rem; }
.pw-page-besuch .entry-content h2.wp-block-heading,
.pw-page-besuch .paddenwirt-infobox .wp-block-heading {
  font-family: var(--pw-serif);
  font-weight: 400;
  letter-spacing: 0;
  color: var(--pw-green);
}
.pw-page-besuch .paddenwirt-section { border-top: 0; }
.pw-page-besuch .paddenwirt-section > h2.wp-block-heading { font-size: clamp(1.45rem, 1.9vw, 1.8rem); margin-bottom: 0.5rem; }
.pw-page-besuch .wp-block-image img {
  max-width: none;
  display: block;
  width: 100%;
  max-height: 320px;
  object-fit: cover;
  object-position: center 40%;
  border: 1px solid var(--pw-line);
  border-radius: 2px;
}
.pw-page-besuch .wp-block-image figcaption { margin-top: 0.35rem; font-size: 0.82rem; font-style: italic; color: var(--pw-brass-dark); text-align: left; }
.pw-page-besuch .paddenwirt-info-columns { gap: 1.5rem; margin-block: 1.5rem; }
.pw-subpage .paddenwirt-infobox {
  background: var(--pw-paper);
  border: 1px solid var(--pw-line);
  border-top: 3px solid var(--pw-brass);
  border-radius: 2px;
  box-shadow: none;
}
.pw-subpage .paddenwirt-infobox .wp-block-heading { margin-top: 0; font-size: 1.25rem; }
.pw-subpage .paddenwirt-infobox a:not(.wp-block-button__link) { color: var(--pw-green); font-weight: 600; text-underline-offset: 3px; }

/* Reservierungsbereich: hell statt grüner Rahmen; Formularlogik und Plugin-Markup unverändert */
.pw-subpage .paddenwirt-reservierung-section {
  background: var(--pw-parchment) !important;
  color: var(--pw-coal) !important;
  border: 1px solid var(--pw-line);
  border-top: 3px solid var(--pw-brass);
  border-radius: 2px;
}
.pw-subpage .paddenwirt-reservierung-formular {
  background: var(--pw-paper) !important;
  color: var(--pw-coal) !important;
  border: 1px solid var(--pw-line);
  border-radius: 2px;
}
.pw-subpage .paddenwirt-res { color: var(--pw-coal); }
.pw-subpage .paddenwirt-res__heading { font-family: var(--pw-serif); font-weight: 400; letter-spacing: 0; color: var(--pw-green); }
.pw-subpage .paddenwirt-res__intro,
.pw-subpage .paddenwirt-res__phone-note,
.pw-subpage .paddenwirt-res__hint { color: var(--pw-coal); }
.pw-subpage .paddenwirt-res a:not(.paddenwirt-res__button) { color: var(--pw-green); font-weight: 600; }
.pw-subpage .paddenwirt-res__required { color: var(--pw-brass-dark); }
.pw-subpage .paddenwirt-res__field--privacy input[type="checkbox"] { accent-color: var(--pw-green); }
.pw-subpage .paddenwirt-res input:not([type="checkbox"]),
.pw-subpage .paddenwirt-res select,
.pw-subpage .paddenwirt-res textarea { border-color: #b9b19f; border-radius: 2px; }
.pw-subpage .paddenwirt-res__button {
  background-color: var(--pw-green);
  border-color: var(--pw-green);
  color: var(--pw-ivory);
  border-radius: 3px;
}
.pw-subpage .paddenwirt-res__button:hover,
.pw-subpage .paddenwirt-res__button:focus-visible { background-color: var(--pw-green-deep); border-color: var(--pw-green-deep); color: var(--pw-brass-light); }
.pw-page-besuch .paddenwirt-section > figure.wp-block-image { display: block; width: 100%; max-width: 640px; margin-inline: 0; }
.pw-page-besuch .entry-content > .paddenwirt-section { max-width: var(--pw-wide); }
.pw-page-besuch .paddenwirt-besuch-abschluss h2.wp-block-heading { color: var(--pw-brass-light); }
/* Seiten, die mit einem grünen Band enden, schließen direkt an den Footer an */
.pw-page-speisekarte .wp-site-blocks > footer,
.pw-page-besuch .wp-site-blocks > footer { margin-top: 0; }

/* ======================================================================
 * Feinschliff Desktop (0.11.1)
 * ==================================================================== */

/* ---------- Getränkekarte: zwei Spalten, kompakte Schnellnavigation, ruhige Preise ---------- */
.pw-subpage .paddenwirt-menu[data-menu="getraenkekarte"] .paddenwirt-menu__items {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 3rem;
}
.pw-subpage .paddenwirt-menu-nav__list { gap: 0.4rem; }
.pw-subpage .paddenwirt-menu-nav__link { padding: 0.3rem 0.8rem; font-size: 0.88rem; }
.pw-subpage .paddenwirt-menu__item-heading { display: flex; align-items: baseline; gap: 0.5rem 1rem; }
.pw-subpage .paddenwirt-menu__item-heading h3 { flex: 1 1 0; min-width: 0; overflow-wrap: break-word; hyphens: auto; }
.pw-subpage .paddenwirt-menu__price { flex: 0 0 auto; max-width: 16rem; text-align: right; }

/* ---------- Saisonales: Senfeier als erster Schwerpunkt ---------- */
.pw-page-saisonales .paddenwirt-menu__category .paddenwirt-menu__item:first-child {
  padding-inline: 1rem;
  background: var(--pw-paper);
  border-left: 3px solid var(--pw-brass);
}
.pw-page-saisonales .paddenwirt-menu__category .paddenwirt-menu__item:first-child h3 { font-size: 1.2rem; }

/* ---------- Unser Haus: Bilder normalisieren, Kapitel gliedern ---------- */
.pw-page-unser-haus .entry-content > figure.wp-block-image:not(.alignleft):not(.alignright) img {
  aspect-ratio: 9 / 4;
  height: auto;
  max-height: none;
  object-fit: cover;
  object-position: center 12%;
}
.pw-page-unser-haus .wp-block-image.alignleft img,
.pw-page-unser-haus .wp-block-image.alignright img,
.pw-page-unser-haus .wp-block-column img {
  aspect-ratio: 4 / 3;
  height: auto;
  max-height: none;
  object-fit: cover;
}
.pw-page-unser-haus .wp-block-image figcaption { padding-top: 0.25rem; border-top: 1px solid var(--pw-line); }
.pw-page-unser-haus .entry-content > h3 {
  position: relative;
  margin-top: 3rem;
  border-top-color: var(--pw-line);
}
.pw-page-unser-haus .entry-content > h3::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 3.5rem;
  height: 3px;
  background: var(--pw-brass);
}

/* ---------- Besuch: ruhigeres Eingangsfoto, kompaktes Formular ---------- */
.pw-page-besuch .paddenwirt-section > figure.wp-block-image { max-width: 760px; }
.pw-page-besuch .paddenwirt-section > figure.wp-block-image img { aspect-ratio: 21 / 8; height: auto; max-height: none; object-position: center 35%; }
@media (min-width: 900px) {
  .pw-subpage .paddenwirt-res { max-width: 56rem; }
  .pw-subpage .paddenwirt-res__intro { max-width: 60ch; }
  .pw-subpage .paddenwirt-res__form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem 1.25rem;
  }
  .pw-subpage .paddenwirt-res__row {
    grid-column: span 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
  .pw-subpage .paddenwirt-res__field--message,
  .pw-subpage .paddenwirt-res__field--privacy,
  .pw-subpage .paddenwirt-res__hint,
  .pw-subpage .paddenwirt-res__submit,
  .pw-subpage .paddenwirt-res__status { grid-column: 1 / -1; }
  .pw-subpage .paddenwirt-res textarea { min-height: 5rem; }
}
.pw-page-unser-haus .entry-content > figure.wp-block-image:not(.alignleft):not(.alignright) { display: block; width: 100%; max-width: none; margin-inline: 0; }
.pw-page-unser-haus .entry-content > figure.wp-block-image:not(.alignleft):not(.alignright) img { max-width: none; }
/* Bild-Spalten einheitlich (Editor setzt unterschiedliche flex-basis per Inline-Style) */
.pw-page-unser-haus .wp-block-columns > .wp-block-column:has(img) { flex: 0 0 40% !important; min-width: 0; }
.pw-page-unser-haus .wp-block-columns > .wp-block-column:not(:has(img)) { flex: 1 1 0 !important; min-width: 0; }
/* Alte Editor-Bilder tragen Inline-Höhen und 12px-Radien; hier vereinheitlicht */
.pw-page-unser-haus .wp-block-image img,
.pw-page-besuch .wp-block-image img { border-radius: 2px !important; }
.pw-page-unser-haus .wp-block-column img { height: auto !important; object-position: center 30% !important; }

/* Lange, mehrteilige Preise (Wein): umbrechen statt überlaufen; Einzeleinträge über volle Breite */
.pw-subpage .paddenwirt-menu__item-heading { flex-wrap: wrap; }
.pw-subpage .paddenwirt-menu__item-heading h3 { flex: 1 1 11rem; hyphens: manual; }
.pw-subpage .paddenwirt-menu__price { flex: 0 1 auto; margin-left: auto; max-width: 100%; white-space: nowrap; }
.pw-subpage .paddenwirt-menu__items > .paddenwirt-menu__item:only-child { grid-column: 1 / -1; }

/* ---------- Tablet und Mobil ---------- */
@media (max-width: 1100px) {
  .pw-page-getraenkekarte .paddenwirt-menu__price {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.45;
    text-align: right;
  }
}

@media (max-width: 599px) {
  .pw-subpage .paddenwirt-menu__items,
  .pw-subpage .paddenwirt-signatures__grid,
  .pw-subpage .paddenwirt-menu[data-menu="getraenkekarte"] .paddenwirt-menu__items {
    grid-template-columns: 1fr;
  }

  .pw-subpage .paddenwirt-menu__items { gap: 0; }

  .pw-subpage .paddenwirt-signatures { padding: 1.25rem; }
  .pw-subpage .paddenwirt-signature,
  .pw-subpage .paddenwirt-signature:first-child,
  .pw-subpage .paddenwirt-signature:last-child {
    padding: 1rem 0;
    border-left: 0;
  }
  .pw-subpage .paddenwirt-signature + .paddenwirt-signature {
    border-top: 1px solid var(--pw-line);
  }

  .pw-page-unser-haus .wp-block-columns {
    flex-direction: column;
    flex-wrap: nowrap !important;
  }
  .pw-page-unser-haus .wp-block-columns > .wp-block-column:has(img),
  .pw-page-unser-haus .wp-block-columns > .wp-block-column:not(:has(img)) {
    flex: 0 0 auto !important;
    width: 100%;
  }
}
