/* Weihnachtsmann & Engelchen · V5 · 26.10.2026
   Desktopgestaltung nach der bereitgestellten Referenz (1190 × 1322).
   Ergänzt den vollständigen V4-Bestand. Formular- und Theme-Logik bleiben erhalten.
   Die Vorlage benennt keine Schriftdateien. Für eine reproduzierbare Desktop-
   Typografie werden unveränderte Liberation-Schriften lokal mitgeliefert.
   Die bisherigen Google-Schriften und mobilen Typografieregeln bleiben erhalten. */
@font-face { font-family: 'WM Referenz Serif'; src: url('fonts-v5/LiberationSerif-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'WM Referenz Serif'; src: url('fonts-v5/LiberationSerif-Bold.ttf') format('truetype'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: 'WM Referenz Serif'; src: url('fonts-v5/LiberationSerif-Italic.ttf') format('truetype'); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: 'WM Referenz Sans'; src: url('fonts-v5/LiberationSans-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'WM Referenz Sans'; src: url('fonts-v5/LiberationSans-Bold.ttf') format('truetype'); font-style: normal; font-weight: 700; font-display: swap; }
:root {
  --wm-v5-paper: #fffdf8;
  --wm-v5-surface: #fffdf9;
  --wm-v5-wine: #83051b;
  --wm-v5-wine-hover: #a21530;
  --wm-v5-gold: #b78a48;
  --wm-v5-rule: #d4b581;
  --wm-v5-ink: #24242b;
  --wm-v5-muted: #625b57;
  --wm-v5-serif: 'WM Referenz Serif', Georgia, 'Times New Roman', serif;
  --wm-v5-sans: 'WM Referenz Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

/* The full former footer remains available through a native details control. */
body.theme-card .footer .wm-footer-reference {
  max-width: 1280px;
  width: 90.4%;
  margin: 0 auto;
  padding: 12px 0 4px;
  border-top: 1px solid var(--wm-v5-rule);
  text-align: center;
  position: relative;
}
body.theme-card .footer .wm-footer-reference .wm-footer-wordmark {
  display: inline-block;
  font: 600 17px/1 var(--wm-v5-serif) !important;
  letter-spacing: -.055em;
  text-decoration: none;
  color: var(--wm-v5-wine) !important;
}
body.theme-card .footer .wm-footer-wordmark em { color: var(--wm-v5-gold); font-weight: 400; }
body.theme-card .footer .wm-footer-region { display: block; font: 400 10px/1.5 var(--wm-v5-sans); }
body.theme-card .footer .wm-footer-shortlinks { display: flex; justify-content: center; gap: 8px; margin: 8px 0 0; }
body.theme-card .footer .wm-footer-shortlinks + .wm-footer-shortlinks { margin-top: 3px; }
body.theme-card .footer .wm-footer-shortlinks a { font: 400 10px/1.4 var(--wm-v5-sans); text-decoration: none; }
body.theme-card .footer .wm-footer-shortlinks a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.theme-card .footer .wm-footer-shortlinks a + a::before { content: '·'; display: inline-block; margin-right: 8px; color: var(--wm-v5-gold); }
body.theme-card .footer details.wm-footer-more { max-width: 1280px; width: 90.4%; margin: 4px auto 0; border: 0; border-radius: 0; background: transparent; }
body.theme-card .footer details.wm-footer-more > summary { width: fit-content; margin: auto; padding: 5px 8px; font: 400 10px/1.4 var(--wm-v5-sans); color: var(--wm-v5-muted); cursor: pointer; }
body.theme-card .footer details.wm-footer-more > .container { width: 100% !important; max-width: none !important; padding: 18px 0 0 !important; }
body.theme-card .footer .wm-footer-more .footer-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 24px !important; max-width: none !important; text-align: left !important; }
body.theme-card .footer .wm-footer-more .footer-panel { padding: 16px !important; border: 1px solid var(--wm-v5-rule) !important; border-radius: 8px !important; background: var(--wm-v5-surface) !important; box-shadow: none !important; }
body.theme-card .footer .wm-footer-more .footer-brand-head { justify-content: flex-start !important; }
body.theme-card .footer .wm-footer-more .brandline { font: 600 24px/1.1 var(--wm-v5-serif) !important; }
body.theme-card .footer .wm-footer-more .footer-brand-copy .tagline,
body.theme-card .footer .wm-footer-more .footer-contact-list,
body.theme-card .footer .wm-footer-more .footer-links-panel h3,
body.theme-card .footer .wm-footer-more .footer-note,
body.theme-card .footer .wm-footer-more .footer-bottom p:last-child { display: block !important; }
body.theme-card .footer .wm-footer-more .footer-contact-list { margin-top: 12px !important; }
body.theme-card .footer .wm-footer-more .footer-link-grid { display: flex !important; flex-wrap: wrap !important; justify-content: flex-start !important; gap: 8px 14px !important; }
body.theme-card .footer .wm-footer-more .footer-link-grid a { display: inline-block !important; padding: 4px 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; font: 400 13px/1.5 var(--wm-v5-sans) !important; }
body.theme-card .footer .wm-footer-more .footer-bottom { padding-top: 12px !important; }
body.theme-card .footer .wm-footer-more .footer-bottom p { font-size: 11px !important; }
body.theme-card .wm-hero-sweep { display: none; }

@media (min-width: 961px) {
  body.theme-card.wm-designed {
    --wm-ui-wine: var(--wm-v5-wine);
    --wm-ui-gold: var(--wm-v5-gold);
    --wm-ui-ink: var(--wm-v5-ink);
    --wm-ui-sand: var(--wm-v5-surface);
    --wm-ui-serif: var(--wm-v5-serif);
    --wm-ui-sans: var(--wm-v5-sans);
    --wm-burgundy: var(--wm-v5-wine);
    --wm-cream: var(--wm-v5-paper);
    --wm-ink: var(--wm-v5-ink);
    background: var(--wm-v5-paper) !important;
    background-image: none !important;
    color: var(--wm-v5-ink) !important;
    font: 400 16px/1.5 var(--wm-v5-sans) !important;
  }
  body.theme-card.wm-designed::before,
  body.theme-card.wm-designed::after,
  body.theme-card.wm-designed .snow { display: none !important; }
  body.theme-card.wm-designed h1,
  body.theme-card.wm-designed h2,
  body.theme-card.wm-designed h3,
  body.theme-card.wm-designed h4,
  body.theme-card.wm-designed .script-heading,
  body.theme-card.wm-designed .page-script-title {
    font-family: var(--wm-v5-serif) !important;
    font-weight: 400 !important;
    letter-spacing: -.035em !important;
    text-shadow: none !important;
    color: var(--wm-v5-wine) !important;
  }
  body.theme-card.wm-designed p { line-height: 1.5; }
  body.theme-card.wm-designed a { text-underline-offset: 3px; }

  /* A 55px, continuous header; the navigation shares the content alignment. */
  body.theme-card.wm-designed .header { background: var(--wm-v5-paper) !important; border-bottom: 1px solid var(--wm-v5-rule) !important; box-shadow: none !important; }
  body.theme-card.wm-designed .header > .container { width: 88% !important; max-width: 1280px !important; padding: 0 !important; }
  body.theme-card.wm-designed .header .nav { min-height: 55px !important; padding: 0 !important; gap: 18px !important; }
  body.theme-card.wm-designed .header .brand b { font: 400 27px/.78 var(--wm-v5-serif) !important; letter-spacing: -.055em !important; }
  body.theme-card.wm-designed .header .brand .wm-brand-bottom { padding-left: 10px !important; }
  body.theme-card.wm-designed .header .brand .wm-brand-bottom em { font-family: var(--wm-v5-serif) !important; font-weight: 400 !important; }
  body.theme-card.wm-designed .header .menu { display: flex !important; align-items: center; gap: 0 !important; }
  body.theme-card.wm-designed .header .header-controls { display: none !important; }
  body.theme-card.wm-designed .header .menu a:not(.cta) { font: 400 12px/1.25 var(--wm-v5-sans) !important; letter-spacing: 0 !important; padding: 0 21px !important; border: 0 !important; border-right: 1px solid var(--wm-v5-rule) !important; border-radius: 0 !important; background: transparent !important; }
  body.theme-card.wm-designed .header .menu a:nth-last-child(2) { border-right: 0 !important; }
  body.theme-card.wm-designed .header .menu a.wm-nav-cta { min-width: 164px !important; min-height: 32px !important; padding: 7px 17px !important; border-radius: 5px !important; box-shadow: none !important; font: 600 12px/1.3 var(--wm-v5-sans) !important; margin-left: 8px; }
  body.theme-card.wm-designed .header .menu a.wm-nav-cta::after { font-size: 20px; font-weight: 400; margin-left: 4px; }

  /* Shared desktop controls: red primary actions and fine gold outlines. */
  body.theme-card.wm-designed :is(a.btn, button.btn, button[type='submit'], input[type='submit'], a.wm-action, a.cta:not(.wm-nav-cta):not(.wm-mobile-primary), .wm-cta a) {
    min-height: 42px;
    padding: 10px 19px !important;
    border-radius: 6px !important;
    border: 1px solid var(--wm-v5-rule) !important;
    background: var(--wm-v5-surface) !important;
    color: var(--wm-v5-wine) !important;
    font: 600 14px/1.35 var(--wm-v5-sans) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
  }
  body.theme-card.wm-designed :is(a.btn.primary, button.btn.primary, button[type='submit'].primary, input[type='submit'].primary, a.wm-action) { background: var(--wm-v5-wine) !important; border-color: var(--wm-v5-wine) !important; color: #fff !important; }
  body.theme-card.wm-designed :is(a.btn.primary, button.btn.primary, button[type='submit'].primary, input[type='submit'].primary, a.wm-action):hover:not(:disabled) { background: var(--wm-v5-wine-hover) !important; border-color: var(--wm-v5-wine-hover) !important; color: #fff !important; }
  body.theme-card.wm-designed :is(a.btn, button.btn, .wm-action, .wm-nav-cta):hover:not(:disabled) { transform: translateY(-1px); }
  body.theme-card.wm-designed :is(input:not([type='hidden']):not([type='radio']):not([type='checkbox']), select, textarea) { border-color: var(--wm-v5-rule) !important; border-radius: 5px !important; background: var(--wm-v5-surface) !important; color: var(--wm-v5-ink) !important; font-family: var(--wm-v5-sans) !important; }
  body.theme-card.wm-designed :is(.card, .service-card, .booking-service-card, .contact-row, .request-form-shell) { border-color: var(--wm-v5-rule) !important; border-radius: 8px !important; box-shadow: none !important; background: var(--wm-v5-surface) !important; }
  body.theme-card.wm-designed :is(.card, .service-card, .booking-service-card):hover { transform: none !important; box-shadow: none !important; }
  body.theme-card.wm-designed :is(.badge, .kicker, .contact-eyebrow) { color: #87602e !important; }

  /* The homepage is one full-width composition, without the V4 card frame. */
  body.theme-card.wm-home .wm-landing {
    --wm-v5-hero-height: clamp(345px, 31.51vw, 455px);
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: 'head' 'trust' 'offers' 'story' 'cta' !important;
    gap: 0 !important;
  }
  body.theme-card.wm-home .wm-landing::before,
  body.theme-card.wm-home .wm-landing::after { display: none !important; }
  body.theme-card.wm-home .wm-hero-photo {
    grid-area: auto !important;
    position: absolute !important;
    inset: 0 0 auto !important;
    width: 100% !important;
    height: var(--wm-v5-hero-height) !important;
    min-height: 0 !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    background: #462014 !important;
    z-index: 0 !important;
  }
  body.theme-card.wm-home .wm-hero-photo img { position: absolute; right: 0; top: 0; width: 74% !important; max-width: none !important; height: 100% !important; object-fit: cover !important; object-position: center 30% !important; }
  body.theme-card.wm-home .wm-hero-photo::after,
  body.theme-card.wm-home .wm-hero-photo .wm-sparkle-left,
  body.theme-card.wm-home .wm-hero-photo .wm-sparkle-right { display: none !important; }
  body.theme-card.wm-home .wm-home-head {
    grid-area: head !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    height: var(--wm-v5-hero-height) !important;
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(34px, 3.45vw, 50px) 0 20px max(6vw, calc((100vw - 1280px) / 2)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    overflow: hidden !important;
  }
  body.theme-card.wm-home .wm-home-head::before { display: none !important; }
  body.theme-card.wm-home .wm-home-head .wm-hero-sweep { display: block; position: absolute !important; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; }
  body.theme-card.wm-home .wm-hero-sweep .wm-hero-paper { fill: var(--wm-v5-paper); }
  body.theme-card.wm-home .wm-hero-sweep .wm-hero-edge { fill: none; stroke: var(--wm-v5-gold); stroke-width: 1.3; vector-effect: non-scaling-stroke; }
  body.theme-card.wm-home .wm-hero-sweep .wm-hero-gold { fill: var(--wm-v5-gold); }
  body.theme-card.wm-home .wm-home-head .wm-display-brand {
    width: min(30vw, 410px) !important;
    margin: 0 0 0 0 !important;
    font: 400 clamp(46px, 4.37vw, 63px)/.84 var(--wm-v5-serif) !important;
    letter-spacing: -.055em !important;
    color: var(--wm-v5-wine) !important;
    text-align: center !important;
  }
  body.theme-card.wm-home .wm-home-head .wm-display-brand span { white-space: nowrap !important; }
  body.theme-card.wm-home .wm-home-head .wm-display-brand em { color: var(--wm-v5-gold) !important; font-family: var(--wm-v5-serif) !important; }
  body.theme-card.wm-home .wm-home-head .wm-location { width: min(29vw, 410px); margin: 15px 0 15px !important; justify-content: center !important; gap: 15px !important; font: 400 clamp(10px, 1.01vw, 14px)/1.3 var(--wm-v5-sans) !important; letter-spacing: .32em !important; color: var(--wm-v5-gold) !important; white-space: nowrap; }
  body.theme-card.wm-home .wm-location::before,
  body.theme-card.wm-home .wm-location::after { display: block !important; width: 34px !important; flex: 1 0 20px; background: var(--wm-v5-rule) !important; }
  body.theme-card.wm-home .wm-home-head h1 { width: 43vw !important; max-width: 610px !important; margin: 0 0 8px !important; font-size: clamp(29px, 3.02vw, 44px) !important; line-height: 1.04 !important; letter-spacing: -.035em !important; white-space: nowrap; text-wrap: nowrap; }
  body.theme-card.wm-home .wm-home-head .wm-intro { width: 40vw !important; max-width: 555px !important; margin: 0 0 16px !important; font: 400 clamp(14px, 1.35vw, 18px)/1.34 var(--wm-v5-sans) !important; color: var(--wm-v5-ink) !important; text-align: left !important; }
  body.theme-card.wm-home .wm-home-head a.wm-action { width: 32.1vw !important; max-width: 464px !important; min-height: 42px !important; margin: 0 0 7px !important; padding: 9px 16px !important; border-radius: 6px !important; background: var(--wm-v5-wine) !important; border-color: var(--wm-v5-wine) !important; color: #fff !important; font: 600 clamp(15px, 1.52vw, 20px)/1.3 var(--wm-v5-sans) !important; box-shadow: none !important; }
  body.theme-card.wm-home .wm-home-head a.wm-action:hover { background: var(--wm-v5-wine-hover) !important; }
  body.theme-card.wm-home .wm-home-head .wm-action span { font-size: 26px; font-weight: 400; line-height: .8; }
  body.theme-card.wm-home .wm-home-head .wm-linkdown { display: block; width: 32.1vw; max-width: 464px; margin: 0 !important; font: 400 14px/1.4 var(--wm-v5-sans) !important; text-align: center !important; color: var(--wm-v5-wine) !important; }
  body.theme-card.wm-home .wm-trustline { width: 88% !important; max-width: 1280px !important; min-height: 28px; margin: 0 auto !important; padding: 7px 0 0 !important; gap: 14px !important; font: 400 clamp(10px, .94vw, 13px)/1.4 var(--wm-v5-sans) !important; letter-spacing: .19em !important; color: var(--wm-v5-gold) !important; }
  body.theme-card.wm-home .wm-trustline::before,
  body.theme-card.wm-home .wm-trustline::after { background: var(--wm-v5-rule) !important; }

  body.theme-card.wm-home .wm-offers { width: 88% !important; max-width: 1280px !important; margin: 0 auto !important; padding: 0 !important; scroll-margin-top: 72px; }
  body.theme-card.wm-home .wm-section-heading { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 2.3vw, 30px); max-width: none !important; margin: 17px 0 13px !important; font-size: clamp(31px, 3.38vw, 49px) !important; line-height: 1.1 !important; letter-spacing: -.045em !important; text-wrap: nowrap; }
  body.theme-card.wm-home .wm-section-heading .wm-stars { display: block; flex: 0 0 clamp(42px, 5.4vw, 70px); height: 48px; font-size: 0 !important; top: auto !important; background: url('goldene-sterne-v5.svg') center / contain no-repeat; }
  body.theme-card.wm-home .wm-offer-list { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; align-items: stretch; }
  body.theme-card.wm-home .wm-offer-card,
  body.theme-card.wm-home .wm-offer-card:last-child { display: flex !important; flex-direction: column !important; grid-column: auto !important; justify-self: stretch !important; width: auto !important; max-width: none !important; min-height: 0 !important; gap: 0 !important; padding: 9px !important; border: 1px solid var(--wm-v5-rule) !important; border-radius: 8px !important; background: var(--wm-v5-surface) !important; box-shadow: none !important; }
  body.theme-card.wm-home .wm-offer-card img { display: block; width: 100% !important; height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: 1.70 !important; object-fit: cover !important; border-radius: 4px !important; margin: 0 0 10px !important; }
  body.theme-card.wm-home .wm-offer-copy { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 0 8px 7px !important; }
  body.theme-card.wm-home .wm-offer-copy h3 { font-size: clamp(22px, 2.05vw, 29px) !important; line-height: 1.1 !important; letter-spacing: -.045em !important; margin: 0 0 5px !important; color: var(--wm-v5-ink) !important; }
  body.theme-card.wm-home .wm-offer-copy p { flex: 1; margin: 0 0 8px !important; font: 400 clamp(14px, 1.34vw, 18px)/1.27 var(--wm-v5-sans) !important; color: var(--wm-v5-ink) !important; }
  body.theme-card.wm-home .wm-offer-copy a { align-self: flex-start; margin-top: auto; font: 600 clamp(14px, 1.34vw, 18px)/1.3 var(--wm-v5-sans) !important; color: var(--wm-v5-wine) !important; }
  body.theme-card.wm-home .wm-offer-copy a span { margin-left: 8px; font-size: 22px; font-weight: 400; }

  body.theme-card.wm-home .wm-story { width: 88% !important; max-width: 1280px !important; margin: 0 auto !important; padding: 22px 0 0 !important; text-align: center !important; scroll-margin-top: 72px; }
  body.theme-card.wm-home .wm-story h2 { max-width: 1040px !important; margin: 0 auto 8px !important; font-size: clamp(34px, 3.45vw, 50px) !important; line-height: .98 !important; letter-spacing: -.035em !important; }
  body.theme-card.wm-home .wm-story > p { max-width: 1000px !important; margin: 0 auto 10px !important; font: 400 clamp(14px, 1.34vw, 18px)/1.4 var(--wm-v5-sans) !important; color: var(--wm-v5-ink) !important; }
  body.theme-card.wm-home details.wm-story-details { width: 79.2%; max-width: 1015px !important; margin: 0 auto !important; border: 1px solid #d2bfa5 !important; border-radius: 6px !important; background: var(--wm-v5-surface) !important; overflow: hidden; }
  body.theme-card.wm-home .wm-story-details summary { min-height: 45px !important; padding: 10px 17px !important; font: 600 14px/1.3 var(--wm-v5-sans) !important; color: var(--wm-v5-ink) !important; }
  body.theme-card.wm-home .wm-story-details summary::after { font-size: 27px !important; font-weight: 300; color: var(--wm-v5-wine) !important; }
  body.theme-card.wm-home .wm-story-inside { font-size: 15px; }

  body.theme-card.wm-home .wm-cta { width: 92.6% !important; max-width: 1348px !important; min-height: 92px !important; margin: 12px auto 11px !important; padding: 17px 12% 17px 17.5% !important; border-radius: 8px !important; background: linear-gradient(100deg, #82051a, #87041c 60%, #7d0418) !important; display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; grid-template-areas: 'title action' 'copy action' !important; gap: 3px 24px !important; align-items: center !important; text-align: center !important; }
  body.theme-card.wm-home .wm-cta h2 { grid-area: title; max-width: none !important; margin: 0 !important; color: #fff8ef !important; font: 400 clamp(27px, 2.69vw, 39px)/1.05 var(--wm-v5-serif) !important; letter-spacing: -.03em !important; text-wrap: nowrap; }
  body.theme-card.wm-home .wm-cta p { grid-area: copy; max-width: none !important; margin: 0 !important; color: #fff8ef !important; opacity: 1 !important; font: 400 clamp(11px, 1.10vw, 15px)/1.35 var(--wm-v5-sans) !important; }
  body.theme-card.wm-home .wm-cta a { grid-area: action; align-self: center !important; justify-self: center !important; min-width: 0 !important; width: clamp(225px, 22.3vw, 315px) !important; max-width: none !important; min-height: 35px !important; margin: 0 !important; padding: 7px 13px !important; border-radius: 5px !important; font: 600 clamp(11px, 1.01vw, 14px)/1.3 var(--wm-v5-sans) !important; background: #fffaf2 !important; color: #83051b !important; border-color: #fffaf2 !important; }
  body.theme-card.wm-home .wm-cta a span { font-size: 20px; line-height: .8; font-weight: 400; }
  body.theme-card.wm-home .wm-cta::before,
  body.theme-card.wm-home .wm-cta::after { content: '' !important; top: 16px !important; bottom: 16px; width: 11% !important; max-width: 115px; background: url('goldene-sterne-v5.svg') center / contain no-repeat; opacity: .85; }
  body.theme-card.wm-home .wm-cta::before { left: 22px !important; }
  body.theme-card.wm-home .wm-cta::after { right: 18px !important; }

  /* Subpages use the same paper, serif hierarchy, card edges and actions. */
  body.theme-card.wm-designed:not(.wm-home) main.container { width: 88% !important; max-width: 1280px !important; padding: 0 !important; margin: 0 auto !important; }
  body.theme-card.wm-designed:not(.wm-home) main > .section { padding: 24px 0 !important; margin: 0 !important; scroll-margin-top: 76px; }
  body.theme-card.wm-designed:not(.wm-home) main > .section + .section { border-top: 1px solid rgba(183, 138, 72, .23); }
  body.theme-card.wm-designed:not(.wm-home) .page-intro-section { padding-top: 26px !important; padding-bottom: 24px !important; }
  body.theme-card.wm-designed:not(.wm-home) .page-intro-card { border-radius: 8px !important; padding: 28px 32px !important; min-height: 216px !important; background: var(--wm-v5-surface) !important; border: 1px solid var(--wm-v5-rule) !important; box-shadow: none !important; }
  body.theme-card.wm-designed.wm-has-banner .page-intro-card { grid-template-columns: minmax(0, 1fr) minmax(220px, 38%) !important; }
  body.theme-card.wm-designed.wm-has-banner .page-intro-card::after { border-radius: 5px !important; box-shadow: none !important; min-height: 168px !important; }
  body.theme-card.wm-designed:not(.wm-home) .page-intro-card h1 { margin: 6px 0 10px !important; font-size: clamp(42px, 4.5vw, 60px) !important; line-height: 1.03 !important; }
  body.theme-card.wm-designed:not(.wm-home) .page-intro-card .page-intro-copy { max-width: 650px; margin-bottom: 0 !important; font: 400 16px/1.5 var(--wm-v5-sans) !important; }
  body.theme-card.wm-designed:not(.wm-home) .page-title-divider { justify-content: flex-start !important; margin: 10px 0 !important; }
  body.theme-card.wm-designed:not(.wm-home) .section > h1,
  body.theme-card.wm-designed:not(.wm-home) main > h1 { margin: 26px 0 20px !important; font-size: 52px !important; line-height: 1.05 !important; }
  body.theme-card.wm-designed:not(.wm-home) .section > h2,
  body.theme-card.wm-designed:not(.wm-home) #preisrechner h2 { font-size: clamp(31px, 3vw, 41px) !important; line-height: 1.08 !important; margin-bottom: 12px !important; }
  body.theme-card.wm-designed:not(.wm-home) h3 { font-size: clamp(24px, 2.25vw, 30px) !important; line-height: 1.12 !important; }
  body.theme-card.wm-designed:not(.wm-home) .card p.small,
  body.theme-card.wm-designed:not(.wm-home) .card ul.small { font-size: 14px !important; line-height: 1.5 !important; }
  body.theme-card.wm-designed .service-card img,
  body.theme-card.wm-designed .price-service-media img,
  body.theme-card.wm-designed .booking-service-card img { border-radius: 5px !important; }
  body.theme-card.wm-designed .price-service-card .price-service-body { padding: 20px !important; }
  body.theme-card.wm-designed .booking-service-card .booking-service-cta { font: 600 14px/1.4 var(--wm-v5-sans) !important; color: var(--wm-v5-wine) !important; }
  body.theme-card.wm-designed .notice,
  body.theme-card.wm-designed .request-intro-box,
  body.theme-card.wm-designed .form-intro { border-color: var(--wm-v5-rule) !important; border-radius: 6px !important; box-shadow: none !important; }
  body.theme-card.wm-designed details.faq-item { border-color: var(--wm-v5-rule) !important; border-radius: 6px !important; box-shadow: none !important; background: var(--wm-v5-surface) !important; }
  body.theme-card.wm-designed details.faq-item summary { font: 600 16px/1.4 var(--wm-v5-sans) !important; }
  body.theme-card.wm-booking-page .hero { display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) !important; gap: 28px !important; padding: 28px 0 !important; align-items: center; }
  body.theme-card.wm-booking-page .hero-copy h1 { font-size: clamp(39px, 3.8vw, 54px) !important; line-height: 1.03 !important; }
  body.theme-card.wm-booking-page .hero-media img { border-radius: 8px !important; box-shadow: none !important; }
  body.theme-card.wm-booking-page .hero-copy .lead { font: 400 17px/1.5 var(--wm-v5-sans) !important; }

  body.theme-card.wm-designed .footer { margin: 0 !important; padding: 0 0 10px !important; border: 0 !important; background: var(--wm-v5-paper) !important; background-image: none !important; box-shadow: none !important; }
  body.theme-card.wm-designed .footer::before,
  body.theme-card.wm-designed .footer::after { display: none !important; }
  body.theme-card.wm-designed .footer .wm-footer-reference::before,
  body.theme-card.wm-designed .footer .wm-footer-reference::after { content: ''; position: absolute; top: 28px; width: 55px; height: 47px; background: url('goldene-sterne-v5.svg') center / contain no-repeat; pointer-events: none; }
  body.theme-card.wm-designed .footer .wm-footer-reference::before { left: 21%; }
  body.theme-card.wm-designed .footer .wm-footer-reference::after { right: 21%; }
  body.theme-card.wm-designed .preference-dock .theme-switcher__toggle { min-height: 34px; padding: 7px 10px; border-radius: 6px; font-size: 12px; box-shadow: none !important; }
  body.theme-card.wm-designed .fab-actions .fab { min-height: 34px; padding: 7px 11px; border-radius: 6px; box-shadow: none !important; }
  body.theme-card.wm-designed .field-helper-link { font: 600 13px/1.4 var(--wm-v5-sans) !important; color: var(--wm-v5-wine) !important; text-underline-offset: 3px; }
  body.theme-card.wm-designed .theme-switcher__panel { background: var(--wm-v5-surface) !important; border-color: var(--wm-v5-rule) !important; border-radius: 6px !important; }
  body.theme-card.wm-designed .theme-switcher__panel button { color: var(--wm-v5-ink) !important; font-family: var(--wm-v5-sans) !important; border-radius: 4px !important; }
  body.theme-card.wm-designed .language-switcher { background: var(--wm-v5-surface) !important; border-color: var(--wm-v5-rule) !important; border-radius: 6px !important; }
  body.theme-card.wm-designed .language-switcher__link { font-family: var(--wm-v5-sans) !important; color: var(--wm-v5-wine) !important; }
  body.theme-card.wm-designed .lightbox .lb-close { border: 1px solid var(--wm-v5-rule) !important; border-radius: 6px !important; background: var(--wm-v5-surface) !important; color: var(--wm-v5-wine) !important; font: 600 14px/1.3 var(--wm-v5-sans) !important; }
  body.theme-card.wm-designed .lightbox .lb-nav { border-color: var(--wm-v5-rule) !important; color: #fff8ef !important; background: #83051b !important; box-shadow: none !important; }
}

@media (min-width: 961px) and (max-width: 1100px) {
  body.theme-card.wm-home .wm-home-head { padding-top: 31px !important; }
  body.theme-card.wm-home .wm-home-head .wm-display-brand { font-size: 48px !important; }
  body.theme-card.wm-home .wm-home-head .wm-location { margin: 12px 0 13px !important; font-size: 10px !important; }
  body.theme-card.wm-home .wm-home-head h1 { font-size: 29px !important; }
  body.theme-card.wm-home .wm-home-head .wm-intro { font-size: 14px !important; }
  body.theme-card.wm-home .wm-section-heading { font-size: 31px !important; gap: 12px; }
  body.theme-card.wm-home .wm-cta { padding-left: 13% !important; padding-right: 10% !important; gap: 3px 18px !important; }
  body.theme-card.wm-home .wm-cta h2 { font-size: 27px !important; }
}
@media (max-width: 960px) {
  body.theme-card .footer .wm-footer-reference { padding-top: 16px; }
  body.theme-card .footer .wm-footer-shortlinks a { min-height: 24px; font-size: 12px; }
  body.theme-card .footer details.wm-footer-more > summary { padding: 9px 12px; font-size: 12px; }
  body.theme-card .footer .wm-footer-more .footer-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
  body.theme-card .wm-desktop-break { display: none; }
}

/* Theme values are applied to the new presentation layer, never to storage. */
html[data-theme='dark'] body.theme-card {
  --wm-v5-paper: #151c25;
  --wm-v5-surface: #1b232e;
  --wm-v5-wine: #f1c79e;
  --wm-v5-wine-hover: #ffe2bd;
  --wm-v5-rule: #776044;
  --wm-v5-ink: #f3eadf;
  --wm-v5-muted: #d4c5b5;
}
@media (min-width: 961px) {
  html[data-theme='dark'] body.theme-card.wm-designed .header { background: var(--wm-v5-paper) !important; }
  html[data-theme='dark'] body.theme-card.wm-designed .header .brand b,
  html[data-theme='dark'] body.theme-card.wm-designed .header .menu a:not(.cta) { color: var(--wm-v5-ink) !important; }
  html[data-theme='dark'] body.theme-card.wm-designed :is(a.btn.primary, button.btn.primary, button[type='submit'].primary, input[type='submit'].primary),
  html[data-theme='dark'] body.theme-card.wm-home .wm-home-head a.wm-action { background: #8a1834 !important; border-color: #a74a60 !important; color: #fff !important; }
  html[data-theme='dark'] body.theme-card.wm-home .wm-home-head a.wm-action:hover { background: #a62746 !important; }
  html[data-theme='dark'] body.theme-card.wm-designed .header .menu a.wm-nav-cta { background: #8a1834 !important; border-color: #a74a60 !important; color: #fff !important; }
  html[data-theme='dark'] body.theme-card.wm-home .wm-cta h2,
  html[data-theme='dark'] body.theme-card.wm-home .wm-cta p { color: #fff8ef !important; }
  html[data-theme='dark'] body.theme-card.wm-home .wm-cta a { background: #fffaf2 !important; color: #83051b !important; }
  html[data-theme='dark'] body.theme-card.wm-designed :is(.badge, .kicker, .contact-eyebrow) { color: #e3bd83 !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.theme-card.wm-designed :is(a.btn, button.btn, .wm-action, .wm-nav-cta):hover { transform: none !important; }
}
@media print {
  body.theme-card .footer .wm-footer-more { display: none !important; }
}
