@import url('default.css');

body.tpl-politika {
  --pol-blue: var(--bsc-primary, #1e40af);
  --pol-blue-dark: var(--bsc-primary-dark, #1a3699);
  --pol-red: #dc2626;
  --pol-on-blue: var(--bsc-on-primary, #ffffff);
  --pol-ink: var(--bsc-text, #0f172a);
  --pol-muted: color-mix(in srgb, var(--bsc-text-muted, #6b6b80) 70%, var(--bsc-text, #0f172a));
  --pol-line: var(--bsc-line, #e2e8f0);
  --pol-soft: var(--bsc-surface, #f1f5f9);
  --pol-card: var(--bsc-bg, #ffffff);
}

body.tpl-politika .site-header {
  border-top: 4px solid var(--pol-blue);
  box-shadow: 0 1px 0 var(--pol-line);
}
body.tpl-politika .logo {
  color: var(--pol-blue);
  font-weight: 800;
  letter-spacing: -0.01em;
}
body.tpl-politika .site-header .logo-img {
  height: 44px;
  max-height: 44px;
  width: auto;
  object-fit: contain;
}
body.tpl-politika .header-cta {
  background: var(--bsc-btn-bg, var(--pol-blue));
  color: var(--bsc-btn-text, var(--pol-on-blue));
  border-radius: 6px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
body.tpl-politika .header-cta:hover {
  background: var(--bsc-btn-hover-bg, var(--pol-blue-dark));
  color: var(--bsc-btn-text, var(--pol-on-blue));
}
body.tpl-politika .site-footer {
  border-top: 4px solid var(--pol-blue);
}

body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-h2 {
  color: var(--pol-ink);
  font-weight: 800;
  text-transform: none;
  letter-spacing: -0.01em;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-eyebrow,
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-sparkle {
  color: var(--pol-blue);
}

body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero-style-bold {
  background: linear-gradient(135deg, var(--pol-blue), var(--pol-blue-dark));
  border-bottom: 6px solid var(--pol-red);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero-style-bold .rv-h1,
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero-style-bold .rv-h1-filled {
  color: var(--pol-on-blue);
  font-weight: 800;
  font-size: clamp(40px, 6.6vw, 82px);
  line-height: 1.03;
  letter-spacing: -0.015em;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero-style-bold .rv-hero-text {
  color: color-mix(in srgb, var(--pol-on-blue) 92%, transparent);
  font-size: 19px;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero .rv-eyebrow,
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero .rv-sparkle {
  color: color-mix(in srgb, var(--pol-on-blue) 85%, transparent);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero .rv-stat-value,
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero .rv-stat-text,
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero .rv-stat-label {
  color: var(--pol-on-blue);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero .rv-stat {
  border-right-color: color-mix(in srgb, var(--pol-on-blue) 28%, transparent);
}
/* Hero ma biele pozadie a tlacidlo tiez, takze samotny tien za hranicu
   nestaci — pomer plochy tlacidla voci ploche pod nim bol 1,00. Hrana je
   vo farbe vlastneho textu tlacidla, vypln ani tvar sa nemenia. */
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero .rv-btn {
  background: var(--pol-on-blue);
  color: var(--pol-blue);
  border: 1px solid var(--pol-blue);
  border-radius: 6px !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero .rv-btn svg {
  background: var(--pol-blue);
  color: var(--pol-on-blue);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero .rv-btn-ghost {
  color: var(--pol-on-blue);
  border-color: color-mix(in srgb, var(--pol-on-blue) 70%, transparent);
  border-radius: 6px !important;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-hero .rv-btn-ghost:hover {
  background: color-mix(in srgb, var(--pol-on-blue) 12%, transparent);
  border-color: var(--pol-on-blue);
  color: var(--pol-on-blue);
}

body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-btn {
  background: var(--bsc-btn-bg, var(--pol-blue));
  color: var(--bsc-btn-text, var(--pol-on-blue));
  border-radius: 6px !important;
  box-shadow: 0 8px 24px rgba(30, 64, 175, 0.22);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-btn svg {
  background: var(--bsc-btn-text, var(--pol-on-blue));
  color: var(--bsc-btn-bg, var(--pol-blue));
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-btn-ghost {
  color: var(--pol-blue);
  border-color: var(--pol-blue);
  border-radius: 6px !important;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-btn-ghost:hover {
  background: color-mix(in srgb, var(--pol-blue) 6%, transparent);
  border-color: var(--pol-blue-dark);
  color: var(--pol-blue-dark);
}

body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-section-alt {
  background: var(--pol-soft);
  border-top-color: var(--pol-line);
  border-bottom-color: var(--pol-line);
}

body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-services-grid {
  align-items: start;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-service-card {
  min-height: 0;
  height: auto;
  align-self: start;
  background: var(--pol-card);
  border: 1px solid var(--pol-line);
  border-left: 4px solid var(--pol-blue);
  border-radius: 8px;
  padding: 32px 28px;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-service-card:hover {
  transform: translateY(-3px);
  border-left-color: var(--pol-red);
  box-shadow: 0 14px 32px rgba(30, 64, 175, 0.13);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-service-card-icon {
  background: var(--pol-soft);
  border-color: var(--pol-line);
  border-radius: 10px;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-service-card-icon-ph {
  color: var(--pol-blue);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-service-card-title {
  color: var(--pol-ink);
  font-weight: 700;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-service-card-desc {
  color: var(--pol-muted);
}

body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-stat-value-lg,
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-stats-band .rv-stat-value {
  color: var(--pol-blue);
  text-shadow: none;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-stats-band .rv-stat-label {
  color: var(--pol-muted);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-stats-band .rv-stat {
  border-right: none;
}

body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-about-text {
  color: var(--pol-muted);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-about-body .rv-stat-value {
  color: var(--pol-blue);
}

body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-testimonial-card {
  background: var(--pol-card);
  border: 1px solid var(--pol-line);
  border-top: 3px solid var(--pol-blue);
  border-radius: 8px;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-testimonial-rating svg {
  color: var(--pol-blue);
  fill: var(--pol-blue);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-testimonial-quote {
  color: var(--pol-ink);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-testimonial-author-name {
  color: var(--pol-blue);
}

body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-cta-band {
  background: linear-gradient(135deg, var(--pol-blue), var(--pol-blue-dark));
  color: var(--pol-on-blue);
  border-top: 6px solid var(--pol-red);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-cta-band .rv-cta-title {
  color: var(--pol-on-blue);
  font-weight: 800;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-cta-band .rv-cta-text {
  color: color-mix(in srgb, var(--pol-on-blue) 90%, transparent);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-cta-band .rv-btn-dark {
  background: var(--pol-on-blue) !important;
  color: var(--pol-blue) !important;
  border-radius: 6px !important;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-cta-band .rv-eyebrow-dark,
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-cta-band .rv-eyebrow-dark .rv-sparkle {
  color: color-mix(in srgb, var(--pol-on-blue) 85%, transparent);
}

body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-contact-card {
  background: var(--pol-card);
  border: 1px solid var(--pol-line);
  border-radius: 8px;
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-contact-card:hover {
  border-color: var(--pol-blue);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-contact-card-label {
  color: var(--pol-blue);
}
body.tpl-politika :is(.cp-blocks-full, .cp-page) .rv-contact-card-value {
  color: var(--pol-ink);
}

@media (max-width: 1024px) {
  body.tpl-politika:not(.bc-site) .desktop-nav { display: none; }
  body.tpl-politika:not(.bc-site) .header-cta { display: none; }
  body.tpl-politika:not(.bc-site) .menu-toggle { display: flex; }
}
