html { scroll-behavior: smooth; }
:is(#websites,#web-apps,#process,#about,#blog,#contact,#cennik,#ow-quote) { scroll-margin-top: 6rem; }
:is(a,button,input,textarea,select,[tabindex]):focus-visible { outline: 3px solid #b87931; outline-offset: 4px; }
.ow-service-details { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: 1rem; }
.ow-service-details a { color: #754b1f; font-size: 1rem; text-decoration: underline; text-underline-offset: .25rem; min-height: 44px; display: inline-flex; align-items: center; }
.ow-article-meta { margin-block: 1rem; font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; }
.ow-article-meta a { color: inherit; text-decoration: underline; text-underline-offset: .2rem; }
.ow-article-image { display: block; width: 100%; max-width: 50rem; height: auto; aspect-ratio: 2 / 1; object-fit: cover; border-radius: 1rem; margin-block: 1.5rem; }
.ow-consent { accent-color: #142434; width: 24px; height: 24px; flex-shrink: 0; cursor: pointer; }
.ow-consent + div label { min-height: 44px; }
.ow-field-error { color: #a51d2d; font-size: 1rem; margin-top: .5rem; }
#ow-contact-toggle { display: none !important; }
.ow-channel-label { display: none; }
#ow-chat[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

@media (max-width: 767px) {
  body { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
  #root { min-width: 0; }
  #root :is(header,main,article,section,form) { min-width: 0; }
  #root :is(h1,h2,h3,p,li,a,label) { overflow-wrap: anywhere; }
  #root :is(input,textarea,select) { max-width: 100%; box-sizing: border-box; }
  #root button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  #root :is(.flex,.grid) > * { min-width: 0; }
  #root header video { max-width: min(40vw, 136px); height: auto; }
  #root header .container { padding-inline: 1rem; }
  #root [data-loc="client/src/components/Header.tsx:81"] { gap: .5rem; }
  #root [data-loc="client/src/components/Header.tsx:149"] { min-width: 44px; min-height: 44px; }
  #root [data-loc="client/src/components/Header.tsx:162"] { max-height: calc(100dvh - 5rem); overflow-y: auto; }
  #root [data-loc="client/src/components/BackToTop.tsx:21"] { display: none !important; }
  #root [data-loc="client/src/components/ContactForm.tsx:291"] { padding: 0; min-height: 24px; }

  #ow-chat {
    inset: auto 12px calc(18px + env(safe-area-inset-bottom)) auto !important;
    width: auto;
    box-sizing: border-box;
    padding: 0;
    background: transparent;
    border: 0;
    flex-direction: column !important;
    align-items: flex-end;
    gap: 9px !important;
  }
  #ow-chat :is(#ow-chat-launch,.ow-quick-link) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 8px 22px rgba(3,15,24,.25);
  }
  #ow-chat :is(#ow-chat-launch,.ow-quick-link) svg { width: 23px; height: 23px; }
  #ow-chat-panel {
    right: 0 !important;
    bottom: calc(100% + 10px) !important;
    width: min(370px, calc(100vw - 24px)) !important;
    max-width: none !important;
    height: min(420px, calc(100dvh - 295px)) !important;
    max-height: calc(100dvh - 295px) !important;
  }
  #ow-chat-panel #ow-chat-close { min-width: 44px; min-height: 44px; }
}
