/* new.onehost.kz — правки поверх template_styles.css (сам файл шаблона не трогаем).
   Подключается последним из Base.astro. */

/* Подвал-раскрывашка на мобильных.
   В шаблоне на ≤959px футер позиционирован через top: calc(100% - 44px): при скрытии/показе адресной строки
   Android Chrome высота 100% меняется с задержкой, и панель «отрывается» от низа экрана.
   Привязываем к bottom: 0 (низ визуального вьюпорта отслеживается корректно), а в раскрытом состоянии
   тянем на всю высоту через dvh. Переходы по top на мобильных отключаем. */
@media (max-width: 959px) {
  .ftr {
    top: auto !important;
    bottom: 0 !important;
    height: auto !important;
    transition: none !important;
  }
  .ftr:not(.open) .ftr__btm {
    display: none;
  }
  .ftr.open {
    top: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    display: flex;
    flex-direction: column;
  }
  .ftr.open .ftr__mid {
    flex: 1 1 auto;
    height: auto !important;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .ftr.open .ftr__btm {
    flex: 0 0 auto;
  }
}

/* ===== Подвал: только отступы и межстрочный интервал (оформление шаблона не меняем) ===== */
@media (max-width: 959px) {
  .ftr__mid .grid > div + div {
    margin-top: 32px !important;
  }
  .ftr .title {
    margin-bottom: 12px;
  }
  .ftr .list li {
    line-height: 1.6;
  }
  .ftr .list li + li {
    margin-top: 8px;
  }
  .ftr .contacts,
  .ftr .studio__txt {
    line-height: 1.6;
  }
}

/* Главная, блок «Дополнительная информация / Бонусы»: шапка карточки в шаблоне вынесена отрицательными
   полями (-30px) и на мобильных выступает на 2px за тело карточки. Клипуем по границе карточки. */
.front .bdr .sct-mid-c .grid .cnt-col {
  overflow: hidden;
}

/* ===== Слайдер главной: нативная прокрутка со scroll-snap вместо owl-carousel =====
   Свайп обрабатывает браузер (надёжно на iOS/Android), стрелки — src/scripts/site.ts, вид стрелок — template_styles.css (.owl-prev/.owl-next). */
.slider-main.snap-slider {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.slider-main.snap-slider::-webkit-scrollbar { display: none; }
.slider-main.snap-slider > .slide {
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.sct-top .sct-top__cnt { position: relative; }
/* как в owl: на мобильных стрелок нет (nav:false до 768px) */
@media (max-width: 767px) { .bdr .sct-top__cnt .owl-prev, .bdr .sct-top__cnt .owl-next { display: none; } }

/* ===== Слайдер главной, мобильные =====
   Картинка на 10% меньше и меньше воздуха под ней — слайд целиком помещается на экран.
   Точки (на мобильном заменяют стрелки) стоят ниже кнопки «Подробнее», в отступе секции. */
.snap-dots {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -26px;
  justify-content: center;
  gap: 9px;
  z-index: 5;
}
.snap-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(51, 51, 51, .25);
  cursor: pointer;
  transition: background .2s;
}
.snap-dots button[aria-current="true"] { background: #EC3137; }
@media (max-width: 767px) {
  .slider-main .slide__img {
    zoom: .9;
    margin-bottom: 8px;
  }
  .sct-top .snap-dots { display: flex; }
}

/* Карточка формы «Остались вопросы — пишите» (2026-09-16).
   Заголовок — это верхняя половина карточки: у него радиусы 12/12/0/0 и тот же
   серый фон, у формы — 0/0/12/12. Но на страницах помощи и SSL заголовку
   доставался margin-bottom от .site .bdr.help h4 / .site .bdr.ssl h4, и между
   половинками проступала тёмная полоса фона — карточка выглядела разорванной.
   Прижимаем заголовок к форме именно там, где он её шапка. */
.site .bdr .sct-btm h4:has(+ .form-feedback) {
  margin-bottom: 0;
}

/* Обратный случай: на /contacts/ и /dedicated/ заголовок над формой — белый h5
   на тёмном фоне, он не шапка карточки. Там правило «срезать верхние углы»
   оставляло карточку с квадратным верхом и круглым низом, будто её обрезали.
   Возвращаем форме полное скругление и симметричные отступы. */
.site .bdr .sct-btm h5 + .form-feedback {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  padding-top: 30px;
}

@media (max-width: 767px) {
  /* На мобильной форма идёт во всю ширину экрана — скругления там не нужны. */
  .site .bdr .sct-btm h5 + .form-feedback {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}

/* Карточка формы при наведении ничего не подсвечивает (2026-09-17, по просьбе).
   В шаблоне у формы своё свечение (.bdr .form-feedback:hover, 0 0 50px); после
   склейки с заголовком оно обводило только нижнюю половину, поэтому раньше было
   перенесено на контейнер через filter: drop-shadow. Теперь убираем и то, и другое:
   карточка остаётся плоской в любом состоянии. */
.site .bdr .form-feedback:hover,
.site .bdr .sct-btm h4:has(+ .form-feedback) + .form-feedback:hover {
  box-shadow: none;
}

/* Конфигуратор VPS (2026-09-16): карточки одной высоты.
   В сетке стояло align-items: start, поэтому правая колонка с ценой и контактами
   свисала ниже левой с ползунками — блок выглядел кривым. Растягиваем обе на всю
   высоту строки; содержимое внутри как было, прижато к верху. */
.new_config_form.wrapper {
  align-items: stretch;
}

/* Логотипы партнёров (2026-09-17): вектор вместо растра 244×80.
   Растровые бейджи мылились на экранах с высокой плотностью, оригиналов крупнее
   не осталось — взяты официальные SVG с сайтов RIPE NCC, Astana Hub и cPanel.
   Белая плашка со скруглением раньше была частью картинки, теперь рисуем её сами.
   У cPanel в открытом доступе только логотип, поэтому статус подписан текстом. */
.logos_wrapper a.logo-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: #fff;
  border-radius: 8px;
  padding: 14px 24px;
  height: 80px;
  overflow: hidden;
}
.logos_wrapper a.logo-card img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 34px;
  margin: 0;
  display: block;
}
.logos_wrapper a.logo-card--cpanel img { max-height: 26px; }
.logos_wrapper a.logo-card--cpanel span {
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ff6c2c;
  white-space: nowrap;
}

/* «Остались вопросы»: поле текста не подсвечивается красным при наведении —
   в шаблоне (.bdr .form-feedback .field__txtar:hover) рамка краснеет, хотя у соседних полей этого нет */
.site .bdr .form-feedback .field__txtar:hover { border-color: #fff; }
