:root {
  --porto-body-ff: Inter, Poppins, Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --porto-body-color: #182238;
  --porto-heading-color: #071126;
  --porto-primary-color: #6f35c8;
  --porto-primary-color-inverse: #ffffff;
  --porto-primary-light-5: #7c3fe0;
  --porto-primary-dark-5: #5620a8;
  --porto-gray-2: #eef1f7;
  --porto-gray-3: #e8edf7;
  --porto-gray-5: #d6deec;
  --porto-input-bc: #dfe5f0;
  --itdl-clean-purple: #7536cf;
  --itdl-clean-purple-dark: #59125f;
  --itdl-clean-ink: #071126;
  --itdl-clean-text: #202a44;
  --itdl-clean-muted: #667085;
  --itdl-clean-border: #e4e7f0;
  --itdl-clean-soft: #f6f7fb;
  --itdl-clean-surface: #ffffff;
  --itdl-clean-shadow: 0 22px 65px rgba(38, 23, 77, .10);
  --itdl-header-height: 116px;
}

html { overflow-x: hidden; }
body.itdl-clean-theme {
  margin: 0;
  min-width: 320px;
  background: #fff;
  color: var(--itdl-clean-text);
  font-family: var(--porto-body-ff);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
body.itdl-clean-theme.admin-bar .itdl-site-header { top: 32px; }
@media (max-width: 782px) { body.itdl-clean-theme.admin-bar .itdl-site-header { top: 46px; } }

.itdl-page-shell { min-height: 100vh; display: flex; flex-direction: column; background: #fff; }
.itdl-site-main { flex: 1 0 auto; background: #fff; }
.itdl-clean-page-content { width: 100%; margin: 0; padding: 0; }
.itdl-clean-page-content > *:first-child { margin-top: 0; }
.itdl-clean-page-content > *:last-child { margin-bottom: 0; }
.itdl-clean-article { margin: 0; }
body.itdl-clean-theme .container { max-width: 1320px; }

/* Nagłówek — jedno źródło prawdy, zero Porto Header Buildera. */
.itdl-site-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10050;
  width: 100%;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid rgba(223, 228, 240, .9);
  box-shadow: 0 8px 32px rgba(12, 18, 34, .05);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.itdl-site-header, .itdl-site-header * { box-sizing: border-box; }
.itdl-site-header__bar {
  width: min(100%, 1780px);
  min-height: var(--itdl-header-height);
  margin: 0 auto;
  padding: 0 clamp(22px, 5vw, 88px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(20px, 3vw, 56px);
}
.itdl-site-header__logo { flex: 0 0 auto; display: flex; align-items: center; min-width: 225px; }
.itdl-site-header__logo .custom-logo-link,
.itdl-site-header__logo .logo,
.itdl-site-header__logo .itdl-clean-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.itdl-site-header__logo img {
  display: block;
  width: clamp(210px, 15vw, 270px);
  max-width: 100%;
  height: auto;
  max-height: 94px;
  object-fit: contain;
}
.itdl-site-header__nav { flex: 1 1 auto; display: flex; justify-content: flex-end; }
.itdl-site-header__menu,
.itdl-site-header__menu ul,
.itdl-site-header__mobile-menu,
.itdl-site-header__mobile-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.itdl-site-header__menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(18px, 2.4vw, 42px);
  white-space: nowrap;
}
.itdl-site-header__menu > li { position: relative; margin: 0; padding: 0; }
.itdl-site-header__menu a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: clamp(15px, .95vw, 18px);
  line-height: 1.2;
  font-weight: 800;
  color: #030817;
  text-decoration: none;
  transition: color .18s ease, opacity .18s ease;
}
.itdl-site-header__menu a:hover,
.itdl-site-header__menu a:focus,
.itdl-site-header__menu .current-menu-item > a,
.itdl-site-header__menu .current-menu-ancestor > a { color: var(--itdl-clean-purple-dark); }
.itdl-site-header__menu li ul {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  min-width: 230px;
  display: grid;
  gap: 4px;
  padding: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  border: 1px solid var(--itdl-clean-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--itdl-clean-shadow);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.itdl-site-header__menu li:hover > ul,
.itdl-site-header__menu li:focus-within > ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.itdl-site-header__menu li ul a { width: 100%; min-height: auto; padding: 10px 12px; border-radius: 12px; font-size: 14px; font-weight: 750; }
.itdl-site-header__menu li ul a:hover { background: #f6f2ff; }
.itdl-site-header__toggle { display: none; }
.itdl-site-header__mobile { display: none; }

/* Stopka z mockupu — biała, czytelna, bez menu udającego stopkę. */
.itdl-site-footer {
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  margin: 0;
  background:
    radial-gradient(circle at 18% 15%, rgba(117, 54, 207, .055), transparent 34%),
    radial-gradient(circle at 86% 82%, rgba(117, 54, 207, .045), transparent 32%),
    #fff;
  color: var(--itdl-clean-text);
  border-top: 1px solid #ded9fa;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.itdl-site-footer, .itdl-site-footer * { box-sizing: border-box; }
.itdl-site-footer__container { width: min(100%, 1740px); margin: 0 auto; padding-left: clamp(24px, 5.4vw, 100px); padding-right: clamp(24px, 5.4vw, 100px); }
.itdl-site-footer__main { padding: clamp(56px, 7vw, 104px) 0 clamp(44px, 6vw, 82px); }
.itdl-site-footer__grid { display: grid; grid-template-columns: minmax(260px, .92fr) minmax(280px, .86fr) minmax(260px, .78fr); gap: clamp(44px, 8vw, 150px); align-items: start; }
.itdl-site-footer h2 { margin: 0 0 30px; font-size: clamp(28px, 2vw, 40px); line-height: 1.1; font-weight: 900; letter-spacing: -.035em; color: var(--itdl-clean-ink); }
.itdl-site-footer__brand-head { display: inline-flex; align-items: center; gap: 22px; margin-bottom: 34px; color: var(--itdl-clean-ink); text-decoration: none; }
.itdl-site-footer__brand-logo { display: block; width: clamp(230px, 18vw, 330px); max-width: 100%; height: auto; }
.itdl-site-footer__brand-head strong { font-size: clamp(28px, 1.8vw, 39px); line-height: 1.08; font-weight: 900; letter-spacing: -.035em; }
.itdl-site-footer__shield { width: 56px; height: 56px; display: inline-flex; flex: 0 0 56px; filter: drop-shadow(0 14px 24px rgba(117,54,207,.18)); }
.itdl-site-footer svg { display: block; width: 100%; height: 100%; }
.itdl-site-footer__shield svg path:first-child { fill: url(#itdl-footer-shield-gradient); }
.itdl-site-footer__shield svg path:first-child { fill: #7536cf; }
.itdl-site-footer__shield-cross { fill: #fff; }
.itdl-site-footer__brand p { margin: 0; max-width: 590px; color: #303a52; font-size: clamp(18px, 1.15vw, 23px); line-height: 1.58; font-weight: 500; }
.itdl-site-footer__contact-row { display: grid; grid-template-columns: 70px 1fr; gap: 24px; align-items: center; padding: 0 0 34px; margin: 0 0 34px; color: var(--itdl-clean-text); text-decoration: none; border-bottom: 1px solid var(--itdl-clean-border); }
.itdl-site-footer__contact-row:last-child { margin-bottom: 0; }
.itdl-site-footer__contact-row:hover strong { color: var(--itdl-clean-purple-dark); }
.itdl-site-footer__icon { width: 70px; height: 70px; display: inline-flex; align-items: center; justify-content: center; border-radius: 16px; background: linear-gradient(135deg, rgba(117,54,207,.12), rgba(117,54,207,.045)); color: var(--itdl-clean-purple); }
.itdl-site-footer__icon svg { width: 34px; height: 34px; }
.itdl-site-footer__icon path { fill: currentColor; }
.itdl-site-footer__contact-copy { display: grid; gap: 7px; }
.itdl-site-footer__contact-copy span { color: #4f5970; font-size: clamp(18px, 1vw, 22px); line-height: 1.2; font-weight: 500; }
.itdl-site-footer__contact-copy strong { color: var(--itdl-clean-purple); font-size: clamp(22px, 1.35vw, 29px); line-height: 1.18; font-weight: 900; letter-spacing: -.025em; transition: color .18s ease; }
.itdl-site-footer__links ul { list-style: none; margin: 0; padding: 0; }
.itdl-site-footer__links li { margin: 0; padding: 0; }
.itdl-site-footer__links a { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 60px; padding: 0 0 0; border-bottom: 1px solid var(--itdl-clean-border); color: var(--itdl-clean-text); text-decoration: none; font-size: clamp(18px, 1.1vw, 23px); line-height: 1.2; font-weight: 500; transition: color .18s ease, padding-left .18s ease; }
.itdl-site-footer__links a:hover { color: var(--itdl-clean-purple); padding-left: 6px; }
.itdl-site-footer__links a svg { width: 24px; height: 24px; flex: 0 0 24px; color: var(--itdl-clean-purple); }
.itdl-site-footer__links a svg path { fill: currentColor; }
.itdl-site-footer__bottom { border-top: 1px solid #ded9fa; background: linear-gradient(180deg, rgba(247,247,252,.75), rgba(255,255,255,.95)); }
.itdl-site-footer__bottom-inner { min-height: 110px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.itdl-site-footer__copyright { display: inline-flex; align-items: center; gap: 20px; color: #1d263b; font-size: clamp(16px, 1vw, 21px); line-height: 1.35; font-weight: 500; }
.itdl-site-footer__mini-shield { width: 38px; height: 38px; color: var(--itdl-clean-purple); flex: 0 0 38px; }
.itdl-site-footer__mini-shield path { fill: currentColor; }
.itdl-site-footer__bottom p { margin: 0; color: #1d263b; font-size: clamp(16px, 1vw, 21px); line-height: 1.35; font-weight: 500; text-align: right; }

.itdl-urgent-call { position: fixed; right: clamp(18px, 2.4vw, 52px); bottom: clamp(18px, 2.2vw, 36px); z-index: 10060; display: inline-flex; align-items: center; gap: 18px; min-height: 74px; padding: 12px 28px 12px 14px; border-radius: 999px; background: linear-gradient(135deg, #7a3184, #713082); color: #fff; text-decoration: none; box-shadow: 0 18px 44px rgba(89,18,95,.24); }
.itdl-urgent-call:hover, .itdl-urgent-call:focus { color: #fff; transform: translateY(-1px); }
.itdl-urgent-call__icon { width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: #d92d48; font-size: 23px; font-weight: 900; }
.itdl-urgent-call span:last-child { display: grid; gap: 0; line-height: 1.02; }
.itdl-urgent-call strong { font-size: 18px; font-weight: 900; letter-spacing: .02em; }
.itdl-urgent-call b { font-size: 20px; font-weight: 950; letter-spacing: .02em; }

.itdl-clean-archive, .itdl-clean-single, .itdl-clean-404 { padding-top: clamp(48px, 7vw, 100px); padding-bottom: clamp(64px, 8vw, 120px); }
.itdl-clean-card { padding: 28px 0; border-bottom: 1px solid var(--itdl-clean-border); }
.itdl-clean-card h1, .itdl-clean-card h2 { margin: 0 0 12px; }
.itdl-clean-card a { color: var(--itdl-clean-ink); text-decoration: none; }
.itdl-clean-card a:hover { color: var(--itdl-clean-purple); }
.itdl-clean-button { display: inline-flex; align-items: center; justify-content: center; padding: 13px 22px; border-radius: 999px; background: var(--itdl-clean-purple); color: #fff; text-decoration: none; font-weight: 800; }
.itdl-clean-button:hover { color: #fff; background: var(--itdl-clean-purple-dark); }

/* Stabilizacja treści z poprzedniego motywu. */
body.itdl-clean-theme .page-content,
body.itdl-clean-theme .entry-content { margin: 0; }
body.itdl-clean-theme .page-content section[class^="idl-"],
body.itdl-clean-theme .page-content section[class*=" idl-"],
body.itdl-clean-theme .entry-content section[class^="idl-"],
body.itdl-clean-theme .entry-content section[class*=" idl-"] { margin-left: 0 !important; margin-right: 0 !important; }
body.itdl-clean-theme .vc_row,
body.itdl-clean-theme .elementor-section { max-width: 100%; }

@media (max-width: 1180px) {
  .itdl-site-header__bar { min-height: 92px; }
  .itdl-site-header__logo { min-width: 0; }
  .itdl-site-header__logo img { width: min(220px, 58vw); max-height: 72px; }
  .itdl-site-header__nav { display: none; }
  .itdl-site-header__toggle { display: inline-flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; width: 48px; height: 48px; min-width: 48px; margin-left: auto; padding: 0; border: 0; border-radius: 15px; background: var(--itdl-clean-purple-dark); cursor: pointer; }
  .itdl-site-header__toggle span { display: block; width: 20px; height: 2px; border-radius: 99px; background: #fff; transition: transform .18s ease, opacity .18s ease; }
  .itdl-site-header.is-open .itdl-site-header__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .itdl-site-header.is-open .itdl-site-header__toggle span:nth-child(2) { opacity: 0; }
  .itdl-site-header.is-open .itdl-site-header__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .itdl-site-header__mobile { position: absolute; top: 100%; left: 0; right: 0; display: block; padding: 0 20px 20px; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--itdl-clean-border); box-shadow: var(--itdl-clean-shadow); }
  .itdl-site-header__mobile[hidden] { display: none; }
  .itdl-site-header__mobile-menu { display: grid; gap: 7px; width: min(100%, 720px); margin: 0 auto !important; padding-top: 12px !important; }
  .itdl-site-header__mobile-menu a { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 15px 16px; border-radius: 15px; background: #f7f5fb; color: var(--itdl-clean-ink); text-decoration: none; font-size: 16px; font-weight: 850; }
  .itdl-site-header__mobile-menu a:hover, .itdl-site-header__mobile-menu a:focus { color: var(--itdl-clean-purple); }
  .itdl-site-footer__grid { grid-template-columns: 1fr; gap: 44px; }
}
@media (max-width: 780px) {
  .itdl-site-footer__container { padding-left: 22px; padding-right: 22px; }
  .itdl-site-footer__main { padding-top: 46px; padding-bottom: 36px; }
  .itdl-site-footer__brand-head { gap: 16px; margin-bottom: 22px; }
  .itdl-site-footer__shield { width: 48px; height: 48px; flex-basis: 48px; }
  .itdl-site-footer__contact-row { grid-template-columns: 58px 1fr; gap: 16px; padding-bottom: 24px; margin-bottom: 24px; }
  .itdl-site-footer__icon { width: 58px; height: 58px; border-radius: 15px; }
  .itdl-site-footer__icon svg { width: 28px; height: 28px; }
  .itdl-site-footer__bottom-inner { min-height: auto; padding-top: 24px; padding-bottom: 24px; align-items: flex-start; flex-direction: column; }
  .itdl-site-footer__bottom p { text-align: left; }
  .itdl-urgent-call { left: 14px; right: 14px; bottom: 14px; justify-content: center; min-height: 64px; padding: 10px 18px 10px 10px; }
  .itdl-urgent-call__icon { width: 46px; height: 46px; }
  .itdl-urgent-call strong { font-size: 15px; }
  .itdl-urgent-call b { font-size: 18px; }
}
@media (max-width: 460px) {
  .itdl-site-header__bar { padding-left: 16px; padding-right: 16px; min-height: 82px; }
  .itdl-site-header__logo { min-width: 0; }
  .itdl-site-header__logo img { width: 175px; max-height: 58px; }
  .itdl-site-header__toggle { width: 44px; height: 44px; min-width: 44px; }
}
