/* V28: shared finishing layer. Existing components, breakpoints, forms and legal text retained. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
html body.theme-card.wm-designed[data-wm-finish="v28"] {
 --f28-ink:var(--m12-ink,#302c30); --f28-paper:var(--m12-paper,#fffdf8); --f28-panel:var(--m12-panel,#fffefb);
 --f28-wine:var(--m12-wine,#9c0b2c); --f28-gold:var(--m12-gold,#bb874b); --f28-line:var(--m12-line,#dfc5a5);
 --f28-sans:var(--m12-sans,Arial,sans-serif); --f28-serif:var(--m12-serif,Georgia,serif);
}
html body.theme-card.wm-designed[data-wm-finish="v28"] :is(main,header,footer,nav,section,article,fieldset) { min-width:0; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(h1,h2,h3,h4) { text-wrap:balance; overflow-wrap:break-word; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(p,li,label,small) { overflow-wrap:break-word; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content p { orphans:3; widows:3; }
html body.theme-card.wm-designed[data-wm-finish="v28"] :is(a,button,summary,input,select,textarea):focus-visible { outline:3px solid var(--f28-gold) !important; outline-offset:4px !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] a { text-underline-offset:3px; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(a.btn,button.btn,button[type="submit"],.service-pick-row button) { min-height:46px !important; white-space:normal !important; overflow-wrap:break-word; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.actions,.form-actions,.service-pick-row) { gap:12px !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(summary,.wm-offers-jump-v7 a,.wm-contact-jump-v15 a,.wm-booking-jump-v10 a) { min-height:44px; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content summary { cursor:pointer; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(details p,.faq-item p) { line-height:1.65 !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.form-grid,.christmas-address-grid,.contact-window-grid) { gap:16px !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .field { min-width:0 !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),select,textarea) {
 box-sizing:border-box !important; width:100% !important; max-width:100% !important; min-width:0 !important; min-height:46px !important;
 padding:11px 12px !important; font:400 16px/1.45 var(--f28-sans) !important; border-radius:5px !important;
}
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content form textarea { min-height:120px !important; resize:vertical; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content form :is(input[type="checkbox"],input[type="radio"]) { width:20px !important; height:20px !important; min-width:20px !important; flex:0 0 20px; accent-color:var(--f28-wine); }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content form label { line-height:1.45 !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content form :is(.field-help,.form-note,.turnstile-load-status) { font-size:14px !important; line-height:1.55 !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.booking-commitment,.privacy-consent) label { display:flex !important; align-items:flex-start !important; gap:10px !important; padding:8px 0; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .form-feedback { line-height:1.6 !important; border-radius:6px !important; }
/* Original faces are shown proportionally; galleries keep their existing lightbox. */
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content img[data-wm-original-v28] { object-fit:contain !important; object-position:center !important; background:var(--f28-paper); }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.wm-gallery-media-v9,.price-service-media,.booking-service-media) { background:var(--f28-paper) !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .wm-gallery-media-v9 img[data-wm-original-v28] { width:100% !important; height:100% !important; object-fit:contain !important; }
html body#wm-start-v7.theme-card.wm-designed[data-wm-finish="v28"][data-wm-mobile-home="v21"][data-wm-offers="v22"] main#content .wm-offer-card > img { object-fit:contain !important; background:var(--f28-paper); }
html body#wm-start-v7.theme-card.wm-designed[data-wm-finish="v28"] main#content .wm-offer-copy a { min-height:46px !important; line-height:1.4 !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .wm-v27-pricing { margin:18px 0 !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.price-service-body,.booking-service-copy) { min-width:0; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .price-service-body > p { line-height:1.6 !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.price-service-card,.booking-service-card) { border-radius:8px !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.wm-legal-card-v16 p,.wm-legal-card-v16 li,.wm-legal-card-v16 dd) { line-height:1.7 !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.wm-legal-nav-v16 a,.wm-legal-actions-v16 a) { min-height:44px; display:flex; align-items:center; }
html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .wm-legal-draft-v16 { line-height:1.6 !important; border-radius:6px !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"].wm-v28-terms main#content { max-width:960px !important; margin-left:auto !important; margin-right:auto !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"].wm-v28-terms main#content > h1 { margin-bottom:26px !important; color:var(--f28-wine) !important; font-family:var(--f28-serif) !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"].wm-v28-terms main#content > section { margin:0 0 18px !important; padding:24px !important; border:1px solid var(--f28-line) !important; border-radius:8px !important; background:var(--f28-panel) !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"].wm-v28-terms main#content :is(p,li) { line-height:1.7 !important; }
html body.theme-card.wm-designed[data-wm-finish="v28"] :is(#wm-privacy-banner-v17,#wm-privacy-dialog-v17) :is(button,a) { min-height:44px; }
html body.theme-card.wm-designed[data-wm-finish="v28"] #wm-utility-v7 :is(button,a) { min-height:44px !important; }
@media(max-width:960px) {
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content form :is(.form-grid,.christmas-address-grid) { grid-template-columns:minmax(0,1fr) !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content form :is(.field,.christmas-address-street,.christmas-address-number,.christmas-address-postal,.christmas-address-city) { grid-column:auto !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content form .field.full { grid-column:1/-1 !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .contact-window-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .form-actions { flex-direction:column !important; align-items:stretch !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .form-actions > :is(button,a) { width:100% !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.price-service-media img,.booking-service-media img) { object-fit:contain !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .price-service-body .wm-v27-pricing { padding:12px !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"].wm-v28-terms main#content { width:calc(100% - 32px) !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"].wm-v28-terms main#content > section { padding:18px !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.wm-legal-card-v16 p,.wm-legal-card-v16 li) { font-size:16px !important; }
 /* Replace the old decorative generated photo with an original, without a crop. */
 html body.theme-card.wm-designed[data-wm-finish="v28"][data-wm-reference="v13"][data-wm-inner="v14"][data-wm-page="prices"] .wm-inner-standalone-v14 .wm-inner-image-v14 { background-image:url('originale-v27/bescherung-original.jpeg') !important; background-size:contain !important; background-repeat:no-repeat !important; background-position:center top !important; background-color:var(--f28-paper) !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"][data-wm-reference="v13"][data-wm-inner="v14"][data-wm-page] main#content .wm-inner-image-v14 img[data-wm-original-v28] { object-fit:contain !important; }
}
@media(max-width:420px) {
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content .contact-window-grid { grid-template-columns:minmax(0,1fr) !important; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"] *,html body.theme-card.wm-designed[data-wm-finish="v28"] *::before,html body.theme-card.wm-designed[data-wm-finish="v28"] *::after { transition:none !important; animation:none !important; }
}
@media print {
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content { width:100% !important; max-width:none !important; }
 html body.theme-card.wm-designed[data-wm-finish="v28"] main#content :is(.wm-legal-card-v16,.wm-v27-pricing,.price-service-card) { break-inside:avoid; }
}
html body#wm-start-v7.theme-card.wm-designed[data-wm-finish="v28"][data-wm-mobile-home="v21"][data-wm-offers="v22"] main#content .wm-hero-photo img[data-wm-original-v28] { object-fit:contain !important; object-position:center !important; }
