/* =========================
   EFFFLO – Design System (MVP)
   Użycie:
   - Elementor: dodaj klasę "effflo-ds" na główną Sekcję strony
   - Button widget: dodaj klasy np. "btn btn-primary"
   - Card: "card"
   - Input / Form: "eff-form" (dla Elementor Forms)
   ========================= */

.effflo-ds{
  --eff-primary: #2563eb;
  --eff-primary-hover: #1d4ed8;
  --eff-border: rgba(15, 23, 42, .12);
  --eff-text: #0f172a;
  --eff-muted: rgba(15, 23, 42, .68);
  --eff-bg: #ffffff;
  --eff-radius: 16px;
  --eff-radius-sm: 12px;
  --eff-shadow: 0 10px 30px rgba(2, 6, 23, .10);
  color: var(--eff-text);
}

/* -------------------------
   BUTTONS
   Elementor Button: klasa trafia na wrapper, więc stylujemy .elementor-button w środku
   ------------------------- */
.effflo-ds .btn .elementor-button,
.effflo-ds a.btn,
.effflo-ds button.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .78rem 1.05rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: transform .08s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
  user-select: none;
}

.effflo-ds .btn-primary .elementor-button,
.effflo-ds a.btn-primary,
.effflo-ds button.btn-primary{
  background: var(--eff-primary);
  color: #fff;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .22);
}

.effflo-ds .btn-primary .elementor-button:hover,
.effflo-ds a.btn-primary:hover,
.effflo-ds button.btn-primary:hover{
  background: var(--eff-primary-hover);
  transform: translateY(-1px);
}

.effflo-ds .btn-secondary .elementor-button,
.effflo-ds a.btn-secondary,
.effflo-ds button.btn-secondary{
  background: #fff;
  color: var(--eff-text);
  border-color: var(--eff-border);
}

.effflo-ds .btn-secondary .elementor-button:hover,
.effflo-ds a.btn-secondary:hover,
.effflo-ds button.btn-secondary:hover{
  box-shadow: 0 8px 18px rgba(2, 6, 23, .08);
  transform: translateY(-1px);
}

/* focus dostępności */
.effflo-ds .btn .elementor-button:focus,
.effflo-ds a.btn:focus,
.effflo-ds button.btn:focus{
  outline: none;
}
.effflo-ds .btn .elementor-button:focus-visible,
.effflo-ds a.btn:focus-visible,
.effflo-ds button.btn:focus-visible{
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .25);
}

/* -------------------------
   CARD
   Elementor: jeśli klasę "card" dasz na widget/sekcję, to realny kontener to zwykle .elementor-widget-container
   ------------------------- */
.effflo-ds .card,
.effflo-ds .card .elementor-widget-container{
  background: var(--eff-bg);
  border: 1px solid var(--eff-border);
  border-radius: var(--eff-radius);
  box-shadow: var(--eff-shadow);
}

.effflo-ds .card .elementor-widget-container{
  padding: 24px;
}

/* -------------------------
   INPUTS
   Elementor Forms: dodaj klasę "eff-form" na widget formularza
   ------------------------- */
.effflo-ds input.input,
.effflo-ds textarea.input,
.effflo-ds select.input{
  width: 100%;
  padding: .72rem .9rem;
  border-radius: var(--eff-radius-sm);
  border: 1px solid var(--eff-border);
  background: #fff;
  color: var(--eff-text);
  outline: none;
  transition: box-shadow .15s ease, border-color .15s ease;
}

.effflo-ds input.input:focus,
.effflo-ds textarea.input:focus,
.effflo-ds select.input:focus{
  border-color: rgba(37, 99, 235, .55);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .18);
}

.effflo-ds .eff-form .elementor-field{
  border-radius: var(--eff-radius-sm) !important;
  border: 1px solid var(--eff-border) !important;
  padding: .72rem .9rem !important;
}

.effflo-ds .eff-form .elementor-field:focus{
  border-color: rgba(37, 99, 235, .55) !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .18) !important;
}

.effflo-ds .eff-form .elementor-message{
  color: var(--eff-muted);
}

/* ==========================================================
   EFFFLO DS – MARKETING HEADER (scoped)
   Wszystko działa tylko wewnątrz .effflo-ds
   ========================================================== */

.effflo-ds,
.effflo-ds * { box-sizing: border-box; }

.effflo-ds{
  --bg:#ffffff;
  --text:#0F172A;
  --muted:#64748b;
  --line:#E2E8F0;

  --primary:#2563EB;     /* trochę bardziej “Astra-like” niż #0067FF */
  --primary-2:#1D4ED8;

  --chip:#F1F5F9;
  --shadow-sm: 0 1px 2px rgba(15,23,42,.06);
  --shadow: 0 10px 30px rgba(2,6,23,.08);

  --radius: 12px;        /* mniej okrągłe */
  --container: 93%;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
}

.effflo-ds a{color:inherit;text-decoration:none}
.effflo-ds a:hover{opacity:.92}

/* Kontener (lokalny, nie Elementor) — ZMNIEJSZONE PADDINGI */
.effflo-ds .container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 12px; /* było 20px */
}
.effflo-ds .row{display:flex;align-items:center;justify-content:space-between;gap:14px}

/* CRITICAL FIX: SVG (antykonflikt z globalnymi stylami) */
.effflo-ds svg{
  width:1em !important;height:1em !important;
  max-width:1em !important;max-height:1em !important;
  display:inline-block !important;flex:0 0 auto !important;
}
.effflo-ds .i16{width:16px !important;height:16px !important}
.effflo-ds .i18{width:18px !important;height:18px !important}

/* ==========================================================
   HEADER — gradient button jak logo-badge
   TYLKO: "Panel EFFFLO" w headerze
   ========================================================== */

.effflo-ds .header-sub .btn.btn-primary{
  background: linear-gradient(
    135deg,
    var(--primary) 0%,
    #9b51e0 100%
  );
  border: none;
  color: #fff;

  /* spójność z cat-btn */
  border-radius: var(--radius);
  padding: 8px 12px;
  font-weight: 700;
  font-size: 13px;

  box-shadow: 0 8px 22px rgba(37,99,235,.28);
}

.effflo-ds .header-sub .btn.btn-primary:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
}



/* HEADER */
.effflo-ds.header{
  background:var(--bg);
  border-bottom:1px solid var(--line);
}

/* Górny pasek — SUBTELNY (zamiast gradientu) */
.effflo-ds .header-strip{
  background: linear-gradient(180deg, #ffffff, #F8FAFC);
  border-bottom:1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.2;
}
.effflo-ds .header-strip .container{padding:8px 12px}
.effflo-ds .strip-links{display:flex;gap:14px;opacity:.95}
.effflo-ds .strip-links a{color:var(--muted);font-weight:500}
.effflo-ds .strip-links a:hover{color:var(--text)}

/* TOP — flex żeby search był wycentrowany */
.effflo-ds .header-top{
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 0;
}

/* Logo */
.effflo-ds .logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.effflo-ds .logo-badge{
  width:42px;height:42px; /* większe */
  border-radius:16px;
  display:grid;place-items:center;
  color:#fff;
  background:linear-gradient(135deg, var(--primary) 0%, #9b51e0 100%);
  box-shadow:0 8px 20px rgba(37,99,235,.22);
  font-weight:900;
}

/* SEARCH — węższy i wycentrowany */
.effflo-ds .search{
  flex:1;
  display:flex;
  justify-content:center;
}
.effflo-ds .searchbox{
  position:relative;
  width:600px;            /* docelowo wąsko */
  max-width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:8px 10px;
  box-shadow:var(--shadow-sm);
}
.effflo-ds .searchbox .icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
}
.effflo-ds .searchbox input[type="search"]{
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
  height:auto !important;
  box-shadow:none !important;
  font-size:13px;
  width:100%;
  color:var(--text);
}

/* ACTIONS */
.effflo-ds .header-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

/* “Astra-like” button base — mniej radius + mniejsza czcionka */
.effflo-ds .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 12px;
  border-radius:var(--radius);        /* mniej okrągłe */
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  font-weight:600;
  font-size:13px;                     /* mniejsza czcionka */
  line-height:1;
  box-shadow:var(--shadow-sm);
  white-space:nowrap;
}
.effflo-ds .btn:hover{
  background:#F8FAFC;
  transform:translateY(-1px);
  transition:.15s ease;
}
.effflo-ds .btn-ghost{background:#fff}

/* Primary */
.effflo-ds .btn-primary{
  background:var(--primary);
  border-color:transparent;
  color:#fff;
  box-shadow:0 8px 22px rgba(37,99,235,.22);
}

/* ==========================================================
   HEADER ACTIONS — przyciski jak .cat-btn (kształt + cień)
   Nadpisanie TYLKO dla prawej strony headera
   ========================================================== */

.effflo-ds .header-actions .btn{
  /* jak .cat-btn */
  padding:8px 12px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow-sm);

  /* czytelniej (bardziej “widoczne” jak cat-btn) */
  font-weight:700;
  font-size:13px;
  color:var(--text);

  /* spójność */
  gap:10px;
}

.effflo-ds .header-actions .btn:hover{
  background:#F8FAFC;
}

/* ikony w headerze trochę spokojniejsze */
.effflo-ds .header-actions .btn svg{
  color:var(--muted);
}

/* jeśli chcesz, żeby tekst był jak w cat-btn (bardziej slate niż czarny),
   odkomentuj tę linię:
*/
/* .effflo-ds .header-actions .btn{ color: #334155; } */


.effflo-ds .btn-primary:hover{background:var(--primary-2)}

/* SUB */
.effflo-ds .header-sub{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 0 14px;
  border-top:1px solid var(--line);
}

.effflo-ds .header-sub .left{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

/* KATEGORIE dropdown */
.effflo-ds .cat-dropdown{position:relative}
.effflo-ds .cat-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:#fff;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
}
.effflo-ds .cat-btn:hover{background:#F8FAFC}

/* ZRÓB “Panel EFFFLO” w kształcie cat-btn, ale z kolorem primary */
.effflo-ds .header-sub .btn.btn-primary{
  border-radius:var(--radius);
  padding:8px 12px;
  font-weight:700;
  font-size:13px;
}

.effflo-ds .cat-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:320px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:10px;
  display:none;
  z-index:9999;
}
.effflo-ds .cat-dropdown:focus-within .cat-menu,
.effflo-ds .cat-dropdown:hover .cat-menu{display:block}
.effflo-ds .cat-menu a{display:grid;gap:2px;padding:10px 12px;border-radius:12px}
.effflo-ds .cat-menu a:hover{background:#F8FAFC}
.effflo-ds .cat-menu b{font-size:14px}
.effflo-ds .cat-menu small{color:var(--muted);font-size:12px}


/* Linki pod spodem — WYGLĄD JAK PRZYCISKI (.btn) */
.effflo-ds .sub-links{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.effflo-ds .sub-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:8px 12px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:#fff;

  font-size:13px;
  font-weight:700;
  line-height:1;

  box-shadow:var(--shadow-sm);
  color:var(--muted);
  white-space:nowrap;
}

.effflo-ds .sub-links a:hover{
  background:#F8FAFC;
  color:var(--text);
  transform:translateY(-1px);
  transition:.15s ease;
}

/* Linki pod spodem */
/*.effflo-ds .sub-links{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-weight:600;
  font-size:13px;
}
.effflo-ds .sub-links a{
  padding:7px 10px;
  border-radius:999px;
  background:var(--chip);
}
.effflo-ds .sub-links a:hover{background:#EAF0FF;color:var(--text)}*/

/* RWD */
@media (max-width: 980px){
  .effflo-ds .header-top{flex-wrap:wrap}
  .effflo-ds .search{width:100%;justify-content:flex-start}
  .effflo-ds .searchbox{width:100%}
  .effflo-ds .header-sub{flex-direction:column;align-items:flex-start}
}

/* ==========================================================
   CAT TILES (Kategorie) – kafelki jak w "Startowa strona wzór"
   ========================================================== */

.effflo-ds.cat-tiles{
  padding: 28px 0;
}

.effflo-ds.cat-tiles .cat-grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 1100px){
  .effflo-ds.cat-tiles .cat-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px){
  .effflo-ds.cat-tiles .cat-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.effflo-ds.cat-tiles a.tile{
  display: block;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-sm);
  padding: 14px 14px 12px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.effflo-ds.cat-tiles a.tile:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: rgba(37, 99, 235, .25);
}

.effflo-ds.cat-tiles .tile-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.effflo-ds.cat-tiles .tile-ico{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #fff;
  box-shadow: 0 10px 24px rgba(2,6,23,.12);
}

.effflo-ds.cat-tiles .tile .arrow{
  color: var(--muted);
  opacity: .9;
}

.effflo-ds.cat-tiles .tile-title{
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--text);
  font-size: 15px;
  line-height: 1.2;
  margin-bottom: 6px;
}

.effflo-ds.cat-tiles .tile-desc{
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

/* Kolory ikon (zgodne z DS – spokojne SaaS) */
.effflo-ds.cat-tiles .ico-emerald{ background: linear-gradient(135deg, #10b981, #059669); }
.effflo-ds.cat-tiles .ico-blue{    background: linear-gradient(135deg, #2563eb, #1d4ed8); }
.effflo-ds.cat-tiles .ico-violet{  background: linear-gradient(135deg, #7c3aed, #5b21b6); }
.effflo-ds.cat-tiles .ico-cyan{    background: linear-gradient(135deg, #06b6d4, #0891b2); }
.effflo-ds.cat-tiles .ico-amber{   background: linear-gradient(135deg, #f59e0b, #d97706); }
.effflo-ds.cat-tiles .ico-rose{    background: linear-gradient(135deg, #f43f5e, #e11d48); }

/* CAT TILES – działa też, gdy siatkę robi Elementor (bez wrappera .cat-tiles) */
.effflo-ds a.tile{
  display:block;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow-sm);
  padding:14px 14px 12px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.effflo-ds a.tile:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: rgba(37, 99, 235, .25);
}
.effflo-ds .tile-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.effflo-ds .tile-ico{
  width:40px;height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#fff;
  box-shadow: 0 10px 24px rgba(2,6,23,.12);
}
.effflo-ds .tile .arrow{ color: var(--muted); opacity:.9; }
.effflo-ds .tile-title{ font-weight:800; letter-spacing:-.01em; color:var(--text); font-size:15px; line-height:1.2; margin-bottom:6px; }
.effflo-ds .tile-desc{ color:var(--muted); font-size:13px; line-height:1.35; }

/* kolory */
.effflo-ds .ico-emerald{ background: linear-gradient(135deg, #10b981, #059669); }
.effflo-ds .ico-blue{    background: linear-gradient(135deg, #2563eb, #1d4ed8); }
.effflo-ds .ico-violet{  background: linear-gradient(135deg, #7c3aed, #5b21b6); }
.effflo-ds .ico-cyan{    background: linear-gradient(135deg, #06b6d4, #0891b2); }
.effflo-ds .ico-amber{   background: linear-gradient(135deg, #f59e0b, #d97706); }
.effflo-ds .ico-rose{    background: linear-gradient(135deg, #f43f5e, #e11d48); }

/* KAFELKI – ikona: jasne tło + ciemniejszy stroke (jak we wzorze) */
.effflo-ds.cat-tiles .tile-ico{
  background: var(--ico-bg, rgba(37,99,235,.12));
  color: var(--ico-fg, #1d4ed8); /* SVG stroke = currentColor */
  box-shadow: none;             /* jak chcesz bardziej "soft" */
}

/* Kolory (tło półprzezroczyste + ciemniejsza ikonka) */
.effflo-ds.cat-tiles .ico-emerald{ --ico-bg: rgba(16,185,129,.14); --ico-fg:#047857; }
.effflo-ds.cat-tiles .ico-blue{    --ico-bg: rgba(37,99,235,.14);  --ico-fg:#1d4ed8; }
.effflo-ds.cat-tiles .ico-violet{  --ico-bg: rgba(124,58,237,.14); --ico-fg:#6d28d9; }
.effflo-ds.cat-tiles .ico-cyan{    --ico-bg: rgba(6,182,212,.14);  --ico-fg:#0e7490; }
.effflo-ds.cat-tiles .ico-amber{   --ico-bg: rgba(245,158,11,.16); --ico-fg:#b45309; }
.effflo-ds.cat-tiles .ico-rose{    --ico-bg: rgba(244,63,94,.14);  --ico-fg:#be123c; }

/* ==========================================================
   HERO (sekcja pod kaflami) – copy + podgląd panelu
   ========================================================== */

.effflo-ds .badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow: var(--shadow-sm);
  font-weight:700;
  font-size:13px;
  color: var(--text);
}

.effflo-ds .hero-copy h1{
  margin: 14px 0 10px;
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.02;
  letter-spacing: -0.03em;
}

.effflo-ds .subtitle{
  margin: 0;
  max-width: 56ch;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

/* prawa karta */
.effflo-ds .hero-card{ padding: 22px; }

.effflo-ds .hero-card-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}

.effflo-ds .p-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color: var(--muted);
  font-weight:700;
  font-size:12px;
}

.effflo-ds .p-desc{
  margin: 8px 0 14px;
  color: var(--muted);
  font-size: 13px;
}

.effflo-ds .panel-preview{
  display:grid;
  gap: 12px;
}

.effflo-ds .kpi{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 12px;
  padding: 14px 14px;
  border:1px solid var(--line);
  border-radius: 14px;
  background:#fff;
}

.effflo-ds .kpi-left b{
  display:block;
  font-size: 14px;
}

.effflo-ds .kpi-sub{
  margin-top: 2px;
  font-size: 12px;
  color: var(--muted);
}

.effflo-ds .kpi-val{
  font-weight: 900;
  letter-spacing: -0.01em;
}

/* ==========================================================
   PRODUCTS (Wybrane dla Ciebie) – grid + karty produktów (placeholder)
   Wklej na KONIEC design-system.css
   ========================================================== */

/* nagłówek sekcji */
.effflo-ds .section-head{
  text-align: center;
  margin: 14px 0 18px;
}
.effflo-ds .section-head h2{
  margin: 0 0 6px;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: -0.02em;
}
.effflo-ds .section-head p{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

/* helpery */
.effflo-ds .center{ display:flex; justify-content:center; }
.effflo-ds .mt-16{ margin-top: 16px; }

/* grid */
.effflo-ds .products-grid{
  display: grid;
  gap: 16px;
}
.effflo-ds .grid-6{
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (max-width: 1200px){
  .effflo-ds .grid-6{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px){
  .effflo-ds .grid-6{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* karta */
.effflo-ds .p-card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.effflo-ds .p-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: rgba(37, 99, 235, .25);
}

/* obrazek/placeholder */
.effflo-ds .p-img{
  margin: 14px 14px 0;
  height: 88px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(37,99,235,.06), rgba(2,6,23,.02));
  display: grid;
  place-items: center;
  color: rgba(15, 23, 42, .45);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .06em;
}

/* body */
.effflo-ds .p-body{
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
}

/* tytuł + badge */
.effflo-ds .p-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.effflo-ds .p-title{
  margin: 0;
  font-size: 13px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  font-weight: 800;
  color: var(--text);
}
.effflo-ds .p-badge{
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

/* opis */
.effflo-ds .p-desc{
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  min-height: 34px; /* wyrównuje wysokość kart */
}

/* cena + gwiazdki */
.effflo-ds .p-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.effflo-ds .price{
  font-weight: 900;
  font-size: 12px;
  letter-spacing: -0.01em;
  color: var(--text);
}
.effflo-ds .stars{
  font-size: 12px;
  letter-spacing: 1px;
  color: rgba(245, 158, 11, .95); /* bursztynowe gwiazdki */
  user-select: none;
}

/* akcje */
.effflo-ds .p-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: auto;
}

/* dopasowanie przycisków DS do małych kart */
.effflo-ds .p-actions .btn,
.effflo-ds .p-actions a.btn,
.effflo-ds .p-actions button.btn{
  padding: .55rem .7rem;
  border-radius: 12px;
  font-size: 12px;
  line-height: 1;
  min-height: 34px;
}

/* jeśli Twój DS ma mocno “pillowate” buttony, to tu je prostujemy w kartach */
.effflo-ds .p-actions .btn .elementor-button{
  border-radius: 12px !important;
}

/* (opcjonalnie) ogranicz rozszerzanie się SVG w kartach */
.effflo-ds .p-card svg{
  width: 1em !important;
  height: 1em !important;
  max-width: 1em !important;
  max-height: 1em !important;
}

/* CTA pod listą produktów – spójny z systemem (nie pill) */
.effflo-ds .center .btn{
  border-radius: 12px !important;
  padding: .7rem 1.1rem;
}

/* ==========================================================
   HOW IT WORKS – "Jak to działa" (grid-4 + step cards)
   ========================================================== */

.effflo-ds .grid-4{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

@media (max-width: 1100px){
  .effflo-ds .grid-4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px){
  .effflo-ds .grid-4{ grid-template-columns: 1fr; }
}

/* step cards */
.effflo-ds .card.step{
  padding: 18px;
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
}

.effflo-ds .card.step h3{
  margin: 10px 0 6px;
  font-size: 15px;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.effflo-ds .card.step p{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

/* numer kroku */
.effflo-ds .step-no{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-weight: 900;
  color: var(--primary);
  background: rgba(37,99,235,.10);
  border: 1px solid rgba(37,99,235,.18);
}

/* stopka sekcji "Efekt" */
.effflo-ds .section-foot{
  text-align: center;
  margin-top: 22px;
}
.effflo-ds .section-foot p{
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}
.effflo-ds .section-foot b{
  color: var(--text);
}


/* ==========================================================
   BRANDS – "Producenci"
   ========================================================== */
/*
.effflo-ds .brands-grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 1100px){
  .effflo-ds .brands-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px){
  .effflo-ds .brands-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.effflo-ds .brand{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-sm);
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.effflo-ds .brand:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: rgba(37, 99, 235, .25);
}

.effflo-ds .brand-logo{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--primary);
  background: rgba(37,99,235,.10);
  border: 1px solid rgba(37,99,235,.18);
  flex: 0 0 auto;
}

.effflo-ds .brand-name{
  font-weight: 900;
  letter-spacing: -0.01em;
  color: var(--text);
  font-size: 14px;
  line-height: 1.2;
}

*/

/* ==========================================================
   BRANDS – ticker (karuzela bez JS)
   ========================================================== */

.effflo-ds .brands-ticker{
  position: relative;
  overflow: hidden;
  padding: 6px 0;
}

/* delikatne maskowanie krawędzi (premium) */
.effflo-ds .brands-ticker::before,
.effflo-ds .brands-ticker::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width: 60px;
  pointer-events:none;
  z-index: 2;
}
.effflo-ds .brands-ticker::before{
  left:0;
  background: linear-gradient(90deg, rgba(248,250,252,1), rgba(248,250,252,0));
}
.effflo-ds .brands-ticker::after{
  right:0;
  background: linear-gradient(270deg, rgba(248,250,252,1), rgba(248,250,252,0));
}

.effflo-ds .brands-track{
  display: flex;
  gap: 14px;
  width: max-content;
  animation: effflo-marquee 26s linear infinite;
}

/* zatrzymaj animację na hover */
.effflo-ds .brands-ticker:hover .brands-track{
  animation-play-state: paused;
}

/* jedna marka w linii (nie rozciągaj) */
.effflo-ds .brands-ticker .brand{
  flex: 0 0 auto;
  min-width: 220px; /* dopasuj: 200–260 */
}

/* preferencje dostępności */
@media (prefers-reduced-motion: reduce){
  .effflo-ds .brands-track{ animation: none; }
}

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


/* Ticker producentów – ukryj nazwę, zostaw tylko logo */
/*
.effflo-ds .brands-ticker .brand-name{
  display: none;
}
*/

/* Ticker producentów – ukryj inicjał, zostaw nazwę */

.effflo-ds .brands-ticker .brand-logo{
  display: none;
}

/* ==========================================================
   BENEFITS – "Korzyści, które czujesz od razu" (grid-3)
   ========================================================== */

.effflo-ds .grid-3{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

@media (max-width: 1100px){
  .effflo-ds .grid-3{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px){
  .effflo-ds .grid-3{ grid-template-columns: 1fr; }
}

/* kafel korzyści (lekko “premium”, jak na screenie) */
.effflo-ds .card.benefit{
  padding: 18px;
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
}

.effflo-ds .card.benefit b{
  display:block;
  font-size: 16px;
  letter-spacing: -0.01em;
  margin-bottom: 6px;
}

.effflo-ds .card.benefit .p-desc{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

/* ==========================================================
   FOOTER (Stopka) – EFFFLO DS
   ========================================================== */

.effflo-ds.footer{
  margin-top: 34px;
  padding: 34px 0 20px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, #ffffff, #F8FAFC);
}

.effflo-ds.footer .footer-grid{
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.4fr;
  gap: 18px;
  align-items: start;
}

@media (max-width: 1100px){
  .effflo-ds.footer .footer-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px){
  .effflo-ds.footer .footer-grid{
    grid-template-columns: 1fr;
  }
}

/* tytuły kolumn */
.effflo-ds.footer .footer-title{
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -.01em;
  margin: 6px 0 10px;
  color: var(--text);
}

/* linki */
.effflo-ds.footer .footer-links{
  display: grid;
  gap: 8px;
}
.effflo-ds.footer .footer-links a{
  color: var(--muted);
  text-decoration: none;
  font-size: 13px;
  line-height: 1.35;
}
.effflo-ds.footer .footer-links a:hover{
  color: var(--text);
  text-decoration: underline;
}

/* kolumna brand */
.effflo-ds.footer .footer-brand .logo{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--text);
  font-weight: 900;
  letter-spacing: -.02em;
  margin-bottom: 12px;
}

/* kontakt */
.effflo-ds.footer .footer-contact{
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.effflo-ds.footer .footer-contact a{
  color: var(--text);
  text-decoration: none;
}
.effflo-ds.footer .footer-contact a:hover{
  text-decoration: underline;
}

/* newsletter */
.effflo-ds.footer .footer-form{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 10px;
}

@media (max-width: 680px){
  .effflo-ds.footer .footer-form{
    grid-template-columns: 1fr;
  }
}

.effflo-ds.footer .footer-input{
  width: 100%;
  height: 40px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0 12px;
  font-size: 13px;
  outline: none;
}
.effflo-ds.footer .footer-input:focus{
  border-color: rgba(37,99,235,.35);
  box-shadow: 0 0 0 4px rgba(37,99,235,.10);
}

/* legal */
.effflo-ds.footer .footer-legal{
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.effflo-ds.footer .footer-legal a{
  color: var(--muted);
  text-decoration: none;
}
.effflo-ds.footer .footer-legal a:hover{
  color: var(--text);
  text-decoration: underline;
}
.effflo-ds.footer .footer-legal .dot{
  opacity: .6;
}

/* Footer – przycisk newslettera jak pozostałe przyciski systemowe */
.effflo-ds.footer .btn{
  border-radius: 12px !important;
  padding: .7rem 1.1rem;
  font-size: 13px;
  font-weight: 700;
}

/* ==========================================================
   EFFFLO DS – helpery dla stron shortcode (subnopay / subskrypcja-panel)
   ========================================================== */

.effflo-ds .effflo-page-wrap{
  max-width: 760px;
  margin: 24px auto;
}

.effflo-ds .effflo-page-title{
  margin: 0 0 10px;
  font-size: 24px;
  letter-spacing: -0.02em;
}

.effflo-ds .effflo-page-text{
  margin: 0;
  color: var(--text);
  line-height: 1.55;
}

.effflo-ds .effflo-page-note{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.effflo-ds .effflo-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

