/* Design Soul - Hero банер. Цветовете идват от настройките на модула. */
.ds-hero {
  --ds-bg: #211A3F; --ds-accent: #F2C14E; --ds-text: #F5F3FF;
  box-sizing: border-box;
  width: calc(100% - 32px);
  max-width: var(--ds-max-width, none);
  margin: 20px auto 28px;
  padding: var(--ds-pad-y, clamp(20px, 3vw, 44px)) var(--ds-pad-x, clamp(20px, 3vw, 44px));
  display: flex;
  flex-direction: column;
  background: var(--ds-bg);
  color: var(--ds-text);
  border: var(--ds-bw, 0px) solid var(--ds-bc, transparent);
  border-radius: var(--ds-radius, 20px);
  line-height: 1.5;
}
.ds-hero *, .ds-hero *::before, .ds-hero *::after { box-sizing: border-box; }

.ds-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--ds-gap, clamp(20px, 3.5vw, 48px));
  align-items: var(--ds-cols-align, start);
  align-content: center;
  flex: 1 1 auto;
}

/* Минимална височина (само на компютър; на телефон е автоматична) */
@media (min-width: 901px) {
  .ds-hero { min-height: var(--ds-min-h, 0); }
  .ds-hero__card { min-height: var(--ds-card-min-h, 0); }
}

/* Основна колона */
.ds-hero__eyebrow {
  display: flex; align-items: center; gap: 12px;
  margin: 0 0 14px; font-size: var(--ds-fs-eyebrow, 14px); opacity: .8;
}
.ds-hero__eyebrow::before {
  content: ""; width: 32px; height: 2px; background: var(--ds-accent); flex: none;
}
.ds-hero__title {
  margin: 0 0 18px; color: var(--ds-text);
  font-size: var(--ds-fs-title, clamp(28px, min(4vw, 6.6vh), 54px)); line-height: 1.06;
  font-weight: 800; letter-spacing: -0.02em; text-transform: none;
}
.ds-hero__accent {
  display: block; color: var(--ds-accent); font-weight: 500;
  font-size: var(--ds-fs-accent);
}
.ds-hero__subtitle { margin: 0 0 10px; max-width: 34em; font-size: var(--ds-fs-subtitle, clamp(16px, 1.35vw, 20px)); }
.ds-hero__text { margin: 0 0 22px; max-width: 38em; font-size: var(--ds-fs-text, 15px); opacity: .75; }

.ds-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
.ds-hero__btn {
  display: inline-block; padding: 12px 26px; border-radius: 999px;
  background: var(--ds-btn-bg, var(--ds-accent)); color: var(--ds-btn-text, var(--ds-bg)) !important;
  font-weight: 700; text-decoration: none !important; font-size: var(--ds-fs-btn1);
  transition: transform .15s ease, box-shadow .15s ease;
}
.ds-hero__btn:hover, .ds-hero__btn:focus-visible, .ds-hero__btn:active { box-shadow: var(--ds-btn-shadow, none); }
.ds-hero__btn:hover { transform: translateY(-2px); }
.ds-hero__btn:active { transform: translateY(0); }
.ds-hero__link {
  font-size: var(--ds-fs-btn2);
  color: var(--ds-text) !important; font-weight: 600;
  text-decoration: underline !important; text-decoration-color: var(--ds-accent);
  text-underline-offset: 6px; text-decoration-thickness: 2px;
}
.ds-hero__btn:focus-visible, .ds-hero__link:focus-visible, .ds-hero__card-link:focus-visible {
  outline: 3px solid var(--ds-text); outline-offset: 3px;
}

/* Карта на доверието */
.ds-hero__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: var(--ds-card-w, none);
  justify-self: var(--ds-card-justify, end);
  padding: var(--ds-card-pad, clamp(18px, 2vw, 26px));
  border: var(--ds-card-bw, 1px) solid var(--ds-card-bc, rgba(255,255,255,.16));
  border-radius: var(--ds-card-radius, 14px);
  box-shadow: var(--ds-card-shadow, none);
  background: var(--ds-card-bg, rgba(255,255,255,.05));
}
.ds-hero__card-head { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; }
.ds-hero__photo {
  width: var(--ds-photo-size, 80px); height: var(--ds-photo-size, 80px); flex: none; border-radius: 50%;
  object-fit: cover; border: var(--ds-photo-bw, 2px) solid var(--ds-photo-bc, var(--ds-accent));
}
.ds-hero__card-eyebrow { margin: 0 0 4px; font-size: var(--ds-fs-card-eyebrow, 14px); opacity: .7; }
.ds-hero__card-title { margin: 0; color: var(--ds-text); font-size: var(--ds-fs-card-title, clamp(20px, 2vw, 25px)); line-height: 1.15; font-weight: 700; text-transform: none; }
.ds-hero__card-text { margin: 0 0 16px; opacity: .8; font-size: var(--ds-fs-card-text); }
.ds-hero__checks { list-style: none; margin: 0 0 20px; padding: 0; }
.ds-hero__checks li {
  position: relative; padding: 9px 0 9px 28px;
  border-top: 1px solid var(--ds-line, rgba(255,255,255,.14));
}
.ds-hero__check--1 { font-size: var(--ds-fs-check1); }
.ds-hero__check--2 { font-size: var(--ds-fs-check2); }
.ds-hero__check--3 { font-size: var(--ds-fs-check3); }
.ds-hero__checks li::before {
  content: "\2713"; position: absolute; left: 0; top: 9px; color: var(--ds-check, var(--ds-accent)); font-weight: 700;
}
.ds-hero__card-link {
  color: var(--ds-text) !important; font-weight: 700; font-size: var(--ds-fs-card-link);
  text-decoration: underline !important; text-decoration-color: var(--ds-accent);
  text-underline-offset: 6px; text-decoration-thickness: 2px;
  margin-top: auto; align-self: flex-start;
}

/* Лента с лозунги */
.ds-hero__strip {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  list-style: none; margin: clamp(18px, 2.5vw, 32px) 0 0; padding: 16px 0 0;
  border-top: 1px solid var(--ds-line, rgba(255,255,255,.16));
  font-size: 15px; opacity: .85;
}
.ds-hero__slogan--1 { font-size: var(--ds-fs-strip1); }
.ds-hero__slogan--2 { font-size: var(--ds-fs-strip2); }
.ds-hero__slogan--3 { font-size: var(--ds-fs-strip3); }
.ds-hero__strip li:nth-child(2) { text-align: center; }
.ds-hero__strip li:nth-child(3) { text-align: right; }

/* Лаптопи и по-ниски екрани */
@media (min-width: 901px) and (max-height: 820px) {
  .ds-hero { margin: 12px auto 20px; padding: var(--ds-pad-y, 24px) var(--ds-pad-x, 32px); }
  .ds-hero__eyebrow { margin-bottom: 10px; }
  .ds-hero__title { margin-bottom: 12px; font-size: var(--ds-fs-title, clamp(26px, min(3.6vw, 6.2vh), 46px)); }
  .ds-hero__subtitle { margin-bottom: 8px; font-size: var(--ds-fs-subtitle, 16px); }
  .ds-hero__text { margin-bottom: 16px; font-size: var(--ds-fs-text, 14px); }
  .ds-hero__btn { padding: 10px 22px; }
  .ds-hero__photo { width: var(--ds-photo-size, 64px); height: var(--ds-photo-size, 64px); }
  .ds-hero__card { padding: var(--ds-card-pad, 16px 18px); }
  .ds-hero__card-head { gap: 14px; margin-bottom: 10px; }
  .ds-hero__card-text { margin-bottom: 8px; font-size: var(--ds-fs-card-text, 14px); }
  .ds-hero__checks { margin-bottom: 12px; font-size: 14px; }
  .ds-hero__checks li { padding: 6px 0 6px 26px; }
  .ds-hero__checks li::before { top: 6px; }
  .ds-hero__strip { margin-top: 16px; padding-top: 12px; font-size: 14px; }
}

@media (min-width: 901px) and (max-width: 1200px) {
  .ds-hero__inner { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
}

@media (max-width: 900px) {
  .ds-hero { margin: 12px auto 20px; width: calc(100% - 24px); padding: var(--ds-pad-y, 20px) var(--ds-pad-x, 20px); }
  .ds-hero__title { font-size: var(--ds-fs-title, clamp(28px, 8vw, 40px)); }
  .ds-hero__inner { grid-template-columns: 1fr; }
  .ds-hero__strip { grid-template-columns: 1fr; gap: 8px; }
  .ds-hero__card { max-width: none; justify-self: stretch; }
  .ds-hero__photo { width: min(var(--ds-photo-size, 80px), 32vw); height: min(var(--ds-photo-size, 80px), 32vw); }
  .ds-hero__strip li:nth-child(n) { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .ds-hero__btn { transition: none; }
  .ds-hero__btn:hover { transform: none; }
}

/* Избор на шрифт (само когато е зададен от настройките) */
.ds-hero--hfont .ds-hero__title,
.ds-hero--hfont .ds-hero__card-title { font-family: var(--ds-font-head); }
.ds-hero--bfont .ds-hero__eyebrow,
.ds-hero--bfont .ds-hero__subtitle,
.ds-hero--bfont .ds-hero__text,
.ds-hero--bfont .ds-hero__btn,
.ds-hero--bfont .ds-hero__link,
.ds-hero--bfont .ds-hero__card-eyebrow,
.ds-hero--bfont .ds-hero__card-text,
.ds-hero--bfont .ds-hero__checks li,
.ds-hero--bfont .ds-hero__card-link,
.ds-hero--bfont .ds-hero__strip li { font-family: var(--ds-font-body); }
