/* =========================================================
   Основа Бетон — доработки (август 2026)
   Файл подключается последним и переопределяет style2/_fast
   ========================================================= */

/* ---------- 1. Полоса прокрутки и шапка на ПК ---------- */
html{
  overflow-x:hidden !important;
  scrollbar-gutter:stable;
}
body{
  overflow-x:visible !important;
  overflow-y:visible !important;
  max-width:100% !important;
}
html::-webkit-scrollbar{width:12px}
html::-webkit-scrollbar-track{background:#eef2f5}
html::-webkit-scrollbar-thumb{background:#9fb3c4;border-radius:6px;border:3px solid #eef2f5}
html::-webkit-scrollbar-thumb:hover{background:#2b7db3}

.header1{
  border-bottom:1px solid #e2e9ef !important;
  box-shadow:0 2px 14px rgba(20,60,90,.10) !important;
  background:#fff !important;
}

/* ---------- 2. Первый экран ---------- */
.ob-hero2-promo{line-height:1.14 !important}
.ob-hero2-promo sup{
  font-size:.52em !important;
  line-height:0 !important;
  position:relative !important;
  top:-.62em !important;
  margin-left:1px;
}

/* ---------- 3. Таблицы цен — синяя гамма ---------- */
table.block-view td.alert-warning,
table.block-view th.alert-warning{
  background-color:#1c689f !important;
  background-image:none !important;
  color:#fff !important;
  border-color:#17587f !important;
  font-weight:700 !important;
}
table.block-view .btn-warning{
  background-color:#2b7db3 !important;
  background-image:none !important;
  border-color:#22699a !important;
  color:#fff !important;
  text-shadow:none !important;
  box-shadow:none !important;
}
table.block-view .btn-warning:hover,
table.block-view .btn-warning:focus,
table.block-view .btn-warning:active{
  background-color:#175d8e !important;
  border-color:#124a72 !important;
  color:#fff !important;
}
table.block-view.table-hover tr:hover{background-color:#e9f3fa !important}
table.block-view.table-striped > tbody > tr:nth-of-type(odd){background-color:#f7fafc}
table.block-view > tbody > tr > td{vertical-align:middle}

/* ---------- 4. Валидация форм ---------- */
.ob-invalid{
  border:2px solid #e04a3f !important;
  background-color:#fff7f6 !important;
  box-shadow:0 0 0 3px rgba(224,74,63,.15) !important;
}
.ob-err{
  display:block;
  font-size:12px;
  line-height:1.35;
  margin:-4px 0 10px;
  padding:6px 10px;
  border-radius:6px;
  background:#fdecea;
  color:#a52a20;
  border:1px solid #f4c6c1;
  text-align:left;
}
.ob-hero2-form .ob-err{
  background:rgba(180,35,25,.92);
  color:#fff;
  border-color:rgba(255,255,255,.25);
}

/* ---------- 5. Бургер и мобильное меню ---------- */
.ob-burger{
  display:none;
  background:#2b7db3;
  border:0;
  border-radius:9px;
  width:40px;height:36px;
  flex-direction:column;
  align-items:center;justify-content:center;
  gap:4px;padding:0;cursor:pointer;
  flex:0 0 auto;
}
.ob-burger span{display:block;width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
.ob-burger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.ob-burger.is-open span:nth-child(2){opacity:0}
.ob-burger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.ob-mmenu{position:fixed;inset:0;z-index:2000;display:none}
.ob-mmenu.is-open{display:block}
.ob-mmenu__back{position:absolute;inset:0;background:rgba(15,35,52,.55)}
.ob-mmenu__panel{
  position:absolute;top:0;left:0;bottom:0;
  width:84%;max-width:330px;background:#fff;
  padding:18px 20px 28px;overflow-y:auto;
  box-shadow:6px 0 30px rgba(0,0,0,.25);
  transform:translateX(-102%);
  transition:transform .25s ease;
}
.ob-mmenu.is-open .ob-mmenu__panel{transform:none}
.ob-mmenu__close{
  position:absolute;top:10px;right:12px;
  width:34px;height:34px;border:0;background:transparent;
  font-size:26px;line-height:1;color:#8a97a3;cursor:pointer;
}
.ob-mmenu__logo{display:block;height:36px;margin-bottom:18px}
.ob-mmenu__list{list-style:none;margin:0 0 18px;padding:0}
.ob-mmenu__list li{border-bottom:1px solid #edf1f4}
.ob-mmenu__list a{
  display:block;padding:13px 2px;color:#1f2a33;
  font-size:16px;font-weight:600;text-decoration:none;
}
.ob-mmenu__list a:active{color:#2b7db3}
.ob-mmenu__cta{
  display:block;width:100%;margin:4px 0 14px;
  background:#e97d33;color:#fff;border:0;border-radius:8px;
  padding:13px 10px;font-size:15px;font-weight:700;cursor:pointer;
}
.ob-mmenu__phone{display:block;font-size:21px;font-weight:800;color:#1c689f;text-decoration:none;margin-bottom:4px}
.ob-mmenu__note{font-size:12px;color:#7b8894;margin-bottom:14px}
.ob-mmenu__msgs{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.ob-mmenu__mail{font-size:14px;color:#4a5a68;text-decoration:none;word-break:break-all}

/* ---------- 6. Мобильная шапка (по образцу Руна Бетон) ---------- */
@media (max-width:767px){
  .header1{padding:7px 12px !important}
  .header1 .center1{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    width:100% !important;
  }
  .header1 .logo{
    background-size:auto 30px !important;
    padding-left:42px !important;
    font-size:12px !important;
    line-height:1.06 !important;
    max-width:118px !important;
    margin:0 !important;
    flex:0 0 auto !important;
    order:1 !important;
  }
  .ob-hd-center{display:none !important}
  .ob-burger{display:flex !important;order:2 !important}
  .ob-hd-right{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:center !important;
    gap:1px !important;
    order:3 !important;
    flex:0 0 auto !important;
    width:auto !important;
    padding:0 !important;
  }
  .ob-hd-callnow{display:none !important}
  .header1 .ob-hd-btn{
    order:1 !important;
    background:none !important;
    background-color:transparent !important;
    color:#e97d33 !important;
    border:0 !important;
    border-bottom:1px dashed rgba(233,125,51,.55) !important;
    border-radius:0 !important;
    padding:0 0 1px !important;
    margin:0 !important;
    width:auto !important;
    flex-basis:auto !important;
    font-size:12.5px !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    text-align:right !important;
    white-space:nowrap !important;
  }
  .header1 a.ob-hd-phone{
    order:2 !important;
    margin:1px 0 0 !important;
    font-size:16.5px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    color:#1c689f !important;
  }
  .ob-hero2-bg{background-position:66% center !important}
}

@media (max-width:359px){
  .header1 .logo{max-width:96px !important;font-size:11px !important}
  .header1 a.ob-hd-phone{font-size:15px !important}
  .header1 .ob-hd-btn{font-size:11.5px !important}
}

/* --- mobile header tuning --- */
@media (max-width:767px){
  .header1{padding:7px 10px !important}
  .header1 .center1{gap:6px !important}
  .header1 .logo{max-width:114px !important;font-size:11.5px !important;letter-spacing:0 !important;overflow:hidden !important;background-size:auto 26px !important;padding-left:34px !important;line-height:1.1 !important}
  .ob-burger{margin:0 2px !important;width:38px !important;height:34px !important}
  .header1 a.ob-hd-phone{font-size:16px !important}
}

/* --- mobile header tuning v2 --- */
@media (max-width:767px){
  .header1 .logo{max-width:none !important;overflow:visible !important;flex:0 1 auto !important;min-width:0 !important;font-size:12px !important;letter-spacing:0 !important;line-height:1.1 !important;background-size:auto 28px !important;padding-left:38px !important}
  .ob-hd-right{flex:0 0 auto !important}
}

/* --- mobile header tuning v3 --- */
@media (max-width:767px){
  .header1 .logo{flex:0 0 110px !important;width:110px !important;max-width:110px !important;overflow:hidden !important}
}
@media (max-width:359px){
  .header1 .logo{flex:0 0 96px !important;width:96px !important;max-width:96px !important;font-size:11px !important;padding-left:34px !important;background-size:auto 24px !important}
}
