/* Shared access requirements, loaded after the existing component styles. */
main:focus{outline:none}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #836529;outline-offset:4px;scroll-margin-block:140px 80px}
:where(.site-header,.site-footer,.hero,.publish-panel,.admin-sidebar,.lightbox) :focus-visible{outline-color:#eeddac}
:where(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:#7e7e7e}
.inquiry-field :is(input,select,textarea){border-color:#7e7e7e}
.field-error{display:block;flex-basis:100%;color:#902e28;font-size:.875rem;font-weight:500;line-height:1.5;margin-block:5px;overflow-wrap:anywhere}
.field-error-links{display:grid;gap:8px;margin-top:8px}.field-error-links a{text-decoration:underline;text-underline-offset:3px}
[aria-invalid=true]{border-color:#902e28!important}
.booking-status{font-size:.9rem;line-height:1.7;margin-block:16px;overflow-wrap:anywhere}
.booking-provider a{text-decoration:underline;text-underline-offset:3px}
.booking-provider,.energy-file-list li>span,.footer-contact a,.legal-prose a,.prose a,.action-notice-copy{overflow-wrap:anywhere}
.energy-file-list li{flex-wrap:wrap}
.lightbox-strip button{min-width:44px;min-height:44px}
.inquiry-required-note,.inquiry-unavailable{grid-column:1/-1;font-size:.85rem;line-height:1.7;margin:0}
.inquiry-unavailable a{text-decoration:underline;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
@media(forced-colors:active){
  :focus-visible{outline:3px solid Highlight!important;outline-offset:4px}
  .button,.secondary,.menu-button,.energy-choice,.filter-feature,.listing-view-button{border:1px solid ButtonText}
  [aria-pressed=true],[aria-current=page],.energy-choice:has(:checked){outline:2px solid Highlight;outline-offset:2px}
  [aria-invalid=true]{border:2px solid Mark!important}
  .field-error{color:CanvasText}
  .action-symbol{border:1px solid currentColor}
}

.admin-body .editor-tabs [role=tab]{color:#715520}
.admin-body .fact-example,.admin-body .fact-example span{color:#5e5e5e}
.admin-body .ql-toolbar .ql-formats{display:inline-flex;flex-wrap:wrap;max-width:100%;gap:4px}
.admin-body .ql-toolbar .ql-picker{flex-shrink:0;max-width:100%}
.admin-body .ql-toolbar .ql-picker-label,.admin-body .ql-toolbar .ql-picker-item{min-height:32px;line-height:1.5;padding-block:5px}
.admin-body .ql-toolbar .ql-picker-label:focus-visible,.admin-body .ql-toolbar button:focus-visible{outline:3px solid #836529;outline-offset:2px}
.admin-body .ql-toolbar button{min-width:32px;min-height:32px}

/* Expanded formatting choices reserve space instead of covering another control. */
.admin-body #news-toolbar .ql-picker.ql-expanded{height:auto;width:100%}
.admin-body #news-toolbar .ql-picker.ql-expanded .ql-picker-options{position:relative;top:auto;left:auto;margin-top:4px;max-width:100%}

.about-matthias-copy,.about-matthias-portrait{min-width:0;max-width:100%}
.about-matthias-caption{overflow-wrap:anywhere}
.session-dialog{max-width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid #7e7e7e;border-radius:6px;padding:24px}
.session-dialog::backdrop{background:#0009}.session-dialog h2{font-size:1.6rem}.session-dialog p{margin-block:16px}.session-dialog form{display:grid;gap:16px}
.energy-fields label>.field-error,.energy-message>.field-error{color:#902e28;font-size:.875rem;font-weight:500}
.energy-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.energy-form textarea,.admin-body input:not([type=checkbox]):not([type=radio]),.admin-body select,.admin-body textarea{border-color:#7e7e7e}

.contact-page-grid h1,.contact-page-grid h1 span,.contact-page-grid h2,.contact-page-grid h2 span{overflow-wrap:anywhere;max-width:100%}

.contact-welcome h1,.contact-welcome h1 span{overflow-wrap:anywhere;white-space:normal}

@media(forced-colors:active){.menu-button span{background:ButtonText!important;forced-color-adjust:none}[aria-current=true],[aria-selected=true]{outline:2px solid Highlight;outline-offset:2px}}
/* Long German words remain readable when visitors increase text spacing. */
.home-management :is(h2,h3,h4,p,li){overflow-wrap:anywhere}
