:root { --gutter: max(clamp(20px, 8.33vw, 120px), calc((100vw - 1200px) / 2)); }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: 'Inter', system-ui, sans-serif; font-optical-sizing: auto; background: #fff; color: #1A1A1A; -webkit-font-smoothing: antialiased; overflow-x: clip; }
a { color: #1A1A1A; text-decoration: none; }
a:hover { color: #FF5A00; }
input, textarea, select, button { font-family: inherit; }
img, svg, iframe { max-width: 100%; }
[id] { scroll-margin-top: 24px; }
:focus-visible { outline: 2px solid #007BFD; outline-offset: 2px; }
.site { min-height: 100vh; background: #fff; display: flex; flex-direction: column; }
.site > main { display: flex; flex-direction: column; flex-grow: 1; min-width: 0; }
.site > footer { margin-top: auto; }

figcaption > span { min-width: 0; flex: 1 1 0; }

/* Menu mobilne */
.nav-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; background: none; cursor: pointer; flex-direction: column; justify-content: center; gap: 5px; }
.nav-toggle span { display: block; height: 2px; background: #1A1A1A; transition: transform .2s, opacity .2s; }
.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Karuzela opinii */
.dot-on { background: #FF5A00 !important; }

/* Kalendarz */
.cal-nav, .cal-day, .cal-slot { font: inherit; color: inherit; cursor: pointer; }
.cal-nav { width: 36px; height: 36px; border: 0; border-radius: 50%; background: none; font-size: 20px; font-weight: 700; }
.cal-nav:hover:not(:disabled), .cal-day:hover:not(:disabled) { background: #FFE5D0; }
.cal-nav:disabled { opacity: .25; cursor: default; }
.cal-day { width: 40px; height: 40px; max-width: 100%; border: 0; border-radius: 50%; background: transparent; font-size: 14px; font-weight: 500; }
.cal-day:disabled { color: #BDBDBD; cursor: default; }
.cal-day[aria-pressed="true"] { background: #FF5A00; color: #fff; font-weight: 700; }
.cal-slot { padding: 10px 0; border-radius: 10px; border: 1.5px solid #D9D9D9; background: #fff; text-align: center; font-size: 14px; font-weight: 600; }
.cal-slot[aria-pressed="true"] { border-color: #FF5A00; background: #FFE5D0; }

/* Filtry bloga i komunikaty formularzy */
.pill-btn { cursor: pointer; }
.pill-on { background: #1A1A1A !important; color: #fff !important; border-color: #1A1A1A !important; }
.form-note { grid-column: 1 / -1; margin: 0; padding: 12px 16px; border-radius: 12px; background: #FFF4EA; color: #1A1A1A; font-size: 14px; line-height: 1.5; }
.form-note a { color: #FF5A00; font-weight: 600; }

/* Treść wpisów z content/blog/ (wartości jak w artykule z projektu) */
.post-body { font-size: 18px; line-height: 1.65; color: #444444; overflow-wrap: anywhere; }
.post-body p { margin: 0 0 16px; }
.post-body h2 { margin: 32px 0 12px; font-size: 24px; line-height: 1.25; font-weight: 800; letter-spacing: -0.5px; color: #1A1A1A; }
.post-body h2:first-child { margin-top: 0; }
.post-body h3 { margin: 28px 0 10px; font-size: 20px; line-height: 1.3; font-weight: 700; color: #1A1A1A; }
.post-body h4 { margin: 22px 0 8px; font-size: 17px; line-height: 1.35; font-weight: 700; color: #1A1A1A; }
.post-body h2 strong, .post-body h3 strong, .post-body h4 strong { font-weight: inherit; }
.post-body strong, .post-body b { color: #1A1A1A; }
.post-body ul, .post-body ol { margin: 0 0 18px; padding-left: 22px; display: flex; flex-direction: column; gap: 9px; }
.post-body li { font-size: 17px; line-height: 1.6; }
.post-body a { color: #1A1A1A; text-decoration: underline; text-decoration-color: #FF5A00; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.post-body a:hover { color: #FF5A00; }
.post-body blockquote { margin: 32px 0; padding: 6px 0 6px 22px; border-left: 3px solid #FF5A00; font-weight: 500; font-size: 21px; line-height: 1.45; color: #1A1A1A; }
.post-body blockquote p { margin: 0; }
.post-body blockquote p + p { margin-top: 12px; }
.post-body figure { margin: 28px 0; }
.post-body img { display: block; max-width: 100%; height: auto; border-radius: 12px; }
.post-body iframe { display: block; width: 100%; height: auto; border: 0; border-radius: 12px; }
.post-body table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.post-body th { background: #1A1A1A; color: #fff; text-align: left; padding: 12px 14px; font-weight: 700; }
.post-body th strong { color: inherit; }
.post-body td { padding: 12px 14px; border-bottom: 1px solid #E6E6E6; vertical-align: top; }

.table-scroll { overflow-x: auto; max-width: 100%; }
.table-scroll table { min-width: 560px; }

figure { break-inside: avoid; }

@media (max-width: 640px) {
  [style*="column-count"] { column-count: 1 !important; }
}

@media (min-width: 641px) and (max-width: 1024px) {
  [style*="column-count"] { column-count: 2 !important; }
}

@media (max-width: 1024px) {
  [style*="display: flex"]:not([style*="flex-direction: column"]):not(button):not(header):not(figcaption) { flex-wrap: wrap; }
  [style*="flex-shrink: 0"] { flex-shrink: 1 !important; max-width: 100%; }
  [style*="repeat(12,"] { grid-template-columns: minmax(0, 1fr) !important; row-gap: 40px; }
  [style*="repeat(12,"] > * { grid-column: 1 / -1 !important; }
  [style*="repeat(3,"]:not([data-keep]), [style*="repeat(4,"], [style*="1fr 1fr 1fr"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [style*="280px minmax"], [style*="250px minmax"], [style*="240px minmax"], [style*="1.5fr 1fr"], [style*="1.4fr 1fr"] { grid-template-columns: minmax(0, 1fr) !important; }
  [style*="position: sticky"] { position: static !important; }
  footer [style*="repeat(12,"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  footer [style*="repeat(12,"] > :first-child { grid-column: 1 / -1 !important; }
  footer [style*="repeat(12,"] > :not(:first-child) { grid-column: auto !important; }
}

@media (max-width: 900px) {
  .nav-toggle { display: flex; }
  header { position: relative; }
  header nav { display: none !important; position: absolute; z-index: 50; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0 !important; padding: 8px var(--gutter) 16px; background: #fff; border-bottom: 1px solid #E6E6E6; box-shadow: 0 16px 32px rgba(10,10,10,.08); }
  .nav-open header nav { display: flex !important; }
  header nav a { padding: 12px 0; font-size: 17px; }
  header > a svg { width: 220px; height: auto; }
}

@media (max-width: 640px) {
  [style*="grid-template-columns"]:not([data-keep]):not([style*="96px minmax"]):not([style*="repeat(7,"]) { grid-template-columns: minmax(0, 1fr) !important; }
  [style*="grid-template-columns"]:not([data-keep]):not([style*="96px minmax"]):not([style*="repeat(7,"]) > * { grid-column: 1 / -1 !important; }
  [style*="64px minmax(0, 1fr) 64px"] { grid-template-columns: 1fr 1fr !important; justify-items: center; }
  [style*="64px minmax(0, 1fr) 64px"] > figure { grid-column: 1 / -1 !important; grid-row: 1; }
  [style*="64px minmax(0, 1fr) 64px"] > button { grid-column: auto !important; }
  [style*="96px minmax"] { grid-template-columns: 56px minmax(0, 1fr) !important; gap: 12px !important; }
  footer [style*="repeat(12,"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  footer [style*="repeat(12,"] > :not(:first-child) { grid-column: auto !important; }
  a[style*="display: inline-flex"][style*="height:"], button[style*="height:"] { height: auto !important; min-height: 52px; padding-block: 10px !important; max-width: 100%; text-align: center; }
  [style*="padding: 40px"], [style*="padding: 36px"] { padding: 24px !important; }
  form[style*="display: flex"] > input, [style*="display: flex"] > input[type="search"] { flex-basis: 100%; }
  [style*="left: -24px"] { left: 12px !important; bottom: 12px !important; }
}
