/* =========================
   1) СКРЫТЬ ПОДПИСИ СРАЗУ
   ========================= */
.cont1, .cont2, .cont3 { opacity: 0; pointer-events: none; }

/* =========================
   2) ГЛОБАЛЬНОЕ / БАЗА
   ========================= */
.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-color-grey.vc_tta-style-modern .vc_tta-panel .vc_tta-panel-title>a {color: #fff !important;font-weight: 300 !important;}
ul, ol { margin: 0 0 20px !important; padding: 0;}

/* =========================
   3) КРУПНЫЕ ШИРИНЫ (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; }
}

/* =========================
   4) 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{ margin:0; }
.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; position:absolute; }
.collection-H-gallery__hero-mobile{ min-height:500px; display:none; }
.collection-H-gallery__hero-mobile > .vc_row-fluid{ display:flex; justify-content:center; }
.collection-H-gallery__hero-content-mobile{max-width:420px;padding:0 20px; }

/* =========================
   5) VC ACCORDION / ICONS
   ========================= */
.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; }

/* =========================
   6) ГАЛЕРЕЯ / КОНТЕНТ
   ========================= */
.collection-H-gallery__info-mobile{ display:none; }
.collection-H-gallery__content-text-bottom img{ width:20px; }
.collection-H-gallery__content-img > .vc_figure{ width:100%; }
.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__content-text-bottom{ border-top:2px solid #fff; padding-top:10px; display:flex; 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-bottom-link{ font-weight:300; font-size:16px; line-height:187%;margin: 0px 0px 20px 0px; }
.collection-H-gallery__content-text-middle-list{ margin-bottom:20px; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }
.collection-H-gallery__content-text{ margin-bottom:0; }
.collection-H-gallery__content-text-middle{ justify-content:space-between; display:flex; align-items:center; }
.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__content-text-upper{ display:flex; align-items:center; justify-content:space-between; /* padding-bottom:10px; border-bottom:2px solid #fff; margin-bottom:20px; */ }
.collection-H-gallery__content-text-upper p{ font-weight:400; font-size:24px; line-height:125%; text-align:right; }
.collection-H-gallery__content-text-upper-name{ font-weight:700; font-size:30px; line-height:100%; margin:0; }
.collection-H-gallery__content-text-container{ display:flex; flex-direction:column; }
.collection-H-gallery{ padding:40px 55px; }
.collection-H-gallery__content{ position:relative; }
.collection-H-gallery__content-img{ display:flex; justify-content:center; margin-bottom:0; }
.collection-H-gallery{ }
.collection-H-gallery__wrapper{ background-repeat:no-repeat; }

/* =========================
   7) ПОДПИСИ-ПУЗЫРИ (общие)
   ========================= */
.cont { transition: 1.2s; }

/* =========================
   8) ВЕРХНИЕ ССЫЛКИ (правый блок)
   ========================= */
.right-block-front-upper-link{ font-weight:400; 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; }

/* =========================
   9) АНИМАЦИЯ КНОПОК (пульсы)
   ========================= */
.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(0.5); opacity: 0; }
  75% { opacity: 1; }
  100% { transform: scale(1.2); opacity: 0; }
}

/* =========================
   10) КНОПКИ-ТОГГЛЫ
   ========================= */
.shakke { border-radius: 50px; z-index: 100000; transition: .65s; position: absolute; border: none; }
.shk1 { left: 351.5px; top: 155px; }
.shk3 { left: 560px; bottom: 186.5px; }
.shk2 { left: 335px; top: 100px; }
.shakke:hover { transform: scale(1.2); }
.blur-div { position: relative; }

/* =========================
   11) ЛЕЙАУТ (боксы и тексты)
   ========================= */
@media(max-width:992px){ .row-right{ display: none !important; } }
.button-hover:hover{ color:#AF0B0B !important; transition:.2; }

.lft button{
    border:2px solid #AF0B0B; padding:10px 100px; font-size:24px;
    background-color:inherit; color:black; border-radius:0px;
}
.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; }
.rght img{ margin-top:120px; }
.rght{ width:70%; }

@media(max-width:650px){
    .lft h1{ margin-top:40px; }
    .rght img{ margin-top:0px; }
}
.rght button{ display:none; }

@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;padding-left: 15px; padding-right: 10px; }
    .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; } }

/* =========================
   12) ПУЗЫРИ (вариант 1 — позиционирование)
   ========================= */
.cont{
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    height:114px; left:370px; border-radius:20px; position:absolute; top:10px;
    width:300px; 
    text-transform: uppercase;
    font-size: 14px; color:#fff; text-align:center; position:relative; transition:1s;
}

@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:-200px !important; margin-top:75px !important; }
    .cont3{ margin-top:85px !important; }
}

.cont1{ margin-left:145px; margin-top:75px; }
.cont2{ margin-left:220px; margin-top:90px; }
.cont3{ margin-left:150px; margin-top:20px; }

.cont3 img{ position:absolute; top:-44px; left:135.5px; }
.cont1 img{ position:absolute; bottom:-44px; left:135.5px; }
.cont2 img{ position:absolute; bottom:42px; left:-44px; }

.for-pos{ position:relative; }

/* дубль reset из исходника (не удаляю) */
* { margin: 0; padding: 0; box-sizing: border-box; }
* { margin: 0; padding: 0; box-sizing: border-box; }

/* =========================
   13) FRONT BLOCK / СЦЕНА
   ========================= */
.front-block{
    left:-6vw;
    background-image:url(https://hilbert-house.ru/wp-content/uploads/2024/09/kottedzhi-kollekczii-l.jpg);
    background-repeat:round; 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:#fff; font-size:80px; font-weight:700; }
.right-block-front h3{ font-size:40px; color:#fff; 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:#fff; text-decoration:none; }
.nums img{ position:absolute; left:-20px; top:-25px; }

/* ПУЗЫРИ (вариант 2 — для этой сцены) */
.cont{
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    height:110px; left:-70px; border-radius:20px; position:absolute; top:10px;
    width:300px; display:flex; justify-content:center; align-items:center;
    font-size:16px; color:#fff; text-align:center; position:relative;
}

.cont2{ left:400px; }
.cont3{ left:50px; }

.cont3 img{ position:absolute; top:-44px; left:135.5px; }
.cont1 img{ position:absolute; bottom:-44px; left:135.5px; }
.cont2 img{ position:absolute; bottom:42px; left:-44px; }

.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);
}

/* =========================
   14) ПРАВЫЙ БЛОК — ВНУТРЕННЕЕ
   ========================= */
.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: -165px; 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-weight:400; 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; }

/* =========================
   15) АДАПТИВ (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:109px; right:-190px; }
    .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:-70px; 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){
	.vc_tta.vc_general .vc_tta-panel-title>a {padding:10px 0px !important; }
    .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-панels > .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 25px; }
    .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/05/l-160-1.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; }
    .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; }
}

/* =========================
   16) ПРОЧЕЕ
   ========================= */
.row-left { z-index: 1000; }
@media (min-width:765) {
  .vc_row.vc_column-gap-30>.vc_column_container { padding: 55px !important; }
}
.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:0 !important; padding-right:0 !important; }

@media (max-width:600px){
  .rght button{
    color:#000; background:transparent; border:2px solid #af0b0b;
    font-weight:500; font-size:16px; line-height:250%;
  }
}

/* =========================
   17) FIX: Кружки ниже оверлея меню
   ========================= */
.shakke { z-index: 9 !important; }      /* было 100000 */
.shka1::before, .shka1::after { z-index: 0; }
.front-block { z-index: 1; }

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

/* === 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; }
