/* ============================================================
   Audiopro Theme — Component Styles
   ============================================================ */

/* ============================================================
   TYPOGRAPHY — Globální nadpisy
   ============================================================ */

h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(26px, 3.2vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.022em;
  color: var(--t50);
  margin: 0 0 24px;
  position: relative;
  padding-left: 18px;
}

h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1em;
  bottom: 0.1em;
  width: 3px;
  background: linear-gradient(to bottom, var(--a500), var(--a600));
  border-radius: 2px;
}

h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.2;
  letter-spacing: -0.018em;
  color: var(--t100);
  margin: 0 0 16px;
}

/* Suppress line: centered & card contexts */
.ap-final-cta h2,
.ap-mix-card__body h2 {
  padding-left: 0;
}
.ap-final-cta h2::before,
.ap-mix-card__body h2::before {
  display: none;
}

.ap-job-row__title {
  padding-left: 0;
}
.ap-job-row__title::before {
  display: none;
}

/* ============================================================
   NAVBAR — Main nav (64px)
   ============================================================ */

.ap-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
}

.ap-main-nav {
  background: var(--s900);
  border-bottom: 1px solid var(--s600);
  height: 64px;
  display: flex;
  align-items: center;
}

.ap-main-nav__inner {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 32px;
  width: 100%;
}

/* Logo */
.ap-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 17px;
  letter-spacing: -0.025em;
  color: var(--t50);
  text-decoration: none;
  line-height: 1;
  flex-shrink: 0;
}

.ap-logo--lg {
  font-size: 20px;
}

/* Custom logo image */
.ap-logo img,
.ap-logo a img {
  height: 32px;
  width: auto;
  display: block;
}

.ap-logo--lg img,
.ap-logo--lg a img {
  height: 48px;
  width: auto;
  display: block;
}

.ap-logo a,
.ap-logo--lg a {
  display: block;
  line-height: 0;
}

/* Desktop menu */
.ap-main-nav__menu {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0 0 0 auto;
  padding: 0;
}

.ap-main-nav__menu a {
  padding: 10px 14px;
  font-size: 15px;
  color: var(--t300);
  font-weight: 500;
  letter-spacing: -0.005em;
  border-radius: var(--r-sm);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
}

.ap-main-nav__menu a:hover {
  color: var(--t50);
  background: rgba(255, 255, 255, 0.04);
}

.ap-main-nav__menu a.current-menu-item {
  color: var(--t50);
}

/* Search icon button */
.ap-nav-search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px !important;
  color: var(--t300);
  border-radius: var(--r-sm);
  transition: color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
}

.ap-nav-search:hover {
  color: var(--t50);
  background: rgba(255, 255, 255, 0.04);
}

/* Dropdown */
.ap-dropdown-wrap {
  position: relative;
}

.ap-has-dropdown {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 10px 14px;
  font-size: 15px;
  color: var(--t300);
  font-weight: 500;
  letter-spacing: -0.005em;
  border-radius: var(--r-sm);
  background: none;
  border: none;
  cursor: pointer;
  transition: color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
}

.ap-has-dropdown:hover,
.ap-dropdown-wrap.open .ap-has-dropdown {
  color: var(--t50);
  background: rgba(255, 255, 255, 0.04);
}

.ap-has-dropdown.current-menu-item {
  color: var(--t50);
}

.ap-dropdown-wrap::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 8px;
}

.ap-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: var(--s600);
  border: 1px solid var(--s500);
  border-radius: 0;
  min-width: max-content;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity var(--d-fast) var(--ease), transform var(--d-fast) var(--ease);
  z-index: 200;
}

.ap-dropdown-wrap:hover .ap-dropdown,
.ap-dropdown-wrap.open .ap-dropdown {
  opacity: 1;
  pointer-events: all;
  transform: none;
}

.ap-dropdown a {
  display: block;
  padding: 12px 16px;
  font-size: 14px;
  color: var(--t300);
  border-bottom: 1px solid var(--line);
  border-radius: 0 !important;
  background: transparent !important;
}

.ap-dropdown a:last-child {
  border-bottom: none;
}

.ap-dropdown a:hover {
  color: var(--t50) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

/* Category nav (48px) */
.ap-cat-nav {
  background: var(--s800);
  border-bottom: 1px solid var(--s600);
  height: 48px;
}

.ap-cat-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

.ap-cat-nav__list {
  display: flex;
  align-items: center;
  height: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}

.ap-cat-nav__list::-webkit-scrollbar {
  display: none;
}

/* Scroll fade hints — aplikuje se na všechny horizontálně scrollující nav */
.scroll-hint--end {
  -webkit-mask-image: linear-gradient(to right, black calc(100% - 48px), transparent 100%);
          mask-image: linear-gradient(to right, black calc(100% - 48px), transparent 100%);
}
.scroll-hint--start {
  -webkit-mask-image: linear-gradient(to right, transparent 0, black 48px);
          mask-image: linear-gradient(to right, transparent 0, black 48px);
}
.scroll-hint--start.scroll-hint--end {
  -webkit-mask-image: linear-gradient(to right, transparent 0, black 48px, black calc(100% - 48px), transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, black 48px, black calc(100% - 48px), transparent 100%);
}

.ap-cat-nav__list a {
  padding: 0 18px;
  height: 48px;
  font-size: 14px;
  color: var(--t300);
  font-weight: 500;
  letter-spacing: -0.005em;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color var(--d-fast) var(--ease), border-color var(--d-fast) var(--ease);
}

.ap-cat-nav__list a:first-child {
  padding-left: 0;
}

.ap-cat-nav__list a:hover {
  color: var(--t50);
}


.ap-cat-nav__all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--t300);
  padding: 0 8px;
  text-decoration: none;
  flex-shrink: 0;
  transition: color var(--d-fast) var(--ease);
}

.ap-cat-nav__all:hover {
  color: var(--t50);
}

/* Hamburger — hidden on desktop */
.ap-hamburger {
  display: none;
}

.ap-mobile-actions {
  display: none;
}

.ap-mobile-search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--t300);
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: color var(--d-fast) var(--ease), border-color var(--d-fast) var(--ease);
}

.ap-mobile-search:hover {
  color: var(--t50);
  border-color: var(--s500);
}

/* Drawer — hidden on desktop */
.ap-drawer {
  display: none;
}

/* ============================================================
   NAVBAR — Mobile
   ============================================================ */

@media (max-width: 640px) {
  .ap-main-nav {
    height: 56px;
  }

  .ap-main-nav__menu {
    display: none;
  }

  .ap-mobile-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    flex-shrink: 0;
  }

  .ap-hamburger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--s700);
    border: 1px solid var(--s600);
    border-radius: var(--r-sm);
    color: var(--t300);
    cursor: pointer;
    flex-shrink: 0;
  }

  .ap-cat-nav__list {
    white-space: nowrap;
  }

  .ap-cat-nav__list a {
    flex-shrink: 0;
  }

  .ap-cat-nav__all {
    display: none;
  }

  .ap-drawer {
    background: var(--s800);
    border-top: 1px solid var(--s600);
    padding: 20px;
    flex-direction: column;
    gap: 0;
  }

  .ap-drawer:not([hidden]) {
    display: flex;
  }

  .ap-drawer a {
    padding: 12px 0;
    color: var(--t100);
    font-size: 17px;
    font-weight: 500;
    border-bottom: 1px solid var(--line);
    text-decoration: none;
    display: flex;
    justify-content: space-between;
  }

  .ap-drawer a:last-child {
    border-bottom: none;
  }

  .ap-drawer__group {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--line);
    padding-bottom: 4px;
    margin-bottom: 0;
  }

  .ap-drawer__group-label {
    padding: 12px 0 8px;
    font-size: 11px;
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--t600);
  }

  .ap-drawer__sub {
    padding: 9px 0 9px 12px !important;
    font-size: 15px !important;
    border-bottom: none !important;
    color: var(--t300) !important;
  }

  .ap-drawer__sub:last-child {
    border-bottom: none !important;
    margin-bottom: 4px;
  }
}

/* ============================================================
   FOOTER
   ============================================================ */

.ap-footer {
  background: var(--s900);
  border-top: 1px solid var(--line);
}

.ap-footer__main {
  padding: 64px 0 56px;
}

.ap-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 64px;
}

.ap-footer__col-head {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--t600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.ap-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ap-footer__col ul a {
  font-size: 14px;
  color: var(--t300);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: color var(--d-fast) var(--ease);
}

.ap-footer__col ul a:hover {
  color: var(--t50);
}

.ap-footer__claim {
  font-size: 15px;
  color: var(--t300);
  line-height: 1.55;
  max-width: 320px;
  margin-top: 20px;
}

.ap-footer__social {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.ap-footer__social a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--s600);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--t400);
  text-decoration: none;
  transition: all var(--d-fast) var(--ease);
}

.ap-footer__social a:hover {
  color: var(--t50);
  border-color: var(--s500);
  background: rgba(255, 255, 255, 0.03);
}

.ap-footer__social-eshop {
  width: auto !important;
  padding: 0 12px;
  border-radius: 18px !important;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.ap-footer__contact {
  font-size: 14px;
  color: var(--t300);
  line-height: 1.7;
}

.ap-footer__contact span {
  display: block;
}

.ap-footer__contact b {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--t600);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: block;
  margin-top: 12px;
  margin-bottom: 2px;
}

.ap-footer__contact b:first-child {
  margin-top: 0;
}

.ap-footer__bottom {
  border-top: 1px solid var(--line);
  padding: 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: var(--t600);
  flex-wrap: wrap;
  gap: 16px;
}

.ap-footer__bottom-right {
  display: flex;
  gap: 20px;
  align-items: center;
}

.ap-footer__bottom-right a {
  color: var(--t600);
  text-decoration: none;
  transition: color var(--d-fast) var(--ease);
}

.ap-footer__bottom-right a:hover {
  color: var(--t300);
}

.ap-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line);
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--t400);
  letter-spacing: 0.04em;
}

@media (max-width: 640px) {
  .ap-footer__main {
    padding: 48px 0 32px;
  }

  .ap-footer__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ap-footer__bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

/* ============================================================
   HOMEPAGE — Hero
   ============================================================ */

.ap-hero {
  position: relative;
  height: 720px;
  overflow: hidden;
  background: var(--s900);
}

.ap-hero__photo {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.ap-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ap-hero__photo-placeholder {
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(135deg, var(--s800) 0%, var(--s700) 50%, var(--s800) 100%);
}

.ap-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    var(--s950) 0%,
    rgba(10, 18, 36, 0.92) 25%,
    rgba(10, 18, 36, 0.6) 45%,
    rgba(10, 18, 36, 0.15) 65%,
    transparent 100%
  );
  z-index: 2;
}

.ap-hero__arch-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(138, 163, 255, 0.14) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(138, 163, 255, 0.10) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(225deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.2) 40%, transparent);
  -webkit-mask-image: linear-gradient(225deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.2) 40%, transparent);
  pointer-events: none;
  z-index: 3;
}

.ap-hero__content-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  z-index: 4;
  max-width: var(--maxw);
  margin: 0 auto;
  left: 0;
  right: 0;
  padding: 0 var(--pad);
}

.ap-hero__content {
  width: 52%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ap-hero__overline {
  margin-bottom: 28px;
}

.ap-hero__headline {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(48px, 5vw, 72px);
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: var(--t50);
  margin: 0;
}

.ap-hero__perex {
  font-size: 19px;
  line-height: 1.55;
  color: var(--t300);
  margin: 28px 0 40px;
  max-width: 50ch;
}

.ap-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

@media (max-width: 960px) {
  .ap-hero {
    height: auto;
    min-height: 600px;
  }

  .ap-hero__photo {
    display: none;
  }

  .ap-hero__overlay {
    background: linear-gradient(180deg, var(--s950), rgba(10, 18, 36, 0.9));
  }

  .ap-hero__content-wrap {
    position: relative;
    inset: auto;
    padding: 80px var(--pad) 60px;
  }

  .ap-hero__content {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .ap-hero__headline {
    font-size: 36px;
  }
}

/* ============================================================
   HOMEPAGE — Trust bar
   ============================================================ */

.ap-trust {
  background: var(--s800);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 40px 0;
}
.ap-listing-hero + .ap-trust {
  border-top: none;
}

.ap-trust__head {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 48px;
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--line);
  align-items: start;
}

.ap-trust__stat-label {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--t600);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.ap-trust__stat-num {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 48px;
  letter-spacing: -0.025em;
  color: var(--t50);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.ap-trust__stat-cap {
  font-size: 14px;
  color: var(--t300);
  margin-top: 8px;
  line-height: 1.45;
}

.ap-trust__desc {
  font-size: 15px;
  color: var(--t400);
  line-height: 1.6;
}

.ap-trust__logos {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

.ap-trust__logos span {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 19px;
  letter-spacing: -0.01em;
  color: var(--t400);
  white-space: nowrap;
  transition: color var(--d-fast) var(--ease);
  cursor: default;
}

.ap-trust__logos span:hover {
  color: var(--t50);
}

@media (max-width: 960px) {
  .ap-trust__head {
    grid-template-columns: 1fr 1fr;
  }

  .ap-trust__head > *:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .ap-trust__head {
    grid-template-columns: 1fr;
  }

  .ap-trust__logos span {
    font-size: 16px;
  }
}

/* ============================================================
   HOMEPAGE — Areas / Categories grid
   ============================================================ */

.ap-areas-section {
  padding: 80px 0;
  border-bottom: 1px solid var(--line);
}

.ap-sec-head {
  margin-bottom: 56px;
}

.ap-sec-head .overline {
  margin-bottom: 24px;
}

.ap-sec-title {
  line-height: 1.08;
  margin: 0;
}

.ap-sec-sub {
  font-size: 18px;
  line-height: 1.55;
  color: var(--t300);
  margin: 20px 0 0;
}

.ap-areas {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
}

.ap-area-card {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 320px;
  text-decoration: none;
  transition: all var(--d-med) var(--ease);
}

.ap-area-card:hover {
  border-color: var(--a500);
}

.ap-area-card__photo {
  height: 160px;
  background: linear-gradient(135deg, var(--s800), var(--s900));
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}

.ap-area-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--d-med) var(--ease);
}

.ap-area-card:hover .ap-area-card__photo img {
  transform: scale(1.04);
}

.ap-area-card__body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.ap-area-card__code {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--t600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.ap-area-card__body h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 20px;
  letter-spacing: -0.012em;
  color: var(--t50);
  margin: 0;
}

.ap-area-card__body .blurb {
  font-size: 13px;
  color: var(--t300);
  margin: 8px 0 0;
  line-height: 1.55;
  text-wrap: balance;
}

.ap-area-card__link {
  margin-top: auto;
  padding-top: 16px;
  font-size: 13px;
  color: var(--a400);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Segments card */
.ap-area-card.segments {
  background: linear-gradient(180deg, var(--s800), var(--s700));
  border-color: var(--s500);
  cursor: default;
}

.ap-area-card.segments:hover {
  transform: none;
  border-color: var(--s500);
}

.ap-area-card.segments .ap-area-card__body {
  padding: 28px 26px;
}

.ap-seg-label {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--a300);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.ap-seg-line {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
  text-decoration: none;
}

.ap-seg-line:last-child {
  border-bottom: none;
}

.ap-seg-line--link {
  grid-template-columns: 28px 1fr auto;
  transition: background 200ms ease;
}

.ap-seg-line--link:hover .ap-seg-name {
  color: var(--a400);
}

.ap-seg-line--link:hover .ap-seg-arrow {
  color: var(--a400);
}

.ap-seg-no {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 13px;
  color: var(--t600);
  font-variant-numeric: tabular-nums;
}

.ap-seg-name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 13px;
  color: var(--t50);
  letter-spacing: -0.005em;
  line-height: 1.3;
  transition: color 200ms ease;
}

.ap-seg-arrow {
  color: var(--t600);
  flex-shrink: 0;
  transition: color 200ms ease;
}

/* Komplex band */
.ap-komplex {
  margin-top: 24px;
  background: linear-gradient(180deg, var(--s800), var(--s700));
  border: 1px solid var(--s500);
  border-radius: var(--r-lg);
  padding: 40px;
}

.ap-komplex__head {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--line);
  align-items: end;
}

.ap-komplex__head h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--t50);
  margin: 0;
}

.ap-komplex__head p {
  font-size: 15px;
  color: var(--t300);
  line-height: 1.6;
  margin: 0;
}

.ap-komplex__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.ap-komplex__cell {
  padding: 18px 20px;
  background: var(--s900);
  border: 1px solid var(--s600);
  border-radius: 10px;
  font-size: 14px;
  color: var(--t100);
  font-weight: 500;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: baseline;
}

.ap-komplex__num {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 13px;
  color: var(--t600);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 960px) {
  .ap-areas {
    grid-template-columns: 1fr 1fr;
  }

  .ap-komplex__head {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ap-komplex__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .ap-areas {
    grid-template-columns: 1fr;
  }

  .ap-komplex__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   HOMEPAGE — News mix grid
   ============================================================ */

.ap-mix-section {
  padding: 80px 0;
  border-bottom: 1px solid var(--line);
}

.ap-sec-head--split {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 48px;
}

.ap-sec-head--split > *:first-child {
  flex: 1;
  min-width: 0;
}


.ap-mix-section__links {
  display: flex;
  gap: 24px;
  flex-shrink: 0;
  padding-bottom: 4px;
}

.ap-mix-section__empty {
  color: var(--t600);
  font-size: 15px;
  padding: 48px 0;
  text-align: center;
}

.ap-mix-section__footer {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-top: 48px;
}

@media (max-width: 640px) {
  .ap-mix-section__footer {
    flex-direction: column;
    align-items: center;
  }
}

@media (max-width: 640px) {
  .ap-sec-head--split {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
}

.ap-mix-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.ap-mix-card {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: all var(--d-med) var(--ease);
}

.ap-mix-card:hover {
  border-color: var(--a500);
}

.ap-mix-card__photo {
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, var(--s800), var(--s900));
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}

.ap-mix-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--d-med) var(--ease);
}

.ap-mix-card:hover .ap-mix-card__photo img {
  transform: scale(1.04);
}

.ap-mix-card__chip {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(10, 18, 36, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--t100);
}

.ap-mix-card__chip.ref {
  color: var(--a300);
  border-color: rgba(138, 163, 255, 0.3);
}

.ap-mix-card__chip.news {
  color: var(--warning);
  border-color: rgba(244, 184, 96, 0.3);
}

.ap-mix-card__chip.solution {
  color: #6ee7b7;
  border-color: rgba(110, 231, 183, 0.3);
}

.ap-mix-card__date {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 10px;
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 10px;
  background: rgba(10, 18, 36, 0.7);
  border: 1px solid var(--line);
  color: var(--t300);
}

.ap-mix-card__body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.ap-mix-card__meta {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--t600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ap-mix-card__body h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--t50);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ap-mix-card__blurb {
  font-size: 13px;
  color: var(--t300);
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ap-mix-card__footer {
  margin-top: auto;
  padding-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ap-mix-card__link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: var(--a400);
  font-weight: 500;
}

@media (max-width: 960px) {
  .ap-mix-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .ap-mix-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   HOMEPAGE — Partner logo wall
   ============================================================ */

.ap-partners {
  padding: 80px 0;
  border-bottom: 1px solid var(--line);
}

.ap-logo-wall {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 80px 40px;
  text-align: center;
  margin-top: 48px;
}

.ap-logo-wall__item {
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}

.ap-logo-wall__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: grayscale(1) opacity(0.45);
  transition: filter var(--d-fast) var(--ease);
}

.ap-logo-wall__item:hover img {
  filter: grayscale(0) opacity(1);
}

.ap-logo-wall__item span {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 22px;
  letter-spacing: -0.01em;
  color: var(--t400);
  transition: color var(--d-fast) var(--ease);
  cursor: default;
  user-select: none;
  white-space: nowrap;
}

.ap-logo-wall__item span:hover {
  color: var(--t50);
}

@media (max-width: 960px) {
  .ap-logo-wall {
    grid-template-columns: repeat(3, 1fr);
    gap: 48px 24px;
  }
}

@media (max-width: 640px) {
  .ap-logo-wall {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  .ap-logo-wall__item span {
    font-size: 18px;
  }
}

/* ============================================================
   HOMEPAGE — Final CTA
   ============================================================ */

.ap-final-cta {
  background: var(--s800);
  padding: 96px 0;
  text-align: center;
}

.ap-final-cta__inner {
  max-width: 760px;
  margin: 0 auto;
}

.ap-final-cta h2 {
  font-size: clamp(28px, 3.6vw, 42px);
  line-height: 1.08;
  margin: 0 0 24px;
}

.ap-final-cta p {
  font-size: 19px;
  color: var(--t300);
  line-height: 1.55;
  margin: 0 0 32px;
}

.ap-final-cta__row {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.ap-phone-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 16px;
  color: var(--a400);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color var(--d-fast) var(--ease);
}

.ap-phone-link:hover {
  color: var(--a300);
}

@media (max-width: 640px) {
  .ap-final-cta h2 {
    font-size: 28px;
  }

  .ap-final-cta {
    padding: 64px 0;
  }
}

/* ============================================================
   CATEGORY PAGE — Hero variant
   ============================================================ */

.ap-hero--cat,
.ap-hero--tg {
  height: 480px;
  border-bottom: 1px solid var(--line);
}

.ap-cat-hero__breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--t600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 20px;
  list-style: none;
  padding: 0;
}

/* Zalamuje se celý breadcrumb (mezi crumby), ne uvnitř jednotlivého crumbu */
.ap-cat-hero__breadcrumb a,
.ap-cat-hero__breadcrumb > span {
  white-space: nowrap;
}

.ap-cat-hero__breadcrumb a {
  color: var(--t400);
  text-decoration: none;
  transition: color var(--d-fast) var(--ease);
}

.ap-cat-hero__breadcrumb a:hover {
  color: var(--t50);
}

.ap-cat-hero__breadcrumb span[aria-hidden] {
  color: var(--s500);
}

.ap-cat-hero__chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  background: rgba(138, 163, 255, 0.10);
  border: 1px solid rgba(138, 163, 255, 0.25);
  border-radius: var(--r-sm);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--a300);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  align-self: flex-start;
  margin-bottom: 20px;
}

.ap-cat-hero__headline {
  font-size: clamp(40px, 4.5vw, 60px);
}

@media (max-width: 960px) {
  .ap-hero--cat,
  .ap-hero--tg {
    height: auto;
    min-height: 0;
  }

  .ap-hero--cat .ap-hero__photo,
  .ap-hero--tg .ap-hero__photo {
    display: block;
    position: absolute;
    inset: 0;
  }

  .ap-hero--cat .ap-hero__overlay,
  .ap-hero--tg .ap-hero__overlay {
    background: linear-gradient(
      90deg,
      rgba(10, 18, 36, 1.00) 0%,
      rgba(10, 18, 36, 0.92) 45%,
      rgba(10, 18, 36, 0.60) 75%,
      rgba(10, 18, 36, 0.25) 100%
    );
  }

  .ap-hero--cat .ap-hero__content-wrap,
  .ap-hero--tg .ap-hero__content-wrap {
    position: relative;
    inset: auto;
    padding: 40px var(--pad) 20px;
  }
}

@media (max-width: 640px) {
  .ap-cat-hero__headline {
    font-size: clamp(22px, 6.5vw, 30px);
    overflow-wrap: break-word;
    hyphens: auto;
  }
}

/* ============================================================
   CATEGORY PAGE — Sections
   ============================================================ */

/* ── Category stats block ─────────────────────────── */
.ap-cat-stats {
  background: var(--s800);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 48px 0;
}
.ap-cat-stats__grid {
  display: flex;
  align-items: center;
}
.ap-cat-stats__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 32px;
  border-right: 1px solid var(--s600);
}
.ap-cat-stats__item:last-child {
  border-right: none;
}
.ap-cat-stats__num {
  font-size: 56px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--t50);
  margin-bottom: 8px;
}
.ap-cat-stats__label {
  font-size: 11px;
  font-family: var(--font-mono, monospace);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--t600);
}
.ap-cat-stats__item--cta {
  gap: 10px;
}
.ap-cat-stats__cta-text {
  font-size: 16px;
  font-weight: 500;
  color: var(--t100);
  margin: 0 0 4px;
  text-align: center;
}
.ap-cat-stats__cap {
  font-size: 11px;
  color: var(--t600);
}
@media (max-width: 640px) {
  .ap-cat-stats { padding: 40px 0; }
  .ap-cat-stats__grid {
    flex-direction: column;
    gap: 0;
  }
  .ap-cat-stats__item {
    border-right: none;
    border-bottom: 1px solid var(--s600);
    padding: 28px 0;
    width: 100%;
  }
  .ap-cat-stats__item:last-child { border-bottom: none; }
  .ap-cat-stats__num { font-size: 44px; }
}

.ap-cat-section {
  padding: 64px 0;
}

.ap-cat-section--alt {
  background: var(--s800);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.ap-cat-section--brands {
  background: var(--s800);
  border-top: 1px solid var(--line);
}

@media (max-width: 960px) {
  .ap-cat-section {
    padding: 48px 0;
  }
}

/* ============================================================
   CATEGORY PAGE — Brand grid & cards
   ============================================================ */

.ap-cat-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.ap-brand-card {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: var(--r-lg);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 200px;
  text-decoration: none;
  transition: all var(--d-med) var(--ease);
}

.ap-brand-card:hover {
  transform: translateY(-3px);
  border-color: var(--a500);
}

.ap-brand-card__logo {
  height: 44px;
  display: flex;
  align-items: center;
}

.ap-brand-card__logo img {
  max-height: 44px;
  width: auto;
  object-fit: contain;
}

.ap-brand-card__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 22px;
  letter-spacing: -0.018em;
  color: var(--t50);
  line-height: 1.1;
}

.ap-brand-card__note {
  font-size: 13px;
  color: var(--t300);
  line-height: 1.55;
  flex: 1;
  margin: 0;
}

.ap-brand-card__link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: var(--a400);
  font-weight: 500;
  margin-top: auto;
}

@media (max-width: 960px) {
  .ap-cat-brand-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .ap-cat-brand-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Utility — screen reader only
   ============================================================ */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ============================================================
   BRAND PAGE — Hero (varianta brand)
   ============================================================ */

.ap-hero--brand {
  height: auto;
  background: var(--s700);
}

.ap-hero--brand .ap-hero__overlay,
.ap-hero--brand .ap-hero__arch-grid {
  display: none;
}

.ap-hero--brand__wrap {
  position: relative;
  inset: auto;
  padding: 28px var(--pad);
  display: flex;
  align-items: center;
  gap: 48px;
}

/* Sub-page hero: plochý panel se světlým pozadím jako velké hero (--s800) */
.ap-hero--brand--sub {
  background: var(--s700);
  min-height: 0;
}

.ap-hero--brand--sub .ap-hero__arch-grid,
.ap-hero--brand--sub .ap-hero--brand__overlay {
  display: none;
}

/* Sub-page: kratší wrap, bez dekorací */
.ap-hero--brand__wrap--sub {
  padding-top: 28px;
  padding-bottom: 28px;
  align-items: flex-start;
}

.ap-hero--brand--sub .ap-brand-hero__logo {
  margin-bottom: 0;
}

/* Medailonek bez karty — splyne s pozadím hero */
.ap-hero--brand--sub .ap-brand-medallion--row {
  background: transparent;
  border: none;
  padding: 0;
  width: auto;
}

.ap-brand-hero__inner {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ap-brand-hero__logo {
  max-height: 72px;
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  text-decoration: none;
}

.ap-brand-hero__logo img {
  max-height: 72px;
  max-width: 400px;
  width: auto;
  object-fit: contain;
}

.ap-brand-hero__page-h1 {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--t100);
  margin: 20px 0 24px;
}

.ap-brand-hero__desc {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.6;
  color: var(--t100);
  margin: 20px 0 0;
  max-width: 52ch;
}

.ap-brand-hero__chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.ap-brand-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 12px;
  background: rgba(56, 161, 105, 0.15);
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #7ec4a0;
  font-weight: 500;
  text-decoration: none;
  transition: background var(--d-fast) var(--ease);
}

.ap-brand-hero__chip:hover {
  background: rgba(56, 161, 105, 0.22);
}

.ap-brand-hero__chip--tg {
  background: rgba(194, 105, 56, 0.15);
  color: #d4956a;
}

.ap-brand-hero__chip--tg:hover {
  background: rgba(194, 105, 56, 0.22);
}

/* Pravý chevron na badzích kategorie/oblasti zájmu/značky */
.ap-brand-hero__chip::after,
.ap-sol-band__tags .ap-chip::after,
.ap-article-hero__tags .ap-chip::after {
  content: "";
  width: 5px;
  height: 5px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.6;
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .ap-hero--brand {
    min-height: 0;
  }

  /* Horní padding hero jako u contentu (homepage sekce 48px) */
  .ap-hero--brand__wrap {
    padding: 48px var(--pad) var(--pad);
  }

  /* Sub-page hero jako u contentu podstránek (40px) */
  .ap-hero--brand__wrap--sub {
    padding-top: 40px;
  }

  .ap-brand-hero__logo {
    max-height: 52px;
    margin-bottom: 14px;
  }

  .ap-brand-hero__logo img {
    max-height: 52px;
    max-width: 100%;
  }

  .ap-brand-hero__desc {
    font-size: 15px;
  }
}

/* ============================================================
   BRAND PAGE — Medailonek obchodníka (desktop) + kontaktní pás (mobile)
   ============================================================ */

.ap-brand-medallion {
  width: 320px;
  flex-shrink: 0;
  background: var(--s800);
  border: 1px solid var(--s600);
  border-radius: 16px;
  padding: 24px;
  z-index: 4;
}

.ap-brand-medallion__label {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--t600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.ap-brand-medallion__intro {
  font-size: 13px;
  line-height: 1.55;
  color: var(--t400);
  margin: 8px 0 0;
}

.ap-brand-medallion__divider {
  border: none;
  border-top: 1px solid var(--line);
  margin: 16px 0;
}

.ap-brand-medallion__person {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ap-brand-medallion__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--a500), var(--s950));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 24px;
  flex-shrink: 0;
  overflow: hidden;
}

.ap-brand-medallion__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid var(--line);
}

.ap-brand-medallion__avatar--sm {
  width: 72px;
  height: 72px;
  font-size: 24px;
}

.ap-brand-medallion__info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ap-brand-medallion__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
  color: var(--t50);
  margin-bottom: 2px;
}

.ap-brand-medallion__contact {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--t300);
  text-decoration: none;
  transition: color var(--d-fast) var(--ease);
}

.ap-brand-medallion__contact:hover {
  color: var(--t50);
}

.ap-brand-medallion__contact-ic {
  color: var(--t400);
  display: inline-flex;
  flex-shrink: 0;
}

/* Kompaktní medailonek — sub-page hero (vpravo vedle loga) */
.ap-brand-medallion--row {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
}

.ap-brand-medallion--row .ap-brand-medallion__label {
  margin-bottom: 0;
}

.ap-brand-medallion__row-body {
  display: flex;
  align-items: center;
  gap: 20px;
}

.ap-brand-medallion--row .ap-brand-medallion__intro {
  font-size: 13px;
  line-height: 1.55;
  color: var(--t400);
  margin: 0;
  max-width: 31ch;
}

.ap-brand-medallion__divider-v {
  width: 1px;
  align-self: stretch;
  background: var(--line);
  flex-shrink: 0;
}

/* Kontaktní pás — jen mobile */
.ap-brand-contact-band {
  display: none;
  background: var(--s800);
  border-bottom: 1px solid var(--s600);
  padding: 16px var(--pad);
}

.ap-brand-contact-band__label {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--t600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.ap-brand-contact-band__person {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ap-brand-contact-band__links {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.ap-brand-contact-band__link {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--t100);
  text-decoration: none;
}

@media (max-width: 960px) {
  .ap-hero--brand__wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  /* Medailonek schovat — nahrazuje ho kontaktní pás */
  .ap-brand-medallion {
    display: none;
  }

  /* Kontaktní pás zobrazit */
  .ap-brand-contact-band {
    display: block;
  }

  .ap-brand-contact-band__person {
    padding-bottom: calc(var(--pad) / 2);
  }
}

/* ============================================================
   BRAND PAGE — Navigace (tab řádek)
   ============================================================ */

.ap-brand-nav {
  background: var(--s700);
  border-bottom: 1px solid var(--s600);
  position: sticky;
  /* Pod celou sticky hlavičkou (--ap-header-h) + rezervovaný slot pro
     zaseknutou lištu (--ap-brand-bar-slot). Slot je KONSTANTNÍ (rezervuje se
     dopředu, ne při scrollu) → navbar se při vyjetí lišty neposouvá = bez skoku. */
  top: calc(var(--ap-header-h, 112px) + var(--ap-brand-bar-slot, 0px));
  z-index: 50;
}

/* ----------------------------------------------------------------
   DOČASNĚ VYPNUTO: sticky brand navigace + zaseknutá (condensed) lišta.
   Pro obnovení smaž celý tento blok.
   ---------------------------------------------------------------- */
.ap-brand-nav {
  position: static;
  top: auto;
}
.ap-brand-pinned {
  display: none;
}

.ap-brand-nav__inner {
  display: flex;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--pad);
}

.ap-brand-nav__tab {
  flex: 1;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  color: var(--t300);
  font-weight: 500;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  border-right: 1px solid var(--s600);
  text-decoration: none;
  transition: color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
}

.ap-brand-nav__tab:last-child {
  border-right: none;
}

.ap-brand-nav__tab:hover {
  color: var(--t50);
  background: rgba(255, 255, 255, 0.025);
}

.ap-brand-nav__tab.active {
  color: var(--t50);
  font-weight: 600;
  border-bottom-color: var(--a500);
}

.ap-brand-nav__tab--child {
  flex: none;
  padding: 0 20px;
  border-left: 1px solid var(--s600);
  color: var(--t300);
}

.ap-brand-nav__tab--child + .ap-brand-nav__tab--child {
  border-left: none;
}

.ap-brand-nav__tab--ext {
  color: var(--t400);
}

.ap-brand-nav__ext-icon {
  color: var(--t600);
  flex-shrink: 0;
}

@media (max-width: 640px) {
  /* Sticky top řeší --ap-header-h (fixní v CSS) — platí i pro mobil */

  .ap-brand-nav__inner {
    overflow-x: auto;
    scrollbar-width: none;
    padding: 0;
  }

  .ap-brand-nav__inner::-webkit-scrollbar {
    display: none;
  }

  .ap-brand-nav__tab {
    flex: none;
    flex-shrink: 0;
    padding: 0 16px;
    height: 44px;
    font-size: 13px;
    gap: 6px;
    justify-content: flex-start;
  }

  /* Na mobilu ikony v brand nav schovat */
  .ap-brand-nav__tab > svg:first-child {
    display: none;
  }
}

/* ============================================================
   BRAND PAGE — Zaseknutá (condensed) lišta značky
   Vyjede přesně když se zasekne brand nav, zajede jakmile se odsekne;
   logo + obchodník na šířku. Řízeno IntersectionObserverem (viz nav.js).
   ============================================================ */

/* Sticky 0px kontejner — nezabírá místo v toku, ale je STICKY (ne fixed),
   takže se při overscroll „bounce" hýbe spolu s navigacemi → žádný překryv.
   Stejný `top` jako brand nav → zasekne se PŘESNĚ ve stejný okamžik jako nav. */
.ap-brand-pinned {
  position: sticky;
  top: calc(var(--ap-header-h, 112px) + var(--ap-brand-bar-slot, 0px));
  height: 0;
  z-index: 80;
}

/* Vlastní viditelný pruh — absolutně v 0px kontejneru, přes celou šířku.
   Posunutý o svou výšku nahoru → kreslí do slotu mezi hlavičkou a navbarem. */
.ap-brand-pinned__bar {
  position: absolute;
  top: calc(var(--ap-brand-bar-h, 64px) * -1);
  left: 0;
  right: 0;
  height: var(--ap-brand-bar-h, 64px);
  background: rgba(20, 33, 58, 0.85);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--s600);
  /* Skryté / vysunuté nahoru, dokud není .brand-pinned na <html> */
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.4s var(--ease), opacity 0.32s var(--ease);
  will-change: transform, opacity;
}

html.brand-pinned .ap-brand-pinned__bar {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/* Při prvním načtení (než JS aplikuje počáteční stav) bez animace —
   po refreshi v zascrollované poloze lišta „naskočí“ rovnou, místo aby vyjela. */
html.ap-pin-preload .ap-brand-pinned__bar {
  transition: none;
}

/* Sentinel (0px) vkládaný JS těsně před brand nav — IntersectionObserver podle
   něj pozná, kdy se navbar zasekává, a přesně tehdy vysune lištu. */
.ap-brand-pin-sentinel {
  height: 0;
  pointer-events: none;
}

/* Na stránkách s lištou rezervuj její slot napevno (řídí offset brand nav).
   Třída je na <body> (serverově), proměnná dědí na navbar i lištu. */
.has-brand-pinbar {
  --ap-brand-bar-slot: var(--ap-brand-bar-h, 64px);
}

.ap-brand-pinned__inner {
  display: flex;
  align-items: center;
  gap: 32px;
  height: 100%;
}

.ap-brand-pinned__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.ap-brand-pinned__logo img {
  max-height: 34px;
  max-width: 180px;
  width: auto;
  object-fit: contain;
}

.ap-brand-pinned__sp {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
  min-width: 0;
}

.ap-brand-pinned__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex-shrink: 0;
  overflow: hidden;
  background: linear-gradient(135deg, var(--a500), var(--s950));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--t50);
}

.ap-brand-pinned__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid var(--line);
}

.ap-brand-pinned__info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  min-width: 0;
}

.ap-brand-pinned__name {
  font-size: 13px;
  font-weight: 600;
  color: var(--t100);
  line-height: 1.2;
  white-space: nowrap;
}

.ap-brand-pinned__contacts {
  display: flex;
  gap: 16px;
}

.ap-brand-pinned__contacts a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--t400);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--d-fast) var(--ease);
}

.ap-brand-pinned__contacts a:hover {
  color: var(--a300);
}

.ap-brand-pinned__contacts svg {
  flex-shrink: 0;
  color: var(--t600);
}

/* Zaseknutá lišta je desktop-only; na mobilu slouží kontaktní pás.
   Na mobilu se slot nerezervuje → brand nav se zasekává rovnou pod hlavičkou. */
@media (max-width: 960px) {
  .ap-brand-pinned {
    display: none;
  }

  .has-brand-pinbar {
    --ap-brand-bar-slot: 0px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-brand-pinned__bar {
    transition: opacity 0.2s linear;
  }
}

/* ============================================================
   BRAND PAGE — Sekce (news / reference)
   ============================================================ */

.ap-brand-section {
  padding: 64px 0 96px;
}

.ap-brand-section__head {
  margin-bottom: 40px;
}

/* Empty state */
.ap-brand-empty {
  color: var(--t600);
  font-size: 15px;
  padding: 64px 0;
  text-align: center;
}

@media (max-width: 640px) {
  .ap-brand-section {
    padding: 40px 0 64px;
  }
}

/* Sekce záhlaví s odkazem "Zobrazit vše" vpravo */
.ap-sec-head--split .ap-sec-head__all-link {
  font-size: 14px;
  color: var(--a400);
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
  padding-bottom: 4px;
}

/* ============================================================
   BRAND CONTENT — typografie WP stránek (Gutenberg obsah)
   ============================================================ */

.ap-brand-content > *:first-child {
  margin-top: 0 !important;
}

.ap-brand-content h1,
.ap-brand-content h2,
.ap-brand-content h3,
.ap-brand-content h4,
.ap-brand-content h5,
.ap-brand-content h6 {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--t50);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 48px 0 16px;
}

.ap-brand-content h1 { font-size: clamp(28px, 3.5vw, 40px); }

.ap-brand-content h2 { font-size: clamp(22px, 2.8vw, 32px); }
.ap-brand-content h3 { font-size: clamp(18px, 2.2vw, 24px); }
.ap-brand-content h4 { font-size: 20px; }
.ap-brand-content h5 { font-size: 17px; }
.ap-brand-content h6 { font-size: 15px; color: var(--t300); }

.ap-brand-content p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--t300);
  margin: 0 0 20px;
}

.ap-brand-content ul,
.ap-brand-content ol {
  font-size: 16px;
  line-height: 1.7;
  color: var(--t300);
  margin: 0 0 20px;
  padding-left: 24px;
}

.ap-brand-content li {
  margin-bottom: 8px;
}

.ap-brand-content li::marker {
  color: var(--a400);
}

.ap-brand-content a {
  color: var(--a400);
  text-decoration: underline;
  text-decoration-color: rgba(74, 111, 240, 0.4);
  text-underline-offset: 3px;
  transition: color var(--d-fast) var(--ease), text-decoration-color var(--d-fast) var(--ease);
}

.ap-brand-content a:hover {
  color: var(--a300);
  text-decoration-color: var(--a300);
}

.ap-brand-content strong {
  font-weight: 600;
  color: var(--t100);
}

.ap-brand-content em {
  font-style: italic;
  color: var(--t200, var(--t300));
}

.ap-brand-content blockquote {
  border-left: 3px solid var(--a600);
  background: var(--s700);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  padding: 20px 24px;
  margin: 32px 0;
  font-size: 17px;
  line-height: 1.65;
  color: var(--t100);
  font-style: italic;
}

.ap-brand-content blockquote p:last-child {
  margin-bottom: 0;
}

.ap-brand-content hr {
  border: none;
  border-top: 1px solid var(--line);
  margin: 40px 0;
}

.ap-brand-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--r-md);
  display: block;
}

.ap-brand-content figure {
  margin: 32px 0;
}
@media (min-width: 641px) {
  .ap-brand-content .wp-block-columns figure,
  .ap-brand-content .wp-block-gallery figure,
  .ap-brand-content .is-layout-grid figure {
    margin: 0;
  }
}
@media (max-width: 640px) {
  .ap-brand-content .is-layout-grid {
    grid-template-columns: 1fr !important;
  }
}

.ap-brand-content figcaption {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--t600);
  letter-spacing: 0.04em;
  margin-top: 10px;
}

.ap-brand-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  color: var(--t300);
  margin: 32px 0;
}

.ap-brand-content th {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--t600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: left;
  padding: 10px 16px;
  border-bottom: 1px solid var(--s500);
}

.ap-brand-content td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.ap-brand-content tr:last-child td {
  border-bottom: none;
}

@media (max-width: 640px) {
  .ap-brand-content h1 { font-size: 26px; }
  .ap-brand-content h2 { font-size: 22px; }
  .ap-brand-content h3 { font-size: 19px; }
}

/* ============================================================
   WordPress nativní lightbox
   ============================================================ */
.wp-lightbox-overlay .scrim {
  background-color: var(--color-surface-950) !important;
  opacity: 0.96;
}

/* ============================================================
   WP PAGE — obsah pod hero
   ============================================================ */

.ap-page-content {
  padding: 64px 0 120px;
}

/* ============================================================
   NOVINKY ARCHIVE — Listing hero
   ============================================================ */

.ap-listing-hero {
  position: relative;
  padding: 56px 0 64px;
  background: var(--s700);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}

.ap-listing-hero__arch-grid {
  display: none;
}

.ap-listing-hero__wrap {
  position: relative;
  z-index: 2;
}

.ap-listing-hero__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--t50);
  margin: 20px 0 16px;
}

.ap-listing-hero__sub {
  font-size: 17px;
  line-height: 1.55;
  color: var(--t300);
  margin: 0;
}

/* ============================================================
   NOVINKY ARCHIVE — Grid + pagination
   ============================================================ */

.ap-news-archive,
.ap-sol-archive {
  padding: 56px 0 120px;
}

.ap-news-archive__count {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--t400);
  letter-spacing: 0.04em;
  margin: 0 0 28px;
}

/* h2 v kartách na archivní stránce (h1 je titulek stránky) */
.ap-mix-card__body h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--t50);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ap-news-archive__empty {
  text-align: center;
  padding: 80px 0;
  font-size: 16px;
  color: var(--t400);
}

/* Pagination */
.ap-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}

.ap-pagination a,
.ap-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--t300);
  border: 1px solid transparent;
  text-decoration: none;
  transition: all var(--d-fast) var(--ease);
}

.ap-pagination a:hover {
  border-color: var(--s600);
  color: var(--t50);
  background: rgba(255, 255, 255, 0.03);
}

.ap-pagination span.current {
  background: var(--a600);
  color: #fff;
  border-color: var(--a600);
}

.ap-pagination .prev,
.ap-pagination .next {
  padding: 0 14px;
  border-color: var(--s600);
}

@media (max-width: 640px) {
  .ap-listing-hero {
    padding: 40px 0 48px;
  }
}

/* ============================================================
   ZNAČKY LISTING — grid všech značek
   ============================================================ */

.ap-brands-listing {
  padding: 56px 0 120px;
}

/* ============================================================
   KARIÉRA — listing pozic (archive-ap_position.php)
   ============================================================ */

/* Hero — modifier pro kariéru (dědí vše z .ap-hero) */
.ap-hero--career {
  height: 720px;
}


.ap-career-hero__breadcrumb {
  display: flex;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--t600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px;
}

.ap-career-hero__breadcrumb a { color: var(--t400); text-decoration: none; }

.ap-career-hero__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(40px, 4vw, 56px);
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: var(--t50);
  margin: 0;
}

.ap-career-hero__lead {
  font-size: 18px;
  line-height: 1.55;
  color: var(--t300);
  margin: 24px 0 32px;
  max-width: 50ch;
}

/* Overline */
.ap-overline {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--t400);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.ap-overline::before {
  display: none;
}

/* Sekce nadpis */
.ap-career-sec-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: -0.022em;
  color: var(--t50);
  margin: 0;
}

/* Benefity */
.ap-career-benefits {
  padding: 96px 0;
}

.ap-career-benefits__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 40px;
}

.ap-benefit-card {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 14px;
  padding: 28px;
}

.ap-benefit-card__icon {
  width: 44px;
  height: 44px;
  background: rgba(74,111,240,0.10);
  border: 1px solid rgba(74,111,240,0.25);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--a300);
  margin-bottom: 18px;
}

.ap-benefit-card h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  color: var(--t50);
  letter-spacing: -0.01em;
  margin: 0 0 6px;
}

.ap-benefit-card p {
  font-size: 13px;
  color: var(--t400);
  margin: 0;
  line-height: 1.55;
}

/* Listing pozic */
.ap-career-jobs {
  padding: 0 0 96px;
}

.ap-career-jobs__empty {
  margin-top: 40px;
  font-size: 16px;
  color: var(--t400);
}

.ap-jobs-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 40px;
}

.ap-job-row {
  display: grid;
  grid-template-columns: 1fr 240px 140px 140px 28px;
  gap: 24px;
  align-items: center;
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 14px;
  padding: 20px 28px;
  text-decoration: none;
  transition: border-color var(--d-med) var(--ease);
}

.ap-job-row:hover {
  border-color: var(--a500);
}

.ap-job-row__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 19px;
  color: var(--t50);
  letter-spacing: -0.01em;
  margin: 0 0 4px;
}

.ap-job-row__sub {
  font-size: 13px;
  color: var(--t400);
}

.ap-job-row__meta {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--t300);
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.ap-job-row__meta b {
  display: block;
  color: var(--t600);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.ap-job-row__chevron {
  color: var(--t600);
  flex-shrink: 0;
  transition: color var(--d-fast) var(--ease), transform var(--d-fast) var(--ease);
}

.ap-job-row:hover .ap-job-row__chevron {
  color: var(--a400);
  transform: translateX(2px);
}

/* ============================================================
   KARIÉRA — detail pozice (single-ap_position.php)
   ============================================================ */

/* Hero — rozšíří ap-listing-hero, jen přepíše padding */
.ap-position-hero {
  padding-bottom: 48px;
}

.ap-position-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 410px;
  gap: 64px;
  align-items: center;
}

.ap-position-hero__left {
  min-width: 0;
}

.ap-position-hero__right {
  align-self: start;
}

.ap-position-hero__right .ap-brand-medallion {
  width: 350px;
}

.ap-position-hero__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 48px;
  line-height: 1.05;
  letter-spacing: -0.022em;
  color: var(--t50);
  margin: 18px 0 18px;
}

.ap-position-hero__subtitle {
  font-size: 17px;
  color: var(--t400);
  margin: 6px 0 24px;
  font-weight: 400;
}

.ap-position-hero__meta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 24px;
}

.ap-position-hero__meta-row {
  display: flex;
  gap: 10px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--t300);
}

.ap-position-hero__meta-label {
  color: var(--t600);
  min-width: 110px;
  flex-shrink: 0;
}

.ap-position-hero__meta-val {
  color: var(--t100);
  font-weight: 500;
}

.ap-pill-tag {
  padding: 4px 10px;
  background: rgba(138,163,255,0.10);
  border: 1px solid rgba(138,163,255,0.25);
  border-radius: 6px;
  font-size: 11px;
  color: var(--a300);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}

.ap-position-cta {
  padding: 72px 0;
}

/* Position contact band — mobilní, skrytý na desktopu */
.ap-position-contact-band {
  display: none;
}

.ap-position-body {
  padding-top: 64px;
  padding-bottom: 64px;
}



/* Aside */
.ap-position-aside {
  position: sticky;
  top: calc(64px + 48px + 24px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ap-aside-card {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 14px;
  padding: 24px;
}

.ap-aside-card__label {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--t600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.ap-aside-card__person {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
}

.ap-aside-card__ava {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--a500), var(--s950));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  flex-shrink: 0;
}

.ap-aside-card__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
  color: var(--t50);
}

.ap-aside-card__role {
  font-size: 12px;
  color: var(--t400);
  margin-top: 2px;
}

.ap-aside-card__contacts {
  padding: 12px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-bottom: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ap-aside-card__row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 0;
  font-size: 13px;
  color: var(--t100);
  text-decoration: none;
  transition: color var(--d-fast) var(--ease);
}

.ap-aside-card__row svg {
  color: var(--t400);
  flex-shrink: 0;
}

.ap-aside-card__row:hover { color: var(--t50); }

.ap-aside-card__cta {
  width: 100%;
  justify-content: center;
  padding: 12px;
  text-decoration: none;
}

.ap-aside-card__hint {
  font-size: 11px;
  color: var(--t600);
  margin: 10px 0 0;
  text-align: center;
  line-height: 1.5;
}

.ap-aside-card__excerpt {
  font-size: 14px;
  color: var(--t300);
  line-height: 1.6;
  margin: 0 0 16px;
}

.ap-aside-card__details {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
}

.ap-aside-card__details li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  color: var(--t100);
}

.ap-aside-card__detail-label {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--t600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.ap-aside-card--active {
  background: rgba(79,209,163,0.06);
  border-color: rgba(79,209,163,0.2);
}

.ap-aside-card--active .ap-aside-card__label { color: #4fd1a5; }

.ap-aside-card__status-label {
  margin-bottom: 10px;
}

.ap-aside-card__deadline {
  font-size: 13px;
  color: var(--t300);
  line-height: 1.55;
  margin: 0;
}

.ap-aside-card__deadline strong { color: var(--t100); }

/* Další pozice */
.ap-other-positions {
  padding: 0 0 80px;
}

.ap-other-positions__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 28px;
  letter-spacing: -0.018em;
  color: var(--t50);
  margin: 0 0 28px;
}

.ap-other-positions__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.ap-pos-mini {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 14px;
  padding: 24px;
  text-decoration: none;
  display: block;
  transition: border-color var(--d-med) var(--ease), transform var(--d-med) var(--ease);
}

.ap-pos-mini:hover {
  border-color: var(--a500);
  transform: translateY(-3px);
}

.ap-pos-mini h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 17px;
  color: var(--t50);
  letter-spacing: -0.005em;
  margin: 0 0 8px;
}

.ap-pos-mini__meta {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--t400);
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.ap-pos-mini__link {
  margin-top: 16px;
  color: var(--a400);
  font-size: 13px;
  font-weight: 500;
}

.ap-pos-mini--spont {
  background: var(--s800);
  border-style: dashed;
}

/* ── Responsive ───────────────────────────────────── */

@media (max-width: 1024px) {
  .ap-career-hero__title { font-size: 42px; }

  .ap-career-benefits__grid {
    grid-template-columns: 1fr 1fr;
  }

  .ap-job-row {
    grid-template-columns: 1fr 175px 120px 28px;
  }

  .ap-job-row__meta:last-of-type { display: none; }

  .ap-position-hero__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ap-position-hero__right {
    display: none;
  }

  .ap-position-contact-band {
    display: block;
  }

  .ap-other-positions__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {


  .ap-hero--career {
    height: auto;
    min-height: 0;
  }

  .ap-hero--career .ap-hero__content-wrap {
    padding-top: 56px;
    padding-bottom: 48px;
  }

  .ap-career-hero__title { font-size: 32px; }
  .ap-career-hero__lead  { font-size: 16px; }

  .ap-career-benefits__grid { grid-template-columns: 1fr; }

  .ap-job-row {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "main    chevron"
      "loc     chevron"
      "emp     chevron"
      "dept    chevron";
    gap: 8px 16px;
    align-items: start;
    padding: 16px 20px;
  }

  .ap-job-row__main              { grid-area: main; padding-bottom: 6px; }
  .ap-job-row__chevron           { grid-area: chevron; align-self: center; }
  .ap-job-row__meta:nth-child(2) { grid-area: loc;  display: block; }
  .ap-job-row__meta:nth-child(3) { grid-area: emp;  display: block; }
  .ap-job-row__meta:nth-child(4) { grid-area: dept; display: block; }

  .ap-position-hero__title { font-size: 32px; }

  .ap-other-positions__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   O SPOLEČNOSTI — tým
   ============================================================ */

.ap-about-content {
  padding: 64px 0;
  border-bottom: 1px solid var(--line);
}

/* ── Timeline ──────────────────────────────────────────────── */
.ap-timeline {
  position: relative;
  padding: 8px 0 0 0;
  margin-top: 48px;
}
.ap-timeline::before {
  content: '';
  position: absolute;
  left: calc(120px + 56px + 1px);
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(
    to bottom,
    transparent,
    var(--a500) 8%,
    var(--a500) 88%,
    transparent
  );
  opacity: 0.35;
}
.ap-timeline__item {
  display: grid;
  grid-template-columns: 120px 2px 1fr;
  gap: 0 56px;
  padding-bottom: 48px;
  position: relative;
}
.ap-timeline__item:last-child {
  padding-bottom: 0;
}
.ap-timeline__year {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--a300);
  text-align: right;
  padding-top: 3px;
  line-height: 1;
}
.ap-timeline__spine {
  position: relative;
  display: flex;
  justify-content: center;
}
.ap-timeline__dot {
  position: absolute;
  top: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--a500);
  border: 2px solid var(--s900);
  box-shadow: 0 0 0 3px rgba(74, 111, 240, 0.20);
  flex-shrink: 0;
}
.ap-timeline__body {
  padding-top: 0;
}
.ap-timeline__title {
  font-size: 15px;
  font-weight: 600;
  color: var(--t100);
  margin: 0 0 6px;
  line-height: 1.3;
}
.ap-timeline__text {
  font-size: 14px;
  color: var(--t400);
  line-height: 1.55;
  margin: 0;
}

@media (max-width: 640px) {
  .ap-timeline::before { left: 0; }
  .ap-timeline__item {
    grid-template-columns: 2px 1fr;
    gap: 0 20px;
  }
  .ap-timeline__year {
    display: none;
  }
  .ap-timeline__body::before {
    content: attr(data-year);
    display: block;
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--a300);
    margin-bottom: 4px;
  }
}

.ap-about-team {
  padding: 96px 0 120px;
}

.ap-about-team__title {
  margin: 0 0 64px;
}


.ap-about-team__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.ap-team-card {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 14px;
  padding: 24px;
  text-align: center;
  transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1),
              border-color 200ms cubic-bezier(0.16, 1, 0.3, 1);
}

.ap-team-card:hover {
  transform: translateY(-3px);
  border-color: var(--a500);
}

.ap-team-card__ava {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  margin: 0 auto 14px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--a500), var(--s950));
}

.ap-team-card__ava img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ap-team-card__initials {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 22px;
  color: #fff;
  line-height: 1;
}

.ap-team-card__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--t50);
  letter-spacing: -0.005em;
}

.ap-team-card__role {
  font-size: 12px;
  color: var(--t400);
  margin-top: 4px;
  line-height: 1.4;
}

.ap-team-card__dept {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--t600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

@media (max-width: 1024px) {
  .ap-about-team__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .ap-about-team {
    padding: 64px 0 80px;
  }

  .ap-about-team__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .ap-team-card {
    padding: 18px 14px;
  }

  .ap-team-card__ava {
    width: 56px;
    height: 56px;
  }

  .ap-team-card__initials {
    font-size: 18px;
  }
}

/* ============================================================
   404 PAGE
   ============================================================ */

.ap-404 {
  background: var(--s900);
  min-height: calc(100vh - 112px);
  display: flex;
  align-items: center;
}

.ap-404__body {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 64px;
  align-items: center;
  padding-top: 96px;
  padding-bottom: 120px;
}

.ap-404__num {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(120px, 14vw, 220px);
  line-height: 1;
  letter-spacing: -0.035em;
  background: linear-gradient(180deg, var(--a300), var(--a600));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 12px 0 16px;
}

.ap-404__heading {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(28px, 3vw, 40px);
  letter-spacing: -0.022em;
  color: var(--t50);
  line-height: 1.1;
  margin: 0 0 16px;
}

.ap-404__desc {
  font-size: 17px;
  color: var(--t300);
  line-height: 1.55;
  margin: 0 0 32px;
  max-width: 48ch;
}

.ap-404__links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.ap-404-link {
  padding: 14px 18px;
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: var(--r-md);
  font-size: 14px;
  color: var(--t100);
  font-weight: 500;
  letter-spacing: -0.005em;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  transition: border-color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
  cursor: pointer;
  font-family: inherit;
}

.ap-404-link:hover {
  border-color: var(--a500);
  background: var(--s600);
  color: var(--t50);
}

.ap-404-link__ic {
  color: var(--a300);
  flex-shrink: 0;
  display: flex;
}

.ap-404-link__arrow {
  margin-left: auto;
  color: var(--t400);
}

.ap-404__visual {
  aspect-ratio: 1;
  background: var(--s900);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  overflow: hidden;
  position: relative;
}

.ap-404__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(138, 163, 255, 0.10) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(138, 163, 255, 0.10) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: linear-gradient(135deg, rgba(0,0,0,0.6), transparent 60%);
}

.ap-404__visual svg,
.ap-404__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 960px) {
  .ap-404__body {
    grid-template-columns: 1fr;
    gap: 48px;
    padding-top: 64px;
    padding-bottom: 80px;
  }

  .ap-404__visual {
    max-width: 380px;
  }

  .ap-404__links {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   SEARCH OVERLAY
   ============================================================ */

/* Skryje page content když je hledání otevřené */
body.ap-search-open > *:not(.ap-site-header):not(#ap-search-overlay):not(.ap-footer) {
  display: none !important;
}

.ap-search-overlay {
  background: var(--s900);
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 112px);
}

.ap-search-overlay[hidden] {
  display: none;
}

/* Bar */
.ap-search-bar {
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}

.ap-search-bar__inner {
  padding-top: 28px;
  padding-bottom: 28px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
}

.ap-search-input-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ap-search-icon {
  color: var(--a400);
  flex-shrink: 0;
}

.ap-search-input {
  flex: 1;
  background: transparent;
  border: none;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(24px, 3vw, 36px);
  color: var(--t50);
  letter-spacing: -0.022em;
  line-height: 1.2;
  outline: none;
  min-width: 0;
}

.ap-search-input::placeholder {
  color: var(--t600);
}

/* WebKit search input cancel button */
.ap-search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.ap-search-close {
  padding: 10px 16px;
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: var(--r-sm);
  color: var(--t100);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: border-color var(--d-fast) var(--ease);
  white-space: nowrap;
}

.ap-search-close:hover {
  border-color: var(--s500);
  color: var(--t50);
}

/* Tabs */
.ap-search-tabs-wrap {
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}

.ap-search-tabs {
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.ap-search-tabs::-webkit-scrollbar {
  display: none;
}

.ap-search-tab {
  padding: 10px 16px;
  border-radius: var(--r-sm);
  font-size: 14px;
  color: var(--t300);
  font-weight: 500;
  letter-spacing: -0.005em;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--d-fast) var(--ease), color var(--d-fast) var(--ease);
}

.ap-search-tab.active,
.ap-search-tab[aria-selected="true"] {
  background: var(--s700);
  color: var(--t50);
}

.ap-search-tab .ap-tab-num,
.ap-sp-tab .ap-tab-num {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--t600);
  letter-spacing: 0.04em;
}

.ap-search-tab.active .ap-tab-num {
  color: var(--a400);
}

/* Body */
.ap-search-body {
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.ap-search-body__inner {
  padding-top: 28px;
  padding-bottom: 48px;
}

/* Result rows (shared: overlay + search page) */
.ap-search-result-row {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: var(--r-md);
  padding: 16px 18px;
  display: grid;
  grid-template-columns: 64px 1fr 20px;
  gap: 16px;
  align-items: center;
  text-decoration: none;
  transition: border-color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
  margin-bottom: 6px;
}

.ap-search-result-row:hover {
  border-color: var(--a500);
  background: var(--s600);
}

.ap-result-thumb {
  width: 64px;
  height: 48px;
  border-radius: var(--r-sm);
  background: var(--s800);
  border: 1px solid var(--line);
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ap-result-thumb img,
.ap-result-thumb svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ap-search-result-row[data-type="brand"] .ap-result-thumb img {
  object-fit: contain;
  padding: 6px;
}

.ap-result-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.ap-result-body h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--t50);
  letter-spacing: -0.005em;
  margin: 0 0 4px;
}

.ap-result-excerpt {
  font-size: 12px;
  color: var(--t400);
  margin: 0;
  line-height: 1.5;
}


.ap-result-arrow {
  color: var(--t400);
  font-size: 16px;
  text-align: right;
}

/* Type pills */
.ap-type-pill {
  padding: 2px 8px;
  background: rgba(138, 163, 255, 0.08);
  border: 1px solid rgba(138, 163, 255, 0.18);
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--a300);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.ap-type-pill--news {
  background: rgba(244, 184, 96, 0.08);
  border-color: rgba(244, 184, 96, 0.25);
  color: var(--warning);
}

.ap-type-pill--reference {
  background: rgba(79, 209, 163, 0.08);
  border-color: rgba(79, 209, 163, 0.25);
  color: var(--success);
}

.ap-type-pill--solution {
  background: rgba(138, 163, 255, 0.10);
  border-color: rgba(138, 163, 255, 0.25);
  color: var(--a300);
}

.ap-type-pill--position {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--t300);
}


/* Hint / no-results */
.ap-search-hint,
.ap-search-no-results {
  font-size: 15px;
  color: var(--t600);
  padding: 24px 0;
}

@media (max-width: 960px) {
  .ap-search-bar__inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (max-width: 640px) {
  .ap-search-close {
    display: none;
  }
}

/* ============================================================
   SEARCH PAGE (search.php)
   ============================================================ */

.ap-search-page {
  background: var(--s900);
  min-height: calc(100vh - 112px);
}

/* Search bar section */
.ap-sp-bar {
  background: var(--s800);
  border-bottom: 1px solid var(--line);
  padding: 28px 0;
}

.ap-sp-bar__inner {
  display: flex;
  align-items: center;
  gap: 24px;
}

.ap-sp-input-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  color: var(--a400);
}

.ap-sp-input-wrap svg {
  flex-shrink: 0;
}

.ap-sp-input-wrap form {
  flex: 1;
}

.ap-sp-input {
  width: 100%;
  background: transparent;
  border: none;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(20px, 2.5vw, 32px);
  color: var(--t50);
  letter-spacing: -0.022em;
  line-height: 1.2;
  outline: none;
}

.ap-sp-input::placeholder {
  color: var(--t600);
}

.ap-sp-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.ap-sp-count {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--t600);
  letter-spacing: 0.04em;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Tabs bar */
.ap-sp-tabs-wrap {
  border-bottom: 1px solid var(--line);
  background: var(--s800);
}

.ap-sp-tabs {
  display: flex;
  gap: 4px;
  padding-top: 12px;
  padding-bottom: 12px;
  overflow-x: auto;
  scrollbar-width: none;
}

.ap-sp-tabs::-webkit-scrollbar {
  display: none;
}

.ap-sp-tab {
  padding: 10px 16px;
  border-radius: var(--r-sm);
  font-size: 14px;
  color: var(--t300);
  font-weight: 500;
  letter-spacing: -0.005em;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
  transition: background var(--d-fast) var(--ease), color var(--d-fast) var(--ease);
}

.ap-sp-tab.active,
.ap-sp-tab[aria-selected="true"] {
  background: var(--s700);
  color: var(--t50);
}

.ap-sp-tab.active .ap-tab-num {
  color: var(--a400);
}

/* Body */
.ap-sp-body {
  padding-top: 32px;
  padding-bottom: 80px;
}

.ap-sp-results {
  display: flex;
  flex-direction: column;
}

/* Empty state */
.ap-sp-empty {
  background: var(--s800);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 56px 48px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.ap-sp-empty__ic {
  width: 64px;
  height: 64px;
  background: rgba(74, 111, 240, 0.08);
  border: 1px solid rgba(74, 111, 240, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--a300);
}

.ap-sp-empty h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 22px;
  letter-spacing: -0.015em;
  color: var(--t50);
  margin: 0;
}

.ap-sp-empty p {
  font-size: 15px;
  color: var(--t300);
  line-height: 1.55;
  margin: 0;
}

.ap-sp-empty__actions {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}

/* Pagination */
.ap-sp-pagination {
  padding-bottom: 64px;
  display: flex;
  justify-content: center;
  gap: 4px;
}

.ap-sp-pagination .page-numbers {
  padding: 8px 14px;
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: var(--r-sm);
  font-size: 14px;
  color: var(--t300);
  text-decoration: none;
  transition: border-color var(--d-fast) var(--ease);
}

.ap-sp-pagination .page-numbers.current,
.ap-sp-pagination .page-numbers:hover {
  border-color: var(--a500);
  color: var(--t50);
}

@media (max-width: 960px) {
  .ap-sp-bar__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .ap-sp-body {
    grid-template-columns: 1fr;
  }

}

/* ============================================================
   GUTENBERG — výchozí gap pro grid a columns bloky
   theme.json nastaví --wp--style--block-gap, toto je záloha
   ============================================================ */

:root {
  --wp--style--block-gap: 40px;
}

.wp-block-columns.is-layout-flex,
.wp-block-columns.is-layout-grid {
  gap: 40px;
}

:where(.is-layout-grid) {
  gap: 40px;
}

/* ============================================================
   THEME TOGGLE — tlačítko přepínání světlý/tmavý
   ============================================================ */

.ap-nav-theme-toggle {
  display: none;
}

/* (nav-theme-toggle je uvnitř dark-scoped .ap-main-nav — hover barva se řeší dark tokeny) */

/* ============================================================
   LIGHT MODE — overrides pro hardcoded rgba hodnoty
   (pouze pro komponenty MIMO dark-scoped kontejnery)
   ============================================================ */

/* Ghost button hover — může být na světlém pozadí stránky */
[data-theme="light"] .btn.ghost:hover {
  background: rgba(0, 0, 0, 0.03);
}

/* Hero overlay — zachovává tmavý gradient (hero zůstává dark i v light mode) */
[data-theme="light"] .ap-hero__overlay {
  background: linear-gradient(
    90deg,
    #0A1224 0%,
    rgba(10, 18, 36, 0.92) 25%,
    rgba(10, 18, 36, 0.6) 45%,
    rgba(10, 18, 36, 0.15) 65%,
    transparent 100%
  );
}

[data-theme="light"] .ap-hero__overlay.ap-hero--cat-overlay,
[data-theme="light"] .ap-hero--cat .ap-hero__overlay,
[data-theme="light"] .ap-hero--tg .ap-hero__overlay {
  background: linear-gradient(
    90deg,
    rgba(10, 18, 36, 1.00) 0%,
    rgba(10, 18, 36, 0.92) 45%,
    rgba(10, 18, 36, 0.60) 75%,
    rgba(10, 18, 36, 0.25) 100%
  );
}

[data-theme="light"] .ap-hero--brand__overlay {
  background: transparent;
}

/* Logo wall a footer jsou dark-scoped — původní dark styl platí beze změny */

/* Brand nav tab hover — zůstává dark */
[data-theme="light"] .ap-brand-nav__tab:hover {
  background: rgba(255, 255, 255, 0.025);
}

/* Zaseknutá lišta značky — zůstává dark */
[data-theme="light"] .ap-brand-pinned__bar {
  background: rgba(20, 33, 58, 0.85);
}

/* team-card__ava a type-pill jsou v dark-scoped sekcích — přebytek */

/* Arch grid — zachovává původní světlé linky na tmavém hero */
[data-theme="light"] .ap-hero__arch-grid {
  background-image:
    linear-gradient(to right, rgba(138, 163, 255, 0.14) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(138, 163, 255, 0.10) 1px, transparent 1px);
}

/* Mobile hamburger na světlém */
[data-theme="light"] .ap-hamburger,
[data-theme="light"] .ap-mobile-search {
  background: var(--s700);
  border-color: var(--s600);
}

/* Chip globální */
[data-theme="light"] .chip {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(0, 0, 0, 0.10);
  color: var(--t100);
}

/* ============================================================
   LIGHT MODE — dark surfaces zůstávají dark
   Všechny strukturální komponenty s tmavým pozadím (hero, nav,
   sekce, karty, footer) si re-scopují původní dark tokeny, takže
   v light mode vypadají identicky jako v dark mode.
   Jen stránkové pozadí (body/--s950) se skutečně zesvětluje.
   ============================================================ */

[data-theme="light"] .ap-site-header,
[data-theme="light"] .ap-main-nav,
[data-theme="light"] .ap-cat-nav,
[data-theme="light"] .ap-drawer,
[data-theme="light"] .ap-dropdown,
[data-theme="light"] .ap-hero,
[data-theme="light"] .ap-brand-nav,
[data-theme="light"] .ap-brand-pinned,
[data-theme="light"] .ap-hero--brand,
[data-theme="light"] .ap-trust,
[data-theme="light"] .ap-areas-section,
[data-theme="light"] .ap-area-card,
[data-theme="light"] .ap-komplex,
[data-theme="light"] .ap-mix-section,
[data-theme="light"] .ap-mix-card,
[data-theme="light"] .ap-partners,
[data-theme="light"] .ap-final-cta,
[data-theme="light"] .ap-footer,
[data-theme="light"] .ap-cat-stats,
[data-theme="light"] .ap-cat-section--alt,
[data-theme="light"] .ap-cat-section--brands,
[data-theme="light"] .ap-brand-section,
[data-theme="light"] .ap-brand-card,
[data-theme="light"] .ap-brand-medallion,
[data-theme="light"] .ap-brand-contact-band,
[data-theme="light"] .ap-downloads,
[data-theme="light"] .ap-sol-band,
[data-theme="light"] .ap-sol-features,
[data-theme="light"] .ap-ref-hero,
[data-theme="light"] .ap-ref-meta,
[data-theme="light"] .ap-detail-section,
[data-theme="light"] .ap-about-hero,
[data-theme="light"] .ap-about-section,
[data-theme="light"] .ap-team-section,
[data-theme="light"] .ap-career-section,
[data-theme="light"] .ap-job-rows,
[data-theme="light"] .ap-contacts-section,
[data-theme="light"] .ap-search-hero,
[data-theme="light"] .ap-search-section {
  --s950: #0A1224;
  --s900: #0E1828;
  --s800: #14213A;
  --s700: #1F2D4A;
  --s600: #2A3A58;
  --s500: #3B4D72;
  --t50:  #F5F8FF;
  --t100: #E3EAF7;
  --t300: #B6C3D9;
  --t400: #92A2BD;
  --t600: #5E6E8C;
  --line:        rgba(255, 255, 255, 0.07);
  --line-soft:   rgba(255, 255, 255, 0.04);
  --line-strong: rgba(255, 255, 255, 0.11);
}

/* ============================================================
   Soubory ke stažení — ap-downloads
   ============================================================ */

/* Související odkazy — sdílí layout s ap-downloads */
.ap-links {
  background: var(--s900);
  border-top: 1px solid var(--s600);
  padding: 96px 0 64px;
}
.ap-links + .ap-downloads {
  border-top: 1px solid var(--line);
  padding-top: 64px;
}
.ap-links__inner {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--pad);
}
.ap-links__list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column;
  border: 1px solid var(--s600);
  border-radius: 12px;
  overflow: hidden;
}
.ap-links__item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 24px;
  text-decoration: none;
  background: var(--s700);
  border-bottom: 1px solid var(--s600);
  transition: background var(--d-fast) var(--ease);
}
.ap-links__list li:last-child .ap-links__item { border-bottom: none; }
.ap-links__item:hover { background: var(--s600); }
.ap-links__icon {
  color: var(--a300);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.ap-links__meta {
  display: flex; flex-direction: column; gap: 2px; flex: 1;
}
.ap-links__name {
  font-size: 15px; font-weight: 500; color: var(--t100);
}
.ap-links__desc {
  font-size: 13px; color: var(--t400);
}
.ap-links__chevron {
  color: var(--t600); flex-shrink: 0;
  transition: transform var(--d-fast) var(--ease), color var(--d-fast) var(--ease);
}
.ap-links__item:hover .ap-links__chevron {
  color: var(--a300); transform: translateX(3px);
}

.ap-downloads {
  background: var(--s900);
  border-top: 1px solid var(--s600);
  padding: 96px 0;
}

.ap-downloads__inner {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--pad);
}

.ap-downloads__header {
  margin-bottom: 48px;
}

.ap-downloads__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 600;
  letter-spacing: -0.022em;
  line-height: 1.1;
  color: var(--t50);
  margin: 0;
}

.ap-downloads__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ap-downloads__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 20px 24px;
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: var(--r-lg);
  transition: border-color var(--d-fast) var(--ease);
}

.ap-downloads__item:hover {
  border-color: var(--s500);
}

.ap-downloads__info {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  flex: 1;
}

.ap-downloads__icon {
  flex-shrink: 0;
}

.ap-downloads__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.ap-downloads__name {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 500;
  color: var(--t100);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ap-downloads__ext {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--t600);
  text-transform: uppercase;
}

.ap-downloads__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* Přepsání .btn velikosti pro downloads — trochu kompaktnější */
.ap-downloads__actions .btn {
  padding: 10px 20px;
  font-size: 14px;
}

@media (max-width: 640px) {
  .ap-downloads {
    padding: 64px 0;
  }

  .ap-downloads__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
  }

  .ap-downloads__actions {
    width: 100%;
  }

  .ap-downloads__actions .btn {
    flex: 1;
    justify-content: center;
  }
}

/* downloads zůstávají dark (tokeny re-scoped výše) */

/* ============================================================
   Media karta — is-style-ap-media-card
   Gutenberg Group blok: levý obsah + pravá fotka jako cover
   ============================================================ */

.wp-block-group.product {
  background: var(--s700) !important;
  border: 1px solid var(--s600) !important;
  border-radius: var(--r-xl) !important;
  overflow: hidden !important;
  gap: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  margin-top: 32px !important;
}

/* Levý obsah — zarovnaný nahoru */
.wp-block-group.product > .wp-block-group:first-child {
  flex: 1 1 0 !important;
  align-self: flex-start !important;
  padding: 36px 40px !important;
}

.wp-block-group.product > .wp-block-group:first-child h3:first-child {
  margin-top: 0 !important;
}

/* Sdílené styly obrázků — platí pro oba varianty pravé strany */
.wp-block-group.product .wp-block-image img {
  width: auto !important;
  height: auto !important;
  max-width: 260px !important;
  max-height: 340px !important;
  object-fit: contain !important;
  display: block !important;
  border-radius: var(--r-lg) !important;
  box-shadow:
    0 24px 48px rgba(0, 0, 0, 0.45),
    0 8px 16px rgba(0, 0, 0, 0.25) !important;
}

/* Pravá strana: přímý obrázek */
.wp-block-group.product > .wp-block-image {
  flex: 0 0 auto !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 32px 40px 32px 0 !important;
}

/* Pravá strana: skupina s více obrázky */
.wp-block-group.product > .wp-block-group:last-child:not(:first-child) {
  flex: 0 0 auto !important;
  align-self: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 32px !important;
  padding: 32px 40px 32px 0 !important;
  margin: 0 !important;
}

.wp-block-group.product > .wp-block-group:last-child:not(:first-child) .wp-block-image {
  margin: 0 !important;
}

/* Mobil — pravá část se zalomí pod levou */
@media (max-width: 768px) {
  .wp-block-group.product {
    flex-direction: column !important;
  }

  .wp-block-group.product > .wp-block-image,
  .wp-block-group.product > .wp-block-group:last-child:not(:first-child) {
    padding: 0 24px 32px !important;
    align-items: flex-start !important;
  }

  .wp-block-group.product .wp-block-image img {
    max-width: 200px !important;
    max-height: 260px !important;
  }
}

/* wp-block-group.product je v dark-scoped brand sekci — tokeny se řeší automaticky */

/* ============================================================
   BRAND HOMEPAGE — sekce (full-width, per design 13)
   ============================================================ */

/* Wrapper padding */
.ap-brand-body {
  padding: 0;
}

/* Sekce (jedna pod druhou, border-bottom oddělovač) */
.ap-brand-sec {
  padding: 64px 0;
  border-bottom: 1px solid var(--line);
}

/* Feature band (O značce / e-shop / výrobce) — světlejší pruh přes celou šířku */
.ap-brand-sec--feature {
  background: var(--s800);
  border-bottom: none;
}

/* Feature band se spodním dividerem (např. O značce) */
.ap-brand-sec--divider {
  border-bottom: 1px solid var(--line);
}
.ap-brand-sec:last-child {
  border-bottom: none;
}
.ap-brand-sec-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 36px;
  gap: 32px;
}
.ap-brand-sec-head .overline {
  margin-bottom: 16px;
}
.ap-brand-sec-head h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(26px, 3.2vw, 38px);
  line-height: 1.08;
  letter-spacing: -0.022em;
  color: var(--t50);
  margin: 0;
}
.ap-brand-sec-head__right {
  font-size: 15px;
  color: var(--t300);
  max-width: 38ch;
  line-height: 1.6;
  padding-bottom: 4px;
}
.ap-brand-sec-cta {
  display: flex;
  justify-content: center;
  margin-top: 36px;
}
.ap-brand-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 12px;
  background: transparent;
  color: var(--t100);
  border: 1px solid var(--s500);
  font-size: 14px;
  font-weight: 500;
  transition: border-color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
}
.ap-brand-btn-ghost:hover {
  border-color: var(--t400);
  background: rgba(255, 255, 255, 0.02);
}

/* 01 O ZNAČCE — velký citát */
.ap-about-quote .q {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.42;
  letter-spacing: -0.015em;
  color: var(--t100);
  margin: 0;
  max-width: 70ch;
}
.ap-about-quote .q strong,
.ap-about-quote .q b {
  color: var(--t50);
  font-weight: 600;
}

/* 02 ŘEŠENÍ — zig-zag pásy */
.ap-sol-bands {
  display: flex;
  flex-direction: column;
}
.ap-sol-band {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--s600);
  border-radius: 18px;
  overflow: hidden;
  background: var(--s800);
  margin-bottom: 18px;
  transition: border-color var(--d-med) var(--ease);
}
.ap-sol-band:last-child {
  margin-bottom: 0;
}
.ap-sol-band:hover {
  border-color: var(--a500);
}
.ap-sol-band.flip .ap-sol-band__media {
  order: 2;
}
.ap-sol-band__media {
  position: relative;
  min-height: 280px;
  background: linear-gradient(135deg, var(--s700), var(--s900));
  overflow: hidden;
}
.ap-sol-band__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--d-med) var(--ease);
}

.ap-sol-band:hover .ap-sol-band__media img {
  transform: scale(1.04);
}
.ap-sol-band__body {
  padding: 44px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}
.ap-sol-band__head {
  display: flex;
  align-items: center;
  gap: 14px;
}
.ap-sol-band__label {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--t600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ap-sol-band h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 27px;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--t50);
  margin: 0;
}
.ap-sol-band p {
  font-size: 15px;
  line-height: 1.65;
  color: var(--t300);
  margin: 0;
  max-width: 52ch;
}
.ap-sol-band__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
/* Štítky řešení — stejný styl jako chipy v headeru značky, jen barevné varianty */
/* ── Chip — globální base + barevné varianty ──────────────── */
.ap-chip {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 12px;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: none;
  transition: background var(--d-fast) var(--ease);
}
/* Kategorie — šalvějová zelená */
.ap-chip--cat { background: rgba(56, 161, 105, 0.15); color: #7ec4a0; }
.ap-chip--cat:hover { background: rgba(56, 161, 105, 0.22); }
/* Oblasti zájmu — tlumená terracotta */
.ap-chip--tg { background: rgba(194, 105, 56, 0.15); color: #d4956a; }
.ap-chip--tg:hover { background: rgba(194, 105, 56, 0.22); }
/* Značky — modrošedá */
.ap-chip--brand { background: rgba(91, 112, 148, 0.18); color: #94a9c0; }
.ap-chip--brand:hover { background: rgba(91, 112, 148, 0.26); }

/* Hlavní proklik řešení — overlay přes celou kartu (stretched link) */
.ap-sol-band__cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
/* Chevron se nehýbe ani při hoveru přes overlay */
.ap-sol-band__cta:hover {
  gap: 8px;
}

/* CTA „Zobrazit produkty" pod popisem O značce */
.ap-brand-about-cta {
  margin-top: 28px;
}
/* Kotva sekce produktů — odskok pod sticky hlavičku */
#produkty {
  scroll-margin-top: calc(var(--ap-header-h, 112px) + 16px);
}

/* 05 PRODUKTOVÉ ŘADY — zig-zag plines */
.ap-pline {
  display: grid;
  grid-template-columns: 2fr 1fr;
  background: var(--s800);
  border: 1px solid var(--s600);
  border-radius: 18px;
  overflow: hidden;
  min-height: 160px;
  margin-bottom: 18px;
  transition: border-color var(--d-med) var(--ease);
}
.ap-pline:last-child {
  margin-bottom: 0;
}
.ap-pline:hover {
  border-color: var(--a500);
}
/* Celý pás je proklik na podstránku řady */
a.ap-pline {
  text-decoration: none;
  color: inherit;
}
a.ap-pline:hover .link-arrow {
  color: var(--a300);
}
/* Chevron u produktové řady se neanimuje (konstantní mezera) */
.ap-pline .link-arrow,
.ap-pline .link-arrow:hover {
  gap: 8px;
}
.ap-pline.flip .ap-pline__media {
  order: 2;
}
.ap-pline__body {
  padding: 36px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 13px;
}
.ap-pline__media {
  position: relative;
  overflow: hidden;
  background: radial-gradient(130% 130% at 50% 30%, #FBFCFE 0%, #F1F3F7 48%, #DEE3EC 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ap-pline__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--d-med) var(--ease);
}
.ap-pline:hover .ap-pline__media img {
  transform: scale(1.04);
}
.ap-ser-badge {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--a300);
  background: rgba(138, 163, 255, 0.08);
  border: 1px solid rgba(138, 163, 255, 0.22);
  border-radius: 6px;
  padding: 4px 10px;
  white-space: nowrap;
  align-self: flex-start;
}
.ap-pline h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 23px;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--t50);
  margin: 0;
}
.ap-pline p {
  font-size: 14px;
  color: var(--t400);
  line-height: 1.55;
  margin: 0;
}
/* Úvod řady v náhledu — větší než běžný text (přebíjí .ap-pline p) */
.ap-pline p.ap-pline__intro {
  font-size: 19px;
  line-height: 1.6;
  color: var(--t300);
}

/* Statická řada (bez značky „Více“) — neproklikávací, bez hover efektů */
.ap-pline--static:hover {
  border-color: var(--s600);
}
.ap-pline--static:hover .ap-pline__media img {
  transform: none;
}

/* Celý obsah řady v itemu — normální velikost písma, zachované formátování */
.ap-pline__content,
.ap-pline__content p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--t300);
}
.ap-pline .ap-pline__content > * {
  margin: 0 0 12px;
}
.ap-pline .ap-pline__content > *:last-child {
  margin-bottom: 0;
}
.ap-pline__content strong,
.ap-pline__content b {
  color: var(--t100);
  font-weight: 600;
}
.ap-pline__content ul,
.ap-pline__content ol {
  padding-left: 22px;
  margin: 0 0 12px;
}
.ap-pline__content ul {
  list-style: disc;
}
.ap-pline__content ol {
  list-style: decimal;
}
.ap-pline__content li {
  margin: 0 0 6px;
  padding-left: 4px;
}
.ap-pline__content li:last-child {
  margin-bottom: 0;
}
.ap-pline__content li::marker {
  color: var(--a400);
}
.ap-spec-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* E-SHOP / VÝROBCE band */
.ap-ext-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
/* Jediná karta → vycentrovat */
.ap-ext-band--single {
  grid-template-columns: minmax(0, 600px);
  justify-content: center;
}
.ap-ext-card {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 16px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  gap: 20px;
  transition: border-color var(--d-med) var(--ease);
}
.ap-ext-card:hover {
  border-color: var(--a500);
}
.ap-ext-card__ico {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--s600);
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--a400);
  flex-shrink: 0;
}
.ap-ext-card__text {
  flex: 1;
}
.ap-ext-card__text b {
  display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
  color: var(--t50);
  letter-spacing: -0.01em;
  margin-bottom: 4px;
}
.ap-ext-card__text span {
  font-size: 13px;
  color: var(--t400);
  line-height: 1.4;
}
.ap-ext-card__arrow {
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--s500);
  transition: color var(--d-fast) var(--ease);
}
.ap-ext-card:hover .ap-ext-card__arrow {
  color: var(--t300);
}

/* Responsive */
@media (max-width: 960px) {
  .ap-sol-band,
  .ap-pline {
    grid-template-columns: 1fr;
  }
  .ap-sol-band.flip .ap-sol-band__media,
  .ap-pline.flip .ap-pline__media {
    order: 0;
  }
  .ap-sol-band__media,
  .ap-pline__media {
    min-height: 220px;
  }
  .ap-sol-band__body {
    padding: 28px 28px;
  }
  .ap-pline__body {
    padding: 28px 28px;
  }
  .ap-ext-band {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .ap-brand-sec {
    padding: 48px 0;
  }
  .ap-sol-band h3 {
    font-size: 22px;
  }
}

/* =========================================================
 * Archive filter bar
 * ========================================================= */

.ap-archive-filter {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 0 24px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--s600);
}

.ap-archive-filter__row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* Label "Filtrace" */
.ap-archive-filter__label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--t600);
  white-space: nowrap;
  align-self: center;
  padding-right: 4px;
}

/* Svislý oddělovač — zachován pro případné použití, jinak nepoužit */
.ap-archive-filter__sep {
  display: block;
  width: 1px;
  height: 20px;
  background: var(--s600);
  align-self: center;
  flex-shrink: 0;
  margin: 0 4px;
}

/* Active / dismissible chip */
.ap-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 8px 5px 12px;
  border: 1px solid transparent;
  border-left-width: 3px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: none;
  transition: background var(--d-fast) var(--ease), border-color var(--d-fast) var(--ease);
}

.ap-filter-chip--cat {
  background: rgba(56, 161, 105, 0.15);
  border: none;
  color: #7ec4a0;
}
.ap-filter-chip--cat:hover {
  background: rgba(56, 161, 105, 0.22);
}

.ap-filter-chip--tg {
  background: rgba(194, 105, 56, 0.15);
  border: none;
  color: #d4956a;
}
.ap-filter-chip--tg:hover {
  background: rgba(194, 105, 56, 0.22);
}

.ap-filter-chip--brand {
  background: rgba(91, 112, 148, 0.18);
  border: none;
  color: #94a9c0;
}
.ap-filter-chip--brand:hover {
  background: rgba(91, 112, 148, 0.26);
}

.ap-filter-chip__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  opacity: 0.75;
  flex-shrink: 0;
  transition: opacity var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
}
.ap-filter-chip:hover .ap-filter-chip__remove {
  opacity: 1;
  background: rgba(255, 255, 255, 0.18);
}

/* Add-filter <details> dropdown */
.ap-filter-group {
  position: relative;
}

.ap-filter-group__trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  background: rgba(245, 248, 255, 0.04);
  border: 1px solid var(--s600);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--t400);
  cursor: pointer;
  user-select: none;
  list-style: none;
  transition: background var(--d-fast) var(--ease),
              border-color var(--d-fast) var(--ease),
              color var(--d-fast) var(--ease);
}
.ap-filter-group__trigger::-webkit-details-marker { display: none; }
.ap-filter-group__trigger::marker { content: none; }

.ap-filter-group__trigger:hover {
  background: rgba(245, 248, 255, 0.09);
  border-color: var(--s500);
  color: var(--t100);
}

.ap-filter-group[open] > .ap-filter-group__trigger {
  background: rgba(74, 111, 240, 0.10);
  border-color: rgba(74, 111, 240, 0.40);
  color: var(--a300);
}

.ap-filter-group__chevron {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
  opacity: 0.55;
  transition: transform var(--d-fast) var(--ease);
}
.ap-filter-group[open] .ap-filter-group__chevron {
  transform: rotate(180deg);
}

.ap-filter-group__options {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 200px;
  max-width: 280px;
  max-height: 280px;
  overflow-y: auto;
  background: var(--s800);
  border: 1px solid var(--s600);
  border-radius: 10px;
  padding: 6px;
  z-index: 300;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}

.ap-filter-group__option {
  display: block;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--t300);
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--d-fast) var(--ease), color var(--d-fast) var(--ease);
}
.ap-filter-group__option:hover {
  background: rgba(245, 248, 255, 0.08);
  color: var(--t100);
}
.ap-filter-group__option--active {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--a300);
  background: rgba(138, 163, 255, 0.08);
}
.ap-filter-group__option--active:hover {
  background: rgba(138, 163, 255, 0.16);
  color: var(--a300);
}
.ap-filter-group__check {
  flex-shrink: 0;
  opacity: 0.85;
}

/* Trigger s aktivní selekcí — oranžový tón jako indikátor */
.ap-filter-group__trigger.has-active {
  background: rgba(74, 111, 240, 0.08);
  border-color: rgba(74, 111, 240, 0.35);
  color: var(--a300);
}
.ap-filter-group__trigger.has-active:hover {
  background: rgba(74, 111, 240, 0.14);
}


/* Light mode */
[data-theme="light"] .ap-archive-filter {
  border-bottom-color: var(--s300, #d0d9e8);
}
[data-theme="light"] .ap-filter-group__options {
  background: #ffffff;
  border-color: #d8e0ed;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}
[data-theme="light"] .ap-filter-group__option:hover {
  background: rgba(74, 111, 240, 0.07);
}

@media (max-width: 640px) {
  .ap-archive-filter {
    gap: 6px;
  }
  .ap-archive-filter__label {
    flex-basis: 100%;
    padding-right: 0;
  }
  .ap-archive-filter__row--chips .ap-archive-filter__label {
    display: none;
  }
}

/* ── Article detail ─────────────────────────────────────────── */

/* Hero */
.ap-article-hero {
  padding: 64px var(--pad) 56px;
  background: var(--s700);
  border-bottom: 1px solid var(--line);
  position: relative;
  overflow: hidden;
}
.ap-article-hero__arch {
  position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(to right, rgba(138,163,255,0.08) 1px, transparent 1px),
                    linear-gradient(to bottom, rgba(138,163,255,0.06) 1px, transparent 1px);
  background-size: 80px 80px;
  opacity: 0.5;
  mask-image: radial-gradient(ellipse at 0% 50%, rgba(0,0,0,0.5), transparent 70%);
}
.ap-article-hero__inner {
  position: relative; z-index: 2;
}
.ap-article-hero__breadcrumb {
  display: flex; gap: 8px; align-items: center; justify-content: flex-start;
  font-family: var(--font-mono); font-size: 11px; color: var(--t600);
  letter-spacing: 0.08em; text-transform: uppercase; flex-wrap: wrap;
}
.ap-article-hero__breadcrumb a { color: var(--t400); text-decoration: none; }
.ap-article-hero__breadcrumb a:hover { color: var(--t100); }
.ap-article-hero__title {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.06; letter-spacing: -0.022em;
  color: var(--t50); margin: 24px 0 0;
  max-width: 900px;
}
.ap-article-hero__meta {
  font-family: var(--font-mono); font-size: 12px;
  color: var(--t600); letter-spacing: 0.04em;
  display: flex; align-items: center; gap: 6px;
  margin-top: 16px;
}
.ap-article-hero__tags {
  display: flex; gap: 8px; flex-wrap: wrap;
  margin-top: 20px;
}

/* Featured image */
.ap-article-featured {
  margin: 56px auto;
  padding: 0 var(--pad);
  max-width: var(--maxw);
}
.ap-article-featured img {
  width: 100%; height: auto;
  border-radius: 16px;
  border: 1px solid var(--line);
  display: block;
}

/* Excerpt / perex — pod featured image */
.ap-article-excerpt {
  margin-bottom: 56px;
}
.ap-article-excerpt__lead {
  margin: 0;
  padding-left: 28px;
  border-left: 2px solid var(--a300);
  font-size: 20px;
  line-height: 1.6;
  color: var(--t100);
  font-weight: 400;
}

/* Body — jednosloupcový layout */
.ap-article-body {
  border-top: 1px solid var(--line);
  padding-top: 56px;
  padding-bottom: 80px;
}
.ap-article > *:first-child {
  margin-top: 0 !important;
}

/* Article typography */
.ap-article {
  font-family: var(--font-sans); font-size: 17px;
  line-height: 1.7; color: var(--t300);
}
.ap-article > p:first-child,
.ap-article > .wp-block-paragraph:first-child p,
.ap-article p.lead {
  font-size: 21px; line-height: 1.55; color: var(--t100); margin-bottom: 32px;
}
.ap-article h2 {
  margin: 56px 0 20px;
}
.ap-article h3 {
  font-family: var(--font-display); font-weight: 600;
  font-size: 22px; line-height: 1.3; letter-spacing: -0.012em;
  color: var(--t100); margin: 40px 0 16px;
}
.ap-article p { margin: 0 0 18px; }
.ap-article ul, .ap-article ol {
  padding-left: 24px; margin: 0 0 24px; color: var(--t300);
}
.ap-article li { margin: 8px 0; }
.ap-article strong { color: var(--t100); font-weight: 600; }
.ap-article blockquote,
.ap-article .wp-block-quote {
  margin: 32px 0; padding: 24px 28px;
  background: var(--s800); border-left: 3px solid var(--a500);
  border-radius: 0 12px 12px 0;
  font-family: var(--font-display); font-weight: 500;
  font-size: 22px; line-height: 1.4; letter-spacing: -0.015em;
  color: var(--t100);
}
.ap-article blockquote > *:last-child,
.ap-article .wp-block-quote > *:last-child { margin-bottom: 0; }
.ap-article blockquote cite,
.ap-article .wp-block-quote cite {
  display: block; margin-top: 16px;
  font-family: var(--font-sans); font-size: 13px;
  color: var(--t400); font-style: normal;
}
.ap-article figure img {
  width: 100%; border-radius: 12px;
  border: 1px solid var(--line);
}
.ap-article figcaption {
  padding: 10px 0 0;
  font-family: var(--font-mono); font-size: 11px;
  color: var(--t600); letter-spacing: 0.04em;
}
.ap-article table {
  width: 100%; border-collapse: collapse;
  margin: 24px 0; background: var(--s800);
  border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
}
.ap-article th, .ap-article td {
  text-align: left; padding: 12px 16px;
  border-bottom: 1px solid var(--line); font-size: 14px;
}
.ap-article th {
  background: var(--s700);
  font-family: var(--font-mono); font-size: 11px;
  color: var(--t400); letter-spacing: 0.06em; text-transform: uppercase; font-weight: 500;
}
.ap-article td { color: var(--t300); }
.ap-article tr:last-child td { border-bottom: none; }


/* Štítky článku (WP post_tag) */
.ap-article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}
.ap-article-tags__chip {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  background: rgba(74, 111, 240, 0.10);
  border: 1px solid rgba(74, 111, 240, 0.40);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--a300);
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--d-fast) var(--ease), border-color var(--d-fast) var(--ease);
}
.ap-article-tags__chip:hover {
  background: rgba(74, 111, 240, 0.18);
  border-color: rgba(74, 111, 240, 0.60);
}

/* Related */
.ap-article-related {
  background: var(--s950);
  padding: 80px var(--pad);
  border-top: 1px solid var(--line);
}
.ap-article-related__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 20px; margin-top: 32px;
}
.ap-related-card {
  background: var(--s700); border: 1px solid var(--s600);
  border-radius: 14px; overflow: hidden;
  text-decoration: none; display: block;
  transition: border-color var(--d-fast) var(--ease), transform var(--d-med) var(--ease);
}
.ap-related-card:hover { border-color: var(--a500); transform: translateY(-4px); }
.ap-related-card__photo {
  aspect-ratio: 16/9; overflow: hidden;
  background: linear-gradient(135deg, var(--s800), var(--s900));
}
.ap-related-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--d-med) var(--ease); }
.ap-related-card:hover .ap-related-card__photo img { transform: scale(1.03); }
.ap-related-card__body { padding: 18px; }
.ap-related-card__meta {
  font-family: var(--font-mono); font-size: 10px;
  color: var(--t600); letter-spacing: 0.08em; text-transform: uppercase;
}
.ap-related-card__title {
  font-family: var(--font-display); font-weight: 600;
  font-size: 16px; line-height: 1.35;
  color: var(--t50); margin: 8px 0 0;
}

/* CTA band */
.ap-article-cta {
  background: var(--s800);
  padding: 64px var(--pad);
  text-align: center;
  border-top: 1px solid var(--line);
}
.ap-article-cta__title {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.15; letter-spacing: -0.02em;
  color: var(--t50); margin: 0 0 16px;
}
.ap-article-cta__text { font-size: 17px; color: var(--t300); margin: 0 0 24px; }
.ap-article-cta__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* CTA — varianta s obchodním zástupcem */
.ap-article-cta--sp .ap-article-cta__text { margin-bottom: 32px; }
.ap-article-cta__sp {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
  text-align: left;
}
.ap-article-cta__sp-avatar {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--a500), var(--s950));
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 600;
  font-size: 24px; color: #fff;
  overflow: hidden; flex-shrink: 0;
}
.ap-article-cta__sp-avatar img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 50%;
  border: 1px solid var(--line);
}
.ap-article-cta__sp-info {
  display: flex; flex-direction: column; gap: 4px;
}
.ap-article-cta__sp-name {
  font-family: var(--font-display); font-weight: 600;
  font-size: 16px; color: var(--t50);
}
.ap-article-cta__sp-role {
  font-size: 13px; color: var(--t400);
}
.ap-article-cta__sp-link {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px; color: var(--t300);
  text-decoration: none;
  transition: color var(--d-fast) var(--ease);
}
.ap-article-cta__sp-link:hover { color: var(--t50); }

/* Responsive */
@media (max-width: 960px) {
  .ap-article-related__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .ap-article-hero { padding: 48px var(--pad) 40px; }
  .ap-article-featured { margin: 40px auto; }
  .ap-article-excerpt { margin-bottom: 40px; }
  .ap-article-excerpt__lead { font-size: 17px; }
  .ap-article-related__grid { grid-template-columns: 1fr; }
  .ap-article { font-size: 15px; }
  .ap-article h2 { font-size: 26px; }
  .ap-article h3 { font-size: 19px; }
}

/* ═══════════════════════════════════════════════════════════
   STRÁNKA KONTAKTY
   ═══════════════════════════════════════════════════════════ */

/* Upozornění — banner */
.ap-contact-notice {
  padding: 14px var(--pad);
  border-bottom: 1px solid var(--line);
}
.ap-contact-notice--warning { background: rgba(244,184,96,0.08); border-bottom-color: rgba(244,184,96,0.20); }
.ap-contact-notice--info    { background: rgba(74,111,240,0.08);  border-bottom-color: rgba(74,111,240,0.20); }
.ap-contact-notice--success { background: rgba(79,209,163,0.08);  border-bottom-color: rgba(79,209,163,0.20); }
.ap-contact-notice__inner {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500;
}
.ap-contact-notice--warning .ap-contact-notice__inner { color: #F4B860; }
.ap-contact-notice--info    .ap-contact-notice__inner { color: var(--a300); }
.ap-contact-notice--success .ap-contact-notice__inner { color: #4FD1A3; }
.ap-contact-notice__inner a { color: inherit; text-decoration: underline; }
.ap-contact-notice__content { flex: 1; }
.ap-contact-notice__content p { margin: 0; }
.ap-contact-notice__content p + p { margin-top: 4px; }
.ap-contact-notice__content a { color: inherit; text-decoration: underline; }

/* Info sekce */
.ap-contact-section { padding: 80px 0; }
.ap-contact-section .ap-overline { margin-bottom: 32px; }
.ap-contact-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
}

/* Info karta */
.ap-contact-info {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 16px;
  padding: 32px;
}
.ap-contact-info__row {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  align-items: baseline;
}
.ap-contact-info__row:last-child { border-bottom: none; }
.ap-contact-info__lbl {
  font-family: var(--font-mono); font-size: 11px;
  color: var(--t600); letter-spacing: 0.10em; text-transform: uppercase;
}
.ap-contact-info__val {
  font-family: var(--font-mono); font-size: 14px;
  color: var(--t100); line-height: 1.6;
}
.ap-contact-info__val strong { color: var(--t50); font-weight: 600; }
.ap-contact-info__val a { color: var(--t100); text-decoration: none; }
.ap-contact-info__val a:hover { color: var(--t50); }

/* Akční tlačítka */
.ap-contact-actions { display: flex; flex-direction: column; gap: 12px; }
.ap-contact-action {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 20px;
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 12px;
  color: var(--t100); font-size: 14px; font-weight: 500;
  text-decoration: none;
  transition: border-color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
  cursor: default;
}
a.ap-contact-action { cursor: pointer; }
.ap-contact-action:hover { border-color: var(--a500); background: rgba(74,111,240,0.04); }
.ap-contact-action__ic {
  width: 32px; height: 32px;
  background: rgba(74,111,240,0.10);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--a300); flex-shrink: 0;
}
.ap-contact-action__text { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.ap-contact-action__sub { font-size: 11px; color: var(--t400); font-weight: 400; }
.ap-contact-action__sub--mono { font-family: var(--font-mono); }
.ap-contact-action__arrow { margin-left: auto; color: var(--t400); }

/* Mapa */
.ap-contact-map {
  margin-top: 48px;
  aspect-ratio: 16/5;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--s800);
  position: relative;
}
.ap-contact-map svg { width: 100%; height: 100%; display: block; }
.ap-contact-map iframe { width: 100%; height: 100%; border: none; display: block; }
.ap-contact-map__label {
  position: absolute;
  bottom: 14px; left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-mono); font-size: 11px;
  color: var(--t100); letter-spacing: 0.04em;
  padding: 5px 12px;
  background: var(--s900);
  border: 1px solid var(--line);
  border-radius: 6px;
  white-space: nowrap;
}

/* Tým */
.ap-contact-team { padding: 0 0 80px; }
.ap-contact-team .wrap { padding-top: 0; }
.ap-contact-team__title {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(28px, 2.8vw, 36px); line-height: 1.15;
  letter-spacing: -0.02em; color: var(--t50);
  margin: 12px 0 32px;
}

/* Filtr oddělení */
.ap-contact-team__filter {
  display: flex; gap: 8px; align-items: center;
  flex-wrap: wrap; margin-bottom: 32px;
}
.ap-contact-team__filter-lbl {
  font-family: var(--font-mono); font-size: 11px;
  color: var(--t600); letter-spacing: 0.10em; text-transform: uppercase;
  margin-right: 4px;
}
.ap-dept-btn {
  padding: 6px 14px; border-radius: 8px;
  font-size: 13px; font-weight: 500;
  color: var(--t300);
  background: transparent;
  border: 1px solid var(--line);
  cursor: pointer;
  transition: all var(--d-fast) var(--ease);
}
.ap-dept-btn:hover { border-color: var(--a500); color: var(--t100); }
.ap-dept-btn.is-active { background: var(--a600); color: #fff; border-color: var(--a600); }

/* Team grid karty */
.ap-contact-team__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.ap-contact-card {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 14px;
  padding: 20px;
  display: flex; flex-direction: column; gap: 10px;
  transition: transform var(--d-med) var(--ease), border-color var(--d-fast) var(--ease);
}
.ap-contact-card:hover { transform: translateY(-3px); border-color: var(--a500); }
.ap-contact-card[hidden] { display: none; }
.ap-contact-card__top { display: flex; gap: 14px; align-items: center; }
.ap-contact-card__ava {
  width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, var(--a500), var(--s950));
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.ap-contact-card__ava img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ap-contact-card__ava span {
  font-family: var(--font-display); font-weight: 600;
  font-size: 17px; color: #fff;
}
.ap-contact-card__name {
  font-family: var(--font-display); font-weight: 600;
  font-size: 15px; color: var(--t50);
}
.ap-contact-card__role { font-size: 12px; color: var(--t400); margin-top: 2px; }
.ap-contact-card__contacts {
  display: flex; flex-direction: column; gap: 2px;
  padding: 10px 0; border-top: 1px solid var(--line);
}
.ap-contact-card__line {
  font-family: var(--font-mono); font-size: 12px;
  color: var(--t100); text-decoration: none;
  padding: 2px 0;
  display: block;
}
.ap-contact-card__line--muted { color: var(--t300); }
.ap-contact-card__line:hover { color: var(--t50); }
.ap-contact-card__dept {
  font-family: var(--font-mono); font-size: 10px;
  color: var(--t600); letter-spacing: 0.08em; text-transform: uppercase;
  padding-top: 10px; border-top: 1px solid var(--line);
}

/* Servis sekce */
.ap-servis-section {
  background: rgba(244,184,96,0.04);
  border: 1px solid rgba(244,184,96,0.18);
  border-radius: 16px;
  padding: 32px;
  margin-top: 32px;
}
.ap-servis-section__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 24px;
  align-items: center;
}
.ap-overline--warning { color: #F4B860; }
.ap-overline--warning::before { background: rgba(244,184,96,0.4); }
.ap-servis-section__text h3 {
  font-family: var(--font-display); font-weight: 600;
  font-size: 22px; letter-spacing: -0.012em;
  color: var(--t50); margin: 10px 0 8px;
}
.ap-servis-section__text p { font-size: 14px; color: var(--t300); margin: 0; line-height: 1.55; }
.ap-servis-card {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 12px;
  padding: 18px;
  display: flex; gap: 12px; align-items: center;
}
.ap-servis-card__ava {
  width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, #F4B860, var(--s950));
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 600; font-size: 14px; color: #fff;
}
.ap-servis-card__name {
  font-family: var(--font-display); font-weight: 600;
  font-size: 14px; color: var(--t50);
}
.ap-servis-card__role { font-size: 11px; color: var(--t400); margin-top: 2px; }
.ap-servis-card__contact {
  font-family: var(--font-mono); font-size: 12px;
  color: var(--t100); margin-top: 4px;
}
.ap-servis-card__contact a { color: var(--t100); text-decoration: none; }
.ap-servis-card__contact a:hover { color: var(--t50); }

/* Formulář */
.ap-contact-form-section {
  padding: 80px 0;
  background: var(--s800);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.ap-contact-form-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: center;
}
.ap-contact-form-intro .ap-overline { margin-bottom: 16px; }
.ap-contact-form-intro h2 {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(26px, 2.5vw, 34px); line-height: 1.15;
  letter-spacing: -0.02em; color: var(--t50);
  margin: 12px 0 16px;
}
.ap-contact-form-intro p {
  font-size: 16px; color: var(--t300); line-height: 1.65; max-width: 50ch;
}
.ap-contact-form-intro p a { color: var(--a300); }
.ap-contact-form-card {
  background: var(--s900);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 32px;
}
.ap-contact-form-card__placeholder {
  font-size: 14px; color: var(--t400);
}
.ap-contact-form-card__placeholder a { color: var(--a300); }

/* Doprava */
.ap-directions { padding: 80px 0; }
.ap-directions .ap-overline { margin-bottom: 32px; }
.ap-directions__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.ap-dir-card {
  background: var(--s700);
  border: 1px solid var(--s600);
  border-radius: 14px;
  padding: 28px;
}
.ap-dir-card__icon {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono); font-size: 11px;
  color: var(--t600); letter-spacing: 0.10em; text-transform: uppercase;
}
.ap-dir-card__title {
  font-family: var(--font-display); font-weight: 600;
  font-size: 20px; color: var(--t50);
  letter-spacing: -0.012em; margin: 12px 0 14px;
}
.ap-dir-card__text { font-size: 14px; color: var(--t300); line-height: 1.65; margin: 0 0 14px; }
.ap-dir-card__list { list-style: none; padding: 0; margin: 0; }
.ap-dir-card__list li {
  padding: 8px 0 8px 24px;
  border-bottom: 1px solid var(--line);
  position: relative;
  font-size: 13px; color: var(--t300);
}
.ap-dir-card__list li:last-child { border-bottom: none; }
.ap-dir-card__list li::before {
  content: "";
  position: absolute; left: 0; top: 16px;
  width: 12px; height: 1px;
  background: var(--a500);
}

/* Responzivita */
@media (max-width: 1024px) {
  .ap-contact-grid { grid-template-columns: 1fr; }
  .ap-contact-team__grid { grid-template-columns: repeat(3, 1fr); }
  .ap-servis-section__grid { grid-template-columns: 1fr 1fr; }
  .ap-servis-section__text { grid-column: 1 / -1; }
  .ap-contact-form-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 768px) {
  .ap-contact-section { padding: 48px 0; }
  .ap-contact-team { padding: 0 0 48px; }
  .ap-contact-team__grid { grid-template-columns: repeat(2, 1fr); }
  .ap-directions__grid { grid-template-columns: 1fr; }
  .ap-contact-form-section { padding: 48px 0; }
  .ap-directions { padding: 48px 0; }
}
@media (max-width: 560px) {
  .ap-contact-team__grid { grid-template-columns: 1fr; }
  .ap-servis-section__grid { grid-template-columns: 1fr; }
}
