.elementor-9203 .elementor-element.elementor-element-4029570{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-1d2d874 */@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700;9..40,800&display=swap');

.icvc-comp-page,
.icvc-comp-page * { box-sizing: border-box; }

.icvc-comp-page {
  --icvc-comp-900: #0F5A3A;
  --icvc-comp-700: #2E8B57;
  --icvc-comp-500: #3CA66A;
  --icvc-comp-300: #7DBA9B;
  --icvc-comp-100: #E8F3ED;

  --icvc-comp-brand-dark: #123D27;
  --icvc-comp-brand: #1A5632;
  --icvc-comp-brand-mid: #278A4C;
  --icvc-comp-brand-light: #DFF3E7;

  --icvc-comp-ink: #1A1A1A;
  --icvc-comp-text: #3D3D3D;
  --icvc-comp-muted: #666666;
  --icvc-comp-line: #DDE8E0;
  --icvc-comp-paper: #F7FAF8;
  --icvc-comp-white: #FFFFFF;
  --icvc-comp-focus: #FFBF47;

  font-family: "DM Sans", Arial, sans-serif !important;
  color: var(--icvc-comp-text) !important;
  background: var(--icvc-comp-white) !important;
  line-height: 1.65;
  overflow: hidden;
}

.icvc-comp-page a { text-decoration:none !important; }
.icvc-comp-page p { margin-top:0; }
.icvc-comp-page :where(a,summary,button):focus-visible {
  outline:4px solid var(--icvc-comp-focus) !important;
  outline-offset:3px !important;
  border-radius:24px;
}

.icvc-comp-container,
.icvc-comp-inner {
  width:min(1180px,calc(100% - 48px));
  margin-inline:auto;
}
.icvc-comp-narrow { max-width:860px; }

/* Nawigacja lokalna */
.icvc-comp-section-nav { background:#fff; border-bottom:1px solid var(--icvc-comp-line); }
.icvc-comp-section-nav-scroll {
  min-height:58px; display:flex; align-items:center; gap:6px;
  padding:8px 0; overflow-x:auto; scrollbar-width:thin;
}
.icvc-comp-section-nav-link {
  flex:0 0 auto; min-height:42px; display:inline-flex; align-items:center;
  padding:9px 13px; border-radius:22px; color:var(--icvc-comp-text) !important;
  font-size:.82rem; font-weight:700;
}
.icvc-comp-section-nav-link:hover,
.icvc-comp-section-nav-link-active {
  background:var(--icvc-comp-100); color:var(--icvc-comp-900) !important;
}

/* Hero */
.icvc-comp-hero {
  position:relative; padding:clamp(64px,8vw,104px) 0;
  color:#fff !important;
  background:
    radial-gradient(circle at 84% 18%, rgba(126, 186, 155, .18), transparent 34%),
    linear-gradient(135deg, #0F5A3A 0%, #1A5632 62%, #123D27 100%);
}
.icvc-comp-hero::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(to left,#000,transparent 72%);
}
.icvc-comp-hero-grid {
  position:relative; z-index:1; display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:54px; align-items:center;
}
.icvc-comp-kicker,
.icvc-comp-eyebrow {
  display:inline-flex; align-items:center; margin:0 0 16px !important;
  text-transform:uppercase; letter-spacing:.08em; font-size:.75rem;
  line-height:1.3; font-weight:800;
}
.icvc-comp-kicker { color:#d8f0f8 !important; }
.icvc-comp-eyebrow { color:var(--icvc-comp-700) !important; }

.icvc-comp-page h1 {
  margin:0 0 22px !important; max-width:880px; color:#fff !important;
  font-size:clamp(2.35rem,5vw,4.5rem); line-height:1.05;
  letter-spacing:-.035em; font-weight:800;
}
.icvc-comp-page h2 {
  margin:0 0 15px !important; color:var(--icvc-comp-900) !important;
  font-size:clamp(1.7rem,3.4vw,2.65rem); line-height:1.16;
  letter-spacing:-.025em; font-weight:800;
}
.icvc-comp-page h3 {
  margin:0 0 12px !important; color:var(--icvc-comp-900) !important;
  font-size:1.18rem; line-height:1.35; font-weight:800;
}
.icvc-comp-page h4 { color:var(--icvc-comp-900) !important; font-weight:800; }

.icvc-comp-hero-lead {
  max-width:760px; margin-bottom:30px !important;
  color:#eef7fb !important; font-size:clamp(1.03rem,1.6vw,1.18rem);
  line-height:1.75;
}
.icvc-comp-hero-panel {
  padding:28px; border:1px solid rgba(255,255,255,.22);
  border-radius:24px; background:rgba(255,255,255,.09);
  backdrop-filter:blur(8px);
}
.icvc-comp-hero-panel strong { display:block; margin-bottom:8px; color:#fff; }
.icvc-comp-hero-panel p { margin:0 !important; color:#f5fbfe !important; }

/* Przyciski */
.icvc-comp-hero-actions,
.icvc-comp-inline-actions,
.icvc-comp-cta-actions { display:flex; flex-wrap:wrap; gap:12px; }

.icvc-comp-button,
.icvc-comp-btn,
.icvc-comp-download,
.icvc-comp-doc-link,
.icvc-comp-registry-all-link,
.icvc-comp-competency-direct-link {
  min-height:48px; display:inline-flex !important; align-items:center; justify-content:center;
  padding:12px 20px; border:2px solid transparent !important; border-radius:22px;
  font-size:.9rem; line-height:1.3; font-weight:800;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease;
}
.icvc-comp-button:hover,
.icvc-comp-btn:hover,
.icvc-comp-download:hover,
.icvc-comp-doc-link:hover,
.icvc-comp-registry-all-link:hover,
.icvc-comp-competency-direct-link:hover { transform:translateY(-1px); }

.icvc-comp-button-primary,
.icvc-comp-download,
.icvc-comp-doc-link,
.icvc-comp-registry-all-link,
.icvc-comp-competency-direct-link,
.icvc-comp-btn-new-competency {
  background:var(--icvc-comp-700) !important; color:#fff !important;
  border-color:var(--icvc-comp-700) !important;
}
.icvc-comp-button-primary:hover,
.icvc-comp-download:hover,
.icvc-comp-doc-link:hover,
.icvc-comp-registry-all-link:hover,
.icvc-comp-competency-direct-link:hover,
.icvc-comp-btn-new-competency:hover {
  background:var(--icvc-comp-900) !important; border-color:var(--icvc-comp-900) !important;
}
.icvc-comp-button-secondary {
  background:#fff !important; color:var(--icvc-comp-900) !important;
  border-color:var(--icvc-comp-line) !important;
}
.icvc-comp-button-light,
.icvc-comp-btn-light {
  background:#fff !important; color:var(--icvc-comp-900) !important;
  border-color:#fff !important;
}
.icvc-comp-button-outline-light,
.icvc-comp-btn-outline {
  background:transparent !important; color:#fff !important;
  border-color:rgba(255,255,255,.72) !important;
}

/* Sekcje */
.icvc-comp-section { padding:clamp(58px,7vw,88px) 0; scroll-margin-top:90px; }
.icvc-comp-section-compact { padding-top:50px; padding-bottom:50px; }
.icvc-comp-section-white { background:#fff !important; }
.icvc-comp-section-muted { background:var(--icvc-comp-paper) !important; }
.icvc-comp-section-head { max-width:850px; margin:0 auto 38px; text-align:center; }
.icvc-comp-section-desc,
.icvc-comp-section-head > p:last-child { color:var(--icvc-comp-muted) !important; line-height:1.75; }
.icvc-comp-lead-text { font-size:1.08rem; line-height:1.78; }
.icvc-comp-two-col {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:42px; align-items:start;
}

/* Karty */
.icvc-comp-info-card,
.icvc-comp-note,
.icvc-comp-text-card {
  padding:28px; border:1px solid var(--icvc-comp-line);
  border-radius:22px; background:#fff !important;
}
.icvc-comp-info-card { box-shadow:0 14px 34px rgba(15,90,58,.08); }
.icvc-comp-note {
  border-left:4px solid var(--icvc-comp-700);
  background:var(--icvc-comp-100) !important;
}
.icvc-comp-note strong { display:block; margin-bottom:8px; color:var(--icvc-comp-900); }

.icvc-comp-check-list { list-style:none !important; margin:0 !important; padding:0 !important; }
.icvc-comp-check-list li { position:relative; margin:0 0 12px !important; padding-left:30px; }
.icvc-comp-check-list li::before {
  content:"✓"; position:absolute; left:0; top:1px; width:21px; height:21px;
  display:inline-flex; align-items:center; justify-content:center; border-radius:50%;
  background:var(--icvc-comp-100); color:var(--icvc-comp-700);
  font-size:.75rem; font-weight:800;
}

.icvc-comp-card-grid,
.icvc-comp-related-grid,
.icvc-comp-teaser-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;
}
.icvc-comp-card-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }

.icvc-comp-nav-card,
.icvc-comp-simple-card,
.icvc-comp-related-card {
  min-width:0; padding:25px; border:1px solid var(--icvc-comp-line);
  border-radius:22px; background:#fff !important;
}
.icvc-comp-nav-card {
  min-height:215px; display:flex; flex-direction:column;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.icvc-comp-nav-card:hover {
  transform:translateY(-2px); border-color:#C9DDD1;
  box-shadow:0 14px 30px rgba(15,90,58,.08);
}
.icvc-comp-nav-card > span,
.icvc-comp-simple-card > span {
  margin-bottom:14px; color:var(--icvc-comp-700) !important;
  font-size:.76rem; font-weight:800; letter-spacing:.08em;
}
.icvc-comp-nav-card p { flex:1; color:var(--icvc-comp-muted) !important; }
.icvc-comp-nav-card a,
.icvc-comp-text-link { color:var(--icvc-comp-900) !important; font-weight:800; }

.icvc-comp-teaser {
  min-height:128px; padding:22px; display:flex; flex-direction:column; gap:8px;
  border:1px solid var(--icvc-comp-line); border-radius:24px; background:#fff !important;
}
.icvc-comp-teaser:hover { border-color:#B8D5C4; }
.icvc-comp-teaser span {
  color:var(--icvc-comp-700) !important; font-size:.75rem;
  font-weight:800; text-transform:uppercase; letter-spacing:.06em;
}
.icvc-comp-teaser strong { color:var(--icvc-comp-900) !important; line-height:1.45; }

/* Proces */
.icvc-comp-process-grid,
.icvc-comp-steps {
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;
}
.icvc-comp-process-grid-6 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.icvc-comp-process-grid > li,
.icvc-comp-steps > li {
  min-width:0; padding:22px; border:1px solid var(--icvc-comp-line);
  border-radius:24px; background:#fff !important;
}
.icvc-comp-process-grid > li > span:first-child,
.icvc-comp-step-number {
  width:34px; height:34px; margin-bottom:14px; display:inline-flex;
  align-items:center; justify-content:center; border-radius:50%;
  background:var(--icvc-comp-900) !important; color:#fff !important; font-weight:800;
}
.icvc-comp-step-text { display:block; color:var(--icvc-comp-text) !important; }
.icvc-comp-step-text a { color:var(--icvc-comp-700) !important; text-decoration:underline !important; text-underline-offset:3px; }
.icvc-comp-step-text address { margin-top:10px; font-style:normal; }

/* FAQ i akordeony */
.icvc-comp-faq,
.icvc-comp-accordion { display:grid; gap:10px; }

.icvc-comp-faq details,
.icvc-comp-accordion details {
  border:1px solid var(--icvc-comp-line); border-radius:24px;
  background:#fff !important; overflow:hidden; scroll-margin-top:90px;
}
.icvc-comp-faq summary,
.icvc-comp-accordion summary {
  min-height:54px; position:relative; cursor:pointer; list-style:none;
  display:flex; align-items:center; padding:15px 56px 15px 18px;
  color:var(--icvc-comp-900) !important; font-weight:800; line-height:1.45;
}
.icvc-comp-faq summary::-webkit-details-marker,
.icvc-comp-accordion summary::-webkit-details-marker { display:none; }
.icvc-comp-faq summary::after,
.icvc-comp-accordion summary::after {
  content:"+"; position:absolute; right:16px; width:28px; height:28px;
  display:inline-flex; align-items:center; justify-content:center; border-radius:50%;
  background:var(--icvc-comp-100); color:var(--icvc-comp-900); font-size:1.1rem;
}
.icvc-comp-faq details[open] summary::after,
.icvc-comp-accordion details[open] summary::after { content:"−"; }
.icvc-comp-faq details > div,
.icvc-comp-accordion-content {
  padding:18px 20px 22px; border-top:1px solid var(--icvc-comp-line);
}
.icvc-comp-accordion-content p,
.icvc-comp-accordion-content li { color:var(--icvc-comp-text) !important; }
.icvc-comp-accordion-content ul,
.icvc-comp-accordion-content ol { padding-left:22px !important; }
.icvc-comp-accordion-content li { margin-bottom:7px !important; }

/* Ochrona ludności */
.icvc-comp-protection-links {
  display:flex; flex-wrap:wrap; gap:8px; justify-content:center;
  margin:-12px auto 30px;
}
.icvc-comp-protection-link {
  min-height:42px; display:inline-flex !important; align-items:center;
  padding:8px 13px; border:1px solid #C9DDD1; border-radius:24px;
  background:var(--icvc-comp-100) !important; color:var(--icvc-comp-900) !important;
  font-size:.8rem; font-weight:800;
}
.icvc-comp-competency-footer {
  margin-top:20px; padding-top:17px; border-top:1px solid var(--icvc-comp-line);
  display:flex; justify-content:flex-end;
}

/* Rejestr */
.icvc-comp-registry-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px;
}
.icvc-comp-category-link {
  min-height:158px; padding:22px; display:flex !important; flex-direction:column;
  border:1px solid var(--icvc-comp-line); border-radius:20px; background:#fff !important;
  transition:transform .18s ease,border-color .18s ease;
}
.icvc-comp-category-link:hover { transform:translateY(-2px); border-color:#B8D5C4; }
.icvc-comp-category-number {
  margin-bottom:22px; color:var(--icvc-comp-700) !important;
  font-size:.78rem; font-weight:800;
}
.icvc-comp-category-footer {
  margin-top:auto; display:flex; justify-content:space-between; gap:10px;
  color:var(--icvc-comp-700) !important; font-size:.87rem; font-weight:800;
}
.icvc-comp-registry-all { margin-top:28px; display:flex; justify-content:center; }

/* Nowa kompetencja */
.icvc-comp-new-competency-intro,
.icvc-comp-new-competency-layout {
  width:min(1180px,calc(100% - 48px)); margin-inline:auto;
}
.icvc-comp-new-competency-intro {
  margin-top:-16px; margin-bottom:34px; padding:25px;
  border:1px solid var(--icvc-comp-line); border-radius:20px;
  background:var(--icvc-comp-100) !important;
}
.icvc-comp-new-competency-layout {
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:24px;
}
.icvc-comp-new-competency-steps {
  list-style:none !important; padding:0 !important; margin:0 !important;
  display:grid; gap:12px;
}
.icvc-comp-new-competency-steps > li {
  display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; padding:20px;
  border:1px solid var(--icvc-comp-line); border-radius:24px; background:#fff !important;
}
.icvc-comp-new-competency-number,
.icvc-comp-new-competency-info-icon {
  width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; background:var(--icvc-comp-900); color:#fff; font-weight:800;
}
.icvc-comp-new-competency-sidebar { display:grid; gap:14px; align-content:start; }
.icvc-comp-new-competency-info,
.icvc-comp-new-competency-contact,
.icvc-comp-new-competency-download {
  padding:22px; border:1px solid var(--icvc-comp-line); border-radius:24px;
  background:#fff !important;
}
.icvc-comp-new-competency-contact a,
.icvc-comp-new-competency-free,
.icvc-comp-new-competency-download-label { color:var(--icvc-comp-900) !important; font-weight:800; }

/* Dokumenty */
.icvc-comp-docs-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.icvc-comp-doc {
  min-width:0; padding:22px; border:1px solid var(--icvc-comp-line);
  border-radius:24px; background:#fff !important;
}
.icvc-comp-doc-icon {
  width:42px; height:42px; margin-bottom:16px; display:inline-flex;
  align-items:center; justify-content:center; border-radius:24px;
  background:var(--icvc-comp-100); color:var(--icvc-comp-900);
  font-size:.7rem; font-weight:800;
}
.icvc-comp-cta,
.icvc-comp-text-card {
  width:min(980px,calc(100% - 48px)); margin-inline:auto;
}
.icvc-comp-cta {
  padding:30px; border-radius:22px; background:var(--icvc-comp-900) !important; color:#fff !important;
}
.icvc-comp-cta h2,
.icvc-comp-cta p { color:#fff !important; }

/* Indeks przemysłu obronnego */
.icvc-comp-defense-index {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
}
.icvc-comp-defense-index-item {
  min-height:64px; display:grid !important; grid-template-columns:42px minmax(0,1fr);
  align-items:center; gap:12px; padding:10px 14px;
  border:1px solid var(--icvc-comp-line); border-radius:22px; background:#fff !important;
}
.icvc-comp-defense-index-item:hover { border-color:#B8D5C4; }
.icvc-comp-defense-index-item span {
  width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:24px; background:var(--icvc-comp-100);
  color:var(--icvc-comp-700); font-size:.75rem; font-weight:800;
}
.icvc-comp-defense-index-item strong {
  color:var(--icvc-comp-900) !important; font-size:.86rem; line-height:1.35;
}

/* CTA końcowe */
.icvc-comp-cta-band { padding:56px 0; background:var(--icvc-comp-900) !important; color:#fff !important; }
.icvc-comp-cta-band-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.icvc-comp-cta-band h2,
.icvc-comp-cta-band p { color:#fff !important; }

.icvc-comp-related-card p,
.icvc-comp-simple-card p,
.icvc-comp-simple-card li { color:var(--icvc-comp-muted) !important; }
.icvc-comp-simple-card ul { margin-bottom:0 !important; padding-left:18px !important; }

@media (max-width:980px) {
  .icvc-comp-hero-grid,
  .icvc-comp-two-col,
  .icvc-comp-new-competency-layout { grid-template-columns:1fr; }

  .icvc-comp-card-grid,
  .icvc-comp-related-grid,
  .icvc-comp-teaser-grid,
  .icvc-comp-registry-grid,
  .icvc-comp-docs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

  .icvc-comp-card-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .icvc-comp-process-grid,
  .icvc-comp-process-grid-6,
  .icvc-comp-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:720px) {
  .icvc-comp-container,
  .icvc-comp-inner,
  .icvc-comp-new-competency-intro,
  .icvc-comp-new-competency-layout,
  .icvc-comp-cta,
  .icvc-comp-text-card { width:min(100% - 32px,1180px); }

  .icvc-comp-hero { padding:56px 0; }
  .icvc-comp-hero-grid { gap:28px; }
  .icvc-comp-hero-panel { padding:22px; }
  .icvc-comp-section { padding:54px 0; }
  .icvc-comp-section-head { text-align:left; }

  .icvc-comp-card-grid,
  .icvc-comp-card-grid-4,
  .icvc-comp-related-grid,
  .icvc-comp-teaser-grid,
  .icvc-comp-registry-grid,
  .icvc-comp-docs-grid,
  .icvc-comp-process-grid,
  .icvc-comp-process-grid-6,
  .icvc-comp-steps,
  .icvc-comp-defense-index { grid-template-columns:1fr; }

  .icvc-comp-protection-links { justify-content:flex-start; }
  .icvc-comp-competency-footer { justify-content:stretch; }
  .icvc-comp-competency-direct-link { width:100%; }

  .icvc-comp-cta-band-inner { display:grid; align-items:start; }
  .icvc-comp-cta-actions,
  .icvc-comp-hero-actions,
  .icvc-comp-inline-actions { flex-direction:column; }

  .icvc-comp-button,
  .icvc-comp-btn,
  .icvc-comp-download,
  .icvc-comp-doc-link { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .icvc-comp-page *,
  .icvc-comp-page *::before,
  .icvc-comp-page *::after {
    scroll-behavior:auto !important;
    transition:none !important;
  }
}

/* Kompatybilność ze starymi linkami kotwicowymi */
.icvc-comp-legacy-targets { padding-top:18px; }
.icvc-comp-legacy-target {
  display:none;
  padding:16px 18px;
  border:1px solid #C9DDD1;
  border-left:4px solid var(--icvc-comp-700);
  border-radius:22px;
  background:var(--icvc-comp-100) !important;
}
.icvc-comp-legacy-target:target { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; }
.icvc-comp-legacy-target strong { color:var(--icvc-comp-900) !important; }
.icvc-comp-legacy-target a { color:var(--icvc-comp-900) !important; font-weight:800; }
.icvc-comp-nav-card[id],
.icvc-comp-legacy-target[id] { scroll-margin-top:90px; }


/* =========================================================
   SYSTEM IDENTYFIKACJI WIZUALNEJ - KOMPETENCJE ICVC
   ========================================================= */

/* Hero: subtelne okręgi marki, bez wpływu na czytelność. */
.icvc-comp-hero::before {
  content: "";
  position: absolute;
  width: clamp(260px, 32vw, 520px);
  aspect-ratio: 1;
  right: clamp(-180px, -10vw, -70px);
  top: clamp(-170px, -10vw, -80px);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  box-shadow:
    0 0 0 52px rgba(255,255,255,.035),
    0 0 0 104px rgba(255,255,255,.02);
  pointer-events: none;
}

.icvc-comp-hero-grid {
  isolation: isolate;
}

.icvc-comp-hero-panel {
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  box-shadow: 0 18px 40px rgba(15,61,39,.14);
}

.icvc-comp-kicker {
  min-height: 32px;
  padding: 7px 12px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #FFFFFF !important;
}

/* Sekcje i karty */
.icvc-comp-section-muted {
  background:
    radial-gradient(circle at 92% 8%, rgba(125,186,155,.10), transparent 22%),
    var(--icvc-comp-paper) !important;
}

.icvc-comp-info-card,
.icvc-comp-note,
.icvc-comp-text-card,
.icvc-comp-nav-card,
.icvc-comp-simple-card,
.icvc-comp-related-card,
.icvc-comp-teaser,
.icvc-comp-process-grid > li,
.icvc-comp-steps > li,
.icvc-comp-faq details,
.icvc-comp-accordion details,
.icvc-comp-category-link,
.icvc-comp-new-competency-steps > li,
.icvc-comp-new-competency-info,
.icvc-comp-new-competency-contact,
.icvc-comp-new-competency-download,
.icvc-comp-doc,
.icvc-comp-defense-index-item {
  border-color: var(--icvc-comp-line);
}

.icvc-comp-nav-card,
.icvc-comp-simple-card,
.icvc-comp-related-card,
.icvc-comp-info-card,
.icvc-comp-teaser,
.icvc-comp-category-link,
.icvc-comp-doc,
.icvc-comp-defense-index-item {
  box-shadow: 0 10px 28px rgba(15,90,58,.055);
}

.icvc-comp-nav-card:hover,
.icvc-comp-teaser:hover,
.icvc-comp-category-link:hover,
.icvc-comp-defense-index-item:hover {
  border-color: var(--icvc-comp-300);
  box-shadow: 0 16px 34px rgba(15,90,58,.09);
}

.icvc-comp-note {
  border-left-color: var(--icvc-comp-700);
  background: var(--icvc-comp-100) !important;
}

/* Nagłówki i akcenty */
.icvc-comp-page h2,
.icvc-comp-page h3,
.icvc-comp-page h4 {
  color: var(--icvc-comp-900) !important;
}

.icvc-comp-eyebrow,
.icvc-comp-nav-card > span,
.icvc-comp-simple-card > span,
.icvc-comp-card-index,
.icvc-comp-category-number,
.icvc-comp-teaser span,
.icvc-comp-defense-index-item span {
  color: var(--icvc-comp-900) !important;
}

.icvc-comp-text-link,
.icvc-comp-nav-card a,
.icvc-comp-step-text a,
.icvc-comp-new-competency-contact a {
  color: var(--icvc-comp-900) !important;
}

/* Przyciski */
.icvc-comp-button,
.icvc-comp-btn,
.icvc-comp-download,
.icvc-comp-doc-link,
.icvc-comp-registry-all-link,
.icvc-comp-competency-direct-link {
  min-height: 48px;
  border-radius: 16px;
  font-weight: 800;
}

.icvc-comp-button-primary,
.icvc-comp-download,
.icvc-comp-doc-link,
.icvc-comp-registry-all-link,
.icvc-comp-competency-direct-link,
.icvc-comp-btn-new-competency {
  background: var(--icvc-comp-900) !important;
  border-color: var(--icvc-comp-900) !important;
  color: #FFFFFF !important;
}

.icvc-comp-button-primary:hover,
.icvc-comp-download:hover,
.icvc-comp-doc-link:hover,
.icvc-comp-registry-all-link:hover,
.icvc-comp-competency-direct-link:hover,
.icvc-comp-btn-new-competency:hover {
  background: var(--icvc-comp-brand-dark) !important;
  border-color: var(--icvc-comp-brand-dark) !important;
}

/* Nawigacja lokalna */
.icvc-comp-section-nav-link-active,
.icvc-comp-section-nav-link:hover {
  background: var(--icvc-comp-100) !important;
  color: var(--icvc-comp-900) !important;
}

/* Pille / małe elementy */
.icvc-comp-protection-link {
  border-color: var(--icvc-comp-line);
  background: var(--icvc-comp-100) !important;
  color: var(--icvc-comp-900) !important;
}

/* Numery etapów i małe znaki */
.icvc-comp-process-grid > li > span:first-child,
.icvc-comp-step-number,
.icvc-comp-new-competency-number,
.icvc-comp-new-competency-info-icon {
  background: var(--icvc-comp-900) !important;
  color: #FFFFFF !important;
}

/* CTA końcowe - ciemna zieleń instytucjonalna */
.icvc-comp-cta,
.icvc-comp-cta-band {
  background:
    radial-gradient(circle at 88% 14%, rgba(78,196,116,.10), transparent 24%),
    linear-gradient(135deg, #123D27 0%, #0F5A3A 58%, #1A5632 100%) !important;
}

/* Dokumenty i ikony */
.icvc-comp-doc-icon {
  background: var(--icvc-comp-100) !important;
  color: var(--icvc-comp-900) !important;
}

/* Indeks przemysłu obronnego */
.icvc-comp-defense-index-item span {
  background: var(--icvc-comp-100) !important;
}

/* Kompatybilność starych anchorów */
.icvc-comp-legacy-target {
  border-color: var(--icvc-comp-line);
  border-left-color: var(--icvc-comp-700);
  background: var(--icvc-comp-100) !important;
}

/* WCAG: wyraźny focus zgodny z systemem ICVC */
.icvc-comp-page :where(a, summary, button):focus-visible {
  outline: 4px solid var(--icvc-comp-focus) !important;
  outline-offset: 3px !important;
}

/* Jasna zieleń nie służy jako kolor drobnego tekstu. */
.icvc-comp-page p,
.icvc-comp-page li {
  color: var(--icvc-comp-text);
}

@media (prefers-contrast: more) {
  .icvc-comp-info-card,
  .icvc-comp-note,
  .icvc-comp-nav-card,
  .icvc-comp-simple-card,
  .icvc-comp-related-card,
  .icvc-comp-teaser,
  .icvc-comp-category-link,
  .icvc-comp-doc,
  .icvc-comp-defense-index-item {
    border-color: #9AB7A6;
  }

  .icvc-comp-muted {
    color: #4D4D4D !important;
  }
}


/*
  WCAG:
  #2E8B57 pozostaje kolorem akcentowym, obramowań i elementów graficznych.
  Dla drobnego tekstu oraz CTA z białym tekstem stosowany jest #0F5A3A,
  ponieważ zapewnia wyższy kontrast.
*/


/* =========================================================
   SYGNET KOMPETENCJE ICVC W HERO
   Oficjalny znak: https://icvc.eu/wp-content/uploads/2026/07/kompetencje.png
   ========================================================= */

.icvc-comp-hero-title-row {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 28px);
  margin-bottom: 22px;
}

.icvc-comp-hero-title-row h1 {
  margin-bottom: 0 !important;
}

.icvc-comp-hero-signet-wrap {
  flex: 0 0 auto;
  width: clamp(92px, 9vw, 118px);
  aspect-ratio: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: clamp(10px, 1.2vw, 14px);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 34px rgba(18,61,39,.18);
}

.icvc-comp-hero-signet {
  display: block;
  width: 100%;
  height: auto;
  max-width: 112px;
  object-fit: contain;
}

@media (max-width: 720px) {
  .icvc-comp-hero-title-row {
    align-items: flex-start;
    gap: 16px;
  }

  .icvc-comp-hero-signet-wrap {
    width: 78px;
    border-radius: 20px;
    padding: 9px;
  }

  .icvc-comp-hero-title-row h1 {
    font-size: clamp(2rem, 9vw, 3rem);
  }
}

@media (max-width: 480px) {
  .icvc-comp-hero-title-row {
    display: grid;
    grid-template-columns: 64px minmax(0,1fr);
    gap: 14px;
  }

  .icvc-comp-hero-signet-wrap {
    width: 64px;
    border-radius: 18px;
    padding: 8px;
  }
}/* End custom CSS */