/* ===== Footer / Hilbert House ===== */
:root{
  --hh-bg:#0e0e12; --hh-fg:#fff; --hh-accent:#af0b0b; --hh-muted:#7e7e7e;
  --footer-form-lift: 45px;}

.wpcf7-spinner {display:none!important;}

/* ====== FULL-WIDTH VIDEO (scoped) ====== */
.hhv2{
  --hhv-height: 70vh;
  --hhv-bottom: #0e0e12;               /* цвет фона внизу */
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--hhv-bottom);       /* фон секции совпадает с концом градиента */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: var(--hhv-height);
}

.hhv2__video{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center center;
  opacity: 0; transition: opacity .6s ease;
  backface-visibility: hidden; will-change: opacity;
}
.hhv2.is-ready .hhv2__video{ opacity: 1; }

/* Усиленный, длинный градиент: максимально плавное «перекрытие» к #1d1d1d */
.hhv2__gradient{
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 30%;                           /* зона градиента стала выше */
  pointer-events: none; z-index: 1;
  /* Многослойный градиент: основной + тонкая «вуаль» для дополнительного сглаживания */
  background:
    linear-gradient(
      180deg,
      rgba(14,14,18,0) 0%,
      rgba(14,14,18,.08) 30%,
      rgba(14,14,18,.28) 50%,
      rgba(14,14,18,.55) 68%,
      rgba(14,14,18,.78) 84%,
      rgba(14,14,18,.92) 94%,
      #0e0e12 100%
    ),
    /* лёгкая вуаль, чтобы «зашить» возможные субпиксельные ступеньки у некоторых GPU */
    linear-gradient(180deg, rgba(14,14,18,.0), rgba(14,14,18,.06));
}

/* Кнопка управления (учитываем безопасные зоны на iOS) */
.hhv2__toggle{
  position: absolute; right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 2;
  width: 48px; height: 48px; display: grid; place-items: center;
  border-radius: 10px;
  /*border: 2px solid rgba(255,255,255,.95);*/
  background: rgba(0,0,0,.28); color: #fff; cursor: pointer;
  backdrop-filter: blur(2px);
  transition: transform .18s ease, background .18s ease, opacity .18s ease;
  display: none;
}
.hhv2__toggle:hover{ transform: scale(1.06); background: rgba(0,0,0,.36); }

.hhv2.is-paused .fa-pause{ display:none; }
.hhv2:not(.is-paused) .fa-play{ display:none; }

/* Меньше высота на мобилке */
@media (max-width:767px){
  .hhv2{ --hhv-height: 34vh; }
  .hhv2__toggle{ width: 44px; height: 44px; }
}

/* Если человек включает «уменьшение анимаций» */
@media (prefers-reduced-motion: reduce){
  .hhv2__video{ transition: none; }
}

/* Небольшой fix для Safari скруглений/рендера */
.hhv2{ -webkit-mask-image: -webkit-radial-gradient(white, black); }


/* ---------- ОСНОВНОЙ ФУТЕР ---------- */
.footer{ border-top:2px solid var(--hh-accent); position:relative; overflow:visible; }
.footer-flex{ padding: 0px 40px 0; background-color: #0e0e12; }               /* без min-height, только отступы */
.footer__content{
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:center;          /* было flex-start */
}


/* форма */
.footer__left{ width:500px; align-self:center;}
.contact__form{
  background:#fff; color:#0e0e12; max-width: 400px; width:100%; padding:30px;
  border-radius:20px; box-shadow:none;
}
.footer-form{
  position:relative;
  transform: translateY(calc(-1 * var(--footer-form-lift))); /* поднимаем над красной линией */
  z-index:5;
}

/* правая часть */
.footer__right{
  display:grid; grid-template-columns:auto 1fr; align-items:center; gap:40px; width:100%;
}
.footer-logo{ max-width:120px; height:auto; margin:0 0 15px; }
.footer-item-logo{ display:flex; flex-direction:column; gap:16px; }
.footer-logo-copyright{ display:flex; flex-direction:column; color:#fff; font-weight:500; font-size:12px; line-height:1.37; }

/* Дополнительно: чтобы правая «полка» выравнивалась внутри колонки по центру */
.footer__content-right-up-low{ justify-content:center; }  /* было column + gap — оставляем и добавляем центр */

/* соц-иконки — как в хэдере */
.footer .social-list{ display:flex; align-items:center; gap:16px; white-space:nowrap; }
.footer .social-list a{ color:#fff; font-size:1.65rem; text-decoration:none; background:none; border:0; }
.footer .social-list a:hover{ color:var(--hh-accent); }

/* верхняя полка: меню L/R + платежки */
.footer__content-right-up-low{ display:flex; flex-direction:column; gap:24px; width:100%; }
.footer__right-upper{ display:grid; grid-template-columns:repeat(3,auto); gap:10px; align-items:start; }

.footer-item{ margin:0; }
.footer-item > ul{ list-style:none; margin:0; padding:0; }
.footer-item > ul > li{ margin:0em 0; }
.footer-item > ul > li > a{
  color:#fff; font-weight:400; font-size:13px; line-height:1.37; text-decoration:none;
}
.footer-item > ul > li > a:hover{ color:var(--hh-accent); }

.footer-item-card{ display:flex; flex-direction:column; gap:10px; }
.promo-sber img{  max-width: 120px; }
.promo-cards img{ max-width: 180px; }

/* нижняя полка: Коллекции (центр) */
.footer__right-lower{ display:flex; flex-direction:column; gap:16px; }
.footer__right-lower-title{
  margin:0 0 20px; padding-bottom:10px; border-bottom:1px solid #fff;
  text-transform:uppercase; font-weight:500; font-size:16px; line-height:1.37; color:#fff;
}

/* ГЛАВНЫЙ список центра размечаем в 4 колонки; каждый root-li — колонка */
.footer__right-lower-list > ul{
  display:grid; grid-template-columns:repeat(4, minmax(160px, 1fr));
  gap:10px; margin:0; padding:0; list-style:none;
}

/* root-li = заголовок + дочерний список ниже */
.footer__right-lower-list > ul > li{
  display:flex; flex-direction:column; gap:8px; align-items:flex-start;
}
.footer__right-lower-list > ul > li > a{
  color:#fff; font-weight:600; font-size:13px; text-decoration:none;
}
.footer__right-lower-list > ul > li > a:hover{ color:var(--hh-accent); }

/* дочерние пункты — строгий вертикальный список под родителем */
.footer__right-lower-list .sub-menu{
  margin:0; padding:0; list-style:none;
  display:flex; flex-direction:column; gap:8px;
}
.footer__right-lower-list .sub-menu li{ margin:0; }
.footer__right-lower-list .sub-menu a{
  color:#fff; font-weight:500; font-size:13px; line-height:1.37; text-decoration:none;
}
.footer__right-lower-list .sub-menu a:hover{ color:var(--hh-accent); }

/* ---------- СТИЛИ ФОРМЫ (как в макете) ---------- */
.contact__form .wpcf7-form p{ margin: 0 0 5px; }
.form__title {font-size: 25px;}
/* поля — только нижняя линия */
.contact__form input[type="text"],
.contact__form input[type="email"],
.contact__form input[type="tel"],
.contact__form textarea{
  width:100%; background:transparent; border:0; border-bottom:1px solid #dadada;
  border-radius:0; padding: 25px 0 12px; font-size: 16px; color:#1d1d1d;
}
.contact__form input::placeholder, .contact__form textarea::placeholder{ color:#9b9b9b; }
/* кнопка с красной окантовкой */
.contact__form .wpcf7-submit{
  width:100%; background:transparent; color:#1d1d1d; border:2px solid var(--hh-accent);
  padding:18px 16px; border-radius:10px; text-transform:uppercase; font-size: 16px; letter-spacing:.06em; font-weight:500;margin: 40px 0px 0px 0px;
}
.contact__form .wpcf7-submit:hover{ background:var(--hh-accent); color:#fff; }

/* ---------- АДАПТИВ ---------- */
@media (max-width:1439px){
  .our-capabilities__img{ max-width:404px; }
}
@media (max-width:1280px){
  .footer__content{ gap:20px; }
  .footer__right{ gap:20px; }
  .contact__form{ padding:28px; }
}
@media (max-width:991px){
  .footer-flex{ padding:24px 20px 0; }
  .footer__content{ display:flex; gap:35px; align-items:center; }
  .footer__left{ flex:1 1 62%; width:auto; }
  .footer__right{ flex:1 1 38%; display:flex; flex-direction:column; gap:12px; text-align: center;}
  /* Меню в мобильном футере скрываем — оставляем только лого и соцсети */
  .footer__right-upper, .footer__right-lower{ display:none; }
  .footer-logo{ max-width:90px; }
  .footer .social-list{ gap:12px; }
  .contact__form{ padding:16px; }
  .contact__form .wpcf7-form p{ margin-bottom:18px; }
  .our-capabilities__img{ max-width:333px; left:50%; transform:translateX(-50%); right:auto; }
  .our-capabilities__wrapper{ height:650px; padding:23px 20px; }
  .our-capabilities__title{ font-size:24px; line-height:1.25; margin-bottom:10px; }
  .our-capabilities__sub-title{ font-size:16px; line-height:1.25; margin-bottom:15px; }
  .our-capabilities__item{ font-size:16px; line-height:1.25; }
  .our-capabilities__item img{ width:60px; height:60px; flex-basis:28px; }
  .footer-logo-copyright {font-size: 10px;}
  .footer .social-list a{font-size: 1rem;}
  .form__title {font-size: 12px;}
  .contact__form {font-size: 12px;}
  .contact__form input[type="text"], .contact__form input[type="email"], .contact__form input[type="tel"], .contact__form textarea {padding: 5px 0 5px; font-size: 10px;}
  .contact__form .wpcf7-submit {font-size: 10px; padding: 8px 6px; border: 1px solid var(--hh-accent); margin: 0px;}
  :root{ --footer-form-lift: 0px; /* на сколько «поднять» белую форму над красной линией */}
  .wpcf7-spinner {display:none;}
}
@media (max-width:575px){
  .footer__left{ flex-basis: 25%; }
  .footer__right{ flex-basis: 34%; }
  .footer__right-lower-list > ul{ grid-template-columns:1fr; }
}

/* Center logo + copyright on mobile */
@media (max-width: 768px){
  .footer .footer-logo-copyright{
    display: flex;
    flex-direction: column;
    align-items: center;      /* вместо align-content */
    justify-content: center;
    text-align: center;
    width: 100%;
    margin: 0 auto;
  }

  .footer .footer-logo-copyright .footer-logo{
    display: block;
    height: auto;
    margin: 0 auto 10px;      /* небольшой отступ от логотипа до текста */
  }

  .footer .footer-item-logo{  /* контейнер с логотипом */
    display: flex;
    justify-content: center;
  }
}