/* ============================================================
   DEBESIS 2026 — global theme override
   Premium light · Instrument Serif + Geist · jeden CTA
   Wczytany PO style.css Mobirise — nadpisuje wszystko.
   ============================================================ */

/* ---------- DESIGN TOKENS ---------- */
:root {
  /* paleta: biel premium + granat + akcent zielony */
  --d-bg: #FCFAF7;
  --d-bg-elev: #FFFFFF;
  --d-ink: #0A0E1A;
  --d-ink-soft: #4A5160;
  --d-ink-mute: #8B92A4;
  --d-line: #E8E4DD;
  --d-line-soft: #F0EDE7;

  --d-accent: #0F2942;
  --d-accent-2: #2D6A4F;
  --d-accent-soft: #F1ECE3;

  --d-radius-sm: 6px;
  --d-radius: 12px;
  --d-radius-lg: 20px;

  --d-shadow-sm: 0 1px 2px rgba(10, 14, 26, 0.04);
  --d-shadow: 0 1px 3px rgba(10, 14, 26, 0.05), 0 8px 24px -12px rgba(10, 14, 26, 0.12);
  --d-shadow-lg: 0 20px 60px -20px rgba(10, 14, 26, 0.18);

  --d-serif: "Instrument Serif", "Times New Roman", serif;
  --d-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --d-mono: "Geist Mono", "SF Mono", Monaco, monospace;
}

/* ---------- BASE OVERRIDES ---------- */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; }

body {
  font-family: var(--d-sans) !important;
  background: var(--d-bg) !important;
  color: var(--d-ink) !important;
  font-size: 16px;
  line-height: 1.6;
}

/* subtle grain texture na całej stronie */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  pointer-events: none;
  z-index: 9999;
  opacity: 0.5;
  mix-blend-mode: multiply;
}

/* ---------- TYPOGRAFIA ---------- */
.display-1, .display-2, h1.display-1, h1.display-2,
section h1, section h2,
.mbr-section-title, .mbr-display-2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.05 !important;
  color: var(--d-ink) !important;
}

h1, h2 { font-family: var(--d-serif) !important; }

h1 em, h2 em, h3 em,
.mbr-section-title em, .display-1 em, .display-2 em {
  font-style: italic;
  color: var(--d-accent-2);
  font-weight: 400;
}

h3, h4, h5, h6,
.mbr-section-subtitle, .display-5, .display-7 {
  font-family: var(--d-sans) !important;
  font-weight: 600 !important;
  color: var(--d-ink) !important;
  letter-spacing: -0.01em !important;
}

p, .mbr-text, .display-4, .display-7 {
  font-family: var(--d-sans) !important;
  color: var(--d-ink-soft) !important;
}

/* eyebrow style (kolorowy mały tekst nad nagłówkami) */
.mbr-section-subtitle.display-7,
.section-eyebrow,
[data-eyebrow],
.eyebrow {
  font-family: var(--d-mono) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 0.1em !important;
  color: var(--d-accent-2) !important;
}

/* ---------- NAV (debesis-2026) ---------- */
.nav-debesis {
  position: sticky;
  top: 0;
  z-index: 1030;
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  background: rgba(252, 250, 247, 0.85);
  border-bottom: 1px solid var(--d-line-soft);
}
.nav-debesis-inner {
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 18px 32px;
  max-width: 1200px;
  margin: 0 auto;
}
.nav-debesis-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 17px;
  letter-spacing: -0.01em;
  color: var(--d-ink) !important;
  text-decoration: none !important;
  flex-shrink: 0;
}
.nav-debesis-logo:hover { color: var(--d-ink) !important; }
.nav-debesis-mark {
  width: 28px;
  height: 28px;
  background: var(--d-accent);
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: white;
  font-family: var(--d-serif);
  font-style: italic;
  font-size: 18px;
  line-height: 1;
}
.nav-debesis-links {
  display: flex;
  gap: 24px;
  list-style: none;
  flex: 1;
  margin: 0;
  padding: 0;
}
.nav-debesis-links a {
  font-size: 14px;
  color: var(--d-ink-soft) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.nav-debesis-links a:hover { color: var(--d-ink) !important; }
.nav-debesis-cta {
  display: flex;
  gap: 12px;
  align-items: center;
}

@media (max-width: 991px) {
  .nav-debesis-links { display: none; }
}

/* ---------- BUTTONS ---------- */
.btn-debesis,
section .btn-info, section .btn-primary, section .btn-success,
.mbr-section-btn .btn,
section a.btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-family: var(--d-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border: 1px solid transparent !important;
  transition: transform 0.15s ease, background 0.2s, box-shadow 0.2s !important;
  white-space: nowrap;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}
.btn-debesis-primary,
section .btn-info, section .btn-primary,
.mbr-section-btn .btn-info, .mbr-section-btn .btn-primary,
.btn-ticket-submit,
.btn.btn-success {
  background: var(--d-accent) !important;
  color: white !important;
  border-color: var(--d-accent) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.1) inset, 0 1px 2px rgba(10,14,26,0.2) !important;
}
.btn-debesis-primary:hover,
section .btn-info:hover, section .btn-primary:hover,
.mbr-section-btn .btn-info:hover,
.btn-ticket-submit:hover,
.btn.btn-success:hover {
  background: #1a3a5c !important;
  border-color: #1a3a5c !important;
  color: white !important;
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255,255,255,0.1) inset, 0 4px 12px rgba(10,14,26,0.25) !important;
}
.btn-debesis-ghost,
.btn.btn-secondary, .btn.btn-light {
  background: transparent !important;
  color: var(--d-ink-soft) !important;
  border: 1px solid var(--d-line) !important;
}
.btn-debesis-ghost:hover,
.btn.btn-secondary:hover, .btn.btn-light:hover {
  background: var(--d-bg-elev) !important;
  color: var(--d-ink) !important;
  border-color: var(--d-ink) !important;
}
.btn-debesis-large {
  padding: 14px 24px !important;
  font-size: 15px !important;
}
.btn-debesis svg, section .btn svg { transition: transform 0.2s; }
.btn-debesis:hover svg, section .btn:hover svg { transform: translateX(2px); }

/* ---------- SECTION BACKGROUNDS — overrider ---------- */
section[data-bs-version],
section.cid-,
section[id^="header"], section[id^="features"],
section[id^="content"], section[id^="testimonials"],
section[id^="contacts"], section[id^="footer"],
section[id^="counters"], section[id^="image"],
section[id^="form"], section[id^="cta"] {
  background: var(--d-bg) !important;
}

/* hero/header sections jasna kremowa */
section[id^="header"],
section.header1, section.header8, section.header2,
.mbr-fullscreen {
  background: linear-gradient(180deg, var(--d-bg) 0%, var(--d-bg-elev) 100%) !important;
}

/* sekcje testimonialiów lub CTA – ciepły beż */
section[id*="testimon"], section.testimonials1, section.testimonials2,
section[id*="cta"] {
  background: var(--d-accent-soft) !important;
  border-top: 1px solid var(--d-line);
  border-bottom: 1px solid var(--d-line);
}

/* obrazki - subtelny zaokrąglony radius wszędzie */
section img:not(.nav-debesis-mark img) {
  border-radius: var(--d-radius);
}

/* ---------- CARDS ---------- */
.mbr-card,
.card,
[class*="features"] .item,
[class*="counters"] .item-wrapper {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius-lg) !important;
  box-shadow: var(--d-shadow-sm);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}
.mbr-card:hover, .card:hover,
[class*="features"] .item:hover {
  transform: translateY(-2px);
  box-shadow: var(--d-shadow);
  border-color: var(--d-accent);
}

/* ---------- LINKI w treści ---------- */
section p a, section li a {
  color: var(--d-accent-2) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  transition: color 0.2s;
}
section p a:hover, section li a:hover {
  color: var(--d-accent) !important;
}

/* ---------- FORMULARZE ---------- */
.form-control, input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  font-family: var(--d-sans) !important;
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  color: var(--d-ink) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.form-control:focus, input:focus, textarea:focus, select:focus {
  border-color: var(--d-accent) !important;
  box-shadow: 0 0 0 3px rgba(15, 41, 66, 0.08) !important;
  outline: none !important;
}
.form-label {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--d-ink) !important;
  margin-bottom: 6px !important;
  font-family: var(--d-sans) !important;
}
::placeholder {
  color: var(--d-ink-mute) !important;
  opacity: 1;
}

/* ---------- LOGOS BAR (klienci) ---------- */
.logos-debesis {
  padding: 60px 0;
  border-top: 1px solid var(--d-line-soft);
  border-bottom: 1px solid var(--d-line-soft);
  background: linear-gradient(180deg, var(--d-bg) 0%, rgba(255,255,255,0.5) 100%);
}
.logos-debesis-label {
  text-align: center;
  font-family: var(--d-mono);
  font-size: 11px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 32px;
  font-weight: 500;
}
.logos-debesis-row {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}

/* MARQUEE — auto-scroll dla 14 firm */
.logos-marquee {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.logos-marquee-track {
  display: flex;
  gap: 16px;
  width: max-content;
  animation: logos-scroll 60s linear infinite;
  align-items: center;
}
.logos-marquee:hover .logos-marquee-track {
  animation-play-state: paused;
}
@keyframes logos-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .logos-marquee-track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: auto;
    max-width: 1200px;
    margin: 0 auto;
  }
  .logos-marquee {
    -webkit-mask-image: none;
    mask-image: none;
  }
  .logo-tile[aria-hidden="true"] { display: none; }
}
.logo-tile {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: 10px;
  transition: border-color 0.2s, transform 0.2s;
}
.logo-tile:hover {
  border-color: var(--d-accent);
  transform: translateY(-1px);
}
.logo-tile-mark {
  width: 32px;
  height: 32px;
  background: var(--d-accent);
  color: white;
  border-radius: 6px;
  display: grid;
  place-items: center;
  font-family: var(--d-serif);
  font-style: italic;
  font-size: 17px;
  line-height: 1;
  flex-shrink: 0;
}
.logo-tile-name {
  font-family: var(--d-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--d-ink);
  white-space: nowrap;
}
.logo-tile-name small {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: var(--d-ink-mute);
  margin-top: 1px;
}

/* ---------- HERO WORKFLOW ANIMATION ---------- */
.workflow-debesis {
  position: relative;
  padding: 24px;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  box-shadow: var(--d-shadow-lg);
  overflow: hidden;
  max-width: 560px;
  margin: 0 auto;
}
.workflow-debesis::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 36px;
  background: linear-gradient(180deg, var(--d-accent-soft) 0%, transparent 100%);
  opacity: 0.6;
  pointer-events: none;
}
.wd-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 4px 16px;
  border-bottom: 1px solid var(--d-line-soft);
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}
.wd-title {
  font-family: var(--d-mono);
  font-size: 11px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.wd-dots { display: flex; gap: 6px; }
.wd-dots span { width: 8px; height: 8px; border-radius: 50%; background: var(--d-line); }

.wd-ticket {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: var(--d-radius);
  border: 1px solid var(--d-line-soft);
  background: var(--d-bg-elev);
  margin-bottom: 10px;
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.4s, transform 0.4s;
}
.wd-ticket.visible { opacity: 1; transform: translateX(0); }
.wd-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: var(--d-accent-soft);
  color: var(--d-ink);
}
.wd-icon.email { background: #FEF3C7; }
.wd-icon.phone { background: #DBEAFE; }
.wd-icon.form  { background: #E0E7FF; }
.wd-icon.sms   { background: #FCE7F3; }
.wd-content { min-width: 0; }
.wd-from {
  font-size: 13px;
  font-weight: 500;
  color: var(--d-ink);
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wd-subject {
  font-size: 12px;
  color: var(--d-ink-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wd-status {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 500;
  font-family: var(--d-mono);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}
.wd-status[data-status="new"] { background: #FEF3C7; color: #92400E; }
.wd-status[data-status="progress"] { background: #DBEAFE; color: #1E40AF; }
.wd-status[data-status="done"] { background: #D1FAE5; color: #065F46; }
.wd-status .status-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

.wd-sla {
  margin-top: 14px;
  padding: 14px 16px;
  background: var(--d-accent-soft);
  border-radius: var(--d-radius);
  display: flex;
  align-items: center;
  gap: 12px;
  opacity: 0;
  transition: opacity 0.6s;
}
.wd-sla.visible { opacity: 1; }
.wd-sla-label {
  font-family: var(--d-mono);
  font-size: 11px;
  color: var(--d-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.wd-sla-bar { flex: 1; height: 4px; background: var(--d-line); border-radius: 2px; overflow: hidden; }
.wd-sla-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--d-accent-2), #4ade80);
  width: 0;
  transition: width 1.6s cubic-bezier(0.65, 0, 0.35, 1);
  border-radius: 2px;
}
.wd-sla-time {
  font-family: var(--d-mono);
  font-size: 12px;
  font-weight: 500;
  color: var(--d-ink);
  min-width: 56px;
  text-align: right;
}
.wd-pulse {
  position: absolute;
  bottom: 24px;
  right: 24px;
  background: var(--d-ink);
  color: white;
  padding: 8px 14px;
  border-radius: 100px;
  font-family: var(--d-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s, transform 0.4s;
  text-transform: uppercase;
}
.wd-pulse.visible { opacity: 1; transform: translateY(0); }
.wd-pulse::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--d-accent-2);
  box-shadow: 0 0 0 0 rgba(45, 106, 79, 0.8);
  animation: d-pulse-ring 1.5s ease-out infinite;
}
@keyframes d-pulse-ring {
  0% { box-shadow: 0 0 0 0 rgba(45, 106, 79, 0.6); }
  100% { box-shadow: 0 0 0 8px rgba(45, 106, 79, 0); }
}

/* ---------- FOOTER (debesis-2026) ---------- */
.footer-debesis {
  background: var(--d-ink) !important;
  color: var(--d-bg) !important;
  padding: 60px 0 32px !important;
  position: relative;
  z-index: 1;
}
.footer-debesis-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}
.footer-debesis-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.footer-debesis-brand h4 {
  font-family: var(--d-serif) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  margin-bottom: 12px !important;
  color: white !important;
  letter-spacing: -0.01em !important;
}
.footer-debesis-brand p {
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  line-height: 1.5 !important;
  max-width: 360px;
}
.footer-debesis-col h5 {
  font-family: var(--d-mono) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.5) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 16px !important;
}
.footer-debesis-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-debesis-col li {
  margin-bottom: 10px;
}
.footer-debesis-col a {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.footer-debesis-col a:hover {
  color: white !important;
}
.footer-debesis-meta {
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
}
.footer-debesis-meta a {
  color: rgba(255, 255, 255, 0.7) !important;
  margin-right: 16px;
  text-decoration: none !important;
}
.footer-debesis-meta a:hover { color: white !important; }

@media (max-width: 768px) {
  .footer-debesis-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* ---------- ELEMENTY DO UKRYCIA (stara nawigacja Mobirise) ---------- */
section[id^="menu"] {
  display: none !important;
}
.navbar-fixed-top:not(.nav-debesis) {
  display: none !important;
}

/* stary footer Mobirise – ukryj */
section[id^="footer"] {
  display: none !important;
}

/* CookieYes mock z innych sekcji – nie dotyczy, bo CookieYes już usunięty */

/* ---------- POPRAWKI EDGE CASES ---------- */
/* listy bez bullet styling - zostaw wymowne kropki */
section ul:not(.navbar-nav):not(.footer-debesis-col ul):not(.nav-debesis-links) {
  padding-left: 0;
  list-style: none;
}
section ul:not(.navbar-nav):not(.footer-debesis-col ul):not(.nav-debesis-links) li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
  list-style: none;
}
section ul:not(.navbar-nav):not(.footer-debesis-col ul):not(.nav-debesis-links) li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.7em;
  width: 12px;
  height: 1px;
  background: var(--d-accent-2);
}

/* bento grid helper */
.bento-debesis {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 32px;
}
.bento-debesis-card {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  padding: 32px;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.bento-debesis-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--d-shadow);
  border-color: var(--d-accent);
}
.bento-debesis-card .card-eyebrow {
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
}
.bento-debesis-card h3 {
  font-family: var(--d-serif) !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 12px !important;
  font-weight: 400 !important;
}
.bento-debesis-card p {
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--d-ink-soft) !important;
}
.bd-large { grid-column: span 4; grid-row: span 2; }
.bd-tall { grid-column: span 2; grid-row: span 2; }
.bd-wide { grid-column: span 4; }
.bd-small { grid-column: span 2; }

@media (max-width: 768px) {
  .bento-debesis { grid-template-columns: 1fr; }
  .bd-large, .bd-tall, .bd-wide, .bd-small { grid-column: span 1; grid-row: span 1; }
}

/* ---------- CONTAINERY ---------- */
section .container, section .container-fluid {
  max-width: 1200px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}
@media (max-width: 768px) {
  section .container, section .container-fluid {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* ---------- PADDING SEKCJI ---------- */
section[data-bs-version] {
  padding: 80px 0 !important;
}
section[id^="header"] {
  padding: 100px 0 !important;
}
@media (max-width: 768px) {
  section[data-bs-version] { padding: 60px 0 !important; }
  section[id^="header"] { padding: 80px 0 !important; }
}

/* ---------- MOBIRISE OVERLAY DISABLE ---------- */
.mbr-overlay { opacity: 0 !important; }

/* obrazy z border radius */
section .image-block img,
section .img-fluid {
  border-radius: var(--d-radius-lg);
  box-shadow: var(--d-shadow);
}

/* ---------- BOOTSTRAP FALLBACK GRID (gdyby Bootstrap się nie załadował) ---------- */
@media (min-width: 992px) {
  .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
  .col-lg-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
  .col-lg-5 { flex: 0 0 41.6667%; max-width: 41.6667%; }
  .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
  .col-lg-7 { flex: 0 0 58.3333%; max-width: 58.3333%; }
  .col-lg-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
}
.row { display: flex; flex-wrap: wrap; }

/* ---------- POPRAWKI ALIGNMENT FORMULARZE ---------- */
.form-group, .col-12 .form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-group .form-label {
  order: -1;
}

/* labelki z tekstem zawsze nad polem */
.mbr-form .form-group label {
  display: block !important;
  margin-bottom: 6px !important;
}

/* tabele cennika */
.pricing-card, .plan-card, [class*="pricing"] .card {
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius-lg) !important;
  background: var(--d-bg-elev) !important;
  padding: 32px !important;
}

/* ================================================================
   HUB ANIMATION (hero podstron) — 4 kanały wpadają do centrum
   ================================================================ */
.hub-debesis {
  position: relative;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 1.05/1;
  margin: 0 auto;
}
.hub-canvas {
  position: relative;
  width: 100%;
  height: 100%;
}
/* centralny panel — "ticket inbox" */
.hub-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56%;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  box-shadow: var(--d-shadow-lg);
  padding: 18px;
  z-index: 3;
}
.hub-center-title {
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hub-center-title::after {
  content: "•••";
  letter-spacing: 0.1em;
  color: var(--d-line);
}
.hub-counter-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  background: var(--d-accent-soft);
  border-radius: 8px;
  margin-bottom: 6px;
  font-size: 12px;
}
.hub-counter-label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--d-ink-soft);
}
.hub-counter-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.hub-counter-num {
  font-family: var(--d-mono);
  font-weight: 600;
  color: var(--d-ink);
  min-width: 28px;
  text-align: right;
}

/* nodes na obwodzie */
.hub-node {
  position: absolute;
  width: 64px;
  height: 64px;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: 14px;
  display: grid;
  place-items: center;
  box-shadow: var(--d-shadow);
  z-index: 2;
}
.hub-node svg { width: 26px; height: 26px; }
.hub-node-label {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.hub-node.email { top: 4%; left: 6%; background: #FEF3C7; border-color: #FDE68A; color: #92400E; }
.hub-node.phone { top: 4%; right: 6%; background: #DBEAFE; border-color: #BFDBFE; color: #1E40AF; }
.hub-node.form  { bottom: 4%; left: 6%; background: #E0E7FF; border-color: #C7D2FE; color: #3730A3; }
.hub-node.sms   { bottom: 4%; right: 6%; background: #FCE7F3; border-color: #FBCFE8; color: #9D174D; }

/* SVG ze ścieżkami i poruszające się "paczki" */
.hub-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}
.hub-path {
  fill: none;
  stroke: var(--d-line);
  stroke-width: 1.5;
  stroke-dasharray: 4 4;
}
.hub-packet {
  fill: var(--d-accent-2);
  filter: drop-shadow(0 0 4px rgba(45, 106, 79, 0.4));
}

@keyframes hub-travel-1 {
  0%, 12% { offset-distance: 0%; opacity: 0; }
  15% { opacity: 1; }
  35% { offset-distance: 100%; opacity: 1; }
  40%, 100% { offset-distance: 100%; opacity: 0; }
}
@keyframes hub-travel-2 {
  0%, 32% { offset-distance: 0%; opacity: 0; }
  35% { opacity: 1; }
  55% { offset-distance: 100%; opacity: 1; }
  60%, 100% { offset-distance: 100%; opacity: 0; }
}
@keyframes hub-travel-3 {
  0%, 52% { offset-distance: 0%; opacity: 0; }
  55% { opacity: 1; }
  75% { offset-distance: 100%; opacity: 1; }
  80%, 100% { offset-distance: 100%; opacity: 0; }
}
@keyframes hub-travel-4 {
  0%, 72% { offset-distance: 0%; opacity: 0; }
  75% { opacity: 1; }
  95% { offset-distance: 100%; opacity: 1; }
  100% { offset-distance: 100%; opacity: 0; }
}

.hub-packet-1 { animation: hub-travel-1 8s ease-in-out infinite; offset-rotate: 0deg; }
.hub-packet-2 { animation: hub-travel-2 8s ease-in-out infinite; offset-rotate: 0deg; }
.hub-packet-3 { animation: hub-travel-3 8s ease-in-out infinite; offset-rotate: 0deg; }
.hub-packet-4 { animation: hub-travel-4 8s ease-in-out infinite; offset-rotate: 0deg; }

/* counter pulse on packet arrival */
@keyframes counter-pulse {
  0%, 30% { background: var(--d-accent-soft); }
  35% { background: #D1FAE5; }
  100% { background: var(--d-accent-soft); }
}

/* ================================================================
   FEATURE DEMOS — 6 mini-makiet
   ================================================================ */
.feature-demos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 32px;
}
.feature-card {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  padding: 32px;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex;
  flex-direction: column;
}
.feature-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--d-shadow);
  border-color: var(--d-accent);
}
.feature-card-eyebrow {
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 14px;
  font-weight: 500;
}
.feature-card h3 {
  font-family: var(--d-serif) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
  margin-bottom: 12px !important;
  color: var(--d-ink) !important;
}
.feature-card p {
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--d-ink-soft) !important;
  margin-bottom: 24px;
}
.feature-demo-canvas {
  margin-top: auto;
  margin-left: -32px;
  margin-right: -32px;
  margin-bottom: -32px;
  padding: 24px 32px 28px;
  background: linear-gradient(180deg, transparent, var(--d-accent-soft));
  border-top: 1px solid var(--d-line-soft);
  min-height: 180px;
  position: relative;
}

@media (max-width: 768px) {
  .feature-demos { grid-template-columns: 1fr; }
}

/* ---- DEMO 1: Auto-rejestracja (incoming ticket) ---- */
.fd-incoming {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fd-incoming-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 10px;
  font-size: 12px;
  opacity: 0;
  transform: translateX(-12px);
  animation: fd-slide 6s ease-in-out infinite;
}
.fd-incoming-row:nth-child(1) { animation-delay: 0s; }
.fd-incoming-row:nth-child(2) { animation-delay: 1s; }
.fd-incoming-row:nth-child(3) { animation-delay: 2s; }
@keyframes fd-slide {
  0%, 5% { opacity: 0; transform: translateX(-12px); }
  10%, 80% { opacity: 1; transform: translateX(0); }
  85%, 100% { opacity: 0.3; transform: translateX(0); }
}
.fd-incoming-icon {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.fd-incoming-text {
  flex: 1;
  color: var(--d-ink-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fd-incoming-badge {
  font-family: var(--d-mono);
  font-size: 9px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 4px;
  background: #D1FAE5;
  color: #065F46;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ---- DEMO 2: Kategoryzacja (badges zapalają się) ---- */
.fd-categorize {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 10px;
  padding: 14px;
}
.fd-cat-subject {
  font-size: 13px;
  color: var(--d-ink);
  margin-bottom: 10px;
  font-weight: 500;
}
.fd-cat-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.fd-cat-badge {
  font-family: var(--d-mono);
  font-size: 10px;
  padding: 4px 8px;
  border-radius: 100px;
  background: var(--d-line-soft);
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.4;
  animation: fd-light 6s ease-in-out infinite;
}
.fd-cat-badge:nth-child(1) { animation-delay: 0.3s; --c: #FEF3C7; --tc: #92400E; }
.fd-cat-badge:nth-child(2) { animation-delay: 0.9s; --c: #FCA5A5; --tc: #7F1D1D; }
.fd-cat-badge:nth-child(3) { animation-delay: 1.5s; --c: #DBEAFE; --tc: #1E40AF; }
@keyframes fd-light {
  0%, 8% { opacity: 0.4; background: var(--d-line-soft); color: var(--d-ink-mute); }
  12%, 80% { opacity: 1; background: var(--c); color: var(--tc); }
  85%, 100% { opacity: 0.4; background: var(--d-line-soft); color: var(--d-ink-mute); }
}

/* ---- DEMO 3: Auto-przydział (strzałka do agenta) ---- */
.fd-assign {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
}
.fd-assign-card {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 10px;
  padding: 10px;
  text-align: center;
}
.fd-assign-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  margin: 0 auto 6px;
  display: grid;
  place-items: center;
  background: var(--d-accent-soft);
}
.fd-assign-name {
  font-size: 11px;
  font-weight: 500;
  color: var(--d-ink);
  margin-bottom: 2px;
}
.fd-assign-meta {
  font-size: 10px;
  color: var(--d-ink-mute);
  font-family: var(--d-mono);
}
.fd-assign-arrow {
  width: 32px;
  height: 2px;
  background: var(--d-line);
  position: relative;
  overflow: hidden;
}
.fd-assign-arrow::after {
  content: "";
  position: absolute;
  top: 0;
  left: -8px;
  width: 8px;
  height: 100%;
  background: var(--d-accent-2);
  animation: fd-arrow 3s ease-in-out infinite;
}
@keyframes fd-arrow {
  0%, 20% { left: -8px; }
  60%, 100% { left: calc(100% + 8px); }
}
.fd-agents {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fd-agent-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 6px;
  font-size: 11px;
  color: var(--d-ink-soft);
}
.fd-agent-avatar {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--d-serif);
  font-style: italic;
  font-size: 11px;
  color: white;
  flex-shrink: 0;
}
.fd-agent-chip.active {
  background: var(--d-accent-2);
  color: white;
  border-color: var(--d-accent-2);
  animation: fd-active 3s ease-in-out infinite;
}
@keyframes fd-active {
  0%, 55% { background: var(--d-bg-elev); color: var(--d-ink-soft); border-color: var(--d-line-soft); }
  65%, 90% { background: var(--d-accent-2); color: white; border-color: var(--d-accent-2); }
  95%, 100% { background: var(--d-bg-elev); color: var(--d-ink-soft); border-color: var(--d-line-soft); }
}

/* ---- DEMO 4: Praca zespołowa (avatary + notatka się dopisuje) ---- */
.fd-team {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 10px;
  padding: 14px;
}
.fd-team-thread {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
.fd-team-thread:last-child { margin-bottom: 0; }
.fd-team-msg {
  background: var(--d-accent-soft);
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 11px;
  color: var(--d-ink);
  line-height: 1.4;
  max-width: 220px;
}
.fd-team-msg.note {
  background: #FEF3C7;
}
.fd-team-msg .typing {
  display: inline-block;
  width: 4px;
  height: 11px;
  background: var(--d-accent-2);
  vertical-align: middle;
  animation: fd-cursor 1s steps(2) infinite;
}
@keyframes fd-cursor {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

/* ---- DEMO 5: SLA & KPI (live counter) ---- */
.fd-kpi {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.fd-kpi-stat {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 10px;
  padding: 12px;
}
.fd-kpi-label {
  font-family: var(--d-mono);
  font-size: 9px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 6px;
}
.fd-kpi-value {
  font-family: var(--d-serif);
  font-size: 28px;
  font-weight: 400;
  color: var(--d-ink);
  line-height: 1;
  letter-spacing: -0.02em;
}
.fd-kpi-value em {
  font-size: 14px;
  font-style: italic;
  color: var(--d-accent-2);
  margin-left: 2px;
}
.fd-kpi-bar {
  margin-top: 8px;
  height: 3px;
  background: var(--d-line);
  border-radius: 2px;
  overflow: hidden;
}
.fd-kpi-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--d-accent-2), #4ade80);
  width: 94%;
  animation: fd-bar 4s ease-in-out infinite alternate;
}
@keyframes fd-bar {
  0% { width: 78%; }
  100% { width: 94%; }
}
.fd-kpi-tick {
  display: inline-block;
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-accent-2);
  animation: fd-tick 2s steps(8) infinite;
}
@keyframes fd-tick {
  0% { transform: translateY(0); opacity: 1; }
  50% { transform: translateY(-2px); opacity: 1; }
  100% { transform: translateY(0); opacity: 1; }
}

/* ---- DEMO 6: Integracje (logosy łączą się linią) ---- */
.fd-integrations {
  position: relative;
  height: 140px;
}
.fd-int-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.fd-int-line {
  fill: none;
  stroke: var(--d-line);
  stroke-width: 1.5;
  stroke-dasharray: 3 3;
}
.fd-int-line-active {
  fill: none;
  stroke: var(--d-accent-2);
  stroke-width: 2;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: fd-int-draw 4s ease-in-out infinite;
}
@keyframes fd-int-draw {
  0%, 10% { stroke-dashoffset: 100; }
  50%, 90% { stroke-dashoffset: 0; }
  95%, 100% { stroke-dashoffset: 100; }
}
.fd-int-node {
  position: absolute;
  width: 38px;
  height: 38px;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: 8px;
  display: grid;
  place-items: center;
  font-family: var(--d-serif);
  font-style: italic;
  font-size: 14px;
  color: var(--d-ink);
}
.fd-int-node.center {
  background: var(--d-accent);
  color: white;
  border-color: var(--d-accent);
  width: 44px;
  height: 44px;
  font-size: 16px;
  z-index: 2;
}

/* ================================================================
   PATTERN A — CUSTOMER VIEW (portal klienta, system obslugi)
   Mockup ekranu z listą ticketów / statusami
   ================================================================ */
.cv-debesis {
  position: relative;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  box-shadow: var(--d-shadow-lg);
  overflow: hidden;
}
.cv-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--d-line-soft);
  background: var(--d-accent-soft);
}
.cv-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--d-line); }
.cv-dot:nth-child(1) { background: #FCA5A5; }
.cv-dot:nth-child(2) { background: #FCD34D; }
.cv-dot:nth-child(3) { background: #6EE7B7; }
.cv-url {
  margin-left: 12px;
  font-family: var(--d-mono);
  font-size: 11px;
  color: var(--d-ink-mute);
  flex: 1;
  text-align: center;
}
.cv-body {
  padding: 22px 22px 26px;
}
.cv-greeting {
  font-family: var(--d-serif);
  font-size: 20px;
  margin-bottom: 4px;
  color: var(--d-ink);
  letter-spacing: -0.01em;
}
.cv-greeting em { font-style: italic; color: var(--d-accent-2); }
.cv-sub {
  font-size: 12px;
  color: var(--d-ink-mute);
  font-family: var(--d-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 18px;
}
.cv-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cv-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--d-line-soft);
  border-radius: 10px;
  font-size: 12px;
  background: var(--d-bg);
}
.cv-row-num {
  font-family: var(--d-mono);
  font-size: 11px;
  color: var(--d-ink-mute);
  font-weight: 500;
}
.cv-row-title {
  color: var(--d-ink);
  font-weight: 500;
}
.cv-row-meta {
  font-size: 10px;
  color: var(--d-ink-mute);
  margin-top: 2px;
}
.cv-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 100px;
  font-size: 10px;
  font-family: var(--d-mono);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.cv-status[data-st="new"] { background: #FEF3C7; color: #92400E; }
.cv-status[data-st="prog"] { background: #DBEAFE; color: #1E40AF; }
.cv-status[data-st="done"] { background: #D1FAE5; color: #065F46; }
.cv-status .d { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }

/* status że się zmienia: drugi ticket przechodzi z "Nowe" -> "W toku" -> "Rozwiązane" */
@keyframes cv-status-change {
  0%, 30% { background: #FEF3C7; color: #92400E; }
  35%, 65% { background: #DBEAFE; color: #1E40AF; }
  70%, 100% { background: #D1FAE5; color: #065F46; }
}
.cv-status.animated { animation: cv-status-change 8s ease-in-out infinite; }

/* ================================================================
   PATTERN B — WORKFLOW FLOWCHART (przyklady-automatyzacji)
   "if -> then -> else" pipeline z animowaną ścieżką
   ================================================================ */
.wf-debesis {
  position: relative;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  box-shadow: var(--d-shadow-lg);
  padding: 24px;
}
.wf-title {
  font-family: var(--d-mono);
  font-size: 11px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wf-title::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--d-accent-2);
  animation: pulse-dot 2s ease-in-out infinite;
}
.wf-step {
  display: flex;
  gap: 12px;
  align-items: stretch;
  margin-bottom: 12px;
}
.wf-step:last-child { margin-bottom: 0; }
.wf-step-marker {
  width: 32px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.wf-step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--d-bg);
  border: 1px solid var(--d-line);
  display: grid;
  place-items: center;
  font-family: var(--d-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--d-ink-soft);
  flex-shrink: 0;
}
.wf-step.active .wf-step-num {
  background: var(--d-accent-2);
  border-color: var(--d-accent-2);
  color: white;
}
.wf-step-line {
  flex: 1;
  width: 1px;
  background: var(--d-line);
  margin: 4px 0;
  position: relative;
  overflow: hidden;
}
.wf-step-line::after {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 10px;
  background: var(--d-accent-2);
  animation: wf-flow 8s ease-in-out infinite;
}
@keyframes wf-flow {
  0% { top: -10px; }
  100% { top: 100%; }
}
.wf-step-content {
  flex: 1;
  background: var(--d-bg);
  border: 1px solid var(--d-line-soft);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 13px;
}
.wf-step.active .wf-step-content {
  background: var(--d-accent-soft);
  border-color: var(--d-accent-2);
}
.wf-step-label {
  font-family: var(--d-mono);
  font-size: 9px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}
.wf-step-text {
  color: var(--d-ink);
  font-weight: 500;
  line-height: 1.4;
}
.wf-step-text code {
  font-family: var(--d-mono);
  font-size: 11px;
  background: var(--d-bg-elev);
  padding: 1px 5px;
  border-radius: 4px;
  color: var(--d-accent);
  border: 1px solid var(--d-line);
}

/* ================================================================
   PATTERN C — INDUSTRY DASHBOARD (call-center, ecommerce, banking, samorzady)
   Wąsko-tematyczny mockup z wskaźnikami branżowymi
   ================================================================ */
.id-debesis {
  position: relative;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  box-shadow: var(--d-shadow-lg);
  padding: 22px;
}
.id-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--d-line-soft);
}
.id-header-title {
  font-family: var(--d-serif);
  font-size: 18px;
  color: var(--d-ink);
  letter-spacing: -0.01em;
}
.id-live {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: #D1FAE5;
  border-radius: 100px;
  font-family: var(--d-mono);
  font-size: 10px;
  color: #065F46;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
}
.id-live::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--d-accent-2);
  animation: pulse-dot 1.4s ease-in-out infinite;
}
.id-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.id-stat {
  background: var(--d-bg);
  border: 1px solid var(--d-line-soft);
  border-radius: 10px;
  padding: 12px 14px;
}
.id-stat-label {
  font-family: var(--d-mono);
  font-size: 9px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}
.id-stat-value {
  font-family: var(--d-serif);
  font-size: 26px;
  color: var(--d-ink);
  letter-spacing: -0.02em;
  line-height: 1;
}
.id-stat-value em {
  font-size: 13px;
  font-style: italic;
  color: var(--d-accent-2);
  margin-left: 2px;
}
.id-stat-trend {
  margin-top: 6px;
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-accent-2);
}
.id-stat-trend.down { color: #DC2626; }
.id-bar {
  margin-top: 6px;
  height: 3px;
  background: var(--d-line-soft);
  border-radius: 2px;
  overflow: hidden;
}
.id-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--d-accent-2), #4ade80);
  width: 78%;
  animation: fd-bar 4s ease-in-out infinite alternate;
}
.id-row {
  margin-top: 14px;
  padding: 12px 14px;
  background: var(--d-accent-soft);
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.id-row-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: var(--d-bg-elev);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.id-row-text {
  flex: 1;
  font-size: 12px;
  color: var(--d-ink);
}
.id-row-meta {
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-ink-mute);
}

/* ================================================================
   AGRESYWNE OVERRIDES — stare custom sekcje Mobirise na index/funkcje
   Cel: ujednolicić każdą sekcję starego stylu z nową estetyką
   ================================================================ */

/* SECTION SEO MAIN — "Czym jest system ticketowy" */
section.section-seo-main,
section#seo-content-main,
section.section-ticket-steps,
section#ticket-steps,
section.section-ticket-practice,
section#ticket-practice,
section.ticket-usecase-section,
section.section-ticket-industries,
section#ticket-industries,
section.section-ticket-faq,
section#ticket-faq,
section.debesis-why,
section#why-debesis,
section.section-seo-funkcje,
section#seo-funkcje {
  background: var(--d-bg) !important;
  color: var(--d-ink) !important;
  padding: 100px 0 !important;
  font-family: var(--d-sans) !important;
}

section.section-seo-main h1, section.section-seo-main h2, section.section-seo-main h3,
section#seo-content-main h1, section#seo-content-main h2, section#seo-content-main h3,
section.section-ticket-steps h1, section.section-ticket-steps h2, section.section-ticket-steps h3,
section.section-ticket-practice h1, section.section-ticket-practice h2, section.section-ticket-practice h3,
section.section-ticket-industries h1, section.section-ticket-industries h2, section.section-ticket-industries h3,
section.section-ticket-faq h1, section.section-ticket-faq h2, section.section-ticket-faq h3,
section.debesis-why h1, section.debesis-why h2, section.debesis-why h3,
section.section-seo-funkcje h1, section.section-seo-funkcje h2, section.section-seo-funkcje h3,
section.ticket-usecase-section h1, section.ticket-usecase-section h2, section.ticket-usecase-section h3 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  color: var(--d-ink) !important;
}

section.section-seo-main h2,
section#seo-content-main h2,
section.section-ticket-steps h2,
section.section-ticket-practice h2,
section.section-ticket-industries h2,
section.section-ticket-faq h2,
section.debesis-why h2,
section.section-seo-funkcje h2 {
  font-size: clamp(28px, 3.5vw, 44px) !important;
  margin-bottom: 24px !important;
}

section.section-seo-main h3,
section#seo-content-main h3,
section.section-ticket-steps h3,
section.section-ticket-practice h3,
section.section-ticket-industries h3,
section.debesis-why h3,
section.section-seo-funkcje h3 {
  font-family: var(--d-sans) !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: -0.01em !important;
  color: var(--d-ink) !important;
}

section.section-seo-main p, section.section-seo-main li,
section#seo-content-main p, section#seo-content-main li,
section.section-ticket-steps p, section.section-ticket-steps li,
section.section-ticket-practice p, section.section-ticket-practice li,
section.section-ticket-industries p, section.section-ticket-industries li,
section.section-ticket-faq p, section.section-ticket-faq li,
section.debesis-why p, section.debesis-why li,
section.section-seo-funkcje p, section.section-seo-funkcje li,
section.ticket-usecase-section p, section.ticket-usecase-section li {
  font-family: var(--d-sans) !important;
  color: var(--d-ink-soft) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* Wszystkie kafelki/karty w tych sekcjach */
section.section-seo-main .card,
section.section-seo-main .item,
section.section-seo-main [class*="col-"] > div:not([class*="col-"]):not(.text-wrapper):not(.image-wrapper),
section.section-ticket-steps .step,
section.section-ticket-steps .step-item,
section.section-ticket-steps [class*="col-"] > div,
section.section-ticket-practice .practice-card,
section.section-ticket-practice [class*="col-"] > div,
section.section-ticket-industries .industry,
section.section-ticket-industries [class*="col-"] > div,
section.debesis-why .why-card,
section.section-seo-funkcje .feature-block,
section.ticket-usecase-section .usecase-card,
section.section-seo-main .features-grid > div,
section.section-seo-main .feature-block {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius-lg) !important;
  padding: 28px !important;
  box-shadow: var(--d-shadow-sm) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}

/* hover dla wszystkich tych kart */
section.section-seo-main .card:hover,
section.section-ticket-steps .step:hover,
section.section-ticket-practice .practice-card:hover,
section.section-ticket-industries .industry:hover,
section.debesis-why .why-card:hover,
section.section-seo-funkcje .feature-block:hover,
section.section-seo-main .feature-block:hover {
  transform: translateY(-2px);
  box-shadow: var(--d-shadow) !important;
  border-color: var(--d-accent) !important;
}

/* Stare zielone/turkusowe przyciski "btn-primary-hero" itd. */
.btn-primary-hero,
section a.btn-primary-hero,
section a[class*="btn-primary-hero"],
section.section-ticket-steps a[href],
section.debesis-why a[href*="kontakt"],
section.section-seo-main a[href*="kontakt"],
section a[style*="background-color:#1a7a90"],
section a[style*="background:#1A7A90"],
section a[style*="background-color: #1a7a90"] {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-family: var(--d-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: var(--d-accent) !important;
  background-color: var(--d-accent) !important;
  color: white !important;
  border: 1px solid var(--d-accent) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.1) inset, 0 1px 2px rgba(10,14,26,0.2) !important;
  transition: transform 0.15s ease, background 0.2s !important;
}

.btn-primary-hero:hover,
section a.btn-primary-hero:hover {
  background: #1a3a5c !important;
  background-color: #1a3a5c !important;
  color: white !important;
  transform: translateY(-1px);
}

/* FAQ — accordion w stylu mobiriase */
section.section-ticket-faq .accordion-item,
section.section-ticket-faq .faq-item,
section.section-ticket-faq details,
section.section-ticket-faq button[aria-expanded] {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius) !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
}
section.section-ticket-faq .accordion-button,
section.section-ticket-faq button[aria-expanded] {
  background: transparent !important;
  font-family: var(--d-sans) !important;
  font-weight: 500 !important;
  color: var(--d-ink) !important;
  padding: 16px 20px !important;
  font-size: 15px !important;
  border: none !important;
  text-align: left !important;
  width: 100% !important;
}
section.section-ticket-faq .accordion-body,
section.section-ticket-faq [class*="collapse"] {
  background: transparent !important;
  padding: 0 20px 16px !important;
  color: var(--d-ink-soft) !important;
}

/* features7 — sekcja integracji */
section#features7-4g {
  background: var(--d-bg) !important;
  padding: 100px 0 !important;
}
section#features7-4g .row-top {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
  align-items: start !important;
}
section#features7-4g .col-logos {
  flex: none !important;
  max-width: none !important;
  width: 100% !important;
}
section#features7-4g .col-text {
  flex: none !important;
  max-width: none !important;
  width: 100% !important;
}
@media (max-width: 991px) {
  section#features7-4g .row-top {
    grid-template-columns: 1fr !important;
  }
}
section#features7-4g h2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  font-size: clamp(28px, 3.5vw, 44px) !important;
  color: var(--d-ink) !important;
  margin-bottom: 24px !important;
}
section#features7-4g .chip {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius) !important;
  padding: 14px !important;
  font-family: var(--d-sans) !important;
}
section#features7-4g .chip strong {
  color: var(--d-ink) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}
section#features7-4g .chip-dot { background: var(--d-accent-2) !important; }
section#features7-4g .lead {
  color: var(--d-ink-soft) !important;
  font-family: var(--d-sans) !important;
  font-size: 17px !important;
}

/* integrations-grid - 4x2 kafelków, większe, czytelniejsze */
section#features7-4g .integrations-grid,
.integrations-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px !important;
  width: 100%;
  max-width: 560px;
  margin-left: auto;
}
.integration-tile {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius);
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
  min-height: 76px;
}
.integration-tile:hover {
  border-color: var(--d-accent);
  transform: translateY(-2px);
  box-shadow: var(--d-shadow);
}
.integration-tile-mark {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  background: var(--d-accent);
  color: white;
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-family: var(--d-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1;
  font-weight: 400;
}
.integration-tile-mark-more {
  background: var(--d-accent-soft);
  color: var(--d-accent);
  border: 1px dashed var(--d-line);
  font-style: normal;
  font-family: var(--d-sans);
  font-weight: 500;
  font-size: 26px;
}
.integration-tile-name {
  font-family: var(--d-sans);
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--d-ink) !important;
  line-height: 1.15 !important;
  display: flex !important;
  flex-direction: column !important;
  letter-spacing: -0.01em;
}
.integration-tile-name small {
  display: block !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--d-ink-mute) !important;
  margin-top: 5px !important;
  font-family: var(--d-mono) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
.integration-tile-more {
  background: var(--d-accent-soft);
  border-style: dashed;
}
.integration-tile-more .integration-tile-name {
  color: var(--d-ink-soft) !important;
}

@media (max-width: 768px) {
  section#features7-4g .integrations-grid {
    grid-template-columns: 1fr !important;
    margin: 0 auto;
    max-width: 100%;
  }
}

/* article9 - "Wszystkie sprawy i zgłoszenia pod kontrolą" */
section.offerm5.article9, section#article09-4r {
  background: var(--d-bg) !important;
  padding: 80px 0 !important;
}
section#article09-4r h2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: var(--d-ink) !important;
}

/* testimonials1 - białe kafelki na beżu */
section.testimonials1, section#testimonials01-4h {
  background: var(--d-accent-soft) !important;
  border-top: 1px solid var(--d-line);
  border-bottom: 1px solid var(--d-line);
  padding: 100px 0 !important;
}
section.testimonials1 h2, section#testimonials01-4h h2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  font-size: clamp(28px, 3.5vw, 44px) !important;
  color: var(--d-ink) !important;
  margin-bottom: 48px !important;
}
section.testimonials1 .card, section#testimonials01-4h .card,
section.testimonials1 .testimonial-card,
section.testimonials1 [class*="col-"] > div {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius-lg) !important;
  padding: 28px !important;
  box-shadow: var(--d-shadow-sm) !important;
}
section.testimonials1 blockquote, section.testimonials1 p {
  font-family: var(--d-sans) !important;
  color: var(--d-ink-soft) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* "podpisy" pod testimonialami */
section.testimonials1 .mbr-section-subtitle,
section.testimonials1 h2.mbr-section-subtitle {
  font-family: var(--d-sans) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--d-ink) !important;
  margin-top: 16px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Stylize gradient blokowe na ticket-practice */
section.section-ticket-practice [class*="bg-"], 
section.section-ticket-practice .practice-block {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius-lg) !important;
}

/* Przyciski w tych sekcjach */
section.section-ticket-steps .btn,
section.section-ticket-practice .btn,
section.section-ticket-industries .btn,
section.section-ticket-faq .btn,
section.debesis-why .btn,
section.section-seo-main .btn,
section#features7-4g .btn,
section.offerm5.article9 .btn,
section.testimonials1 .btn,
section.ticket-usecase-section .btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-family: var(--d-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: var(--d-accent) !important;
  background-color: var(--d-accent) !important;
  color: white !important;
  border: 1px solid var(--d-accent) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.1) inset, 0 1px 2px rgba(10,14,26,0.2) !important;
}

/* Background gradients/colors w starych sekcjach */
section.section-ticket-practice {
  background: var(--d-accent-soft) !important;
}

/* Use case sections - tie usecase-calls/portal/sms na ticket-practice */
section.ticket-usecase-section {
  padding: 60px 0 !important;
  background: var(--d-bg-elev) !important;
}
section.ticket-usecase-section h3,
section.ticket-usecase-section h4 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: var(--d-ink) !important;
  font-size: 24px !important;
}

/* Generic blockquote styling */
section blockquote {
  font-family: var(--d-serif) !important;
  font-style: italic;
  font-size: 18px !important;
  color: var(--d-ink) !important;
  border-left: 3px solid var(--d-accent-2);
  padding-left: 20px;
  margin: 24px 0;
}

/* Listy w starych sekcjach (np. "Zbieraj zgłoszenia z wielu kanałów") */
section.section-ticket-steps li,
section.section-ticket-practice li,
section.debesis-why li {
  padding-left: 24px !important;
  position: relative !important;
  margin-bottom: 8px !important;
}
section.section-ticket-steps li::before,
section.section-ticket-practice li::before,
section.debesis-why li::before {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  top: 0.7em !important;
  width: 12px !important;
  height: 1px !important;
  background: var(--d-accent-2) !important;
}

/* Obrazek w sekcjach SEO - subtle styling */
section.section-seo-main img,
section.section-ticket-steps img,
section.section-ticket-practice img,
section.section-ticket-industries img {
  border-radius: var(--d-radius-lg) !important;
  box-shadow: var(--d-shadow) !important;
}

/* "Ileż razy słyszałeś" / "Wszystkie sprawy" - sekcja z kciukiem */
section.offerm5.article9 .mbr-section-subtitle,
section.offerm5.article9 [class*="display"] {
  font-family: var(--d-sans) !important;
  font-size: 15px !important;
  color: var(--d-ink-soft) !important;
}

/* ================================================================
   POPRAWKI EDGE CASE: testimonial names h2 display-4 + use-case bg
   ================================================================ */

/* Testimonial signatures - "– Paweł Kozak, CEO..." */
section.testimonials1 h2.mbr-section-subtitle,
section.testimonials1 h2.display-4,
section#testimonials01-4h h2.mbr-section-subtitle,
section#testimonials01-4h h2[class*="display"] {
  font-family: var(--d-sans) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: var(--d-ink) !important;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: block !important;
}

/* Use-case sekcji (call/portal/SMS) - przykryć stary niebieski gradient */
section.ticket-usecase-section,
section#ticket-usecase-calls,
section#ticket-usecase-portal,
section#ticket-usecase-sms {
  background: var(--d-bg) !important;
  background-image: none !important;
}
section.ticket-usecase-card,
section .ticket-usecase-card {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius-lg) !important;
  box-shadow: var(--d-shadow-sm) !important;
}
section .ticket-usecase-img {
  margin-bottom: 16px !important;
}
section .ticket-usecase-img img {
  border-radius: var(--d-radius) !important;
  box-shadow: var(--d-shadow-sm) !important;
  max-width: 100%;
  height: auto;
}

/* Use-case grid item links na index */
.ticket-usecase-grid-item,
section .usecase-link,
.usecase-link-card {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius-lg) !important;
  padding: 24px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  text-decoration: none !important;
}
.ticket-usecase-grid-item:hover,
section .usecase-link:hover,
.usecase-link-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--d-shadow) !important;
  border-color: var(--d-accent) !important;
}

/* SEO content main / industries images - schowaj stare ilustracje "z ludzikami" */
section#seo-content-main img[src*="treatments-price-list-beauty-care"],
section.section-seo-main img[src*="ludzik"],
section.section-seo-main img[src*="illustration"] {
  display: none !important;
}

/* mod1, mod2, mod3 - moduły SEO main */
.mod1, .mod2, .mod3, .mod4, .mod5 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
  align-items: center !important;
  margin-bottom: 80px !important;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 32px !important;
}
.mod1-img img, .mod2-img img, .mod3-img img, .mod4-img img, .mod5-img img,
.mod1 img, .mod2 img, .mod3 img {
  border-radius: var(--d-radius-lg) !important;
  box-shadow: var(--d-shadow) !important;
  width: 100% !important;
  height: auto !important;
  border: 1px solid var(--d-line);
}
.mod1-text h2, .mod2-text h2, .mod3-text h2, .mod1-head h2, .mod2-head h2, .mod3-head h2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  font-size: clamp(28px, 3.5vw, 40px) !important;
  line-height: 1.1 !important;
  color: var(--d-ink) !important;
  margin-bottom: 20px !important;
}
.mod1-text p, .mod2-text p, .mod3-text p {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--d-ink-soft) !important;
  margin-bottom: 16px !important;
}

/* ================================================================
   MOD2 NOWY - 5-step flow animation
   ================================================================ */
.mod2 {
  grid-template-columns: 1fr !important;
}
.mod2-head {
  text-align: center !important;
  max-width: 720px !important;
  margin: 0 auto 48px !important;
  grid-column: 1 / -1 !important;
}

.flow5-debesis {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}
.flow5-track {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  gap: 12px;
  align-items: stretch;
  margin-bottom: 32px;
}
.flow5-step {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  padding: 20px 16px;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex;
  flex-direction: column;
}
.flow5-step:hover {
  transform: translateY(-2px);
  box-shadow: var(--d-shadow);
  border-color: var(--d-accent);
}
.flow5-step.active {
  border-color: var(--d-accent-2);
  box-shadow: 0 0 0 3px rgba(45, 106, 79, 0.08);
}
.flow5-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  margin-bottom: 12px;
  transition: transform 0.4s ease;
}
.flow5-step.active .flow5-icon {
  transform: scale(1.08) rotate(-3deg);
}
.flow5-num {
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-ink-mute);
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-bottom: 6px;
}
.flow5-step h4 {
  font-family: var(--d-serif) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
  color: var(--d-ink) !important;
  margin-bottom: 8px !important;
}
.flow5-step p {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--d-ink-soft) !important;
  margin: 0 !important;
}

.flow5-arrow {
  width: 24px;
  height: 2px;
  background: var(--d-line);
  align-self: center;
  position: relative;
}
.flow5-arrow::after {
  content: "";
  position: absolute;
  right: -3px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--d-line);
  border-right: 2px solid var(--d-line);
}

/* progress bar pod krokami */
.flow5-progress {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 32px;
}
.flow5-progress-fill {
  position: absolute;
  top: 50%;
  left: 32px;
  right: 32px;
  height: 2px;
  background: var(--d-line);
  transform: translateY(-50%);
}
.flow5-progress-fill::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--d-accent-2), #4ade80);
  animation: flow5-progress 10s ease-in-out infinite;
  border-radius: 2px;
}
@keyframes flow5-progress {
  0% { width: 0; }
  16% { width: 0; }
  20% { width: 12.5%; }
  36% { width: 12.5%; }
  40% { width: 37.5%; }
  56% { width: 37.5%; }
  60% { width: 62.5%; }
  76% { width: 62.5%; }
  80% { width: 87.5%; }
  96% { width: 87.5%; }
  100% { width: 100%; }
}
.flow5-progress-dots {
  position: relative;
  display: flex;
  justify-content: space-between;
  z-index: 1;
}
.flow5-progress-dots .dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--d-bg-elev);
  border: 2px solid var(--d-line);
  transition: all 0.3s;
}

/* mobile flow5 - responsive */
@media (max-width: 1100px) {
  .flow5-track {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .flow5-arrow { display: none; }
  .flow5-progress { display: none; }
}
@media (max-width: 600px) {
  .flow5-track { grid-template-columns: 1fr; }
}

/* ================================================================
   MOD3 NOWY - 6 funkcji w siatce 3x2
   ================================================================ */
.mod3 {
  grid-template-columns: 1fr !important;
}
.mod3-head {
  text-align: center !important;
  max-width: 720px !important;
  margin: 0 auto 48px !important;
}
.mod3-grid-new {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}
.mod3-feature {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  padding: 28px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.mod3-feature:hover {
  transform: translateY(-2px);
  box-shadow: var(--d-shadow);
  border-color: var(--d-accent);
}
.mod3-feature-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  margin-bottom: 16px;
}
.mod3-feature h3 {
  font-family: var(--d-serif) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
  color: var(--d-ink) !important;
  margin-bottom: 10px !important;
}
.mod3-feature p {
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--d-ink-soft) !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  .mod3-grid-new { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .mod3-grid-new { grid-template-columns: 1fr; }
}

/* ================================================================
   STEP MOCKUPS dla section-ticket-steps (zamiast obrazów)
   ================================================================ */
.step-card {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius-lg) !important;
  padding: 32px !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}
.step-card:hover {
  border-color: var(--d-accent) !important;
  box-shadow: var(--d-shadow) !important;
}
.step-badge {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--d-accent);
  color: white;
  display: grid;
  place-items: center;
  font-family: var(--d-mono) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.step-title, .step-card .step-title {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  color: var(--d-ink) !important;
  margin-bottom: 12px !important;
  margin-right: 48px !important;
}
.step-text, .step-card .step-text {
  font-family: var(--d-sans) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--d-ink-soft) !important;
  margin-bottom: 24px !important;
}

/* MOCKUP 1: 4 channels */
.step-mockup {
  margin-top: auto;
  margin-left: -32px;
  margin-right: -32px;
  margin-bottom: -32px;
  padding: 22px 24px 26px;
  background: linear-gradient(180deg, transparent, var(--d-accent-soft));
  border-top: 1px solid var(--d-line-soft);
}
.step-mockup-channels {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sm-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 8px 12px;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 8px;
  font-size: 12px;
  opacity: 0;
  transform: translateX(-10px);
  animation: sm-slide 6s ease-in-out infinite;
}
.sm-row-1 { animation-delay: 0s; }
.sm-row-2 { animation-delay: 0.4s; }
.sm-row-3 { animation-delay: 0.8s; }
.sm-row-4 { animation-delay: 1.2s; }
@keyframes sm-slide {
  0%, 5% { opacity: 0; transform: translateX(-10px); }
  10%, 80% { opacity: 1; transform: translateX(0); }
  85%, 100% { opacity: 0.4; transform: translateX(0); }
}
.sm-icon {
  width: 22px; height: 22px;
  border-radius: 5px;
  display: grid; place-items: center;
}
.sm-text {
  flex: 1;
  color: var(--d-ink-soft);
  font-weight: 500;
}
.sm-num {
  font-family: var(--d-mono);
  font-size: 11px;
  color: var(--d-ink);
  font-weight: 600;
  min-width: 30px;
  text-align: right;
}

/* MOCKUP 2: rules */
.step-mockup-rules {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sm-rule {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 8px;
  font-size: 12px;
}
.sm-rule-active {
  border-left: 3px solid var(--d-accent-2);
}
.sm-rule-label {
  font-family: var(--d-mono);
  font-size: 9px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  min-width: 32px;
}
.sm-rule-text {
  flex: 1;
  color: var(--d-ink);
}
.sm-rule-text code {
  font-family: var(--d-mono);
  font-size: 10px;
  background: var(--d-accent-soft);
  border: 1px solid var(--d-line);
  padding: 1px 5px;
  border-radius: 3px;
  color: var(--d-accent);
}
.sm-rule-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--d-bg-elev);
  border-radius: 8px;
  font-size: 11px;
  color: var(--d-ink-soft);
  font-family: var(--d-mono);
  margin-top: 4px;
}
.sm-rule-trigger-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--d-accent-2);
  animation: pulse-dot 1.5s ease-in-out infinite;
}

/* MOCKUP 3: KPI */
.step-mockup-kpi {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sm-kpi-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.sm-kpi-stat {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 8px;
  padding: 10px;
}
.sm-kpi-label {
  font-family: var(--d-mono);
  font-size: 9px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}
.sm-kpi-value {
  font-family: var(--d-serif);
  font-size: 24px;
  color: var(--d-ink);
  letter-spacing: -0.02em;
  line-height: 1;
}
.sm-kpi-value em {
  font-size: 12px;
  font-style: italic;
  color: var(--d-accent-2);
  margin-left: 1px;
}
.sm-kpi-bar {
  margin-top: 6px;
  height: 3px;
  background: var(--d-line);
  border-radius: 2px;
  overflow: hidden;
}
.sm-kpi-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--d-accent-2), #4ade80);
  width: 0;
  border-radius: 2px;
  animation: sm-bar-fill 3s ease-out forwards;
}
@keyframes sm-bar-fill {
  to { width: var(--w, 80%); }
}
.sm-kpi-trend {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 8px;
  padding: 10px;
}
.sm-kpi-trend-label {
  display: block;
  margin-top: 4px;
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-ink-mute);
}

/* schowaj stare obrazy w step-card jeśli zostały */
.step-card .step-illustration {
  display: none !important;
}

/* ================================================================
   WHY-DEBESIS MOCKUP - zamiast obrazka
   ================================================================ */
.why-mockup {
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  box-shadow: var(--d-shadow-lg);
  overflow: hidden;
  max-width: 480px;
  margin: 0 auto;
  position: relative;
}
.why-mockup-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--d-line-soft);
  background: var(--d-accent-soft);
}
.why-mockup-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.why-mockup-url {
  margin-left: 12px;
  font-family: var(--d-mono);
  font-size: 11px;
  color: var(--d-ink-mute);
  flex: 1;
  text-align: center;
}
.why-mockup-body {
  padding: 18px;
  position: relative;
}
.why-mockup-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--d-line-soft);
  border-radius: 10px;
  margin-bottom: 8px;
  background: var(--d-bg-elev);
  transition: border-color 0.2s, transform 0.2s;
}
.why-mockup-row.why-mockup-active {
  border-color: var(--d-accent);
  background: var(--d-bg);
  transform: translateX(2px);
  box-shadow: 0 0 0 3px rgba(15, 41, 66, 0.05);
}
.why-mockup-status {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 10px;
  flex-shrink: 0;
}
.why-mockup-content {
  min-width: 0;
}
.why-mockup-from {
  font-size: 13px;
  font-weight: 500;
  color: var(--d-ink);
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.why-mockup-subject {
  font-size: 11px;
  color: var(--d-ink-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.why-mockup-time {
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-ink-mute);
  white-space: nowrap;
}
.why-mockup-sla {
  margin-top: 14px;
  padding: 12px 14px;
  background: var(--d-accent-soft);
  border-radius: 10px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
}
.why-mockup-sla-label {
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
}
.why-mockup-sla-bar {
  height: 4px;
  background: var(--d-line);
  border-radius: 2px;
  overflow: hidden;
}
.why-mockup-sla-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--d-accent-2), #4ade80);
  width: 0;
  animation: why-sla-fill 2s ease-out 0.4s forwards;
  border-radius: 2px;
}
@keyframes why-sla-fill { to { width: 96%; } }
.why-mockup-sla-value {
  font-family: var(--d-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--d-ink);
}

/* ================================================================
   MOD1 MOCKUP - "Czym jest nowoczesny system" - flow channels do inbox
   ================================================================ */
.mod1-mockup {
  position: relative;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius-lg);
  box-shadow: var(--d-shadow-lg);
  padding: 24px;
  max-width: 460px;
  margin: 0 auto;
}
.mod1-mockup-channels {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 4px;
  position: relative;
  z-index: 2;
}
.mod1-channel {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  margin: 0 auto;
  transition: transform 0.4s ease;
}
.mod1-mockup-channels .mod1-channel:nth-child(1) { animation: mod1-pulse 4s ease-in-out 0.0s infinite; }
.mod1-mockup-channels .mod1-channel:nth-child(2) { animation: mod1-pulse 4s ease-in-out 1.0s infinite; }
.mod1-mockup-channels .mod1-channel:nth-child(3) { animation: mod1-pulse 4s ease-in-out 2.0s infinite; }
.mod1-mockup-channels .mod1-channel:nth-child(4) { animation: mod1-pulse 4s ease-in-out 3.0s infinite; }
@keyframes mod1-pulse {
  0%, 5%, 30%, 100% { transform: scale(1); box-shadow: none; }
  10%, 20% { transform: scale(1.1); box-shadow: 0 0 0 4px rgba(45, 106, 79, 0.15); }
}

.mod1-mockup-arrows {
  height: 50px;
  margin: 0 auto;
  width: 100%;
  position: relative;
}
.mod1-mockup-arrows svg {
  width: 100%;
  height: 100%;
}

.mod1-mockup-panel {
  background: var(--d-bg);
  border: 1px solid var(--d-line);
  border-radius: var(--d-radius);
  padding: 12px;
  margin-top: -8px;
  position: relative;
  z-index: 2;
}
.mod1-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  padding: 0 4px 8px;
  border-bottom: 1px solid var(--d-line-soft);
}
.mod1-panel-title {
  font-family: var(--d-mono);
  font-size: 10px;
  color: var(--d-ink-mute);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
}
.mod1-panel-live {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--d-mono);
  font-size: 9px;
  color: var(--d-accent-2);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
}
.mod1-panel-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--d-accent-2);
  animation: pulse-dot 1.5s ease-in-out infinite;
}
.mod1-panel-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  background: var(--d-bg-elev);
  border: 1px solid var(--d-line-soft);
  border-radius: 8px;
  margin-bottom: 6px;
  font-size: 12px;
}
.mod1-panel-status {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 8px;
}
.mod1-panel-text {
  color: var(--d-ink);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mod1-panel-tag {
  font-family: var(--d-mono);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 100px;
  background: var(--d-accent-soft);
  color: var(--d-ink-soft);
}

/* mod2 head pełna szerokość */
.mod2-head {
  text-align: center !important;
  max-width: 720px !important;
  margin: 0 auto 48px !important;
  grid-column: 1 / -1 !important;
}

/* mobile - flatten */
@media (max-width: 900px) {
  .mod1, .mod2, .mod3, .mod4, .mod5 {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* Wymuś tło bg na każdej sekcji header*/
section[id^="header"][data-bs-version] {
  background: var(--d-bg) !important;
  background-image: none !important;
}

/* Stare gradients na sekcjach - przykryj */
section[data-bs-version][style*="gradient"],
section[data-bs-version] {
  background-image: none !important;
}
section.section-ticket-practice {
  background: var(--d-accent-soft) !important;
  background-image: none !important;
}

/* ================================================================
   ULTRA-WYSOKA SPECYFICZNOŚĆ — przykryć inline override Mobirise
   (np. #features7-4g .btn.btn-info ma specyficzność 1-2-1)
   ================================================================ */

/* Btn override z bardzo wysoką specyficznością */
section#features7-4g .btn.btn-info,
section#features7-4g a.btn.btn-info,
section[id^="header"] .btn.btn-info,
section[id^="header"] a.btn.btn-info,
section[id^="header"] .mbr-section-btn .btn.btn-info,
section#header8-blog .mbr-section-btn .btn.btn-info,
section[id^="content"] .btn.btn-info,
section[id^="features"] .btn.btn-info,
section[id^="testimonials"] .btn.btn-info,
section[id^="article"] .btn.btn-info,
section[id^="blog"] .btn.btn-info,
section[id^="blog"] .mbr-section-btn .btn.btn-info,
section.testimonials1 .btn.btn-info,
section.section-ticket-steps .btn.btn-info,
section.section-ticket-practice .btn.btn-info,
section.section-ticket-industries .btn.btn-info,
section.section-ticket-faq .btn.btn-info,
section.debesis-why .btn.btn-info,
section.section-seo-main .btn.btn-info,
section.section-seo-funkcje .btn.btn-info,
section.ticket-usecase-section .btn.btn-info,
section.offerm5.article9 .btn.btn-info,
section.cid- .btn.btn-info,
section.mbr-fullscreen .btn.btn-info,
.mbr-section-btn .btn.btn-info {
  background: var(--d-accent) !important;
  background-color: var(--d-accent) !important;
  border: 1px solid var(--d-accent) !important;
  border-color: var(--d-accent) !important;
  color: white !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-family: var(--d-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.1) inset, 0 1px 2px rgba(10,14,26,0.2) !important;
  transition: transform 0.15s ease, background 0.2s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
section#features7-4g .btn.btn-info:hover,
section#features7-4g a.btn.btn-info:hover,
section[id^="header"] .btn.btn-info:hover,
section[id^="content"] .btn.btn-info:hover,
section[id^="features"] .btn.btn-info:hover,
section.section-ticket-steps .btn.btn-info:hover,
section.section-ticket-practice .btn.btn-info:hover,
section.section-ticket-industries .btn.btn-info:hover,
section.debesis-why .btn.btn-info:hover,
section.section-seo-main .btn.btn-info:hover,
.mbr-section-btn .btn.btn-info:hover {
  background: #1a3a5c !important;
  background-color: #1a3a5c !important;
  border-color: #1a3a5c !important;
  color: white !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.1) inset, 0 4px 12px rgba(10,14,26,0.25) !important;
}

/* btn-primary-hero (cennik & inne) */
section a.btn-primary-hero,
section .btn-primary-hero,
.btn-primary-hero {
  background: var(--d-accent) !important;
  background-color: var(--d-accent) !important;
  border: 1px solid var(--d-accent) !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-family: var(--d-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: white !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: transform 0.15s ease, background 0.2s !important;
}
section a.btn-primary-hero:hover {
  background: #1a3a5c !important;
  transform: translateY(-1px) !important;
}

/* btn-black, btn-secondary-* — wszystkie pozostałe warianty Mobirise */
section .btn.btn-black,
section a.btn.btn-black,
section .mbr-section-btn .btn.btn-black,
section a.btn.btn-black-outline,
section .btn.btn-secondary-outline,
section .btn.btn-warning,
section .btn.btn-danger,
section .btn.btn-dark {
  background: var(--d-accent) !important;
  background-color: var(--d-accent) !important;
  color: white !important;
  border: 1px solid var(--d-accent) !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-family: var(--d-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.1) inset, 0 1px 2px rgba(10,14,26,0.2) !important;
  transition: transform 0.15s ease, background 0.2s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
section .btn.btn-black:hover,
section a.btn.btn-black:hover,
section .mbr-section-btn .btn.btn-black:hover {
  background: #1a3a5c !important;
  background-color: #1a3a5c !important;
  border-color: #1a3a5c !important;
  color: white !important;
  transform: translateY(-1px) !important;
}

/* sekcja article9 - więcej powietrza i lepszy układ flex */
section.offerm5.article9, section#article09-4r {
  background: var(--d-bg) !important;
  padding: 60px 0 !important;
}
section#article09-4r .container,
section.article9 .container {
  max-width: 1200px !important;
}
section#article09-4r .row,
section.article9 .row {
  align-items: center !important;
  padding: 32px;
  background: var(--d-accent-soft);
  border-radius: var(--d-radius-lg);
  border: 1px solid var(--d-line);
  margin: 0;
}
section#article09-4r .iconfont-wrapper {
  display: flex;
  justify-content: center;
}
section#article09-4r .mbr-iconfont {
  font-size: 48px !important;
  color: var(--d-accent-2) !important;
  fill: var(--d-accent-2) !important;
}
section#article09-4r h2,
section.article9 h2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  font-size: clamp(24px, 2.5vw, 32px) !important;
  line-height: 1.15 !important;
  color: var(--d-ink) !important;
  margin-bottom: 8px !important;
}
section#article09-4r h3,
section.article9 h3 {
  font-family: var(--d-sans) !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  color: var(--d-ink-soft) !important;
  line-height: 1.5 !important;
}
section#article09-4r .mbr-section-btn {
  text-align: right;
}

/* Przycisk turkusowy (#A2C8D1) - usunąć animację którą Mobirise miał */
@keyframes pulse {
  0%, 100% { transform: none; }
}

/* ================================================================
   BLOG OVERRIDES — sekcje custom blog
   ================================================================ */

/* CTA wewnątrz blog-lead - turkusowy gradient -> granat Debesis */
section#blog-lead .wrap {
  background: linear-gradient(135deg, var(--d-accent) 0%, #1a3a5c 100%) !important;
  box-shadow: 0 22px 50px rgba(15, 41, 66, 0.35) !important;
}
section#blog-lead h2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  color: white !important;
}
section#blog-lead p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-family: var(--d-sans) !important;
}
section#blog-lead .btn,
section#blog-lead a.btn,
section#blog-lead a.btn.btn-info {
  background: white !important;
  background-color: white !important;
  color: var(--d-accent) !important;
  border: 1px solid white !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-family: var(--d-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Hero blog - większe odstępy + Instrument Serif */
section#header8-blog .desc1,
section#header8-blog h1,
section#header8-blog .mbr-section-title {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  color: var(--d-ink) !important;
}
section#header8-blog h5,
section#header8-blog .mbr-section-subtitle {
  color: var(--d-accent-2) !important;
  font-family: var(--d-mono) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
  font-size: 11px !important;
}
section#header8-blog {
  background: var(--d-bg) !important;
}
section#header8-blog .image-wrapper img {
  border-radius: var(--d-radius-lg) !important;
  box-shadow: var(--d-shadow) !important;
}

/* Karty artykułów blog - features2 */
section#blog-featured,
section#blog-latest {
  background: var(--d-bg) !important;
  padding: 80px 0 !important;
}
section#blog-featured h2,
section#blog-latest h2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  font-size: clamp(28px, 3.5vw, 44px) !important;
  color: var(--d-ink) !important;
  margin-bottom: 16px !important;
}

section#blog-featured .card,
section#blog-featured .item,
section#blog-featured [class*="col-"] > article,
section#blog-featured [class*="col-"] > div,
section#blog-latest .card,
section#blog-latest .item,
section#blog-latest [class*="col-"] > article,
section#blog-latest [class*="col-"] > div {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius-lg) !important;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  height: 100%;
}
section#blog-featured .card:hover,
section#blog-latest .card:hover {
  transform: translateY(-2px);
  box-shadow: var(--d-shadow) !important;
  border-color: var(--d-accent) !important;
}
section#blog-featured img,
section#blog-latest img {
  border-radius: 0 !important;
  width: 100%;
  height: auto;
  object-fit: cover;
}
section#blog-featured h3, section#blog-featured h4,
section#blog-latest h3, section#blog-latest h4,
section#blog-featured .mbr-section-subtitle,
section#blog-latest .mbr-section-subtitle {
  font-family: var(--d-sans) !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: -0.01em !important;
  color: var(--d-ink) !important;
  line-height: 1.3 !important;
  margin-bottom: 8px !important;
}

/* Kategoria badges nad tytułem artykułu */
section#blog-featured .mbr-section-subtitle small,
section#blog-latest .mbr-section-subtitle small,
section#blog-featured [class*="category"],
section#blog-latest [class*="category"],
section#blog-featured .badge,
section#blog-latest .badge {
  font-family: var(--d-mono) !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--d-accent-2) !important;
  font-weight: 500 !important;
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 8px !important;
  display: inline-block;
}

/* Kategorie chipy hero */
section#blog-filters,
section#blog-filters .container {
  background: var(--d-bg) !important;
  padding: 60px 0 !important;
}
section#blog-filters h2,
section#blog-filters h3,
section#blog-filters .mbr-section-subtitle {
  font-family: var(--d-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--d-ink-mute) !important;
  font-weight: 500 !important;
  margin-bottom: 24px !important;
}
section#blog-filters a,
section#blog-filters .filter-chip,
section#blog-filters .btn {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  color: var(--d-ink-soft) !important;
  border-radius: 100px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-family: var(--d-sans) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: border-color 0.2s, background 0.2s !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
section#blog-filters a:hover {
  border-color: var(--d-accent) !important;
  color: var(--d-ink) !important;
}
section#blog-filters a.active,
section#blog-filters a[aria-current="page"] {
  background: var(--d-accent) !important;
  color: white !important;
  border-color: var(--d-accent) !important;
}

/* "Artykuły według kategorii" - lista linków */
section#blog-cats {
  background: var(--d-bg) !important;
  padding: 80px 0 !important;
}
section#blog-cats h2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  font-size: clamp(28px, 3.5vw, 40px) !important;
  color: var(--d-ink) !important;
  margin-bottom: 24px !important;
}
section#blog-cats h3 {
  font-family: var(--d-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--d-accent-2) !important;
  font-weight: 500 !important;
  margin-bottom: 16px !important;
}
section#blog-cats [class*="col-"] > div {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius-lg) !important;
  padding: 24px !important;
}
section#blog-cats a {
  color: var(--d-accent-2) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.5;
}
section#blog-cats a:hover {
  color: var(--d-accent) !important;
  text-decoration: underline !important;
}

/* FAQ blog - akordeony */
section#blog-faq {
  background: var(--d-bg) !important;
  padding: 80px 0 !important;
}
section#blog-faq h2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  color: var(--d-ink) !important;
  font-size: clamp(28px, 3.5vw, 40px) !important;
  margin-bottom: 24px !important;
}
section#blog-faq h3,
section#blog-faq .accordion-button {
  font-family: var(--d-sans) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: var(--d-ink) !important;
}
section#blog-faq .accordion-item {
  background: var(--d-bg-elev) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius) !important;
  margin-bottom: 8px !important;
}

/* Artykuł - kontent body */
section[id^="article"] .container,
.article-body,
.blog-article-content {
  font-family: var(--d-sans) !important;
}
section[id^="article"] h1,
.article-body h1 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  font-size: clamp(36px, 4.5vw, 56px) !important;
  line-height: 1.05 !important;
  margin-bottom: 24px !important;
}
section[id^="article"] h2,
.article-body h2 {
  font-family: var(--d-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  margin-top: 56px !important;
  margin-bottom: 16px !important;
}
section[id^="article"] h3,
.article-body h3 {
  font-family: var(--d-sans) !important;
  font-weight: 600 !important;
  font-size: 20px !important;
  color: var(--d-ink) !important;
  margin-top: 32px !important;
  margin-bottom: 12px !important;
}
section[id^="article"] p,
.article-body p {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: var(--d-ink) !important;
  margin-bottom: 18px !important;
}
section[id^="article"] li,
.article-body li {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: var(--d-ink) !important;
}
.price {
  font-family: var(--d-serif) !important;
  font-size: 56px !important;
  font-weight: 400 !important;
  color: var(--d-ink) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
}
.per-user {
  font-size: 13px !important;
  color: var(--d-ink-mute) !important;
  margin-top: 4px !important;
}
.plan-desc {
  color: var(--d-ink-soft) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
