/* ==========================================================================
   PROCAD – sekcja /ai (wersja 1.3)
   Wszystkie style działają tylko wewnątrz elementów z klasą .pc-ai
   (każda sekcja strony ma tę klasę), więc nie wpływają na resztę serwisu.
   Kolory i odstępy zmienia się w jednym miejscu – w zmiennych poniżej.
   ========================================================================== */

.pc-ai {
  --pc-blue: #0B63C4;
  --pc-blue-dark: #084C96;
  --pc-blue-soft: #EAF3FD;
  --pc-blue-light: #8FC3FF;
  --pc-bg-soft: #F2F7FD;
  --pc-ink: #0E1B2C;
  --pc-text: #2E3F55;
  --pc-muted: #45566B;
  --pc-faint: #5A6B80;
  --pc-line: #DCE5EF;
  --pc-line-strong: #C9D5E3;
  --pc-orange: #C25A0E;
  --pc-orange-text: #9A4A00;
  --pc-orange-soft: #FFF8F2;
  --pc-orange-line: #F2C8A6;
  --pc-green: #1D8A50;
  --pc-green-text: #145C35;
  --pc-green-soft: #E7F6EE;
  --pc-red: #D64545;
  --pc-radius: 12px;
  --pc-wrap: 1200px;
  --pc-sec-pad: 96px;
  --pc-anchor-offset: 110px; /* wysokość przyklejonego nagłówka motywu */

  font-family: Roboto, system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--pc-ink);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.pc-ai *,
.pc-ai *::before,
.pc-ai *::after { box-sizing: border-box; }

/* Reset odstępów dodawanych przez WordPress / motyw – odstępy ustawiamy sami */
.pc-ai .is-layout-flow > *,
.pc-ai .is-layout-constrained > *,
.pc-ai.is-layout-flow > *,
.pc-ai.is-layout-constrained > * { margin-block-start: 0; margin-block-end: 0; }
.pc-ai p,
.pc-ai h1,
.pc-ai h2,
.pc-ai h3,
.pc-ai ol,
.pc-ai ul,
.pc-ai figure,
.pc-ai blockquote { margin: 0; }
.pc-ai h1,
.pc-ai h2,
.pc-ai h3 { font-family: inherit; color: inherit; }
.pc-ai a { color: var(--pc-blue); }
.pc-ai a:hover { color: var(--pc-blue-dark); }
.pc-ai[id],
.pc-ai [id] { scroll-margin-top: var(--pc-anchor-offset); }
/* Motyw klasyczny dodaje wewnątrz grup dodatkowy kontener – robimy go „przezroczystym” dla układu */
.pc-ai .wp-block-group__inner-container,
.pc-ai.wp-block-group > .wp-block-group__inner-container { display: contents; }

/* ---------- Układ ---------- */
.pc-ai.pc-ai-sec { padding: var(--pc-sec-pad) 0; }
.pc-ai.pc-ai-soft { background: var(--pc-bg-soft); }
.pc-ai.pc-ai-white { background: #FFFFFF; }
.pc-ai .pc-ai-wrap { max-width: var(--pc-wrap); margin: 0 auto; padding: 0 24px; }
.pc-ai .pc-ai-stack { display: flex; flex-direction: column; gap: 16px; }
.pc-ai .pc-ai-gap-s { gap: 8px; }
.pc-ai .pc-ai-head { margin-bottom: 40px; }
.pc-ai .pc-ai-head-row { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; }
.pc-ai .pc-ai-head-row > :first-child { flex: 999 1 560px; min-width: 0; }
.pc-ai .pc-ai-g2,
.pc-ai .pc-ai-g3,
.pc-ai .pc-ai-g4 { display: grid; gap: 24px; }
.pc-ai .pc-ai-g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pc-ai .pc-ai-g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pc-ai .pc-ai-g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.pc-ai .pc-ai-mt { margin-top: 24px; }
.pc-ai .pc-ai-mt-l { margin-top: 48px; }

/* Bloki Kolumny (WordPress) – układ niezależny od stylów rdzenia */
.pc-ai .wp-block-columns { display: flex; flex-wrap: wrap; gap: 56px; align-items: center; margin-left: 0; margin-right: 0; }
.pc-ai .wp-block-columns:not(.pc-ai-mt-l) { margin-top: 0; margin-bottom: 0; }
.pc-ai .wp-block-columns.pc-ai-mt-l { margin-top: 48px; margin-bottom: 0; }
.pc-ai .wp-block-column { flex: 1 1 0; min-width: 0; }
.pc-ai .wp-block-column.pc-ai-col-main { flex: 999 1 500px; }
.pc-ai .wp-block-column.pc-ai-col-side { flex: 1 1 420px; }
.pc-ai .pc-ai-cols-top { align-items: flex-start; gap: 40px; }
.pc-ai .wp-block-column.pc-ai-col-checks { flex: 1 1 300px; }
.pc-ai .wp-block-column.pc-ai-col-products { flex: 999 1 600px; }
.pc-ai .wp-block-column.pc-ai-col-text { flex: 1 1 340px; }
.pc-ai .wp-block-column.pc-ai-col-form { flex: 999 1 520px; }

/* ---------- Typografia ---------- */
.pc-ai .pc-ai-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 700; color: var(--pc-blue); margin-bottom: 14px; }
.pc-ai .pc-ai-eyebrow::before { content: ""; width: 32px; height: 3px; border-radius: 2px; background: currentColor; flex: none; }
.pc-ai .pc-ai-eyebrow.pc-ai-orange { color: var(--pc-orange); }
.pc-ai .pc-ai-eyebrow.pc-ai-on-blue { color: #FFFFFF; }
.pc-ai .pc-ai-h1 { font-size: 64px; line-height: 1.04; font-weight: 900; letter-spacing: -.025em; margin-bottom: 24px; }
.pc-ai .pc-ai-h1 strong { color: var(--pc-blue); font-weight: inherit; }
.pc-ai .pc-ai-h2 { font-size: 42px; line-height: 1.12; font-weight: 900; letter-spacing: -.015em; margin-bottom: 18px; }
.pc-ai .pc-ai-h3 { font-size: 20px; line-height: 1.3; font-weight: 700; }
.pc-ai .pc-ai-h3-l { font-size: 28px; line-height: 1.2; font-weight: 900; letter-spacing: -.01em; margin-bottom: 8px; }
.pc-ai .pc-ai-lead { font-size: 18px; color: var(--pc-muted); max-width: 680px; }
.pc-ai .pc-ai-hero-lead { font-size: 19px; color: var(--pc-muted); max-width: 560px; margin-bottom: 36px; }
.pc-ai .pc-ai-small { font-size: 14px; color: var(--pc-muted); }
.pc-ai .pc-ai-note { font-size: 12px; color: var(--pc-faint); margin-top: 14px; }
.pc-ai .pc-ai-kicker { font-size: 14px; font-weight: 700; color: var(--pc-blue); }
.pc-ai .pc-ai-kicker.pc-ai-orange { color: #B85400; }
.pc-ai .pc-ai-more { font-weight: 500; }
.pc-ai .pc-ai-more a { text-decoration: none; font-weight: 500; }

/* ---------- Przyciski ---------- */
.pc-ai .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 14px; margin: 0; }
.pc-ai .wp-block-button { margin: 0; }
.pc-ai .pc-ai-btn .wp-block-button__link,
.pc-ai .pc-ai-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 24px; border-radius: 6px; border: 1px solid var(--pc-blue);
  background: var(--pc-blue); color: #FFFFFF; font-family: inherit; font-size: 16px; font-weight: 500;
  line-height: 1.2; text-decoration: none; cursor: pointer; transition: background .15s, border-color .15s;
}
.pc-ai .pc-ai-btn .wp-block-button__link:hover,
.pc-ai .pc-ai-button:hover { background: var(--pc-blue-dark); border-color: var(--pc-blue-dark); color: #FFFFFF; }
.pc-ai .pc-ai-btn-line .wp-block-button__link,
.pc-ai .pc-ai-button.pc-ai-button-line { background: #FFFFFF; color: var(--pc-blue); }
.pc-ai .pc-ai-btn-line .wp-block-button__link:hover,
.pc-ai .pc-ai-button.pc-ai-button-line:hover { background: #EEF5FD; color: var(--pc-blue-dark); }
.pc-ai .pc-ai-btn-orange .wp-block-button__link { background: var(--pc-orange); border-color: var(--pc-orange); }
.pc-ai .pc-ai-btn-orange .wp-block-button__link:hover { background: #A44A08; border-color: #A44A08; }
.pc-ai .pc-ai-btn-white .wp-block-button__link { background: #FFFFFF; color: var(--pc-blue); border-color: #FFFFFF; }
.pc-ai :focus-visible { outline: 3px solid var(--pc-blue-light); outline-offset: 2px; }

/* ---------- Karty ---------- */
.pc-ai .pc-ai-card { background: #FFFFFF; border: 1px solid var(--pc-line); border-radius: var(--pc-radius); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.pc-ai .pc-ai-card.pc-ai-card-s { padding: 18px; gap: 6px; }
.pc-ai .pc-ai-card .pc-ai-push { margin-top: auto; padding-top: 10px; }
.pc-ai .pc-ai-card .pc-ai-meta { margin-top: auto; padding-top: 14px; border-top: 1px solid #E6ECF2; font-size: 14px; color: var(--pc-muted); }
.pc-ai .pc-ai-card .pc-ai-meta strong { color: var(--pc-ink); }
.pc-ai .pc-ai-card-media { padding: 0; overflow: hidden; }
.pc-ai .pc-ai-card-media > :not(.pc-ai-media) { padding-left: 20px; padding-right: 20px; }
.pc-ai .pc-ai-card-media > :last-child { padding-bottom: 20px; }
.pc-ai .pc-ai-media { height: 160px; background: #EEF4FA; border-bottom: 1px solid var(--pc-line); display: flex; align-items: center; justify-content: center; font-size: 13px; color: var(--pc-faint); margin-bottom: 6px; text-align: center; padding: 0 16px; }
.pc-ai .pc-ai-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-ai .pc-ai-tag { align-self: flex-start; display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: var(--pc-blue-soft); color: #0B4F9C; }
.pc-ai .pc-ai-tag.pc-ai-tag-new { background: #FFF1E6; color: var(--pc-orange-text); }
.pc-ai .pc-ai-tag.pc-ai-tag-green { background: var(--pc-green-soft); color: var(--pc-green-text); }
.pc-ai .pc-ai-banner { display: flex; flex-wrap: wrap; gap: 12px 32px; align-items: center; justify-content: space-between; background: #FFFFFF; border: 1px solid var(--pc-line); border-radius: var(--pc-radius); padding: 18px 24px; font-size: 16px; }
.pc-ai .pc-ai-banner.pc-ai-banner-soft { background: var(--pc-bg-soft); border-color: transparent; }
.pc-ai .pc-ai-banner.pc-ai-banner-orange { background: var(--pc-orange-soft); border-color: var(--pc-orange-line); }
.pc-ai .pc-ai-banner.pc-ai-banner-orange a { color: #B85400; }
.pc-ai .pc-ai-banner p { margin: 0; }

/* ---------- Hero ---------- */
.pc-ai.pc-ai-hero { background: linear-gradient(180deg, #EAF3FD 0%, #FFFFFF 100%); padding: 56px 0 72px; }
.pc-ai .pc-ai-badge { display: inline-flex; flex-wrap: wrap; row-gap: 6px; align-items: center; gap: 10px; background: #FFFFFF; border: 1px solid #CFE0F5; border-radius: 999px; padding: 8px 18px 8px 8px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(11, 99, 196, .08); font-size: 15px; font-weight: 500; }
.pc-ai .pc-ai-badge strong { white-space: nowrap; background: var(--pc-blue); color: #FFFFFF; font-weight: 700; padding: 6px 14px; border-radius: 999px; }
.pc-ai.pc-ai-hero .wp-block-buttons { margin-bottom: 40px; }
.pc-ai .pc-ai-stats { display: flex; gap: 32px; flex-wrap: wrap; }
.pc-ai .pc-ai-stat { font-size: 14px; color: var(--pc-muted); }
.pc-ai .pc-ai-stat strong { display: block; font-size: 24px; color: var(--pc-ink); font-variant-numeric: tabular-nums; }

/* Konsola asystenta (hero) */
.pc-ai .pc-ai-console { background: #FFFFFF; border: 1px solid var(--pc-line); border-radius: 16px; box-shadow: 0 20px 50px rgba(11, 40, 80, .12); overflow: hidden; }
.pc-ai .pc-ai-console-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 18px; border-bottom: 1px solid #E6ECF2; background: #F7FAFD; font-size: 13px; color: var(--pc-faint); }
.pc-ai .pc-ai-seg { display: flex; gap: 6px; background: #E9F0F8; padding: 4px; border-radius: 999px; }
.pc-ai .pc-ai-seg button { min-height: 36px; padding: 0 16px; border-radius: 999px; border: 0; background: transparent; color: var(--pc-muted); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.pc-ai .pc-ai-seg button.is-active { background: #FFFFFF; color: var(--pc-blue); box-shadow: 0 1px 3px rgba(11, 40, 80, .1); }
.pc-ai .pc-ai-console-body { padding: 22px 22px 26px; }
.pc-ai .pc-ai-scenario:not(.is-active) { display: none; }
.pc-ai .pc-ai-prompt { margin: 0 0 20px auto; max-width: 88%; width: fit-content; background: var(--pc-blue); color: #FFFFFF; border-radius: 14px 14px 4px 14px; padding: 12px 16px; font-size: 15px; }
.pc-ai .pc-ai-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; min-height: 196px; counter-reset: pcstep; }
.pc-ai .pc-ai-steps li { display: flex; gap: 12px; align-items: center; font-size: 15px; counter-increment: pcstep; transition: opacity .3s; }
.pc-ai .pc-ai-steps li::before { content: counter(pcstep); width: 24px; height: 24px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; background: #E6ECF2; color: var(--pc-faint); transition: background .3s, color .3s; }
.pc-ai .pc-ai-steps li.is-pending { opacity: .35; }
.pc-ai .pc-ai-steps li.is-active::before { background: var(--pc-blue); color: #FFFFFF; }
.pc-ai .pc-ai-steps li.is-done::before { content: "✓"; background: var(--pc-green); color: #FFFFFF; }
.pc-ai .pc-ai-tool { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: var(--pc-blue-soft); color: #0B4F9C; flex: none; min-width: 78px; text-align: center; }
.pc-ai .pc-ai-status { margin-top: 14px; padding: 12px 14px; border-radius: 10px; font-size: 15px; }
.pc-ai .pc-ai-status-work { background: #F4F6F8; color: var(--pc-faint); }
.pc-ai .pc-ai-status-done { background: var(--pc-green-soft); border: 1px solid #B9E3CB; color: var(--pc-green-text); font-weight: 500; }
.pc-ai .pc-ai-scenario .pc-ai-status { display: none; }
.pc-ai .pc-ai-scenario[data-state="work"] .pc-ai-status-work,
.pc-ai .pc-ai-scenario[data-state="done"] .pc-ai-status-done { display: block; }

/* Pasek kotwic */
.pc-ai.pc-ai-anchors { background: #FFFFFF; border-top: 1px solid #E6ECF2; border-bottom: 1px solid #E6ECF2; padding: 8px 0; }
.pc-ai .pc-ai-anchor-list { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 28px; font-size: 15px; }
.pc-ai .pc-ai-anchor-list strong { color: var(--pc-faint); margin-right: 8px; }
.pc-ai .pc-ai-anchor-list a { color: var(--pc-ink); text-decoration: none; font-weight: 500; padding: 10px 4px; border-bottom: 2px solid transparent; }
.pc-ai .pc-ai-anchor-list a:hover { color: var(--pc-blue); border-bottom-color: var(--pc-blue); }
.pc-ai .pc-ai-anchor-list a:last-child { color: var(--pc-blue); }

/* ---------- Przełączniki (role) ---------- */
.pc-ai .pc-ai-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.pc-ai .pc-ai-chips button { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--pc-line-strong); background: #FFFFFF; color: var(--pc-ink); font: inherit; font-size: 15px; cursor: pointer; }
.pc-ai .pc-ai-chips button.is-active { background: var(--pc-blue); border-color: var(--pc-blue); color: #FFFFFF; }
.pc-ai [data-pc-panel]:not(.is-active) { display: none; }
.pc-ai .pc-ai-role { display: flex; flex-wrap: wrap; gap: 24px; }
.pc-ai .pc-ai-role-pains { flex: 999 1 520px; min-width: 0; }
.pc-ai .pc-ai-label { font-size: 13px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--pc-faint); margin-bottom: 16px; }
.pc-ai .pc-ai-pains { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; counter-reset: pcpain; }
.pc-ai .pc-ai-pains li { display: flex; gap: 14px; align-items: baseline; font-size: 18px; counter-increment: pcpain; }
.pc-ai .pc-ai-pains li::before { content: "0" counter(pcpain); color: var(--pc-blue); font-weight: 700; font-size: 15px; }
.pc-ai .pc-ai-role-fix { flex: 1 1 340px; min-width: 0; background: var(--pc-blue); color: #FFFFFF; border-radius: var(--pc-radius); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.pc-ai .pc-ai-role-fix .pc-ai-label { color: #D6E8FB; margin: 0; }
.pc-ai .pc-ai-role-fix p { font-size: 21px; font-weight: 700; line-height: 1.3; }
.pc-ai .pc-ai-role-fix .pc-ai-role-path { margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .3); font-size: 15px; font-weight: 400; color: #E8F2FD; }
.pc-ai .pc-ai-role-fix .pc-ai-role-path strong { color: #FFFFFF; }

/* ---------- Kalkulator ---------- */
.pc-ai .pc-ai-calc { display: flex; flex-wrap: wrap; gap: 24px; }
.pc-ai .pc-ai-calc-inputs { flex: 999 1 520px; min-width: 0; display: grid; gap: 28px; }
.pc-ai .pc-ai-calc-row label { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; font-weight: 500; margin-bottom: 6px; }
.pc-ai .pc-ai-calc-row output { font-size: 18px; font-weight: 700; color: var(--pc-blue); white-space: nowrap; }
.pc-ai .pc-ai-calc-row input[type="range"] { width: 100%; height: 32px; accent-color: var(--pc-blue); margin: 0; }
.pc-ai .pc-ai-calc-result { flex: 1 1 340px; min-width: 0; background: #FFFFFF; border: 2px solid var(--pc-blue); border-radius: var(--pc-radius); padding: 32px; display: flex; flex-direction: column; gap: 6px; }
.pc-ai .pc-ai-calc-result .pc-ai-label { color: var(--pc-blue); margin: 0; }
.pc-ai .pc-ai-calc-big { font-size: 64px; font-weight: 900; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.pc-ai .pc-ai-calc-fte { margin-top: 18px; font-size: 28px; font-weight: 700; color: var(--pc-blue); }
.pc-ai .pc-ai-calc-result .pc-ai-button { margin-top: auto; }

/* ---------- Diagnoza ---------- */
.pc-ai .pc-ai-diag { display: flex; flex-wrap: wrap; gap: 32px; }
.pc-ai .pc-ai-diag-q { flex: 999 1 560px; min-width: 0; display: grid; gap: 32px; }
.pc-ai .pc-ai-diag fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.pc-ai .pc-ai-diag legend { font-size: 18px; font-weight: 700; margin-bottom: 14px; padding: 0; }
.pc-ai .pc-ai-opts { display: grid; gap: 10px; }
.pc-ai .pc-ai-opts-row { display: flex; flex-wrap: wrap; gap: 10px; }
.pc-ai .pc-ai-opts button { text-align: left; min-height: 52px; padding: 12px 18px; border-radius: 10px; border: 1px solid var(--pc-line-strong); background: #FFFFFF; color: var(--pc-ink); font: inherit; font-size: 16px; cursor: pointer; }
.pc-ai .pc-ai-opts-row button { min-height: 48px; padding: 0 22px; border-radius: 999px; font-size: 15px; text-align: center; }
.pc-ai .pc-ai-opts button[aria-pressed="true"] { background: var(--pc-blue); border-color: var(--pc-blue); color: #FFFFFF; }
.pc-ai .pc-ai-diag-out { flex: 1 1 360px; min-width: 0; background: #FFFFFF; border: 1px solid var(--pc-line); border-radius: var(--pc-radius); padding: 32px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 12px 32px rgba(11, 40, 80, .08); }
.pc-ai .pc-ai-diag-out .pc-ai-label { color: var(--pc-blue); margin: 0; }
.pc-ai .pc-ai-rec:not(.is-active) { display: none; }
.pc-ai .pc-ai-rec h3 { font-size: 26px; font-weight: 900; line-height: 1.2; margin-bottom: 8px; }
.pc-ai .pc-ai-rec p { color: var(--pc-muted); font-size: 16px; }
.pc-ai .pc-ai-local { display: none; padding: 12px 14px; border-radius: 8px; background: var(--pc-blue-soft); font-size: 14px; color: #0B4F9C; }
.pc-ai .pc-ai-diag[data-cloud="nie"] .pc-ai-local { display: block; }
.pc-ai .pc-ai-diag-out .pc-ai-button { margin-top: auto; }

/* ---------- AI Lab ---------- */
.pc-ai .pc-ai-lab-col { background: #F4F6F8; border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.pc-ai .pc-ai-lab-title { display: flex; gap: 8px; align-items: center; font-size: 15px; font-weight: 700; }
.pc-ai .pc-ai-lab-title::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #E06F1F; }
.pc-ai .pc-ai-lab-pilot .pc-ai-lab-title::before { background: var(--pc-blue); }
.pc-ai .pc-ai-lab-ready .pc-ai-lab-title::before { background: var(--pc-green); }
.pc-ai .pc-ai-lab-col .pc-ai-card h3 { font-size: 16px; }
.pc-ai .pc-ai-lab-col .pc-ai-card p { font-size: 14px; color: var(--pc-muted); }

/* ---------- AI lokalnie ---------- */
.pc-ai .pc-ai-checks { display: grid; gap: 16px; }
.pc-ai .pc-ai-check { position: relative; padding-left: 42px; font-size: 15px; color: var(--pc-muted); }
.pc-ai .pc-ai-check::before { content: "✓"; position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--pc-blue-soft); color: var(--pc-blue); display: flex; align-items: center; justify-content: center; font-weight: 700; }
.pc-ai .pc-ai-check strong { display: block; font-size: 16px; color: var(--pc-ink); }
.pc-ai .pc-ai-logos { display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: center; justify-content: space-between; border-top: 1px solid #E6ECF2; padding-top: 32px; margin-top: 56px; }
.pc-ai .pc-ai-logos p { min-width: 84px; height: 44px; border: 1px dashed #A9B8C9; border-radius: 6px; display: flex; align-items: center; justify-content: center; padding: 0 12px; font-size: 12px; color: var(--pc-faint); }
.pc-ai .pc-ai-logos img { height: 40px; width: auto; display: block; }

/* ---------- Moduł aktualności / formularz – miejsca na elementy motywu ---------- */
.pc-ai .pc-ai-slot { border: 2px dashed #9DB3CC; border-radius: var(--pc-radius); background: #FFFFFF; padding: 32px; text-align: center; color: var(--pc-faint); font-size: 15px; }
.pc-ai.pc-ai-blue { background: var(--pc-blue); color: #FFFFFF; }
.pc-ai.pc-ai-blue .pc-ai-h2 { color: #FFFFFF; }
.pc-ai .pc-ai-on-blue-text { font-size: 18px; color: #E8F2FD; }
.pc-ai .pc-ai-steps-list { display: grid; gap: 10px; color: #E8F2FD; font-size: 16px; margin-top: 28px; }
.pc-ai .pc-ai-form-box { background: #FFFFFF; color: var(--pc-ink); border-radius: var(--pc-radius); padding: 36px; }
.pc-ai .pc-ai-form-box .pc-ai-slot { border-color: #C9D5E3; }

/* ---------- Animacje: wspólne ---------- */
.pc-ai .pc-ai-anim-block { margin-top: 8px; }
.pc-ai .pc-ai-stage { position: relative; width: 100%; overflow: hidden; }
.pc-ai .pc-ai-stage-inner { position: absolute; left: 0; top: 0; transform-origin: 0 0; font-size: 15px; }
.pc-ai .pc-ai-legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; font-size: 15px; color: var(--pc-text); margin-top: 24px; }
.pc-ai .pc-ai-legend > div { display: flex; gap: 10px; align-items: flex-start; }
.pc-ai .pc-ai-legend i { flex: none; width: 12px; height: 12px; margin-top: 5px; border-radius: 50%; background: var(--pc-blue); }
.pc-ai .pc-ai-legend i.g { background: var(--pc-green); }
.pc-ai .pc-ai-legend i.r { background: var(--pc-red); }
.pc-ai .pc-ai-legend i.o { background: #E06F1F; }
.pc-ai .pc-ai-legend i.d { background: transparent; border: 2px dashed #9AA6B4; border-radius: 4px; }
.pc-ai .pc-ai-legend b { flex: none; color: var(--pc-blue); font-weight: 900; }
.pc-ai .pc-ai-node { position: absolute; background: #FFFFFF; border: 1px solid #CFDCEB; border-radius: 12px; display: flex; align-items: center; gap: 12px; padding: 0 16px; font-size: 15px; font-weight: 500; color: var(--pc-ink); box-shadow: 0 4px 14px rgba(11, 40, 80, .06); }
.pc-ai .pc-ai-node svg,
.pc-ai .pc-ai-ico { flex: none; width: 24px; height: 24px; stroke: var(--pc-blue); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pc-ai .pc-ai-line { position: absolute; height: 2px; background: #CFDCEB; transform-origin: 0 50%; }
.pc-ai .pc-ai-dot { position: absolute; width: 14px; height: 14px; border-radius: 50%; opacity: 0; }
.pc-ai .pc-ai-dot.q { background: var(--pc-blue); box-shadow: 0 0 0 4px rgba(11, 99, 196, .18); }
.pc-ai .pc-ai-dot.g { background: var(--pc-green); box-shadow: 0 0 0 4px rgba(29, 138, 80, .2); }
.pc-ai .pc-ai-dot.r { background: var(--pc-red); box-shadow: 0 0 0 4px rgba(214, 69, 69, .2); }

/* Animacje stoją, dopóki sekcja nie pojawi się na ekranie (klasę dodaje pc-ai.js) */
.pc-ai-js .pc-ai .pc-ai-anim:not(.is-visible) * { animation-play-state: paused !important; }

/* ---------- Animacja: Dane zostają w firmie ---------- */
.pc-ai .pc-ai-df-in { animation: pc-ai-df-in 7s infinite ease-in-out; }
.pc-ai .pc-ai-df-ai { animation: pc-ai-df-pulse 7s infinite ease-in-out; }
.pc-ai .pc-ai-df-out { animation: pc-ai-df-out 7s infinite ease-in-out; }
.pc-ai .pc-ai-df-esc { animation: pc-ai-df-esc 7s infinite ease-in-out; }
.pc-ai .pc-ai-df-bubble { opacity: 0; animation: pc-ai-df-bubble 7s infinite ease-in-out; }
.pc-ai .pc-ai-df-flash { opacity: 0; animation: pc-ai-df-flash 7s infinite ease-out; }
.pc-ai .pc-ai-df-lock { opacity: 0; animation: pc-ai-df-lock 7s infinite ease-in-out; }
@keyframes pc-ai-df-in { 0% { transform: translate(0, 0); opacity: 0 } 3% { opacity: 1 } 18% { transform: translate(var(--dx), var(--dy)); opacity: 1 } 21%, 100% { transform: translate(var(--dx), var(--dy)); opacity: 0 } }
@keyframes pc-ai-df-pulse { 0%, 20% { box-shadow: 0 8px 24px rgba(11, 99, 196, .25) } 28%, 38% { box-shadow: 0 0 0 10px rgba(11, 99, 196, .18), 0 8px 30px rgba(11, 99, 196, .45) } 46%, 100% { box-shadow: 0 8px 24px rgba(11, 99, 196, .25) } }
@keyframes pc-ai-df-out { 0%, 38% { transform: translate(0, 0); opacity: 0 } 41% { opacity: 1 } 50% { transform: translate(70px, 0); opacity: 1 } 53%, 100% { transform: translate(70px, 0); opacity: 0 } }
@keyframes pc-ai-df-bubble { 0%, 51% { opacity: 0; transform: translateY(8px) } 56%, 90% { opacity: 1; transform: translateY(0) } 95%, 100% { opacity: 0 } }
@keyframes pc-ai-df-esc { 0%, 58% { transform: translate(0, 0); opacity: 0 } 60% { opacity: 1 } 70% { transform: translate(232px, -30px); opacity: 1 } 77% { transform: translate(168px, -20px); opacity: 1 } 81%, 100% { transform: translate(168px, -20px); opacity: 0 } }
@keyframes pc-ai-df-flash { 0%, 69% { opacity: 0 } 71% { opacity: 1 } 82%, 100% { opacity: 0 } }
@keyframes pc-ai-df-lock { 0%, 70% { opacity: 0; transform: translateY(6px) } 74%, 93% { opacity: 1; transform: translateY(0) } 97%, 100% { opacity: 0 } }

/* ---------- Animacja: Serwery MCP ---------- */
.pc-ai .pc-ai-mcp-a { animation: pc-ai-mcp-a 7s infinite ease-in-out; }
.pc-ai .pc-ai-mcp-b { animation: pc-ai-mcp-b 7s infinite ease-in-out; }
.pc-ai .pc-ai-mcp-c { animation: pc-ai-mcp-c 7s infinite ease-in-out; }
.pc-ai .pc-ai-mcp-d { animation: pc-ai-mcp-d 7s infinite ease-in-out; }
.pc-ai .pc-ai-mcp-hit { animation: pc-ai-mcp-hit 7s infinite ease-in-out; }
.pc-ai .pc-ai-mcp-gate { animation: pc-ai-mcp-gate 7s infinite ease-in-out; }
.pc-ai .pc-ai-mcp-ask { opacity: 0; animation: pc-ai-mcp-ask 7s infinite ease-in-out; }
.pc-ai .pc-ai-mcp-ans { opacity: 0; animation: pc-ai-mcp-ans 7s infinite ease-in-out; }
@keyframes pc-ai-mcp-a { 0%, 6% { transform: translate(0, 0); opacity: 0 } 7% { opacity: 1 } 17% { transform: translate(var(--dx), var(--dy)); opacity: 1 } 19%, 100% { transform: translate(var(--dx), var(--dy)); opacity: 0 } }
@keyframes pc-ai-mcp-b { 0%, 22% { transform: translate(0, 0); opacity: 0 } 23% { opacity: 1 } 33% { transform: translate(var(--dx), var(--dy)); opacity: 1 } 35%, 100% { transform: translate(var(--dx), var(--dy)); opacity: 0 } }
@keyframes pc-ai-mcp-c { 0%, 46% { transform: translate(0, 0); opacity: 0 } 47% { opacity: 1 } 57% { transform: translate(var(--dx), var(--dy)); opacity: 1 } 59%, 100% { transform: translate(var(--dx), var(--dy)); opacity: 0 } }
@keyframes pc-ai-mcp-d { 0%, 60% { transform: translate(0, 0); opacity: 0 } 61% { opacity: 1 } 71% { transform: translate(var(--dx), var(--dy)); opacity: 1 } 73%, 100% { transform: translate(var(--dx), var(--dy)); opacity: 0 } }
@keyframes pc-ai-mcp-hit { 0%, 33% { background: #FFFFFF; border-color: #CFDCEB } 36%, 46% { background: #EAF3FD; border-color: #0B63C4; box-shadow: 0 0 0 4px rgba(11, 99, 196, .15) } 50%, 100% { background: #FFFFFF; border-color: #CFDCEB } }
@keyframes pc-ai-mcp-gate { 0%, 16%, 26%, 56%, 66%, 100% { box-shadow: 0 8px 24px rgba(11, 99, 196, .25) } 19%, 23%, 59%, 63% { box-shadow: 0 0 0 10px rgba(11, 99, 196, .16), 0 8px 30px rgba(11, 99, 196, .45) } }
@keyframes pc-ai-mcp-ask { 0%, 2% { opacity: 0; transform: translateY(8px) } 5%, 94% { opacity: 1; transform: translateY(0) } 98%, 100% { opacity: 0 } }
@keyframes pc-ai-mcp-ans { 0%, 72% { opacity: 0; transform: translateY(8px) } 76%, 94% { opacity: 1; transform: translateY(0) } 98%, 100% { opacity: 0 } }

/* ---------- Animacja: Przed i po ---------- */
.pc-ai .pc-ai-pp-track { position: absolute; height: 64px; border-radius: 12px; background: #F2F5F8; overflow: hidden; }
.pc-ai .pc-ai-pp-fill { height: 100%; overflow: hidden; border-radius: 12px; }
.pc-ai .pc-ai-pp-seg { height: 100%; display: flex; align-items: center; padding: 0 14px; font-size: 14px; font-weight: 500; white-space: nowrap; border-right: 2px solid #FFFFFF; flex: none; }
.pc-ai .pc-ai-pp-man { width: 0; animation: pc-ai-pp-man 9s infinite ease-in-out; }
.pc-ai .pc-ai-pp-plug { width: 0; animation: pc-ai-pp-plug 9s infinite ease-out; }
.pc-ai .pc-ai-pp-tman { opacity: 0; animation: pc-ai-pp-tman 9s infinite; }
.pc-ai .pc-ai-pp-tplug { opacity: 0; animation: pc-ai-pp-tplug 9s infinite; }
.pc-ai .pc-ai-pp-badge { opacity: 0; animation: pc-ai-pp-badge 9s infinite cubic-bezier(.2, 1.4, .4, 1); }
@keyframes pc-ai-pp-man { 0%, 4% { width: 0; opacity: 1 } 50%, 94% { width: 860px; opacity: 1 } 99% { width: 860px; opacity: 0 } 100% { width: 0; opacity: 0 } }
@keyframes pc-ai-pp-plug { 0%, 55% { width: 0; opacity: 1 } 62%, 94% { width: 100px; opacity: 1 } 99% { width: 100px; opacity: 0 } 100% { width: 0; opacity: 0 } }
@keyframes pc-ai-pp-tman { 0%, 49% { opacity: 0 } 53%, 94% { opacity: 1 } 99%, 100% { opacity: 0 } }
@keyframes pc-ai-pp-tplug { 0%, 61% { opacity: 0 } 65%, 94% { opacity: 1 } 99%, 100% { opacity: 0 } }
@keyframes pc-ai-pp-badge { 0%, 65% { opacity: 0; transform: scale(.8) } 70%, 94% { opacity: 1; transform: scale(1) } 99%, 100% { opacity: 0; transform: scale(1) } }

/* ---------- Animacja: Z modelu do dokumentów (dodatkowa) ---------- */
.pc-ai .pc-ai-md-scan { animation: pc-ai-md-scan 8s infinite linear; }
.pc-ai .pc-ai-md-chip { animation: pc-ai-md-chip 8s infinite ease-in-out; }
.pc-ai .pc-ai-md-doc { position: absolute; width: 200px; height: 240px; background: #FFFFFF; border: 1px solid #CFDCEB; border-radius: 12px; box-shadow: 0 10px 28px rgba(11, 40, 80, .12); overflow: hidden; opacity: 0; animation-duration: 8s; animation-iteration-count: infinite; animation-timing-function: cubic-bezier(.2, .9, .3, 1); }
.pc-ai .pc-ai-md-d1 { animation-name: pc-ai-md-d1; }
.pc-ai .pc-ai-md-d2 { animation-name: pc-ai-md-d2; }
.pc-ai .pc-ai-md-d3 { animation-name: pc-ai-md-d3; }
.pc-ai .pc-ai-md-bar { height: 8px; border-radius: 4px; background: #E3EAF2; }
@keyframes pc-ai-md-scan { 0%, 2% { transform: translateY(-60px); opacity: 0 } 4% { opacity: 1 } 24% { transform: translateY(340px); opacity: 1 } 26%, 100% { transform: translateY(340px); opacity: 0 } }
@keyframes pc-ai-md-chip { 0%, 24% { box-shadow: 0 6px 18px rgba(11, 99, 196, .25); transform: scale(1) } 28% { box-shadow: 0 0 0 10px rgba(11, 99, 196, .16), 0 8px 26px rgba(11, 99, 196, .45); transform: scale(1.05) } 34%, 100% { box-shadow: 0 6px 18px rgba(11, 99, 196, .25); transform: scale(1) } }
@keyframes pc-ai-md-d1 { 0%, 32% { opacity: 0; transform: translate(-260px, 70px) scale(.2) } 42%, 92% { opacity: 1; transform: translate(0, 0) scale(1) rotate(-6deg) } 97%, 100% { opacity: 0; transform: rotate(-6deg) } }
@keyframes pc-ai-md-d2 { 0%, 40% { opacity: 0; transform: translate(-380px, 30px) scale(.2) } 50%, 92% { opacity: 1; transform: translate(0, 0) scale(1) } 97%, 100% { opacity: 0 } }
@keyframes pc-ai-md-d3 { 0%, 48% { opacity: 0; transform: translate(-500px, -10px) scale(.2) } 58%, 92% { opacity: 1; transform: translate(0, 0) scale(1) rotate(6deg) } 97%, 100% { opacity: 0; transform: rotate(6deg) } }

/* ---------- Animacja: AI Lab – karty w ruchu (dodatkowa) ---------- */
.pc-ai .pc-ai-labx-col { position: absolute; top: 0; width: 352px; height: 420px; background: #F4F6F8; border-radius: 14px; }
.pc-ai .pc-ai-labx-head { position: absolute; left: 20px; top: 20px; font-size: 15px; font-weight: 700; display: flex; gap: 8px; align-items: center; }
.pc-ai .pc-ai-labx-head span { width: 10px; height: 10px; border-radius: 50%; }
.pc-ai .pc-ai-labx-card { position: absolute; width: 312px; background: #FFFFFF; border: 1px solid var(--pc-line); border-radius: 12px; padding: 14px 16px; }
.pc-ai .pc-ai-labx-card strong { display: block; font-size: 15px; margin-bottom: 4px; }
.pc-ai .pc-ai-labx-card span.t { display: block; font-size: 13px; color: var(--pc-muted); }
.pc-ai .pc-ai-labx-move { animation: pc-ai-labx-move 9s infinite cubic-bezier(.6, 0, .3, 1); box-shadow: 0 10px 26px rgba(11, 40, 80, .14); border-color: #B9CCE3; padding-right: 96px; }
.pc-ai .pc-ai-labx-new { opacity: 0; animation: pc-ai-labx-new 9s infinite ease-in-out; border-style: dashed; border-color: #E9B48A; background: var(--pc-orange-soft); }
.pc-ai .pc-ai-labx-b { position: absolute; right: 14px; top: 14px; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px; opacity: 0; }
.pc-ai .pc-ai-labx-b1 { background: #FFF1E6; color: var(--pc-orange-text); animation: pc-ai-labx-b1 9s infinite; }
.pc-ai .pc-ai-labx-b2 { background: var(--pc-blue-soft); color: #0B4F9C; animation: pc-ai-labx-b2 9s infinite; }
.pc-ai .pc-ai-labx-b3 { background: var(--pc-green-soft); color: var(--pc-green-text); animation: pc-ai-labx-b3 9s infinite; }
@keyframes pc-ai-labx-move { 0% { opacity: 0; transform: translate(0, 0) } 4%, 30% { opacity: 1; transform: translate(0, 0) } 40%, 65% { opacity: 1; transform: translate(384px, 0) } 75%, 92% { opacity: 1; transform: translate(768px, 0) } 96%, 100% { opacity: 0; transform: translate(768px, 0) } }
@keyframes pc-ai-labx-new { 0%, 80% { opacity: 0; transform: translateY(8px) } 85%, 93% { opacity: 1; transform: translateY(0) } 97%, 100% { opacity: 0 } }
@keyframes pc-ai-labx-b1 { 0%, 34% { opacity: 1 } 38%, 100% { opacity: 0 } }
@keyframes pc-ai-labx-b2 { 0%, 36% { opacity: 0 } 40%, 69% { opacity: 1 } 73%, 100% { opacity: 0 } }
@keyframes pc-ai-labx-b3 { 0%, 71% { opacity: 0 } 75%, 100% { opacity: 1 } }

/* ---------- Ograniczony ruch: od razu stan końcowy ---------- */
@media (prefers-reduced-motion: reduce) {
  .pc-ai .pc-ai-anim * { animation: none !important; }
  .pc-ai .pc-ai-dot, .pc-ai .pc-ai-md-scan, .pc-ai .pc-ai-df-flash { opacity: 0 !important; }
  .pc-ai .pc-ai-df-bubble, .pc-ai .pc-ai-df-lock, .pc-ai .pc-ai-mcp-ask, .pc-ai .pc-ai-mcp-ans,
  .pc-ai .pc-ai-pp-tman, .pc-ai .pc-ai-pp-tplug, .pc-ai .pc-ai-pp-badge, .pc-ai .pc-ai-labx-new { opacity: 1 !important; }
  .pc-ai .pc-ai-pp-man { width: 860px !important; }
  .pc-ai .pc-ai-pp-plug { width: 100px !important; }
  .pc-ai .pc-ai-md-doc { opacity: 1 !important; }
  .pc-ai .pc-ai-md-d1 { transform: rotate(-6deg) !important; }
  .pc-ai .pc-ai-md-d3 { transform: rotate(6deg) !important; }
  .pc-ai .pc-ai-labx-move { transform: translate(384px, 0) !important; opacity: 1 !important; }
  .pc-ai .pc-ai-labx-b2 { opacity: 1 !important; }
  .pc-ai .pc-ai-steps li { opacity: 1 !important; }
}

/* ---------- Responsywność ---------- */
@media (max-width: 960px) {
  .pc-ai { --pc-sec-pad: 72px; }
  .pc-ai .pc-ai-g3 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .pc-ai .pc-ai-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-ai .pc-ai-h1 { font-size: 46px; }
  .pc-ai .pc-ai-h2 { font-size: 34px; }
  .pc-ai .pc-ai-legend { grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 10px; }
}
@media (max-width: 600px) {
  .pc-ai { --pc-sec-pad: 56px; }
  .pc-ai .pc-ai-wrap { padding: 0 16px; }
  .pc-ai .pc-ai-g2,
  .pc-ai .pc-ai-g4 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .pc-ai .pc-ai-h1 { font-size: 36px; }
  .pc-ai .pc-ai-h2 { font-size: 29px; }
  .pc-ai .pc-ai-calc-big { font-size: 48px; }
  .pc-ai .pc-ai-card,
  .pc-ai .pc-ai-role-fix,
  .pc-ai .pc-ai-calc-result,
  .pc-ai .pc-ai-diag-out,
  .pc-ai .pc-ai-form-box { padding: 22px; }
  .pc-ai .pc-ai-pains li { font-size: 16px; }
  .pc-ai .pc-ai-anchor-list { gap: 0 18px; font-size: 14px; }
}

/* ==========================================================================
   v1.1 – komponenty dla podstron przemysłowych (/ai/inventor-vault-erp)
   Tylko nowe klasy – nic z wersji 1.0 nie zostało zmienione.
   ========================================================================== */

/* Statusy rozwiązań */
.pc-ai .pc-ai-tag.pc-ai-st-pilot { background: var(--pc-green-soft); color: var(--pc-green-text); }
.pc-ai .pc-ai-tag.pc-ai-st-prep { background: #FBEFD9; color: #7A4700; }
.pc-ai .pc-ai-tag.pc-ai-st-plan { background: #E9EDF1; color: #46535F; }

/* Wyróżniki w hero */
.pc-ai .pc-ai-points { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.pc-ai .pc-ai-point { position: relative; padding-left: 26px; font-size: 15px; font-weight: 500; color: var(--pc-text); }
.pc-ai .pc-ai-point::before { content: "✓"; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--pc-blue-soft); color: var(--pc-blue); font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.pc-ai .pc-ai-caption { font-size: 12px; color: var(--pc-faint); margin-top: 10px; text-align: right; }

/* Karty produktów */
.pc-ai .pc-ai-products { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.pc-ai .pc-ai-card.pc-ai-card-main { border: 2px solid var(--pc-blue); box-shadow: 0 16px 40px rgba(11, 99, 196, .1); }
.pc-ai .pc-ai-card .pc-ai-h3-l { margin: 4px 0 0; }
.pc-ai .pc-ai-tagline { font-size: 16px; color: var(--pc-muted); }
.pc-ai .pc-ai-capgroup { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--pc-faint); margin-top: 8px; }
.pc-ai .pc-ai-capgroup::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 2px; background: #9AA6B4; }
.pc-ai .pc-ai-capgroup.pc-ai-cap-pilot::before { background: var(--pc-green); }
.pc-ai .pc-ai-capgroup.pc-ai-cap-prep::before { background: #C98A1C; }
.pc-ai .pc-ai-list { margin: 0; padding-left: 20px; display: grid; gap: 7px; font-size: 15px; line-height: 1.45; color: var(--pc-text); }
.pc-ai .pc-ai-list li { margin: 0; }
.pc-ai .pc-ai-list li::marker { color: #9DB3CC; }
.pc-ai .pc-ai-aside { font-size: 14px; color: var(--pc-muted); background: var(--pc-bg-soft); border-radius: 8px; padding: 10px 12px; }

/* Tabela porównawcza (blok Tabela) */
.pc-ai .pc-ai-table { margin: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--pc-line); border-radius: var(--pc-radius); background: #FFFFFF; }
.pc-ai .pc-ai-table table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; line-height: 1.45; margin: 0; }
.pc-ai .pc-ai-table th,
.pc-ai .pc-ai-table td { padding: 14px 16px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--pc-line); }
.pc-ai .pc-ai-table tbody tr:last-child td { border-bottom: 0; }
.pc-ai .pc-ai-table thead th { background: #E9EDF1; font-size: 14px; font-weight: 700; color: var(--pc-ink); }
.pc-ai .pc-ai-table thead th:last-child { background: var(--pc-blue); color: #FFFFFF; }
.pc-ai .pc-ai-table tbody td:first-child { width: 18%; font-weight: 700; color: var(--pc-text); }
.pc-ai .pc-ai-table tbody td:last-child { background: #F2F7FD; }
.pc-ai .pc-ai-table-hint { display: none; font-size: 13px; color: var(--pc-faint); margin-top: 8px; }

/* Kroki pilotażu */
.pc-ai .pc-ai-steps-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: pcpilot; position: relative; }
.pc-ai .pc-ai-step { counter-increment: pcpilot; position: relative; }
.pc-ai .pc-ai-step::before { content: counter(pcpilot); width: 40px; height: 40px; border-radius: 50%; background: var(--pc-blue); color: #FFFFFF; font-weight: 700; font-size: 17px; display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.pc-ai .pc-ai-dur { font-size: 14px; font-weight: 700; color: var(--pc-blue); }

/* FAQ (blok Szczegóły) */
.pc-ai .pc-ai-faq { max-width: 880px; border-top: 1px solid var(--pc-line); }
.pc-ai .pc-ai-faq-item { border-bottom: 1px solid var(--pc-line); margin: 0; }
.pc-ai .pc-ai-faq-item summary { cursor: pointer; list-style: none; position: relative; padding: 20px 48px 20px 0; font-size: 18px; font-weight: 500; line-height: 1.35; }
.pc-ai .pc-ai-faq-item summary::-webkit-details-marker { display: none; }
.pc-ai .pc-ai-faq-item summary::after { content: "+"; position: absolute; right: 8px; top: 14px; font-size: 26px; font-weight: 400; color: var(--pc-blue); }
.pc-ai .pc-ai-faq-item[open] summary::after { content: "–"; }
.pc-ai .pc-ai-faq-item > :not(summary) { color: var(--pc-muted); max-width: 72ch; margin: 0 0 20px; }

/* Mapa scenariuszy (interakcja + animacja) */
.pc-ai .pc-ai-map-body { display: flex; flex-wrap: wrap; gap: 24px; align-items: stretch; }
.pc-ai .pc-ai-map-diagram { flex: 999 1 560px; min-width: 0; background: #FFFFFF; border: 1px solid var(--pc-line); border-radius: 16px; padding: 24px; }
.pc-ai .pc-ai-map-detail { flex: 1 1 320px; min-width: 0; background: #FFFFFF; border: 1px solid var(--pc-line); border-radius: 16px; padding: 28px; box-shadow: 0 12px 32px rgba(11, 40, 80, .08); }
.pc-ai .pc-ai-map-layer { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 14px; align-items: center; }
.pc-ai .pc-ai-map-lname { font-size: 13px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--pc-faint); }
.pc-ai .pc-ai-map-nodes,
.pc-ai .pc-ai-map-band { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pc-ai .pc-ai-map-node { border: 1px solid #CFDCEB; border-radius: 10px; padding: 12px 14px; background: #FFFFFF; min-width: 0; transition: background .35s, border-color .35s, box-shadow .35s, opacity .35s; opacity: .55; }
.pc-ai .pc-ai-map-node b { display: block; font-size: 15px; line-height: 1.3; color: var(--pc-ink); }
.pc-ai .pc-ai-map-node span { display: block; font-size: 12.5px; line-height: 1.35; color: var(--pc-faint); margin-top: 2px; }
.pc-ai .pc-ai-map-node.pc-ai-map-pm { background: #F7FAFD; }
.pc-ai .pc-ai-map-node.pc-ai-map-soon { border-style: dashed; }
.pc-ai .pc-ai-map-node.is-on { opacity: 1; border-color: var(--pc-blue); background: var(--pc-blue-soft); box-shadow: 0 0 0 3px rgba(11, 99, 196, .12); }
.pc-ai .pc-ai-map-node.pc-ai-map-pm.is-on { background: var(--pc-blue); border-color: var(--pc-blue); }
.pc-ai .pc-ai-map-node.pc-ai-map-pm.is-on b,
.pc-ai .pc-ai-map-node.pc-ai-map-pm.is-on span { color: #FFFFFF; }
.pc-ai .pc-ai-map-band { height: 46px; position: relative; }
.pc-ai .pc-ai-map-lane { position: relative; justify-self: center; width: 2px; height: 100%; background: #DCE5EF; transition: background .35s; }
.pc-ai .pc-ai-map-lane.is-on { background: #8FC3FF; }
.pc-ai .pc-ai-map-lane::before,
.pc-ai .pc-ai-map-lane::after { content: ""; position: absolute; left: -5px; width: 12px; height: 12px; border-radius: 50%; opacity: 0; }
.pc-ai .pc-ai-map-lane.is-on::before { background: var(--pc-blue); box-shadow: 0 0 0 4px rgba(11, 99, 196, .18); animation: pc-ai-lane-down 2.4s infinite ease-in-out; }
.pc-ai .pc-ai-map-lane.is-on::after { background: var(--pc-green); box-shadow: 0 0 0 4px rgba(29, 138, 80, .2); animation: pc-ai-lane-up 2.4s infinite ease-in-out; }
@keyframes pc-ai-lane-down { 0% { top: -6px; opacity: 0 } 8% { opacity: 1 } 42% { top: calc(100% - 6px); opacity: 1 } 48%, 100% { top: calc(100% - 6px); opacity: 0 } }
@keyframes pc-ai-lane-up { 0%, 50% { top: calc(100% - 6px); opacity: 0 } 58% { opacity: 1 } 92% { top: -6px; opacity: 1 } 100% { top: -6px; opacity: 0 } }
.pc-ai .pc-ai-map-gate { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(.9); white-space: nowrap; font-size: 11.5px; font-weight: 700; color: #7A4700; background: #FBEFD9; border: 1px solid #E9C58A; border-radius: 999px; padding: 3px 9px; opacity: 0; transition: opacity .35s, transform .35s; z-index: 1; }
.pc-ai .pc-ai-map-gate.is-on { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.pc-ai .pc-ai-map-rules { margin-top: 18px; padding: 12px 14px; border: 1px dashed #9DB3CC; border-radius: 10px; font-size: 14px; color: var(--pc-muted); }
.pc-ai .pc-ai-map-detail .pc-ai-label { color: var(--pc-blue); margin: 0 0 10px; }
.pc-ai .pc-ai-map-detail h3 { font-size: 24px; font-weight: 900; line-height: 1.2; margin: 8px 0 14px; }
.pc-ai .pc-ai-map-detail dl { margin: 0; display: grid; gap: 12px; }
.pc-ai .pc-ai-map-detail dt { font-size: 13px; font-weight: 700; color: var(--pc-faint); text-transform: uppercase; letter-spacing: .03em; }
.pc-ai .pc-ai-map-detail dd { margin: 2px 0 0; font-size: 15.5px; color: var(--pc-text); }

/* Animacja: wycena z modelu (hero) */
.pc-ai .pc-ai-wy-card { position: absolute; background: #FFFFFF; border: 1px solid var(--pc-line); border-radius: 14px; box-shadow: 0 20px 50px rgba(11, 40, 80, .12); overflow: hidden; }
.pc-ai .pc-ai-wy-bar { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-bottom: 1px solid #E6ECF2; background: #F7FAFD; font-size: 13px; font-weight: 700; color: var(--pc-text); }
.pc-ai .pc-ai-wy-bar i { width: 10px; height: 10px; border-radius: 3px; background: var(--pc-green); font-style: normal; }
.pc-ai .pc-ai-wy-row { position: absolute; left: 0; right: 0; height: 30px; display: flex; align-items: center; gap: 8px; padding: 0 14px; font-size: 13px; color: var(--pc-text); border-bottom: 1px solid #EEF2F6; opacity: 0; }
.pc-ai .pc-ai-wy-row b { margin-left: auto; font-weight: 700; color: var(--pc-ink); font-variant-numeric: tabular-nums; }
.pc-ai .pc-ai-wy-row.pc-ai-wy-miss { background: #FFF4E5; color: #7A4700; }
.pc-ai .pc-ai-wy-row.pc-ai-wy-miss b { color: #9A4A00; }
.pc-ai .pc-ai-wy-row.pc-ai-wy-sum { background: var(--pc-green-soft); color: var(--pc-green-text); font-weight: 700; border-bottom: 0; }
.pc-ai .pc-ai-wy-row.pc-ai-wy-sum b { color: var(--pc-green-text); }
.pc-ai .pc-ai-wy-r1 { animation: pc-ai-wy-r1 10s infinite ease-out; }
.pc-ai .pc-ai-wy-r2 { animation: pc-ai-wy-r2 10s infinite ease-out; }
.pc-ai .pc-ai-wy-r3 { animation: pc-ai-wy-r3 10s infinite ease-out; }
.pc-ai .pc-ai-wy-r4 { animation: pc-ai-wy-r4 10s infinite ease-out; }
.pc-ai .pc-ai-wy-r5 { animation: pc-ai-wy-r5 10s infinite ease-out; }
.pc-ai .pc-ai-wy-r6 { animation: pc-ai-wy-r6 10s infinite ease-out; }
.pc-ai .pc-ai-wy-r7 { animation: pc-ai-wy-r7 10s infinite ease-out; }
@keyframes pc-ai-wy-r1 { 0%, 26% { opacity: 0; transform: translateX(-12px) } 30%, 93% { opacity: 1; transform: none } 98%, 100% { opacity: 0 } }
@keyframes pc-ai-wy-r2 { 0%, 33% { opacity: 0; transform: translateX(-12px) } 37%, 93% { opacity: 1; transform: none } 98%, 100% { opacity: 0 } }
@keyframes pc-ai-wy-r3 { 0%, 40% { opacity: 0; transform: translateX(-12px) } 44%, 93% { opacity: 1; transform: none } 98%, 100% { opacity: 0 } }
@keyframes pc-ai-wy-r4 { 0%, 47% { opacity: 0; transform: translateX(-12px) } 51%, 93% { opacity: 1; transform: none } 98%, 100% { opacity: 0 } }
@keyframes pc-ai-wy-r5 { 0%, 54% { opacity: 0; transform: translateX(-12px) } 58%, 93% { opacity: 1; transform: none } 98%, 100% { opacity: 0 } }
@keyframes pc-ai-wy-r6 { 0%, 61% { opacity: 0; transform: translateX(-12px) } 65%, 93% { opacity: 1; transform: none } 98%, 100% { opacity: 0 } }
@keyframes pc-ai-wy-r7 { 0%, 70% { opacity: 0; transform: scale(.96) } 74%, 93% { opacity: 1; transform: none } 98%, 100% { opacity: 0 } }
.pc-ai .pc-ai-wy-ask { opacity: 0; animation: pc-ai-wy-ask 10s infinite ease-out; }
@keyframes pc-ai-wy-ask { 0%, 2% { opacity: 0; transform: translateY(8px) } 6%, 93% { opacity: 1; transform: none } 98%, 100% { opacity: 0 } }
.pc-ai .pc-ai-wy-p1 { animation: pc-ai-wy-p1 10s infinite cubic-bezier(.5, 0, .3, 1); }
.pc-ai .pc-ai-wy-p2 { animation: pc-ai-wy-p2 10s infinite cubic-bezier(.5, 0, .3, 1); }
.pc-ai .pc-ai-wy-p3 { animation: pc-ai-wy-p3 10s infinite cubic-bezier(.5, 0, .3, 1); }
@keyframes pc-ai-wy-p1 { 0%, 10% { transform: none } 20%, 90% { transform: translate(-22px, -26px) } 97%, 100% { transform: none } }
@keyframes pc-ai-wy-p2 { 0%, 10% { transform: none } 20%, 90% { transform: translate(26px, 4px) } 97%, 100% { transform: none } }
@keyframes pc-ai-wy-p3 { 0%, 10% { transform: none } 20%, 90% { transform: translate(-6px, 30px) } 97%, 100% { transform: none } }
.pc-ai .pc-ai-wy-scan { animation: pc-ai-wy-scan 10s infinite ease-in-out; opacity: 0; }
@keyframes pc-ai-wy-scan { 0%, 12% { opacity: 0; transform: translateY(0) } 14% { opacity: 1 } 24% { opacity: 1; transform: translateY(150px) } 26%, 100% { opacity: 0; transform: translateY(150px) } }
.pc-ai .pc-ai-wy-arrow { animation: pc-ai-wy-arrow 10s infinite ease-in-out; }
@keyframes pc-ai-wy-arrow { 0%, 20%, 70%, 100% { opacity: .35 } 26%, 64% { opacity: 1 } }

/* Ograniczony ruch – stan końcowy */
@media (prefers-reduced-motion: reduce) {
  .pc-ai .pc-ai-map-lane::before,
  .pc-ai .pc-ai-map-lane::after { animation: none !important; opacity: 0 !important; }
  .pc-ai .pc-ai-wy-row,
  .pc-ai .pc-ai-wy-ask { opacity: 1 !important; transform: none !important; }
}

/* Responsywność komponentów v1.1 */
@media (max-width: 1040px) {
  .pc-ai .pc-ai-products { grid-template-columns: repeat(1, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .pc-ai .pc-ai-steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .pc-ai .pc-ai-table-hint { display: block; }
  .pc-ai .pc-ai-map-layer { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .pc-ai .pc-ai-map-band { margin-left: 0; }
  .pc-ai .pc-ai-map-diagram { padding: 16px; }
  .pc-ai .pc-ai-map-node { padding: 10px; }
  .pc-ai .pc-ai-map-node b { font-size: 13px; }
  .pc-ai .pc-ai-map-node span { display: none; }
  .pc-ai .pc-ai-map-gate { font-size: 10.5px; padding: 2px 6px; }
}
@media (max-width: 600px) {
  .pc-ai .pc-ai-steps-grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .pc-ai .pc-ai-faq-item summary { font-size: 16px; }
}

/* v1.1 – mapa: jeden szeroki węzeł „asystent AI” nad trzema kolumnami */
.pc-ai .pc-ai-map-node.pc-ai-map-wide { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.pc-ai .pc-ai-map-node .pc-ai-map-opt { display: inline-block; margin: 0; font-size: 13.5px; font-weight: 500; color: var(--pc-ink); background: #FFFFFF; border: 1px solid #CFDCEB; border-radius: 999px; padding: 6px 12px; }
.pc-ai .pc-ai-map-node .pc-ai-map-opt-soon { border-style: dashed; color: var(--pc-faint); font-weight: 400; }
@media (max-width: 760px) { .pc-ai .pc-ai-map-node.pc-ai-map-wide span.pc-ai-map-opt { display: inline-block; font-size: 12px; padding: 4px 10px; } }

/* ==========================================================================
   v1.2 – serwis Konica Minolta (/serwis-drukarek-konica-minolta-gdansk/)
   Tylko nowe klasy z prefiksem pc-ai-km-. Istniejące klasy bez zmian.
   ========================================================================== */
/* Miejsce na zdjęcie: akapit-zaślepka albo blok Obraz z tą klasą */
.pc-ai .pc-ai-km-photo { aspect-ratio: 4 / 3; width: 100%; margin: 0; border-radius: var(--pc-radius); overflow: hidden; }
.pc-ai p.pc-ai-km-photo { display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px; background: #E9F0F8; border: 2px dashed var(--pc-line-strong); color: var(--pc-faint); font-size: 14px; }
.pc-ai figure.pc-ai-km-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-ai .pc-ai-col-side .pc-ai-km-photo + .wp-block-buttons { margin-top: 20px; }
.pc-ai .pc-ai-km-models .pc-ai-card { gap: 8px; }

/* Interaktywne kafelki usług (kontrakt przełącznika z pc-ai.js) */
.pc-ai .pc-ai-km-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.pc-ai .pc-ai-km-tiles button { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 14px; min-height: 112px; padding: 16px; text-align: left; border-radius: var(--pc-radius); border: 1px solid var(--pc-line); background: #FFFFFF; color: var(--pc-ink); font: inherit; font-size: 15px; font-weight: 500; line-height: 1.3; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; }
.pc-ai .pc-ai-km-tiles button:hover { border-color: var(--pc-blue); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(11, 40, 80, .08); }
.pc-ai .pc-ai-km-tiles button.is-active { background: var(--pc-blue); border-color: var(--pc-blue); color: #FFFFFF; }
.pc-ai .pc-ai-km-tiles button.is-active .pc-ai-ico { stroke: #FFFFFF; }
.pc-ai .pc-ai-km-panel { background: #FFFFFF; border: 1px solid var(--pc-line); border-left: 4px solid var(--pc-blue); border-radius: 0 var(--pc-radius) var(--pc-radius) 0; padding: 22px 26px; font-size: 16px; color: var(--pc-text); }
.pc-ai .pc-ai-km-panel p + p { margin-top: 8px; }
.pc-ai .pc-ai-km-ptitle { font-size: 20px; font-weight: 700; color: var(--pc-ink); }
.pc-ai .pc-ai-km-when { font-size: 15px; color: var(--pc-muted); }
.pc-ai .pc-ai-km-when strong { color: var(--pc-ink); }
.pc-ai-js .pc-ai .pc-ai-km-panel.is-active { animation: pc-ai-km-in .3s ease-out; }
@keyframes pc-ai-km-in { from { opacity: 0; transform: translateY(6px) } to { opacity: 1; transform: none } }

@media (prefers-reduced-motion: reduce) {
  .pc-ai .pc-ai-km-panel.is-active { animation: none !important; }
  .pc-ai .pc-ai-km-tiles button { transition: none; }
  .pc-ai .pc-ai-km-tiles button:hover { transform: none; }
}
@media (max-width: 760px) {
  .pc-ai .pc-ai-km-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .pc-ai .pc-ai-km-tiles button { min-height: 92px; font-size: 14px; padding: 14px; }
  .pc-ai .pc-ai-km-panel { padding: 18px 20px; }
}

/* ==========================================================================
   v1.3 – strony wydarzeń (warsztaty, spotkania zamknięte), prefiks pc-ai-ev-
   Jasny, elegancki układ: zaproszenie, oś czasu agendy, miejsce, rejestracja.
   Tylko nowe klasy. Istniejące klasy bez zmian.
   ========================================================================== */
.pc-ai.pc-ai-ev-hero { background: linear-gradient(180deg, #F4F8FD 0%, #FFFFFF 70%); padding: 40px 0 88px; text-align: center; }
.pc-ai.pc-ai-ev-soft { background: #F7F9FC; }
.pc-ai .pc-ai-ev-banner { margin: 0 0 56px; border-radius: 20px; overflow: hidden; box-shadow: 0 30px 70px rgba(14, 27, 44, .16); }
.pc-ai .pc-ai-ev-banner img { width: 100%; height: auto; display: block; }
.pc-ai .pc-ai-ev-kicker { font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pc-blue); margin-bottom: 18px; }
.pc-ai .pc-ai-ev-title { font-size: 56px; line-height: 1.08; font-weight: 900; letter-spacing: -.025em; color: var(--pc-ink); max-width: 940px; margin: 0 auto 44px; }
.pc-ai .pc-ai-ev-title strong { color: var(--pc-blue); font-weight: inherit; white-space: nowrap; }
.pc-ai .pc-ai-ev-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 980px; margin: 0 auto; border-top: 1px solid var(--pc-line); border-bottom: 1px solid var(--pc-line); }
.pc-ai .pc-ai-ev-fact { padding: 22px 16px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pc-faint); }
.pc-ai .pc-ai-ev-fact + .pc-ai-ev-fact { border-left: 1px solid var(--pc-line); }
.pc-ai .pc-ai-ev-fact strong { display: block; margin-top: 6px; font-size: 19px; letter-spacing: 0; text-transform: none; color: var(--pc-ink); }
.pc-ai .pc-ai-ev-notice { font-size: 15px; color: var(--pc-muted); max-width: 640px; margin: 28px auto 32px; }
.pc-ai .pc-ai-ev-center { justify-content: center; }

.pc-ai .pc-ai-ev-h2 { font-size: 40px; line-height: 1.15; font-weight: 900; letter-spacing: -.015em; color: var(--pc-ink); margin-bottom: 22px; }
.pc-ai .pc-ai-ev-lead { font-size: 21px; line-height: 1.5; color: var(--pc-ink); margin-bottom: 18px; }
.pc-ai .pc-ai-ev-text { font-size: 17px; line-height: 1.7; color: var(--pc-text); }
.pc-ai .pc-ai-ev-intro { align-items: center; gap: 64px; }
.pc-ai .pc-ai-ev-quote { position: relative; background: #FFFFFF; border: 1px solid var(--pc-line); border-radius: 20px; padding: 44px 40px 40px; font-size: 21px; line-height: 1.55; color: var(--pc-ink); box-shadow: 0 24px 60px rgba(14, 27, 44, .08); }
.pc-ai .pc-ai-ev-quote::before { content: ""; position: absolute; left: 40px; top: 0; width: 56px; height: 4px; border-radius: 0 0 4px 4px; background: var(--pc-blue); }
.pc-ai .pc-ai-ev-quote strong { color: var(--pc-blue); }

/* Agenda – oś czasu */
.pc-ai .pc-ai-ev-agenda-cols { gap: 64px; }
.pc-ai .wp-block-column.pc-ai-ev-col-photo { flex: 1 1 380px; position: -webkit-sticky; position: sticky; top: calc(var(--pc-anchor-offset) + 16px); align-self: flex-start; } /* align-self: WordPress wymusza align-items: normal !important na Kolumnach – bez tego kolumna rozciąga się na całą wysokość i nie może „przyklejać się” */
.pc-ai .wp-block-column.pc-ai-ev-col-agenda { flex: 1.35 1 460px; }
.pc-ai .pc-ai-ev-photo { margin: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 24px 60px rgba(14, 27, 44, .12); }
.pc-ai .pc-ai-ev-photo img { width: 100%; height: auto; display: block; }
.pc-ai .pc-ai-ev-col-photo .pc-ai-ev-photo { margin-top: 8px; }
.pc-ai .pc-ai-ev-agenda { list-style: none; margin: 0; padding: 0 0 0 28px; position: relative; }
.pc-ai .pc-ai-ev-agenda::before { content: ""; position: absolute; left: 6px; top: 22px; bottom: 22px; width: 2px; background: #D6E2F0; }
.pc-ai .pc-ai-ev-agenda li { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid #E6ECF3; font-size: 16px; line-height: 1.45; color: var(--pc-text); }
.pc-ai .pc-ai-ev-agenda li:last-child { border-bottom: 0; }
.pc-ai .pc-ai-ev-agenda li::before { content: ""; position: absolute; left: -28px; top: 20px; width: 14px; height: 14px; border-radius: 50%; background: #FFFFFF; border: 2px solid #9DB6D3; box-sizing: border-box; }
.pc-ai .pc-ai-ev-agenda li strong { color: var(--pc-blue); font-weight: 700; font-variant-numeric: tabular-nums; }
.pc-ai .pc-ai-ev-agenda li.pc-ai-ev-session { font-size: 17px; font-weight: 500; color: var(--pc-ink); }
.pc-ai .pc-ai-ev-agenda li.pc-ai-ev-session::before { background: var(--pc-blue); border-color: var(--pc-blue); box-shadow: 0 0 0 4px rgba(11, 99, 196, .14); }
.pc-ai .pc-ai-ev-agenda li.pc-ai-ev-break { font-size: 15px; color: var(--pc-faint); }
.pc-ai .pc-ai-ev-agenda li.pc-ai-ev-break strong { color: var(--pc-faint); font-weight: 500; }
.pc-ai .pc-ai-ev-agenda li.pc-ai-ev-final { font-weight: 500; color: var(--pc-ink); }
.pc-ai .pc-ai-ev-agenda li.pc-ai-ev-final::before { border-color: var(--pc-blue); }

/* Miejsce */
.pc-ai .pc-ai-ev-venue { align-items: center; gap: 64px; }
.pc-ai .wp-block-column.pc-ai-ev-col-vtext { flex: 1 1 420px; }
.pc-ai .wp-block-column.pc-ai-ev-col-vphoto { flex: 1.25 1 440px; }
.pc-ai .pc-ai-ev-strip { margin: 56px 0 0; border-radius: 16px; overflow: hidden; }
.pc-ai .pc-ai-ev-strip img { width: 100%; height: auto; display: block; }

/* Rejestracja */
.pc-ai .pc-ai-ev-reg-head { max-width: 760px; margin: 0 auto 40px; text-align: center; }
.pc-ai .pc-ai-ev-reg-head .pc-ai-eyebrow { justify-content: center; }
.pc-ai .pc-ai-ev-seats { display: inline-block; margin-top: 18px; padding: 8px 18px; border-radius: 999px; background: var(--pc-blue-soft); color: #0B4F9C; font-size: 15px; font-weight: 700; }
.pc-ai .pc-ai-ev-form { max-width: 960px; margin: 0 auto; background: #FFFFFF; border: 1px solid var(--pc-line); border-radius: 20px; padding: 40px; box-shadow: 0 30px 70px rgba(14, 27, 44, .10); }

/* Organizatorzy */
.pc-ai.pc-ai-ev-org { padding: 64px 0 80px; text-align: center; }
.pc-ai .pc-ai-ev-org-label { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pc-faint); margin-bottom: 18px; }
.pc-ai .pc-ai-ev-logos { margin: 0 auto; max-width: 300px; }
.pc-ai .pc-ai-ev-logos img { width: 100%; height: auto; }

@media (max-width: 960px) {
  .pc-ai .pc-ai-ev-title { font-size: 42px; }
  .pc-ai .pc-ai-ev-h2 { font-size: 32px; }
  .pc-ai .pc-ai-ev-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-ai .pc-ai-ev-fact:nth-child(3) { border-left: 0; }
  .pc-ai .pc-ai-ev-fact:nth-child(n+3) { border-top: 1px solid var(--pc-line); }
  .pc-ai .wp-block-column.pc-ai-ev-col-photo { position: static; }
  .pc-ai .pc-ai-ev-intro, .pc-ai .pc-ai-ev-agenda-cols, .pc-ai .pc-ai-ev-venue { gap: 40px; }
}
@media (max-width: 600px) {
  .pc-ai.pc-ai-ev-hero { padding: 24px 0 56px; }
  .pc-ai .pc-ai-ev-banner { margin-bottom: 36px; border-radius: 14px; }
  .pc-ai .pc-ai-ev-title { font-size: 32px; }
  .pc-ai .pc-ai-ev-title strong { white-space: normal; }
  .pc-ai .pc-ai-ev-fact { padding: 16px 10px; }
  .pc-ai .pc-ai-ev-fact strong { font-size: 16px; }
  .pc-ai .pc-ai-ev-h2 { font-size: 28px; }
  .pc-ai .pc-ai-ev-lead, .pc-ai .pc-ai-ev-quote { font-size: 18px; }
  .pc-ai .pc-ai-ev-quote { padding: 36px 24px 28px; }
  .pc-ai .pc-ai-ev-quote::before { left: 24px; }
  .pc-ai .pc-ai-ev-agenda li { grid-template-columns: 52px minmax(0, 1fr); gap: 10px; font-size: 15px; }
  .pc-ai .pc-ai-ev-agenda li.pc-ai-ev-session { font-size: 15px; }
  .pc-ai .pc-ai-ev-form { padding: 20px; }
  .pc-ai .pc-ai-ev-strip { margin-top: 32px; border-radius: 10px; }
}

/* v1.3 – zwarte odstępy sekcji na stronach wydarzeń */
.pc-ai.pc-ai-ev-sec { --pc-sec-pad: 64px; }
.pc-ai.pc-ai-ev-hero { padding-bottom: 56px; }
.pc-ai .pc-ai-ev-banner { margin-bottom: 40px; }
.pc-ai .pc-ai-ev-title { margin-bottom: 32px; }
.pc-ai .pc-ai-ev-notice { margin: 20px auto 24px; }
.pc-ai .pc-ai-ev-reg-head { margin-bottom: 28px; }
.pc-ai.pc-ai-ev-org { padding: 48px 0 56px; }
.pc-ai .pc-ai-ev-gallery { margin: 40px 0 0; }
.pc-ai .pc-ai-ev-gallery img { width: 100%; height: auto; display: block; }

/* v1.3 – płynne przewijanie: odstęp pod nagłówkiem motywu także dla samych sekcji */
.pc-ai[id] { scroll-margin-top: var(--pc-anchor-offset); }

/* v1.3 – pojawianie się elementów (klasę dodaje pc-ai.js, bez JS wszystko widoczne) */
.pc-ai .pc-ai-ev-rv { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.pc-ai .pc-ai-ev-rv.is-in { opacity: 1; transform: none; }
.pc-ai .pc-ai-ev-photo img, .pc-ai .pc-ai-ev-banner img { transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.pc-ai .pc-ai-ev-photo:hover img { transform: scale(1.035); }

@media (prefers-reduced-motion: reduce) {
  .pc-ai .pc-ai-ev-rv { opacity: 1 !important; transform: none !important; transition: none !important; }
  .pc-ai .pc-ai-ev-photo:hover img { transform: none; }
}
@media (max-width: 960px) {
  .pc-ai.pc-ai-ev-sec { --pc-sec-pad: 48px; }
}
@media (max-width: 600px) {
  .pc-ai.pc-ai-ev-sec { --pc-sec-pad: 40px; }
  .pc-ai.pc-ai-ev-hero { padding-bottom: 40px; }
  .pc-ai .pc-ai-ev-gallery { margin-top: 28px; }
}
.pc-ai .pc-ai-ev-text + .pc-ai-ev-text { margin-top: 14px; }
.pc-ai .pc-ai-ev-intro .wp-block-column.pc-ai-col-main { flex: 1 1 460px; }
.pc-ai .pc-ai-ev-intro .wp-block-column.pc-ai-col-side { flex: 1 1 460px; }
.pc-ai.pc-ai-ev-hero .pc-ai-ev-center { margin-top: 32px; }
.pc-ai .pc-ai-ev-gallery { margin: 0 0 48px; }
@media (max-width: 600px) { .pc-ai .pc-ai-ev-gallery { margin: 0 0 32px; } }
/* v1.3 – gdy działa pc-ai.js, treść kolumny przypina skrypt (position: fixed) (odporne na overflow: hidden w motywie) */
.pc-ai .wp-block-column.pc-ai-ev-col-photo.pc-ai-ev-follow { position: relative; top: auto; }
.pc-ai .pc-ai-ev-follow-inner { box-sizing: border-box; }
