/*
 * dg-styles.css — DatGrowth /en, fala 1 (Home, About us, AI SEO, AI Visibility Audit)
 * Przygotował @cto 2026-09-29. Wersja 2 (poprawka renderu 2026-09-29, patrz poprawki-renderu.md).
 * Źródło: makiety .dc.html (Home, About, AiHub, Audit) + ux-review.md + design system obecnej strony.
 * Wszystkie selektory są w przestrzeni .dg-*, więc nie ruszają istniejących stron.
 * Font: Satoshi-Variable ładuje motyw datgrowth-wp.
 *
 * Dlaczego selektory mają postać ".dg-section .x" (specyficzność 0,2,0):
 *  - global styles WP: ".is-layout-constrained > :where(...)" daje dzieciom grup max-width 960px
 *    i margin auto (to przesuwało akapity „lead” i treść boksów w prawo),
 *  - ":root :where(.is-layout-constrained) > *" dokłada 32px odstępu nad każdym blokiem,
 *  - ":root :where(p)" ustawia kolor #686D74 i font-weight 500,
 *  - motyw: ".wp-block-group .wp-block-group{padding-left:0;padding-right:0}" zerował padding kart,
 *  - core: ".wp-block-table td{border:1px solid}", "thead{border-bottom:3px solid}".
 */

:root {
  --dg-coral: #F66B4B;
  --dg-coral-text: #E0532F;
  --dg-coral-dark: #B8330F;
  --dg-eyebrow: #C8431F;
  --dg-grad-from: #E5532E;
  --dg-grad-to: #BE2805;
  --dg-band-from: #D4461F;
  --dg-band-to: #B02E0C;
  --dg-ink: #141416;
  --dg-body: #55585E;
  --dg-muted: #6B6E75;
  --dg-line: #ECECEF;
  --dg-line-soft: #F1F1F3;
  --dg-line-strong: #DCDCE0;
  --dg-grey: #F7F7F8;
  --dg-tint: #FFF5F1;
  --dg-tile: #FFF1EC;
  --dg-tint-line: #FBE1D8;
  --dg-radius: 22px;
  --dg-radius-lg: 28px;
  --dg-pill: 64px;
  --dg-font: 'Satoshi-Variable', 'Satoshi', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --dg-gap: 24px;
  --dg-section-y: clamp(64px, 7vw, 96px);
  --dg-wide: 1200px;
  --dg-gutter: max(20px, calc((100% - var(--dg-wide)) / 2));
  --dg-shadow: 0 1px 2px rgba(20, 20, 22, .04);
  --dg-shadow-lg: 0 30px 70px rgba(20, 20, 22, .10);
}

/* =========================================================
   1. SEKCJE I NEUTRALIZACJA UKŁADU WP (constrained / flow)
   ========================================================= */
.dg-section {
  box-sizing: border-box;
  position: relative;
  font-family: var(--dg-font);
  color: var(--dg-body);
  font-size: 17px;
  line-height: 1.65;
  padding: var(--dg-section-y) var(--dg-gutter) !important;
  margin: 0 !important;
  max-width: none !important;
}
.dg-section--grey { background: var(--dg-grey); }
/* Linia między dwiema białymi sekcjami (makieta: 1px #ECECEF) */
.dg-section:not(.dg-section--grey) + .dg-section:not(.dg-section--grey) { border-top: 1px solid var(--dg-line); }

/* Dzieci grup i kolumn: pełna szerokość kontenera, wyrównanie do lewej, bez 32px „block gap” */
.dg-section.is-layout-constrained > *,
.dg-section .is-layout-constrained > *,
.dg-section .is-layout-flow > *,
.dg-cta-band.is-layout-constrained > * {
  max-width: none;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0;
  margin-bottom: 0;
}
/* Rytm w pionie (zamiast block gap) */
.dg-section.is-layout-constrained > * + *,
.dg-section .is-layout-constrained > * + *,
.dg-section .is-layout-flow > * + *,
.dg-cta-band.is-layout-constrained > * + * { margin-top: 16px; }
.dg-section .dg-eyebrow + * { margin-top: 12px; }
.dg-section .dg-head + *,
.dg-section.is-layout-constrained > .wp-block-columns + .wp-block-columns { margin-top: var(--dg-gap); }
.dg-section .dg-head + * { margin-top: 48px; }
.dg-section.is-layout-constrained > * + .wp-block-columns { margin-top: 40px; }
.dg-section.is-layout-constrained > .wp-block-columns + .wp-block-columns { margin-top: var(--dg-gap); }
.dg-section.is-layout-constrained > .wp-block-columns + * { margin-top: 32px; }

.dg-section p { color: var(--dg-body); font-weight: 400; margin-bottom: 0; }
.dg-section strong { color: var(--dg-ink); font-weight: 700; }
.dg-section a { color: var(--dg-eyebrow); }
.dg-section a:hover { color: #A33416; }
.dg-section ol, .dg-section ul { padding-left: 1.3em; }
.dg-section li + li { margin-top: 8px; }
.dg-section li { color: var(--dg-body); }
.dg-section .dg-center { text-align: center; }

/* =========================================================
   2. TYPOGRAFIA
   ========================================================= */
.dg-section h1, .dg-section h2, .dg-section h3,
.dg-cta-band h2 { font-family: var(--dg-font); color: var(--dg-ink); margin-bottom: 0; }
.dg-section .dg-h1 { font-size: clamp(38px, 4.1vw, 58px); line-height: 1.06; font-weight: 700; letter-spacing: -0.035em; }
.dg-section .dg-h1--long { font-size: clamp(36px, 3.9vw, 54px); line-height: 1.08; }
.dg-section .dg-h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.12; font-weight: 700; letter-spacing: -0.03em; }
.dg-section .dg-h2--small { font-size: clamp(22px, 1.9vw, 26px); letter-spacing: -0.02em; }
.dg-section .dg-h3 { font-size: 20px; line-height: 1.3; font-weight: 700; letter-spacing: -0.01em; }
.dg-section .dg-h3--lg { font-size: 26px; letter-spacing: -0.02em; }
.dg-section .dg-h3--sub { margin-top: 32px !important; }
.dg-section .dg-h3--center { text-align: center; margin-top: 48px !important; }
.dg-section .dg-accent { color: var(--dg-coral-text); }
.dg-section .dg-lead { font-size: clamp(18px, 1.5vw, 20px); line-height: 1.6; max-width: 640px; }
.dg-section .dg-muted { color: var(--dg-muted); font-size: 15px; }
.dg-section .dg-eyebrow {
  font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--dg-eyebrow);
}
.dg-section .dg-eyebrow--muted { color: var(--dg-muted); letter-spacing: .1em; font-size: 12px; }
.dg-section .dg-eyebrow--rule { display: flex; align-items: center; gap: 16px; color: var(--dg-ink); font-size: 12px; }
.dg-section .dg-eyebrow--rule::after { content: ""; flex: 1; height: 1px; background: var(--dg-line-strong); }
.dg-section .dg-pill {
  width: fit-content; padding: 7px 14px; border-radius: 40px; background: #fff; border: 1px solid var(--dg-tint-line);
  font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--dg-eyebrow);
}
.dg-section .dg-breadcrumb { font-size: 14px; color: var(--dg-muted); }
.dg-section .dg-breadcrumb a { color: var(--dg-muted); text-decoration: none; }
.dg-section .dg-breadcrumb a:hover { color: var(--dg-ink); }
.dg-section .dg-trust-row { font-size: 15px; font-weight: 600; color: var(--dg-ink); }
.dg-section .dg-stat { font-size: clamp(28px, 2.6vw, 34px); line-height: 1.1; font-weight: 700; color: var(--dg-ink); letter-spacing: -0.02em; }
.dg-section .dg-stat--coral { color: var(--dg-coral-text); }
.dg-section .dg-stat__label { font-size: 14px; color: var(--dg-muted); margin-top: 4px !important; }
.dg-section .dg-price { font-size: 36px; font-weight: 700; color: var(--dg-ink); letter-spacing: -0.02em; }
.dg-section .dg-num { font-size: 13px; font-weight: 700; color: var(--dg-eyebrow); letter-spacing: .06em; }

/* =========================================================
   3. NAGŁÓWKI SEKCJI (stack / split / center)
   ========================================================= */
.dg-section .dg-head--split {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); column-gap: 60px; align-items: end;
}
.dg-section .dg-head--split > * { grid-column: 1; }
.dg-section .dg-head--split > .dg-lead,
.dg-section .dg-head--split > .dg-link { grid-column: 2; grid-row: 1 / span 2; align-self: end; margin: 0 !important; }
.dg-section .dg-head--split > .dg-link { justify-self: end; }
.dg-section .dg-head--split > .dg-lead { font-size: 18px; }
.dg-section .dg-head--split:has(> .dg-link) > .dg-lead { grid-column: 1; grid-row: auto; align-self: start; font-size: 16px; margin-top: 14px !important; max-width: 640px; }
.dg-section .dg-head--center { text-align: center; }
.dg-section .dg-head--center > .dg-lead { margin-left: auto !important; margin-right: auto !important; font-size: 18px; }

/* =========================================================
   4. PRZYCISKI I LINKI
   ========================================================= */
.dg-section .dg-buttons, .dg-cta-band .wp-block-buttons { gap: 14px; flex-wrap: wrap; }
.dg-section .dg-buttons { margin-top: 28px; }
.dg-section .dg-buttons + * { margin-top: 24px; }
.dg-btn .wp-block-button__link {
  font-family: var(--dg-font); font-size: 16px; font-weight: 600; line-height: 1.2;
  padding: 17px 28px; border-radius: var(--dg-pill); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease;
}
.dg-section .dg-btn--primary .wp-block-button__link {
  background: linear-gradient(180deg, var(--dg-grad-from), var(--dg-grad-to)); color: #fff; border: 0;
  box-shadow: 0 10px 24px rgba(204, 43, 6, .25);
}
.dg-section .dg-btn--primary .wp-block-button__link:hover { transform: translateY(-1px); color: #fff; }
.dg-section .dg-btn--secondary .wp-block-button__link { background: #fff; color: var(--dg-ink); border: 1px solid var(--dg-line-strong); }
.dg-section .dg-btn--secondary .wp-block-button__link:hover { border-color: var(--dg-ink); color: var(--dg-ink); }
.dg-btn--light .wp-block-button__link { background: #fff !important; color: var(--dg-ink) !important; border: 0; }
.dg-btn--outline-light .wp-block-button__link { background: transparent !important; color: #fff !important; border: 1.5px solid #fff; }
.dg-section .dg-buttons--full .wp-block-button { width: 100%; }
.dg-section .dg-buttons--full .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
.dg-btn .wp-block-button__link:focus-visible,
.dg-link a:focus-visible, .dg-chip:focus-visible, .dg-faq__item summary:focus-visible { outline: 3px solid var(--dg-coral); outline-offset: 3px; }
.dg-section .dg-link a { color: var(--dg-eyebrow); font-weight: 600; text-decoration: none; }
.dg-section .dg-link a:hover { text-decoration: underline; }

/* =========================================================
   5. HERO (dwie kolumny, poświata + kropki z makiety)
   ========================================================= */
.dg-section.dg-hero {
  padding-top: clamp(128px, 11vw, 160px) !important;
  background: radial-gradient(900px 480px at 78% 30%, rgba(246, 107, 75, .14), transparent 70%), #fff;
  border-bottom: 1px solid var(--dg-line);
  overflow: hidden;
}
.dg-section.dg-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .6;
  background-image: radial-gradient(rgba(20, 20, 22, .07) 1px, transparent 1px); background-size: 22px 22px;
}
.dg-section.dg-hero > * { position: relative; }
.dg-section .dg-hero__cols { gap: 56px; align-items: center !important; }
.dg-section .dg-hero__cols.dg-hero__cols--top { align-items: flex-start !important; } /* Kontakt: tekst i formularz od góry, 2026-10-07 */
.dg-section .dg-hero__main > .dg-breadcrumb + * { margin-top: 20px; }
.dg-section .dg-hero__main > .dg-pill + * { margin-top: 22px; }
.dg-section .dg-hero__main > .dg-h1 + * { margin-top: 24px; }
.dg-section .dg-hero__main > .dg-lead + p { margin-top: 14px; }
.dg-section .dg-hero__main > .dg-lead { max-width: 600px; }
.dg-section .dg-hero__main > .dg-stats { margin-top: 32px; }
.dg-section .dg-hero__side > * + * { margin-top: 14px; }
.dg-section .dg-hero__side > .dg-h2--small + * { margin-top: 6px; }
.dg-section .dg-hero__side > .dg-muted + * { margin-top: 20px; }

/* Wizual Home (prompt + raport + cited) */
.dg-vis { position: relative; display: flex; flex-direction: column; font-family: var(--dg-font); }
.dg-vis__prompt {
  position: relative; z-index: 2; align-self: flex-end; margin: 0 -12px -24px 0; width: 270px; max-width: 70%;
  background: #fff; border: 1px solid var(--dg-tint-line); border-left: 3px solid var(--dg-coral); border-radius: 14px;
  box-shadow: 0 18px 44px rgba(20, 20, 22, .10); padding: 14px 16px; display: flex; flex-direction: column; gap: 6px;
  font-size: 14px; line-height: 1.45; color: var(--dg-ink);
}
.dg-vis__label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--dg-eyebrow); }
.dg-vis__card {
  position: relative; z-index: 1; background: #fff; border: 1px solid var(--dg-line); border-radius: var(--dg-radius);
  box-shadow: 0 30px 70px rgba(20, 20, 22, .12); padding: 44px 26px 52px; display: flex; flex-direction: column; gap: 16px;
}
.dg-vis__legend { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13px; color: var(--dg-muted); }
.dg-vis__legend > span:last-child { display: inline-flex; align-items: center; gap: 6px; }
.dg-sq { display: inline-block; width: 10px; height: 10px; border-radius: 3px; background: #D5D5DA; margin-left: 8px; }
.dg-sq--you { background: var(--dg-coral); margin-left: 0; }
.dg-dot { display: inline-block; width: 10px; height: 10px; border-radius: 5px; background: var(--dg-coral); margin-right: 10px; }
.dg-vis__row { display: flex; gap: 14px; align-items: center; }
.dg-vis__name { width: 140px; flex-shrink: 0; font-size: 13px; font-weight: 500; color: #3B3D42; }
.dg-vis__bars { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.dg-vis__bars > span { display: block; height: 7px; border-radius: 4px; }
.dg-vis__you { background: linear-gradient(90deg, var(--dg-coral), var(--dg-coral-text)); }
.dg-vis__comp { background: #D5D5DA; }
.dg-vis__cited {
  position: relative; z-index: 2; align-self: flex-start; margin: -30px 0 0 -24px; width: 280px; max-width: 80%;
  background: #fff; border: 1px solid var(--dg-line); border-radius: 16px; box-shadow: 0 18px 44px rgba(20, 20, 22, .12);
  padding: 14px 18px; display: flex; gap: 12px; align-items: center; font-size: 14px; color: var(--dg-ink);
}
.dg-vis__cited small { display: block; font-size: 12px; color: var(--dg-muted); }
.dg-vis__ok { flex-shrink: 0; width: 36px; height: 36px; border-radius: 10px; background: #EAF7EF; color: #1B7A43; display: flex; align-items: center; justify-content: center; }

/* Karta ceny (Audit) */
.dg-section .dg-price-card {
  background: #fff; border: 1px solid var(--dg-line); border-radius: var(--dg-radius); box-shadow: var(--dg-shadow-lg);
  padding: 32px !important;
}
.dg-section .dg-price-card .dg-price { font-size: 44px; }
.dg-section .dg-price-card .dg-buttons { margin-top: 22px; }
.dg-section .dg-price-card .dg-muted { font-size: 14px; }

/* Zdjęcie + pływające plakietki (About, Home founder) */
.dg-section .dg-photo { position: relative; }
.dg-section .dg-photo .dg-placeholder {
  min-height: 460px; border: 0; border-radius: var(--dg-radius-lg);
  background: linear-gradient(160deg, var(--dg-tint) 0%, var(--dg-tint-line) 100%); color: #A33416; font-weight: 500;
}
.dg-section .dg-photo--hero .dg-placeholder { min-height: 440px; margin-left: 40px !important; margin-right: 12px !important; }
.dg-section .dg-namecard, .dg-section .dg-float {
  position: absolute; background: #fff; border-radius: 16px; box-shadow: 0 14px 34px rgba(20, 20, 22, .12);
  padding: 14px 18px; font-size: 13px; line-height: 1.4; color: var(--dg-muted); margin: 0 !important;
}
.dg-section .dg-namecard { left: 24px; right: 24px; bottom: 24px; }
.dg-section .dg-namecard strong, .dg-section .dg-float strong { font-size: 16px; color: var(--dg-ink); }
.dg-section .dg-float--tr { top: 24px; right: -8px; }
.dg-section .dg-float--tr strong, .dg-section .dg-float--bl strong { font-size: 24px; letter-spacing: -0.02em; }
.dg-section .dg-float--bl { bottom: 72px; left: 0; }
.dg-section .dg-float--br { bottom: -12px; right: 24px; }
.dg-section .dg-float--accent { border-left: 3px solid var(--dg-coral); }

/* =========================================================
   6. STATYSTYKI (hero Audit, pas pod hero Home)
   ========================================================= */
.dg-section .dg-stats { gap: 0 !important; border-top: 1px solid var(--dg-line); padding-top: 28px; }
.dg-section .dg-stats > .wp-block-column { padding: 0 24px; border-left: 1px solid var(--dg-line); }
.dg-section .dg-stats > .wp-block-column:first-child { padding-left: 0; border-left: 0; }
.dg-section.dg-proof-strip { padding-top: 44px !important; padding-bottom: 44px !important; border-bottom: 1px solid var(--dg-line); }
.dg-section .dg-stats--band { border-top: 0; padding-top: 0; }
.dg-section.dg-proof-strip + .dg-section { border-top: 0; }

/* =========================================================
   7. KARTY, SIATKI, IKONY
   ========================================================= */
.dg-section .dg-cards { gap: var(--dg-gap) !important; }
.dg-section .dg-card {
  background: #fff; border: 1px solid var(--dg-line); border-radius: var(--dg-radius);
  padding: 30px !important; box-shadow: var(--dg-shadow); box-sizing: border-box;
}
.dg-section .dg-card > * + * { margin-top: 10px; }
.dg-section .dg-card > .dg-h3 + p { margin-top: 10px; }
.dg-section .dg-card > .dg-link { margin-top: 16px; }
.dg-section .dg-card > .dg-buttons { margin-top: 22px; }
.dg-section .dg-card--tint { background: var(--dg-tint) !important; border-color: var(--dg-tint-line); }
.dg-section .dg-card--featured { border: 1.5px solid #F9C2B3; box-shadow: 0 20px 50px rgba(190, 40, 5, .10); }
.dg-section .dg-pricing .dg-card--featured { border: 2px solid var(--dg-coral); }
.dg-section .dg-pricing .dg-price { font-size: 28px; }
.dg-section .dg-card--center { display: flex; flex-direction: column; justify-content: center; }
.dg-section .dg-card--roomy { padding: 40px !important; }
.dg-section .dg-card--wide { margin-top: 48px !important; }
.dg-section .dg-card p { font-size: 16px; }
.dg-section .dg-card .dg-muted { font-size: 14px; }
.dg-section .dg-card p.dg-eyebrow { font-size: 13px; }

.dg-section .dg-icon {
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 52px; height: 52px; border-radius: 14px; background: var(--dg-tile); color: var(--dg-coral-text);
}
.dg-section .dg-icon svg { width: 23px; height: 23px; }
.dg-section .dg-icon--letter { font-size: 20px; font-weight: 700; font-family: var(--dg-font); }
.dg-section .dg-card > .dg-icon + * { margin-top: 20px; }
/* Karta z ikoną po lewej (makieta: usługi, lanes, ChatGPT Ads) */
.dg-section .dg-card--icon { display: grid !important; grid-template-columns: 52px minmax(0, 1fr); column-gap: 20px; align-content: start; }
.dg-section .dg-card--icon > * { grid-column: 2; }
.dg-section .dg-card--icon > .dg-icon { grid-column: 1; grid-row: 1 / span 8; margin-top: 0 !important; }
.dg-section .dg-card--icon > .dg-icon + * { margin-top: 0; }
.dg-section .dg-stack-card + .dg-stack-card { margin-top: 14px; }
.dg-section .dg-muted + .dg-stack-card { margin-top: 12px; }

.dg-section p.dg-tag, .dg-section .dg-card p.dg-tag {
  width: fit-content; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--dg-coral-dark); background: var(--dg-tile); border-radius: 20px; padding: 4px 10px;
}
.dg-section p.dg-tag--plain, .dg-section .dg-card p.dg-tag--plain { background: none; padding: 0; color: var(--dg-muted); letter-spacing: .08em; }
.dg-section .dg-lane p.dg-tag--plain { color: var(--dg-eyebrow); }
.dg-section p.dg-tag--solid, .dg-section .dg-card p.dg-tag--solid { background: var(--dg-coral-text); color: #fff; }
.dg-section .dg-card > .dg-tag--corner { position: absolute; top: 28px; right: 26px; margin: 0 !important; }
.dg-section .dg-service { position: relative; }
.dg-section .dg-service:not(.dg-card--icon) > .dg-h3, .dg-section .dg-service .dg-tag--corner + .dg-h3 { padding-right: 70px; }
.dg-section .dg-cards--4 .dg-service .dg-tag--corner { position: static; }
.dg-section .dg-cards--4 .dg-service .dg-tag--corner + .dg-h3 { padding-right: 0; }
.dg-section .dg-cards--4 .dg-card--icon { grid-template-columns: minmax(0, 1fr); }
.dg-section .dg-cards--4 .dg-card--icon > * { grid-column: 1; }
.dg-section .dg-cards--4 .dg-card--icon > .dg-icon { grid-row: auto; margin-bottom: 8px !important; }
.dg-section .dg-cards--4 .dg-card--icon > .dg-icon + * { margin-top: 10px; }

/* Hero AI SEO: trzy „lanes” jedna pod drugą, środkowa przesunięta jak w makiecie */
.dg-section .dg-lane { box-shadow: 0 18px 44px rgba(20, 20, 22, .07); padding: 24px 26px !important; }
.dg-section .dg-lane .dg-h3 { font-size: 18px; }
.dg-section .dg-lane p:not(.dg-tag) { font-size: 14px; line-height: 1.55; }
.dg-section .dg-lane > * + * { margin-top: 6px; }
.dg-section .dg-lane .dg-icon { width: 46px; height: 46px; border-radius: 13px; }
.dg-section .dg-card--icon.dg-lane { grid-template-columns: 46px minmax(0, 1fr); column-gap: 18px; }
@media (min-width: 1100px) { .dg-section .dg-lane:nth-of-type(2n) { margin-left: 40px !important; } }

/* Case studies */
.dg-section .dg-case { overflow: hidden; }
.dg-section .dg-case__img { margin: -30px -30px 22px !important; }
.dg-section .dg-case__img img { width: 100%; height: 190px; object-fit: cover; display: block; border-radius: 0; }
.dg-section .dg-case .dg-placeholder { margin: -30px -30px 22px !important; min-height: 190px; border: 0; border-radius: 0; background: linear-gradient(160deg, var(--dg-tint), var(--dg-tint-line)); }
.dg-section .dg-case__stat { margin-top: 14px !important; font-size: 14px; color: var(--dg-muted); }

/* Chipy */
.dg-section .dg-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 15px; }
.dg-section .dg-chips__label { font-size: 13px; color: var(--dg-muted); width: 100%; }
.dg-section .dg-chip, .dg-section a.dg-chip {
  display: inline-block; padding: 7px 14px; border-radius: 40px; border: 1px solid #E3E3E7; background: #fff;
  color: var(--dg-ink); font-size: 14px; font-weight: 500; text-decoration: none;
}
.dg-section a.dg-chip:hover { border-color: var(--dg-coral); color: var(--dg-ink); }
.dg-section .dg-chiplist { list-style: none; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 16px !important; }
.dg-section .dg-chiplist li { margin: 0 !important; background: #fff; border: 1px solid var(--dg-line-strong); border-radius: 40px; padding: 8px 16px; font-size: 14px; color: var(--dg-ink); }

/* Panel tint (Home: Digital PR) */
.dg-section .dg-panel-tint {
  background: var(--dg-tint); border: 1px solid var(--dg-tint-line); border-radius: var(--dg-radius-lg);
  padding: clamp(32px, 5vw, 64px) clamp(24px, 5vw, 72px) !important;
}
.dg-section .dg-quote-mark { display: block; font-size: 64px; line-height: .8; font-weight: 700; color: var(--dg-coral); font-family: Georgia, serif; }
.dg-section .dg-pullquote, .dg-section .dg-pullquote strong { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.35; font-weight: 600; color: var(--dg-ink); letter-spacing: -0.015em; }

/* Kolumny tekst | wizual */
.dg-section .dg-split { gap: clamp(32px, 5vw, 72px); }
.dg-section .dg-split--center { align-items: center !important; }
.dg-section .dg-split__left > .dg-head + *, .dg-section .dg-split__left > .dg-head ~ p { margin-top: 18px; }

/* Karta raportu (Home: wykres, AI SEO: słupki silników) */
.dg-report { background: #fff; border: 1px solid var(--dg-line); border-radius: var(--dg-radius); box-shadow: var(--dg-shadow-lg); overflow: hidden; font-family: var(--dg-font); color: var(--dg-ink); }
.dg-report__head { padding: 18px 24px; border-bottom: 1px solid var(--dg-line); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.dg-report__head--plain { padding: 0; border: 0; }
.dg-report__title { font-size: 15px; font-weight: 600; display: inline-flex; align-items: center; }
.dg-report__badge { font-size: 12px; font-weight: 600; color: var(--dg-muted); background: #F4F4F6; padding: 5px 10px; border-radius: 20px; white-space: nowrap; }
.dg-report__body { padding: 8px 24px 20px; }
.dg-report__row { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--dg-line-soft); font-size: 14px; }
.dg-report__row:last-child { border-bottom: 0; }
.dg-report__name { font-weight: 500; }
.dg-report__bar { margin-left: auto; width: 160px; max-width: 40%; height: 8px; border-radius: 4px; background: var(--dg-line-soft); }
.dg-report__bar > span { display: block; height: 8px; border-radius: 4px; background: var(--dg-coral); }
.dg-report__trend { width: 64px; text-align: right; font-size: 12px; font-weight: 600; }
.dg-report__trend--up { color: #1B7A43; }
.dg-report__trend--flat { color: #8A8D93; }
.dg-report__trend--down { color: var(--dg-eyebrow); }
.dg-report__kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-top: 16px; }
.dg-report__kpi { background: var(--dg-grey); border-radius: 12px; padding: 14px; }
.dg-report__kpi span { display: block; font-size: 12px; color: var(--dg-muted); }
.dg-report__kpi strong { display: block; font-size: 22px; font-weight: 600; margin-top: 4px; color: var(--dg-ink); }
.dg-report__chart { display: block; width: 100%; height: 150px; margin-top: 20px; }
.dg-report__legend { display: flex; gap: 18px; font-size: 12px; color: var(--dg-muted); margin-top: 16px; }
.dg-report__src { margin-left: auto; }

/* Audit: SEO report vs AI audit */
.dg-vs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; background: var(--dg-grey); border-radius: var(--dg-radius); padding: 24px; font-family: var(--dg-font); }
.dg-vs__h { font-size: 13px; font-weight: 600; color: var(--dg-muted); padding: 0 4px 4px; }
.dg-vs__h--b { text-align: right; }
.dg-vs__a, .dg-vs__b { border-radius: 12px; padding: 13px 16px; font-size: 14px; background: #fff; border: 1px solid var(--dg-line); color: var(--dg-muted); }
.dg-vs__b { border-color: #F9C2B3; color: var(--dg-ink); font-weight: 600; }

/* =========================================================
   8. PROCES / OŚ CZASU (gradientowe kółka + linia łącząca)
   ========================================================= */
.dg-section .dg-steps { position: relative; gap: 32px !important; }
.dg-section .dg-steps::before {
  content: ""; position: absolute; left: 60px; right: 60px; top: 30px; height: 2px;
  background: linear-gradient(90deg, var(--dg-coral), var(--dg-tint-line));
}
.dg-section .dg-step { position: relative; border: 0; padding: 0; }
.dg-section .dg-step__num {
  width: 60px; height: 60px; border-radius: 50%; box-sizing: border-box;
  background: linear-gradient(180deg, var(--dg-grad-from), var(--dg-grad-to));
  color: #fff !important; font-size: 22px; font-weight: 600; line-height: 1; letter-spacing: 0;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 8px #fff, 0 0 0 9px var(--dg-tint-line);
}
.dg-section--grey .dg-step__num { box-shadow: 0 0 0 8px var(--dg-grey), 0 0 0 9px var(--dg-tint-line); }
.dg-section .dg-step > .dg-step__num + * { margin-top: 22px; }
.dg-section .dg-step p:not(.dg-step__num):not(.dg-time) { font-size: 16px; }
.dg-section .dg-time { width: fit-content; font-size: 12px; font-weight: 600; color: var(--dg-ink); background: #fff; border: 1px solid var(--dg-line-strong); border-radius: 20px; padding: 4px 10px; }

/* =========================================================
   9. LISTY
   ========================================================= */
.dg-section .dg-industries { padding-left: 1.2em; }
.dg-section .dg-check, .dg-section .dg-cross { list-style: none; padding-left: 0; }
.dg-section .dg-check li, .dg-section .dg-cross li { position: relative; padding-left: 34px; }
.dg-section .dg-check li + li, .dg-section .dg-cross li + li { margin-top: 14px; }
.dg-section .dg-check li::before, .dg-section .dg-cross li::before {
  content: ""; position: absolute; left: 0; top: 3px; width: 22px; height: 22px; border-radius: 11px;
  background: var(--dg-tile) center / 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E0532F' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}
.dg-section .dg-cross li::before {
  background: #F1F1F3 center / 11px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A8D93' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");
}
.dg-section .dg-card--tint .dg-check li::before { background-color: #fff; }

/* =========================================================
   10. TABELA PORÓWNAWCZA (nadpisuje grube obramowania core/motywu)
   ========================================================= */
.dg-section .dg-compare { background: #fff; border: 1px solid var(--dg-line); border-radius: var(--dg-radius); overflow: hidden; box-shadow: var(--dg-shadow); }
.dg-section .dg-compare table { width: 100%; border-collapse: collapse; border: 0; font-size: 16px; font-weight: 400; margin: 0; }
.dg-section .dg-compare thead { border-bottom: 1px solid var(--dg-line) !important; }
.dg-section .dg-compare th, .dg-section .dg-compare td {
  border: 0 !important; border-bottom: 1px solid var(--dg-line-soft) !important;
  padding: 20px 26px; text-align: left; vertical-align: top; color: var(--dg-muted); background: transparent;
}
.dg-section .dg-compare tbody tr:last-child td { border-bottom: 0 !important; }
.dg-section .dg-compare th { font-size: 15px; font-weight: 600; }
.dg-section .dg-compare td:first-child { color: var(--dg-ink); font-weight: 600; }
.dg-section .dg-compare th:last-child, .dg-section .dg-compare td:last-child { background: var(--dg-tint); color: var(--dg-ink); font-weight: 600; }
.dg-section .dg-compare th:last-child { color: var(--dg-eyebrow); font-weight: 700; }
.dg-section .dg-compare td:last-child { padding-left: 54px; position: relative; }
.dg-section .dg-compare td:last-child::before {
  content: ""; position: absolute; left: 26px; top: 23px; width: 18px; height: 18px;
  background: center / 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E0532F' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}
@media (max-width: 781px) {
  .dg-section .dg-compare { overflow-x: auto; }
  .dg-section .dg-compare table { min-width: 640px; }
}

/* =========================================================
   11. OPINIE
   ========================================================= */
.dg-section .dg-quote { border: 0 !important; margin: 0; padding: 0 !important; }
.dg-section .dg-quote p { font-size: 17px; line-height: 1.6; color: var(--dg-ink); font-style: normal; }
.dg-section .dg-quote cite { display: block; font-style: normal; font-size: 14px; color: var(--dg-muted); margin-top: 12px; }
.dg-section .dg-quote cite strong { color: var(--dg-ink); }
.dg-section .dg-testimonial { display: flex !important; flex-direction: column; gap: 14px; }
.dg-section .dg-testimonial > * { margin: 0 !important; }
.dg-section .dg-quote__avatar img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; display: block; }
.dg-section .dg-quote-card { background: var(--dg-grey); border-radius: var(--dg-radius); padding: 28px 30px !important; }
.dg-section--grey .dg-quote-card { background: #fff; border: 1px solid var(--dg-line); }
.dg-section .dg-quote-card--tint { background: var(--dg-tint); border: 1px solid var(--dg-tint-line); }
.dg-section .dg-quote-card .dg-testimonial { flex-direction: row; align-items: flex-start; gap: 20px; }
.dg-section .dg-quote-card .dg-quote p { font-size: 19px; line-height: 1.5; font-weight: 500; }
.dg-section .dg-quote-card--tint > .dg-muted + * { margin-top: 14px; }
.dg-section .dg-quote-card, .dg-section .dg-banner { margin-top: 32px !important; }

/* Banner ChatGPT Ads (AI SEO) */
.dg-section .dg-banner { display: grid !important; grid-template-columns: 52px minmax(0, 1fr) auto; column-gap: 20px; align-items: center; background: #fff; border: 1px solid var(--dg-line); border-radius: var(--dg-radius); padding: 30px 36px !important; }
.dg-section .dg-banner > * { grid-column: 2; margin-top: 2px !important; }
.dg-section .dg-banner > .dg-icon { grid-column: 1; grid-row: 1 / span 3; margin: 0 !important; }
.dg-section .dg-banner > .dg-buttons { grid-column: 3; grid-row: 1 / span 3; margin: 0 !important; }
.dg-section .dg-banner p:not(.dg-eyebrow) { font-size: 15px; }

/* Placeholder (do podmiany) */
.dg-section .dg-placeholder {
  display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 200px; border: 2px dashed var(--dg-tint-line); border-radius: var(--dg-radius);
  background: var(--dg-tint); color: var(--dg-coral-dark); font-weight: 600; padding: 24px; box-sizing: border-box;
}

/* =========================================================
   12. FAQ (tytuł | akordeon w kartach)
   ========================================================= */
.dg-section .dg-faq__cols { gap: clamp(32px, 5vw, 64px); }
.dg-section .dg-faq__list > * + * { margin-top: 10px; }
.dg-section .dg-faq__item { background: #fff; border: 1px solid var(--dg-line); border-radius: 16px; padding: 0 !important; box-shadow: var(--dg-shadow); }
.dg-section .dg-faq__item[open] { box-shadow: 0 10px 30px rgba(20, 20, 22, .06); }
.dg-section .dg-faq__item summary {
  cursor: pointer; list-style: none; padding: 20px 24px; font-size: 17px; font-weight: 600; color: var(--dg-ink);
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.dg-section .dg-faq__item summary::-webkit-details-marker { display: none; }
.dg-section .dg-faq__item summary::after { content: "+"; color: var(--dg-muted); font-size: 22px; line-height: 1; font-weight: 400; }
.dg-section .dg-faq__item[open] summary::after { content: "–"; color: var(--dg-coral-text); }
.dg-section .dg-faq__item > :not(summary) { margin: 0 24px 14px !important; font-size: 16px; }
.dg-section .dg-faq__item > :last-child { margin-bottom: 22px !important; }
.dg-section .dg-faq__item ol, .dg-section .dg-faq__item ul { padding-left: 1.3em; }

/* =========================================================
   13. PASEK CTA
   ========================================================= */
.dg-cta-band {
  box-sizing: border-box; font-family: var(--dg-font);
  background: linear-gradient(135deg, var(--dg-band-from), var(--dg-band-to)); color: #fff; border-radius: 32px;
  width: min(var(--dg-wide), calc(100% - 32px)); max-width: none !important;
  margin: 0 auto var(--dg-section-y) !important; padding: clamp(40px, 5vw, 64px) clamp(24px, 6vw, 80px) !important;
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 48px; align-items: center;
}
.dg-cta-band > * { grid-column: 1; }
.dg-cta-band > .wp-block-buttons { grid-column: 2; grid-row: 1 / span 2; margin: 0 !important; justify-content: flex-end; }
.dg-cta-band .dg-cta-band__title { color: #fff !important; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.12; font-weight: 700; letter-spacing: -0.03em; max-width: 760px; }
.dg-cta-band p, .dg-cta-band .dg-cta-band__sub { color: #fff !important; font-size: 17px; font-weight: 500; opacity: .92; }
.dg-cta-band .dg-cta-band__link a { color: #fff; font-weight: 700; }
.dg-section.dg-faq + .dg-cta-band, .dg-section + .dg-cta-band { margin-top: 0 !important; }

/* =========================================================
   14. MOBILE (rekomendacje z ux-review.md)
   ========================================================= */
@media (max-width: 1099px) {
  .dg-section .dg-head--split { grid-template-columns: minmax(0, 1fr); }
  .dg-section .dg-head--split > .dg-lead, .dg-section .dg-head--split > .dg-link { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 14px !important; }
}
@media (max-width: 781px) {
  .dg-section { font-size: 16px; }
  .dg-section.dg-hero { padding-top: 112px !important; }
  .dg-section .dg-card { padding: 22px !important; }
  .dg-section .dg-stats { display: grid !important; grid-template-columns: 1fr 1fr; row-gap: 20px; }
  .dg-section .dg-stats > .wp-block-column { border-left: 0; padding: 0; }
  .dg-section .dg-steps::before { left: 29px; right: auto; top: 30px; bottom: 30px; width: 2px; height: auto; background: linear-gradient(180deg, var(--dg-coral), var(--dg-tint-line)); }
  .dg-section .dg-step { padding-left: 84px; min-height: 60px; }
  .dg-section .dg-step__num { position: absolute; left: 0; top: 0; }
  .dg-section .dg-step > .dg-step__num + * { margin-top: 0; padding-top: 14px; }
  .dg-section .dg-banner { grid-template-columns: 52px minmax(0, 1fr); }
  .dg-section .dg-banner > .dg-buttons { grid-column: 2; grid-row: auto; margin-top: 16px !important; }
  .dg-section .dg-photo--hero .dg-placeholder { margin-left: 0 !important; min-height: 340px; }
  .dg-vis__name { width: 110px; }
  .dg-vis__cited { margin-left: 0; }
  .dg-vis__prompt { margin-right: 0; }
  .dg-cta-band { grid-template-columns: minmax(0, 1fr); }
  .dg-cta-band > .wp-block-buttons { grid-column: 1; grid-row: auto; justify-content: flex-start; margin-top: 20px !important; flex-direction: column; align-items: stretch; }
  .dg-cta-band .dg-btn .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
  .dg-section .dg-quote-card .dg-testimonial { flex-direction: column; }
}

/* =========================================================
   15. FALA 2 (2026-09-30): siatki kart, proza, karta oferty, tabele planów
   Nowe klasy, nie zmieniają reguł fali 1.
   ========================================================= */
/* Siatka kart (CSS grid zamiast Kolumn: równe szerokości także przy 5 i 7 kartach) */
.dg-section .dg-grid { display: grid !important; gap: var(--dg-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.dg-section .dg-grid--1 { grid-template-columns: minmax(0, 1fr); }
.dg-section .dg-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dg-section .dg-grid > * { margin: 0 !important; }
.dg-section .dg-grid > .dg-card { height: 100%; }
.dg-section .dg-head + .dg-grid, .dg-section .dg-prose + .dg-grid, .dg-section * + .dg-grid { margin-top: 32px; }
.dg-section .dg-head + .dg-grid { margin-top: 48px; }
.dg-section .dg-grid + * { margin-top: 32px; }
/* Proza (akapity sekcji): czytelna szerokość */
.dg-section .dg-prose { max-width: 760px; }
.dg-section .dg-prose > * + * { margin-top: 16px; }
.dg-section .dg-head + .dg-prose { margin-top: 28px; }
.dg-section .dg-prose + .dg-prose, .dg-section .wp-block-list + .dg-prose, .dg-section .dg-prose + .wp-block-list { margin-top: 24px; }
/* Podtytuł podsekcji (### w tekście) */
.dg-section .dg-subhead { margin-top: 56px !important; }
.dg-section .dg-head + .dg-subhead, .dg-section .dg-prose + .dg-subhead { margin-top: 40px !important; }
.dg-section .dg-subhead + * { margin-top: 20px !important; }
/* Karta-wyróżnienie (callout) */
.dg-section .dg-callout > .dg-h3 + p { margin-top: 8px; }
.dg-section .dg-grid .dg-card ol, .dg-section .dg-grid .dg-card ul { font-size: 16px; }
.dg-section .dg-grid .dg-card .dg-check li + li { margin-top: 12px; }
.dg-section .dg-grid .dg-card .dg-muted + .dg-muted { margin-top: 12px; }
/* Metoda (How we measure): numer w gradientowym kółku na karcie */
.dg-section .dg-card--method .dg-step__num { width: 48px; height: 48px; font-size: 18px; box-shadow: none; }
.dg-section .dg-card--method > .dg-step__num + * { margin-top: 18px; }
/* Karta oferty w hero (strony usług fali 2) */
.dg-section .dg-offer-card > .dg-icon + * { margin-top: 20px; }
.dg-section .dg-offer-card .dg-h3--lg { font-size: 24px; line-height: 1.25; }
.dg-section .dg-offer-card .dg-offer__line { font-size: 16px; color: var(--dg-body); }
.dg-section .dg-offer-card .dg-offer__line + .dg-offer__line { padding-top: 12px; border-top: 1px solid var(--dg-line-soft); }
.dg-section .dg-offer-card .dg-h3 + .dg-offer__line { margin-top: 6px; }
.dg-section .dg-offer-card .dg-offer__line + .dg-h3 { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--dg-line); }
.dg-section .dg-price-inline { color: var(--dg-ink); font-weight: 700; }
.dg-section .dg-offer-card .dg-price { font-size: 36px; line-height: 1.15; color: var(--dg-coral-text); }
.dg-section .dg-offer-card .dg-keylist { padding-left: 1.3em; }
.dg-section .dg-offer-card .dg-keylist li { color: var(--dg-ink); font-weight: 500; }
.dg-section .dg-offer-card .dg-keylist li::marker { color: var(--dg-coral-text); font-weight: 700; }
.dg-section .dg-hero__side .dg-offer-card { margin-top: 0; }
/* Cena w sekcji (Pricing, krok 1) */
.dg-section .dg-price-line, .dg-section .dg-price-line strong { font-size: clamp(24px, 2.2vw, 30px); line-height: 1.25; font-weight: 700; color: var(--dg-ink); letter-spacing: -0.02em; }
.dg-section .dg-split__left > .dg-price-line { margin-top: 28px; }
/* Tabela bez wyróżnionej ostatniej kolumny (metryki, usługi osobno) */
.dg-section .dg-compare--plain th:last-child, .dg-section .dg-compare--plain td:last-child { background: transparent; color: var(--dg-muted); font-weight: 400; padding-left: 26px; }
.dg-section .dg-compare--plain th:last-child { font-weight: 600; }
.dg-section .dg-compare--plain td:last-child::before { content: none; }
.dg-section .dg-compare a { font-weight: 600; text-decoration: none; white-space: nowrap; }
/* Tabela planów (Pricing): kolumny poziomów wyśrodkowane */
.dg-section .dg-compare--tiers th:not(:first-child), .dg-section .dg-compare--tiers td:not(:first-child) { text-align: center; }
.dg-section .dg-compare--tiers th:last-child, .dg-section .dg-compare--tiers td:last-child { background: transparent; color: var(--dg-muted); font-weight: 400; padding-left: 26px; }
.dg-section .dg-compare--tiers td:last-child::before { content: none; }
.dg-section .dg-compare--tiers th:not(:first-child) { color: var(--dg-ink); font-weight: 700; font-size: 17px; }
.dg-section .dg-compare--tiers tbody tr:first-child td { color: var(--dg-ink); font-weight: 700; }
.dg-section .dg-compare--tiers td:first-child { width: 28%; }
.dg-section .dg-card p.dg-price { font-size: 32px; line-height: 1.15; color: var(--dg-coral-text); font-weight: 700; }
.dg-section .wp-block-table + .dg-placeholder { margin-top: 32px; }
.dg-section code { font-size: .9em; background: var(--dg-line-soft); padding: 1px 5px; border-radius: 4px; }
/* Rytm: tabela / oś procesu po prozie */
.dg-section .dg-prose + .wp-block-table, .dg-section .dg-prose + .dg-steps, .dg-section .wp-block-table + .dg-prose { margin-top: 32px; }
.dg-section .wp-block-table + .dg-buttons, .dg-section .dg-grid + .dg-buttons { margin-top: 32px; }
@media (max-width: 1099px) {
  .dg-section .dg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dg-section .dg-grid--1 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 781px) {
  .dg-section .dg-grid, .dg-section .dg-grid--2 { grid-template-columns: minmax(0, 1fr); }
  .dg-section .dg-compare--tiers table { min-width: 560px; }
}

/* =========================================================
   16. FORMULARZ ZAPYTANIA (Contact Form 7), 2026-09-30
   ChatGPT Ads: formularz w prawej kolumnie hero zamiast przycisków CTA.
   Zakres: .dg-form-card i .dg-form (html_class w shortcode). Nie dotyka innych formularzy CF7 na stronie.
   ========================================================= */
.dg-section .dg-form-card {
  background: #fff; border: 1px solid var(--dg-line); border-radius: var(--dg-radius); box-shadow: var(--dg-shadow-lg);
  padding: 32px !important; scroll-margin-top: 120px;
}
.dg-section .dg-hero__side .dg-form-card { margin-top: 0; }
.dg-section .dg-form-card .dg-form-card__title { font-size: 24px; line-height: 1.25; margin: 0; }
.dg-section .dg-form-card .dg-form-card__note { font-size: 14px; margin-top: 6px !important; }
.dg-section .dg-form-card .wpcf7 { margin-top: 20px !important; }
.dg-form { font-family: var(--dg-font); }
.dg-form p { margin: 0 !important; }
.dg-form br { display: none; }
.dg-form .dg-form__field + .dg-form__field, .dg-form .dg-form__field + .dg-form__consent { margin-top: 16px; }
/* Etykieta owija pole (jak w obecnym formularzu kontaktowym): tekst etykiety, pod nim pole */
.dg-form .dg-form__field label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: var(--dg-ink); margin: 0; }
.dg-form .dg-form__field .wpcf7-form-control-wrap { display: block; font-weight: 400; }
/* Motyw ustawia .wpcf7-form jako flex z gap 24px i pola .wpcf7-text na 62px: w .dg-form rytm i wysokość są nasze */
.dg-form.wpcf7-form { gap: 0; }
.dg-form .wpcf7-text, .dg-form .wpcf7-textarea { height: auto; }
.dg-form input[type="text"], .dg-form input[type="email"], .dg-form input[type="url"], .dg-form select, .dg-form textarea {
  box-sizing: border-box; width: 100%; font-family: var(--dg-font); font-size: 16px; line-height: 1.4; color: var(--dg-ink);
  background: #fff; border: 1px solid var(--dg-line-strong); border-radius: 12px; padding: 12px 14px; margin: 0;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.dg-form textarea { min-height: 104px; resize: vertical; }
.dg-form select {
  appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2355585E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
.dg-form input::placeholder, .dg-form textarea::placeholder { color: #9A9DA3; }
.dg-form input:hover, .dg-form select:hover, .dg-form textarea:hover { border-color: #BDBDC3; }
.dg-form input:focus, .dg-form select:focus, .dg-form textarea:focus { outline: none; border-color: var(--dg-coral); box-shadow: 0 0 0 3px rgba(246, 107, 75, .22); }
.dg-form input:focus-visible, .dg-form select:focus-visible, .dg-form textarea:focus-visible { outline: 2px solid var(--dg-coral); outline-offset: 1px; }
/* Zgoda */
.dg-form .dg-form__consent { font-size: 13px; line-height: 1.5; color: var(--dg-muted); }
.dg-form .dg-form__consent .wpcf7-list-item { margin: 0; display: block; }
.dg-form .dg-form__consent label { display: flex; flex-direction: row; gap: 10px; align-items: flex-start; font-size: 13px; font-weight: 400; color: var(--dg-muted); margin: 0; cursor: pointer; }
.dg-form .dg-form__consent input[type="checkbox"] { flex-shrink: 0; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--dg-grad-to); }
.dg-form .dg-form__consent input[type="checkbox"]:focus-visible { outline: 3px solid var(--dg-coral); outline-offset: 2px; }
.dg-form .dg-form__consent a { color: var(--dg-eyebrow); font-weight: 600; }
/* Przycisk */
.dg-form .dg-form__submit { margin-top: 20px; position: relative; }
.dg-form input[type="submit"], .dg-form .wpcf7-submit {
  display: block; width: 100%; box-sizing: border-box; font-family: var(--dg-font); font-size: 16px; font-weight: 600; line-height: 1.2;
  color: #fff; background: linear-gradient(180deg, var(--dg-grad-from), var(--dg-grad-to)); border: 0; border-radius: var(--dg-pill);
  padding: 17px 28px; cursor: pointer; box-shadow: 0 10px 24px rgba(204, 43, 6, .25); transition: transform .15s ease, box-shadow .15s ease;
}
.dg-form input[type="submit"]:hover { transform: translateY(-1px); }
.dg-form input[type="submit"]:focus-visible { outline: 3px solid var(--dg-coral); outline-offset: 3px; }
.dg-form input[type="submit"]:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.dg-form .wpcf7-spinner { position: absolute; right: 16px; top: 50%; margin: -12px 0 0; background-color: rgba(255, 255, 255, .6); }
/* Komunikaty CF7 */
.dg-form .wpcf7-not-valid-tip { display: block; font-size: 13px; font-weight: 500; color: #B42318; margin-top: 6px; }
.dg-form .wpcf7-not-valid { border-color: #D92D20 !important; }
.dg-form .wpcf7-response-output { margin: 18px 0 0 !important; padding: 12px 16px !important; border-radius: 12px; border: 1px solid var(--dg-line-strong) !important; font-size: 14px; line-height: 1.45; color: var(--dg-ink); }
.dg-form.invalid .wpcf7-response-output, .dg-form.unaccepted .wpcf7-response-output, .dg-form.payment-required .wpcf7-response-output { background: #FFF8E6; border-color: #F5C44E !important; }
.dg-form.failed .wpcf7-response-output, .dg-form.aborted .wpcf7-response-output, .dg-form.spam .wpcf7-response-output { background: #FEF3F2; border-color: #F04438 !important; color: #912018; }
.dg-form.sent .wpcf7-response-output { background: #ECFDF3; border-color: #32D583 !important; color: #05603A; }
/* Pasek CTA: odnośnik do formularza zamiast przycisków */
.dg-cta-band > .dg-cta-band__link--side { grid-column: 2; grid-row: 1 / span 2; margin: 0 !important; align-self: center; }
.dg-cta-band .dg-cta-band__link--side a {
  display: inline-block; color: #fff; font-size: 17px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px;
  text-decoration-thickness: 2px; white-space: nowrap;
}
.dg-cta-band .dg-cta-band__link--side a:hover { text-decoration-thickness: 3px; }
.dg-cta-band .dg-cta-band__link a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; border-radius: 4px; }
/* Karta oferty przy formularzu: kompaktowo pod tekstem hero */
.dg-section .dg-offer-inline { margin-top: 28px !important; padding: 18px 22px !important; border: 1px solid var(--dg-tint-line); border-radius: 16px; background: var(--dg-tint); }
.dg-section .dg-offer-inline .dg-offer-inline__title { font-size: 16px; }
.dg-section .dg-offer-inline .dg-offer__line { font-size: 15px; margin-top: 4px !important; }
@media (max-width: 781px) {
  .dg-section .dg-form-card { padding: 24px !important; }
  .dg-cta-band > .dg-cta-band__link--side { grid-column: 1; grid-row: auto; margin-top: 20px !important; }
  .dg-cta-band .dg-cta-band__link--side a { white-space: normal; }
}

/* =========================================================
   17. CASE STUDY (StoneX Bullion), 2026-09-30
   Karta liczby nagłówkowej w hero, pasek liczb pod hero, wykres inline SVG z danych Ahrefs.
   ========================================================= */
.dg-section .dg-proof-card .dg-proof__big { margin-top: 10px !important; }
.dg-section .dg-proof-card .dg-proof__num { font-size: clamp(48px, 5vw, 64px); line-height: 1; letter-spacing: -0.03em; }
.dg-section .dg-proof-card .dg-proof__src { font-size: 13px; margin-top: 14px !important; }
.dg-section.dg-section--stats { padding-top: 0 !important; }
.dg-section .dg-stats--case .dg-stat__label { font-size: 15px; line-height: 1.45; color: var(--dg-body); margin-top: 6px !important; }
.dg-section .dg-chart { margin: 8px 0 0; }
.dg-section .dg-chart + * { margin-top: 32px; }
.dg-chart__svg { display: block; width: 100%; height: auto; margin-top: 16px; overflow: visible; }
.dg-chart__tick { font-family: var(--dg-font); font-size: 12px; fill: var(--dg-muted); }
.dg-chart__label { font-family: var(--dg-font); font-size: 13px; font-weight: 700; fill: var(--dg-ink); }
.dg-chart__label-sub { font-weight: 500; fill: var(--dg-muted); }
.dg-chart__hit { cursor: default; }
.dg-chart__hit:hover { fill: rgba(229, 83, 46, .18); }
.dg-chart__caption { font-size: 13px; line-height: 1.5; color: var(--dg-muted); margin-top: 12px; }
@media (max-width: 781px) {
  .dg-chart__tick { font-size: 16px; }
  .dg-chart__label { font-size: 17px; }
  .dg-section .dg-report__body { padding: 8px 16px 16px; }
}

/* =========================================================
   18. PASEK LOGOTYPÓW KLIENTÓW (Home, About), 2026-09-30
   Naturalne kolory, lekko przygaszone; pełne krycie na hover. Pliki 80 px wysokości,
   wyświetlane 52 px (desktop) / 40 px (telefon). Wrap na 2 rzędy, gdy się nie mieszczą.
   ========================================================= */
.dg-section ul.dg-logos {
  --dg-logo-h: 52px;
  list-style: none; margin: 40px auto 0 !important; padding: 0 !important; max-width: 1160px;
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 32px; /* 2026-09-30: 44 → 32 px, 9 logo w jednym rzędzie na 1440 */
}
.dg-section ul.dg-logos li { margin: 0 !important; padding: 0; line-height: 0; }
.dg-section ul.dg-logos img {
  display: block; height: var(--dg-logo-h); width: auto; max-width: none; object-fit: cover;
  opacity: .72; filter: saturate(.85); transition: opacity .2s ease, filter .2s ease;
}
.dg-section ul.dg-logos img:hover { opacity: 1; filter: none; }
.dg-section .dg-rule-top + ul.dg-logos { margin-top: 28px !important; }
@media (max-width: 781px) {
  .dg-section ul.dg-logos { --dg-logo-h: 40px; gap: 16px 28px; margin-top: 28px !important; }
}

/* =========================================================
   19. ZDJĘCIE JARKA (About hero, Home founder), 2026-09-30
   Zdjęcie ma granatowe tło, więc na jasnej stronie dostaje „ramkę”: zaokrąglenie jak karty,
   przesunięty panel w kolorze tint (spina granat z koralową paletą) i cień z nutą granatu.
   Samo zdjęcie bez zmian (tylko kadr przez object-fit). Plakietki (.dg-float, .dg-namecard) na wierzchu.
   ========================================================= */
.dg-section .dg-photo .dg-portrait {
  position: relative; margin: 0 !important; max-width: none !important;
  aspect-ratio: 5 / 6; border-radius: var(--dg-radius-lg); overflow: hidden;
  background: #16244F;
  box-shadow: 16px 16px 0 0 var(--dg-tint-line), 0 28px 60px rgba(18, 34, 92, .18);
}
.dg-section .dg-photo .dg-portrait img {
  display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 18%;
  border-radius: inherit;
}
.dg-section .dg-photo--hero .dg-portrait { margin-left: 40px !important; margin-right: 28px !important; }
.dg-section .dg-photo .dg-namecard, .dg-section .dg-photo .dg-float { z-index: 2; }
@media (max-width: 781px) {
  .dg-section .dg-photo .dg-portrait { box-shadow: 10px 10px 0 0 var(--dg-tint-line), 0 20px 44px rgba(18, 34, 92, .16); margin-right: 10px !important; }
  .dg-section .dg-photo--hero .dg-portrait { margin-left: 0 !important; aspect-ratio: 1 / 1; }
}
