/* ===========================================================================
   DEVIQO CUSTOMIZATIONS — additions on top of dvq-pages.css
   Ten plik zawiera wszystkie nowe widżety i poprawki wizualne (NIE modyfikuj
   dvq-pages.css). Ładowany w <head> bezpośrednio po dvq-pages.css.
   =========================================================================== */

/* ===========================================================================
   v24 — Reset Hello Elementor theme.css body „ramki"
   theme.css daje body { padding: 30px 0 30px 60px; border-block-end: 1px solid
   #ccc; display: flex; } — to tworzy widoczną ramkę dookoła strony. Zerujemy.
   =========================================================================== */
html, body, body.dvq-subpage {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: block !important;
}

/* ─────────────────────────────────────────────────────────────────────────
   1) GLOBALNE FIXY INPUTÓW
   Newsletter input + wszystkie pola form: tło #131527, tekst #9aa1c4
   ───────────────────────────────────────────────────────────────────────── */

/* Newsletter w stopce - pełen restyling */
.dvq-newsletter form {
  background: #131527 !important;
  border: 1px solid rgba(154, 161, 196, .18) !important;
  border-radius: 999px !important;
  padding: 4px !important;
  transition: border-color .2s ease;
}
.dvq-newsletter form:focus-within {
  border-color: var(--dvq-accent) !important;
}
.dvq-newsletter input,
.dvq-newsletter input::placeholder {
  background: transparent !important;
  color: #9aa1c4 !important;
  font-weight: 400;
}
.dvq-newsletter input { color: #fff !important; }
.dvq-newsletter input::placeholder { color: #9aa1c4 !important; opacity: 1; }

/* Wszystkie pola formularzy Elementora — domyślna paleta */
.elementor-field-textual,
input.elementor-field[type="text"],
input.elementor-field[type="email"],
input.elementor-field[type="tel"],
input.elementor-field[type="url"],
input.elementor-field[type="number"],
textarea.elementor-field,
select.elementor-field {
  background: #131527 !important;
  color: #fff !important;
  border: 1px solid rgba(154, 161, 196, .2) !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  font: inherit !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.elementor-field-textual::placeholder,
input.elementor-field::placeholder,
textarea.elementor-field::placeholder {
  color: #9aa1c4 !important;
  opacity: 1 !important;
}
.elementor-field-textual:focus,
input.elementor-field:focus,
textarea.elementor-field:focus,
select.elementor-field:focus {
  outline: 0 !important;
  border-color: var(--dvq-accent) !important;
  box-shadow: 0 0 0 3px rgba(47, 148, 255, .15) !important;
}

/* Pola w dvq-form (subpages) - upewnijmy się że spójne */
.dvq-form input,
.dvq-form textarea,
.dvq-form select {
  background: #131527 !important;
  color: #fff !important;
  border-color: rgba(154, 161, 196, .2) !important;
}
.dvq-form input::placeholder,
.dvq-form textarea::placeholder {
  color: #9aa1c4 !important;
  opacity: 1;
}


/* ─────────────────────────────────────────────────────────────────────────
   2) FAQ — usunięcie ciemnego paska po prawej
   To jest scrollbar pionowy + kontener z gradientem który wystaje.
   Resetujemy overflow + custom property Elementora --overflow.
   ───────────────────────────────────────────────────────────────────────── */

.elementor-widget-toggle,
.elementor-widget-toggle .elementor-toggle,
.elementor-widget-toggle .elementor-toggle-item,
.elementor-widget-toggle .elementor-tab-content {
  overflow: visible !important;
  scrollbar-width: none !important;
}
.elementor-widget-toggle::-webkit-scrollbar,
.elementor-widget-toggle .elementor-toggle::-webkit-scrollbar,
.elementor-widget-toggle .elementor-toggle-item::-webkit-scrollbar,
.elementor-widget-toggle .elementor-tab-content::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Kontener FAQ – resetujemy overflow i flex-wrap który wymusza scrollbar */
.elementor-element-392534c5,
.elementor-element-76a85f1c,
.elementor-element-6173b462,
.elementor-element-156351d0 {
  --overflow: visible !important;
  overflow: visible !important;
  scrollbar-width: none !important;
}
.elementor-element-392534c5::-webkit-scrollbar,
.elementor-element-76a85f1c::-webkit-scrollbar,
.elementor-element-6173b462::-webkit-scrollbar,
.elementor-element-156351d0::-webkit-scrollbar,
.elementor-element-392534c5 *::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

/* Cały container sekcji FAQ */
.elementor-widget-toggle .elementor-widget-container {
  overflow: visible !important;
  scrollbar-width: none !important;
}

/* Zerujemy ewentualne sztuczne ramki/decoration wystające na prawo */
.elementor-element-392534c5::after,
.elementor-element-392534c5::before {
  display: none !important;
}


/* ─────────────────────────────────────────────────────────────────────────
   3) SEKCJA "WYBIERZ STYL STRONY"
   - większy padding od góry
   - tło #14141f
   - klik w miniaturkę → custom modal podglądu (obsługa w JS)
   ───────────────────────────────────────────────────────────────────────── */

/* Kontener sekcji "Wybierz styl strony, który Ci się podoba"
   Element ma id elementor-element-e1156dd (galeria) i nadrzędny z h2 powyżej */
.elementor-element-f76f9c4,
.elementor-element-9268c52,
.elementor-element-e1156dd {
  background-color: #1b1e36 !important;
}

/* Większy padding od góry na nagłówku */
.elementor-element-f76f9c4 {
  padding-top: 96px !important;
}
@media (max-width: 760px) {
  .elementor-element-f76f9c4 { padding-top: 56px !important; }
}

/* Padding od góry na nadrzędnym kontenerze nagłówka */
.dvq-styles-section-pad {
  padding-top: 96px !important;
}

/* Lekki dodatkowy padding na bloku galerii */
.elementor-element-e1156dd > .e-con-inner {
  padding-top: 24px;
  padding-bottom: 48px;
}

/* Style hover na miniaturce galerii — kursor i lekkie powiększenie */
.elementor-gallery-item.elementor-animated-content {
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-gallery-item.elementor-animated-content:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}

/* Custom modal podglądu */
.dvq-preview-modal {
  position: fixed; inset: 0;
  background: rgba(5, 6, 12, .88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  opacity: 0;
  transition: opacity .25s ease;
}
.dvq-preview-modal.is-open {
  display: flex;
  opacity: 1;
}
.dvq-preview-modal-inner {
  position: relative;
  max-width: 1240px;
  width: 100%;
  max-height: calc(100vh - 64px);
  display: flex;
  flex-direction: column;
  gap: 20px;
  transform: scale(.96);
  transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}
.dvq-preview-modal.is-open .dvq-preview-modal-inner {
  transform: scale(1);
}
.dvq-preview-modal-image {
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  border-radius: var(--dvq-radius);
  overflow: hidden;
  background: #131527;
  border: 1px solid var(--dvq-border);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .6);
  display: flex;
  align-items: center;
  justify-content: center;
}
.dvq-preview-modal-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: calc(100vh - 220px);
  object-fit: contain;
  object-position: top center;
}
.dvq-preview-modal-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.dvq-preview-modal-close {
  position: absolute;
  top: -8px; right: -8px;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: #131527;
  border: 1px solid var(--dvq-border);
  color: #fff;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s, background-color .2s;
  z-index: 2;
}
.dvq-preview-modal-close:hover {
  transform: rotate(90deg);
  background: var(--dvq-accent);
  border-color: var(--dvq-accent);
}
@media (max-width: 760px) {
  .dvq-preview-modal { padding: 16px; }
  .dvq-preview-modal-close { top: 4px; right: 4px; }
  .dvq-preview-modal-image img { max-height: calc(100vh - 180px); }
}


/* ─────────────────────────────────────────────────────────────────────────
   4) SEKCJA WYSZUKIWARKI DOMEN
   Custom widżet "Spersonalizuj swoją stronę własną domeną"
   ───────────────────────────────────────────────────────────────────────── */

.dvq-domain-search {
  max-width: 920px;
  margin: 32px auto 0;
}

/* Pole wyszukiwania - duże, jasne, czytelne */
.dvq-domain-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0;
  background: #f5f6fa;
  border-radius: 14px;
  padding: 6px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .04) inset,
    0 20px 60px rgba(0, 0, 0, .35),
    0 0 0 1px rgba(255, 255, 255, .04);
  transition: box-shadow .25s ease;
}
.dvq-domain-input-wrap:focus-within {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .04) inset,
    0 20px 60px rgba(0, 0, 0, .4),
    0 0 0 3px rgba(47, 148, 255, .35);
}
.dvq-domain-input-prefix {
  padding: 0 8px 0 14px;
  color: #6b7392;
  font-size: 16px;
  font-weight: 500;
  user-select: none;
  display: none; /* zarezerwowane na ewentualne https:// */
}
.dvq-domain-input {
  flex: 1;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  padding: 16px 18px !important;
  font-size: 20px !important;
  font-weight: 500;
  color: #1a1d2e !important;
  letter-spacing: -0.01em;
  font-family: inherit;
  min-width: 0;
}
.dvq-domain-input::placeholder {
  color: #9aa1c4 !important;
  opacity: 1;
  font-weight: 400;
}
.dvq-domain-input-btn {
  flex-shrink: 0;
  padding: 14px 28px;
  background: linear-gradient(180deg, #54aeff 0%, #2F94FF 100%);
  color: #fff;
  border: 0;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.005em;
  text-transform: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .25),
    0 4px 14px rgba(47, 148, 255, .4);
  transition: transform .15s ease, box-shadow .2s ease;
  font-family: inherit;
}
.dvq-domain-input-btn:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .3),
    0 8px 22px rgba(47, 148, 255, .55);
}
.dvq-domain-input-btn:active { transform: translateY(0); }
.dvq-domain-input-btn svg { width: 16px; height: 16px; }

/* Hint pod inputem */
.dvq-domain-hint {
  margin: 14px 0 0;
  color: var(--dvq-muted);
  font-size: 13px;
  text-align: center;
  letter-spacing: -0.005em;
}
.dvq-domain-hint kbd {
  display: inline-block;
  padding: 2px 7px;
  margin: 0 2px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
  font-family: inherit;
  font-size: 11px;
  color: #fff;
}

/* Lista wyników */
.dvq-domain-results {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 28px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .3s ease, transform .3s ease;
  pointer-events: none;
}
.dvq-domain-results.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
@media (max-width: 640px) {
  .dvq-domain-results { grid-template-columns: 1fr; }
}

/* Pojedynczy wiersz wyniku */
.dvq-domain-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 20px;
  background: #f5f6fa;
  border-radius: 12px;
  font-size: 15px;
  color: #1a1d2e;
  transition: transform .15s ease, box-shadow .15s ease;
  min-height: 60px;
}
.dvq-domain-result:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
}
.dvq-domain-result.is-loading {
  opacity: .6;
}

/* Część z nazwą domeny */
.dvq-domain-result-name {
  flex: 1;
  font-weight: 600;
  letter-spacing: -0.005em;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dvq-domain-result-name .tld {
  color: var(--dvq-accent);
  font-weight: 700;
}

/* Status dostępności */
.dvq-domain-result-status {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 999px;
}
.dvq-domain-result-status.available {
  color: #047a55;
  background: rgba(16, 185, 129, .14);
}
.dvq-domain-result-status.taken {
  color: #b1393f;
  background: rgba(239, 68, 68, .12);
}
.dvq-domain-result-status.unknown {
  color: #a3672a;
  background: rgba(251, 191, 36, .14);
}
.dvq-domain-result-status .dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
}

/* Akcja - CTA "Zarejestruj" */
.dvq-domain-result-cta {
  flex-shrink: 0;
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  background: var(--dvq-accent);
  color: #fff !important;
  transition: transform .15s ease, box-shadow .15s ease;
  white-space: nowrap;
}
.dvq-domain-result-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(47, 148, 255, .4);
}
.dvq-domain-result.taken .dvq-domain-result-cta { display: none; }

/* Loader podczas sprawdzania */
.dvq-domain-spinner {
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid rgba(154, 161, 196, .3);
  border-top-color: var(--dvq-accent);
  border-radius: 50%;
  animation: dvqSpin .7s linear infinite;
}
@keyframes dvqSpin { to { transform: rotate(360deg); } }

/* CTA "Sprawdź wszystkie dostępne domeny" */
.dvq-domain-more {
  margin-top: 24px;
  text-align: center;
}
.dvq-domain-more a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: rgba(255, 255, 255, .03);
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -0.005em;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.dvq-domain-more a:hover {
  background: rgba(255, 255, 255, .06);
  border-color: rgba(255, 255, 255, .28);
  transform: translateY(-1px);
}
.dvq-domain-more a svg { width: 14px; height: 14px; transition: transform .2s ease; }
.dvq-domain-more a:hover svg { transform: translateX(3px); }


/* ─────────────────────────────────────────────────────────────────────────
   5) HERO „WOW" EFEKT
   Lekkie podkręcenie: trust-row pills, animowany gradient w nagłówku.
   ───────────────────────────────────────────────────────────────────────── */

/* Nowy "trust row" pod hero CTA - badge'e z dowodami społecznymi */
.dvq-hero-pills {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
  padding: 0 16px;
}
.dvq-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 999px;
  color: rgba(255, 255, 255, .78);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.005em;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.dvq-hero-pill svg {
  width: 14px; height: 14px;
  color: var(--dvq-accent);
}
.dvq-hero-pill .stars {
  color: #ffd166;
  letter-spacing: 1px;
  font-size: 11px;
}

/* Pulsujący „live dot" — sygnalizuje że to się dzieje teraz */
.dvq-hero-pill .live-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, .6);
  animation: dvqPulse 2s infinite;
}
@keyframes dvqPulse {
  0%   { box-shadow: 0 0 0 0 rgba(16, 185, 129, .6); }
  70%  { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
  100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

/* Migocący/oddychający efekt na podkreśleniu „w 7 dni" w hero */
#uc_gradient_underline_text_effect_elementor_f63351b .underline--magical {
  animation: dvqBreathe 4s ease-in-out infinite;
}
@keyframes dvqBreathe {
  0%, 100% { background-size: 100% 0.2em; }
  50%      { background-size: 100% 0.32em; }
}

/* Subtelny gradient floating orb dodatkowy do hero */
.dvq-hero-bg-orb {
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(110px);
  z-index: 0;
}


/* ─────────────────────────────────────────────────────────────────────────
   6) STRONA /sprawdz-domene/
   ───────────────────────────────────────────────────────────────────────── */

.dvq-sd-hero {
  padding: 80px 24px 32px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.dvq-sd-hero::before {
  content: '';
  position: absolute;
  top: -200px; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 500px;
  background: radial-gradient(ellipse at center, rgba(47, 148, 255, .25), transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.dvq-sd-hero > * { position: relative; z-index: 1; }

.dvq-sd-title {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 12px;
  letter-spacing: -0.02em;
}
.dvq-sd-sub {
  font-size: 16px;
  color: var(--dvq-muted);
  margin: 0 auto 36px;
  max-width: 560px;
  line-height: 1.6;
}

/* Większe pole szukania na stronie /sprawdz-domene */
.dvq-sd-search {
  max-width: 720px;
  margin: 0 auto;
}
.dvq-sd-search .dvq-domain-input {
  font-size: 24px !important;
  padding: 20px 22px !important;
}
.dvq-sd-search .dvq-domain-input-btn {
  padding: 18px 32px;
  font-size: 16px;
}

/* Lista wyników na stronie /sprawdz-domene - jednokolumnowa, większa */
.dvq-sd-results {
  max-width: 720px;
  margin: 40px auto 0;
  display: grid;
  gap: 8px;
  min-height: 280px;
}
.dvq-sd-results .dvq-domain-result {
  padding: 18px 24px;
  font-size: 17px;
  min-height: 68px;
}
.dvq-sd-results .dvq-domain-result-name { font-size: 17px; }

/* Stan początkowy / brak zapytania */
.dvq-sd-empty {
  text-align: center;
  padding: 80px 24px;
  color: var(--dvq-muted);
}
.dvq-sd-empty-icon {
  width: 72px; height: 72px;
  margin: 0 auto 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(47, 148, 255, .14), rgba(108, 99, 255, .08));
  border: 1px solid rgba(47, 148, 255, .2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
}
.dvq-sd-empty p { margin: 0; font-size: 15px; }

/* CTA boczne info — "Zamów stronę DEVIQO" */
.dvq-sd-cta-box {
  max-width: 720px;
  margin: 48px auto 0;
  padding: 28px 32px;
  border-radius: var(--dvq-radius);
  background:
    radial-gradient(ellipse at top right, rgba(108, 99, 255, .14), transparent 60%),
    linear-gradient(180deg, var(--dvq-surface), var(--dvq-bg));
  border: 1px solid var(--dvq-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.dvq-sd-cta-box .text { flex: 1; min-width: 280px; }
.dvq-sd-cta-box h3 { margin: 0 0 6px; font-size: 18px; font-weight: 600; }
.dvq-sd-cta-box p { margin: 0; color: var(--dvq-muted); font-size: 14px; line-height: 1.5; }


/* ===========================================================================
   STRONA GŁÓWNA — REDESIGN
   Spójne z systemem designu dvq-pages.css używanym na podstronach.
   Wszystkie tytuły i akcenty (.dvq-italic) używają Funnel Display.
   =========================================================================== */

/* Fonty są wczytywane w <head> przed dvq-pages.css */

:root {
  --dvq-font-display: 'Funnel Display', system-ui, sans-serif;
  --dvq-font-accent:  'Funnel Display', system-ui, sans-serif;
}

/* Stosujemy Fraunces na headingach podstron i strony głównej.
   Ustawienia variable: opt=soft, SOFT axis dla łagodniejszego wyglądu. */
.dvq-h1, .dvq-h2, .dvq-h3,
.dvq-home h1, .dvq-home h2, .dvq-home h3,
.dvq-home .dvq-h1, .dvq-home .dvq-h2, .dvq-home .dvq-h3 {
  font-family: var(--dvq-font-display);
  
  
  letter-spacing: -0.02em;
}

.dvq-h1, .dvq-home h1 {
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.04;
}
.dvq-h2, .dvq-home h2 {
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.08;
}

/* Akcent — fragmenty do podkreślenia kluczowych słów. Funnel Display regular
   w kolorze niebieskim akcentu. */
.dvq-italic {
  font-family: var(--dvq-font-accent);
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--dvq-accent);
}

/* Hero — zachowujemy istniejący gradient underline, ale ujednolicamy z Fraunces */
.elementor-element-f63351b .gradient_underline_text_effect {
  font-family: var(--dvq-font-display) !important;
  font-weight: 500;
  letter-spacing: -0.03em;
  
}

/* ──────────────────────────────────────────────────────────────────────────
   Wrapper strony głównej
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home {
  background: var(--dvq-bg);
  color: var(--dvq-text);
  position: relative;
}

.dvq-home .dvq-section { padding: 110px 24px; }
.dvq-home .dvq-section--tight { padding: 80px 24px; }
@media (max-width: 760px) {
  .dvq-home .dvq-section { padding: 72px 20px; }
  .dvq-home .dvq-section--tight { padding: 56px 20px; }
}

.dvq-home .dvq-section-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 64px;
}
.dvq-home .dvq-section-head .dvq-eyebrow { margin-bottom: 20px; }
.dvq-home .dvq-section-head .dvq-h2 { margin: 0 0 16px; font-size: clamp(34px, 4vw, 52px); }
.dvq-home .dvq-section-head .dvq-lead { margin: 0 auto; font-size: 17px; }

/* ──────────────────────────────────────────────────────────────────────────
   1) Pasek logo "Działa z narzędziami, których używasz"
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-logos {
  padding: 56px 24px;
  border-top: 1px solid var(--dvq-border);
  border-bottom: 1px solid var(--dvq-border);
  background:
    radial-gradient(ellipse at center, rgba(47,148,255,.05), transparent 60%),
    var(--dvq-bg);
}
.dvq-home-logos-label {
  text-align: center;
  color: var(--dvq-muted);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 28px;
}
.dvq-home-logos-track {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 48px;
  max-width: 1100px;
  margin: 0 auto;
}
.dvq-home-logos-track img {
  height: 32px;
  width: auto;
  opacity: .55;
  filter: grayscale(1) brightness(1.8);
  transition: opacity .25s ease, filter .25s ease;
}
.dvq-home-logos-track img:hover {
  opacity: 1;
  filter: grayscale(0) brightness(1);
}

/* ──────────────────────────────────────────────────────────────────────────
   2) Sekcja "Jak to działa?" — 3 duże kroki
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  position: relative;
  counter-reset: dvqhomestep;
}
@media (max-width: 880px) {
  .dvq-home-steps { grid-template-columns: 1fr; }
}

.dvq-home-step {
  position: relative;
  padding: 40px 32px;
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  border-radius: 24px;
  overflow: hidden;
  transition: border-color .3s ease, transform .3s ease;
}
.dvq-home-step:hover {
  border-color: rgba(47, 148, 255, .35);
  transform: translateY(-4px);
}
.dvq-home-step::before {
  counter-increment: dvqhomestep;
  content: "0" counter(dvqhomestep);
  position: absolute;
  top: 24px; right: 28px;
  font-family: var(--dvq-font-display);
  font-size: 64px;
  font-weight: 300;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, .12);
  letter-spacing: -0.02em;
}
.dvq-home-step .badge-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dvq-accent);
  margin-bottom: 24px;
  padding: 5px 12px;
  background: rgba(47, 148, 255, .1);
  border-radius: 999px;
  border: 1px solid rgba(47, 148, 255, .25);
}
.dvq-home-step h3 {
  font-family: var(--dvq-font-display);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin: 0 0 12px;
}
.dvq-home-step p {
  color: var(--dvq-muted);
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}
.dvq-home-step-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(47, 148, 255, .18), rgba(108, 99, 255, .08));
  border: 1px solid rgba(47, 148, 255, .25);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  color: var(--dvq-accent);
}
.dvq-home-step-icon svg { width: 26px; height: 26px; }

/* ──────────────────────────────────────────────────────────────────────────
   3) Sekcja "Strony dopasowane do Twojej branży" — filtry + galeria
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-industries-section {
  background: #1b1e36;
  position: relative;
}

.dvq-home-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 40px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.dvq-home-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
  color: var(--dvq-muted);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.005em;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.dvq-home-filter:hover { color: #fff; border-color: rgba(255,255,255,.18); }
.dvq-home-filter.is-active {
  background: var(--dvq-accent);
  color: #fff;
  border-color: var(--dvq-accent);
  box-shadow: 0 4px 14px rgba(47, 148, 255, .4);
}

.dvq-home-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1024px) { .dvq-home-gallery { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .dvq-home-gallery { grid-template-columns: 1fr; } }

.dvq-home-gallery-item {
  position: relative;
  display: block;
  aspect-ratio: 3 / 2;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  background: var(--dvq-surface);
  border: 1px solid var(--dvq-border);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.dvq-home-gallery-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .4);
  border-color: rgba(47, 148, 255, .4);
}
.dvq-home-gallery-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}
.dvq-home-gallery-item:hover img { transform: scale(1.04); }
.dvq-home-gallery-item-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(10, 11, 20, .9));
  opacity: 0;
  transition: opacity .25s ease;
  display: flex;
  align-items: flex-end;
  padding: 20px;
}
.dvq-home-gallery-item:hover .dvq-home-gallery-item-overlay { opacity: 1; }
.dvq-home-gallery-item-overlay span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, .12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.005em;
}
.dvq-home-gallery-item.is-hidden { display: none; }

/* ──────────────────────────────────────────────────────────────────────────
   4) Sekcja porównania DEVIQO vs reszta
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 880px) { .dvq-home-compare { grid-template-columns: 1fr; } }

.dvq-home-compare-vs {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 60px; height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--dvq-accent), var(--dvq-accent-2));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--dvq-font-accent);
  font-style: italic;
  font-size: 22px;
  font-weight: 400;
  color: #fff;
  box-shadow: 0 12px 30px rgba(47, 148, 255, .35);
  z-index: 2;
  border: 4px solid var(--dvq-bg);
}
@media (max-width: 880px) {
  .dvq-home-compare-vs {
    position: relative; top: auto; left: auto; transform: none;
    margin: -12px auto;
  }
}

.dvq-home-compare-col {
  padding: 36px 32px;
  border-radius: 24px;
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  position: relative;
}
.dvq-home-compare-col--us {
  border-color: rgba(47, 148, 255, .35);
  background:
    radial-gradient(ellipse at top right, rgba(47, 148, 255, .12), transparent 60%),
    linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  box-shadow: 0 20px 60px rgba(47, 148, 255, .1);
}
.dvq-home-compare-col h3 {
  font-family: var(--dvq-font-display);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.015em;
  margin: 0 0 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.dvq-home-compare-col--us h3 { color: var(--dvq-accent); }
.dvq-home-compare-col--them h3 { color: var(--dvq-muted); }
.dvq-home-compare-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}
.dvq-home-compare-col li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--dvq-border);
  color: #d9defc;
  font-size: 15px;
  line-height: 1.5;
}
.dvq-home-compare-col li:first-child { border-top: 0; padding-top: 0; }
.dvq-home-compare-col li svg {
  flex-shrink: 0;
  width: 20px; height: 20px;
  margin-top: 2px;
}
.dvq-home-compare-col--us li svg { color: var(--dvq-success); }
.dvq-home-compare-col--them li svg { color: var(--dvq-danger); }
.dvq-home-compare-col--them li { color: var(--dvq-muted); }

/* ──────────────────────────────────────────────────────────────────────────
   5) Sekcja "Co dostajesz" — 4 mini-bloki + duży obrazek
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 720px) { .dvq-home-features { grid-template-columns: 1fr; } }

.dvq-home-feature {
  padding: 32px;
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  border-radius: 20px;
  display: flex;
  gap: 18px;
  transition: border-color .3s ease, transform .3s ease;
}
.dvq-home-feature:hover {
  border-color: rgba(47, 148, 255, .3);
  transform: translateY(-2px);
}
.dvq-home-feature-icon {
  flex-shrink: 0;
  width: 48px; height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(47, 148, 255, .15), rgba(108, 99, 255, .05));
  border: 1px solid rgba(47, 148, 255, .2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--dvq-accent);
}
.dvq-home-feature-icon svg { width: 22px; height: 22px; }
.dvq-home-feature h3 {
  font-family: var(--dvq-font-display);
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.015em;
  margin: 0 0 6px;
  line-height: 1.25;
}
.dvq-home-feature p { color: var(--dvq-muted); font-size: 14px; line-height: 1.6; margin: 0; }

/* ──────────────────────────────────────────────────────────────────────────
   6) Testimoniale — 3 obok siebie z możliwością przewinięcia
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-quotes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1240px;
  margin: 0 auto;
}
@media (max-width: 960px) { .dvq-home-quotes { grid-template-columns: 1fr; } }

.dvq-home-quote {
  padding: 32px 28px;
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
}
.dvq-home-quote::before {
  content: '"';
  font-family: var(--dvq-font-accent);
  font-style: italic;
  font-size: 90px;
  line-height: 0.6;
  color: rgba(47, 148, 255, .3);
  position: absolute;
  top: 24px; right: 28px;
  pointer-events: none;
}
.dvq-home-quote-stars {
  color: #ffd166;
  letter-spacing: 3px;
  font-size: 14px;
}
.dvq-home-quote p {
  margin: 0;
  flex: 1;
  font-size: 16px;
  line-height: 1.6;
  color: #d9defc;
  position: relative;
  z-index: 1;
}
.dvq-home-quote-author {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 20px;
  border-top: 1px solid var(--dvq-border);
}
.dvq-home-quote-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--dvq-accent), var(--dvq-accent-2));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: -0.01em;
}
.dvq-home-quote-name {
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.dvq-home-quote-role {
  font-size: 13px;
  color: var(--dvq-muted);
  margin-top: 2px;
}

/* ──────────────────────────────────────────────────────────────────────────
   7) Logo brandów — "Zaufali nam"
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-brands {
  padding: 64px 24px;
  border-top: 1px solid var(--dvq-border);
  border-bottom: 1px solid var(--dvq-border);
}
.dvq-home-brands-label {
  text-align: center;
  color: var(--dvq-muted);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 32px;
}
.dvq-home-brands-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 24px;
  max-width: 1240px;
  margin: 0 auto;
  align-items: center;
}
@media (max-width: 960px) { .dvq-home-brands-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 480px) { .dvq-home-brands-grid { grid-template-columns: repeat(2, 1fr); } }
.dvq-home-brands-grid img {
  width: 100%;
  height: auto;
  max-height: 60px;
  object-fit: contain;
  opacity: .5;
  filter: grayscale(1) brightness(1.6);
  transition: opacity .25s ease, filter .25s ease;
}
.dvq-home-brands-grid img:hover { opacity: 1; filter: none; }

/* ──────────────────────────────────────────────────────────────────────────
   8) FAQ — używamy dvq-faq z dvq-pages.css (już ładnie wygląda)
   Dorzucamy tylko grid-layout 2 kolumny dla pytań na desktopie
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-faq {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 880px) { .dvq-home-faq { grid-template-columns: 1fr; } }

/* ──────────────────────────────────────────────────────────────────────────
   9) Final CTA
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-final-cta {
  position: relative;
  text-align: center;
  padding: 120px 32px;
  overflow: hidden;
  background: radial-gradient(ellipse at center, rgba(47, 148, 255, .18), transparent 60%), var(--dvq-bg);
}
.dvq-home-final-cta::before,
.dvq-home-final-cta::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(120px);
  opacity: .35;
}
.dvq-home-final-cta::before {
  top: -200px; left: -100px;
  width: 500px; height: 500px;
  background: var(--dvq-accent);
}
.dvq-home-final-cta::after {
  bottom: -200px; right: -100px;
  width: 500px; height: 500px;
  background: var(--dvq-accent-2);
}
.dvq-home-final-cta > * { position: relative; z-index: 1; }
.dvq-home-final-cta h2 {
  font-family: var(--dvq-font-display);
  font-weight: 500;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  margin: 0 0 20px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.dvq-home-final-cta p {
  color: var(--dvq-muted);
  font-size: 18px;
  line-height: 1.6;
  max-width: 560px;
  margin: 0 auto 36px;
}

/* ──────────────────────────────────────────────────────────────────────────
   Eyebrow z dotem - małe poprawki dla strony głównej
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home .dvq-eyebrow {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.18em;
}


/* ──────────────────────────────────────────────────────────────────────────
   HERO BRIDGE — dopinka między oryginalnym hero (Elementor) a nowym main
   ────────────────────────────────────────────────────────────────────────── */

/* Po hero usuwamy elementor-invisible (które ukrywa contenent z animacją),
   bo to są tylko hero kontenery */
.elementor-element-6c7ec1bf,
.elementor-element-15751d1 {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Padding spod hero — żeby new main ładnie kontynuował */
.elementor-element-7ad736b4 {
  padding-bottom: 80px !important;
}

/* Wymuszamy variable font Fraunces dla H1 hero ostatecznie */
#uc_gradient_underline_text_effect_elementor_f63351b {
  font-family: var(--dvq-font-display) !important;
}
#uc_gradient_underline_text_effect_elementor_f63351b .beginning_text,
#uc_gradient_underline_text_effect_elementor_f63351b .ending_text,
#uc_gradient_underline_text_effect_elementor_f63351b .underline--magical {
  font-family: var(--dvq-font-display) !important;
  font-weight: 500 !important;
  
  letter-spacing: -0.025em !important;
}

/* Hero pills delikatnie pod CTA */
.dvq-hero-pills { margin-top: 32px; }


/* ===========================================================================
   GLOBALNA TYPOGRAFIA — Inter zamiast Poppins
   =========================================================================== */
html, body,
body.dvq-subpage,
.elementor *:not([class*="dvq-h"]):not(.dvq-italic):not([class*="dvq-font-display"]):not(.elementor-heading-title) {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
}

/* Headingi z Elementora też dostają Funnel Display */
.elementor-heading-title:not(.dvq-italic) {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  letter-spacing: -0.02em;
}

/* Zapewniamy że Inter naprawdę się wczyta dla menu, body, footer */
.dvq-nav, .dvq-menu-link, .dvq-nav-link, .dvq-btn,
.dvq-footer, .dvq-faq-item, .dvq-card, .dvq-stat,
.elementor-button, .elementor-counter-title, .elementor-counter-number-wrapper {
  font-family: 'Inter', system-ui, sans-serif !important;
}

/* ===========================================================================
   1) SEKCJA LOGÓW — REDESIGN: 2 kolumny + marquee scrollujący
   =========================================================================== */

.dvq-home-logos {
  padding: 64px 24px;
  border-top: 1px solid var(--dvq-border);
  border-bottom: 1px solid var(--dvq-border);
  background:
    radial-gradient(ellipse at center, rgba(47,148,255,.05), transparent 60%),
    var(--dvq-bg);
}

.dvq-home-logos-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(220px, 340px) 1fr;
  gap: 56px;
  align-items: center;
}
@media (max-width: 880px) {
  .dvq-home-logos-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    text-align: left;
  }
}

.dvq-home-logos-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
}
.dvq-home-logos-label {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: #fff;
  margin: 0;
  text-transform: none;
  text-align: left;
}
.dvq-home-logos-sub {
  color: var(--dvq-muted);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  text-align: left;
}

/* Marquee track */
.dvq-home-logos-marquee {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
}
.dvq-home-logos-marquee-track {
  display: flex;
  gap: 72px;
  width: max-content;
  animation: dvqMarqueeLeft 32s linear infinite;
  align-items: center;
}
.dvq-home-logos-marquee:hover .dvq-home-logos-marquee-track {
  animation-play-state: paused;
}
.dvq-home-logos-marquee img {
  flex-shrink: 0;
  height: 76px;
  width: auto;
  opacity: .7;
  filter: grayscale(1) brightness(1.6);
  transition: opacity .25s ease, filter .25s ease;
}
.dvq-home-logos-marquee img:hover {
  opacity: 1;
  filter: none;
}

@keyframes dvqMarqueeLeft {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ===========================================================================
   FILTRY GALERII — z ikonami, kompaktowe (2 linijki na desktopie)
   =========================================================================== */

.dvq-home-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 auto 48px;
  max-width: 980px;
}
.dvq-home-filter {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 18px 11px 14px;
  border-radius: var(--dvq-radius-sm);
  background: var(--dvq-surface);
  border: 1px solid var(--dvq-border);
  color: #d9defc;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
  white-space: nowrap;
}
.dvq-home-filter:hover {
  color: #fff;
  background: var(--dvq-surface-2);
  border-color: rgba(255, 255, 255, .18);
  transform: translateY(-1px);
}
.dvq-home-filter.is-active {
  color: #fff;
  background: var(--dvq-surface-2);
  border-color: rgba(47, 148, 255, .5);
  box-shadow: 0 0 0 3px rgba(47, 148, 255, .12);
}
.dvq-home-filter-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 15px;
  line-height: 1;
  flex-shrink: 0;
}

/* ===========================================================================
   PORÓWNANIE — logo deviqo-free-creators-1.png zamiast tekstu
   =========================================================================== */

.dvq-home-compare-col h3 img.compare-logo {
  height: 32px;
  width: auto;
  display: block;
  filter: brightness(1.1);
  opacity: .9;
}

/* ===========================================================================
   BOXY „Co dostajesz" — z mockupami w środku
   =========================================================================== */

.dvq-home-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 720px) { .dvq-home-features { grid-template-columns: 1fr; } }

.dvq-home-feature {
  position: relative;
  padding: 36px 36px 0;
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
  transition: border-color .3s ease, transform .3s ease;
  aspect-ratio: 1 / 1;
  max-height: 480px;
}
@media (max-width: 720px) {
  .dvq-home-feature { aspect-ratio: auto; max-height: none; min-height: 420px; }
}
.dvq-home-feature:hover {
  border-color: rgba(47, 148, 255, .3);
  transform: translateY(-3px);
}
.dvq-home-feature-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dvq-home-feature-content h3 {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-weight: 600;
  font-size: 22px;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.2;
  color: #fff;
}
.dvq-home-feature-content p {
  color: var(--dvq-muted);
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
  max-width: 92%;
}
/* Grafika wypełnia cały bok pod tekstem — tekst nakłada się na nią */
.dvq-home-feature-media {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  top: 0;                              /* obrazek startuje od góry */
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
}
.dvq-home-feature-media img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: bottom center;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
  /* Maska: cała grafika widoczna na dole, fade-out u góry żeby tekst był czytelny */
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.15) 25%, #000 55%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.15) 25%, #000 55%);
}
.dvq-home-feature:hover .dvq-home-feature-media img {
  transform: scale(1.04);
}

/* ===========================================================================
   ZAUFALI NAM — większe loga + marquee
   =========================================================================== */

.dvq-home-brands {
  padding: 72px 0;
  border-top: 1px solid var(--dvq-border);
  border-bottom: 1px solid var(--dvq-border);
  overflow: hidden;
}
.dvq-home-brands-label {
  text-align: center;
  color: var(--dvq-muted);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 36px;
  padding: 0 24px;
}
.dvq-home-brands-marquee {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
}
.dvq-home-brands-track {
  display: flex;
  gap: 56px;
  width: max-content;
  animation: dvqMarqueeLeft 35s linear infinite;
  align-items: center;
}
.dvq-home-brands-marquee:hover .dvq-home-brands-track {
  animation-play-state: paused;
}
.dvq-home-brands-track img {
  flex-shrink: 0;
  height: 92px;
  width: auto;
  max-width: 280px;
  opacity: .55;
  filter: grayscale(1) brightness(1.6);
  transition: opacity .25s ease, filter .25s ease;
}
.dvq-home-brands-track img:hover { opacity: 1; filter: none; }


/* ===========================================================================
   POPRAWKI POST-RELEASE — v6
   =========================================================================== */

/* 1) Wywal Capitalize z Elementora — wszystkie h1-h6 normalne */
.elementor h1, .elementor h2, .elementor h3, .elementor h4, .elementor h5, .elementor h6,
.dvq-home h1, .dvq-home h2, .dvq-home h3, .dvq-home h4, .dvq-home h5, .dvq-home h6,
.dvq-home-feature-content h3,
.dvq-home-quote-name,
.dvq-home-step h3,
.elementor-heading-title,
.elementor-image-box-title,
.elementor-testimonial__name {
  text-transform: none !important;
}

/* 2) Hero — "w 7 dni" zawsze w nowej linii */
#uc_gradient_underline_text_effect_elementor_f63351b {
  text-align: center;
}
#uc_gradient_underline_text_effect_elementor_f63351b .beginning_text,
#uc_gradient_underline_text_effect_elementor_f63351b .underline--magical,
#uc_gradient_underline_text_effect_elementor_f63351b .ending_text {
  display: block;
}
/* Linia 2 i 3 trzymaj "w 7 dni" + "za 700 zł" razem */
#uc_gradient_underline_text_effect_elementor_f63351b .underline--magical {
  display: inline-block;
  margin-top: 6px;
}
#uc_gradient_underline_text_effect_elementor_f63351b .ending_text {
  display: inline-block;
}
/* Druga linia: w 7 dni + za 700 zł obok siebie */
#uc_gradient_underline_text_effect_elementor_f63351b br + .underline--magical,
#uc_gradient_underline_text_effect_elementor_f63351b .underline--magical {
  display: inline-block;
}

/* 3) Filtry galerii — hover/active jak primary button */
.dvq-home-filter {
  text-transform: none;
  letter-spacing: -0.005em;
  font-size: 14px;
  font-weight: 500;
  padding: 10px 18px 10px 14px;
  border-radius: 999px;
}
.dvq-home-filter:hover,
.dvq-home-filter.is-active {
  background: linear-gradient(180deg, #54aeff 0%, #2F94FF 100%) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.30),
    inset 0 -1px 0 rgba(0, 0, 0, 0.18),
    0 6px 18px rgba(47, 148, 255, .4) !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.dvq-home-filter.is-active {
  transform: none;
}

/* 4) Buttony — biały tekst zawsze na primary, bez ciemnienia
   Naprawia screen 2 ("Zleć swoją stronę" wyglądający nieaktywnie) */
.dvq-btn.dvq-btn--primary,
a.dvq-btn--primary,
button.dvq-btn--primary {
  color: #fff !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);
}
.dvq-btn--primary span,
.dvq-btn--primary {
  color: #fff !important;
}

/* 5) Hero button "Zamów stronę" (Elementor) — spójny styl z dvq-btn--primary */
.elementor-button {
  background: linear-gradient(180deg, #54aeff 0%, #2F94FF 100%) !important;
  color: #fff !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.30),
    inset 0 -1px 0 rgba(0, 0, 0, 0.18),
    0 8px 22px rgba(47, 148, 255, 0.45) !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18) !important;
  transition: transform .15s ease, box-shadow .2s ease !important;
}
.elementor-button:hover {
  background: linear-gradient(180deg, #66b8ff 0%, #3da0ff 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.36),
    0 12px 28px rgba(47, 148, 255, 0.6) !important;
}
.elementor-button .elementor-button-text {
  color: #fff !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
}

/* 6) Boxy features — równe odstępy + ujednolicony rozmiar */
.dvq-home-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 720px) { .dvq-home-features { grid-template-columns: 1fr; } }

.dvq-home-feature {
  position: relative;
  padding: 36px 36px 0;
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
  transition: border-color .3s ease, transform .3s ease;
  /* Stała wysokość zamiast aspect-ratio żeby boxy były równe */
  height: 460px;
  aspect-ratio: auto;
  max-height: none;
}
@media (max-width: 720px) {
  .dvq-home-feature { height: 440px; }
}

/* 7) Cytaty — gwiazdki większe, ze złotym połyskiem (SVG-like przez text-shadow) */
.dvq-home-quote-stars {
  font-size: 18px;
  letter-spacing: 4px;
  color: #ffd166;
  text-shadow:
    0 0 8px rgba(255, 209, 102, 0.6),
    0 0 16px rgba(255, 209, 102, 0.3),
    0 1px 0 rgba(0, 0, 0, 0.2);
  background: linear-gradient(135deg, #ffe580 0%, #ffd166 40%, #f5a623 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 6px rgba(255, 195, 70, 0.55));
}

/* 8) Newsletter — pojedynczy obrys, bez podwójnego */
.dvq-newsletter form {
  background: #131527 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  outline: none !important;
  box-shadow: none !important;
}
.dvq-newsletter form:focus-within {
  border-color: var(--dvq-accent) !important;
  box-shadow: 0 0 0 3px rgba(47, 148, 255, .12) !important;
}
.dvq-newsletter input,
.dvq-newsletter input:focus {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* 9) Hero "Oparte na WordPress" — ukryj */
.elementor-element-105477b9,    /* logo WordPress */
.elementor-element-26287882 {   /* h2 "Oparte na WordPress" */
  display: none !important;
}

/* 10) Sekcja wideo w hero (114b3f2c) — responsywność */
.elementor-element-114b3f2c {
  min-height: 480px;
  overflow: hidden;
  border-radius: 24px;
  margin: 0 auto;
  max-width: 1200px;
  position: relative;
}
@media (max-width: 1024px) { .elementor-element-114b3f2c { min-height: 380px; } }
@media (max-width: 768px)  {
  .elementor-element-114b3f2c { min-height: 280px; border-radius: 16px; }
  /* Ukrywamy te 3 dekoracyjne obrazki (button.png, picker, 2image.png) na mobile —
     są źle pozycjonowane i wystają */
  .elementor-element-89bbb2e,
  .elementor-element-137d2e0,
  .elementor-element-4a7dc84 {
    display: none !important;
  }
}
.elementor-element-114b3f2c .elementor-background-video-container {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
}
.elementor-element-114b3f2c video.elementor-background-video-hosted {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}


/* ===========================================================================
   POPRAWKI v7 — wynik feedbacku
   =========================================================================== */

/* 1) FILTRY — powrót do "dvq-industry" stylu (subtle card),
   niebieski TYLKO na :hover / .is-active */
.dvq-home-filter {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 18px 11px 14px !important;
  border-radius: var(--dvq-radius-sm) !important;     /* 10px - jak .dvq-industry */
  background: var(--dvq-surface) !important;
  border: 1px solid var(--dvq-border) !important;
  color: #d9defc !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  cursor: pointer;
  transition: background .25s ease, color .2s ease, border-color .2s ease,
              transform .15s ease, box-shadow .25s ease;
  white-space: nowrap;
  box-shadow: none !important;
  text-shadow: none !important;
}
.dvq-home-filter:hover,
.dvq-home-filter.is-active {
  background: linear-gradient(180deg, #54aeff 0%, #2F94FF 100%) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.30),
    inset 0 -1px 0 rgba(0, 0, 0, 0.18),
    0 6px 18px rgba(47, 148, 255, .4) !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18) !important;
  transform: translateY(-1px);
}
.dvq-home-filter.is-active { transform: none; }
.dvq-home-filter-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 15px;
  line-height: 1;
  flex-shrink: 0;
}

/* 2) HERO Elementor button — wariant "ghost" dla "Zobacz realizacje" */
.elementor-button--ghost {
  background: transparent !important;
  background-image: none !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  color: #fff !important;
}
.elementor-button--ghost:hover {
  background: rgba(255, 255, 255, 0.04) !important;
  background-image: none !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
  box-shadow: none !important;
  transform: translateY(-1px);
}
.elementor-button--ghost .elementor-button-text {
  color: #fff !important;
}

/* 3) GWIAZDKI — świecą tylko na :hover boxa */
.dvq-home-quote-stars {
  font-size: 18px;
  letter-spacing: 4px;
  color: #ffd166;
  background: none;
  -webkit-text-fill-color: initial;
  filter: none;
  text-shadow: none;
  transition: filter .35s ease, text-shadow .35s ease;
}
.dvq-home-quote:hover .dvq-home-quote-stars {
  background: linear-gradient(135deg, #ffe580 0%, #ffd166 40%, #f5a623 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 6px rgba(255, 195, 70, 0.55));
  text-shadow:
    0 0 8px rgba(255, 209, 102, 0.6),
    0 0 16px rgba(255, 209, 102, 0.3);
}

/* 4) NEWSLETTER — button bez uppercase, kapitalizacja normalna */
.dvq-newsletter button,
.dvq-newsletter button[type="submit"] {
  text-transform: none !important;
  letter-spacing: -0.005em !important;
  font-weight: 600 !important;
}

/* 5) HERO MARK — ikonka błyskawicy (zamiast logo WordPress) */
.dvq-hero-mark {
  width: 64px;
  height: 64px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(47, 148, 255, 0.18), rgba(108, 99, 255, 0.08));
  border: 1px solid rgba(47, 148, 255, 0.3);
  border-radius: 18px;
  color: var(--dvq-accent);
  box-shadow: 0 8px 30px rgba(47, 148, 255, 0.18);
}
.dvq-hero-mark svg { width: 28px; height: 28px; }
.elementor-element-105477b9 { display: flex !important; justify-content: center; }
.elementor-element-26287882 .elementor-heading-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dvq-accent) !important;
  margin-top: 12px;
}


/* ===========================================================================
   v8 — drobne fixy
   =========================================================================== */

/* Sprawdź button — wymuszamy normal case nad globalnym Elementor kit */
.dvq-domain-input-btn,
.dvq-domain-input-btn span,
button.dvq-domain-input-btn {
  text-transform: none !important;
  letter-spacing: -0.005em !important;
  border-radius: 999px !important;
}

/* Hero — tło pod video #1b1e36 zamiast czystego dvq-bg */
.elementor-element-7ad736b4 {
  background-color: #1b1e36 !important;
}

/* Bridge — gradient łączący hero z resztą strony, gładkie przejście do dvq-bg */
.elementor-element-7ad736b4::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 120px;
  background: linear-gradient(180deg, transparent 0%, var(--dvq-bg) 100%);
  pointer-events: none;
  z-index: 1;
}
.elementor-element-7ad736b4 > * { position: relative; z-index: 2; }


/* ===========================================================================
   v9 — FINAL POPRAWKI
   =========================================================================== */

/* 1) ZNIESIENIE capitalize globalnie — Elementor kit-318 wymusza je na h3-h6,
   nadpisujemy raz na zawsze */
.elementor-kit-318 h1,
.elementor-kit-318 h2,
.elementor-kit-318 h3,
.elementor-kit-318 h4,
.elementor-kit-318 h5,
.elementor-kit-318 h6,
.elementor-kit-318 .dvq-h1,
.elementor-kit-318 .dvq-h2,
.elementor-kit-318 .dvq-h3,
.elementor-kit-318 .dvq-h4,
.elementor-kit-318 .dvq-h5,
.elementor-kit-318 .dvq-h6,
.elementor-kit-318 .dvq-card-title,
html h1, html h2, html h3, html h4, html h5, html h6,
.dvq-h1, .dvq-h2, .dvq-h3, .dvq-h4, .dvq-h5, .dvq-h6,
.dvq-card-title, .dvq-card h3,
.dvq-feature-card h3 {
  text-transform: none !important;
}

/* 2) dvq-h3 mniejsze + Funnel Display */
.elementor-kit-318 .dvq-h3,
.elementor-kit-318 h3.dvq-h3,
.dvq-h3,
h3.dvq-h3 {
  font-size: 19px !important;
  line-height: 1.3 !important;
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  margin: 0 0 8px !important;
}
@media (max-width: 760px) {
  .dvq-h3, h3.dvq-h3 { font-size: 18px !important; }
}
.dvq-card-title {
  font-size: 19px !important;
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-weight: 600 !important;
}

/* 3) dvq-h2 też z Funnel Display + większa specyficzność */
.elementor-kit-318 .dvq-h2,
.elementor-kit-318 h2.dvq-h2,
.dvq-h2 {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
}

/* 4) Zwykłe h3 w Elementor kit — też w Inter, normalny size, normal case */
.elementor-kit-318 h3 {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-size: 22px !important;
  text-transform: none !important;
}

/* 5) HERO — cofamy ciemniejsze tło sekcji (poprzednia tura ją zmieniła) */
.elementor-element-7ad736b4 {
  background-color: var(--dvq-bg) !important;
}
.elementor-element-7ad736b4::after { display: none; }

/* 6) Spacing "w 7 dni za 700 zł" — większa przerwa między magicznym podkreśleniem
   a "za 700 zł" */
#uc_gradient_underline_text_effect_elementor_f63351b .underline--magical {
  margin-right: 0.45em;
}

/* 7) Cena za moduł — wyciągnięta w mniejszy span (dvq-price-extra),
   dvq-lead style */
.dvq-price-extra {
  display: block;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--dvq-muted) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-top: 6px;
  line-height: 1.4;
}

/* 8) Logo placeholder w sekcji integracji (/funkcje) */
.dvq-logos-with-icons {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 880px) {
  .dvq-logos-with-icons { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 520px) {
  .dvq-logos-with-icons { grid-template-columns: repeat(2, 1fr); }
}
.dvq-logo-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px 16px;
  background: var(--dvq-surface);
  border: 1px solid var(--dvq-border);
  border-radius: var(--dvq-radius-sm);
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.dvq-logo-tile:hover {
  border-color: rgba(47, 148, 255, .35);
  background: var(--dvq-surface-2);
  transform: translateY(-2px);
}
.dvq-logo-tile img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  opacity: .85;
  filter: brightness(1.1);
}
.dvq-logo-tile .name {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #d9defc;
  letter-spacing: -0.005em;
  text-align: center;
}


/* ===========================================================================
   v10 — REDESIGN PODSTRON
   =========================================================================== */

/* 1) GLOBALNIE — Funnel Display na wszystkich tytułach (subpages też) */
.dvq-h1, h1.dvq-h1,
.dvq-h2, h2.dvq-h2,
.dvq-h3, h3.dvq-h3,
.dvq-h4, h4.dvq-h4,
.dvq-h5, h5.dvq-h5,
.dvq-card-title, .dvq-card h3,
.dvq-stat-num,
.dvq-price-num,
.elementor-kit-318 h1,
.elementor-kit-318 h2,
.elementor-kit-318 h3,
.elementor-kit-318 h4 {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
}

/* 2) HERO EYEBROW — ikona obok tekstu (poziomy układ pill, wycentrowany) */
.dvq-hero-eyebrow {
  display: table;
  align-items: center;
  gap: 12px;
  padding: 6px 22px 6px 6px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 32px !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  position: relative;
  z-index: 5;
}
.dvq-hero-eyebrow > .elementor-element-105477b9,
.dvq-hero-eyebrow > .elementor-element-26287882 {
  display: table-cell !important;
  vertical-align: middle !important;
  margin: 0 !important;
}
.dvq-hero-eyebrow > .elementor-element-26287882 {
  padding-left: 12px;
}
.dvq-hero-eyebrow .elementor-widget-container { margin: 0 !important; }
.dvq-hero-mark {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(47, 148, 255, 0.25), rgba(108, 99, 255, 0.1));
  border: 1px solid rgba(47, 148, 255, 0.35);
  border-radius: 12px;
  color: var(--dvq-accent);
}
.dvq-hero-mark svg { width: 18px; height: 18px; }
.dvq-hero-eyebrow .elementor-heading-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  white-space: nowrap;
}

/* 3) Grid — wymuszone kolumny zamiast auto-fit */
.dvq-grid-2 { grid-template-columns: repeat(2, 1fr) !important; }
.dvq-grid-3 { grid-template-columns: repeat(3, 1fr) !important; }
.dvq-grid-4 { grid-template-columns: repeat(4, 1fr) !important; }
@media (max-width: 960px) {
  .dvq-grid-3, .dvq-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .dvq-grid-2, .dvq-grid-3, .dvq-grid-4 { grid-template-columns: 1fr !important; }
}

/* 4) DOMENY — Karty TLD w stylu back.pl ale DEVIQO */
.dvq-domain-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 960px) { .dvq-domain-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .dvq-domain-cards { grid-template-columns: 1fr; } }
.dvq-domain-card {
  position: relative;
  padding: 28px 26px;
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color .25s ease, transform .25s ease, background .25s ease;
}
.dvq-domain-card:hover {
  border-color: rgba(47, 148, 255, .45);
  transform: translateY(-3px);
}
.dvq-domain-card.is-featured {
  border-color: rgba(47, 148, 255, .5);
  background:
    radial-gradient(ellipse at top right, rgba(47, 148, 255, .12), transparent 60%),
    linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  box-shadow: 0 10px 30px rgba(47, 148, 255, .12);
}
.dvq-domain-tld {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--dvq-accent);
  line-height: 1;
}
.dvq-domain-desc {
  flex: 1;
  color: var(--dvq-muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}
.dvq-domain-pricing {
  padding-top: 16px;
  border-top: 1px solid var(--dvq-border);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dvq-domain-price-first {
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.005em;
}
.dvq-domain-price-renew {
  color: var(--dvq-muted);
  font-size: 13px;
  letter-spacing: -0.005em;
}

/* 5) REALIZACJE — usuń duplikaty gwiazdek + stat-num w Funnel */
.dvq-stat-num,
.dvq-counter,
.dvq-realization-counter,
.dvq-card-num {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
}

/* 6) REALIZACJE — branże jak na home (filtry + ikony, bez miniatur) */
.dvq-realizations-industries {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 1100px;
  margin: 0 auto 40px;
}
.dvq-realizations-industries .dvq-home-filter {
  font-size: 14px !important;
}

/* Panel branży po kliknięciu */
.dvq-realizations-detail {
  display: none;
  margin-top: 32px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding: 32px;
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  border-radius: 24px;
  grid-template-columns: 1fr 1.5fr;
  gap: 32px;
  align-items: center;
}
.dvq-realizations-detail.is-active {
  display: grid;
}
@media (max-width: 760px) {
  .dvq-realizations-detail { grid-template-columns: 1fr; padding: 24px; }
}
.dvq-realizations-detail-image {
  aspect-ratio: 4 / 3;
  background: var(--dvq-bg);
  border: 1px solid var(--dvq-border);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--dvq-muted);
  font-size: 14px;
  overflow: hidden;
}
.dvq-realizations-detail-image img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.dvq-realizations-detail-content h3 {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  margin: 0 0 12px !important;
  color: #fff !important;
}
.dvq-realizations-detail-stats {
  display: flex;
  gap: 24px;
  margin: 16px 0;
  flex-wrap: wrap;
}
.dvq-realizations-detail-stat {
  display: flex;
  flex-direction: column;
}
.dvq-realizations-detail-stat .num {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 32px;
  font-weight: 600;
  color: var(--dvq-accent);
  line-height: 1;
  letter-spacing: -0.02em;
}
.dvq-realizations-detail-stat .lbl {
  font-size: 12px;
  color: var(--dvq-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 4px;
}
.dvq-realizations-detail-content p {
  color: #d9defc;
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
}

/* 7) CASE STUDY — miejsce na fotę u góry */
.dvq-case-study-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 960px) { .dvq-case-study-grid { grid-template-columns: 1fr; } }
.dvq-case-study {
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .25s, transform .25s;
}
.dvq-case-study:hover { border-color: rgba(47, 148, 255, .35); transform: translateY(-3px); }
.dvq-case-study-image {
  aspect-ratio: 16 / 10;
  background: var(--dvq-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--dvq-muted);
  font-size: 13px;
  overflow: hidden;
}
.dvq-case-study-image img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.dvq-case-study-body {
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.dvq-case-study-body h3 {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  color: #fff !important;
}
.dvq-case-study-body p {
  color: var(--dvq-muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}

/* 8) CENNIK — Hero split (lewo title+copy, prawo pakiet) */
.dvq-cennik-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (max-width: 880px) {
  .dvq-cennik-hero { grid-template-columns: 1fr; gap: 32px; text-align: center; }
}
.dvq-cennik-hero-left h1 {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
  margin: 16px 0 20px !important;
  text-transform: none !important;
}
.dvq-cennik-hero-left p {
  color: var(--dvq-muted);
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  max-width: 480px;
}
@media (max-width: 880px) { .dvq-cennik-hero-left p { margin: 0 auto; } }

/* Cennik price card */
.dvq-cennik-hero-right .dvq-price-card {
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid rgba(47, 148, 255, .35);
  border-radius: 24px;
  padding: 36px;
  box-shadow: 0 20px 60px rgba(47, 148, 255, .15);
  position: relative;
}
.dvq-cennik-hero-right .dvq-price-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 24px;
  background: radial-gradient(ellipse at top right, rgba(47, 148, 255, .12), transparent 60%);
  pointer-events: none;
}
.dvq-cennik-hero-right .dvq-price-num {
  font-size: 56px !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
}

/* Price list - mniejsze fonty */
.dvq-cennik-features {
  font-size: 14px !important;
}
.dvq-cennik-features li {
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* 9) COMPARE TABLE — wyraźniejsze DEVIQO */
.dvq-compare-wrap {
  overflow-x: auto;
  margin: 0 -8px;
  padding: 0 8px;
}
.dvq-compare {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  min-width: 760px;
}
.dvq-compare th,
.dvq-compare td {
  padding: 16px 18px;
  vertical-align: middle;
  font-size: 14px;
  text-align: center;
  border-bottom: 1px solid var(--dvq-border);
}
.dvq-compare th {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: var(--dvq-surface-2) !important;
  font-size: 14px !important;
  text-transform: none !important;
  letter-spacing: -0.005em !important;
}
.dvq-compare th:first-child,
.dvq-compare td:first-child {
  text-align: left;
  font-weight: 500;
  background: rgba(255, 255, 255, .02);
}
/* Kolumna DEVIQO — wyróżniona */
.dvq-compare th.col-deviqo,
.dvq-compare td.col-deviqo {
  background: linear-gradient(180deg, rgba(47, 148, 255, .14), rgba(47, 148, 255, .06)) !important;
  color: #fff !important;
  font-weight: 600;
  position: relative;
}
.dvq-compare th.col-deviqo {
  font-size: 16px !important;
  color: var(--dvq-accent) !important;
}
.dvq-compare th.col-deviqo::after {
  content: '';
  position: absolute;
  inset: 0;
  border-top: 2px solid var(--dvq-accent);
  border-radius: 16px 16px 0 0;
  pointer-events: none;
}

/* Cell content z ikoną */
.dvq-cell-yes {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--dvq-success);
  font-weight: 600;
}
.dvq-cell-yes svg { width: 18px; height: 18px; }
.dvq-cell-no {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--dvq-muted);
}
.dvq-cell-no svg { width: 18px; height: 18px; color: var(--dvq-danger); }

/* 10) OPINIE — hover gwiazdki świecą (jak na home) */
.dvq-testimonial-stars {
  color: #ffd166;
  letter-spacing: 3px;
  background: none;
  -webkit-text-fill-color: initial;
  filter: none;
  text-shadow: none;
  transition: filter .35s ease, text-shadow .35s ease;
}
.dvq-testimonial:hover .dvq-testimonial-stars,
.dvq-card:hover .dvq-testimonial-stars {
  background: linear-gradient(135deg, #ffe580 0%, #ffd166 40%, #f5a623 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 6px rgba(255, 195, 70, 0.55));
  text-shadow: 0 0 8px rgba(255, 209, 102, 0.6);
}


/* dvq-quote-stars (sub-pages) — hover glow */
.dvq-quote-stars {
  color: #ffd166;
  letter-spacing: 3px;
  background: none;
  -webkit-text-fill-color: initial;
  filter: none;
  text-shadow: none;
  transition: filter .35s ease, text-shadow .35s ease, background .35s ease, -webkit-text-fill-color .35s ease;
}
.dvq-quote:hover .dvq-quote-stars,
.dvq-card:hover .dvq-quote-stars {
  background: linear-gradient(135deg, #ffe580 0%, #ffd166 40%, #f5a623 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 6px rgba(255, 195, 70, 0.55));
  text-shadow: 0 0 8px rgba(255, 209, 102, 0.6);
}


/* ===========================================================================
   v11 — REDESIGN PODSTRON cz.2
   =========================================================================== */

/* Hero trust globalnie pod buttonami + center */
.dvq-hero-trust {
  text-align: center !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 20px auto 0;
  font-size: 14px;
  color: var(--dvq-muted);
  flex-wrap: wrap;
}
.dvq-hero-trust .stars {
  color: #ffd166;
  letter-spacing: 3px;
}

/* Tabela porównawcza — ticki ZIELONE, tekst BIAŁY */
.dvq-cell-yes {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff !important;
  font-weight: 600;
}
.dvq-cell-yes svg { color: var(--dvq-success); width: 18px; height: 18px; }
.dvq-cell-no {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--dvq-muted);
}
.dvq-cell-no svg { color: var(--dvq-danger); width: 18px; height: 18px; }

/* CENNIK — 3 pakiety obok siebie */
.dvq-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  align-items: stretch;
}
@media (max-width: 1024px) {
  .dvq-pricing-grid { grid-template-columns: 1fr; max-width: 480px; }
}
.dvq-pricing-card {
  position: relative;
  padding: 40px 32px;
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: border-color .25s ease, transform .25s ease;
}
.dvq-pricing-card:hover {
  border-color: rgba(47, 148, 255, .35);
  transform: translateY(-4px);
}
.dvq-pricing-card.is-featured {
  border-color: rgba(47, 148, 255, .6);
  background:
    radial-gradient(ellipse at top right, rgba(47, 148, 255, .14), transparent 60%),
    linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  box-shadow: 0 20px 60px rgba(47, 148, 255, .18);
  transform: translateY(-8px);
}
@media (max-width: 1024px) { .dvq-pricing-card.is-featured { transform: none; } }
.dvq-pricing-badge {
  position: absolute;
  top: -12px; left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #54aeff 0%, #2F94FF 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(47, 148, 255, .4);
}
.dvq-pricing-name {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.015em;
  margin: 0;
}
.dvq-pricing-tagline {
  color: var(--dvq-muted);
  font-size: 14px;
  margin: -4px 0 0;
  line-height: 1.5;
}
.dvq-pricing-price {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 48px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.025em;
  line-height: 1;
  margin: 12px 0 4px;
}
.dvq-pricing-price small {
  font-size: 16px;
  font-weight: 500;
  color: var(--dvq-muted);
  letter-spacing: 0;
}
.dvq-pricing-meta {
  color: var(--dvq-muted);
  font-size: 13px;
  margin: 0 0 8px;
}
.dvq-pricing-features {
  list-style: none;
  padding: 0;
  margin: 8px 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.dvq-pricing-features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #d9defc;
  font-size: 14px;
  line-height: 1.5;
}
.dvq-pricing-features li svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: var(--dvq-success);
}
.dvq-pricing-card .dvq-btn {
  width: 100%;
  justify-content: center;
}


/* ===========================================================================
   v12 — FINAL POLISH
   =========================================================================== */

/* 1) SELECTION COLOR */
::selection {
  background: #2F94FF;
  color: #fff;
}
::-moz-selection {
  background: #2F94FF;
  color: #fff;
}

/* 2) HERO EYEBROW — całkowity reset, standalone element */
.elementor-element-36e88d0f {
  display: none !important;            /* Stary kontener Elementor "Oparte na WordPress" - usuwamy */
}

.dvq-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 22px 6px 6px;
  margin: 0 auto 28px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  align-self: center;              /* wycentruje w flex column rodzica */
  position: relative;
  z-index: 5;
}
.dvq-hero-eyebrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(47, 148, 255, 0.3), rgba(108, 99, 255, 0.12));
  border: 1px solid rgba(47, 148, 255, 0.4);
  color: var(--dvq-accent);
  flex-shrink: 0;
}
.dvq-hero-eyebrow-icon svg { width: 17px; height: 17px; }
.dvq-hero-eyebrow-text {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
}

/* Hero kontener musi być flex column z align center żeby eyebrow był wycentrowany */
.elementor-element-6c7ec1bf {
  align-items: center !important;
}

/* 3) POPPINS → INTER globalnie. Nadpisuję bardziej agresywnie. */
:root {
  --e-global-typography-primary-font-family: 'Inter', system-ui, sans-serif;
  --e-global-typography-secondary-font-family: 'Funnel Display', system-ui, sans-serif;
  --e-global-typography-text-font-family: 'Inter', system-ui, sans-serif;
  --e-global-typography-accent-font-family: 'Inter', system-ui, sans-serif;
  --dvq-font: 'Inter', system-ui, sans-serif;
  --dvq-font-display: 'Funnel Display', system-ui, sans-serif;
  --dvq-font-accent: 'Funnel Display', system-ui, sans-serif;
}

/* Force Inter na całym body i Elementor */
html, body,
body *:not([class*="dvq-h"]):not([class*="dvq-italic"]):not(.elementor-heading-title):not(.elementor-image-box-title):not(svg):not(svg *) {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
}

/* Tytuły zachowują Funnel Display */
.elementor-heading-title,
.dvq-h1, .dvq-h2, .dvq-h3, .dvq-h4, .dvq-h5, .dvq-h6,
h1, h2, h3, h4, h5, h6,
.dvq-card-title, .dvq-stat-num, .dvq-price-num, .dvq-pricing-name, .dvq-pricing-price,
.dvq-domain-tld, .dvq-home-step h3, .dvq-home-feature-content h3,
.dvq-home-quote-name, .dvq-home-final-cta h2, .dvq-home-final-cta h3 {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
}

/* Hero eyebrow text WYJĄTKOWO Inter (uppercase brand badge) */
.dvq-hero-eyebrow-text,
.dvq-eyebrow,
.dvq-pricing-badge,
.dvq-home-filter,
.dvq-realizations-detail-stat .lbl,
.dvq-stat-lbl {
  font-family: 'Inter', system-ui, sans-serif !important;
}


/* 4) FAQ — naprawione: każdy box dopasowuje wysokość do treści (grid auto-rows)
   + smooth animacja otwierania przez height: max-content / max-height transition
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-faq,
.dvq-faq {
  grid-auto-rows: min-content !important;
  align-items: start !important;
}

/* Animacja smooth open dla details */
.dvq-faq-item,
.elementor-tab-content,
details.dvq-faq-item {
  background: var(--dvq-surface);
  border: 1px solid var(--dvq-border);
  border-radius: 14px;
  padding: 0;
  overflow: hidden;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.dvq-faq-item[open] {
  border-color: rgba(47, 148, 255, .35);
  background: var(--dvq-surface-2);
  box-shadow: 0 6px 24px rgba(47, 148, 255, .08);
}

.dvq-faq-item summary,
details.dvq-faq-item > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.01em;
  position: relative;
  transition: color .2s ease;
}
.dvq-faq-item summary::-webkit-details-marker { display: none; }
.dvq-faq-item summary::marker { content: ''; }

/* Plus/minus toggle ikon */
.dvq-faq-item summary::after {
  content: '';
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  background-image:
    linear-gradient(90deg, var(--dvq-accent) 0%, var(--dvq-accent) 100%),
    linear-gradient(0deg, var(--dvq-accent) 0%, var(--dvq-accent) 100%);
  background-size: 100% 2px, 2px 100%;
  background-position: center, center;
  background-repeat: no-repeat;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1), background-size .25s ease;
}
.dvq-faq-item[open] summary::after {
  transform: rotate(90deg);
  background-size: 100% 2px, 0 100%;     /* minus po obrocie wygląda jak minus */
}

.dvq-faq-body,
.dvq-faq-item .dvq-faq-body {
  padding: 0 24px 20px;
  color: var(--dvq-muted);
  font-size: 14px;
  line-height: 1.65;
  animation: dvqFaqFadeIn .35s cubic-bezier(.22, 1, .36, 1);
}
@keyframes dvqFaqFadeIn {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* 5) GALERIA REALIZACJI — stagger fade-in + filter switch animacja
   ────────────────────────────────────────────────────────────────────────── */

.dvq-home-gallery .dvq-home-gallery-item {
  opacity: 0;
  transform: translateY(16px) scale(.98);
  animation: dvqItemIn .55s cubic-bezier(.22, 1, .36, 1) forwards;
  animation-delay: calc(var(--dvq-stagger, 0) * 60ms);
  will-change: opacity, transform;
}
@keyframes dvqItemIn {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Animacja przy filtrowaniu — ukrywanie / pokazywanie */
.dvq-home-gallery-item {
  transition: opacity .35s cubic-bezier(.22, 1, .36, 1),
              transform .35s cubic-bezier(.22, 1, .36, 1),
              filter .35s ease;
}
.dvq-home-gallery-item.is-hidden {
  display: flex !important;            /* zachowujemy w layoucie żeby animować */
  opacity: 0;
  transform: scale(.94) translateY(8px);
  pointer-events: none;
  filter: blur(6px);
  position: absolute;
  visibility: hidden;
}

/* Plynne ułożenie po zmianie filtra */
.dvq-home-gallery {
  transition: min-height .4s ease;
}


/* 6) Hero TRUST PILLS (avatary + tekst) - lepsza pozycja pod buttonami */
.dvq-hero-pills {
  margin-top: 32px;
}


/* 7) Panel branż - smooth crossfade przy zmianie */
.dvq-realizations-detail {
  transition: opacity .25s ease, transform .25s ease;
}
.dvq-realizations-detail.is-active {
  animation: dvqDetailIn .45s cubic-bezier(.22, 1, .36, 1);
}
.dvq-realizations-detail.is-swapping {
  opacity: 0;
  transform: translateY(8px);
}
@keyframes dvqDetailIn {
  from { opacity: 0; transform: translateY(20px) scale(.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Panel - obrazek smooth fade-in po przeładowaniu */
.dvq-realizations-detail-image img {
  animation: dvqImgFade .5s cubic-bezier(.22, 1, .36, 1);
}
@keyframes dvqImgFade {
  from { opacity: 0; filter: blur(8px); }
  to   { opacity: 1; filter: blur(0); }
}

/* Tekst panelu też fade-in */
.dvq-realizations-detail-content > * {
  animation: dvqTextSlide .45s cubic-bezier(.22, 1, .36, 1) backwards;
}
.dvq-realizations-detail-content > *:nth-child(1) { animation-delay: .05s; }
.dvq-realizations-detail-content > *:nth-child(2) { animation-delay: .1s; }
.dvq-realizations-detail-content > *:nth-child(3) { animation-delay: .15s; }
@keyframes dvqTextSlide {
  from { opacity: 0; transform: translateX(12px); }
  to   { opacity: 1; transform: translateX(0); }
}


/* ===========================================================================
   v13 — HARD RESET HERO. Nadpisuje wszystkie poprzednie modyfikacje.
   =========================================================================== */

/* Hero parent kontener - czysty */
.elementor-element-7ad736b4 {
  background-color: var(--dvq-bg) !important;
  padding-bottom: 60px !important;
}
.elementor-element-7ad736b4::after,
.elementor-element-7ad736b4::before {
  display: none !important;
  content: none !important;
}

/* Hero column - flex column z normal align (nie center!) */
.elementor-element-6c7ec1bf {
  align-items: initial !important;
  text-align: center;
}
.elementor-element-6c7ec1bf > * {
  width: 100%;
  text-align: center;
}

/* Stary kontener "Oparte na WordPress" - ukryty */
.elementor-element-36e88d0f {
  display: none !important;
}

/* H1 GRADIENT UNDERLINE TEXT - reset wszystkich poprzednich modyfikacji
   Zostawiamy native plugin behavior + zmiana fontu na Funnel Display */
#uc_gradient_underline_text_effect_elementor_f63351b {
  text-align: center !important;
  font-family: 'Funnel Display', system-ui, sans-serif !important;
}
#uc_gradient_underline_text_effect_elementor_f63351b * {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-variation-settings: normal !important;
}

/* Każda część h1 ma być widoczna z białym kolorem (fallback) */
#uc_gradient_underline_text_effect_elementor_f63351b .gradient_underline_text_effect,
#uc_gradient_underline_text_effect_elementor_f63351b .gradient_underline_text_effect * {
  color: #fff !important;
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

/* Pierwszy span - nowa linia */
#uc_gradient_underline_text_effect_elementor_f63351b .beginning_text {
  display: block !important;
}
/* Drugi span (underline) - inline na drugiej linii */
#uc_gradient_underline_text_effect_elementor_f63351b .underline--magical {
  display: inline-block !important;
  margin-right: 0.4em !important;
}
/* Trzeci span (ending) - inline obok underline */
#uc_gradient_underline_text_effect_elementor_f63351b .ending_text {
  display: inline-block !important;
}

/* Eyebrow - prosty, czysty, wycentrowany */
.dvq-hero-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 6px 22px 6px 6px !important;
  margin: 0 auto 28px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 999px !important;
  align-self: center !important;
  position: relative !important;
  z-index: 5 !important;
  width: fit-content !important;
}

/* Trust pills pod buttonami */
.dvq-hero-pills {
  text-align: center !important;
  margin: 32px auto 0 !important;
  width: 100% !important;
  justify-content: center !important;
}

/* Avatary trust row pod hero - centered */
.elementor-element-7c50fe5d,
.elementor-element-7c50fe5d > .e-con-inner,
.elementor-element-7c50fe5d .elementor-widget-container {
  justify-content: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* ===========================================================================
   v14 — HERO CENTER fix (ostatnia warstwa, wygrywa nad wszystkim)
   =========================================================================== */

/* Hero column - flex column z align center żeby eyebrow + H1 były na środku */
.elementor-element-6c7ec1bf {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}
.elementor-element-6c7ec1bf > * {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

/* Eyebrow - własna szerokość, wycentrowany */
.dvq-hero-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 28px !important;
  align-self: center !important;
}

/* Stary kontener Elementora (logo WordPress + heading) - ukryty */
.elementor-element-36e88d0f {
  display: none !important;
}

/* H1 z gradient underline - WSZYSTKIE childy centered */
.elementor-element-f63351b,
.elementor-element-f63351b > .elementor-widget-container,
#uc_gradient_underline_text_effect_elementor_f63351b,
#uc_gradient_underline_text_effect_elementor_f63351b .gradient_underline_text_effect {
  text-align: center !important;
  width: 100% !important;
}
#uc_gradient_underline_text_effect_elementor_f63351b .gradient_underline_text_effect,
#uc_gradient_underline_text_effect_elementor_f63351b .gradient_underline_text_effect * {
  color: #fff !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Paragraf opisowy pod h1 - centered i max szerokość */
.elementor-element-d61aaab .elementor-widget-container,
.elementor-element-d61aaab p {
  text-align: center !important;
  max-width: 720px;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* ===========================================================================
   v15 — smooth scroll + countdown styling
   =========================================================================== */

/* Smooth scroll dla anchor-ów */
html { scroll-behavior: smooth; }

/* Offset dla sekcji żeby fixed header nie przykrywał */
#realizacje,
#pakiety {
  scroll-margin-top: 100px;
}

/* Countdown w banerze - lekka czcionka monospace żeby cyfry nie skakały */
[data-dvq-countdown] {
  font-variant-numeric: tabular-nums;
  display: inline-block;
  min-width: 44px;
  text-align: center;
}


/* ===========================================================================
   v16 — Team card (Zespół DEVIQO) na /o-nas
   =========================================================================== */

.dvq-team-card {
  background: linear-gradient(180deg, var(--dvq-surface), var(--dvq-surface-2));
  border: 1px solid var(--dvq-border);
  border-radius: 24px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  overflow: hidden;
  min-height: 360px;
  position: relative;
}

.dvq-team-photo {
  flex: 1;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--dvq-border);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  overflow: hidden;
  position: relative;
}
.dvq-team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.dvq-team-photo-placeholder {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  text-align: center;
  padding: 16px;
  font-weight: 500;
}

.dvq-team-info {
  text-align: center;
  color: #fff;
  padding: 4px 12px 12px;
}
.dvq-team-name {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 6px;
}
.dvq-team-desc {
  font-size: 14px;
  line-height: 1.5;
  color: var(--dvq-muted);
  font-weight: 400;
}


/* ===========================================================================
   v18 — Marquee fix: track full-width, justify-start
   =========================================================================== */

.dvq-home-brands-track,
.dvq-home-logos-marquee-track {
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Marquee containera bez paddingów / max-width — pełna szerokość strony */
.dvq-home-brands,
.dvq-home-brands-marquee,
.dvq-home-logos-marquee {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* ===========================================================================
   v19b — Moduł personalny "Katarzyna skontaktuje się z Tobą" — BULLETPROOF
   =========================================================================== */

/* Zdjęcie zespołu w team card */
.dvq-team-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 12px !important;
}

/* Karta kontaktowa — flex (nie grid).
   Zdjęcie Kasi (natywne 470×588 = aspect 0.8) jest absolutnie pozycjonowane,
   anchor bottom, wysokość 480px (większa niż tekstowa kolumna ~380) → wystaje górą. */
.dvq-contact-person {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 0 !important;
  background: var(--dvq-surface) !important;
  border: 1px solid var(--dvq-border) !important;
  border-radius: 28px !important;
  overflow: visible !important; /* obowiązkowe — bez tego clipuje */
  position: relative !important;
  max-width: 1100px;
  margin: 100px auto 0; /* miejsce na wystającą głowę */
}

/* Lewa kolumna — szersza, żeby zmieścić zdjęcie 480px wysokie (= ~384 szerokie) */
.dvq-contact-person-photo {
  flex: 0 0 380px !important;
  width: 380px !important;
  max-width: 380px !important;
  align-self: stretch !important;
  position: relative !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important; /* żeby karta nie rosła do absurdu */
}
.dvq-contact-person-photo img {
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  height: 480px !important; /* TWARDA wysokość > tekstowa kolumna (~380) */
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: bottom center !important;
  display: block !important;
  margin: 0 !important;
  filter: drop-shadow(0 30px 50px rgba(0,0,0,.45));
}

/* Prawa kolumna z tekstem */
.dvq-contact-person-body {
  flex: 1 1 auto !important;
  padding: 48px 56px !important;
  min-width: 0 !important;
}
.dvq-contact-person-body .dvq-eyebrow { color: var(--dvq-accent); }
.dvq-contact-person-body h2 {
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  font-size: clamp(28px, 3.4vw, 40px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
  margin: 14px 0 16px !important;
  color: #fff !important;
}
.dvq-contact-person-body p {
  color: var(--dvq-muted) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  margin: 0 0 28px !important;
  max-width: 560px;
}
.dvq-contact-person-sign {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--dvq-border);
  font-size: 13px;
  color: var(--dvq-muted);
}
.dvq-contact-person-sign strong { color: #fff; font-weight: 600; }

/* MOBILE — kolumna, zdjęcie wraca do normalnego flow ze "stickoutem" w górę */
@media (max-width: 820px) {
  .dvq-contact-person {
    flex-direction: column !important;
    text-align: center;
    margin-top: 70px !important;
  }
  .dvq-contact-person-photo {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    align-self: center !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    position: static !important;
  }
  .dvq-contact-person-photo img {
    position: static !important;
    transform: none !important;
    width: auto !important;
    height: 280px !important;
    max-width: none !important;
    max-height: 280px !important;
    margin: -56px auto 0 !important; /* wystaje powyżej karty */
  }
  .dvq-contact-person-body { padding: 28px 24px 36px !important; }
  .dvq-contact-person-body p { margin-left: auto !important; margin-right: auto !important; }
  .dvq-cta-row { justify-content: center; }
}

/* Sekcja z kartą kontaktową — wyłączamy niebieską poświatę żeby tło było czysto ciemne */
.dvq-section--cta:has(.dvq-contact-person) {
  background: var(--dvq-bg) !important;
}


/* ===========================================================================
   v20 — Baza wiedzy: karty artykułów + strony pojedynczych artykułów
   =========================================================================== */

/* --- Klikalne karty artykułów na /baza-wiedzy --- */
a.dvq-article-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: var(--dvq-surface);
  border: 1px solid var(--dvq-border);
  border-radius: var(--dvq-radius);
  padding: 28px;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  height: 100%;
}
a.dvq-article-card:hover {
  transform: translateY(-3px);
  border-color: rgba(47,148,255,.55);
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
}
a.dvq-article-card .dvq-card-icon {
  font-size: 22px;
  width: 44px; height: 44px;
  border-radius: 12px;
  background: rgba(47,148,255,.12);
  border: 1px solid rgba(47,148,255,.25);
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
  color: var(--dvq-accent);
}
a.dvq-article-card h3 {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.3;
  margin: 0 0 10px;
  color: #fff;
}
a.dvq-article-card p {
  color: var(--dvq-muted);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0 0 18px;
}
a.dvq-article-card .dvq-article-meta {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  color: var(--dvq-muted);
  padding-top: 14px;
  border-top: 1px solid var(--dvq-border);
}
a.dvq-article-card .dvq-article-meta-cat {
  color: var(--dvq-accent);
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: 11px;
}
a.dvq-article-card .dvq-article-read-more {
  color: var(--dvq-accent);
  font-weight: 600;
  margin-left: auto;
}


/* --- HERO pojedynczego artykułu --- */
.dvq-article-hero {
  padding: 120px 24px 56px;
  text-align: center;
  background: radial-gradient(ellipse at top, rgba(47,148,255,.16), transparent 60%), var(--dvq-bg);
}
.dvq-article-hero .dvq-breadcrumbs { justify-content: center; }
.dvq-article-hero .dvq-eyebrow { margin: 6px 0 18px; }
.dvq-article-hero h1 {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.025em;
  margin: 0 auto 22px;
  max-width: 860px;
  color: #fff;
}
.dvq-article-hero .dvq-article-lede {
  max-width: 720px;
  margin: 0 auto 32px;
  font-size: 18px;
  line-height: 1.65;
  color: var(--dvq-muted);
}
.dvq-article-meta-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 22px;
  align-items: center;
  font-size: 13px;
  color: var(--dvq-muted);
}
.dvq-article-meta-row .dvq-author {
  display: inline-flex; align-items: center; gap: 8px;
}
.dvq-article-meta-row .dvq-author-avatar {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--dvq-accent);
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 600; font-size: 11px;
}
.dvq-article-meta-row strong { color: #fff; font-weight: 600; }

/* --- Layout treści artykułu z TOC --- */
.dvq-article-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 56px;
  align-items: start;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (max-width: 980px) {
  .dvq-article-wrap { grid-template-columns: 1fr; gap: 32px; }
}

/* --- Body artykułu (typografia) --- */
.dvq-article-body {
  font-size: 17px;
  line-height: 1.78;
  color: #d6dbf0;
  max-width: 760px;
}
.dvq-article-body > * + * { margin-top: 22px; }
.dvq-article-body h2 {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 48px 0 6px;
  color: #fff;
  scroll-margin-top: 100px;
}
.dvq-article-body h3 {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.3;
  margin: 30px 0 4px;
  color: #fff;
  scroll-margin-top: 100px;
}
.dvq-article-body p { margin: 0; }
.dvq-article-body strong { color: #fff; font-weight: 600; }
.dvq-article-body a {
  color: var(--dvq-accent);
  text-decoration: underline;
  text-decoration-color: rgba(47,148,255,.4);
  text-underline-offset: 3px;
}
.dvq-article-body a:hover { text-decoration-color: var(--dvq-accent); }
.dvq-article-body ul, .dvq-article-body ol {
  padding-left: 24px;
  margin: 0;
}
.dvq-article-body li { margin-bottom: 8px; }
.dvq-article-body li::marker { color: var(--dvq-accent); }
.dvq-article-body blockquote {
  margin: 0;
  padding: 20px 24px;
  border-left: 3px solid var(--dvq-accent);
  background: rgba(47,148,255,.06);
  border-radius: 0 12px 12px 0;
  color: #fff;
  font-style: italic;
}
.dvq-article-body blockquote p { margin: 0; }
.dvq-article-body code {
  background: var(--dvq-surface-2);
  padding: 2px 8px;
  border-radius: 6px;
  font-size: .9em;
  border: 1px solid var(--dvq-border);
}
.dvq-article-body hr {
  border: none;
  border-top: 1px solid var(--dvq-border);
  margin: 40px 0;
}

/* Callout box w treści */
.dvq-callout {
  padding: 22px 26px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(47,148,255,.10), rgba(108,99,255,.05));
  border: 1px solid rgba(47,148,255,.25);
  margin: 28px 0;
}
.dvq-callout-title {
  font-weight: 600;
  color: #fff;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.dvq-callout-title::before {
  content: '💡';
  font-size: 18px;
}
.dvq-callout p { margin: 0; }

/* Tabela porównawcza w artykule */
.dvq-article-body .dvq-mini-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  background: var(--dvq-surface);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--dvq-border);
  font-size: 14.5px;
}
.dvq-article-body .dvq-mini-table th,
.dvq-article-body .dvq-mini-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--dvq-border);
}
.dvq-article-body .dvq-mini-table th {
  background: var(--dvq-surface-2);
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.dvq-article-body .dvq-mini-table tr:last-child td { border-bottom: none; }

/* --- TOC sticky --- */
.dvq-toc {
  position: sticky;
  top: 90px;
  align-self: start;
  background: var(--dvq-surface);
  border: 1px solid var(--dvq-border);
  border-radius: 14px;
  padding: 22px 22px 18px;
  font-size: 14px;
}
.dvq-toc-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--dvq-accent);
  margin: 0 0 14px;
}
.dvq-toc ol {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: tocnum;
}
.dvq-toc li { margin-bottom: 8px; counter-increment: tocnum; }
.dvq-toc a {
  color: var(--dvq-muted);
  text-decoration: none;
  display: block;
  padding: 6px 0;
  line-height: 1.4;
  position: relative;
  padding-left: 28px;
  transition: color .15s ease;
}
.dvq-toc a::before {
  content: counter(tocnum, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 6px;
  color: rgba(154, 161, 196, .55);
  font-size: 12px;
  font-weight: 600;
}
.dvq-toc a:hover { color: #fff; }
@media (max-width: 980px) {
  .dvq-toc { position: static; top: auto; }
}

/* --- Stopka artykułu: autor + tagi + share --- */
.dvq-article-footer {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid var(--dvq-border);
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
}
.dvq-article-tags {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.dvq-article-tag {
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--dvq-surface-2);
  border: 1px solid var(--dvq-border);
  color: var(--dvq-muted);
}

/* --- "Powiązane artykuły" --- */
.dvq-related-articles {
  margin-top: 60px;
}
.dvq-related-articles h2 {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -.02em;
  margin: 0 0 20px;
  color: #fff;
}
.dvq-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 800px) {
  .dvq-related-grid { grid-template-columns: 1fr; }
}

/* Akcent — Funnel Display regular w niebieskim (override z artykułów/narzędzi).
   Świadomie powtórzone, żeby przebić wcześniejsze !important reguły jeśli się pojawią. */
.dvq-italic {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--dvq-accent);
}

/* ===========================================================================
   v23 — Language switcher (PL ↔ EN) w nawigacji i drawerze
   =========================================================================== */
.dvq-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
  transition: all 0.15s ease;
  white-space: nowrap;
  line-height: 1;
}
.dvq-lang-switch:hover,
.dvq-lang-switch:focus-visible {
  color: #fff;
  background: rgba(47, 148, 255, 0.10);
  border-color: rgba(47, 148, 255, 0.35);
  text-decoration: none;
}
.dvq-lang-switch-flag {
  font-size: 14px;
  line-height: 1;
}
@media (max-width: 1024px) {
  .dvq-nav-cta .dvq-lang-switch { display: none; }
}

/* Drawer wersja — większy, na pełną szerokość */
.dvq-drawer .dvq-lang-switch-drawer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  margin: 8px 0 0;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: rgba(47, 148, 255, 0.10);
  border: 1px solid rgba(47, 148, 255, 0.35);
  text-decoration: none;
}
.dvq-drawer .dvq-lang-switch-drawer:hover {
  background: rgba(47, 148, 255, 0.18);
}


/* ===========================================================================
   v21 — Darmowe narzędzia: karty narzędzi, interaktywne formularze, e-mail gate
   =========================================================================== */

/* Karta narzędzia w siatce */
a.dvq-tool-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: var(--dvq-surface);
  border: 1px solid var(--dvq-border);
  border-radius: var(--dvq-radius);
  padding: 28px 28px 24px;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  position: relative;
  overflow: hidden;
  min-height: 240px;
}
a.dvq-tool-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(47,148,255,.10), transparent 60%);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}
a.dvq-tool-card:hover {
  transform: translateY(-3px);
  border-color: rgba(47,148,255,.55);
  box-shadow: 0 14px 30px rgba(0,0,0,.32);
}
a.dvq-tool-card:hover::before { opacity: 1; }
.dvq-tool-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: rgba(47,148,255,.12);
  border: 1px solid rgba(47,148,255,.28);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 18px;
  color: var(--dvq-accent);
}
.dvq-tool-card h3 {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.02em;
  margin: 0 0 10px;
  color: #fff;
  line-height: 1.25;
}
.dvq-tool-card p {
  color: var(--dvq-muted);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0 0 16px;
  flex-grow: 1;
}
.dvq-tool-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--dvq-border);
  font-size: 12.5px;
  color: var(--dvq-muted);
}
.dvq-tool-meta-tag {
  background: rgba(47,148,255,.10);
  color: var(--dvq-accent);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
}
.dvq-tool-cta {
  margin-left: auto;
  color: var(--dvq-accent);
  font-weight: 600;
}

/* Layout pojedynczego narzędzia */
.dvq-tool-wrap {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
}
.dvq-tool-frame {
  background: var(--dvq-surface);
  border: 1px solid var(--dvq-border);
  border-radius: 20px;
  padding: 40px;
  margin-top: 24px;
}
@media (max-width: 600px) {
  .dvq-tool-frame { padding: 24px; border-radius: 14px; }
}

/* Stepper / progress bar */
.dvq-tool-stepper {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
  font-size: 12.5px;
  color: var(--dvq-muted);
}
.dvq-tool-stepper-bar {
  flex: 1;
  height: 4px;
  background: var(--dvq-surface-2);
  border-radius: 999px;
  overflow: hidden;
}
.dvq-tool-stepper-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--dvq-accent), var(--dvq-accent-2));
  transition: width .35s ease;
}

/* Pola formularzy narzędzi */
.dvq-tool-field { margin-bottom: 22px; }
.dvq-tool-field label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 8px;
}
.dvq-tool-field .dvq-tool-help {
  display: block;
  font-size: 12.5px;
  color: var(--dvq-muted);
  margin-bottom: 10px;
  font-weight: 400;
}
.dvq-tool-field input[type=text],
.dvq-tool-field input[type=email],
.dvq-tool-field input[type=url],
.dvq-tool-field input[type=number],
.dvq-tool-field textarea,
.dvq-tool-field select {
  width: 100%;
  padding: 13px 16px;
  background: var(--dvq-surface-2);
  border: 1px solid var(--dvq-border);
  border-radius: 10px;
  color: #fff;
  font: inherit;
  font-size: 15px;
  transition: border-color .15s ease;
}
.dvq-tool-field input:focus,
.dvq-tool-field textarea:focus,
.dvq-tool-field select:focus {
  outline: none;
  border-color: var(--dvq-accent);
  box-shadow: 0 0 0 3px rgba(47,148,255,.18);
}
.dvq-tool-field textarea { min-height: 120px; resize: vertical; }

/* Grupy radio jako "pill buttons" */
.dvq-tool-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.dvq-tool-pill {
  position: relative;
}
.dvq-tool-pill input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.dvq-tool-pill-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--dvq-surface-2);
  border: 1px solid var(--dvq-border);
  color: var(--dvq-muted);
  font-size: 13.5px;
  cursor: pointer;
  transition: all .15s ease;
}
.dvq-tool-pill input:checked + .dvq-tool-pill-label {
  background: rgba(47,148,255,.14);
  border-color: var(--dvq-accent);
  color: #fff;
}
.dvq-tool-pill-label:hover { color: #fff; }

/* Navigacja kroków */
.dvq-tool-nav {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--dvq-border);
}
.dvq-tool-step { display: none; }
.dvq-tool-step.is-active { display: block; animation: dvqToolFade .25s ease; }
@keyframes dvqToolFade {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Wynik z e-mail gate */
.dvq-tool-results {
  display: none;
}
.dvq-tool-results.is-active { display: block; animation: dvqToolFade .35s ease; }
.dvq-tool-result-row {
  display: flex;
  gap: 14px;
  padding: 16px 18px;
  background: var(--dvq-surface-2);
  border-radius: 12px;
  margin-bottom: 10px;
  border: 1px solid var(--dvq-border);
}
.dvq-tool-result-row .dvq-tool-result-icon {
  flex-shrink: 0;
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(47,148,255,.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
}
.dvq-tool-result-row.is-warning .dvq-tool-result-icon { background: rgba(252,156,42,.12); color: #fc9c2a; }
.dvq-tool-result-row.is-error .dvq-tool-result-icon { background: rgba(239,68,68,.14); color: #ef4444; }
.dvq-tool-result-row.is-success .dvq-tool-result-icon { background: rgba(34,197,94,.14); color: #22c55e; }
.dvq-tool-result-row h4 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
}
.dvq-tool-result-row p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--dvq-muted);
}

/* E-mail gate (blocked content) */
.dvq-tool-gate {
  position: relative;
  margin-top: 24px;
  padding: 28px;
  background: linear-gradient(135deg, rgba(47,148,255,.08), rgba(108,99,255,.04));
  border: 1px solid rgba(47,148,255,.3);
  border-radius: 16px;
}
.dvq-tool-gate-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--dvq-accent);
  margin-bottom: 10px;
}
.dvq-tool-gate h3 {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -.02em;
  color: #fff;
  margin: 0 0 8px;
}
.dvq-tool-gate p {
  color: var(--dvq-muted);
  margin: 0 0 18px;
  font-size: 14.5px;
  line-height: 1.6;
}
.dvq-tool-gate-form {
  display: flex;
  gap: 10px;
}
.dvq-tool-gate-form input {
  flex: 1;
  padding: 13px 16px;
  background: rgba(10,11,20,.55);
  border: 1px solid var(--dvq-border);
  border-radius: 10px;
  color: #fff;
  font: inherit;
  font-size: 15px;
}
.dvq-tool-gate-form input:focus {
  outline: none;
  border-color: var(--dvq-accent);
}
@media (max-width: 600px) {
  .dvq-tool-gate-form { flex-direction: column; }
}
.dvq-tool-gate-perks {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  font-size: 12.5px;
  color: var(--dvq-muted);
}
.dvq-tool-gate-perks span::before {
  content: '✓ ';
  color: #22c55e;
  font-weight: 700;
}

/* Gwarancja najlepszej ceny — eye-catching badge wewnątrz gate */
.dvq-tool-guarantee {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  margin: 0 0 18px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(34,197,94,.12), rgba(47,148,255,.06));
  border: 1px solid rgba(34,197,94,.38);
  position: relative;
}
.dvq-tool-guarantee-icon {
  flex-shrink: 0;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(34,197,94,.22);
  border: 1px solid rgba(34,197,94,.5);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
}
.dvq-tool-guarantee-text {
  font-size: 13.5px;
  line-height: 1.55;
  color: #d6dbf0;
}
.dvq-tool-guarantee-text strong {
  color: #fff;
  font-weight: 600;
  display: block;
  margin-bottom: 2px;
  font-size: 14.5px;
}
.dvq-tool-guarantee-text em {
  color: #4ade80;
  font-style: normal;
  font-weight: 600;
}

/* Tool — partial preview blur effect */
.dvq-tool-preview-blur {
  position: relative;
}
.dvq-tool-preview-blur::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 100%;
  background: linear-gradient(180deg, transparent, var(--dvq-surface) 95%);
  pointer-events: none;
  border-radius: 12px;
}

/* Big score circle (used in audyt) */
.dvq-tool-score {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0 0 28px;
  padding: 24px;
  border-radius: 14px;
  background: var(--dvq-surface-2);
  border: 1px solid var(--dvq-border);
}
.dvq-tool-score-circle {
  flex-shrink: 0;
  width: 86px; height: 86px;
  border-radius: 50%;
  background: conic-gradient(var(--dvq-accent) 0% var(--score, 70%), var(--dvq-surface) var(--score, 70%) 100%);
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.dvq-tool-score-circle::before {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  background: var(--dvq-surface-2);
}
.dvq-tool-score-circle span {
  position: relative;
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #fff;
}
.dvq-tool-score-text h4 {
  margin: 0 0 4px;
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: 18px;
  color: #fff;
}
.dvq-tool-score-text p {
  margin: 0;
  font-size: 13.5px;
  color: var(--dvq-muted);
}

/* Toast (success / error) */
.dvq-tool-toast {
  margin-top: 16px;
  padding: 14px 18px;
  border-radius: 10px;
  font-size: 14px;
  display: none;
}
.dvq-tool-toast.is-visible { display: block; animation: dvqToolFade .25s ease; }
.dvq-tool-toast.is-success {
  background: rgba(34,197,94,.10);
  border: 1px solid rgba(34,197,94,.32);
  color: #4ade80;
}
.dvq-tool-toast.is-error {
  background: rgba(239,68,68,.10);
  border: 1px solid rgba(239,68,68,.32);
  color: #f87171;
}


/* ===========================================================================
   v22 — ROI calculator: blok porównania z DEVIQO (gdy user wybrał konkurenta)
   =========================================================================== */
.dvq-roi-compare {
  margin: 32px 0 16px;
  padding: 28px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(47,148,255,.10), rgba(108,99,255,.04));
  border: 1px solid rgba(47,148,255,.32);
}
.dvq-roi-compare-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dvq-accent);
  margin-bottom: 10px;
}
.dvq-roi-compare-title {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 6px;
}
.dvq-roi-compare-title span {
  color: #4ade80;
}
.dvq-roi-compare-sub {
  color: var(--dvq-muted);
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0 0 22px;
}
.dvq-roi-compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 22px;
}
@media (max-width: 600px) {
  .dvq-roi-compare-grid { grid-template-columns: 1fr; }
}
.dvq-roi-compare-col {
  background: var(--dvq-surface);
  border: 1px solid var(--dvq-border);
  border-radius: 12px;
  padding: 18px 18px 14px;
}
.dvq-roi-compare-col.is-us {
  border-color: rgba(34,197,94,.5);
  background: linear-gradient(180deg, rgba(34,197,94,.06), var(--dvq-surface) 80%);
}
.dvq-roi-compare-col-label {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--dvq-muted);
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--dvq-border);
}
.dvq-roi-compare-col.is-us .dvq-roi-compare-col-label {
  color: #4ade80;
}
.dvq-roi-compare-pack {
  display: inline-block;
  margin-left: 6px;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(47,148,255,.15);
  color: var(--dvq-accent);
  text-transform: none;
  letter-spacing: 0;
}
.dvq-roi-compare-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  font-size: 13.5px;
  color: var(--dvq-muted);
  border-bottom: 1px dashed rgba(255,255,255,.05);
}
.dvq-roi-compare-row:last-child { border-bottom: none; }
.dvq-roi-compare-row strong {
  color: #fff;
  font-weight: 600;
  font-size: 14px;
}
.dvq-roi-compare-row.dvq-roi-compare-total {
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--dvq-border);
  border-bottom: none;
  font-size: 14.5px;
}
.dvq-roi-compare-row.dvq-roi-compare-total strong {
  font-size: 17px;
  color: #fff;
}
.dvq-roi-compare-col.is-us .dvq-roi-compare-row.dvq-roi-compare-total strong {
  color: #4ade80;
}
.dvq-roi-compare-verdict {
  background: var(--dvq-surface);
  border: 1px solid var(--dvq-border);
  border-radius: 14px;
  padding: 20px 22px 22px;
  text-align: center;
}
.dvq-roi-compare-verdict-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 6px;
}
@media (max-width: 600px) {
  .dvq-roi-compare-verdict-row { grid-template-columns: 1fr; gap: 14px; }
}
.dvq-roi-compare-verdict-num {
  font-family: 'Funnel Display', system-ui, sans-serif;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--dvq-accent);
  line-height: 1;
}
.dvq-roi-compare-verdict-lbl {
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--dvq-muted);
  line-height: 1.4;
}
