/* Gemeinsames Grunddesign; bestehende Zimmercodes und neue Unterseiten. */
/* Gemeinsames Seitendesign für Haupthaus, Residenz, Landhaus und Rosenhof. */
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) {background:#fffef9;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-technical, .bwh-seite-technical).vc_row {margin:0!important;padding:0!important;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-technical, .bwh-seite-technical) > .wpb_column > .vc_column-inner > .wpb_wrapper > .wpb_raw_code {margin:0!important;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(:is(.bwh-zimmer-technical, .bwh-seite-technical),:is(.bwh-zimmer-section, .bwh-seite-section)) > .wpb_column > .vc_column-inner > .wpb_wrapper > br {display:none;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) {box-sizing:border-box;background:#fffef9;color:#344033;font:400 18px/1.6 BWHKarla,Karla,Arial,sans-serif;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section).vc_row {width:calc(100% - 48px)!important;max-width:1120px!important;left:auto!important;margin:0 auto!important;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) * {box-sizing:border-box;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) > .wpb_column > .vc_column-inner {padding:0;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) .wpb_content_element {margin:0;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) :is(h1,h2,h3) {font-family:BWHBrush,'Caveat Brush',cursive!important;font-weight:400;line-height:1.08;letter-spacing:0;text-transform:none;color:#789800;text-wrap:balance;margin:0 0 18px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) h1 {font-size:clamp(42px,4.5vw,65px);}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) h2 {font-size:clamp(36px,3.3vw,49px);}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) h3 {font-size:32px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) p {margin:0 0 15px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) p:last-child {margin-bottom:0;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section) a {color:#476f24;text-underline-offset:3px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-intro, .bwh-seite-intro) {position:relative;isolation:isolate;text-align:center;padding:34px 0 34px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-intro, .bwh-seite-intro) > .wpb_column {position:static;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-intro-copy, .bwh-seite-intro-copy) {max-width:930px;margin:auto;padding:0 18px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-intro-copy, .bwh-seite-intro-copy) p {max-width:750px;margin:0 auto;font-size:19px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-note, .bwh-seite-note) {position:absolute;top:46px;width:125px;padding:22px 10px;font:400 26px/1.12 BWHBrush,'Caveat Brush',cursive;color:#758e4b;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-note, .bwh-seite-note)::before {content:"";position:absolute;inset:0;z-index:-1;background:#edf1df;border-radius:47% 53% 63% 37% / 56% 38% 62% 44%;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-note-left, .bwh-seite-note-left) {left:0;transform:rotate(-8deg);}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-note-right, .bwh-seite-note-right) {right:0;transform:rotate(7deg);}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero, .bwh-seite-hero) {display:flex;flex-wrap:wrap;align-items:center;background:#edf1df;border-radius:24px;overflow:hidden;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image) .vc_figure,body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image) .vc_single_image-wrapper {display:block;width:100%;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image) img {display:block;width:100%;height:auto;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero-copy, .bwh-seite-hero-copy) > .vc_column-inner {padding:30px!important;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero-copy, .bwh-seite-hero-copy) h2 {font-size:clamp(36px,3vw,46px);}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-signature, .bwh-seite-signature) {font-family:BWHBrush,'Caveat Brush',cursive;font-size:29px;color:#758e4b;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-history-head, .bwh-seite-history-head) {padding:46px 0 24px;text-align:center;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-history-head, .bwh-seite-history-head) p {max-width:760px;margin:auto;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-history, .bwh-seite-history) {display:flex;flex-wrap:wrap;align-items:center;padding:0 0 36px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-history-photo, .bwh-seite-history-photo) {padding-right:28px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-history-photo, .bwh-seite-history-photo) img {border-radius:24px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-history-copy, .bwh-seite-history-copy) > .vc_column-inner {padding:28px!important;background:#fff;border:1px solid #e9ecdf;border-radius:24px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-small-title, .bwh-seite-small-title) {font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#627d00;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-values, .bwh-seite-values) {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 0 38px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-values, .bwh-seite-values)::before,body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-values, .bwh-seite-values)::after {display:none;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-values, .bwh-seite-values) > .wpb_column {width:auto!important;float:none;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-values, .bwh-seite-values) > .wpb_column > .vc_column-inner {padding:26px!important;border-radius:22px;background:#f1f3e6;height:100%;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-values, .bwh-seite-values) > .wpb_column:nth-child(2) > .vc_column-inner {background:#fff3cc;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-values, .bwh-seite-values) > .wpb_column:nth-child(3) > .vc_column-inner {background:#e5eeeb;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-values, .bwh-seite-values) p {font-size:17px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-cta, .bwh-seite-cta) {text-align:center;padding:0 0 46px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-cta, .bwh-seite-cta) > .wpb_column > .vc_column-inner {padding:32px 24px;background:#edf1df;border-radius:24px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-actions, .bwh-seite-actions) {display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-actions, .bwh-seite-actions) a {display:inline-block;padding:13px 24px;background:#789800;border-radius:12px;font-weight:700;text-decoration:none;color:#fff;font-size:19px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-actions, .bwh-seite-actions) a + a {background:#ffdc63;color:#253620;border:1px solid #ffdc63;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-actions, .bwh-seite-actions) a:hover {background:#627d00;color:#fff;} body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-actions, .bwh-seite-actions) a + a:hover {background:#f2ca43;color:#253620;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-actions, .bwh-seite-actions) a:focus-visible {outline:3px solid #476f24;outline-offset:4px;}
@media(max-width:1200px){body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-note, .bwh-seite-note){display:none;}}
@media(max-width:767px){body:has(:is(.bwh-zimmer-section, .bwh-seite-section)){}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-section, .bwh-seite-section).vc_row{width:calc(100% - 24px)!important;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-intro, .bwh-seite-intro){padding:24px 0 26px;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-intro, .bwh-seite-intro) h1{font-size:43px;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-intro-copy, .bwh-seite-intro-copy) p{font-size:17px;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero, .bwh-seite-hero) > .wpb_column,body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-history, .bwh-seite-history) > .wpb_column{width:100%;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero-copy, .bwh-seite-hero-copy) > .vc_column-inner{padding:24px!important;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-history-head, .bwh-seite-history-head){padding-top:34px;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-history-photo, .bwh-seite-history-photo){padding:0 0 20px;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-history-copy, .bwh-seite-history-copy) > .vc_column-inner{padding:24px!important;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-values, .bwh-seite-values){grid-template-columns:1fr;gap:14px;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-cta, .bwh-seite-cta){padding-bottom:32px;}}
@media(max-width:360px){body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-intro, .bwh-seite-intro) h1{font-size:38px;}}

body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-intro-copy, .bwh-seite-intro-copy) {max-width:820px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-note, .bwh-seite-note) {width:140px;height:140px;padding:25px;font-size:21px;line-height:1.15;display:flex;align-items:center;justify-content:center;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-note, .bwh-seite-note)::before {border-radius:50%;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-note, .bwh-seite-note) span {display:block;max-width:100%;white-space:nowrap;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-lead, .bwh-seite-lead) {font-size:24px;line-height:1.4;font-weight:700;color:#344033;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-features, .bwh-seite-features) {display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 0;padding:0;list-style:none;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-features, .bwh-seite-features) li {font-size:14px;line-height:1.4;background:#fffef9;padding:8px 12px;border-radius:20px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero-copy, .bwh-seite-hero-copy) :is(.bwh-zimmer-actions, .bwh-seite-actions) {justify-content:flex-start;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-rooms, .bwh-seite-rooms) {padding:0 0 40px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-rooms, .bwh-seite-rooms) > .wpb_column > .vc_column-inner {padding:24px;background:#fff;border:1px solid #e9ecdf;border-radius:24px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-rooms, .bwh-seite-rooms) .wpb_raw_code {margin:0;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-more-houses, .bwh-seite-more-houses) {padding:0 0 36px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-house-links, .bwh-seite-house-links) {display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-house-links, .bwh-seite-house-links) a {padding:10px 18px;border-radius:12px;background:#edf1df;color:#344033;text-decoration:none;font-weight:700;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-house-links, .bwh-seite-house-links) a:hover {background:#dce6c5;}
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-house-links, .bwh-seite-house-links) a:focus-visible {outline:3px solid #476f24;outline-offset:4px;}
@media(max-width:1200px){body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-note, .bwh-seite-note){display:none;}}
@media(max-width:767px){body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-lead, .bwh-seite-lead){font-size:22px;}body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-rooms, .bwh-seite-rooms) > .wpb_column > .vc_column-inner{padding:14px;border-radius:18px;}}

/* Der Bildbereich füllt die Kartenhöhe; auf dem Handy steht er vor dem Text. */
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero, .bwh-seite-hero) { align-items: stretch; }
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image) img { object-fit: cover; object-position: center; }
body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image-top, .bwh-seite-image-top) img { object-position: center top; }
@media (min-width: 768px) {
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero, .bwh-seite-hero) { flex-wrap: nowrap; }
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero, .bwh-seite-hero) > :is(.bwh-zimmer-image-column, .bwh-seite-image-column) {
    position: relative;
    min-height: 420px;
    align-self: stretch;
  }
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero, .bwh-seite-hero) > :is(.bwh-zimmer-image-column, .bwh-seite-image-column) > .vc_column-inner {
    position: absolute;
    inset: 0;
    width: 100%;
    height: auto;
    padding: 0;
  }
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image-column, .bwh-seite-image-column) > .vc_column-inner > .wpb_wrapper,
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image),
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image) .vc_figure,
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image) .vc_single_image-wrapper,
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image) img {
    height: 100%;
    min-height: 0;
  }
}
@media (max-width: 767px) {
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-hero, .bwh-seite-hero) { flex-direction: column; }
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image-column, .bwh-seite-image-column) { min-height: 0; }
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image),
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image) .vc_figure { height: auto; min-height: 0; }
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image) .vc_single_image-wrapper {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }
  body:has(:is(.bwh-zimmer-section, .bwh-seite-section)) :is(.bwh-zimmer-image, .bwh-seite-image) img { position: absolute; inset: 0; width: 100%; height: 100%; }
}
