/* Weihnachtsmann & Engelchen · V12 · 27.10.2026
   Vollständige mobile Gestaltung auf dem V11-Bestand, gemeinsamer Seitenabschluss.
   Originalbilder, Formulare, Menüs und Theme-Speicherung bleiben erhalten. */
body.theme-card.wm-designed[data-wm-mobile='v12'] {
  --m12-paper: #fffdf8;
  --m12-panel: #fffefb;
  --m12-soft: #f6efe3;
  --m12-ink: #2b2e35;
  --m12-muted: #625c58;
  --m12-wine: #850a24;
  --m12-action: #850a24;
  --m12-hover: #a01534;
  --m12-line: #dac9ad;
  --m12-gold: #a77a3c;
  --m12-sans: 'WM Referenz Sans', Arial, sans-serif;
  --m12-serif: 'WM Referenz Serif', Georgia, serif;
}
html[data-theme='dark'] body.theme-card.wm-designed[data-wm-mobile='v12'] {
  --m12-paper: #151c25;
  --m12-panel: #1b232e;
  --m12-soft: #222d39;
  --m12-ink: #f3eadf;
  --m12-muted: #c9bfb7;
  --m12-wine: #f1c79e;
  --m12-action: #8a1834;
  --m12-hover: #a62746;
  --m12-line: #776044;
  --m12-gold: #d3b17d;
}

/* The three homepage illustrations retain their complete original 4:3 content. */
body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-offer-card > img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* One compact footer on every page, with the complete original contents. */
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 {
  box-sizing: border-box !important;
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 26px 0 14px !important;
  border: 0 !important;
  border-top: 1px solid var(--m12-line) !important;
  border-radius: 0 !important;
  background: var(--m12-paper) !important;
  background-image: none !important;
  color: var(--m12-ink) !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12::before,
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12::after,
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .wm-footer-reference::before,
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .wm-footer-reference::after { display: none !important; content: none !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 :is(.wm-footer-reference, details.wm-footer-more) {
  box-sizing: border-box !important;
  width: 88% !important;
  max-width: 1280px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--m12-ink) !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .wm-footer-wordmark {
  font: normal 400 clamp(22px, 6vw, 26px)/1.15 var(--m12-serif) !important;
  letter-spacing: -.04em !important;
  color: var(--m12-wine) !important;
  white-space: normal !important;
  text-decoration: none !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .wm-footer-wordmark em { color: var(--m12-gold) !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .wm-footer-region { margin: 7px 0 10px !important; color: var(--m12-muted) !important; font: normal 400 13px/1.5 var(--m12-sans) !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .wm-footer-shortlinks { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; gap: 0 12px !important; margin: 0 !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .wm-footer-shortlinks a { display: inline-flex !important; align-items: center !important; min-height: 40px !important; padding: 6px 4px !important; color: var(--m12-ink) !important; font: normal 400 14px/1.4 var(--m12-sans) !important; text-decoration: none !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .wm-footer-shortlinks a + a::before { display: none !important; content: none !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 details.wm-footer-more > summary { box-sizing: border-box !important; min-height: 44px !important; padding: 12px 8px !important; color: var(--m12-muted) !important; font: normal 400 13px/1.5 var(--m12-sans) !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .footer-panel { border-color: var(--m12-line) !important; background: var(--m12-panel) !important; border-radius: 10px !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 :is(p, li, .small, .footer-note, .footer-contact-list, .footer-link-grid a) { color: var(--m12-ink) !important; font-family: var(--m12-sans) !important; overflow-wrap: anywhere; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 a { color: var(--m12-wine) !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 a:hover { text-decoration: underline !important; text-underline-offset: 4px !important; }

/* Three labelled groups, all in normal document flow at the page end. */
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] {
  box-sizing: border-box !important;
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr) !important;
  align-items: start !important;
  gap: 24px !important;
  width: 88% !important;
  max-width: 1280px !important;
  margin: 12px auto calc(24px + env(safe-area-inset-bottom, 0px)) !important;
  padding: 20px !important;
  border: 1px solid var(--m12-line) !important;
  border-radius: 12px !important;
  background: var(--m12-panel) !important;
  color: var(--m12-ink) !important;
  box-shadow: none !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .preference-dock {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  justify-self: stretch !important;
  gap: 24px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .wm-utility-group-v12 {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .wm-utility-label-v12 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--m12-muted) !important;
  font: normal 700 12px/1.4 var(--m12-sans) !important;
  letter-spacing: .04em !important;
  text-align: left !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] :is(.theme-switcher, .language-switcher--floating, .fab-actions) {
  box-sizing: border-box !important;
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-self: stretch !important;
  transform: none !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .theme-switcher__toggle { display: none !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] :is(.theme-switcher__panel, .language-switcher) {
  box-sizing: border-box !important;
  position: static !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 4px !important;
  border: 1px solid var(--m12-line) !important;
  border-radius: 8px !important;
  background: var(--m12-soft) !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .language-switcher { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .fab-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; padding: 5px 0 !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] :is(.theme-switcher__panel button, .language-switcher__link, .fab) {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 8px !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--m12-ink) !important;
  font: normal 700 14px/1.3 var(--m12-sans) !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  box-shadow: none !important;
  transform: none !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .theme-switcher__panel button small,
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .wm-utility-language-short { display: none !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .wm-utility-language-long { display: inline !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] :is(.theme-switcher__panel button.is-active, .language-switcher__link.is-active, .fab-wa) {
  border-color: var(--m12-action) !important;
  background: var(--m12-action) !important;
  color: #fffdf8 !important;
}
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .fab-mail { border-color: var(--m12-line) !important; background: var(--m12-panel) !important; color: var(--m12-wine) !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] :is(.theme-switcher__panel button, .language-switcher__link):hover { border-color: var(--m12-gold) !important; background: var(--m12-panel) !important; color: var(--m12-wine) !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] :is(.theme-switcher__panel button.is-active, .language-switcher__link.is-active, .fab-wa):hover { border-color: var(--m12-hover) !important; background: var(--m12-hover) !important; color: #fffdf8 !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .fab-mail:hover { border-color: var(--m12-gold) !important; background: var(--m12-soft) !important; }
body.theme-card.wm-designed[data-wm-mobile='v12'] :is(#wm-utility-v7, #wm-footer-v12) :is(a, button, summary):focus-visible { outline: 2px solid var(--m12-gold) !important; outline-offset: 3px !important; }

@media (max-width: 960px) {
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content {
    box-sizing: border-box !important;
    width: calc(100% - 32px) !important;
    min-width: 0 !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 20px 0 32px !important;
    color: var(--m12-ink) !important;
    font: normal 400 16px/1.6 var(--m12-sans) !important;
  }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content.wm-home-main { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content *,
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content *::before,
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content *::after { box-sizing: border-box; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(h1, h2, h3, h4) {
    height: auto !important;
    max-height: none !important;
    font-family: var(--m12-serif) !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
    color: var(--m12-wine) !important;
    text-shadow: none !important;
    white-space: normal !important;
    text-wrap: balance !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
  }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content h1 { font-size: clamp(34px, 7.2vw, 44px) !important; margin: 0 0 18px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content h2 { font-size: clamp(30px, 6.5vw, 36px) !important; margin: 0 0 18px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content h3 { font-size: 27px !important; margin: 0 0 12px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content h4 { font-size: 23px !important; }
  #wm-buchen-v10[data-wm-mobile='v12'] #buchungsinfos > h2 { font-size: clamp(30px, 6.5vw, 36px) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(p, li) { font: normal 400 16px/1.6 var(--m12-sans) !important; color: var(--m12-ink) !important; letter-spacing: 0 !important; overflow-wrap: anywhere; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content p { margin-top: 0 !important; margin-bottom: 18px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(small, .small, .help, .hint, .disclaimer, figcaption) { font: normal 400 13px/1.55 var(--m12-sans) !important; color: var(--m12-muted) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.kicker, .wm-gallery-eyebrow-v9, .wm-offers-eyebrow-v7, .wm-service-eyebrow-v7) { font: normal 700 11px/1.5 var(--m12-sans) !important; letter-spacing: .08em !important; color: var(--m12-gold) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content a { overflow-wrap: anywhere; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content > section.section { width: 100% !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; padding: 30px 0 !important; scroll-margin-top: 94px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content > section.page-intro-section { padding-top: 0 !important; padding-bottom: 28px !important; border: 0 !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.page-intro-card, .card, .panel, .notice, .wm-story-details) { border-color: var(--m12-line) !important; border-radius: 10px !important; background-color: var(--m12-panel) !important; box-shadow: none !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.page-intro-card, .hero-grid) { padding: 22px !important; gap: 22px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.actions, .form-actions, .wm-contact-hero-actions, .wm-offers-hero-actions-v7) { gap: 12px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(a.btn, button.btn, button[type='submit'], a.wm-action, .wm-cta > a) {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    border: 1px solid var(--m12-line) !important;
    border-radius: 7px !important;
    background: var(--m12-panel) !important;
    color: var(--m12-wine) !important;
    font: normal 700 15px/1.4 var(--m12-sans) !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    box-shadow: none !important;
    transform: none !important;
  }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.btn.primary, button[type='submit'], a.wm-action) { border-color: var(--m12-action) !important; background: var(--m12-action) !important; color: #fffdf8 !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.btn.primary, button[type='submit'], a.wm-action):hover { border-color: var(--m12-hover) !important; background: var(--m12-hover) !important; color: #fffdf8 !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(label, legend) { font: normal 700 14px/1.5 var(--m12-sans) !important; color: var(--m12-ink) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']), select, textarea) { box-sizing: border-box !important; min-width: 0 !important; max-width: 100% !important; min-height: 48px !important; padding: 11px 12px !important; border: 1px solid var(--m12-line) !important; border-radius: 7px !important; background-color: var(--m12-panel) !important; color: var(--m12-ink) !important; font: normal 400 16px/1.5 var(--m12-sans) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.field, fieldset) { min-width: 0 !important; max-width: 100% !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content [hidden] { display: none !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.faq-item > summary, .wm-story-details > summary) { min-height: 50px !important; padding: 16px 18px !important; color: var(--m12-ink) !important; font: normal 700 15px/1.45 var(--m12-sans) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--m12-gold) !important; outline-offset: 3px !important; }

  /* Home: separate picture and copy, with full illustrations in the cards. */
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-hero-photo { height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: auto !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-hero-photo img { position: static !important; inset: auto !important; display: block !important; width: 100% !important; height: auto !important; object-fit: contain !important; object-position: center !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-home-head { padding: 28px 16px 24px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-display-brand { font-size: clamp(36px, 8.5vw, 46px) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.wm-trustline, .wm-offers, .wm-story, .wm-cta) { width: calc(100% - 32px) !important; max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-trustline { padding: 18px 0 !important; font: normal 400 10px/1.5 var(--m12-sans) !important; letter-spacing: .07em !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-section-heading { max-width: 100% !important; width: 100% !important; margin: 0 0 24px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-offer-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-offer-card { padding: 8px !important; border-color: var(--m12-line) !important; border-radius: 10px !important; background: var(--m12-panel) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-offer-copy { padding: 0 10px 14px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-offer-copy a { font: normal 700 14px/1.5 var(--m12-sans) !important; color: var(--m12-wine) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-story { padding-top: 34px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-cta { padding: 24px 20px !important; margin-top: 30px !important; margin-bottom: 30px !important; border-radius: 10px !important; background: var(--m12-action) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-cta :is(h2, p) { color: #fff8ef !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-cta > a { width: 100% !important; border-color: #fff7e9 !important; background: #fff7e9 !important; color: #850a24 !important; }

  /* The introductory photographs and illustrations are never cropped on phones. */
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.wm-offers-hero-image-v7, figure.wm-contact-hero-photo) { height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: auto !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.wm-offers-hero-image-v7, figure.wm-contact-hero-photo) img { position: static !important; inset: auto !important; display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; max-height: none !important; object-fit: contain !important; object-position: center !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-offers-hero-image-v7 figcaption { position: static !important; inset: auto !important; width: fit-content !important; margin: 10px !important; background: var(--m12-panel) !important; color: var(--m12-wine) !important; border-color: var(--m12-line) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-contact-hero-photo figcaption { position: static !important; inset: auto !important; width: fit-content !important; max-width: calc(100% - 20px) !important; margin: 10px !important; background: var(--m12-panel) !important; color: var(--m12-wine) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .wm-booking-hero-image-v10 { aspect-ratio: 4/3 !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.wm-offers-jump-v7 a, .wm-booking-jump-v10 a, .wm-gallery-jump-v9 a) { min-width: 0 !important; min-height: 48px !important; font: normal 700 13px/1.4 var(--m12-sans) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.wm-service-body-v7, .booking-service-copy, .request-form-card) { padding: 20px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.contact-row, .request-choice-card) { padding: 20px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .price-service-body { padding: 20px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .price-service-media img { object-fit: contain !important; object-position: center !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content #preisrechner > .container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .calc { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; padding: 20px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .result { padding: 20px !important; background: var(--m12-soft) !important; color: var(--m12-ink) !important; border-color: var(--m12-line) !important; border-radius: 8px !important; }

  body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 :is(.wm-footer-reference, details.wm-footer-more) { width: calc(100% - 32px) !important; max-width: 760px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] { width: calc(100% - 32px) !important; max-width: 760px !important; grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; padding: 18px !important; }
}
@media (max-width: 700px) {
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.wm-offer-list, .booking-service-grid, .contact-stack, .request-choice-grid, .social-ref-grid, .gallery-grid) { grid-template-columns: minmax(0, 1fr) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.wm-offers-hero-v7, .wm-gallery-hero-v9, .wm-contact-hero, .hero-grid, .booking-service-card) { grid-template-columns: minmax(0, 1fr) !important; }
  #wm-angebote-v7[data-wm-mobile='v12'] #leistungen .service-card.wm-service-v7 { grid-template-columns: minmax(0, 1fr) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content #pakete .price-service-card { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; min-height: 0 !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.wm-service-media-v7, .booking-service-media, .price-service-media) { height: 250px !important; min-height: 0 !important; border-right: 0 !important; border-bottom: 1px solid var(--m12-line) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.wm-service-media-v7, .booking-service-media, .price-service-media) img { object-fit: contain !important; object-position: center !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .price-service-media { width: 100% !important; min-width: 0 !important; background: var(--m12-soft) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .price-service-media img { width: 100% !important; min-width: 0 !important; height: 100% !important; min-height: 0 !important; max-height: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.form-grid, .christmas-address-grid) { grid-template-columns: minmax(0, 1fr) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.form-grid, .christmas-address-grid) > .field { grid-column: 1 / -1 !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.actions, .form-actions, .wm-contact-hero-actions, .wm-offers-hero-actions-v7) { display: flex !important; flex-direction: column !important; align-items: stretch !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.actions, .form-actions, .wm-contact-hero-actions, .wm-offers-hero-actions-v7) > :is(a.btn, button.btn, button[type='submit']) { width: 100% !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .footer-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .preference-dock { grid-template-columns: minmax(0, 1fr) !important; gap: 18px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .fab-actions { padding: 0 !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] .fab { min-height: 48px !important; }
}
@media (max-width: 380px) {
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content :is(.page-intro-card, .hero-grid, .request-form-card) { padding: 18px !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] main#content .contact-window-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'] { padding: 16px !important; }
}
@media print {
  body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-utility-v7[data-wm-controls='v12'],
  body.theme-card.wm-designed[data-wm-mobile='v12'] #wm-footer-v12 .wm-footer-more { display: none !important; }
}
