/* Brand variables pulled from options are not directly available; keep tokens aligned with plugin palette */
:root { --genznak-primary:#FBEA31; --genznak-dark:#1C1C1C; --genznak-muted:#666; --genznak-bg:#f2f3f5; }
body { color: var(--genznak-dark); }
h1,h2,h3 { line-height:1.15; letter-spacing:-0.02em; }
h1,h2,h3 { color: var(--genznak-dark) !important; }
html, body { background: var(--genznak-bg) !important; }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 92px; }

.button {
  display: inline-block;
  padding: 0.6em 1.2em;
  border-radius: 6px;
  background: #e9e9e9;
  color: var(--genznak-dark);
  text-decoration: none;
  font-weight: 600;
  margin-right: 8px;
  transition: transform .06s ease, filter .12s ease;
}
.button-primary {
  background: var(--genznak-primary);
  color: #000;
}
.button:hover { filter: brightness(0.98); }
.button-primary:hover { filter: brightness(0.95); }

.genznak-hero {
  position: relative;
  overflow: hidden;
  padding: 72px 16px 64px;
  text-align: center;
  background:
    radial-gradient(900px 520px at 50% -12%, rgba(251,234,49,.34), transparent 62%),
    linear-gradient(180deg, #FFFDF2 0%, #ffffff 62%);
}
.genznak-hero__aurora {
  position: absolute;
  inset: -20% -10% auto -10%;
  height: 120%;
  pointer-events: none;
  filter: blur(80px);
  opacity: .5;
}
.genznak-hero__aurora span {
  position: absolute;
  display: block;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(251,234,49,.5), transparent 68%);
  animation: gnz-hero-drift 22s ease-in-out infinite alternate;
}
.genznak-hero__aurora span:nth-child(1) { width: 460px; height: 460px; left: 12%; top: 8%; animation-duration: 24s; }
.genznak-hero__aurora span:nth-child(2) { width: 380px; height: 380px; right: 10%; top: 22%; animation-duration: 30s; animation-delay: -6s; }
.genznak-hero__aurora span:nth-child(3) { width: 300px; height: 300px; left: 46%; top: 48%; animation-duration: 27s; animation-delay: -12s; }
@keyframes gnz-hero-drift {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(60px, -40px, 0) scale(1.16); }
}
.genznak-hero__mesh {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(22,24,29,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22,24,29,.05) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 35%, #000 30%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 35%, #000 30%, transparent 78%);
  opacity: .7;
}
.genznak-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 920px;
  margin: 0 auto;
}
.genznak-hero__brand {
  display: flex;
  justify-content: center;
  margin: 0 0 18px;
}
.genznak-hero__logo {
  display: block;
  width: clamp(160px, 22vw, 240px);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 50%;
  box-shadow: 0 18px 54px rgba(214, 176, 0, .20);
  margin: 0;
}
.genznak-hero__title {
  margin: 0 auto 16px;
  max-width: 780px;
  font-size: clamp(22px, 2.8vw, 30px);
  line-height: 1.28;
  font-weight: 600;
  text-align: center;
  color: #16181D !important;
  letter-spacing: -.02em;
}
.genznak-hero__subtitle {
  font-size: 17px;
  line-height: 1.55;
  color: #545C6B;
  max-width: 640px;
  margin: 0 auto 28px;
  text-align: center;
}
.genznak-hero__actions {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  max-width: 760px;
  width: 100%;
  margin: 0 auto 14px;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  box-sizing: border-box;
}
.genznak-hero__actions .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  min-width: 180px;
  min-height: 48px;
  margin: 0 !important;
  padding: 13px 24px !important;
  text-align: center;
  white-space: nowrap;
  line-height: 1.25;
  border-radius: 12px !important;
  border: 1px solid rgba(22,24,29,.14) !important;
  box-sizing: border-box;
  float: none !important;
  position: relative !important;
  overflow: hidden;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  background: #fff !important;
  color: #16181D !important;
  box-shadow: 0 1px 2px rgba(22,24,29,.05) !important;
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, border-color .28s ease;
}
.genznak-hero__actions .button-primary {
  background: linear-gradient(135deg, #FBEA31, #FFD84D) !important;
  border-color: transparent !important;
  color: #14150F !important;
  box-shadow: 0 2px 10px rgba(214,176,0,.28) !important;
}
.genznak-hero__actions .button:hover {
  transform: translateY(-2px);
  border-color: rgba(22,24,29,.28) !important;
  box-shadow: 0 6px 18px rgba(22,24,29,.10) !important;
}
.genznak-hero__actions .button-primary:hover {
  box-shadow: 0 10px 26px rgba(214,176,0,.38) !important;
  border-color: transparent !important;
}
.genznak-hero__note {
  margin: 0 auto;
  max-width: 520px;
  font-size: 13.5px;
  line-height: 1.45;
  color: #858D9B;
}
.genznak-hero__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 46px;
}
.genznak-hero__stat {
  padding: 20px 14px;
  border: 1px solid rgba(22,24,29,.09);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(22,24,29,.04);
  text-align: center;
  transition: border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.genznak-hero__stat:hover {
  border-color: rgba(214,176,0,.55);
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(22,24,29,.08);
}
.genznak-hero__stat-v {
  display: block;
  font-size: 28px;
  line-height: 1.1;
  font-weight: 600;
  color: #16181D;
  font-variant-numeric: tabular-nums;
}
.genznak-hero__stat-l {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #858D9B;
}
@media (max-width: 768px) {
  .genznak-hero { padding: 48px 16px 40px; }
  .genznak-hero__logo { width: clamp(120px, 42vw, 170px); }
  .genznak-hero__actions {
    flex-direction: column;
    align-items: stretch;
    max-width: 420px;
  }
  .genznak-hero__actions .button {
    width: 100% !important;
    min-width: 0;
    white-space: normal;
  }
  .genznak-hero__actions .button[href^="tel"] { display: none !important; }
  .genznak-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 32px;
  }
}

.genznak-hero__grid { justify-content: center !important; }
.genznak-hero__grid .hero-ill { display: none !important; }
.genznak-hero__grid .hero-txt { max-width: 760px; margin: 0 auto; }

/* Стили для списка категорий */
.gnz-cat-groups {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gnz-cat-group {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.gnz-cat-group__title {
  list-style: none;
  cursor: pointer;
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  text-align: left !important;
  padding: 14px 44px 14px 18px;
  position: relative;
  user-select: none;
}
.gnz-cat-group__title::-webkit-details-marker { display: none; }
.gnz-cat-group__title::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  transform: translateY(-70%) rotate(45deg);
  transition: transform .15s ease;
}
.gnz-cat-group[open] .gnz-cat-group__title::after {
  transform: translateY(-30%) rotate(225deg);
}
.gnz-cat-group .gnz-categories {
  padding: 0 14px 14px;
}
.gnz-cat-group__title a {
  color: inherit;
  text-decoration: none;
}
.gnz-cat-group__title a:hover {
  text-decoration: underline;
}
.gnz-categories {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  background: transparent;
  border: none;
  box-shadow: none;
  overflow: visible;
}

/* Главная: ровная сетка без «дыр» между карточками */
.gnz-categories.gnz-cat-blocks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.gnz-categories.gnz-cat-blocks .gnz-cat-item {
  flex: none;
  min-width: 0;
  width: auto;
}

/* Пустые ячейки / псевдо-«пилюли» в сетках категорий и групп */
.gnz-groups__grid > :empty,
.gnz-categories > :empty,
.gnz-categories.gnz-cat-blocks > :empty {
  display: none !important;
}
.gnz-groups__grid::before,
.gnz-groups__grid::after,
.gnz-categories::before,
.gnz-categories::after {
  content: none !important;
  display: none !important;
}

/* Если на странице уже премиум-главная — прячем старую Elementor-мозаику */
body.gnz-premium .category-grid,
body.gnz-premium .category-grid-canvas,
body:has(#gnz-premium-home) .category-grid,
body:has(#gnz-premium-home) .category-grid-canvas {
  display: none !important;
}

.gnz-cat-item {
  flex: 0 1 calc(33.333% - 12px);
  min-width: 220px;
  display: flex;
  align-items: center;
  padding: 12px 14px;
  min-height: 64px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  position: relative;
  box-sizing: border-box;
}

/* Эффект при наведении */
.gnz-cat-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  border-color: var(--genznak-primary);
  background: #fff;
}

/* Убираем специфические правила для сетки, которые были раньше */
.gnz-cat-item:nth-child(7),
.gnz-cat-item:nth-child(4),
.gnz-cat-item:nth-child(n+5) {
  grid-column: auto;
  border-right: 1px solid rgba(0,0,0,.08);
  border-bottom: 1px solid rgba(0,0,0,.08);
}

@media (max-width: 1100px) {
  .gnz-categories.gnz-cat-blocks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gnz-cat-item { flex: 0 1 calc(50% - 12px); min-width: 0; }
}

@media (max-width: 800px) {
  .gnz-cat-item { flex: 0 1 calc(50% - 12px); min-width: 0; }
}

@media (max-width: 580px) {
  .gnz-categories.gnz-cat-blocks { grid-template-columns: 1fr; }
  .gnz-cat-item { flex: 0 1 100%; }
}

/* Ховер эффект: желтый фон */
.gnz-cat-item:hover {
  background: #fffdcc;
  border-color: var(--genznak-primary);
  border-width: 1px;
}

/* Полностью убираем старую вертикальную полоску, которая вылезала за скругление */
.gnz-cat-item::before {
  display: none !important;
}

.gnz-cat-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
  flex-shrink: 0;
}
.gnz-cat-icon img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  opacity: .85;
}
.gnz-cat-text {
  font-size: 18px;
  font-weight: 600;
  color: var(--genznak-dark);
  line-height: 1.3;
}
.genznak-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10050 !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  opacity: 1 !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
  transition: box-shadow .15s ease;
  pointer-events: auto;
}
.genznak-header.is-sticky {
  box-shadow: 0 6px 20px rgba(0,0,0,.08) !important;
}
.genznak-header.is-hidden { transform: none; }
.genznak-header__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px;
  background: transparent;
}
.genznak-header__brand {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  overflow: hidden;
  border-radius: 50%;
  line-height: 0;
}
.genznak-header__brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  max-height: none;
}
.genznak-header__nav,
.genznak-header__nav ul {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.genznak-header__nav a {
  text-decoration: none;
  color: var(--genznak-dark);
  font-weight: 600;
  opacity: .9;
  padding: 6px 8px;
  border-radius: 6px;
  position: relative;
  background-image: none !important;
}
.genznak-header__nav a:hover { text-decoration: none; }
.genznak-header__nav a:not(.button)::after {
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:56%;
  height:3px;
  background:#000;
  border-radius:2px;
  transform: translateX(-50%) scaleX(0);
  transform-origin:center;
  transition: transform .18s ease;
}
.genznak-header__nav a:not(.button):hover::after { transform: translateX(-50%) scaleX(1); }
.genznak-header__nav .cta-login,
.genznak-header__nav .cta-register,
.genznak-header__nav .cta-account,
.genznak-header__nav .cta-form { margin-left: 6px; }
.genznak-header__nav .cta-form {
  background: #fff !important;
  border: 1.5px solid #FBEA31 !important;
  color: #16181D !important;
  box-shadow: none !important;
  border-radius: 12px !important;
  font-weight: 500 !important;
}
.genznak-header__nav .cta-register,
.genznak-header__nav .cta-login {
  background: #fff !important;
  border: 1px solid rgba(22,24,29,.18) !important;
  color: #16181D !important;
  box-shadow: none !important;
  border-radius: 12px !important;
  font-weight: 500 !important;
}
.genznak-header__nav .cta-account {
  border-radius: 12px !important;
  font-weight: 500 !important;
}
body.logged-in .genznak-header__nav .cta-login,
body.logged-in .genznak-header__nav .cta-register { display: none !important; }
body:not(.logged-in) .genznak-header__nav .cta-account { display: none !important; }

/* Отступ под фиксированную шапку */
body.gnz-has-header,
body:has(.genznak-header) {
  padding-top: var(--gnz-header-h, 92px) !important;
}
.gnz-centered { text-align: center !important; max-width: 820px; margin-left: auto; margin-right: auto; }

/* Скрываем хедер темы на страницах, где выводим свою шапку */
body:has(.genznak-header) .site-header,
body:has(.genznak-header) header.site-header,
body:has(.genznak-header) .elementor-location-header,
body:has(.genznak-header) header.header,
body:has(.genznak-header) .page-header,
body.gnz-has-header .site-header,
body.gnz-has-header header.site-header,
body.gnz-has-header .elementor-location-header,
body.gnz-has-header header.header,
body.gnz-has-header .page-header { display: none !important; }

.gnz-socials, #gnz-socials { display:flex; gap:10px; align-items:center; margin-top:10px; }
.gnz-socials .gnz-social, #gnz-socials .gnz-social { display:inline-flex; width:36px; height:36px; border-radius:10px; align-items:center; justify-content:center; background:#fff; border:1px solid rgba(0,0,0,.06); box-shadow:0 6px 18px rgba(0,0,0,.08); }
.gnz-socials .gnz-social img, #gnz-socials .gnz-social img { width:22px; height:22px; }


.genznak-footer { margin-top: 40px; border-top: 1px solid #eee; background: #fafafa; }
.genznak-footer__inner { max-width: 1120px; margin: 0 auto; padding: 20px 16px; display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 16px; }
.genznak-footer__copy { text-align: center; padding: 10px; color: #777; font-size: 14px; }

.gnz-modal { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; z-index: 1000; }
.gnz-modal.is-open { display: flex; animation: gnzFade .18s ease; }
.gnz-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.9); }
.gnz-modal__dialog { position: relative; width: min(92vw, 760px); height: min(92vh, 640px); background: #2a2a2a; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,.4); overflow: hidden; display: flex; flex-direction: column; transform: translateY(8px) scale(.98); animation: gnzRise .22s cubic-bezier(.2,.8,.2,1) forwards; }
.gnz-modal__frame { width: 100%; height: 100%; border: 0; background: #fff; }
.gnz-modal__close { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; display:flex; align-items:center; justify-content:center; text-align: center; border: 0; border-radius: 50%; background: var(--genznak-primary); color: #000; font-size: 22px; font-weight: 700; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.22); }
.gnz-modal__close:hover { transform: translateY(-1px); }
body.gnz-modal-open { overflow: hidden; }
.gnz-modal__loader { position:absolute; inset:0; display:none; align-items:center; justify-content:center; background: linear-gradient(180deg, rgba(0,0,0,.06), transparent 40%); z-index:2; }
.gnz-modal.is-loading .gnz-modal__loader { display:flex; }
.gnz-modal__loader span { width: 38px; height: 38px; border: 3px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: gnzSpin .8s linear infinite; }
@keyframes gnzSpin { to { transform: rotate(360deg) } }
@keyframes gnzFade { from { opacity: 0 } to { opacity: 1 } }
@keyframes gnzRise { to { transform: none } }
.gnz-login-form { display:block; }
.gnz-login-form label { display:block; font-weight:600; margin:8px 12px; }
.gnz-login-form input[type="text"], .gnz-login-form input[type="password"], .gnz-login-form input[type="email"] { width:100%; padding:10px 12px; border:1px solid #e0e0e0; border-radius:10px; margin-top:6px; }
.gnz-login-form .gnz-inline { display:flex; align-items:center; gap:8px; font-weight:500; margin-top:6px; }

/* Стайлинг страниц входа/регистрации (WPEverest User Registration) */
.user-registration, 
.user-registration-form,
#user-registration,
[id^="ur-frontend-form"],
[class*="user-registration-form"][class*="register"] {
  max-width: 460px;
  margin: 18px auto !important;
  background:#fff !important;
  border:1px solid rgba(251,234,49,.45) !important;
  border-radius: 16px !important;
  padding: 18px 16px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.08) !important;
}
/* Регистрация: если форма идёт без внешнего контейнера, оформляем сам тег form как карточку */
.ur-frontend-form > form.register,
.ur-frontend-form form[action*="user-registration"],
.ur-frontend-form form[action*="register"] {
  max-width: 560px !important;
  margin: 18px auto !important;
  background:#fff !important;
  border:1px solid rgba(251,234,49,.45) !important;
  border-radius: 16px !important;
  padding: 18px 16px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.08) !important;
}
.ur-frontend-form {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.user-registration .ur-frontend-form,
.user-registration-form .ur-frontend-form,
.user-registration .user-registration-form {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.ur-frontend-form .ur-form-grid,
.ur-frontend-form .ur-form-row,
.user-registration-form .ur-form-row {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.ur-frontend-form form,
.ur-frontend-form .ur-form-container,
.ur-frontend-form .ur-frontend-form-wrap,
.ur-frontend-form .ur-form-fields {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.ur-frontend-form h2, 
.user-registration h2, 
.user-registration-form h2,
.ur-frontend-form .ur-form-title {
  text-align:center;
  margin: 6px 0 12px;
}
/* Центровка заголовка страницы «Вход» */
.entry-title, .page-title, .elementor-heading-title {
  text-align: center;
}
.ur-frontend-form input[type="text"],
.ur-frontend-form input[type="email"],
.ur-frontend-form input[type="password"],
.user-registration-form input[type="text"],
.user-registration-form input[type="email"],
.user-registration-form input[type="password"] {
  width:100%;
  padding: 12px 14px;
  border:1px solid #e0e0e0;
  border-radius: 12px;
  background:#fff;
}
.user-registration-form input[type="submit"],
.user-registration input[type="submit"],
.user-registration-form .button[type="submit"] {
  width:100%;
  padding: 12px 16px;
  border-radius: 12px;
  background: linear-gradient(180deg, var(--genznak-primary), rgba(251,234,49,.9));
  color:#000;
  font-weight:800;
  border:1px solid rgba(251,234,49,.7);
  box-shadow: 0 16px 36px rgba(251,234,49,.28);
  transition: transform .1s ease, box-shadow .18s ease, filter .2s ease;
}
.user-registration-form input[type="submit"]:hover,
.user-registration input[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 42px rgba(251,234,49,.35);
  filter: saturate(1.05);
}
/* Спрятать спиннер/индикатор загрузки у кнопок плагина */
.ur-frontend-form .ur-ajax-loading,
.ur-frontend-form .ur-button-processing,
.user-registration .ur-ajax-loading,
.user-registration .ur-button-processing,
.user-registration-form .ur-ajax-loading,
.user-registration-form .ur-button-processing {
  display: none !important;
}
.ur-frontend-form .ur-button, 
.ur-frontend-form button[type="submit"],
.user-registration-form .ur-button,
.user-registration-form button[type="submit"],
.user-registration button[type="submit"] {
  width:100%;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--genznak-primary);
  color:#000;
  font-weight:700;
  border:1px solid rgba(251,234,49,.6);
  box-shadow: 0 12px 26px rgba(251,234,49,.25);
  transition: transform .1s ease, box-shadow .18s ease;
}
.ur-frontend-form .ur-button:hover,
.user-registration-form .ur-button:hover,
.user-registration button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(251,234,49,.35);
}
/* Центровка заголовка страницы формы ТНВЭД */
body:has(.tnved-form-wrap) h1,
.page .entry-header .entry-title,
.entry-header .entry-title,
.page .entry-title,
.single .entry-title,
.site-main h1,
.content-area h1 { text-align: center !important; }
body:has(.tnved-form-wrap) .entry-content > p:first-of-type,
body:has(.tnved-form-wrap) .entry-content p:first-child {
  text-align: center !important;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
body:has(.tnved-form-wrap) .entry-content p,
body:has(.tnved-form-wrap) .page-content p,
body:has(.tnved-form-wrap) .site-main .entry-content > p,
body:has(.tnved-form-wrap) .elementor .elementor-widget-text-editor p,
body:has(.tnved-form-wrap) .page-header p,
body:has(.tnved-form-wrap) .entry-summary p {
  text-align: center !important;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
.ur-frontend-form a, 
.user-registration-form a {
  color: var(--genznak-dark);
  font-weight:600;
  text-decoration: underline;
}

/* Две кнопки рядом на регистрации */
.gnz-auth-actions { display:flex; gap:12px; align-items:stretch; margin-top: 12px; width:100%; }
.gnz-auth-actions .button,
.gnz-auth-actions input[type="submit"] { flex:1 1 auto; padding: 12px 16px; border-radius: 12px; font-weight: 800; white-space: nowrap; }
.gnz-auth-actions input[type="submit"] { min-width: 220px; }
.gnz-reg-login.button { 
  display:inline-flex; justify-content:center; align-items:center; text-decoration: none !important;
  background:#fff; 
  border:1px solid rgba(251,234,49,.6); 
  color:#000; 
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  transition: transform .1s ease, box-shadow .18s ease, background-color .18s ease; 
  flex: 0 0 auto; 
  padding: 12px 18px;
}
.gnz-reg-login.button:hover { 
  transform: translateY(-1px); 
  box-shadow: 0 14px 28px rgba(0,0,0,.12); 
  background: rgba(251,234,49,.2);
}

/* Лого вместо текстового названия сайта в шапке (для тем с .site-title) */
.site-title a {
  display:inline-block;
  width: 140px;
  height: 48px;
  background: url("/wp-content/plugins/tnved-forms/assets/brand/logo-genznak.png") center/contain no-repeat;
  color: transparent !important;
  text-indent: -9999px;
  line-height: 0;
}
.site-title { margin: 8px 0; }
body:has(.genznak-header) .site-title,
body:has(.genznak-header) .site-title a,
body:has(.genznak-header) .site-branding,
body:has(.genznak-header) .custom-logo-link,
body:has(.genznak-header) .custom-logo,
body:has(.genznak-header) .site-logo { display:none !important; }

.genznak-benefits { padding: 56px 0; position: relative; background: radial-gradient(800px 180px at 50% -40px, rgba(251,234,49,.12), transparent 70%); }
.genznak-benefits h2 { margin-bottom: 18px; text-align: center; }
.features { display: grid; grid-template-columns: repeat(auto-fill,minmax(240px,1fr)); gap: 18px; max-width: 1120px; margin: 0 auto; background:transparent; border:none; padding:0; position: relative; }
.feature { display:flex; gap:14px; padding:18px; border:1px solid rgba(251,234,49,.45); border-radius:16px; background:#ffffff; box-shadow:0 2px 8px rgba(251,234,49,.15); position: relative; overflow: hidden; }
.feature:before { content: ""; position: absolute; top:0; left:0; right:0; height:4px; background: linear-gradient(90deg, rgba(251,234,49,.95), transparent); }
/* Стек главной из пакета 1.4.7 */
.gnz-premium-home {
  width: 100%;
  max-width: none;
  display: block !important;
  visibility: visible !important;
  position: relative;
  z-index: 1;
}
.gnz-premium-home > section {
  display: block !important;
  visibility: visible !important;
}
.gnz-premium-home > section:first-child {
  margin-top: 0;
}

/* Дубль шапки из Elementor на главной скрываем, когда есть runtime-шапка */
body.gnz-has-header .elementor-top-section:has(.genznak-header),
body.gnz-has-header .elementor-element-row-header {
  display: none !important;
}

.features:not(.gnz-benefits-grid) { visibility: hidden; }
body.gnz-blocks-ready .features:not(.gnz-benefits-grid) { visibility: visible; }
.feature__icon { flex:0 0 44px; height:44px; border-radius:12px; background:var(--genznak-primary); color:#000; display:flex; align-items:center; justify-content:center; border:1px solid rgba(251,234,49,.6); box-shadow: 0 0 0 6px rgba(251,234,49,.25); }
.feature__icon img { width:22px; height:22px; display:block; filter: drop-shadow(0 0 0 transparent); }
.feature__text { line-height:1.4 }
.feature__text strong { display:block; margin-bottom:8px; font-size:16px; }
.feature__text ul { margin:0; padding-left:18px; color:#444; font-size:13px; line-height:1.45; }
/* Hover animation for features */
.feature:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 14px 28px rgba(0,0,0,.12); }

.gnz-benefits-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 820px;
  margin: 0 auto;
  padding: 0 16px;
  background: transparent;
  border: none;
}
.gnz-benefit-row {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  text-align: left;
}
.gnz-benefit-row__summary {
  list-style: none;
  margin: 0;
  padding: 16px 44px 14px 18px;
  position: relative;
  user-select: none;
  text-align: left;
}
details.gnz-benefit-row > .gnz-benefit-row__summary {
  cursor: pointer;
}
details.gnz-benefit-row > .gnz-benefit-row__summary::-webkit-details-marker,
details.gnz-benefit-row > .gnz-benefit-row__summary::marker {
  display: none;
  content: none;
}
details.gnz-benefit-row > .gnz-benefit-row__summary::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 22px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  transform: rotate(45deg);
  transition: transform .15s ease;
}
details.gnz-benefit-row[open] > .gnz-benefit-row__summary::after {
  transform: translateY(3px) rotate(225deg);
}
.gnz-benefit-row:not(details) .gnz-benefit-row__summary {
  padding-right: 18px;
}
.gnz-benefit-row__title {
  display: block;
  font-size: 16px;
  font-weight: 800;
  margin: 0 0 8px;
  color: var(--genznak-dark, #111);
}
.gnz-benefit-row__preview,
.gnz-benefit-row__more {
  margin: 0;
  padding-left: 18px;
  color: #444;
  font-size: 13px;
  line-height: 1.45;
}
.gnz-benefit-row__more {
  padding: 0 18px 16px 36px;
}
.gnz-benefit-row__hint {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #888;
}
details.gnz-benefit-row[open] .gnz-benefit-row__hint {
  display: none;
}
.feature__icon:after { content:""; position:absolute; width:0; height:0; border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); background: rgba(251,234,49,.25); animation: pulse 1.6s ease-out infinite; pointer-events:none; }
@keyframes pulse { 0%{ width:0;height:0; opacity:.7 } 70%{ width:80px; height:80px; opacity:0 } 100%{ opacity:0 } }
@keyframes riseIn { to { transform: none; opacity: 1 } }

.genznak-cases { padding: 40px 16px; max-width: 1100px; margin-left: auto; margin-right: auto; }
.genznak-cases__problem { font-size: 14px; color: #444; line-height: 1.45; margin: 0 0 12px; }
.genznak-cases__more { margin: 10px 0 12px; }
.genznak-cases__more summary { cursor: pointer; font-weight: 700; font-size: 13px; }
.genznak-cases__more ul { margin: 8px 0; padding-left: 18px; font-size: 13px; color: #444; }
.genznak-cases__more blockquote { margin: 8px 0 0; padding: 8px 12px; background: #fffbe6; border-radius: 8px; font-size: 13px; }
.genznak-cases__note { text-align: center; margin: 22px 0 0; font-weight: 600; color: #333; }
.genznak-cases__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.genznak-cases__item { border: 1px solid rgba(251,234,49,.45); border-radius: 16px; padding: 28px 22px 20px; background: #fff; box-shadow: 0 2px 8px rgba(251,234,49,.15); transition: transform .12s ease, box-shadow .18s ease; position: relative; overflow: hidden; display: flex; flex-direction: column; box-sizing: border-box; min-height: 0; }
.genznak-cases__item:before { content:""; position:absolute; right:-30px; top:-30px; width:120px; height:120px; background: radial-gradient(closest-side, rgba(251,234,49,.35), transparent 70%); transform: rotate(15deg); z-index: 0; pointer-events: none; }
.genznak-cases__item > * { position: relative; z-index: 1; }
.genznak-cases__item:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(251,234,49,.22); }
.genznak-cases__item .button { margin-top: auto; width: 100%; box-sizing: border-box; text-align: center; }

.genznak-cta { padding: 48px 0; text-align: center; background: #fafafa; border: 1px solid #f1f1f1; border-radius: 12px; }
.genznak-cta__actions { margin-top: 12px; }
.genznak-cta__contacts { margin-top: 10px; color: #666; }

.genznak-services { padding: 40px 0; }
.genznak-services { background: radial-gradient(600px 160px at 10% -40px, rgba(251,234,49,.08), transparent 60%), radial-gradient(600px 160px at 90% -40px, rgba(251,234,49,.08), transparent 60%); }
/* Блок «Услуги» (шаги + ноутбуки) на главной скрыт */
#services,
.elementor-element-sec-services,
.elementor-element[data-id="sec-services"],
.elementor-element-services-title,
.elementor-element-services-list,
.svc-grid,
.svc-cta {
  display: none !important;
}

.svc-grid { max-width: 1120px; margin: 4px auto 10px; display: grid; grid-template-columns: 1fr 480px; gap: 8px; align-items: start; position: relative; }
.svc-grid--canvas { grid-template-columns: 1fr 1fr; grid-template-areas:
  "s1 img1"
  "s2 img1"
  "img2 s3"
  "img2 s4"
  "s5 s5";
}
.svc-grid--canvas { column-gap: 8px; row-gap: 8px; }
.svc-grid--canvas .svc-s1 { grid-area: s1; }
.svc-grid--canvas .svc-img1 { grid-area: img1; }
.svc-grid--canvas .svc-s2 { grid-area: s2; }
.svc-grid--canvas .svc-s3 { grid-area: s3; }
.svc-grid--canvas .svc-s4 { grid-area: s4; }
.svc-grid--canvas .svc-img2 { grid-area: img2; }
.svc-grid--canvas .svc-s5 { grid-area: s5; }

.svc-card { position: relative; padding: 18px 14px 18px 80px; border:1px solid rgba(251,234,49,.45); border-radius: 12px; background:#fff; box-shadow: 0 2px 6px rgba(0,0,0,.06); transition: transform .12s ease, box-shadow .18s ease; min-height: 108px; display:flex; align-items:center; }
.svc-card:before { content: attr(data-step); position: absolute; left: -10px; top: 8px; width: 56px; height: 56px; line-height: 56px; text-align: center; font-weight: 700; border-radius: 50%; background: var(--genznak-primary); color: #000; box-shadow: 0 12px 26px rgba(0,0,0,.12); }
.svc-card:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 14px 28px rgba(0,0,0,.12); }
.svc-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 16px; counter-reset: svc; }
.svc-steps li { position: relative; padding: 24px 16px 24px 96px; border:1px solid rgba(251,234,49,.45); border-radius: 14px; background:#fff; box-shadow: 0 2px 6px rgba(0,0,0,.06); transition: transform .12s ease, box-shadow .18s ease; min-height: 128px; display: flex; align-items: center; }
.svc-steps li:before { counter-increment: svc; content: counter(svc, decimal-leading-zero); position: absolute; left: -12px; top: 12px; width: 64px; height: 64px; line-height: 64px; text-align: center; font-weight: 700; border-radius: 50%; background: var(--genznak-primary); color: #000; box-shadow: 0 12px 26px rgba(0,0,0,.12); }
.svc-steps li:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 14px 28px rgba(0,0,0,.12); }
.svc-visuals { display: grid; grid-template-columns: 1fr; gap: 16px; }
.svc-visual { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius: 12px; overflow: hidden; box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.svc-visual img { display:block; width:100%; height:auto; }
.svc-cta { margin-top: 8px; }
.svc-badge { position: absolute; right: -20px; bottom: -20px; width: 140px; height: 140px; filter: drop-shadow(0 20px 32px rgba(0,0,0,.18)); pointer-events: none; }
.svc-badge img { width: 100%; height: 100%; object-fit: contain; }

/* Ensure images span the combined height of the rows they occupy */
.svc-media { height: auto; width:100%; display: flex; border:1px solid rgba(0,0,0,.08); border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 12px 28px rgba(0,0,0,.12); align-self:start; }
.svc-media img { width: 100%; height: auto; object-fit: contain; display:block; }
.svc-img1 { max-height: 210px; }
.svc-img2 { max-height: 210px; }
@media (max-width: 980px) {
  .svc-grid { grid-template-columns: 1fr; }
  .svc-badge { position: static; width: 120px; height: 120px; margin: 12px auto 0; filter: drop-shadow(0 16px 28px rgba(0,0,0,.18)); }
}

.genznak-offers { padding: 28px 0; }
.genznak-offers { background: radial-gradient(800px 180px at 50% -60px, rgba(251,234,49,.1), transparent 70%); }
.genznak-offers .faq-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; counter-reset: faq; }
.genznak-offers details.faq { border:1px solid rgba(251,234,49,.45); border-radius:14px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.06); overflow:hidden; }
.genznak-offers details.faq summary { list-style:none; cursor:pointer; padding:18px 52px 18px 86px; position:relative; font-weight:700; }
.genznak-offers .faq-grid details.faq summary { min-height: 80px; display:flex; align-items:center; }
.genznak-offers .faq-title { line-height: 1.3; }
.genznak-offers details.faq summary::-webkit-details-marker { display:none; }
.genznak-offers details.faq summary::after { content:"+"; position:absolute; right:18px; top:18px; width:28px; height:28px; line-height:28px; text-align:center; border-radius:8px; background:#f6f6f6; color:#1C1C1C; }
.genznak-offers details[open].faq summary::after { content:"–"; }
.genznak-offers details.faq summary::before { counter-increment: faq; content: counter(faq, decimal-leading-zero); position:absolute; left:14px; top:12px; width:48px; height:48px; line-height:48px; text-align:center; border-radius:50%; background:var(--genznak-primary); color:#000; box-shadow:0 8px 18px rgba(0,0,0,.12); }
.genznak-offers .faq-answer { padding:0 18px 18px 86px; border-top:1px solid rgba(0,0,0,.06); background:#f5fff0; }
.genznak-offers details.faq:hover { box-shadow:0 12px 22px rgba(0,0,0,.1); transform:translateY(-1px); transition:box-shadow .18s ease, transform .12s ease; }
@media (max-width: 768px) {
  .genznak-offers .faq-grid { grid-template-columns: 1fr; }
}
.genznak-offers__table { display: grid; gap: 12px; background:#fff; border:1px solid rgba(251,234,49,.45); border-radius:18px; padding:14px 14px 14px 48px; box-shadow:0 2px 8px rgba(251,234,49,.15); counter-reset: offers; }
.genznak-offers__row { display: grid; grid-template-columns: 1fr 1.05fr; gap: 12px; align-items: stretch; position: relative; }
.genznak-offers__row:before { counter-increment: offers; content: counter(offers, decimal-leading-zero); position:absolute; left:-36px; top:50%; transform:translateY(-50%); width:42px; height:42px; line-height:42px; text-align:center; font-weight:700; background: var(--genznak-primary); color:#000; border-radius:50%; box-shadow:0 8px 18px rgba(0,0,0,.12); }
.genznak-offers__cell { border: 1px solid rgba(251,234,49,.45); background: #fff; border-radius: 14px; padding: 16px; position: relative; transition: transform .12s ease, box-shadow .18s ease; box-shadow:0 2px 6px rgba(0,0,0,.06); }
.genznak-offers__pain { background: #fff7e8; border-color: #ffd49a; }
.genznak-offers__pain:before { content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background: linear-gradient(#ffb300, #ffd54f); border-top-left-radius:16px; border-bottom-left-radius:16px; }
.genznak-offers__solution { border-color: #e7e7e7; background: #f5fff0; }
.genznak-offers__solution:before { content:""; position:absolute; left:14px; top:16px; width:18px; height:18px; border-radius:50%; background: var(--genznak-primary); box-shadow:0 0 0 6px rgba(251,234,49,.25); }
.genznak-offers__row:hover .genznak-offers__cell { transform: translateY(-2px); box-shadow: 0 12px 22px rgba(0,0,0,.1); }

/* Zebra + responsive */
.genznak-offers__row:nth-child(odd) .genznak-offers__pain { background:#fff5e6; }
.genznak-offers__row:nth-child(odd) .genznak-offers__solution { background:#f3fff0; }
@media (max-width: 768px) {
  .genznak-offers__row { grid-template-columns: 1fr; }
  .genznak-offers__table { padding-left: 18px; }
  .genznak-offers__row:before { left:-22px; }
}

/* Helpers for HTML cards used in auto-sections */
.cards--grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(240px,1fr)); gap: 18px; }
.card { background:#fff; border:1px solid rgba(0,0,0,.10); border-radius:14px; padding:20px; box-shadow:0 2px 6px rgba(0,0,0,.04); transition:transform .12s ease, box-shadow .18s ease; }
.card h3 { margin-top:0; }
.card:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0,0,0,.12); }
.reveal { opacity: 0; transform: translateY(12px); transition: opacity .6s cubic-bezier(.2,.8,.2,1), transform .6s cubic-bezier(.2,.8,.2,1), filter .6s ease; will-change: transform, opacity; }
.reveal.revealed { opacity: 1; transform: none; }
[data-reveal="up"] { transform: translateY(24px); }
[data-reveal="right"] { transform: translateX(24px); }
[data-reveal="scale"] { transform: scale(.96); filter: saturate(.9) contrast(.98); }
[data-reveal="fade"] { transform: none; opacity: 0; }
[data-reveal].revealed { transform: none; opacity: 1; filter: none; }

.cards--grid.partners .card,
.partners .card { background: transparent !important; border: none !important; box-shadow: none !important; }
.partners .partner { display:flex; align-items:center; justify-content:center; padding:24px; cursor: pointer; transition: transform .18s ease, filter .18s ease; }
.partners .partner:hover { transform: translateY(-4px) scale(1.1) rotate(.2deg); filter: drop-shadow(0 10px 18px rgba(0,0,0,.12)); }
.partners .partner img { width:140px; height:140px; opacity:1; object-fit:contain; }
.partners .partner span { display:none; }
.section-divider { height:1px; background:linear-gradient(90deg,transparent,rgba(0,0,0,.08),transparent); margin:24px 0; }
 

/* Categories stronger outline */
.categories .card { border:1px solid rgba(251,234,49,.45); box-shadow: 0 2px 8px rgba(251,234,49,.15); }
.categories .card:hover { box-shadow: 0 14px 28px rgba(0,0,0,.12); transform: translateY(-2px) scale(1.02); }

/* Cases cards (explicit wrapper to ensure styling applies) */
.cases .card { border:2px solid rgba(251,234,49,.6); box-shadow: 0 2px 8px rgba(251,234,49,.15); transition: transform .12s ease, box-shadow .18s ease; }
.cases .card:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 14px 28px rgba(251,234,49,.22); }

/* Contacts section */
.genznak-contacts { padding: 28px 0; background: radial-gradient(800px 180px at 50% -60px, rgba(251,234,49,.08), transparent 70%); }
.genznak-contacts .contacts-grid { max-width:820px; margin:0 auto; display:grid; grid-template-columns: 1fr; gap:12px; justify-items:center; }
.genznak-contacts .contacts-card { background:#fff; border:1px solid rgba(251,234,49,.45); border-radius:14px; padding:18px; box-shadow:0 2px 8px rgba(251,234,49,.15); }
.genznak-contacts .contacts-card--center { text-align:center; max-width:560px; width:100%; }
.genznak-contacts .contacts-card h3 { margin-top:0; }
.genznak-contacts .contacts-actions .button { margin-top:6px; }
.genznak-contacts .contacts-socials { margin-top:10px; display:flex; gap:12px; align-items:center; justify-content:center; }
.genznak-contacts .contacts-socials a { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#fff; border:1px solid #eee; box-shadow:0 2px 8px rgba(0,0,0,.06); transition: transform .12s ease, box-shadow .18s ease; }
.genznak-contacts .contacts-socials a:hover { transform: translateY(-2px) scale(1.06); box-shadow:0 12px 22px rgba(0,0,0,.1); }
.genznak-contacts .contacts-socials img { width:22px; height:22px; display:block; }

.elementor-element.category-grid > .elementor-widget-wrap,
.elementor-column.category-grid > .elementor-widget-wrap,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap,
div.category-grid > div.elementor-widget-wrap {

  grid-template-columns: repeat(12, 1fr) !important;
  grid-auto-rows: 100px !important;
  gap: 12px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  grid-template-areas:
    "a a a a i i i i i i i i"
    "a a a a i i i i i i i i"
    "h h h g g g b b b c c c"
    "e e e d d d j j j f f f" !important;
}
.category-grid > .elementor-widget-wrap > .elementor-widget,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget {
  width: auto !important;
  margin: 0 !important;
  flex: initial !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}
.category-grid > .elementor-widget-wrap > .elementor-widget.cat-a,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget.cat-a,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget.cat-a,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget.cat-a { grid-area: a !important; }
.category-grid > .elementor-widget-wrap > .elementor-widget.cat-b,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget.cat-b,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget.cat-b,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget.cat-b { grid-area: b !important; }
.category-grid > .elementor-widget-wrap > .elementor-widget.cat-c,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget.cat-c,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget.cat-c,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget.cat-c { grid-area: c !important; }
.category-grid > .elementor-widget-wrap > .elementor-widget.cat-d,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget.cat-d,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget.cat-d,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget.cat-d { grid-area: d !important; }
.category-grid > .elementor-widget-wrap > .elementor-widget.cat-e,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget.cat-e,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget.cat-e,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget.cat-e { grid-area: e !important; }
.category-grid > .elementor-widget-wrap > .elementor-widget.cat-f,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget.cat-f,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget.cat-f,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget.cat-f { grid-area: f !important; }
.category-grid > .elementor-widget-wrap > .elementor-widget.cat-g,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget.cat-g,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget.cat-g,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget.cat-g { grid-area: g !important; }
.category-grid > .elementor-widget-wrap > .elementor-widget.cat-h,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget.cat-h,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget.cat-h,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget.cat-h { grid-area: h !important; }
.category-grid > .elementor-widget-wrap > .elementor-widget.cat-i,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget.cat-i,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget.cat-i,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget.cat-i { grid-area: i !important; }
.category-grid > .elementor-widget-wrap > .elementor-widget.cat-j,
.elementor-element.category-grid > .elementor-widget-wrap > .elementor-widget.cat-j,
.elementor-column.category-grid > .elementor-widget-wrap > .elementor-widget.cat-j,
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget.cat-j { grid-area: j !important; }
.category-grid .cat {
  position: relative !important;
  border: 1px solid rgba(251, 234, 49, 0.45) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.category-grid .cat:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  border-color: rgba(251, 234, 49, 0.8);
}
.category-grid .cat img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  background: #ffffff !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  transition: transform .4s cubic-bezier(.2,.8,.2,1);
}
.category-grid .cat:hover img { transform: scale(1.06); }
.category-grid .elementor-widget-container { height: 100% !important; padding: 0 !important; }
.category-grid-canvas {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-auto-rows: 150px !important;
  gap: 12px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  margin: 0 auto !important;
  justify-items: stretch !important;
  align-items: stretch !important;
  grid-template-areas:
    "a a a a i i i i i i i i"
    "a a a a i i i i i i i i"
    "h h h g g g b b b c c c"
    "e e e d d d j j j f f f" !important;
}
.category-grid-canvas .cat {
  border: none !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
}
.category-grid-canvas .cat img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
}
.category-grid-canvas .cat-a { grid-area: a !important; }
.category-grid-canvas .cat-b { grid-area: b !important; }
.category-grid-canvas .cat-c { grid-area: c !important; }
.category-grid-canvas .cat-d { grid-area: d !important; }
.category-grid-canvas .cat-e { grid-area: e !important; }
.category-grid-canvas .cat-f { grid-area: f !important; }
.category-grid-canvas .cat-g { grid-area: g !important; }
.category-grid-canvas .cat-h { grid-area: h !important; }
.category-grid-canvas .cat-i { grid-area: i !important; }
.category-grid-canvas .cat-j { grid-area: j !important; }
@media (max-width: 980px) {
  .category-grid-canvas {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    grid-auto-rows: 120px !important;
    grid-template-areas:
      "a a a a i i i i"
      "a a a a i i i i"
      "h h g g b b c c"
      "e e d d j j f f" !important;
  }
}
@media (max-width: 640px) {
  .category-grid-canvas {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-rows: 120px !important;
    gap: 10px !important;
    grid-template-areas:
      "a a a a"
      "i i i i"
      "h h g g"
      "b b c c"
      "e e d d"
      "j j f f" !important;
  }
}
.elementor-element[data-id="inner-col-categories"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}
.elementor-element[data-id="inner-categories"] .elementor-container {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}
.elementor-element[data-id="inner-col-categories"] > .elementor-widget-wrap > .elementor-widget {
  width: 100% !important;
  --container-widget-width: 100% !important;
  --container-widget-flex-grow: 1 !important;
}
.category-grid .elementor-widget-container {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}
.elementor-element[data-id="categories-grid-canvas"] {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  flex-grow: 1 !important;
  align-self: stretch !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor-element[data-id="categories-grid-canvas"] .elementor-widget-container {
  padding: 0 !important;
}
.elementor-element[data-id="sec-categories"],
.elementor-element[data-id="sec-categories"] .elementor-container,
.elementor-element[data-id="inner-categories"],
.elementor-element[data-id="inner-categories"] .elementor-container,
.elementor-element[data-id="inner-col-categories"],
.elementor-element[data-id="inner-col-categories"] .elementor-widget-wrap {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor-element[data-id="categories-title"] .elementor-heading-title,
.elementor-element[data-id="partners-title"] .elementor-heading-title {
  text-align: center !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}
.category-grid .cat-a { grid-area: a !important; }
.category-grid .cat-b { grid-area: b !important; }
.category-grid .cat-c { grid-area: c !important; }
.category-grid .cat-d { grid-area: d !important; }
.category-grid .cat-e { grid-area: e !important; }
.category-grid .cat-f { grid-area: f !important; }
.category-grid .cat-g { grid-area: g !important; }
.category-grid .cat-h { grid-area: h !important; }
.category-grid .cat-i { grid-area: i !important; }
.category-grid .cat-j { grid-area: j !important; }
@media (max-width: 980px) {
  div.category-grid > div.elementor-widget-wrap {
    grid-template-columns: repeat(8, 1fr) !important;
    grid-auto-rows: 90px !important;
    grid-template-areas:
      "a a a a i i i i"
      "a a a a i i i i"
      "h h g g b b c c"
      "e e d d j j f f" !important;
  }
}
@media (max-width: 640px) {
  div.category-grid > div.elementor-widget-wrap {
    grid-template-columns: repeat(4, 1fr) !important;
    grid-auto-rows: 100px !important;
    gap: 8px !important;
    grid-template-areas:
      "a a a a"
      "i i i i"
      "h h g g"
      "b b c c"
      "e e d d"
      "j j f f" !important;
  }
  .category-grid .cat img {
    padding: 8px !important;
  }
}

/* Offers block styles mapped to generic 'offers' markup (Elementor) */
.offers .offers__row { display:grid; grid-template-columns: 1fr 1fr; gap:16px; align-items:stretch; }
.offers .offers__pain, .offers .offers__sol { border:1px solid rgba(0,0,0,.10); background:#fff; border-radius:16px; padding:18px; position:relative; transition: transform .12s ease, box-shadow .18s ease; }
.offers .offers__pain { background:#fff7e8; border-color:#ffd49a; }
.offers .offers__pain:before { content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background: linear-gradient(#ffb300,#ffd54f); border-top-left-radius:16px; border-bottom-left-radius:16px; }
.offers .offers__sol { background:#f9fdf3; border-color:#e7e7e7; }
.offers .offers__sol:before { content:""; position:absolute; left:12px; top:14px; width:16px; height:16px; border-radius:50%; background: var(--genznak-primary); box-shadow:0 0 0 4px rgba(251,234,49,.25); }
.offers .offers__row:hover .offers__pain, .offers .offers__row:hover .offers__sol { transform: translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,.08); }

@media (max-width: 768px) {
  .genznak-header__nav ul { gap: 10px; }
  .genznak-header__brand { width: 48px; height: 48px; }
  .partners .partner img { width:72px; height:72px; }
}

/* Modal / Popup theming (Elementor/Generic) */
.elementor-modal, .elementor-popup-modal, .dialog-widget, .ui-dialog, .wp-dialog, [role="dialog"] {
  background: rgba(0,0,0,0.9) !important;
}
.elementor-modal .dialog-widget-content,
.elementor-popup-modal .dialog-widget-content,
.dialog-widget .dialog-widget-content,
.ui-dialog .ui-dialog-content,
.wp-dialog .ui-dialog-content {
  background: #2a2a2a !important;
  color: #fff !important;
  border-radius: 12px !important;
}
.elementor-modal .dialog-overlay,
.elementor-popup-modal .dialog-overlay {
  background: rgba(0,0,0,0.9) !important;
}

/* Category cards as links */
a.gnz-cat-item {
  text-decoration: none;
  color: inherit;
}
a.gnz-cat-item:hover,
a.gnz-cat-item:focus {
  text-decoration: none;
  color: inherit;
}

/* Category page */
.gnz-category-page {
  padding: 28px 16px 80px;
  background: linear-gradient(180deg, #fffdf2 0%, #fff 40%);
}
.gnz-category-page__inner {
  max-width: 960px;
  margin: 0 auto;
}
.gnz-category-page__hero {
  margin-bottom: 8px;
}
.gnz-category-page__title {
  font-size: 36px;
  margin: 8px 0 12px;
}
.gnz-category-page__badge {
  display: inline-block;
  padding: 6px 12px;
  background: #fbea31;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
}
.gnz-category-page__block {
  margin: 28px 0;
  padding-top: 8px;
}
.gnz-category-page__block h2 {
  font-size: 22px;
  margin: 0 0 12px;
}
.gnz-category-page__child-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.gnz-category-page__child-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  text-decoration: none;
  color: #111;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
  transition: transform .15s ease, box-shadow .15s ease;
}
.gnz-category-page__child-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
  border-color: #fbea31;
}
.gnz-category-page__child-ex {
  font-size: 13px;
  color: #555;
  line-height: 1.35;
}
.gnz-cat-pill {
  display: inline-block;
  width: fit-content;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
}
.gnz-category-page__form {
  margin-top: 36px;
  padding: 24px;
  border: 1px solid rgba(251,234,49,.55);
  border-radius: 18px;
  background: #fffef3;
}
.gnz-category-lead {
  display: grid;
  gap: 14px;
  margin: 16px 0;
}
.gnz-category-lead__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.gnz-category-lead > label,
.gnz-category-lead__row label {
  display: grid;
  gap: 6px;
  font-weight: 600;
  font-size: 14px;
}
.gnz-category-lead input[type="text"],
.gnz-category-lead input[type="tel"],
.gnz-category-lead input[type="email"],
.gnz-category-lead input[type="number"],
.gnz-category-lead input[type="file"],
.gnz-category-lead select,
.gnz-category-lead textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  font: inherit;
  box-sizing: border-box;
  background: #fff;
}
.gnz-category-lead input[readonly] {
  background: #f7f7f7;
  color: #333;
}
.gnz-category-lead__other {
  display: block;
  margin-top: 10px;
}
.gnz-category-lead__excel {
  margin: 14px 0;
  padding: 14px;
  border: 1px dashed rgba(0,0,0,.15);
  border-radius: 12px;
  background: #fffdf5;
}
.gnz-category-lead__excel-title {
  margin: 0 0 6px;
  font-weight: 700;
}
.gnz-category-lead__excel-title span {
  font-weight: 500;
  color: #777;
}
.gnz-category-lead__excel-hint {
  margin: 0 0 10px;
  font-size: 13px;
  color: #555;
}
.gnz-category-page__codes {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 8px;
  font-size: 14px;
}
.gnz-category-page__codes th,
.gnz-category-page__codes td {
  border: 1px solid rgba(0,0,0,.08);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}
.gnz-category-page__codes th {
  width: 180px;
  background: #fffbe6;
  font-weight: 700;
}
.gnz-category-page__codes-note {
  margin: 0;
  font-size: 13px;
  color: #666;
}
.gnz-lead-form-section {
  max-width: 920px;
  margin: 40px auto;
  padding: 0 16px 24px;
}
.gnz-lead-form-section__inner {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 24px 20px 28px;
  box-shadow: 0 4px 16px rgba(0,0,0,.04);
}
.gnz-category-page__form-note {
  margin: 0 0 14px;
}
.gnz-category-lead__services {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 14px;
  margin: 0;
  background: #fff;
}
.gnz-category-lead__services legend {
  font-weight: 700;
  padding: 0 6px;
}
.gnz-category-lead__checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}
.gnz-category-lead__check {
  display: flex !important;
  align-items: center;
  gap: 8px;
  font-weight: 500 !important;
}
.gnz-category-lead__consent {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  font-weight: 500 !important;
}
.gnz-category-lead__status {
  min-height: 1.2em;
  font-weight: 600;
  font-size: 14px;
}
.gnz-category-lead .button {
  justify-self: start;
  min-width: 220px;
}
.gnz-category-page__form-alt {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
@media (max-width: 720px) {
  .gnz-category-page__child-grid,
  .gnz-category-lead__row,
  .gnz-category-lead__checks {
    grid-template-columns: 1fr;
  }
  .gnz-category-page__title { font-size: 28px; }
}

/* Cases enriched */
.genznak-cases__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 1100px;
  margin: 0 auto;
  align-items: stretch;
}
.genznak-cases__item,
.cards.cases .card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 28px 22px 20px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
  box-sizing: border-box;
}
.genznak-cases__item:before { z-index: 0; pointer-events: none; }
.genznak-cases__item > * { position: relative; z-index: 1; }
.genznak-cases__item > :first-child,
.cards.cases .card > :first-child {
  margin-top: 0 !important;
}
.genznak-cases__title,
.genznak-cases__item h3,
.cards.cases .card h3,
.cards.cases .card .elementor-heading-title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  color: #111 !important;
  text-align: left !important;
}
.genznak-cases__metrics {
  list-style: none;
  padding: 0;
  margin: 12px 0 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.genznak-cases__expand {
  margin-top: auto;
  padding-top: 8px;
}
.genznak-cases__expand-btn {
  list-style: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
  color: #333;
  user-select: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.genznak-cases__expand-btn::-webkit-details-marker,
.genznak-cases__expand-btn::marker {
  display: none;
  content: none;
}
.genznak-cases__expand-btn::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  transform: rotate(45deg);
  transition: transform .15s ease;
}
.genznak-cases__expand[open] > .genznak-cases__expand-btn::after {
  transform: translateY(2px) rotate(225deg);
}
.genznak-cases__expand-body {
  margin-top: 12px;
}
.genznak-cases__more {
  margin: 0 0 12px;
}
.genznak-cases__more strong {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
}
.genznak-cases__more ul {
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  color: #444;
}
.genznak-cases__more blockquote {
  margin: 10px 0 0;
  padding: 8px 12px;
  background: #fffbe6;
  border-radius: 8px;
  font-size: 13px;
}
.genznak-cases__cta {
  margin: 0;
}
.genznak-cases__cta .button {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
.genznak-reviews__expand {
  margin: 6px 0 8px;
  display: block;
}
.genznak-reviews__expand[open] {
  display: flex;
  flex-direction: column-reverse;
  gap: 8px;
}
.genznak-reviews__expand summary {
  list-style: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
  color: #555;
  user-select: none;
  display: inline-block;
  margin-top: 4px;
}
.genznak-reviews__expand summary::-webkit-details-marker,
.genznak-reviews__expand summary::marker {
  display: none;
  content: none;
}
.genznak-reviews__less {
  display: none;
}
.genznak-reviews__expand[open] > summary .genznak-reviews__more {
  display: none;
}
.genznak-reviews__expand[open] > summary .genznak-reviews__less {
  display: inline;
}
.genznak-reviews__card.is-collapsible:has(.genznak-reviews__expand[open]) .genznak-reviews__text--preview {
  display: none;
}
.genznak-reviews__text--full {
  margin: 0;
}
.genznak-cases__metric {
  min-width: 0;
  background: #fffdcc;
  border: 1px solid rgba(251,234,49,.7);
  border-radius: 12px;
  padding: 12px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 64px;
  box-sizing: border-box;
}
.genznak-cases__metric-value {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  color: #111;
  overflow-wrap: anywhere;
}
.genznak-cases__metric-label {
  font-size: 12px;
  font-weight: 600;
  color: #555;
  margin-top: 4px;
  line-height: 1.25;
}
@media (max-width: 720px) {
  .genznak-cases__grid { grid-template-columns: 1fr; }
}

/* Reviews carousel */
.genznak-reviews {
  max-width: 1100px;
  margin: 40px auto;
  padding: 0 16px;
}
.genznak-reviews h2 {
  text-align: center;
}
.genznak-reviews__carousel {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
}
.genznak-reviews__track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 8px 2px 16px;
  -webkit-overflow-scrolling: touch;
}
.genznak-reviews__card {
  flex: 0 0 min(320px, 85%);
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 6px 16px rgba(0,0,0,.04);
}
.genznak-reviews__name {
  font-weight: 800;
  margin-bottom: 8px;
}
.genznak-reviews__role {
  font-size: 13px;
  color: #666;
  margin-bottom: 6px;
}
.genznak-reviews__stars {
  color: #f5b400;
  letter-spacing: 2px;
  margin-bottom: 10px;
  font-size: 14px;
}
.genznak-reviews__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
}
.genznak-reviews__date {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  color: #777;
}
.genznak-reviews__cta {
  margin-top: 22px;
  text-align: center;
  padding: 18px;
  border-radius: 14px;
  background: #fffbe6;
  border: 1px solid rgba(251,234,49,.55);
}
.genznak-reviews__cta p { margin: 0 0 12px; color: #333; }

.gnz-section-title,
.genznak-cases > h2,
.gnz-partners > h2,
.genznak-reviews > h2,
.gnz-contacts > h2,
.genznak-benefits > h2 {
  text-align: center !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}

.gnz-partners { max-width: 1100px; margin: 28px auto; padding: 0 16px; }
.gnz-partners h2 { text-align: center !important; }
.gnz-partners__group { margin: 10px 0 4px; }
.gnz-partners__group h3 {
  font-size: 16px;
  margin: 0 0 8px;
  text-align: center !important;
  color: #333;
}
.gnz-partners__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.gnz-partners__item {
  width: 168px;
  height: 76px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  box-sizing: border-box;
  cursor: default;
  transition: transform .15s ease, box-shadow .15s ease;
}
.gnz-partners__logo,
.gnz-partners__item img {
  width: auto;
  height: auto;
  max-width: 140px;
  max-height: 48px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .92;
  transition: filter .18s ease, opacity .18s ease;
}
.gnz-partners__name,
.gnz-partners__mark {
  font-weight: 800;
  font-size: 15px;
  line-height: 1.15;
  text-align: center;
  letter-spacing: -0.02em;
}
.gnz-partners__item:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 18px rgba(0,0,0,.1);
}
.gnz-partners__item:hover .gnz-partners__logo,
.gnz-partners__item:hover img {
  filter: none;
  opacity: 1;
}

.gnz-faq { max-width: 920px; margin: 0 auto; }
.gnz-faq__group {
  margin: 0 0 10px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.gnz-faq__group:last-of-type { border-bottom: 0; }
.gnz-faq__group-title {
  margin: 0 0 6px;
  font-size: 18px;
  text-align: left;
}
.gnz-faq .faq { margin-bottom: 4px; }
.gnz-faq__cta {
  margin-top: 12px;
  text-align: center;
  padding: 20px;
  border-radius: 14px;
  background: #fffbe6;
  border: 1px solid rgba(251,234,49,.55);
}

.gnz-contacts {
  background: transparent;
  color: var(--genznak-dark);
  padding: 48px 16px;
  margin: 40px auto 0;
  max-width: 1100px;
}
.gnz-contacts h2,
.gnz-contacts h3,
.gnz-contacts .gnz-section-title { color: var(--genznak-dark) !important; text-align: center; }
.gnz-contacts__lead {
  max-width: 720px;
  margin: 0 auto 22px;
  text-align: center;
  color: var(--genznak-muted);
  line-height: 1.5;
}
.gnz-contacts__box {
  max-width: 640px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
}
.gnz-contacts__row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 0 16px;
  text-align: center;
}
.gnz-contacts__row a,
.gnz-contacts__row a:link,
.gnz-contacts__row a:visited,
.gnz-contacts__row a:hover,
.gnz-contacts__row strong {
  color: var(--genznak-dark) !important;
  font-size: 20px;
  font-weight: 800;
  text-decoration: none;
}
.gnz-contacts__row span,
.gnz-contacts__row span a,
.gnz-contacts__row span a:visited {
  color: var(--genznak-muted) !important;
  font-size: 13px;
  font-weight: 400;
}
.gnz-contacts__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 18px;
}
.gnz-contacts__actions .button:not(.button-primary) {
  background: #fff;
  color: var(--genznak-dark);
  border: 1px solid rgba(0,0,0,.14);
}
.gnz-contacts__messengers {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 16px;
}
.gnz-contacts__messengers a,
.gnz-contacts__messengers a:visited {
  color: var(--genznak-dark) !important;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid var(--genznak-primary);
}
.gnz-contacts__messengers a:hover {
  color: #000 !important;
}
.genznak-reviews__nav {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
}

/* Quick apply (alt) */
.genznak-alt-apply {
  max-width: 1100px;
  margin: 32px auto;
  padding: 0 16px;
}
.gnz-quick-apply {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,.05);
  padding: 28px 24px 22px;
}
.gnz-quick-apply__head {
  max-width: 720px;
  margin: 0 0 12px;
}
.gnz-quick-apply__head h2 {
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 800;
  text-align: left !important;
}
.gnz-quick-apply__head p {
  margin: 0;
  color: var(--genznak-muted);
  font-size: 15px;
  line-height: 1.45;
  text-align: left !important;
  max-width: none !important;
}
.gnz-quick-apply__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, .7fr);
  gap: 22px;
  align-items: start;
}
.gnz-quick-apply__tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  margin-bottom: 12px;
  position: relative;
  isolation: isolate;
}
.gnz-quick-apply__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px;
  margin: 0 !important;
  padding: 6px 8px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 12px;
  background: #fafafa;
  color: var(--genznak-dark);
  font: inherit;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
  cursor: pointer;
  z-index: 1;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.gnz-quick-apply__tab-icon {
  display: inline-flex;
  flex: 0 0 18px;
  color: #777;
}
.gnz-quick-apply__tab[data-mode="callback"] {
  grid-column: 1 / -1;
}
.gnz-quick-apply__tab.is-active {
  background: var(--genznak-primary);
  border-color: rgba(251,234,49,.85);
  box-shadow: 0 6px 16px rgba(251,234,49,.28);
}
.gnz-quick-apply__tab.is-active .gnz-quick-apply__tab-icon { color: #000; }
.gnz-quick-apply__form {
  display: grid;
  gap: 12px;
}
/* До инициализации JS скрываем панели text/callback */
.gnz-quick-apply:not(.is-ready) .gnz-quick-apply__form [data-show="text"],
.gnz-quick-apply:not(.is-ready) .gnz-quick-apply__form [data-show="callback"] {
  display: none !important;
}
.gnz-quick-apply__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.gnz-quick-apply__field {
  display: grid;
  gap: 6px;
  font-weight: 600;
  font-size: 13px;
}
.gnz-quick-apply__field input[type="text"],
.gnz-quick-apply__field input[type="tel"],
.gnz-quick-apply__field select,
.gnz-quick-apply__field textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  font: inherit;
  font-weight: 500;
  box-sizing: border-box;
  background: #fff;
}
.gnz-quick-apply__field textarea { min-height: 120px; resize: vertical; }
.gnz-quick-apply__field .is-invalid,
.gnz-quick-apply__consent input.is-invalid {
  border-color: #c0392b !important;
}
.gnz-quick-apply__err {
  color: #c0392b;
  font-size: 12px;
  font-weight: 600;
  min-height: 0;
}
.gnz-quick-apply__hint {
  color: #666;
  font-size: 12px;
  font-weight: 500;
}
.gnz-quick-apply__help-note {
  padding: 12px 14px;
  border-radius: 12px;
  background: #faf7df;
  border: 1px solid rgba(251,234,49,.45);
  font-size: 14px;
  line-height: 1.4;
}
.gnz-quick-apply__drop-zone {
  display: grid;
  gap: 6px;
  place-items: center;
  text-align: center;
  min-height: 120px;
  padding: 18px 14px;
  border: 1.5px dashed rgba(0,0,0,.18);
  border-radius: 14px;
  background: #fbfbfb;
  cursor: pointer;
}
.gnz-quick-apply__drop-zone strong { font-size: 14px; }
.gnz-quick-apply__drop-zone span { color: #666; font-size: 12px; font-weight: 500; }
.gnz-quick-apply__drop-zone.is-drag {
  border-color: var(--genznak-primary);
  background: #fffdf0;
}
.gnz-quick-apply__file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: #fafafa;
}
.gnz-quick-apply__file-meta { display: grid; gap: 2px; min-width: 0; }
.gnz-quick-apply__file-name {
  font-weight: 700;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gnz-quick-apply__file-size { color: #666; font-size: 12px; }
.gnz-quick-apply__file-remove {
  border: 0;
  background: transparent;
  color: #a33;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  white-space: nowrap;
}
.gnz-quick-apply__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  font-weight: 500;
}
.gnz-quick-apply__consent input { margin-top: 3px; }
.gnz-quick-apply__submit {
  justify-self: start;
  min-width: 220px;
  min-height: 48px;
  margin-top: 4px;
}
.gnz-quick-apply__submit:disabled { opacity: .65; cursor: wait; }
.gnz-quick-apply__form-status {
  min-height: 1.2em;
  font-size: 13px;
  font-weight: 600;
}
.gnz-quick-apply__form-status.is-err { color: #c0392b; }
.gnz-quick-apply__form-status.is-pending { color: #333; }
.gnz-quick-apply__success {
  padding: 18px 4px 8px;
}
.gnz-quick-apply__success h3 {
  margin: 0 0 8px;
  font-size: 22px;
  text-align: left !important;
}
.gnz-quick-apply__success p {
  margin: 0 0 16px;
  color: #555;
  text-align: left !important;
  max-width: none !important;
}
.gnz-quick-apply__aside {
  background: #fafafa;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  padding: 18px 16px;
}
.gnz-quick-apply__aside h3 {
  margin: 0 0 10px;
  font-size: 16px;
  text-align: left !important;
}
.gnz-quick-apply__aside ul {
  margin: 0;
  padding-left: 18px;
  color: #444;
  font-size: 14px;
  line-height: 1.55;
}
.gnz-quick-apply__secondary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.06);
  color: #666;
  font-size: 13px;
}
.gnz-quick-apply__link {
  color: var(--genznak-dark);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.gnz-quick-apply__link:hover { color: #000; }
.gnz-quick-apply__tpls {
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin-top: 8px;
}
.gnz-quick-apply__tpl-acc {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 4px;
}
.gnz-quick-apply__tpl-group {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 8px;
  background: #fafafa;
}
.gnz-quick-apply__tpl-group--flat {
  border: 1px solid rgba(0,0,0,.08);
  background: #fafafa;
  border-radius: 8px;
  padding: 10px 14px;
}
.gnz-quick-apply__tpl-group-title {
  list-style: none;
  cursor: pointer;
  font-weight: 700;
  color: #222;
  font-size: 13px;
  padding: 10px 36px 10px 14px;
  position: relative;
  user-select: none;
}
.gnz-quick-apply__tpl-group-title::-webkit-details-marker { display: none; }
.gnz-quick-apply__tpl-group-title::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  transform: translateY(-70%) rotate(45deg);
  transition: transform .15s ease;
}
.gnz-quick-apply__tpl-group[open] .gnz-quick-apply__tpl-group-title::after {
  transform: translateY(-30%) rotate(225deg);
}
.gnz-quick-apply__tpl-group-title:hover { color: #000; }
.gnz-quick-apply__tpl-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 0 14px 12px;
}
.gnz-quick-apply__tpl-group--flat .gnz-quick-apply__tpl-links {
  padding: 0;
}

@media (max-width: 900px) {
  .gnz-quick-apply__layout { grid-template-columns: 1fr; }
  .gnz-quick-apply__aside { order: 2; }
}
@media (max-width: 720px) {
  .gnz-quick-apply { padding: 20px 16px; }
  .gnz-quick-apply__head h2 { font-size: 24px; }
  .gnz-quick-apply__tabs { grid-template-columns: 1fr; }
  .gnz-quick-apply__tab { width: 100% !important; }
  .gnz-quick-apply__row { grid-template-columns: 1fr; }
  .gnz-quick-apply__submit { width: 100%; justify-self: stretch; }
  .gnz-quick-apply__aside { display: none; }
}

.gnz-import-docs {
  margin: 12px 0 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fafafa;
}
.gnz-import-docs__title { font-weight: 800; margin-bottom: 4px; }
.gnz-import-docs__hint { font-size: 13px; color: #666; margin: 0 0 10px; }
.gnz-import-docs__head,
.gnz-import-docs__row {
  display: grid;
  grid-template-columns: 1fr 120px;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
  font-size: 13px;
}
.gnz-import-docs__head { font-weight: 700; color: #222; }
.gnz-import-docs__row select { width: 100%; padding: 6px 8px; border-radius: 8px; border: 1px solid #ddd; }

.gnz-svc-page { max-width: 920px; margin: 24px auto 48px; padding: 0 16px; }
.gnz-svc-page h2 { text-align: center; }
.gnz-svc-page__lead { text-align: center; color: #444; line-height: 1.5; margin-bottom: 20px; }
.gnz-svc-acc { display: flex; flex-direction: column; gap: 8px; }
.gnz-svc-acc__item {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.gnz-svc-acc__item summary {
  list-style: none;
  cursor: pointer;
  font-weight: 800;
  padding: 14px 44px 14px 18px;
  position: relative;
}
.gnz-svc-acc__item summary::-webkit-details-marker { display: none; }
.gnz-svc-acc__item summary::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  transform: translateY(-70%) rotate(45deg);
}
.gnz-svc-acc__item[open] summary::after { transform: translateY(-30%) rotate(225deg); }
.gnz-svc-acc__body { padding: 0 18px 16px; color: #444; font-size: 14px; line-height: 1.5; }
.gnz-svc-acc__h { font-weight: 800; color: #111; margin: 12px 0 6px; }
.gnz-svc-acc__note { font-weight: 600; color: #222; }
.gnz-svc-start { margin-top: 28px; padding: 20px; border-radius: 14px; background: #fffbe6; border: 1px solid rgba(251,234,49,.6); text-align: center; }
.gnz-svc-start ol { display: inline-block; text-align: left; }
