/* =========================
   A) БАЗА + фиксы
   ========================= */

/* подписи к кнопкам скрыты по умолчанию */
.cont1, .cont2, .cont3 { opacity: 0; pointer-events: none; }

/* ФИКС: кружки ниже оверлея/меню */
.shakke { z-index: 9 !important; }             /* было слишком высоко */
.shka1::before, .shka1::after { z-index: 0; }  /* пульс внутри кнопки */
.front-block { z-index: 1; }
ul, ol { margin: 0 0 20px !important; padding: 0;}

/* когда меню открыто — кружки прячем */
body.menu-open .shakke,
body.hilbert-menu-open .shakke,
body.hilbert-overlay-open .shakke { opacity: 0; pointer-events: none; }

/* =========================
   B) КРУПНЫЕ WIDTH (min-width)
   ========================= */
@media (min-width: 1961px) { .front-block { background-size: 100% !important; height: 850px !important; } }
@media (min-width: 2240px) { .front-block { background-size: 100% !important; height: 975px !important; } }
@media (min-width: 2600px) { .front-block { background-size: 100% !important; height: 1075px !important; } }
@media (min-width: 2980px) { .front-block { background-size: 100% !important; height: 1250px !important; } }

/* =========================
   C) VC / АККОРДЕОН / ICONS
   ========================= */
.vc_tta.vc_general .vc_tta-panel-body{ padding:17px 0 0 0 !important; }
.vc_tta.vc_tta-style-modern .vc_tta-panel-body{ background-image:unset !important; }
.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-body{ padding:17px 0 0 0; background:transparent; }
.vc_tta-controls-icon::after, .vc_tta-color-grey.vc_tta-style-modern .vc_tta-controls-icon::before{ border-color:#fff !important; }
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-right .vc_tta-controls-icon{ right:0 !important; width:19px; height:19px; }

/* =========================
   D) HERO (mobile)
   ========================= */
.collection-H-gallery__hero-img-mobile{ margin-left:-20px; margin-right:-20px; }
.collection-H-gallery__hero-img-mobile > .vc_figure > .vc_single_image-wrapper > img{ min-width:375px; }
.collection-H-gallery__hero-bottom-container{ max-width:314px; padding-left:20px; display:flex; margin:0; align-items:center; }
.collection-H-gallery__hero-content-bottom-mobile{ max-width:263px; display:flex; flex-wrap:wrap; gap:5px 20px; }
.collection-H-gallery__hero-content-bottom-link-mobile{ font-weight:400; font-size:16px; }
.collection-H-gallery__hero-info-text-container-mobile{ margin:0; position:relative; }
.collection-H-gallery__hero-info-text-container-mobile::before{
  content:""; width:18px; height:18px; background-image:url(https://hilbert-house.ru/wp-content/uploads/2024/09/arrow-bottom-right.svg);
  background-repeat:no-repeat; background-size:cover; top:0; left:0; transform:translate(-100%,-100%); position:absolute;
}
.collection-H-gallery__hero-info-text-mobile{ background-color:rgba(255,255,255,0.1); backdrop-filter:blur(2px); padding:17px 20px; }
.collection-H-gallery__hero-info-link-mobile{ font-weight:500; font-size:16px; line-height:225%; padding:3px 0; min-width:66px; display:flex; align-items:center; justify-content:center; }
.collection-H-gallery__hero-info-link-mobile:not(:last-child){ border-bottom:2px solid #af0b0b; }
.collection-H-gallery__hero-info-mobile{ position:absolute; right:30px; top:140px; }
.collection-H-gallery__hero-title-img-mobile,
.collection-H-gallery__hero-upper-text{ margin:0; }
.collection-H-gallery__hero-upper-links-mobile{ display:flex; gap:24px; }
.collection-H-gallery__hero-upper-link-mobile{ font-weight:500; font-size:14px; line-height:257%; position:relative; }
.collection-H-gallery__hero-upper-link-mobile:not(:last-child)::after{
  content:""; position:absolute; top:50%; transform:translate(100%,-50%); right:-8px; width:8px; height:8px; background-color:#af0b0b;
}
.collection-H-gallery__hero-border-mobile{ position:absolute; top:27px; z-index:-1; }
.collection-H-gallery__hero-mobile{ min-height:500px; display:none; }
.collection-H-gallery__hero-mobile > .vc_row-fluid{ display:flex; justify-content:center; }

/* =========================
   E) ГАЛЕРЕЯ / КОНТЕНТ
   ========================= */
.collection-H-gallery{ padding:40px 55px; }
.collection-H-gallery__wrapper{ background-repeat:no-repeat; }
.collection-H-gallery__content{ position:relative; }
.collection-H-gallery__content-img{ display:flex; justify-content:center; margin-bottom:0; }
.collection-H-gallery__content-img > .vc_figure,
.collection-H-gallery__content-img > .vc_figure > .vc_single_image-wrapper{ width:100%; }
.collection-H-gallery__content-img > .vc_figure > .vc_single_image-wrapper img{ width:100%; }
.collection-H-gallery__info{ max-width:676px; position:absolute; padding:20px 40px; bottom:60px; right:25px; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.collection-H-gallery__info.left{ right:unset; left:25px; }
.collection-H-gallery__info-mobile{ display:none; }
.collection-H-gallery__content-text{ margin-bottom:0; }
.collection-H-gallery__content-text-upper{ display:flex; align-items:center; justify-content:space-between; }
.collection-H-gallery__content-text-upper-name{ font-weight:700; font-size:30px; line-height:100%; margin:0; }
.collection-H-gallery__content-text-upper p{ font-weight:400; font-size:24px; line-height:125%; text-align:right; }
.collection-H-gallery__content-text-middle{ display:flex; align-items:center; justify-content:space-between; }
.collection-H-gallery__content-text-middle-name{ font-weight:300; font-size:16px; line-height:125%; }
.collection-H-gallery__content-text-middle-num{ font-weight:700; font-size:30px; line-height:100%; text-align:right; }
.collection-H-gallery__content-text-middle-metre{ font-weight:700; font-size:16px; line-height:125%; text-align:right; }
.collection-H-gallery__content-text-middle-list{ margin-bottom:20px; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px;     margin: 0px 0px 10px 0px; }
.collection-H-gallery__content-text-bottom{ border-top:2px solid #fff; padding-top:10px; display:flex; justify-content:space-between; }
.collection-H-gallery__content-text-bottom img{ width:20px; }
.collection-H-gallery__content-text-bottom-link{ font-weight:300; font-size:16px; line-height:187%; }

/* =========================
   F) ВЕРХНИЕ ССЫЛКИ (правый блок)
   ========================= */
.right-block-front-upper-link{ font-size:16px; color:#fff; position:relative; }
.right-block-front-upper-link:not(:last-child)::after{
  position:absolute; content:""; width:8px; height:8px; background-color:#af0b0b;
  transform:translate(100%,-50%); right:-10px; top:50%;
}
.right-block-front-upper-links{ gap:28px; display:flex; width:343px; position:absolute; top:-253px; left:-339px; }

/* =========================
   G) АНИМАЦИЯ ПУЛЬСОВ
   ========================= */
.shka1::after, .shka1::before{
  content:''; position:absolute; border:2px solid #b8b8b8; left:-15px; opacity:0; right:-15px; top:-15px; bottom:-15px; border-radius:50%;
  animation: shka1 3s linear infinite;
}
.shka1::after{ animation-delay: .85s; }
@keyframes shka1{
  50%{ transform:scale(.5); opacity:0; }
  75%{ opacity:1; }
  100%{ transform:scale(1.2); opacity:0; }
}

/* =========================
   H) КНОПКИ-ПИНЫ
   ========================= */
.shakke{ border-radius:50px; transition:.65s; position:absolute; border:none; } /* z-index снижен выше */
.shk1{ left:351.5px; top:155px; }
.shk2{ left:335px; top:100px; }
.shk3{ left:560px; bottom:186.5px; }
.shakke:hover{ transform:scale(1.2); }
.blur-div{ position:relative; }

/* =========================
   I) ЛЕЙАУТ / КНОПКИ / ОБЩЕЕ
   ========================= */
@media(max-width:992px){ .row-right{ display:none !important; } }
.button-hover:hover{ color:#AF0B0B !important; transition:.2; }

.simplflex{ width:100% !important; display:flex; justify-content:space-between; align-items:top; padding-left:29px; padding-right:25px; position:relative; }
.lft{ width:25%; }
.lft h1{ margin-top:120px; }
.lft button{ border:2px solid #AF0B0B; padding:10px 100px; font-size:24px; background-color:inherit; color:black; position:absolute; bottom:100px; }
.rght{ width:70%; }
.rght img{ margin-top:120px; }
.rght button{ display:none; }

@media(max-width:650px){
  .lft h1{ margin-top:40px; }
  .rght img{ margin-top:0; }
}
@media(max-width:600px){
  .lft button{ display:none; }
  .rght button{
    font-size:16px; width:100%; padding:5px; text-align:center;
    background-color:#1D1D1D; color:#fff; border:none; bottom:0 !important; right:0; display:block;
  }
  .simplflex{ padding-top:40px important; padding-bottom:40px; display:flex; flex-direction:column; }
  .lft{ width:100% !important; }
  .lft h1{ font-size:24px !important; }
  .lft p{ font-size:16px !important; width:97% !important; }
  .rght{ width:100% !important; }
  .rght div{ text-align:center !important; }
}
@media(max-width:1300px){ .fs{ font-size:16px !important; } }

/* =========================
   J) ПУЗЫРИ-ПОДПИСИ (позиции)
   ========================= */
.cont{
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  height:114px; left:-70px; border-radius:20px; position:absolute; top:10px;
  width:300px; display:flex; justify-content:center; align-items:center;
  text-transform: uppercase;
  font-size: 14px;color:white; text-align:center; position:relative;  transition:1s;
}
.cont1{ margin-left:145px; margin-top:75px; }
.cont2{ margin-left:220px; margin-top:90px; }
.cont3{ margin-left:150px; margin-top:20px; }

/* УДАЛЕНО: .cont1::after / .cont2::after / .cont3::after */

/* изображения-маркеры у пузырей */
.cont2 img{ position:absolute; bottom:42px; left:-44px; }
.cont1 img{ position:absolute; bottom:-44px; left:135.5px; }
.cont3 img{ position:absolute; top:-44px; left:135.5px; }

/* адаптив для пузырей */
@media(max-width:1800px){
  .shk3{ left:525px; }
  .cont1{ margin-top:40px !important; margin-bottom:100px; }
  .cont2{ margin-left:173px !important; margin-top:45px; }
  .left-block-front{ padding-top:50px !important; }
}
@media(max-width:1680px){
  .shk1{ left:334.5px; top:155px; }
  .shk3{ bottom:230px; }
  .shk2{ left:335px; top:150px; }
  .cont2 img{ position:absolute; top:42px; left:334px !important; }
  .cont1{ margin-top:-30px !important; margin-left:128px !important; }
  .cont2{ margin-left:160px !important; margin-top:75px !important; }
  .cont3{ margin-top:85px !important; }
}

/* =========================
   K) FRONT-BLOCK / СЦЕНА
   ========================= */
.front-block{
  left:-6vw;
  background-image:url(https://hilbert-house.ru/wp-content/uploads/2024/09/kollekcziya-22i22-min.jpg);
  background-repeat:no-repeat; background-size:cover;
  width:105vw; display:flex; justify-content:space-between; align-items:top;
  position:relative; padding:63px 110px 80px 0;
}
.left-block-front{ width:50%; height:100%; position:relative; }
.right-block-front{ width:41%; text-align:right; position:relative; z-index:10; }
.right-block-front h1{ color:#FFFFFF; font-size:80px; font-weight:700; }
.right-block-front h3{ font-size:40px; color:#FFFFFF; font-weight:300; }
.cont3{ margin-bottom:-20px; }

/* счетчик */
.nums{ display:flex; align-items:center; justify-content:right; position:absolute; bottom:0; right:0; z-index:100000000; }
.nums a{ padding:10px 20px; border-right:5px solid #AF0B0B; font-size:20px; color:#FFFFFF; text-decoration:none; }
.nums img{ position:absolute; left:-20px; top:-25px; }

/* =========================
   L) ПРАВЫЙ БЛОК — ВНУТРЕННЕЕ
   ========================= */
.right-block-front{ float:right; height:auto; display:flex; align-items:center; justify-content:center;margin: 30px;padding-top: 60px; }
.right-block-front-wrapper{ position:relative; }
.right-block-front-border{ width:685px; pointer-events:none; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.right-block-front-collection{ position:absolute; top:-315px; right:-160px; width:68px; height:180px; }
.right-block-front-name{ position:absolute; top:-315px; right:-275px; }
.right-block-front-text-links{ position:absolute; top:-70px; left:-250px; width:551px; }
.right-block-front-text-p{ text-align:right; font-family:'Montserrat', sans-serif; font-size:20px; line-height:200%; color:#fff; }
.right-block-front-text-p a{ color:#fff; text-decoration:none; transition:.2s ease-in; }
.right-block-front-text-p a:hover{ color:#ff0202; }
.right-block-front-arrow{ position:absolute; top:25px; left:-225px; width:28px; height:28px; }
.right-block-front-links{ position:absolute; top:71px; left:-205px; width:552px; text-align:left; }
.right-block-front-links a{
  font-family:'Montserrat', sans-serif; font-weight:400; font-size:20px; line-height:180%;
  padding:10px 20px; border-right:3px solid #af0b0b; color:#fff; transition:.2s ease-in;
}
.right-block-front-links a:hover{ color:#ff0202; }
.right-block-front-links a:last-child{ border-right:none; }

/* =========================
   M) ПРОЧЕЕ
   ========================= */
.ops{
  position:absolute; right:0; top:0; width:50%; height:100%;
  -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
  background:rgba(217,217,217,.1);
}
.for-pos{ position:relative; }
.row-left{ z-index:1000; }
.vc_col-has-fill>.vc_column-inner,
.vc_row-has-fill+.vc_row-full-width+.vc_row>.vc_column_container>.vc_column-inner,
.vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner,
.vc_row-has-fill>.vc_column_container>.vc_column-inner{ padding-top:0px; }
.img-full{ padding-left:0px !important; padding-right:0px !important; }
*{ margin:0; padding:0; box-sizing:border-box; }

/* =========================
   N) АДАПТИВ (max-width)
   ========================= */
@media (max-width:1660px){ .ops{width:60%;} .right-block-front{width:50%;} }
@media (max-width:1500px){ .right-block-front h1{ font-size:60px; } .lft button{ bottom:0px; } }
@media (max-width:1300px){ .front-block{ padding:63px 60px 60px 30px; } }
@media (max-width:1200px){
  .right-block-front h1{ font-size:48px; }
  .right-block-front h3{ font-size:34px; }
  .lft{ width:35%; } .rght{ width:61%; }
}
@media (max-width:1250px){
  .right-block-front-border{ width:460px; }
  .right-block-front-upper-links{ top:-174px; left:-231px; }
  .right-block-front-upper-link{ font-size:13px; }
  .right-block-front-name{ top:-219px; width:42px; right:-165px; }
  .right-block-front-text-p{ font-size:16px; }
  .right-block-front-text-links{ top:-70px; left:-347px; }
  .right-block-front-arrow{ top:10px; left:-190px; width:16px; height:16px; }
  .right-block-front-links a{ font-size:14px; padding:5px 15px; }
  .right-block-front-links{ top:40px; left:-180px; }
  .right-block-front-collection{ top:-219px; right:-110px; width:13px; }
  .ops{ width:50%; }
  .shk3{ left:425px; }
  .shk2{ left:170px; top:150px; }
  .cont{ margin-left:-15px; }
  .cont2{ margin-left:-300px !important; margin-top:75px !important; }
  .nums div{ font-size:14px; }
  .front-block{ background-size:cover; }
  .nums{ bottom:40px; }
  .lft button{ bottom:80px; font-size:20px; }
}
@media(max-width:977px){
  .collection-H-gallery__info-mobile-title{ padding:10px 0px; }
  .collection-H-gallery__info-mobile{ display:block; }
  .collection-H-gallery__accordion > .vc_tta-panels-container > .vc_tta-panels > .vc_tta-panel > .vc_tta-panel-heading{ background:transparent !important; }
  .collection-H-gallery__accordion > .vc_tta-panels-container > .vc_tta-panels > .vc_tta-panel > .vc_tta-panel-heading h4 a{ font-weight:400; font-size:16px; line-height:137%; color:#fff; padding:0; }
  .collection-H-gallery__accordion .vc_tta.vc_tta-accordion.vc_tta-controls-icon-position-right.vc_tta-controls-icon{ width:19px; height:19px; }
  .collection-H-gallery__content-text-middle-name{ font-weight:300; font-size:14px; line-height:114%; }
  .collection-H-gallery__content-text-middle-num{ font-weight:700; font-size:24px; line-height:125%; text-align:right; }
  .collection-H-gallery__content-text-middle-metre{ font-size:16px; line-height:125%; }
  .collection-H-gallery{ padding:20px 30px; }
  .collection-H-gallery__content-text-upper-name{ font-weight:500; font-size:24px; line-height:125%; }
  .collection-H-gallery__content-text-upper p{ font-weight:400; font-size:16px; line-height:137%; text-align:right; }
  .collection-H-gallery__info{ max-width:unset; position:static; padding:20px 15px; backdrop-filter:blur(unset); -webkit-backdrop-filter:blur(unset); }
  .collection-H-gallery__info.desktop{ display:none; }
  .nums1{ display:none; }
  .nums2{ display:block !important; }
  .lft button{ padding:5px 95px; }
  .nums{ bottom:-46px !important; }
  .left-block-front{ width:0; display:none; }
  .right-block-front{ width:100%; }
  .ops{ width:100% !important; }
  .right-block-front h1{ font-size:80px; }
  .right-block-front h3{ font-size:40px; }
  .front-block{
    background-image:url(https://hilbert-house.ru/wp-content/uploads/2024/09/kollekcziya-22i22-min.jpg);
    background-position:20% 10%; background-size:cover;
  }
  .wrapp{ width:100%; }
  .front-block{ height:670px; }
}
@media(max-width:790px){ .right-block-front h1{ font-size:70px; } .right-block-front h3{ font-size:30px; } }
@media(max-width:768px){
  .collection-H-gallery__hero{ display:none; }
  .collection-H-gallery__hero-mobile{ display:block; padding-left: 35px; padding-right: 35px; }
  .collection-H-gallery__content-text-middle-list{ grid-template-columns:1fr; gap:0; }
  .right-block-front-upper-links{ display:none; }
  .right-block-front{ padding-top:50px; }
  .front-block{ left:-2vw; width:104%; padding:0; }
  .right-block-front-border{ width:315px; }
  .right-block-front-collection{ top:-155px; right:-45px; width:9px; }
  .right-block-front-name{ width:78px; top:-156px; right:-130px; }
  .right-block-front-text-links{ top:-44px; left:-235px; width:375px; }
  .right-block-front-text-p{ font-size:13px; }
  .right-block-front-arrow{ display:none; }
  .right-block-front-links a{ font-size:13px; line-height:180%; padding:5px 10px; }
  .right-block-front-links{ left:-153px; }
}
@media(max-width:660px){ .right-block-front h1{ font-size:60px; } .right-block-front h3{ font-size:20px; } }
@media(max-width:560px){
  .right-block-front h1{ font-size:38px; }
  .right-block-front h3{ font-size:19px; }
  .front-block{ height:326px; }
  .ops{ backdrop-filter:blur(4px); }
  .nums img{ width:20px !important; height:20px !important; margin-left:60px; margin-bottom:15px; }
  .nums{ position:relative; justify-content:space-between; width:100%; margin:auto; }
  .nums a{ padding:5px 9px !important; font-size:13px !important; border-right:2px solid #AF0B0B; }
}
@media (min-width:765){
  .vc_row.vc_column-gap-30>.vc_column_container{ padding:55px !important; }
}
@media (max-width:600px){
  .rght button{
    color:#000; background:transparent; border:2px solid #af0b0b;
    font-weight:500; font-size:16px; line-height:250%;
  }
}


/* === Hilbert: герой-ряд на 100% окна, стабильный при zoom 90% === */
/* считаем реальный "гаттер" темы: разницу между окном и контентной шириной */
:root{ --bleed: max(0px, calc((100vw - 100%) / 2)); }
@supports (width: 100dvw){
  :root{ --bleed: max(0px, calc((100dvw - 100%) / 2)); }
}

/* тянем wrapper ровно в край окна, независимо от контейнеров/паддингов */
.collection-H-gallery__hero .hh-fullbleed{
  position: relative;
  left: calc(-1 * var(--bleed));
  width: calc(100% + var(--bleed) * 2);
  max-width: none;
  margin: 0;
  padding: 0;
  overflow-x: clip;
  box-sizing: border-box;
}

/* сам hero без искусственных смещений и лишней ширины */
.collection-H-gallery__hero .front-block{
  left: 0 !important;        /* убираем старое left:-6vw */
  width: 100% !important;    /* убираем старое width:105vw */
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

/* страховка от горизонтального скролла, если где-то «перелёт» в 1–2px */
html, body{ overflow-x: hidden; }
