/* Uzupełnienia tego, czego nie ma w ustawieniach Elementora. Kolory z tokenów Kita. */
:root { --fd-zielen: var(--e-global-color-primary, #33A749); --fd-ciemny: var(--e-global-color-secondary, #242A23); }
.fd-muted { color: var(--e-global-color-fdmuted, #8B8B8B); }
/* Hero H1 celowo większy niż globalny H1 (jak w szablonie: 70 px); Elementor nadaje rozmiar per element, stąd !important. */
body .fd-hero-h1 .elementor-heading-title { font-size: clamp(2.4rem, 5vw, 4.4rem) !important; line-height: 1.12 !important; }
.fd-lead p { font-size: 1.15rem; line-height: 1.6; max-width: 640px; }
.fd-szklo { background: rgba(36, 42, 35, .45); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.15); }
.fd-karta { background: #fff; box-shadow: 0 1px 0 rgba(16,25,23,.06), 0 10px 30px rgba(16,25,23,.06); }
.fd-karta h3 a { color: inherit; } .fd-karta h3 a:hover { color: var(--fd-zielen); }
.fd-nr { font-weight: 700; font-size: 2rem; color: var(--fd-zielen); }
body .fd-btn .elementor-button { border-radius: 999px; }
body .fd-btn--obrys .elementor-button { background: transparent; color: var(--fd-zielen); box-shadow: inset 0 0 0 2px var(--fd-zielen); }
body .fd-btn--jasny .elementor-button { background: #fff; color: var(--fd-ciemny); }
body .fd-btn .elementor-button-icon { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.25); }
body .fd-btn--jasny .elementor-button-icon, body .fd-btn--obrys .elementor-button-icon { background: rgba(51,167,73,.15); }
.fd-okruszki { color: rgba(255,255,255,.8); font-size: .9rem; margin-bottom: 12px; }
.fd-okruszki a { color: #fff; } .fd-okruszki span { opacity: .7; }
.fd-faq details { border-bottom: 1px solid #e3e7e1; padding: 18px 0; }
.fd-faq summary { cursor: pointer; font-weight: 600; font-size: 1.1rem; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.fd-faq summary::-webkit-details-marker { display: none; }
.fd-faq summary::after { content: "+"; color: var(--fd-zielen); font-size: 1.4rem; line-height: 1; }
.fd-faq details[open] summary::after { content: "–"; }
.fd-faq details > div { padding-top: 10px; }
.fd-logotypy { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; gap: 24px; list-style: none; margin: 0; padding: 0; color: rgba(255,255,255,.75); font-weight: 600; font-size: 1.15rem; }
.fd-logotypy img { max-height: 40px; width: auto; background: #fff; border-radius: 8px; padding: 4px 10px; }
.fd-cena { font-size: 1.2rem; } .fd-cena strong { color: var(--fd-zielen); }
.fd-zestaw { font-size: .9rem; color: #5b635b; }
.fd-kotwica { display: block; position: relative; top: -110px; visibility: hidden; }
.fd-do-uzupelnienia { background: #fff3a6; outline: 2px dashed #c9a400; }
.fd-zadzwon { display: none; }
@media (max-width: 767px) {
  html body a.fd-zadzwon, html body a.fd-zadzwon:hover { color: #fff; }
  .fd-zadzwon { display: flex; position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 999; justify-content: center; gap: 10px;
    padding: 14px; border-radius: 999px; background: var(--fd-zielen); color: #fff; font-weight: 600; box-shadow: 0 8px 24px rgba(0,0,0,.25); text-decoration: none; }
  body { padding-bottom: 80px; }
}
html, body { overflow-x: clip; }

/* ---------- Header (pigułka jak w Landscape) ---------- */
.fd-header .elementor-nav-menu--main .elementor-item { letter-spacing: .02em; }
.fd-header .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #2A7F3A; }
.fd-header .elementor-nav-menu--dropdown { box-shadow: 0 16px 40px rgba(16,25,23,.14); overflow: hidden; }
.fd-header .elementor-nav-menu--main .sub-menu { min-width: 280px !important; padding: 8px 0; }
@media (max-width: 1024px) {
  .fd-header .elementor-nav-menu--dropdown.elementor-nav-menu__container { margin-top: 14px !important; border-radius: 18px; }
}

/* ---------- Stopka (jasna, jak w Landscape) ---------- */
.fd-stopka { color: #3d4a44; font-size: 15px; }
body .fd-stopka a { color: inherit; text-decoration: none; } body .fd-stopka a:hover { color: #2A7F3A; }
.fd-stopka-gora { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding-bottom: 28px; border-bottom: 1px solid #E6EBE4; }
.fd-stopka-logo img { display: block; width: 160px; height: auto; }
.fd-stopka-menu { display: flex; flex-wrap: wrap; gap: 8px 28px; }
body .fd-stopka-menu a { font-weight: 600; font-size: 12.5px; text-transform: uppercase; letter-spacing: .02em; color: #101917; }
.fd-stopka-kontakty { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 44px; padding: 32px 0; }
.fd-kontakt { display: flex; align-items: center; gap: 14px; }
.fd-kontakt strong { display: block; color: #101917; font-size: 14px; }
.fd-kontakt span { font-size: 14px; }
.fd-ikona { display: inline-grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 50%; background: #101917; color: #fff; }
.fd-social { margin-left: auto; }
.fd-social .fd-ikona { transition: background .2s; } .fd-social:hover .fd-ikona { background: #33A749; }
.fd-stopka-uslugi { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 20px 0; border-top: 1px solid #E6EBE4; font-size: 14px; }
.fd-stopka-uslugi strong { color: #101917; }
.fd-stopka-dol { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-top: 20px; border-top: 1px solid #E6EBE4; font-size: 13.5px; color: #6b746f; }
.fd-stopka-dol a { text-decoration: underline; }
@media (max-width: 767px) {
  .fd-stopka-gora { flex-direction: column; align-items: flex-start; }
  .fd-stopka-menu { gap: 10px 20px; }
  .fd-stopka-kontakty { flex-direction: column; align-items: flex-start; gap: 18px; }
  .fd-social { margin-left: 0; }
}

/* ---------- Sekcje w układzie Landscape ---------- */
.fd-znaczek { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: 15px;
  color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.fd-znaczek--hero { background: transparent; border: 0; padding-left: 0; font-size: 16px; }
html body a.fd-znaczek--link { color: #fff; text-decoration: none; font-size: 17px; padding: 14px 24px; }
a.fd-znaczek--link:hover { background: rgba(255,255,255,.18); }
.fd-hero-foto { box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.fd-podpis { padding: 16px 18px; border-radius: 14px; }
.fd-podpis p { margin: 0; font-weight: 500; font-size: 15px; line-height: 1.5; }
body .fd-naglowek-srodek .elementor-heading-title { max-width: 780px; margin: 0 auto; }
.fd-sekcja-liczby { border-top: 1px solid #E6EBE4; border-bottom: 1px solid #E6EBE4; }
.fd-liczba { text-align: center; font-weight: 700; font-size: clamp(2.6rem, 4.6vw, 4.2rem); line-height: 1; color: #101917; letter-spacing: -.01em; }
.fd-liczba-opis p { margin-top: 8px; color: #3d4a44; }
.fd-mini-ikona { display: inline-grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: #F1F3F0; color: #101917; font-size: 20px; }
.fd-mini-wartosc { font-weight: 700; font-size: 26px; color: #101917; }
.fd-ciemna .fd-mini-ikona { background: rgba(255,255,255,.1); color: #fff; }
.fd-lista-jasna .elementor-icon-list-text { font-weight: 600; }
.fd-karta-uslugi-link { display: flex; justify-content: space-between; align-items: center; gap: 12px; text-decoration: none; }
.fd-karta-uslugi-link h3 { margin: 0; font-size: 19px; font-weight: 600; color: #101917; line-height: 1.3; }
.fd-strzalka { display: inline-grid; place-items: center; width: 30px; height: 30px; flex: none; border-radius: 50%; background: #101917; color: #fff; font-size: 13px; transition: background .2s, transform .2s; }
.fd-karta-uslugi:hover .fd-strzalka { background: var(--fd-zielen); transform: rotate(-45deg); }
.fd-karta-uslugi-foto img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px; }
.fd-karta-uslugi { transition: box-shadow .2s; } .fd-karta-uslugi:hover { box-shadow: 0 14px 40px rgba(16,25,23,.08); }
.fd-formularz .elementor-field-textual { border-radius: 999px !important; padding: 12px 20px !important; border-color: #dfe5dc !important; }
.fd-formularz textarea.elementor-field-textual { border-radius: 18px !important; }
.fd-formularz .elementor-button { border-radius: 999px !important; }
@media (max-width: 767px) { .fd-schodek { min-width: 0; } }
mark.fd-do-uzupelnienia { background: #fff3a6 !important; color: #5c4a00 !important; outline: 2px dashed #c9a400; border-radius: 4px; padding: 0 4px; }
.fd-liczba mark.fd-do-uzupelnienia { font-size: 15px; font-weight: 600; line-height: 1.4; letter-spacing: 0; display: inline-block; }
body .fd-lead p { font-size: 18px; line-height: 1.65; }
/* Ikony SVG (Elementor e_font_icon_svg) w widgetach HTML */
.fd-znaczek svg, .fd-mini-ikona svg, .fd-strzalka svg { width: 1em; height: 1em; fill: currentColor; flex: none; }
.fd-znaczek svg { color: var(--fd-zielen); }
.fd-znaczek--link svg { color: #fff; }
.fd-mini-ikona svg { width: 22px; height: 22px; }
.fd-strzalka svg { width: 13px; height: 13px; }

/* ---------- Podstrony (układ Services / About z Landscape) ---------- */
.fd-karty-pod-tytulem { position: relative; }
.fd-karta-tytulu { box-shadow: 0 18px 40px rgba(16,25,23,.12); overflow: hidden; }
body .fd-karta-tytulu-h .elementor-heading-title { font-size: 26px !important; }
body .fd-haslo .elementor-heading-title { font-size: clamp(1.6rem, 2.6vw, 2.3rem) !important; line-height: 1.35 !important; max-width: 980px; }
body .fd-boks-h .elementor-heading-title { font-size: clamp(1.5rem, 2.3vw, 2rem) !important; line-height: 1.25 !important; }
.fd-boks-liczba { font-weight: 700; font-size: clamp(2rem, 3.4vw, 2.9rem); line-height: 1.1; color: #fff; }
.fd-boks-zielony .elementor-widget-text-editor p { margin-bottom: 0; }
.fd-boks-zielony mark.fd-do-uzupelnienia { font-size: 14px; }
.fd-pasek-tytulu .fd-okruszki { margin-bottom: 18px; }
body .elementor-widget-icon-list .elementor-icon-list-text { font-size: 16px; }
body .elementor-widget-icon-list .elementor-icon-list-item { padding-bottom: 6px; }
.fd-pasek-tytulu .fd-okruszki, .fd-pasek-tytulu .fd-okruszki a { color: #fff; }

/* ---------- Karty usług (zdjęcie na całą kartę) ---------- */
.fd-ku-siatka { display: grid; gap: 24px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fd-ku-siatka--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fd-ku { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 400px; padding: 20px;
  border-radius: 24px; overflow: hidden; isolation: isolate; text-decoration: none; color: #fff; background: #242A23; }
.fd-ku-foto { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; z-index: -2; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.fd-ku::after { content: ""; position: absolute; inset: 0; z-index: -1; transition: opacity .3s;
  background: linear-gradient(180deg, rgba(16,25,23,.15) 0%, rgba(16,25,23,.05) 35%, rgba(16,25,23,.88) 100%); }
.fd-ku:hover .fd-ku-foto { transform: scale(1.07); }
.fd-ku-gora { display: flex; justify-content: space-between; align-items: center; }
.fd-ku-nr { padding: 6px 14px; border-radius: 999px; font-weight: 600; font-size: 14px; letter-spacing: .04em;
  background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.25); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.fd-ku-ikona { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--fd-zielen); color: #fff; }
.fd-ku-ikona svg { width: 20px; height: 20px; fill: currentColor; }
.fd-ku-tresc { display: flex; flex-direction: column; gap: 8px; }
html body .fd-ku h3 { margin: 0; color: #fff; font-size: 22px; font-weight: 600; line-height: 1.25; }
.fd-ku-opis { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.85); }
.fd-ku-wiecej { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 15px; color: #fff;
  max-height: 0; opacity: 0; overflow: hidden; transition: max-height .35s, opacity .35s, margin .35s; }
.fd-ku-wiecej svg { width: 13px; height: 13px; fill: currentColor; }
.fd-ku:hover .fd-ku-wiecej, .fd-ku:focus-visible .fd-ku-wiecej { max-height: 30px; opacity: 1; margin-top: 4px; }
.fd-ku:focus-visible { outline: 3px solid var(--fd-zielen); outline-offset: 3px; }
.fd-ku--cta { background: var(--fd-zielen); justify-content: flex-start; gap: 14px; color: #fff; }
.fd-ku--cta::after { display: none; }
.fd-ku--cta .fd-ku-ikona { background: rgba(255,255,255,.18); }
.fd-ku--cta p { margin: 0; color: rgba(255,255,255,.9); font-size: 15px; line-height: 1.55; flex: 1; }
html body .fd-ku--cta a.fd-ku-tel { color: #fff; font-weight: 700; font-size: 26px; text-decoration: none; }
html body .fd-ku--cta a.fd-ku-link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 20px; border-radius: 999px;
  background: #fff; color: #101917; font-weight: 600; text-decoration: none; }
.fd-ku-link svg { width: 13px; height: 13px; fill: currentColor; }
@media (max-width: 1024px) { .fd-ku-siatka, .fd-ku-siatka--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .fd-ku-siatka, .fd-ku-siatka--3 { grid-template-columns: 1fr; }
  .fd-ku { min-height: 320px; }
  .fd-ku-wiecej { max-height: 30px; opacity: 1; }
}
@media (hover: none) { .fd-ku-wiecej { max-height: 30px; opacity: 1; } }
html body a.fd-ku, html body a.fd-ku:hover { color: #fff; }

/* ---------- Sprzedaż: karty modeli i cennik akcesoriów ---------- */
.fd-produkty { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fd-produkt { display: flex; flex-direction: column; border-radius: 24px; overflow: hidden; background: #F6F8F5; scroll-margin-top: 120px; transition: box-shadow .25s, transform .25s; }
.fd-produkt:hover { box-shadow: 0 18px 44px rgba(16,25,23,.10); transform: translateY(-3px); }
.fd-produkt-zdjecie { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.fd-produkt-foto { width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.fd-produkt:hover .fd-produkt-foto { transform: scale(1.05); }
.fd-produkt-etykieta { position: absolute; top: 16px; left: 16px; padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #fff;
  background: rgba(16,25,23,.45); border: 1px solid rgba(255,255,255,.25); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.fd-produkt-tresc { display: flex; flex-direction: column; gap: 10px; padding: 24px; flex: 1; }
html body .fd-produkt h3 { margin: 0; font-size: 24px; font-weight: 700; color: #101917; }
.fd-produkt-opis { margin: 0; color: #3d4a44; }
.fd-produkt-zestaw { margin: 0; font-size: 14px; color: #5b635b; }
.fd-produkt-dol { margin-top: auto; padding-top: 16px; border-top: 1px solid #E3E8E1; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.fd-produkt-cena { margin: 0; font-weight: 700; font-size: 22px; color: #2A7F3A; }
.fd-produkt-cena span { font-weight: 500; font-size: 14px; color: #5b635b; }
html body a.fd-produkt-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px; background: #101917; color: #fff; font-weight: 600; font-size: 14px; text-decoration: none; }
html body a.fd-produkt-btn:hover { background: var(--fd-zielen); }
.fd-produkt-btn svg { width: 12px; height: 12px; fill: currentColor; }
.fd-cennik { list-style: none; margin: 0; padding: 0; background: #fff; border-radius: 24px; overflow: hidden; }
.fd-cennik li { display: flex; justify-content: space-between; gap: 16px; padding: 16px 24px; border-bottom: 1px solid #EDF0EB; }
.fd-cennik li:last-child { border-bottom: 0; }
.fd-cennik strong { white-space: nowrap; color: #2A7F3A; }
.fd-cennik-pozycja::before { content: "\2713"; color: #2A7F3A; font-weight: 700; margin-right: 10px; }
@media (max-width: 1024px) { .fd-produkty { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fd-produkty { grid-template-columns: 1fr; } .fd-cennik li { padding: 14px 18px; } }
.fd-produkt--cta { background: var(--fd-zielen); color: #fff; padding: 28px; gap: 14px; justify-content: flex-start; }
.fd-produkt--cta:hover { transform: none; }
.fd-produkt--cta .fd-ku-ikona { background: rgba(255,255,255,.18); }
html body .fd-produkt--cta h3 { color: #fff; font-size: 24px; line-height: 1.25; }
.fd-produkt--cta p { margin: 0; color: rgba(255,255,255,.9); line-height: 1.55; flex: 1; }
html body .fd-produkt--cta a.fd-ku-tel { color: #fff; font-weight: 700; font-size: 26px; text-decoration: none; }
html body .fd-produkt--cta a.fd-ku-link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 20px; border-radius: 999px; background: #fff; color: #101917; font-weight: 600; text-decoration: none; }

/* ---------- Treść w wąskiej kolumnie i FAQ zbiorcze ---------- */
.fd-tresc { max-width: 760px; margin: 0 auto; font-size: 17px; line-height: 1.75; color: #2b3530; }
.fd-tresc h2 { font-size: 28px; margin: 40px 0 12px; color: #101917; }
.fd-tresc h3 { font-size: 21px; margin: 28px 0 8px; color: #101917; }
.fd-tresc ul { padding-left: 22px; }
.fd-faq-grupy { display: grid; gap: 56px; }
.fd-faq-grupa-gora { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; border-bottom: 2px solid #101917; padding-bottom: 12px; }
.fd-faq-grupa-gora h2 { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2rem); color: #101917; }
html body .fd-faq-grupa-gora a { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: #2A7F3A; text-decoration: none; }
.fd-faq-grupa-gora svg { width: 12px; height: 12px; fill: currentColor; }
/* Nagłówki w widgetach HTML: ten sam font co nagłówki Elementora */
.fd-tresc h2, .fd-tresc h3, .fd-faq-grupa-gora h2, .fd-ku h3, .fd-produkt h3, .fd-faq summary {
  font-family: var(--e-global-typography-primary-font-family, "Rubik"), sans-serif; }
.fd-tresc h2, .fd-faq-grupa-gora h2 { font-weight: 700; }
/* Tytuły kart w hero i pasku tytułu: wygląd śródtytułu, bez znacznika nagłówka (kolejność H1 → H2) */
body .fd-karta-tytul .elementor-heading-title { font-size: 22px !important; font-weight: 600; line-height: 1.3; margin: 0; }
body .fd-karta-tytulu-h .elementor-heading-title { font-size: 26px !important; }
.fd-produkty-uwaga { margin: 20px 0 0; font-size: 14px; color: #5b635b; }

/* ---------- Tabela porównawcza ---------- */
.fd-tabela-przewijana { overflow-x: auto; border-radius: 20px; border: 1px solid #E3E8E1; }
.fd-tabela { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 16px; background: #fff; }
.fd-tabela th, .fd-tabela td { padding: 16px 20px; text-align: left; vertical-align: top; border-bottom: 1px solid #EDF0EB; }
.fd-tabela thead th { background: #242A23; color: #fff; font-weight: 600; }
.fd-tabela thead th:nth-child(2) { background: var(--fd-zielen); }
.fd-tabela tbody th { font-weight: 600; color: #101917; width: 26%; }
.fd-tabela tbody tr:last-child th, .fd-tabela tbody tr:last-child td { border-bottom: 0; }
.fd-tabela td:nth-child(2) { background: #F3F9F2; }
.fd-ukryte { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Przyciski jak w Landscape: tekst i strzałka wyśrodkowane, strzałka w pełnym kółku ---------- */
html body .fd-btn .elementor-button { display: inline-flex; align-items: center; padding: 8px 8px 8px 24px; min-height: 48px; line-height: 1; }
html body .fd-btn .elementor-button-content-wrapper { align-items: center; gap: 14px; }
html body .fd-btn .elementor-button-text { line-height: 1.2; padding: 0; }
html body .fd-btn .elementor-button-icon { width: 32px; height: 32px; margin: 0; flex: none; border-radius: 50%; background: #fff; color: var(--fd-zielen); }
html body .fd-btn .elementor-button-icon svg { width: 14px; height: 14px; fill: currentColor; }
html body .fd-btn .elementor-button:hover .elementor-button-icon { transform: translateX(2px); transition: transform .2s; }
/* jasny: biały przycisk, zielone kółko z białą strzałką */
html body .fd-btn--jasny .elementor-button-icon { background: var(--fd-zielen); color: #fff; }
/* obrys: zielona ramka, zielone kółko z białą strzałką */
html body .fd-btn--obrys .elementor-button-icon { background: var(--fd-zielen); color: #fff; }
/* header: niższy przycisk (42 px), jak „Get Started” w szablonie */
html body .fd-header .fd-btn .elementor-button { min-height: 44px; padding: 6px 6px 6px 22px; font-size: 15px; }
html body .fd-header .fd-btn .elementor-button-icon { width: 30px; height: 30px; }
@media (max-width: 767px) { html body .fd-btn .elementor-button { min-height: 46px; padding: 7px 7px 7px 20px; } }

/* ---------- Poradnik (wpis jak w Landscape) ---------- */
.fd-okruszki--srodek { text-align: center; }
body .fd-okruszki--srodek, body .fd-okruszki--srodek a { color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.5); }
body .fd-wpis-h1 .elementor-heading-title { font-size: clamp(2rem, 4.4vw, 3.6rem) !important; line-height: 1.15 !important; max-width: 900px; margin: 0 auto; }
.fd-wpis-meta { margin: 0; text-align: center; color: rgba(255,255,255,.85); font-size: 15px; }
.fd-wpis-meta span { opacity: .6; margin: 0 6px; }
.fd-tresc h2 { scroll-margin-top: 110px; }
.fd-tresc table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 16px; }
.fd-tresc th, .fd-tresc td { padding: 12px 14px; border-bottom: 1px solid #E3E8E1; text-align: left; vertical-align: top; }
.fd-tresc thead th { background: #242A23; color: #fff; }
.fd-tresc .fd-ramka { background: #F3F9F2; border-left: 4px solid var(--fd-zielen); border-radius: 12px; padding: 18px 22px; margin: 24px 0; }
.fd-tresc .fd-ramka p:last-child { margin-bottom: 0; }
.fd-tresc .fd-zrodla { font-size: 14px; color: #5b635b; border-top: 1px solid #E3E8E1; margin-top: 40px; padding-top: 16px; }
.fd-tresc a { color: #2A7F3A; }
.fd-wpisy { display: grid; gap: 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fd-wpis-karta { display: flex; flex-direction: column; gap: 14px; }
.fd-wpis-karta-foto { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 20px; overflow: hidden; }
.fd-wpis-karta-foto img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .5s; }
.fd-wpis-karta:hover .fd-wpis-karta-foto img { transform: scale(1.05); }
.fd-wpis-karta-kat { position: absolute; top: 14px; left: 14px; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #fff;
  background: rgba(16,25,23,.5); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
html body .fd-wpis-karta h3 { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 700; font-family: var(--e-global-typography-primary-font-family, "Rubik"), sans-serif; }
html body .fd-wpis-karta h3 a { color: #101917; text-decoration: none; }
html body .fd-wpis-karta h3 a:hover { color: #2A7F3A; }
.fd-wpis-karta p { margin: 0; color: #3d4a44; font-size: 15px; line-height: 1.55; }
.fd-wpis-karta-meta { font-size: 13px !important; color: #6b746f !important; }
@media (max-width: 1024px) { .fd-wpisy { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fd-wpisy { grid-template-columns: 1fr; } }

/* ---------- Układ: siatki, wyśrodkowanie, spójne bloki ---------- */
/* Siatka kart o równych kolumnach: pełna szerokość sekcji, bez dziury po prawej. */
.e-con.fd-siatka { display: grid !important; grid-template-columns: repeat(var(--fd-kol, 3), minmax(0, 1fr)); gap: 24px !important; width: 100%; }
.e-con.fd-siatka > .e-con, .e-con.fd-siatka > .elementor-element { width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; }
.fd-siatka--1 { --fd-kol: 1; } .fd-siatka--2 { --fd-kol: 2; } .fd-siatka--3 { --fd-kol: 3; } .fd-siatka--4 { --fd-kol: 4; }
@media (max-width: 1024px) { .fd-siatka--3:not(.fd-siatka--stala), .fd-siatka--4:not(.fd-siatka--stala) { --fd-kol: 2; } }
@media (max-width: 767px) {
  .fd-siatka:not(.fd-siatka--stala) { --fd-kol: 1; }
  .fd-siatka--telefon-2 { --fd-kol: 2 !important; }
  .e-con.fd-siatka { gap: 16px !important; }
}
/* Teksty w kartach i blokach na środku */
.e-con.fd-karta, .e-con.fd-karta-tytulu--info, .e-con.fd-liczba-blok, .e-con.fd-boks-kafel, .e-con.fd-mini {
  --align-items: center; align-items: center; text-align: center; }
.e-con.fd-karta-tytulu--info { --justify-content: center; justify-content: center !important; }
.e-con.fd-karta .elementor-widget, .e-con.fd-karta-tytulu--info .elementor-widget { width: 100%; }
.e-con.fd-karta { height: 100%; transition: box-shadow .25s, transform .25s; }
.e-con.fd-karta:hover { box-shadow: 0 18px 44px rgba(16,25,23,.10); transform: translateY(-3px); }
.e-con.fd-karta .elementor-icon-wrapper { text-align: center; }
.fd-karta .elementor-heading-title { margin-bottom: 0; }
.fd-karta-tytulu--info p { margin-bottom: 0; }
/* Nagłówki i wstępy sekcji jednokolumnowych na środku */
body .fd-naglowek-srodek .elementor-heading-title { max-width: 820px; margin-left: auto; margin-right: auto; text-align: center; }
.fd-wstep-srodek { text-align: center; }
.fd-wstep-srodek p { max-width: 760px; margin-left: auto; margin-right: auto; }
.fd-wstep-srodek p:last-child { margin-bottom: 0; }
body .fd-haslo .elementor-heading-title { margin-left: auto; margin-right: auto; text-align: center; }
.fd-faq { max-width: 880px; width: 100%; margin: 0 auto; }
.fd-faq-grupa .fd-faq { max-width: none; }
/* Liczby */
.fd-liczba-blok { padding: 8px 0; }
.fd-liczba-blok .fd-liczba-opis p { max-width: 240px; margin-left: auto; margin-right: auto; }
.fd-boks-kafel { background: rgba(255,255,255,.12); border-radius: 18px; padding: 20px 14px; }
.fd-boks-kafel p { margin: 6px 0 0; font-size: 15px; line-height: 1.45; }
.fd-mini { background: #F4F6F2; border-radius: 20px; padding: 20px 16px; }
.fd-mini p { margin: 0; font-size: 15px; line-height: 1.45; color: #3d4a44; }
/* Logotypy sprzętu jako jednakowe pigułki */
.fd-logotypy { justify-content: center; gap: 16px 20px; }
.fd-logotypy li { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.05); font-size: 16px; }
.fd-logotypy li:has(img) { padding: 0 10px; background: #fff; }
.fd-logotypy img { max-height: 32px; padding: 0; background: none; }

/* ---------- Mozaika zdjęć (siatka) ---------- */
.fd-mozaika { display: grid; gap: 24px; grid-template-columns: 4fr 3fr 3fr; grid-template-rows: 300px 300px;
  grid-template-areas: "a b b" "a c d"; }
.fd-moz { position: relative; margin: 0; border-radius: 24px; overflow: hidden; background: #242A23; }
.fd-moz img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.fd-moz:hover img { transform: scale(1.04); }
.fd-moz--1 { grid-area: a; } .fd-moz--2 { grid-area: b; } .fd-moz--3 { grid-area: c; } .fd-moz--4 { grid-area: d; }
.fd-moz figcaption { position: absolute; left: 16px; right: 16px; bottom: 16px; color: #fff; }
@media (max-width: 1024px) { .fd-mozaika { grid-template-columns: 1fr 1fr; grid-template-rows: 360px 260px 260px; grid-template-areas: "a b" "a c" "d d"; } }
@media (max-width: 600px) { .fd-mozaika { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: 260px; grid-template-areas: "a" "b" "c" "d"; gap: 16px; } }

/* ---------- Formularze ---------- */
.e-con.fd-formularz-karta { background: #fff; box-shadow: 0 1px 0 rgba(16,25,23,.04), 0 24px 60px rgba(16,25,23,.10); }
.fd-formularz .elementor-field-group > .elementor-field-label { font-weight: 600; font-size: 14px; color: #101917; margin-bottom: 6px; }
html body .fd-formularz .elementor-field-textual { background: #F4F6F2 !important; border: 1px solid #F4F6F2 !important; border-radius: 14px !important;
  padding: 14px 18px !important; min-height: 52px; font-size: 16px; color: #101917; transition: border-color .2s, box-shadow .2s, background .2s; }
html body .fd-formularz .elementor-field-textual:focus { background: #fff !important; border-color: var(--fd-zielen) !important; box-shadow: 0 0 0 4px rgba(51,167,73,.15); outline: 0; }
html body .fd-formularz textarea.elementor-field-textual { border-radius: 14px !important; min-height: 120px; }
html body .fd-formularz select.elementor-field-textual { appearance: none; -webkit-appearance: none; }
.fd-formularz .elementor-field-type-acceptance { font-size: 13.5px; line-height: 1.5; color: #5b635b; }
.fd-formularz .elementor-field-type-acceptance a { color: #2A7F3A; }
.fd-formularz .elementor-field-subgroup .elementor-field-option { display: flex; align-items: flex-start; gap: 10px; }
.fd-formularz .elementor-field-subgroup input[type=checkbox] { width: 18px; height: 18px; margin-top: 2px; flex: none; accent-color: #33A749; }
html body .fd-formularz .elementor-button { min-height: 54px; border-radius: 999px !important; font-weight: 600; font-size: 16px; transition: background .2s; }
html body .fd-formularz .elementor-button:hover { background: #2A7F3A !important; }
.fd-formularz .elementor-message { border-radius: 12px; padding: 12px 16px; }
.fd-formularz .elementor-message-success { background: #F3F9F2; color: #2A7F3A; }
.fd-form-kontakty { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 14px; }
.fd-form-kontakty li { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: #fff; border-radius: 16px; }
.fd-form-kontakty strong { display: block; font-size: 13px; color: #6b746f; font-weight: 500; }
.fd-form-kontakty a { color: #101917; font-weight: 600; text-decoration: none; }
.fd-form-kontakty a:hover { color: #2A7F3A; }
.fd-form-kontakty .fd-ikona { background: var(--fd-zielen); }
.fd-ikona svg { width: 16px; height: 16px; fill: currentColor; }
.fd-mini .fd-mini-ikona { background: #fff; color: #2A7F3A; width: 52px; height: 52px; }
.fd-moz figcaption, .fd-moz figcaption p { font-style: normal; }
.fd-moz--2 img { object-position: 50% 0%; }
.fd-formularz .elementor-field-subgroup label { line-height: 1.5; }
.fd-boks-liczba { font-size: clamp(1.5rem, 2.2vw, 2.2rem); white-space: nowrap; }

/* ---------- Drony: zdjęcia produktowe i strona oferty modelu ---------- */
.fd-produkt-zdjecie { display: block; background: radial-gradient(120% 90% at 50% 35%, #ffffff 0%, #EEF2EC 70%); }
.fd-produkt-foto { object-fit: contain !important; padding: 28px 22px; box-sizing: border-box; }
html body .fd-produkt h3 a { color: inherit; text-decoration: none; }
html body .fd-produkt h3 a:hover { color: #2A7F3A; }
.fd-oferta { background: linear-gradient(180deg, #F4F6F2 0%, #ffffff 100%); }
.fd-oferta-zdjecie { position: relative; border-radius: 28px; background: radial-gradient(110% 85% at 50% 40%, #ffffff 0%, #E9EEE6 75%);
  aspect-ratio: 5 / 4; display: grid; place-items: center; padding: 32px; box-shadow: 0 24px 60px rgba(16,25,23,.08); }
.fd-oferta-foto { width: 100%; height: 100% !important; object-fit: contain; }
.fd-okruszki--ciemne, html body .fd-okruszki--ciemne a { color: #5b635b; margin-bottom: 4px; }
html body .fd-okruszki--ciemne a:hover { color: #2A7F3A; }
.fd-oferta-etykieta { display: inline-block; margin-top: 10px; padding: 6px 14px; border-radius: 999px; background: #E6F3E6; color: #2A7F3A; font-weight: 600; font-size: 13px; }
body .fd-oferta-h1 .elementor-heading-title { font-size: clamp(2.2rem, 4.4vw, 3.6rem) !important; line-height: 1.1 !important; }
.fd-lead-ciemny p { font-size: 18px; line-height: 1.6; color: #3d4a44; margin: 0; }
.fd-oferta-cena { display: flex; flex-direction: column; gap: 2px; padding: 18px 22px; border-radius: 18px; background: #fff; border: 1px solid #E3E8E1; }
.fd-oferta-cena span { font-size: 14px; color: #5b635b; }
.fd-oferta-cena strong { font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.15; color: #2A7F3A; font-family: var(--e-global-typography-primary-font-family, "Rubik"), sans-serif; }
.fd-oferta-cena small { font-size: 13px; color: #6b746f; }
.fd-oferta-zestaw { margin-top: 16px; }
.fd-oferta-zestaw strong { display: block; margin-bottom: 8px; color: #101917; }
.fd-oferta-zestaw ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fd-oferta-zestaw li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: #F4F6F2; font-size: 15px; }
.fd-oferta-zestaw svg { width: 12px; height: 12px; fill: #33A749; }
.fd-produkty--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fd-produkty--4 .fd-produkt-dol { flex-direction: column; align-items: flex-start; }
@media (max-width: 1200px) { .fd-produkty--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fd-produkty--4 { grid-template-columns: 1fr; } }
/* Tabela dwukolumnowa (cennik części): szersza kolumna z nazwą */
.fd-tabela:has(thead th:nth-child(2):last-child) tbody th { width: 65%; }

/* ---------- Menu na telefonie i tablecie: lista pod pigułką, podmenu wcięte (bez pływających kart) ---------- */
@media (max-width: 1024px) {
  /* Hamburger zawsze przy prawej krawędzi pigułki (widget menu ma flex-grow) */
  html body .fd-header .fd-menu .elementor-widget-container { display: flex; justify-content: flex-end; }
  html body .fd-header .elementor-menu-toggle { margin-left: auto !important; margin-right: 0 !important; }
  html body .fd-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    left: auto !important; right: -12px; width: calc(100vw - 24px) !important; max-width: 760px;
    margin: 24px 0 0 !important; padding: 8px; border-radius: 22px; background: #fff;
    box-shadow: 0 24px 60px rgba(16,25,23,.18); max-height: calc(100vh - 120px) !important; overflow-y: auto; }
  html body .fd-header .elementor-nav-menu--dropdown a { padding: 14px 16px !important; border-radius: 12px; font-size: 15px; line-height: 1.3; }
  html body .fd-header .elementor-nav-menu--dropdown .sub-menu { position: static !important; width: auto !important; min-width: 0 !important;
    margin: 2px 0 8px 16px !important; padding: 0 0 0 8px !important; border-left: 2px solid #E6EBE4;
    box-shadow: none !important; border-radius: 0 !important; background: transparent !important; }
  html body .fd-header .elementor-nav-menu--dropdown .sub-menu a { padding: 11px 12px !important; font-size: 15px; text-transform: none; font-weight: 500; }
  html body .fd-header .elementor-nav-menu--dropdown a.elementor-item-active { background: #F3F9F2; color: #2A7F3A; }
  html body .fd-header .elementor-nav-menu--dropdown .sub-arrow { padding: 0 4px 0 12px; }
}
@media (max-width: 767px) {
  html body .fd-header .elementor-nav-menu--dropdown.elementor-nav-menu__container { right: -10px; }
}
/* Zalogowany admin na telefonie: pasek WordPressa nie zasłania nagłówka */
@media (max-width: 600px) { html #wpadminbar { position: fixed; } }
/* Otwarte menu: chowamy pływający przycisk „Zadzwoń”, żeby nie zasłaniał ostatnich pozycji */
body:has(.fd-header .elementor-menu-toggle.elementor-active) .fd-zadzwon { display: none; }

/* ---------- Menu na desktopie: zawsze mieści się w pigułce ---------- */
.fd-header .fd-menu { min-width: 0; }
.fd-header .elementor-nav-menu--main > ul { flex-wrap: nowrap; justify-content: center; }
.fd-header .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
.fd-header .fd-header-cta .elementor-button { white-space: nowrap; }
/* 1200–1365 px: ciaśniejsze pozycje */
@media (min-width: 1025px) and (max-width: 1365px) {
  html body .fd-header .elementor-nav-menu--main .elementor-item { padding-left: 11px !important; padding-right: 11px !important; font-size: 12px !important; }
}
/* 1025–1199 px: bez przycisku w headerze (jest w hero i w formularzach), logo nieco mniejsze */
@media (min-width: 1025px) and (max-width: 1199px) {
  html body .fd-header .fd-header-cta { display: none !important; }
  html body .fd-header .fd-pigulka .elementor-widget-image img { width: 140px !important; }
  html body .fd-header .elementor-nav-menu--main .elementor-item { padding-left: 10px !important; padding-right: 10px !important; }
}
