:root {
  --ds-navy: #123d68;
  --ds-blue: #1769b0;
  --ds-blue-bright: #2377c7;
  --ds-sky: #eaf4fc;
  --ds-ice: #f5f9fc;
  --ds-ink: #14263a;
  --ds-muted: #53677a;
  --ds-coral: #ee765c;
  --ds-gold: #e9aa3d;
  --ds-white: #fff;
  --ds-border: #dce8f2;
  --ds-radius: 22px;
  --ds-shadow: 0 14px 38px rgba(20, 61, 104, .10);
}

.ds-modern-design {
  color: var(--ds-ink);
  background: var(--ds-white);
  font-size: 18px;
  line-height: 1.65;
}

.ds-modern-design * { box-sizing: border-box; }
.ds-modern-design a { text-underline-offset: 3px; }
.ds-modern-design :focus-visible {
  outline: 3px solid var(--ds-gold) !important;
  outline-offset: 3px;
}

.ds-modern-design header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(18,61,104,.10);
  box-shadow: 0 5px 22px rgba(18,61,104,.06);
  backdrop-filter: blur(14px);
}

.ds-modern-design.admin-bar header.wp-block-template-part { top: 32px; }
.ds-modern-design header .wp-block-group { max-width: 1220px; margin-inline: auto; }
.ds-modern-design header .custom-logo { max-height: 90px; width: auto; }
.ds-modern-design header .ds-header { gap: 26px; padding-block: 14px !important; }
.ds-modern-design header .ds-header > .wp-block-group { flex: 1 1 auto; min-width: 0; }
.ds-modern-design header .ds-header .wp-block-buttons { flex: 0 0 auto; }
.ds-modern-design header .ds-header .wp-block-button__link {
  width: auto !important;
  min-width: 168px;
  white-space: nowrap;
}
.ds-modern-design header .wp-block-navigation-item__content {
  color: var(--ds-ink);
  font-size: 16px;
  font-weight: 700;
  padding: 12px 8px;
  border-radius: 10px;
}
.ds-modern-design header .wp-block-navigation-item__content:hover {
  color: var(--ds-blue);
  background: var(--ds-sky);
}

.ds-modern-design .entry-content { overflow: clip; }
.ds-modern-design .entry-content > .alignfull:first-of-type { margin-top: 0 !important; }

.ds-modern-design :is(.ds-hero,.da-hero,.dv-hero,.dg-hero,.dp-hero,.dn-hero,.do-hero) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(135deg, #f8fbfe 0%, #e8f4fd 64%, #fff5ee 100%) !important;
  border-bottom: 1px solid var(--ds-border);
}

.ds-modern-design :is(.ds-hero,.da-hero,.dv-hero,.dg-hero,.dp-hero,.dn-hero,.do-hero)::after {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  right: -150px;
  top: -160px;
  z-index: -1;
  border-radius: 50%;
  background: rgba(35,119,199,.10);
}

.ds-modern-design .ds-hero { min-height: 620px; }
.ds-modern-design .ds-hero-image {
  min-height: 470px;
  border-radius: 32px;
  background-image: linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,0)), url('hero-generace-real.png') !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: var(--ds-shadow);
  border: 1px solid rgba(255,255,255,.8);
}
.ds-modern-design .ds-hero-image > * { opacity: 0 !important; }

.ds-modern-design :is(.da-hero-art,.dv-hero-art,.dg-hero-art,.dp-hero-art,.dn-hero-art,.do-hero-art) {
  min-height: 410px;
  border-radius: 30px;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: var(--ds-shadow);
  border: 1px solid rgba(255,255,255,.85);
}
.ds-modern-design .da-hero-art { background-image: url('poradna-real.png') !important; }
.ds-modern-design .dv-hero-art { background-image: url('videa-real.png') !important; }
.ds-modern-design .dg-hero-art { background-image: url('navody-real.png') !important; }
.ds-modern-design .dp-hero-art { background-image: url('hero-generace-real.png') !important; }
.ds-modern-design .dn-hero-art { background-image: url('aktualne-real.png') !important; }
.ds-modern-design .do-hero-art { background-image: url('organizace-real.png') !important; }
.ds-modern-design :is(.da-hero-art,.dv-hero-art,.dg-hero-art,.dp-hero-art,.dn-hero-art,.do-hero-art) > * {
  opacity: 0 !important;
}

.ds-modern-design :is(.ds-hero-title,.da-hero-title,.dv-hero-title,.dg-hero-title,.dp-hero-title,.dn-hero-title,.do-hero-title) {
  color: var(--ds-ink) !important;
  font-size: clamp(42px, 5.2vw, 72px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
  margin-bottom: 24px !important;
}

.ds-modern-design :is(.ds-hero-subtitle,.da-hero-subtitle,.dv-hero-subtitle,.dg-hero-subtitle,.dp-hero-subtitle,.dn-hero-subtitle,.do-hero-subtitle) {
  color: var(--ds-blue) !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ds-modern-design :is(.ds-hero-text,.da-hero-text,.dv-hero-text,.dg-hero-text,.dp-hero-text,.dn-hero-text,.do-hero-text) {
  color: var(--ds-muted) !important;
  font-size: clamp(18px, 2vw, 21px) !important;
  line-height: 1.65 !important;
  max-width: 660px;
}

.ds-modern-design :is(.ds-container,.da-container,.dv-container,.dg-container,.dp-container,.dn-container,.do-container) {
  width: min(1180px, calc(100% - 40px)) !important;
  margin-inline: auto !important;
}

.ds-modern-design :is(.ds-section,.da-section,.dv-section,.dg-section,.dp-section,.dn-section,.do-section) {
  padding-top: clamp(64px, 8vw, 104px) !important;
  padding-bottom: clamp(64px, 8vw, 104px) !important;
}

.ds-modern-design :is(.ds-title,.da-title,.dv-title,.dg-title,.dp-title,.dn-title,.do-title) {
  color: var(--ds-ink) !important;
  font-size: clamp(31px, 4vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.ds-modern-design :is(.ds-intro,.da-intro,.dv-intro,.dg-intro,.dp-intro,.dn-intro,.do-intro) {
  color: var(--ds-muted) !important;
  font-size: 19px !important;
  max-width: 720px;
}

.ds-modern-design :is(.ds-card,.ds-core-card,.da-card,.dp-card,.do-card,.ds-topic-card,.ds-quick-card,.ds-audience-card,.do-program,.do-partner) {
  border: 1px solid var(--ds-border) !important;
  border-radius: var(--ds-radius) !important;
  background: var(--ds-white) !important;
  box-shadow: 0 7px 25px rgba(18,61,104,.07) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ds-modern-design :is(.ds-card,.ds-core-card,.da-card,.dp-card,.do-card,.ds-topic-card,.ds-quick-card,.ds-audience-card,.do-program,.do-partner):hover {
  transform: translateY(-4px);
  border-color: #bcd7ed !important;
  box-shadow: var(--ds-shadow) !important;
}

.ds-modern-design .ds-core-card-media {
  background: linear-gradient(145deg, var(--ds-sky), #fef8f2) !important;
}
.ds-modern-design .ds-core-card-content { padding: 24px !important; }
.ds-modern-design .ds-core-card h3 { color: var(--ds-ink); line-height: 1.3; }
.ds-modern-design .ds-core-kicker { color: var(--ds-blue) !important; font-weight: 800; }
.ds-modern-design .ds-core-more { color: var(--ds-blue) !important; font-weight: 800; }

.ds-modern-design :is(.wp-element-button,.wp-block-button__link) {
  min-height: 52px;
  padding: 14px 24px !important;
  border-radius: 999px !important;
  background: var(--ds-blue) !important;
  color: var(--ds-white) !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 20px rgba(23,105,176,.18);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.ds-modern-design :is(.wp-element-button,.wp-block-button__link):hover {
  transform: translateY(-2px);
  background: var(--ds-navy) !important;
  box-shadow: 0 11px 24px rgba(18,61,104,.24);
}

.ds-modern-design :is(.wp-block-search__inside-wrapper,.ds-search,.da-search,.dv-search,.dg-search,.dp-search,.dn-search) {
  border-radius: 18px !important;
}
.ds-modern-design .wp-block-search__inside-wrapper {
  padding: 6px !important;
  background: var(--ds-white);
  border: 1px solid var(--ds-border) !important;
  box-shadow: 0 8px 24px rgba(18,61,104,.08);
}
.ds-modern-design .wp-block-search__input {
  min-height: 52px;
  color: var(--ds-ink);
  font-size: 17px;
  border: 0 !important;
}

.ds-modern-design .ds-newsletter {
  border-radius: 26px !important;
  box-shadow: var(--ds-shadow);
}
.ds-modern-design .ds-newsletter input[type="email"] {
  min-height: 52px;
  font-size: 17px;
  border-radius: 12px !important;
}

.ds-modern-design .dp-group-card:nth-of-type(1) .dp-group-image {
  background-image: url('seniori-real.png') !important;
  background-size: cover !important;
  background-position: center !important;
}
.ds-modern-design .dp-group-card:nth-of-type(2) .dp-group-image {
  background-image: url('rodice-real.png') !important;
  background-size: cover !important;
  background-position: center !important;
}
.ds-modern-design .dp-group-card:nth-of-type(3) .dp-group-image {
  background-image: url('deti-real.png') !important;
  background-size: cover !important;
  background-position: center !important;
}
.ds-modern-design .dp-group-card:nth-of-type(4) .dp-group-image {
  background-image: url('poradna-real.png') !important;
  background-size: cover !important;
  background-position: center !important;
}
.ds-modern-design .dp-group-card:nth-of-type(1) .dp-group-image > *,
.ds-modern-design .dp-group-card:nth-of-type(2) .dp-group-image > *,
.ds-modern-design .dp-group-card:nth-of-type(3) .dp-group-image > *,
.ds-modern-design .dp-group-card:nth-of-type(4) .dp-group-image > * { opacity: 0 !important; }

.ds-modern-design .ds-topic-card:nth-of-type(1) { --ds-topic-photo: url('bezpecnost-real.png'); }
.ds-modern-design .ds-topic-card:nth-of-type(2) { --ds-topic-photo: url('ai-real.png'); }
.ds-modern-design .ds-topic-card:nth-of-type(3) { --ds-topic-photo: url('navody-real.png'); }
.ds-modern-design .ds-topic-card:nth-of-type(4) { --ds-topic-photo: url('digitalni-stat-real.png'); }
.ds-modern-design .ds-topic-card[style] { background-image: none; }

.ds-modern-design footer.wp-block-template-part {
  margin-top: 0;
  background: var(--ds-navy);
  color: rgba(255,255,255,.86);
}
.ds-modern-design footer a { color: var(--ds-white) !important; }
.ds-modern-design footer .custom-logo { filter: brightness(0) invert(1); }

@media (max-width: 900px) {
  .ds-modern-design { font-size: 17px; }
  .ds-modern-design.admin-bar header.wp-block-template-part { top: 46px; }
  .ds-modern-design header .custom-logo { max-height: 70px; }
  .ds-modern-design .ds-hero { min-height: auto; }
  .ds-modern-design header .ds-header { flex-wrap: wrap !important; }
  .ds-modern-design header .ds-header > .wp-block-group { flex-basis: 100%; justify-content: space-between !important; }
  .ds-modern-design header .ds-header .wp-block-buttons { margin-left: auto; }
  .ds-modern-design .ds-hero-image { min-height: 390px; background-position: 58% center !important; }
}

@media (max-width: 600px) {
  .ds-modern-design :is(.ds-container,.da-container,.dv-container,.dg-container,.dp-container,.dn-container,.do-container) {
    width: min(100% - 28px, 1180px) !important;
  }
  .ds-modern-design :is(.ds-hero-title,.da-hero-title,.dv-hero-title,.dg-hero-title,.dp-hero-title,.dn-hero-title,.do-hero-title) {
    font-size: clamp(38px, 12vw, 52px) !important;
  }
  .ds-modern-design .ds-hero-image { min-height: 300px; border-radius: 22px; }
  .ds-modern-design :is(.wp-element-button,.wp-block-button__link) { width: 100%; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .ds-modern-design *, .ds-modern-design *::before, .ds-modern-design *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
