/* Новая главная (макет «Главная Гигабум» v4.3, 12.10.2026) — только с ?prog-test, подключается в podbor/home-v2.blade.php.
   Стили блоков главной поверх app.min.css (дизайн-система хаба: Manrope, Unbounded для цифр, Inter в карточке тарифа,
   #3a4654 текст, #697283 подписи, синий #4d7cfe, оранжевый #f9724a). Компоненты хаба — без изменений разметки.
   Перенесено из css/main-page.css макета; шапка — в header-v43.css, служебные стили макета убраны. */
:root{
  --gb-blue:#4d7cfe; --gb-blue-hover:#3a66e8; --gb-blue-bg:#eef3ff;
  --gb-orange:#f9724a; --gb-orange-hover:#fb5b2d;
  --gb-ink:#3a4654; --gb-muted:#697283; --gb-muted-2:#5b6474;
  --gb-cloud:#f0f3f6; --gb-line:#e4e8ef;
  --gb-green:#22a55b; --gb-green-ink:#17803f; --gb-green-bg:#e9f9f0;
  --gb-shadow:0 14px 38px rgba(20,32,43,.1); --gb-shadow-sm:0 4px 14px rgba(20,32,43,.06);
  --gb-font:'Manrope', Arial, sans-serif; --gb-num:'Unbounded','Manrope',sans-serif;
  --gb-tray-h:0px;
}

/* ---------- база ---------- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html.gb-lock{overflow:hidden}
html.gb-lock body{overflow:visible}  /* у body на сайте overflow-x:hidden — при блокировке он делал body прокручиваемым и сбрасывал закрепленную шапку */
                                        /* М13: фон не прокручивается под окнами (body не трогаем — шапка остается закрепленной) */
body.gb-main-page{margin:0;font-family:var(--gb-font);color:var(--gb-ink);background:#ebf0f3;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (max-width:1023.98px){body.address-theme--v2.gb-main-page{padding-bottom:0}}
body.address-theme--v2.gb-main-page.gb-cmp-on{padding-bottom:var(--gb-tray-h)}
body.gb-main-page .gb-main img{max-width:100%}
.gb-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.gb-nw{white-space:nowrap}                                           /* М9: «Мбит/с», «₽/мес» не отрываются от числа */
.gb-muted{color:var(--gb-muted)}
.gb-main :focus-visible,.gb-cmp-tray :focus-visible,.gb-cmp-modal :focus-visible,.gb-bar :focus-visible{outline:3px solid rgba(77,124,254,.6);outline-offset:2px}
/* обводка фокуса — только при работе с клавиатуры: после клика мышью Chrome иногда оставляет :focus-visible (кнопка «Что входит и детали») */
html.gb-pointer .gb-main :focus-visible,html.gb-pointer .gb-cmp-tray :focus-visible,html.gb-pointer .gb-cmp-modal :focus-visible,html.gb-pointer .gb-bar :focus-visible{outline:none}


/* М1: поля 16px на телефоне — у контейнера страницы, шапки и подвала */
@media (max-width:767.98px){
  body.address-theme--v2 .gb-main .container{padding-left:16px;padding-right:16px}
  body.address-theme--v2.gb-main-page .site-header{padding-left:16px;padding-right:16px}
  body.address-theme--v2.gb-main-page .address-footer .container{padding-left:16px;padding-right:16px}
}
/* якоря не прячутся под закрепленной шапкой */
.gb-main [id]{scroll-margin-top:16px}
@media (max-width:1023.98px){.gb-main [id]{scroll-margin-top:84px}}
@media (max-width:767.98px){.gb-main [id]{scroll-margin-top:72px}}

/* ---------- шапка: на телефоне закреплена и сжимается в одну строку (М6), зоны нажатия 44px (М8) ---------- */
body.gb-main-page .site-header .search-button{white-space:nowrap}
@media (max-width:767.98px){
  body.address-theme--v2.gb-main-page .site-header{transition:height .2s ease,margin-bottom .2s ease}
  body.address-theme--v2.gb-main-page .site-header .header-container .header-actions-mobile{gap:4px}
  body.address-theme--v2.gb-main-page .site-header .header-container .header-actions-mobile__top{gap:8px}
  body.address-theme--v2.gb-main-page .site-header .header-container .header-actions-mobile__top .phone-button{width:44px;height:44px}
  body.address-theme--v2.gb-main-page .site-header .header-container .header-actions-mobile__top .menu-button{height:44px;padding:0 14px}
  body.address-theme--v2.gb-main-page .site-header .header-container .header-actions-mobile .search-box{margin-left:auto}
  body.address-theme--v2.gb-main-page .site-header .header-container .header-actions-mobile .search-box .search-button,
  body.address-theme--v2.gb-main-page .site-header .header-container .header-left-main .header-location__city{position:relative}
  body.address-theme--v2.gb-main-page .site-header .header-container .header-actions-mobile .search-box .search-button::after,
  body.address-theme--v2.gb-main-page .site-header .header-container .header-left-main .header-location__city::after{content:'';position:absolute;inset:-8px -4px}
  body.address-theme--v2.gb-main-page .site-header.is-compact{height:60px;margin-bottom:32px}
  body.address-theme--v2.gb-main-page .site-header.is-compact .header-container .header-left-main{height:44px;justify-content:center}
  body.address-theme--v2.gb-main-page .site-header.is-compact .header-container .header-left-main .header-location__city{display:none}
  body.address-theme--v2.gb-main-page .site-header.is-compact .header-container .header-actions-mobile{height:44px}
  body.address-theme--v2.gb-main-page .site-header.is-compact .header-container .header-actions-mobile .search-box{display:none}
}
@media (max-width:767.98px) and (prefers-reduced-motion:reduce){body.address-theme--v2.gb-main-page .site-header{transition:none}}

/* ---------- общие элементы ---------- */
.gb-section{padding:48px 0}
.gb-section--white{background:#fff}
.gb-section--cloud{background:var(--gb-cloud)}
body.address-theme--v2 .gb-main .city-section-title{text-wrap:balance}
body.address-theme--v2 .gb-main .city-section-lead{max-width:760px;line-height:1.45;text-wrap:pretty}
.gb-section .city-section-lead a,.gb-link{color:var(--gb-blue);font-weight:700;text-decoration:none}
.gb-section .city-section-lead a:hover,.gb-link:hover{text-decoration:underline}
.gb-link{display:inline-flex;align-items:center;min-height:32px;font-size:14px}
.gb-more{display:flex;justify-content:center;margin-top:16px}
.gb-more a,.gb-more button{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--gb-blue);background:none;border:0;font:inherit;font-size:14px;font-weight:800;cursor:pointer;text-decoration:none}
.gb-more a:hover,.gb-more button:hover{text-decoration:underline}
.gb-more--mobile{display:none}
.gb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;border:0;cursor:pointer;font-family:var(--gb-font);font-weight:800;line-height:1.15;white-space:nowrap;text-decoration:none;transition:background-color .15s ease-out,box-shadow .15s ease-out,color .15s ease-out}
.gb-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.gb-btn--orange{padding:12px 20px;color:#fff;background:var(--gb-orange);border-radius:12px;box-shadow:0 12px 13px rgba(251,91,45,.3);font-size:14px}
.gb-btn--orange:not(:disabled):hover{background:var(--gb-orange-hover)}
.gb-btn--blue{padding:12px 22px;color:#fff;background:var(--gb-blue);border-radius:12px;box-shadow:0 14px 19px rgba(20,32,43,.1);font-size:14px}
.gb-btn--blue:not(:disabled):hover{background:var(--gb-blue-hover)}
.gb-btn--sm{padding:10px 16px;font-size:13px}
.gb-btn--wide{width:100%;min-height:52px;font-size:15px}
.gb-num{font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}   /* Manrope: сброс шрифта .street-address-page перебивает класс; Unbounded — только у цифр первого экрана (компонент хаба) */
.gb-note{margin:16px 0 0;font-size:13px;font-weight:600;line-height:1.45;color:var(--gb-ink)}
.gb-note .city-link-button{font-weight:800}
.gb-note a{color:var(--gb-blue);font-weight:700;text-decoration:none}
.gb-note a:hover{text-decoration:underline}
.gb-note--muted{max-width:860px;margin-left:auto;margin-right:auto;color:var(--gb-muted-2);font-weight:500;text-align:center}
.gb-subhead{margin:32px 0 0;color:var(--gb-ink);font-size:20px;font-weight:800;line-height:1.2;text-align:center;text-wrap:balance}
.gb-subhead--left{text-align:left}
.gb-form-msg{margin:8px 0 0;color:var(--gb-muted-2);font-size:13px;font-weight:600}
@media (max-width:767.98px){
  .gb-section{padding:40px 0}
  body.address-theme--v2 .gb-main .city-section-lead{font-size:14px;color:var(--gb-muted-2)}   /* М19 */
  .gb-more--mobile{display:flex}
  .gb-subhead{margin-top:28px;font-size:18px}
  .gb-note{font-size:13px}
}

/* поля калькуляторов и сервисов — как поля форм хаба */
.gb-calc__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.gb-calc__field>span{color:var(--gb-muted-2);font-size:13px;font-weight:700;line-height:1.3}
.gb-calc__field .field{width:100%;height:48px;margin:0;padding:0 14px;color:#121212;background:var(--gb-cloud);border:0;border-radius:14px;outline:none;box-shadow:none;font-family:var(--gb-font);font-size:15px;font-weight:600;line-height:normal;transition:box-shadow .2s ease;-webkit-appearance:none;appearance:none}
.gb-calc__field .field::placeholder{color:#7b8494;font-weight:500;opacity:1}
.gb-calc__field select.field{padding-right:44px;background:var(--gb-cloud) url(/img/icon/arrow-down.svg) right 14px center/16px 16px no-repeat;cursor:pointer}
.gb-calc__field .field:hover{box-shadow:inset 0 0 0 3px rgba(77,124,254,.3)}
.gb-calc__field .field:focus{box-shadow:inset 0 0 0 3px rgba(77,124,254,.8)}
@media (max-width:767.98px){.gb-calc__field .field{font-size:16px}}         /* без автоувеличения на iPhone */

/* ---------- 1. Первый экран — канва хаба (согласовано 11.10): поиск, под ним карточка с цифрами и логотипами ---------- */
body.address-theme--v2 .gb-main .city-hero__head{width:min(780px,100%)}
body.address-theme--v2 .gb-main .city-hero__title{text-wrap:balance}
body.address-theme--v2 .gb-main .city-hero__lead{max-width:640px}
body.address-theme--v2 .gb-main .city-hero__stat strong{font-size:26px}
body.address-theme--v2 .gb-main .city-hero__providers.is-static{-webkit-mask-image:none;mask-image:none}
body.address-theme--v2 .gb-main .city-hero__providers.is-static .city-hero__providers-track{animation:none;width:auto;justify-content:center}
@media (max-width:767.98px){
  body.address-theme--v2 .gb-main .city-hero__input{font-size:16px;font-weight:500}           /* без автоувеличения на iPhone */
  body.address-theme--v2 .gb-main .city-hero__tab{min-height:44px}
  body.address-theme--v2 .gb-main .city-hero__examples-list a{position:relative}
  body.address-theme--v2 .gb-main .city-hero__examples-list a::after{content:'';position:absolute;inset:-4px -6px}
  /* три цифры на узком экране: «до 2 000» шире прежней «220 000+» — единицы в подписи, шрифт от ширины экрана */
  body.address-theme--v2 .gb-main .city-hero__stat{padding:12px 8px 8px}
  body.address-theme--v2 .gb-main .city-hero__stat strong{font-size:clamp(14px,4.1vw,19px)}
  body.address-theme--v2 .gb-main .city-hero__stat>span{font-size:12px;line-height:1.3}
  body.address-theme--v2 .gb-main .city-hero__provider{font-size:12px}                        /* М19: было 10,5px */
}
@media (max-width:359.98px){
  body.address-theme--v2 .gb-main .city-hero__stat strong{font-size:14px}
  body.address-theme--v2 .gb-main .city-hero__stat{padding:10px 6px}
  body.address-theme--v2 .gb-main .city-hero__stat>span{font-size:12px;line-height:1.25}
}

/* ---------- 2. Сколько стоит подключить: состав тарифа, разовые расходы, таблица цен хаба ---------- */
.gb-cost{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;margin-top:24px;align-items:start}
.gb-cost__card{min-width:0;padding:20px 24px;background:#fff;border:1px solid var(--gb-line);border-radius:20px;box-shadow:var(--gb-shadow)}
.gb-cost__card--once{background:var(--gb-cloud);border-color:var(--gb-cloud);box-shadow:none}
.gb-cost__title{margin:0 0 8px;color:var(--gb-ink);font-size:16px;font-weight:800;line-height:1.3}
.gb-cost__list{margin:0;padding:0;list-style:none}
.gb-cost__row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name price" "name promo";align-items:center;gap:4px 16px;padding:14px 0;border-top:1px solid var(--gb-line)}
.gb-cost__row:first-child{border-top:0}
.gb-cost__name{grid-area:name;min-width:0;color:var(--gb-ink);font-size:15px;font-weight:800;line-height:1.3}
.gb-cost__name small{display:block;margin-top:2px;color:var(--gb-muted-2);font-size:13px;font-weight:500}
.gb-cost__price{grid-area:price;justify-self:end;display:flex;align-items:baseline;gap:4px;white-space:nowrap}
.gb-cost__price .gb-num{color:#121212;font-size:24px;line-height:1.1}
.gb-cost__price small{color:var(--gb-muted);font-size:13px;font-weight:700}
body.address-theme--v2 .gb-main .gb-cost__promo{grid-area:promo;justify-self:end;padding:3px 10px}
.gb-cost__facts{display:flex;flex-direction:column;margin:0}
.gb-cost__fact{padding:12px 0;border-top:1px solid rgba(105,114,131,.18)}
.gb-cost__fact:first-child{padding-top:6px;border-top:0}
.gb-cost__fact:last-child{padding-bottom:0}
.gb-cost__fact dt{color:var(--gb-ink);font-size:15px;font-weight:800;line-height:1.3}
.gb-cost__fact dd{margin:4px 0 0;color:var(--gb-muted-2);font-size:14px;font-weight:500;line-height:1.45}
/* таблица цен по скоростям — компонент хаба .city-prices__table (стили — gigaboom.css). На главной три столбца (без «Провайдеры»,
   решение 12.10): ширины столбцов заданы заново, у последнего столбца — правый отступ. 768–1199 px — таблица без прокрутки
   (у хаба таблица шириной 1100 px уходит в скрытую прокрутку) */
.gb-cost__hint{max-width:760px;margin:8px 0 0;color:var(--gb-muted-2);font-size:14px;font-weight:500;line-height:1.45}
.gb-cost__hint b{color:var(--gb-ink);font-weight:800}
body.address-theme--v2 .gb-main #cost .city-prices__scroll{margin-top:14px}
@media (min-width:768px){
  body.address-theme--v2 .gb-main .city-prices__table th:nth-child(1){width:30%}
  body.address-theme--v2 .gb-main .city-prices__table th:nth-child(2){width:30%}
  body.address-theme--v2 .gb-main .city-prices__table th:nth-child(3){border-right:0}
  body.address-theme--v2 .gb-main .city-prices__table td.city-prices__audience{padding-right:32px}
}
@media (min-width:768px) and (max-width:1199.98px){
  body.address-theme--v2 .gb-main .city-prices__table{min-width:0}
  body.address-theme--v2 .gb-main .city-prices__table th{padding:10px 12px 10px 20px;white-space:normal}
  body.address-theme--v2 .gb-main .city-prices__table th:nth-child(1){width:28%}
  body.address-theme--v2 .gb-main .city-prices__table th:nth-child(2){width:34%}
  body.address-theme--v2 .gb-main .city-prices__table td{padding-left:20px}
  body.address-theme--v2 .gb-main .city-prices__table td.city-prices__speed{padding:16px 12px 16px 20px}
  body.address-theme--v2 .gb-main .city-prices__table td.city-prices__price{padding:12px 12px 12px 20px}
  body.address-theme--v2 .gb-main .city-prices__table td.city-prices__audience{padding:12px 20px 12px 20px}
}
@media (max-width:1023.98px){.gb-cost{grid-template-columns:1fr}}
/* метка «Часто выбирают» и подпись «первый месяц» — не меньше 12 px (М19; у хаба 11 px) */
body.address-theme--v2 .gb-main .city-prices__popular{font-size:12px;line-height:14px}
.gb-speed{white-space:nowrap}
@media (max-width:767.98px){
  /* у последней строки (карточки) скорость была 12 px вместо 14 px — правило хаба для tr:last-child перебивает размер */
  body.address-theme--v2 .gb-main .city-prices__table tbody tr td.city-prices__speed:nth-child(n){font-size:14px}
  body.address-theme--v2 .gb-main .city-prices__price .city-promo-pill span{font-size:12px}
  /* на узкой карточке скорость переносится по пробелу: «100–300 / Мбит/с» («Мбит/с» не рвется) */
  .gb-speed{white-space:normal}
}
@media (max-width:374.98px){
  /* 320–374 px: цена с плашкой «первый месяц» занимает половину карточки — скорость и метка над ценой во всю ширину */
  body.address-theme--v2 .gb-main .city-prices__table tbody tr{grid-template-columns:minmax(0,1fr)}
  body.address-theme--v2 .gb-main .city-prices__table tr td.city-prices__price:nth-child(n){text-align:left}
}
@media (max-width:767.98px){
  .gb-cost__card{padding:14px 16px;border-radius:16px}
  .gb-cost__price .gb-num{font-size:20px}
}

/* ---------- 3, 5. Карточка «форма + результат» (калькуляторы) ---------- */
.gb-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;margin-top:24px;align-items:stretch}
.gb-split__form{display:flex;flex-direction:column;gap:18px;min-width:0;margin:0;padding:24px;background:#fff;border:1px solid var(--gb-line);border-radius:20px;box-shadow:var(--gb-shadow)}
.gb-split__result{display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0;padding:24px 28px;background:#fff;border:2px solid rgba(77,124,254,.22);border-radius:20px}
.gb-section--white .gb-split__result{background:var(--gb-blue-bg);border-color:var(--gb-blue-bg)}
.gb-split__result:empty{display:none}
.gb-split__result.is-good{border-color:rgba(34,165,91,.35)}
.gb-section--white .gb-split__result.is-good{background:var(--gb-green-bg);border-color:var(--gb-green-bg)}
.gb-calc__row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;margin:0;padding:0;border:0}
.gb-calc__row--chips{display:block}
.gb-calc__label{color:var(--gb-ink);font-size:15px;font-weight:700;line-height:1.3}
legend.gb-calc__label{display:block;margin:0 0 10px;padding:0}
.gb-stepper{display:inline-flex;align-items:center;flex:0 0 auto;padding:3px;background:var(--gb-cloud);border-radius:999px}
.gb-stepper button{width:42px;height:42px;padding:0;color:var(--gb-blue);background:#fff;border:0;border-radius:50%;box-shadow:var(--gb-shadow-sm);font-family:var(--gb-font);font-size:22px;font-weight:800;line-height:1;cursor:pointer;transition:background-color .15s,color .15s}
.gb-stepper button:not(:disabled):hover{color:#fff;background:var(--gb-blue)}
.gb-stepper button:disabled{opacity:.35;cursor:default}
.gb-stepper output{min-width:44px;color:var(--gb-ink);font-size:17px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}
.gb-chips{display:flex;flex-wrap:wrap;gap:8px}
.gb-chip{position:relative;display:inline-flex;cursor:pointer}
.gb-chip input{position:absolute;width:1px;height:1px;opacity:0}
.gb-chip span{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 14px;color:var(--gb-ink);background:var(--gb-cloud);border:1px solid var(--gb-cloud);border-radius:999px;font-size:14px;font-weight:600;line-height:1.25;user-select:none;transition:background-color .15s,color .15s,border-color .15s}
.gb-chip span::before{content:'';width:16px;height:16px;flex:0 0 16px;box-sizing:border-box;border:2px solid rgba(105,114,131,.45);border-radius:50%}
.gb-chip input:checked+span{color:#fff;background:var(--gb-blue);border-color:var(--gb-blue)}
.gb-chip input:checked+span::before{background:#fff url(/img/icon/check-blue.svg) center/10px no-repeat;border-color:#fff}
.gb-chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(77,124,254,.4)}
.gb-result__kicker{color:var(--gb-muted-2);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.gb-result__big{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;color:var(--gb-ink);font-size:34px;line-height:1.1}
.gb-result__big small{color:var(--gb-muted);font-family:var(--gb-font);font-size:16px;font-weight:800;letter-spacing:0}
.gb-split__result.is-good .gb-result__big{color:var(--gb-green-ink)}
.gb-result__bar{display:flex;gap:4px;margin:2px 0}
.gb-result__bar i{flex:1 1 0;height:8px;background:rgba(77,124,254,.16);border-radius:4px}
.gb-result__bar i.is-on{background:var(--gb-blue)}
.gb-split__result p{margin:0;color:var(--gb-muted-2);font-size:14px;font-weight:500;line-height:1.5}
.gb-split__result p b{color:var(--gb-ink);font-weight:800}
.gb-result__hint{padding:10px 12px;color:#17653a!important;background:var(--gb-green-bg);border-radius:12px;font-weight:600!important}
.gb-result__info{padding:10px 12px;color:var(--gb-ink)!important;background:var(--gb-cloud);border-radius:12px;font-weight:600!important}
.gb-section--white .gb-result__info{background:#fff}
.gb-result__note{font-size:13px!important}
.gb-result__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:6px}
@media (max-width:1023.98px){.gb-split{grid-template-columns:1fr}}
@media (max-width:359.98px){
  .gb-calc__row:not(.gb-calc__row--chips){flex-wrap:wrap;gap:8px}
  .gb-calc__row:not(.gb-calc__row--chips) .gb-calc__label{flex:1 1 100%}
}
@media (max-width:767.98px){
  .gb-split{margin-top:16px;gap:12px}
  .gb-split__form{gap:16px;padding:16px;border-radius:16px}
  .gb-split__result{padding:16px 18px;border-radius:16px}
  .gb-result__big{font-size:26px}
  .gb-calc__row:not(.gb-calc__row--chips){gap:12px}
  .gb-calc__label{font-size:14px}
  .gb-stepper button{width:44px;height:44px}
  .gb-chip span{min-height:44px;font-size:13px}
  .gb-result__actions .gb-btn{flex:1 1 auto}
  .gb-link{min-height:44px}
}

/* ---------- 4. Тарифы — карточка адресной страницы .tariff-card плиткой (согласовано 11.10) ----------
   Компонент и его стили — из gigaboom.css, разметка та же. Здесь только обертка главной .gb-home-tariffs:
   раскладка плитки, порядок цены, без синих плашек, флажок «Сравнить», полоса «Что входит и детали», лента до 1200 px.
   Обертка .street-tariffs возвращает карточке шрифт Inter, как на адресной странице. */
.gb-home-tariffs{margin-top:28px}
body.address-theme--v2 .gb-main .street-tariffs.gb-home-tariffs{padding:0;background:none}   /* у .street-tariffs на уличной странице — отступы секции */
.gb-home-tariffs__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;padding-top:14px}
.gb-home-tariffs__grid[data-count="1"]{grid-template-columns:minmax(0,384px);justify-content:center}
.gb-home-tariffs__grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,384px));justify-content:center}

/* плитка: раскладка карточки адресной страницы на телефоне — на всех ширинах */
body.address-theme--v2 .gb-home-tariffs .tariff-card{display:flex;flex-direction:column;min-width:0;margin:0;padding:0;background:#fff;border-radius:16px;box-shadow:0 14px 38px rgba(20,32,43,.1);container-type:inline-size;transition:box-shadow .15s ease-out}
body.address-theme--v2 .gb-home-tariffs .tariff-card.is-compared{box-shadow:0 0 0 2px var(--gb-blue),0 14px 38px rgba(20,32,43,.1)}
body.address-theme--v2 .gb-home-tariffs .tariff-card__main{display:flex;flex-direction:column;flex:1 1 auto;padding:26px 20px 16px;border:0;border-radius:16px 16px 0 0;box-shadow:none}
/* стикеры поверх верхнего края: «Акция» слева, зеленый — справа (по центру на узкой плитке наезжает на «Акцию») */
body.address-theme--v2 .gb-home-tariffs .tariff-card__badges .connected-today-badge{left:auto;right:20px;transform:none}
/* синие плашки «Оптимальный» / «Хит подключений» на главной не выводятся (лучше не отдавать в разметку) */
body.address-theme--v2 .gb-home-tariffs .tariff-card__benefits{display:none}
body.address-theme--v2 .gb-home-tariffs .tariff-card__header{gap:10px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__name{min-height:2.5em;font-size:17px;font-weight:700;line-height:1.25}
body.address-theme--v2 .gb-home-tariffs .tariff-card__provider{flex-wrap:wrap;gap:4px 16px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__provider-icon{width:36px;height:36px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__provider-name{font-size:15px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__rating-value,
body.address-theme--v2 .gb-home-tariffs .tariff-card__rating-reviews{font-size:13px}
/* флажок «Сравнить» — сравнение 2–3 тарифов */
body.address-theme--v2 .gb-home-tariffs .tariff-card__compare{align-self:flex-start;min-height:40px;margin:-4px 0 -8px;color:#3a4654;font-size:13px;font-weight:700}
body.address-theme--v2 .gb-home-tariffs .tariff-card__compare span::before{width:18px;height:18px;flex-basis:18px}
/* середина: скорость слева, цена справа, услуги под ними во всю ширину */
body.address-theme--v2 .gb-home-tariffs .tariff-card__middle{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"speed price" "types types";align-items:start;gap:14px 12px;margin-top:12px;padding-top:16px;border-top:1px solid #eef1f5}
body.address-theme--v2 .gb-home-tariffs .tariff-card__info{display:contents}
body.address-theme--v2 .gb-home-tariffs .tariff-card__speed{grid-area:speed;font-size:13px;white-space:nowrap}
body.address-theme--v2 .gb-home-tariffs .tariff-card__speed-value{font-size:26px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__types{grid-area:types;flex-direction:row;flex-wrap:wrap;gap:6px;width:auto;margin-top:0}
body.address-theme--v2 .gb-home-tariffs .tariff-card__price{grid-area:price;align-items:flex-end;gap:0}
body.address-theme--v2 .gb-home-tariffs .tariff-card__price .tariff-card__button{display:none}
/* цена: крупно — регулярная абонентская плата, под ней зеленая плашка «первый месяц — X ₽», ниже серым «· подключение» */
body.address-theme--v2 .gb-home-tariffs .tariff-card__price-values{align-items:flex-end;gap:6px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__price-current{font-size:26px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__price-currency{font-size:13px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__price-description{font-size:12px}
/* «Подключить» — во всю ширину, прижата к низу плитки: кнопки в ряду стоят на одной линии */
body.address-theme--v2 .gb-home-tariffs .tariff-card__buttons{display:flex;margin-top:auto;padding-top:18px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__buttons .tariff-card__button{display:flex;flex:1 1 auto;align-items:center;justify-content:center;min-height:48px}
/* «Что входит и детали» — нижняя полоса, как у карточки на десктопе, на всех ширинах */
body.address-theme--v2 .gb-home-tariffs .tariff-card .tariff-card__details-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;margin:0;padding:6px 16px;color:#697283;background:#fff;border:0;border-top:1px solid #eef1f5;border-radius:0 0 16px 16px;font-size:13px;font-weight:800;line-height:1.2;cursor:pointer}
body.address-theme--v2 .gb-home-tariffs .tariff-card .tariff-card__details-button:hover{color:#3a4654;background:#f0f3f6}
body.address-theme--v2 .gb-home-tariffs .tariff-card .tariff-card__details-button_active{color:#4d7cfe;background:#f0f3f6}
body.address-theme--v2 .gb-home-tariffs .tariff-card .tariff-card__details-button .tariff-card__details-button-icon path{stroke:currentColor}
body.address-theme--v2 .gb-home-tariffs .tariff-card__more[data-visible=true]{padding:0 20px 14px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__details{grid-template-columns:1fr 1fr;row-gap:14px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__detail-title{font-size:15px;font-weight:700}
body.address-theme--v2 .gb-home-tariffs .tariff-card__detail-list li{font-size:13px;line-height:1.3}
body.address-theme--v2 .gb-home-tariffs .tariff-card__tariff-button{font-size:14px;padding:10px 24px}
/* раскрыли одну плитку — соседние сохраняют высоту: JS фиксирует min-height плиток и ставит has-open */
.gb-home-tariffs__grid.has-open{align-items:start}
/* узкая плитка (лента на телефоне 320–360 px): цена под скоростью */
@container (max-width:300px){
  body.address-theme--v2 .gb-home-tariffs .tariff-card__middle{grid-template-columns:minmax(0,1fr);grid-template-areas:"speed" "price" "types"}
  body.address-theme--v2 .gb-home-tariffs .tariff-card__price,
  body.address-theme--v2 .gb-home-tariffs .tariff-card__price-values{align-items:flex-start}
  body.address-theme--v2 .gb-home-tariffs .tariff-card__speed-value,
  body.address-theme--v2 .gb-home-tariffs .tariff-card__price-current{font-size:22px}
  body.address-theme--v2 .gb-home-tariffs .tariff-card__details{grid-template-columns:1fr}
}

/* флажок «Сравнить» — общий для плиток */
.gb-cmp-toggle{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--gb-ink);font-size:14px;font-weight:700;cursor:pointer;user-select:none}
.gb-cmp-toggle input{position:absolute;width:1px;height:1px;opacity:0}
.gb-cmp-toggle span{display:inline-flex;align-items:center;gap:8px}
.gb-cmp-toggle span::before{content:'';width:20px;height:20px;flex:0 0 20px;box-sizing:border-box;background:#fff;border:2px solid rgba(105,114,131,.5);border-radius:6px;transition:background-color .15s,border-color .15s}
.gb-cmp-toggle input:checked+span::before{background:var(--gb-blue) url(/img/icon/check-white.svg) center/12px no-repeat;border-color:var(--gb-blue)}
.gb-cmp-toggle input:focus-visible+span::before{box-shadow:0 0 0 3px rgba(77,124,254,.4)}
.gb-cmp-toggle input:disabled+span{opacity:.45;cursor:not-allowed}

/* лента: полоса прокрутки (тарифы до 1200 px, статьи на телефоне) и стрелки для мыши */
.gb-hscroll-bar,.gb-hscroll-nav{display:none}
.gb-hscroll-bar span{position:absolute;top:0;bottom:0;left:0;width:30%;background:var(--gb-blue);border-radius:2px}
.gb-hscroll-nav__btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;margin:0;padding:0;background:#fff center/20px no-repeat;border:1px solid var(--gb-line);border-radius:50%;box-shadow:var(--gb-shadow-sm);cursor:pointer;transition:opacity .15s,background-color .15s}
.gb-hscroll-nav__btn--prev{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234d7cfe' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 18l-6-6 6-6'/%3E%3C/svg%3E")}
.gb-hscroll-nav__btn--next{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234d7cfe' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 18l6-6-6-6'/%3E%3C/svg%3E")}
.gb-hscroll-nav__btn:not(:disabled):hover{background-color:var(--gb-blue-bg)}
.gb-hscroll-nav__btn:disabled{opacity:.35;cursor:default;box-shadow:none}

/* до 1200 px — лента с прокруткой вбок */
@media (max-width:1199.98px){
  .gb-home-tariffs__grid,.gb-home-tariffs__grid[data-count]{display:flex;gap:16px;margin:0 -20px;padding:14px 20px 16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .gb-home-tariffs__grid::-webkit-scrollbar{display:none}
  body.address-theme--v2 .gb-home-tariffs .tariff-card{flex:0 0 min(340px,calc(100vw - 76px));scroll-snap-align:start}
  .gb-hscroll-nav.is-active{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:4px}
  .gb-home-tariffs .gb-hscroll-bar.is-active{position:relative;display:block;width:96px;height:4px;background:rgba(105,114,131,.2);border-radius:2px}
  body.address-theme--v2 .gb-home-tariffs .tariff-card__compare{min-height:44px;margin:-6px 0 -10px}
}
@media (min-width:768px) and (max-width:1199.98px) and (hover:hover) and (pointer:fine){.gb-hscroll-nav__btn{display:inline-flex}}   /* стрелки — для мыши; телефоны и планшеты листают пальцем */
@media (max-width:767.98px){
  .gb-home-tariffs{margin-top:16px}
  .gb-home-tariffs__grid,.gb-home-tariffs__grid[data-count]{margin:0 -16px;padding:14px 16px 16px;scroll-padding-left:16px}
  .gb-hscroll-bar.is-active{position:relative;display:block;width:96px;height:4px;margin:0 auto;background:rgba(105,114,131,.2);border-radius:2px}
}

/* ---------- 6. Шаги: секция растет под «Что подготовить» ---------- */
body.address-theme--v2 .gb-main .street-connection-steps{height:auto;min-height:0;padding:48px 0}
.gb-prep{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0 0;padding:0;list-style:none}
.gb-prep__item{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 18px;background:#fff;border-radius:14px;box-shadow:var(--gb-shadow)}
.gb-prep__item b{color:var(--gb-ink);font-size:15px;font-weight:800}
.gb-prep__item p{margin:0;color:var(--gb-muted-2);font-size:14px;font-weight:500;line-height:1.45}
@media (min-width:768px) and (max-width:1023.98px){
  body.address-theme--v2 .gb-main .street-connection-steps__item{grid-template-columns:56px minmax(0,1fr);column-gap:12px;padding:0 10px}
  body.address-theme--v2 .gb-main .street-connection-steps__item>img{width:56px;height:56px}
  body.address-theme--v2 .gb-main .street-connection-steps__item:not(:last-child):after,
  body.address-theme--v2 .gb-main .street-connection-steps__item:nth-child(2):after{left:126px;right:8px;top:20px}
}
@media (max-width:1023.98px){.gb-prep{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767.98px){
  body.address-theme--v2 .gb-main .street-connection-steps{padding:40px 0}
  body.address-theme--v2 .gb-main .street-connection-steps__item h3{font-size:14px}           /* М19: было 12px */
  body.address-theme--v2 .gb-main .street-connection-steps__item p{font-size:14px;line-height:1.35}
  .gb-prep{grid-template-columns:1fr;gap:8px}
  .gb-prep__item{padding:14px 16px}
}

/* ---------- 7. Кто подключает — операторы строкой ---------- */
.gb-ops{margin:24px 0 0;padding:0;list-style:none;background:#fff;border:1px solid var(--gb-line);border-radius:20px;box-shadow:var(--gb-shadow-sm);overflow:hidden}
.gb-ops__row{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(130px,.8fr) minmax(150px,.9fr) minmax(0,1.25fr) auto;gap:16px;align-items:center;padding:14px 24px;border-top:1px solid var(--gb-line)}
.gb-ops__row:first-child{border-top:0}
.gb-ops__brand{display:flex;align-items:center;gap:12px;min-width:0}
.gb-ops__brand>img{width:36px;height:36px;flex:0 0 36px;border-radius:4px;object-fit:contain}
.gb-ops__brand>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.gb-ops__name{color:var(--gb-ink);font-size:16px;font-weight:800;line-height:1.25;text-decoration:none}
.gb-ops__name:hover{color:var(--gb-blue)}
.gb-ops__rating{display:inline-flex;align-items:center;gap:4px;color:var(--gb-ink);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}
.gb-ops__rating img{width:14px;height:14px}
.gb-ops__rating span{color:var(--gb-muted-2);font-weight:600}
.gb-ops__fact{display:flex;flex-direction:column;gap:2px;min-width:0}
.gb-ops__fact b{color:var(--gb-ink);font-size:15px;font-weight:800}
.gb-ops__fact small{color:var(--gb-muted-2);font-size:12px;font-weight:600}
.gb-ops__services{display:flex;flex-wrap:wrap;gap:6px}
.gb-ops__services span{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;color:var(--gb-ink);background:#f2f4f9;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}
.gb-ops__services img{width:13px;height:13px}
.gb-ops__actions{display:flex;align-items:center;gap:16px}
.gb-ops__about{display:inline-flex;align-items:center;min-height:44px;color:var(--gb-blue);font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}
.gb-ops__about:hover{text-decoration:underline}
@media (max-width:1023.98px){
  .gb-ops__row{grid-template-columns:minmax(150px,1.2fr) minmax(120px,.8fr) minmax(130px,.9fr) auto;gap:12px;padding:14px 16px}
  .gb-ops__row{grid-template-areas:"brand speed price actions" "svc svc svc actions";row-gap:8px}
  .gb-ops__brand{grid-area:brand}
  .gb-ops__fact:nth-of-type(2){grid-area:speed}
  .gb-ops__fact:nth-of-type(3){grid-area:price}
  .gb-ops__actions{grid-area:actions}
  .gb-ops__fact b{font-size:14px}
  .gb-ops__services{grid-area:svc;padding-left:48px}   /* услуги одной строкой под названием и цифрами (на компьютере — своя колонка) */
  .gb-ops__actions{gap:12px}
}
@media (max-width:767.98px){
  .gb-ops{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px;background:none;border:0;box-shadow:none;overflow:visible}
  .gb-ops__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand brand" "speed price" "svc svc" "actions actions";gap:10px 12px;padding:14px;background:#fff;border:1px solid var(--gb-line);border-radius:16px;box-shadow:var(--gb-shadow-sm)}
  .gb-ops__row:first-child{border-top:1px solid var(--gb-line)}
  .gb-ops__brand{grid-area:brand}
  .gb-ops__fact:nth-of-type(2){grid-area:speed}
  .gb-ops__fact:nth-of-type(3){grid-area:price}
  .gb-ops__actions{grid-area:actions;justify-content:flex-start;gap:16px}
  .gb-ops__services{padding-left:0}
  .gb-ops__actions .gb-btn{flex:1 1 auto;max-width:220px}
  .gb-ops__brand>div{gap:4px}
  .gb-ops__name,.gb-ops__rating{display:inline-flex;align-items:center;min-height:24px}
  .gb-ops__row.gb-extra{display:none}
  #operators.is-expanded .gb-ops__row.gb-extra{display:grid}
}

/* ---------- 8. Квартира / частный дом / офис ---------- */
.gb-where{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.gb-where__card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding:20px 24px 24px;background:#fff;border-radius:16px;box-shadow:var(--gb-shadow)}
.gb-where__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(77,124,254,.1);border-radius:12px}
.gb-where__icon svg{width:24px;height:24px}
.gb-where__card h3{margin:4px 0 0;color:var(--gb-ink);font-size:18px;font-weight:800}
.gb-where__card p{flex:1 1 auto;margin:0;color:var(--gb-muted-2);font-size:14px;font-weight:500;line-height:1.5}
.gb-where__card>.gb-btn{margin-top:6px}
.gb-where__card p a{color:var(--gb-blue);font-weight:700;text-decoration:none;white-space:nowrap}
.gb-where__card p a:hover{text-decoration:underline}
.gb-where__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:6px}
@media (max-width:1023.98px){.gb-where{grid-template-columns:1fr}.gb-where__card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 14px}.gb-where__icon{grid-row:1/3}.gb-where__card h3{margin:0;align-self:center}.gb-where__card p,.gb-where__card>.gb-btn,.gb-where__actions{grid-column:2}.gb-where__card>.gb-btn{justify-self:start}}
@media (max-width:767.98px){.gb-where{gap:10px;margin-top:16px}.gb-where__card{padding:16px;grid-template-columns:40px minmax(0,1fr)}.gb-where__icon{width:40px;height:40px;grid-row:auto}.gb-where__card p,.gb-where__card>.gb-btn,.gb-where__actions{grid-column:1/-1}}

/* ---------- 9. Сравнение адресов — один сервис (согласовано 11.10) ----------
   Поля — как в калькуляторах, подсказки — компонент поиска хаба, «Адрес не найден» — как в первом экране хаба,
   отметки «ниже всех» — как в сравнении тарифов, чипы услуг — как в карточке тарифа адресной страницы.
   Результат: один адрес — сводка; два-три — таблица от 768 px и карточки до 768 px. */
/* форма */
.gb-addr{margin-top:24px}
.gb-addr__panel{padding:24px;background:#fff;border:1px solid var(--gb-line);border-radius:20px;box-shadow:var(--gb-shadow)}
.gb-addr__form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:start;gap:12px 16px;margin:0}
.gb-addr__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.gb-addr__label{display:flex;align-items:center;gap:8px;min-height:32px;margin:0;color:var(--gb-ink);font-size:14px;font-weight:800;line-height:1.3}
.gb-addr__opt{color:var(--gb-muted-2);font-weight:600}
.gb-addr__num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;color:#fff;background:var(--gb-blue);border-radius:50%;font-family:var(--gb-font);font-size:13px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.gb-addr__control{position:relative}
.gb-addr__control .field{display:block;width:100%;height:52px;margin:0;padding:0 46px 0 16px;color:#121212;background:var(--gb-cloud);border:0;border-radius:14px;outline:none;box-shadow:none;font-family:var(--gb-font);font-size:15px;font-weight:600;line-height:normal;text-overflow:ellipsis;transition:box-shadow .2s ease;-webkit-appearance:none;appearance:none}
.gb-addr__control .field::placeholder{color:#7b8494;font-weight:500;opacity:1}
.gb-addr__control .field::-webkit-calendar-picker-indicator{display:none!important}
.gb-addr__control .field:hover{box-shadow:inset 0 0 0 3px rgba(77,124,254,.3)}
.gb-addr__control .field:focus{box-shadow:inset 0 0 0 3px rgba(77,124,254,.8)}
.gb-addr__clear{position:absolute;top:4px;right:4px;width:44px;height:44px;margin:0;padding:0;background:transparent url(/img/design/close.svg) center/12px no-repeat;border:0;border-radius:12px;cursor:pointer;opacity:.75}
.gb-addr__clear:hover{background-color:rgba(20,32,43,.06);opacity:1}
.gb-addr__field.is-error .field{background:rgba(249,114,74,.08);box-shadow:inset 0 0 0 1px rgba(249,114,74,.6)}
.gb-addr__error{margin:0;color:#b4441f;font-size:12px;font-weight:700;line-height:1.3}
.gb-addr__submit{align-self:start;min-height:52px;margin-top:38px;padding:0 26px}

.gb-addr__control .city-hero__suggest{top:calc(100% + 6px)}   /* подсказки — компонент поиска хаба */
.gb-addr__examples{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;margin-top:12px}
.gb-addr__examples-label{color:var(--gb-muted);font-size:14px;font-weight:800;line-height:1.3}
.gb-addr__examples-list{display:flex;flex-wrap:wrap;align-items:center;gap:2px 18px;min-width:0}
.gb-addr__example{position:relative;margin:0;padding:5px 0;color:#121212;background:none;border:0;font-family:var(--gb-font);font-size:14px;font-weight:500;line-height:1.3;text-decoration:underline;text-decoration-skip-ink:none;text-underline-position:from-font;cursor:pointer}
.gb-addr__example:hover{color:var(--gb-blue)}
.gb-addr__mock{margin:0}

/* результат: общие части */
.gb-addr-result{margin-top:24px}
.gb-addr-result:empty{display:none}
.gb-addr-result__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px}
.gb-addr-result__title:focus{outline:none}   /* фокус переводится на заголовок результата после нажатия кнопки */
.gb-addr-result__title{display:flex;align-items:center;gap:10px;min-width:0;margin:0;color:var(--gb-ink);font-size:20px;font-weight:800;line-height:1.25;text-wrap:balance}
.gb-addr-result__sub{flex-basis:100%;margin:0;color:var(--gb-muted-2);font-size:14px;font-weight:500;line-height:1.45}
.gb-addr-result__foot{margin:14px 0 0;color:var(--gb-muted-2);font-size:12px;font-weight:500;line-height:1.45}
.gb-addr-result .gb-best{margin:0;vertical-align:baseline}

.gb-addr-name{min-width:0;color:var(--gb-ink);font-size:15px;font-weight:800;line-height:1.3;text-decoration:none;overflow-wrap:anywhere}
a.gb-addr-name:hover{color:var(--gb-blue);text-decoration:underline}
.gb-addr-name.is-missing{color:var(--gb-muted-2)}
.gb-addr-result__title .gb-addr-name{font-size:20px}

.gb-addr-provs{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.gb-addr-prov{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 10px 3px 4px;color:var(--gb-ink);background:#fff;border:1px solid var(--gb-line);border-radius:999px;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap}
.gb-addr-prov img{width:20px;height:20px;flex:0 0 20px;border-radius:5px}
.gb-addr-prov.is-common{color:var(--gb-green-ink);background:var(--gb-green-bg);border-color:rgba(34,165,91,.4)}
.gb-addr-svcs{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.gb-addr-svc{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px;color:var(--gb-ink);background:var(--gb-cloud);border-radius:8px;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap}
.gb-addr-svc img{width:14px;height:14px;flex:0 0 14px}
.gb-addr-link{color:var(--gb-blue);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.gb-addr-link b{font-weight:800}
.gb-addr-link:hover{text-decoration:underline}
.gb-addr-cell__top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 10px;font-size:14px}
.gb-addr-cell__top b{font-weight:800}
.gb-addr-count{white-space:nowrap}
/* зоны нажатия ссылок в результате — не меньше 44px по высоте (М8) */
.gb-addr-link,a.gb-addr-name,.gb-addr-one__metrics a{position:relative}
.gb-addr-link::after,a.gb-addr-name::after,.gb-addr-one__metrics a::after{content:'';position:absolute;top:-13px;bottom:-13px;left:-4px;right:-4px}

/* общие операторы — для переезда */
.gb-addr-common{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px;padding:12px 16px;background:var(--gb-cloud);border-radius:14px}
.gb-addr-common__lead{margin:0;color:var(--gb-ink);font-size:14px;line-height:1.3}
.gb-addr-common__lead b{font-weight:800}
.gb-addr-common__note{flex-basis:100%;margin:0;color:var(--gb-muted-2);font-size:13px;font-weight:500;line-height:1.45}

/* «Адрес не найден» — оформление из хиро хаба */
.gb-addr-missing{padding:14px 16px;background:rgba(249,114,74,.08);border:1px solid rgba(249,114,74,.5);border-radius:12px}
.gb-addr-missing p{margin:0;color:var(--gb-ink);font-size:14px;font-weight:600;line-height:1.4}
.gb-addr-missing p b{font-weight:800}
.gb-addr-missing--wide{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px}
.gb-addr-missing--wide p{flex:1 1 320px}

/* мало провайдеров — legacy-текст адресной страницы */
.gb-addr-other{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:16px 0 0;padding:14px 16px;background:var(--gb-blue-bg);border-radius:14px}
.gb-addr-other p{flex:1 1 320px;margin:0;color:var(--gb-ink);font-size:14px;font-weight:600;line-height:1.45}
.gb-addr-other__cta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.gb-addr-other__cta span{max-width:260px;color:var(--gb-muted-2);font-size:12px;font-weight:500;line-height:1.35}

/* таблица (от 768 px) */
.gb-addr-table__wrap{overflow-x:auto;background:#fff;border:1px solid var(--gb-line);border-radius:16px;box-shadow:var(--gb-shadow);-webkit-overflow-scrolling:touch}
.gb-addr-table{width:100%;min-width:640px;border-collapse:separate;border-spacing:0;table-layout:fixed;color:var(--gb-ink);font-size:14px;font-variant-numeric:tabular-nums}
.gb-addr-table th,.gb-addr-table td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--gb-line)}
.gb-addr-table td,.gb-addr-table thead th:not(.gb-addr-table__corner){border-left:1px solid var(--gb-line)}
.gb-addr-table .gb-addr-table__corner,.gb-addr-table tbody th{width:176px;color:var(--gb-muted-2);background:#f7f9fb;font-size:13px;font-weight:700;line-height:1.35}
.gb-addr-table thead th{padding-top:16px;padding-bottom:16px;vertical-align:middle;background:#fff}
.gb-addr-table thead .gb-addr-table__corner{background:#f7f9fb}
.gb-addr-table tbody tr:last-child th,.gb-addr-table tbody tr:last-child td{border-bottom:0}
.gb-addr-table td b{font-weight:800}
.gb-addr-table td>b+.gb-best{margin-left:8px}
.gb-addr-head{display:flex;align-items:center;gap:10px;min-width:0}
.gb-addr-table__missing{vertical-align:middle!important}
.gb-addr-table__actions td{padding-top:16px;padding-bottom:18px}
.gb-addr-table__actions .gb-btn{width:100%;white-space:normal;text-align:center}

/* карточки (до 768 px) */
.gb-addr-cards{display:none;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.gb-addr-card{min-width:0;padding:16px;background:#fff;border:1px solid var(--gb-line);border-radius:16px;box-shadow:var(--gb-shadow-sm)}
.gb-addr-card__head{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--gb-line)}
.gb-addr-card__rows{display:flex;flex-direction:column;margin:0}
.gb-addr-card__rows>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:4px 12px;padding:11px 0;border-bottom:1px solid var(--gb-line)}
.gb-addr-card__rows>div:last-child{border-bottom:0;padding-bottom:4px}
.gb-addr-card__rows dt{color:var(--gb-muted-2);font-size:13px;font-weight:700;line-height:1.35}
.gb-addr-card__rows dd{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;margin:0;color:var(--gb-ink);font-size:14px;line-height:1.35}
.gb-addr-card__rows dd b{font-weight:800}
.gb-addr-card__rows dd .gb-addr-cell__top{flex-basis:100%;margin-bottom:6px}
.gb-addr-card .gb-btn--wide{margin-top:12px}
.gb-addr-card.is-missing .gb-addr-missing{margin-top:12px}

/* один адрес */
.gb-addr-one__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.gb-addr-one__metrics li{display:flex;flex-direction:column;gap:4px;min-width:0;padding:16px 20px;background:#fff;border:1px solid var(--gb-line);border-radius:14px;box-shadow:var(--gb-shadow-sm)}
.gb-addr-one__value{color:var(--gb-ink);font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.gb-addr-one__label{color:var(--gb-muted-2);font-size:14px;font-weight:500;line-height:1.35}
.gb-addr-one__metrics a{color:var(--gb-blue);font-weight:700;text-decoration:none;white-space:nowrap}
.gb-addr-one__metrics a:hover{text-decoration:underline}
.gb-addr-one__rows{display:flex;flex-direction:column;margin:12px 0 0;padding:4px 20px;background:#fff;border:1px solid var(--gb-line);border-radius:14px;box-shadow:var(--gb-shadow-sm)}
.gb-addr-one__rows>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 16px;align-items:start;padding:12px 0;border-bottom:1px solid var(--gb-line)}
.gb-addr-one__rows>div:last-child{border-bottom:0}
.gb-addr-one__rows dt{padding-top:5px;color:var(--gb-muted-2);font-size:13px;font-weight:700}
.gb-addr-one__rows dd{min-width:0;margin:0}
.gb-addr-one__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:16px}
.gb-addr-one__actions p{margin:0;color:var(--gb-muted-2);font-size:14px;font-weight:600;line-height:1.4}

/* адаптив */
@media (max-width:1199.98px){
  .gb-addr-table .gb-addr-table__corner,.gb-addr-table tbody th{width:150px}
  .gb-addr-table th,.gb-addr-table td{padding:12px 14px}
}
@media (max-width:1023.98px){
  .gb-addr__form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gb-addr__submit{grid-column:1/-1;margin-top:4px;width:100%}
  .gb-addr-one__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gb-addr-table .gb-addr-table__corner,.gb-addr-table tbody th{width:128px}
  .gb-addr-table__actions .gb-btn{padding-left:10px;padding-right:10px}
  .gb-addr-table .gb-addr-prov{padding-left:10px}
  .gb-addr-table .gb-addr-prov img{display:none}   /* узкие колонки: без логотипов два чипа помещаются в строку */
}
@media (max-width:767.98px){
  .gb-addr{margin-top:16px}
  .gb-addr__field{scroll-margin-top:76px}            /* под сжатой шапкой */
  .gb-addr__example::after{content:'';position:absolute;top:-8px;bottom:-8px;left:-4px;right:-4px}
  .gb-addr__examples-label{font-size:13px}
  .gb-addr__panel{padding:16px;border-radius:16px}
  .gb-addr__form{grid-template-columns:1fr;gap:12px}
  .gb-addr__control .field{font-size:16px}               /* без автоувеличения на iPhone */
  .gb-addr__submit{margin-top:4px}
  .gb-addr-result{margin-top:20px}
  .gb-addr-result__head{margin-bottom:12px}
  .gb-addr-result__title,.gb-addr-result__title .gb-addr-name{font-size:18px}
  .gb-addr-result__sub{font-size:13px}
  .gb-addr-table__wrap{display:none}
  .gb-addr-cards{display:flex}
  .gb-addr-common{padding:12px;margin-bottom:12px}
  .gb-addr-other{padding:12px}
  .gb-addr-other__cta{width:100%}
  .gb-addr-other__cta .gb-btn{width:100%}
  .gb-addr-other__cta span{max-width:none}
  .gb-addr-one__metrics{gap:8px}
  .gb-addr-one__metrics li{padding:12px 14px}
  .gb-addr-one__value{font-size:20px}
  .gb-addr-one__label{font-size:13px}
  .gb-addr-one__rows{padding:2px 14px}
  .gb-addr-one__rows>div{grid-template-columns:1fr;gap:8px}
  .gb-addr-one__rows dt{padding-top:0}
  .gb-addr-one__actions .gb-btn{width:100%;min-height:52px}
  .gb-addr-missing--wide .gb-btn{width:100%}
}
@media (max-width:359.98px){
  .gb-addr-card__rows>div{grid-template-columns:1fr;gap:6px}
  .gb-addr-one__metrics{grid-template-columns:1fr}
}

/* ---------- 10. Почему удобно — на телефоне неподвижная сетка (М15) ---------- */
@media (max-width:767.98px){
  body.address-theme--v2 .gb-main .advantages__list-viewport{margin:0;overflow:visible}
  body.address-theme--v2 .gb-main .advantages .advantages__container .advantages__wrapper .advantages__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:auto;padding:0;animation:none}
  body.address-theme--v2 .gb-main .advantages .advantages__container .advantages__wrapper .advantages__list .advantages__card{flex-direction:column-reverse;align-items:flex-start;justify-content:flex-end;gap:10px;width:auto;height:auto;min-height:0;padding:14px;border-radius:16px}
  body.address-theme--v2 .gb-main .advantages .advantages__container .advantages__wrapper .advantages__list .advantages__card[aria-hidden="true"]{display:none}
  body.address-theme--v2 .gb-main .advantages .advantages__container .advantages__wrapper .advantages__list .advantages__card-text{width:auto;margin:0;font-size:13px;line-height:1.3}
  body.address-theme--v2 .gb-main .advantages .advantages__container .advantages__wrapper .advantages__list .advantages__card-icon{width:28px;height:28px}
}
@media (max-width:359.98px){
  body.address-theme--v2 .gb-main .advantages .advantages__container .advantages__wrapper .advantages__list{grid-template-columns:1fr}
}

@media (max-width:767.98px){body.address-theme--v2 .gb-main .free-consultation .field{font-size:16px}}

/* ---------- 12. Как выбрать провайдера — чек-лист (на телефоне аккордеон, М24) ---------- */
.gb-check{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 0;padding:0;list-style:none}
.gb-check__item{position:relative;display:flex;gap:16px;min-width:0;padding:20px 24px;background:#fff;border-radius:14px;box-shadow:var(--gb-shadow)}
.gb-check__num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;color:#fff;background:linear-gradient(135deg,#fb5b2d,#ff8a4c);border-radius:50%;box-shadow:0 8px 14px rgba(251,91,45,.3);font-size:14px;font-weight:800}
.gb-check__text{flex:1 1 auto;min-width:0}
.gb-check__item h3{margin:3px 0 6px;color:var(--gb-ink);font-size:16px;font-weight:800;line-height:1.3}
.gb-check__head{display:block;width:100%;margin:0;padding:0;color:inherit;background:none;border:0;font:inherit;text-align:left;cursor:default}
.gb-check__item p{margin:0;color:var(--gb-muted-2);font-size:14px;font-weight:500;line-height:1.5}
.gb-check__cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;margin-top:24px;color:var(--gb-muted-2);font-size:14px;font-weight:600;text-align:center}
@media (max-width:1023.98px){.gb-check{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767.98px){
  .gb-check{grid-template-columns:1fr;gap:8px;margin-top:16px}
  .gb-check__item{align-items:flex-start;gap:12px;padding:8px 14px}
  .gb-check__num{margin-top:8px}
  .gb-check__item h3{margin:0}
  .gb-check__head{position:relative;display:flex;align-items:center;min-height:44px;padding-right:28px;cursor:pointer}
  .gb-check__head::after{content:'';position:absolute;top:50%;right:4px;width:16px;height:16px;margin-top:-8px;background:url(/img/icon/arrow-down.svg) center/16px no-repeat;transition:transform .2s ease}
  .gb-check__item.is-open .gb-check__head::after{transform:rotate(180deg)}
  .gb-check__item p{display:none;padding:0 0 10px}
  .gb-check__item.is-open p{display:block}
  .gb-check__cta{flex-direction:column;gap:12px}
  .gb-check__cta .gb-btn{width:100%}
}

/* ---------- 13. Цены по городам России ---------- */
.gb-russia__wrap{margin-top:20px;overflow-x:auto;background:#fff;border:1px solid var(--gb-line);border-radius:16px;box-shadow:var(--gb-shadow-sm);-webkit-overflow-scrolling:touch}
.gb-russia{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.gb-russia th,.gb-russia td{padding:11px 18px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--gb-line)}
.gb-russia thead th{color:var(--gb-muted-2);background:#f7f9fb;font-size:13px;font-weight:800;line-height:1.3}
.gb-russia tbody tr:last-child td{border-bottom:0}
.gb-russia td{color:var(--gb-ink);font-weight:600}
.gb-russia td a{display:inline-flex;align-items:center;min-height:24px;color:var(--gb-ink);font-weight:800;text-decoration:none}
.gb-russia td a:hover{color:var(--gb-blue)}
.gb-russia tr.is-current td{background:rgba(77,124,254,.07)}
.gb-here{display:inline-block;margin-left:6px;padding:2px 8px;color:var(--gb-blue);background:#e7ecfb;border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap}
.gb-city-cell{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.gb-city-cell a{position:relative}
.gb-city-cell a::after{content:'';position:absolute;top:-10px;bottom:-10px;left:-6px;right:-6px}   /* зона нажатия — на всю высоту строки */
.gb-city-self{color:var(--gb-ink);font-weight:800}
.gb-city-none{color:var(--gb-muted)}
@media (max-width:767.98px){
  .gb-russia__wrap{margin-top:16px;border-radius:14px}
  .gb-russia{font-size:13px}
  .gb-russia th,.gb-russia td{padding:10px 10px}
  .gb-russia thead th{font-size:12px}
  .gb-russia th:first-child,.gb-russia td:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--gb-line)}
  .gb-russia thead th:first-child{background:#f7f9fb}
  .gb-russia tr.is-current td:first-child{background:#f1f5ff}
  .gb-russia tr.gb-extra{display:none}
  #russia.is-expanded .gb-russia tr.gb-extra{display:table-row}
}
/* на телефоне все 4 колонки, как на компьютере: таблица листается вбок, колонка «Город» закреплена */
@media (max-width:767.98px){.gb-russia{min-width:560px}.gb-russia td:not(:first-child){white-space:nowrap}}

/* ---------- 14. Текст о подключении (на телефоне свернут, М24) ---------- */
.gb-overview__text{max-width:860px;margin:20px auto 0;color:var(--gb-muted-2);font-size:15px;font-weight:500;line-height:1.6}
.gb-overview__text p{margin:0 0 14px}
.gb-overview__text p:last-child{margin-bottom:0}
.gb-overview__text b{color:var(--gb-ink);font-weight:800}
@media (max-width:767.98px){
  .gb-overview__text{margin-top:14px;font-size:14px}
  .gb-overview__text p.gb-extra{display:none}
  #overview.is-expanded .gb-overview__text p.gb-extra{display:block}
}

/* ---------- 15. Статьи (на телефоне лента, М14) ---------- */
.gb-articles__scroll{margin-top:24px}
.gb-articles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gb-article{display:flex;flex-direction:column;gap:8px;min-width:0;padding:20px 22px;color:var(--gb-ink);background:#fff;border-radius:14px;box-shadow:var(--gb-shadow);text-decoration:none;transition:box-shadow .2s,transform .2s}
@media (hover:hover){.gb-article:hover{box-shadow:0 14px 38px rgba(20,32,43,.2);transform:translateY(-2px)}}
.gb-article__cat{color:var(--gb-blue);font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.gb-article__title{flex:1 1 auto;font-size:15px;font-weight:800;line-height:1.35;text-wrap:balance}
.gb-article__date{color:var(--gb-muted-2);font-size:12px;font-weight:600}
@media (max-width:1023.98px){.gb-articles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767.98px){
  .gb-articles__scroll{margin:16px -16px 0;padding:6px 16px 22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 16px;scrollbar-width:none}
  .gb-articles__scroll::-webkit-scrollbar{display:none}
  .gb-articles{display:flex;gap:12px;width:max-content}
  .gb-article{width:min(260px,calc(100vw - 92px));flex:0 0 auto;padding:16px;scroll-snap-align:start}
}

/* ---------- 16. Отзывы — компонент хаба; текст 5 строк + «Читать полностью» (М16) ---------- */
body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews{height:auto}
body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews__wrapper{height:auto!important;grid-template-rows:auto!important}
body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews__wrapper-item{height:auto!important;min-height:0;overflow:visible}
body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews__wrapper-item:nth-child(n) .text>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews__wrapper-item.is-open:nth-child(n) .text>p{display:block;-webkit-line-clamp:unset;overflow:visible}
body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews__filter-item{min-height:36px;border:0;font-family:Inter,var(--gb-font)}
.gb-review-more{display:inline-flex;align-items:center;min-height:36px;margin:4px 0 0;padding:0;color:var(--gb-blue);background:none;border:0;font-family:var(--gb-font);font-size:14px;font-weight:800;cursor:pointer}
.gb-review-more:hover{text-decoration:underline}
@media (max-width:767.98px){
  body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews{padding:0 16px 40px}
  body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .providers__section-reviews{height:auto;padding:40px 16px 0}
  body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews__wrapper-item{padding:16px}
  body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews__filter{height:auto;padding-bottom:4px}
  body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews__filter-item{flex:0 0 auto;min-height:44px;font-size:13px}
  body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews__wrapper-item:nth-child(n) .text>p{-webkit-line-clamp:4}
  body.address-theme--v2 .gb-main .street-address-page__reviews .street-reviews .address-reviews .address-reviews__buttons button{min-height:48px}
  body.address-theme--v2 .gb-main .address-reviews .actions .like-button{position:relative}
  body.address-theme--v2 .gb-main .address-reviews .actions .like-button::after{content:'';position:absolute;inset:-10px -16px}
  .gb-review-more{min-height:44px}
}

/* ---------- 17. FAQ ---------- */
body.address-theme--v2 .gb-main .address-page_faq-subtitle{text-align:center}
body.address-theme--v2 .gb-main .address-page_faq-cta__link{display:inline-flex;align-items:center;min-height:36px;margin:0;padding:0;background:none;border:0;font:inherit;font-weight:700;cursor:pointer}
body.address-theme--v2 .gb-main .address-page_faq-cta__link:hover{text-decoration:underline}
@media (max-width:767.98px){body.address-theme--v2 .gb-main .address-page_faq-cta__link{min-height:44px}}

/* ---------- 18. «Не нашли свой дом» ---------- */
@media (max-width:767.98px){body.address-theme--v2 .gb-main .city-request .city-check-list li{font-size:14px}body.address-theme--v2 .gb-main .city-request__lead{font-size:14px;line-height:1.4}body.address-theme--v2.gb-main-page .city-request-form__submit{min-height:48px}body.address-theme--v2.gb-main-page .city-request-form__consent{min-height:44px;align-items:center}}

/* ---------- подвал: зоны нажатия на телефоне (М8) ---------- */
@media (max-width:767.98px){
  body.gb-main-page .address-footer.address-footer--v2 .address-footer__menu-list{margin-top:8px}
  body.gb-main-page .address-footer.address-footer--v2 .address-footer__menu-item{margin:0;font-size:13px}
  body.gb-main-page .address-footer.address-footer--v2 .address-footer__menu-item a{display:flex;align-items:center;min-height:44px}
  body.gb-main-page .address-footer.address-footer--v2 .address-footer__menus{justify-content:flex-start;gap:24px 40px;flex-wrap:wrap}
  body.gb-main-page .address-footer.address-footer--v2 .address-footer__buttons{justify-self:stretch;max-width:none}
  body.gb-main-page .address-footer.address-footer--v2 .address-footer__consult-button{min-height:48px}
  body.gb-main-page .address-footer.address-footer--v2 .address-footer__phone-button{margin-left:0;padding:8px 0}
  body.gb-main-page .address-footer.address-footer--v2 .address-footer__links{row-gap:0}
  body.gb-main-page .address-footer.address-footer--v2 .address-footer__links a{display:inline-flex;align-items:center;min-height:44px}
  body.gb-main-page .address-footer.address-footer--v2 .address-footer__bottom{margin-top:36px}
}

/* ---------- нижняя полоса (телефон и планшет): одна кнопка + звонок (М5), появляется после поиска (М6) ---------- */
@media (max-width:1023.98px){
  body.address-theme--v2 .gb-bar{gap:10px;align-items:center;transform:translateY(110%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
  body.address-theme--v2 .gb-bar.is-visible{transform:none;visibility:visible;transition:transform .25s ease,visibility 0s}
  body.address-theme--v2 .gb-bar .mobile-sticky-cta__button{flex:0 1 400px;min-height:48px;border:0;cursor:pointer;font-family:Inter,var(--gb-font)}
  .gb-bar__call{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;background:var(--gb-cloud);border-radius:12px}
  .gb-bar__call img{width:24px;height:24px}
}
@media (max-width:1023.98px) and (prefers-reduced-motion:reduce){body.address-theme--v2 .gb-bar{transition:none}}

/* ---------- плавающие кнопки: на компьютере «Наверх» + звонок; на телефоне и планшете только «Наверх» (звонок есть в нижней полосе),
   над полосой и панелью сравнения ее поднимает пружина в home-v2.js ---------- */
@media (max-width:1023.98px){
  body.address-theme--v2.gb-main-page .gb-main .street-float-buttons{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  body.address-theme--v2.gb-main-page .gb-main .street-float-buttons__call{display:none}
  body.address-theme--v2.gb-main-page .gb-main .street-float-buttons__up{width:48px;height:48px}
  body.address-theme--v2.gb-main-page .gb-main .street-float-buttons__up img{width:21px;height:21px}
}
/* трубка звонка на главной меньше (решение 12.10): картинка 139 → 112 px, область нажатия 63 × 63 px и центр круга на прежнем месте.
   Только стили главной — на хабе и адресных страницах трубка прежняя */
@media (min-width:1024px) and (max-width:1199.98px){body.address-theme--v2 .street-float-buttons{right:24px;bottom:32px}}
/* над панелью сравнения плавающие кнопки поднимает пружина в home-v2.js (translate), а не скачок bottom */

/* ---------- панель сравнения тарифов ---------- */
.gb-cmp-tray{position:fixed;right:0;bottom:0;left:0;z-index:4;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--gb-line);box-shadow:0 -6px 24px rgba(20,32,43,.14)}
.gb-cmp-tray__inner{display:flex;align-items:center;gap:12px 16px;max-width:1320px;margin:0 auto}
.gb-cmp-tray__items{display:flex;gap:8px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
.gb-cmp-tray__items::-webkit-scrollbar{display:none}
.gb-cmp-chip{display:inline-flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;max-width:300px;padding:4px 4px 4px 6px;color:var(--gb-ink);background:var(--gb-cloud);border-radius:12px;font-size:13px;font-weight:700}
.gb-cmp-chip img{width:24px;height:24px;flex:0 0 24px;border-radius:4px}
.gb-cmp-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gb-cmp-chip button{width:36px;height:36px;flex:0 0 36px;padding:0;background:transparent url(/img/design/close.svg) center/14px no-repeat;border:0;border-radius:10px;cursor:pointer}
.gb-cmp-chip button:hover{background-color:#e3e8ee}
.gb-cmp-tray__count{flex:0 0 auto;color:var(--gb-muted-2);font-size:13px;font-weight:700;white-space:nowrap}
.gb-cmp-tray__clear{flex:0 0 auto;min-height:44px;padding:0 4px;color:var(--gb-muted-2);background:none;border:0;font-family:var(--gb-font);font-size:13px;font-weight:700;text-decoration:underline;cursor:pointer}
.gb-cmp-tray .gb-btn{flex:0 0 auto}
@media (max-width:767.98px){
  .gb-cmp-tray{padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px))}
  .gb-cmp-tray__inner{gap:8px}
  .gb-cmp-tray__items{display:none}
  .gb-cmp-tray__count{flex:1 1 auto;min-width:0;white-space:normal;line-height:1.3}
  .gb-cmp-tray__hint{display:none}
}

/* окно сравнения */
.gb-cmp-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px}
.gb-cmp-modal[hidden]{display:none}
.gb-cmp-modal__overlay{position:absolute;inset:0;background:rgba(38,50,63,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.gb-cmp-modal__dialog{position:relative;display:flex;flex-direction:column;width:min(1040px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.25);overflow:hidden}
.gb-cmp-modal__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 16px 16px 24px;border-bottom:1px solid var(--gb-line)}
.gb-cmp-modal__title{margin:0;color:var(--gb-ink);font-size:24px;font-weight:800;line-height:1.2}
.gb-cmp-modal__close{width:44px;height:44px;flex:0 0 44px;padding:0;background:var(--gb-cloud) url(/img/design/close.svg) center/18px no-repeat;border:0;border-radius:50%;cursor:pointer}
.gb-cmp-modal__close:hover{background-color:#e3e8ee}
.gb-cmp-modal__scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.gb-cmp-modal__note{margin:0;padding:12px 24px 14px;color:var(--gb-muted-2);border-top:1px solid var(--gb-line);font-size:12px;font-weight:500;line-height:1.45}
.gb-cmp{width:100%;border-collapse:separate;border-spacing:0;color:var(--gb-ink);font-size:14px;font-variant-numeric:tabular-nums}
.gb-cmp th,.gb-cmp td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--gb-line)}
.gb-cmp thead th{position:sticky;top:0;z-index:2;background:#fff;vertical-align:bottom}
.gb-cmp tbody th{position:sticky;left:0;z-index:1;width:190px;color:var(--gb-muted-2);background:#f7f9fb;font-size:13px;font-weight:700;line-height:1.35}
.gb-cmp .gb-cmp__corner{left:0;z-index:3;width:190px;background:#fff}
.gb-cmp tbody tr:last-child th,.gb-cmp tbody tr:last-child td{border-bottom:0}
.gb-cmp td b{font-weight:800}
.gb-cmp__head{display:grid;grid-template-columns:32px minmax(0,1fr) 36px;align-items:start;gap:10px}
.gb-cmp__head img{width:32px;height:32px;border-radius:4px}
.gb-cmp__prov{display:block;color:var(--gb-muted-2);font-size:12px;font-weight:700}
.gb-cmp__name{display:block;color:var(--gb-ink);font-size:14px;font-weight:800;line-height:1.3}
.gb-cmp__remove{width:36px;height:36px;margin:-6px -8px 0 0;padding:0;background:transparent url(/img/design/close.svg) center/14px no-repeat;border:0;border-radius:10px;cursor:pointer}
.gb-cmp__remove:hover{background-color:var(--gb-cloud)}
.gb-best{display:inline-block;margin:4px 0 0 6px;padding:2px 8px;color:var(--gb-green-ink);background:var(--gb-green-bg);border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap;vertical-align:baseline}
.gb-cmp__rating{display:inline-flex;align-items:center;gap:4px}
.gb-cmp__rating img{width:14px;height:14px}
.gb-cmp__actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
@media (max-width:767.98px){
  .gb-cmp-modal{padding:0;align-items:stretch}
  .gb-cmp-modal__dialog{width:100%;max-height:none;height:100%;border-radius:0}
  .gb-cmp-modal__head{padding:10px 10px 10px 16px}
  .gb-cmp-modal__title{font-size:20px}
  .gb-cmp-modal__note{padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px))}
  .gb-cmp{font-size:13px}
  .gb-cmp th,.gb-cmp td{padding:10px}
  .gb-cmp tbody th,.gb-cmp .gb-cmp__corner{width:96px;min-width:96px;max-width:96px;font-size:12px}
  .gb-cmp td,.gb-cmp thead th:not(.gb-cmp__corner){min-width:136px}
  .gb-cmp__head{grid-template-columns:minmax(0,1fr) 36px;gap:6px}
  .gb-cmp__head img{display:none}
  .gb-best{margin-left:0}
  .gb-cmp__actions .gb-btn{width:100%;padding:12px 10px}
}

/* ---------- окно «Поиск по адресу» — на телефоне у верхнего края (М12) ---------- */
body.gb-main-page .address-page-modal{overscroll-behavior:contain}
body.gb-main-page .address-page-modal .content{border-radius:16px}
body.gb-main-page .address-page-modal.another-address .content{width:100%}
@media (max-width:767.98px){
  body.gb-main-page .address-page-modal{align-items:flex-start;padding:12px}
  body.gb-main-page .address-page-modal .search-input input{font-size:16px}
}

/* ---------- окно заявки ---------- */
body.gb-main-page .city-request-modal{overscroll-behavior:contain}
@media (max-width:767.98px){body.address-theme--v2.gb-main-page .city-request-modal__lead{font-size:14px;line-height:1.4}}



/* ---------- 15. Статьи: обложка, как в карточке блога (в макете карточки были без картинок) ---------- */
.gb-article{overflow:hidden}
.gb-article__image{display:block;margin:-20px -22px 6px;aspect-ratio:16/9;background:var(--gb-cloud);overflow:hidden}
.gb-article__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.gb-article:hover .gb-article__image img{transform:scale(1.03)}}
@media (max-width:767.98px){.gb-article__image{margin:-16px -16px 4px}}

/* ---------- 10. Почему удобно: бегущая лента не обрывается о край панели — края затухают; заголовок в цвет остальных H2 ---------- */
body.address-theme--v2.gb-main-page .city-address-page__advantages .advantages__title{color:var(--gb-ink)}
/* от 768 px — бегущая лента хаба: края затухают, чтобы карточки не обрывались о скругленный край панели;
   при наведении лента останавливается (как на хабе). Текст карточки — по центру по высоте, на одной линии с иконкой. */
@media (min-width:768px){
  body.address-theme--v2 .gb-main .advantages__list-viewport{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 72px,#000 calc(100% - 72px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 72px,#000 calc(100% - 72px),transparent 100%)}
  body.address-theme--v2 .gb-main .advantages .advantages__list .advantages__card{align-items:center}
  body.address-theme--v2 .gb-main .advantages .advantages__list .advantages__card-text{margin:0}
}

/* ---------- картинки с абсолютным позиционированием и логотипы: общее .gb-main img{max-width:100%} их сжимало ---------- */
body.address-theme--v2.gb-main-page .gb-main .street-float-buttons__call img{max-width:none;width:139px;height:139px}
body.address-theme--v2.gb-main-page .gb-main .tariff-card__provider-icon{object-fit:contain}
/* фоны блоков чередуются: калькулятор «платить меньше» — серый, шаги после него — белые */
body.address-theme--v2.gb-main-page .street-address-page__steps .street-connection-steps{background:#fff}

/* ---------- 4. Детали плитки на сетке (от 1200 px) — выпадают вниз (home-v2.js, is-dropped) ----------
   .tariff-card__fold в потоке держит высоту полосы «Что входит и детали», .tariff-card__drop (детали + «Свернуть»)
   выходит из потока и ложится поверх того, что ниже: плитка, сетка и блок не меняют высоту. Каждая плитка — свой слой (1),
   раскрытая — на ступень выше (2): поверх соседей, но под закрепленной шапкой и панелью сравнения (4). */
@media (min-width:1200px){
  body.address-theme--v2 .gb-home-tariffs__grid .tariff-card{position:relative;z-index:1}
  body.address-theme--v2 .gb-home-tariffs__grid .tariff-card.is-dropped{z-index:2;box-shadow:0 24px 60px rgba(20,32,43,.22)}
  body.address-theme--v2 .gb-home-tariffs__grid .tariff-card.is-dropped .tariff-card__fold{position:relative}
  /* верх плитки — над панелью: тень «Подключить» ложится на панель, а не обрезается ее верхним краем */
  body.address-theme--v2 .gb-home-tariffs__grid .tariff-card.is-dropped .tariff-card__main{position:relative;z-index:1}
  body.address-theme--v2 .gb-home-tariffs__grid .tariff-card.is-dropped .tariff-card__drop{position:absolute;top:0;right:0;left:0;z-index:0;background:#fff;border-radius:0 0 16px 16px;box-shadow:0 34px 44px -14px rgba(20,32,43,.3);overflow:hidden}
  /* отмеченная для сравнения: синяя рамка плитки продолжается по краям панели */
  body.address-theme--v2 .gb-home-tariffs__grid .tariff-card.is-compared.is-dropped{box-shadow:0 0 0 2px var(--gb-blue),0 24px 60px rgba(20,32,43,.22)}
  body.address-theme--v2 .gb-home-tariffs__grid .tariff-card.is-compared.is-dropped .tariff-card__drop{box-shadow:-2px 0 0 var(--gb-blue),2px 0 0 var(--gb-blue),0 2px 0 var(--gb-blue),0 34px 44px -14px rgba(20,32,43,.3)}
}

/* ---------- 4. Детали плитки: ритм отступов ----------
   Иконка → заголовок 10 px, заголовок → список 6 px; маркер списка по первой строке, а не по центру многострочного пункта;
   над «Больше о тарифе» — 12 px вместо 48 (padding списка + margin разделителя), под кнопкой — 16 px до полосы «Свернуть». */
body.address-theme--v2 .gb-home-tariffs .tariff-card__details{row-gap:18px;column-gap:16px;padding-bottom:0}
body.address-theme--v2 .gb-home-tariffs .tariff-card__detail-item{gap:0}
body.address-theme--v2 .gb-home-tariffs .tariff-card__detail-icon{display:block;width:20px;height:20px;margin:0 0 10px;object-fit:contain}
body.address-theme--v2 .gb-home-tariffs .tariff-card__detail-title{margin:0 0 10px;line-height:1.2}
body.address-theme--v2 .gb-home-tariffs .tariff-card__detail-list{display:flex;flex-direction:column;gap:6px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__detail-list li{align-items:flex-start;gap:8px;padding:0}
body.address-theme--v2 .gb-home-tariffs .tariff-card__detail-list li:before{flex:0 0 5px;width:5px;height:5px;margin-top:calc(.65em - 2.5px);border-radius:50%}
body.address-theme--v2 .gb-home-tariffs .tariff-card__details-separator:first-child{margin:0 0 16px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__details-separator:last-child{margin:18px 0 12px}
body.address-theme--v2 .gb-home-tariffs .tariff-card__more[data-visible=true]{padding:0 20px 16px}

/* ================= Обратная связь и плавность интерактивных элементов главной (13.10) =================
   Каждый нажимаемый элемент: наведение (только на устройствах с мышью), нажатие — сжатие до .96, фокус — обводка
   с клавиатуры (см. html.gb-pointer). Переходы 150–250 мс одной кривой; при prefers-reduced-motion: reduce — без движения.
   Раскрытия и появления (детали плитки, «Показать всех», чек-лист, результаты, панель и окно сравнения) — в home-v2.js. */

/* детали плитки: движение ведет JS (высота и margin синхронно) — переходы хаба max-height 0 → 5000px отключены */
body.address-theme--v2 .gb-home-tariffs .tariff-card__more,
body.address-theme--v2 .gb-home-tariffs .tariff-card__more[data-visible=true],
body.address-theme--v2 .gb-home-tariffs .tariff-card__more[data-visible=false]{transition:none;animation:none;transform:none}
body.address-theme--v2 .gb-home-tariffs .tariff-card__more[data-visible=true]{max-height:none;opacity:1}
body.address-theme--v2 .gb-home-tariffs .tariff-card__more[data-visible=false]{max-height:0;opacity:0;padding-top:0;padding-bottom:0}

@media (prefers-reduced-motion:no-preference){
  /* кнопки и ссылки-кнопки */
  .gb-btn,.gb-stepper button,.gb-hscroll-nav__btn,.gb-addr__example,.gb-addr__clear,.gb-more a,.gb-more button,
  .gb-cmp-chip button,.gb-cmp-modal__close,.gb-cmp__remove,.gb-cmp-tray__clear,.gb-ops__about,.gb-ops__name,.gb-ops__rating,
  .gb-link,.city-link-button,.gb-russia td a,a.gb-addr-name,.gb-addr-link,.gb-check__head,
  body.address-theme--v2 .gb-home-tariffs .tariff-card .tariff-button,
  body.address-theme--v2 .gb-home-tariffs .tariff-card__tariff-button,
  body.address-theme--v2 .gb-home-tariffs .tariff-card .tariff-card__details-button{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .15s ease}
  .gb-chip span,.gb-cmp-toggle span::before{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}
  .gb-calc__field .field,.gb-addr__control .field{transition:background-color .2s ease,box-shadow .2s ease}
  .gb-result__bar i{transition:background-color .25s ease}
  body.address-theme--v2 .gb-home-tariffs .tariff-card{transition:box-shadow .28s ease}
  body.address-theme--v2 .gb-home-tariffs .tariff-card__details-button-icon{transition:transform .25s ease}
  .gb-check__head::after{transition:transform .25s ease}
  .gb-where__card,.gb-ops__row,.gb-prep__item,.gb-check__item{transition:box-shadow .25s ease,transform .25s ease,background-color .2s ease}
  .gb-russia tbody tr{transition:background-color .15s ease}

  /* нажатие */
  .gb-btn:not(:disabled):active,.gb-stepper button:not(:disabled):active,.gb-hscroll-nav__btn:not(:disabled):active,
  .gb-addr__example:active,.gb-addr__clear:active,.gb-more button:active,.gb-cmp-chip button:active,.gb-cmp-modal__close:active,
  .gb-cmp__remove:active,.gb-cmp-tray__clear:active,.gb-chip:active span,.gb-cmp-toggle:active span::before,
  body.address-theme--v2 .gb-home-tariffs .tariff-card .tariff-button:active,
  body.address-theme--v2 .gb-home-tariffs .tariff-card__tariff-button:active{transform:scale(.96)}
  .gb-more a:active,.gb-link:active,.city-link-button:active,.gb-ops__about:active,.gb-russia td a:active,a.gb-addr-name:active,.gb-addr-link:active{opacity:.6}
  body.address-theme--v2 .gb-home-tariffs .tariff-card .tariff-card__details-button:active{background:#e6ebf1}
  .gb-check__head:active{opacity:.7}

  /* наведение — только мышь */
  @media (hover:hover) and (pointer:fine){
    .gb-where__card:hover,.gb-prep__item:hover,.gb-check__item:hover{box-shadow:0 18px 44px rgba(20,32,43,.14);transform:translateY(-2px)}
    .gb-ops__row:hover{background:#f7f9fb}
    .gb-russia tbody tr:not(.is-current):hover{background:#f7f9fb}
    .gb-chip:hover input:not(:checked)+span{border-color:rgba(77,124,254,.45);background:#e9eef6}
    .gb-cmp-toggle:hover input:not(:disabled):not(:checked)+span::before{border-color:var(--gb-blue)}
    .gb-addr__example:hover{color:var(--gb-blue)}
    .city-link-button:hover{text-decoration-color:currentColor;opacity:.8}
    body.address-theme--v2 .gb-home-tariffs .tariff-card:hover{box-shadow:0 18px 44px rgba(20,32,43,.14)}
    body.address-theme--v2 .gb-home-tariffs .tariff-card__tariff-button:hover{background:#3a66e8}
    .gb-cmp-tray__clear:hover{color:var(--gb-ink)}
  }
}

/* поля калькуляторов и сравнения адресов: фокус заметен и мышью */
/* background-color, а не background: сокращенная запись сбрасывала стрелку списка (фоновая картинка select) */
.gb-calc__field .field:focus,.gb-addr__control .field:focus{background-color:#fff;box-shadow:0 0 0 2px rgba(77,124,254,.55),0 6px 18px rgba(20,32,43,.08)}
/* кнопка сравнения адресов во время запроса */
.gb-addr__submit.is-loading{cursor:progress;opacity:.85}
.gb-addr__submit.is-loading::after{content:'';width:16px;height:16px;margin-left:8px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:gbSpin .7s linear infinite}
@keyframes gbSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.gb-addr__submit.is-loading::after{animation:none}}

/* компоненты хаба внутри главной: та же обратная связь на нажатие и наведение (стили хаба на других страницах не меняются) */
@media (prefers-reduced-motion:no-preference){
  body.gb-main-page .gb-main .free-consultation__button,body.gb-main-page .gb-main .load-more-button,
  body.gb-main-page .gb-main .city-request-form__submit,body.gb-main-page .gb-main .like-button,
  body.gb-main-page .gb-main .city-hero__tab,body.gb-main-page .gb-main .gb-article,
  body.gb-main-page .gb-main .street-float-buttons__up,body.gb-main-page .gb-main .street-float-buttons__call{transition:background-color .2s ease,color .2s ease,box-shadow .25s ease,opacity .2s ease,transform .15s ease}
  body.gb-main-page .gb-main .free-consultation__button:active,body.gb-main-page .gb-main .load-more-button:active,
  body.gb-main-page .gb-main .city-request-form__submit:active,body.gb-main-page .gb-main .like-button:active,
  body.gb-main-page .gb-main .street-float-buttons__up:active,body.gb-main-page .gb-main .street-float-buttons__call:active{transform:scale(.96)}
  body.gb-main-page .gb-main .gb-article:active{transform:scale(.985)}
  /* ссылки в тексте и в строках операторов — короткое затухание при нажатии */
  body.gb-main-page .gb-main a:not(.gb-btn):not(.gb-article):not(.tariff-card__tariff-button):not(.city-hero__provider){transition:color .2s ease,opacity .15s ease}
  body.gb-main-page .gb-main a:not(.gb-btn):not(.gb-article):not(.tariff-card__tariff-button):not(.city-hero__provider):active{opacity:.6}
  body.gb-main-page .gb-main .city-hero__provider{transition:opacity .2s ease,transform .15s ease}
  body.gb-main-page .gb-main .city-hero__provider:active{transform:scale(.96)}
  @media (hover:hover) and (pointer:fine){
    body.gb-main-page .gb-main .city-hero__tab:not(.is-active):hover{background:#e9eef6;color:var(--gb-ink)}
    body.gb-main-page .gb-main .like-button:hover{background:#e9eef6}
    body.gb-main-page .gb-main .street-float-buttons__up:hover{box-shadow:0 10px 28px rgba(20,32,43,.18);transform:translateY(-2px)}
    body.gb-main-page .gb-main .street-float-buttons__call:hover{transform:scale(1.05)}
    body.gb-main-page .gb-main .city-hero__provider:hover{opacity:.75}
  }
}

/* ---------- 3. Калькулятор скорости: полоски заполняются плавно, по одной (порядок и задержки — home-v2.js, fillBar) ---------- */
.gb-result__bar i{position:relative;overflow:hidden}
.gb-result__bar i.is-on{background:rgba(77,124,254,.16)}
.gb-result__bar i::after{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--gb-blue);transform:scaleX(0);transform-origin:left center;transition:transform .18s linear}
.gb-result__bar i.is-on::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.gb-result__bar i::after{transition:none}}
/* отступ под заголовками деталей (Подключение / Роутер / ТВ / Sim-карта): правило хаба .street-tariffs .tariff-card :is(h1,h3,h4){margin:0} специфичнее */
body.address-theme--v2 .street-address-page .gb-home-tariffs.street-tariffs .tariff-card .tariff-card__detail-title{margin:0 0 10px}

/* ---------- 1. Цифры первого экрана: без анимации (решение 13.10). Шрифт — как у числа цены хаба: Unbounded из strong,
   цифры одинаковой ширины; подпись «₽», «дней» — Manrope из small ---------- */
body.address-theme--v2 .gb-main .city-hero__stat strong .gb-stat-num{color:inherit;font:inherit;letter-spacing:inherit;font-variant-numeric:tabular-nums}
/* текст результата калькулятора скорости — в обертке, которая не участвует в раскладке (отступы — gap родителя) */
.gb-result__part{display:contents}

/* ---------- по итогам проверки ui-interaction-qa (13.10) ---------- */
/* фокус поля адреса в первом экране — обводка всего поля */
body.address-theme--v2 .gb-main .city-hero__field:focus-within{box-shadow:0 0 0 2px rgba(77,124,254,.55),0 6px 18px rgba(20,32,43,.08)}
/* зоны нажатия: имя и рейтинг оператора — от 24 px (WCAG 2.2); на телефоне логотипы первого экрана и «Больше о тарифе» — 44 px */
.gb-ops__name,.gb-ops__rating{display:inline-flex;align-items:center;min-height:24px}
@media (max-width:767.98px){
  body.address-theme--v2 .gb-main .city-hero__provider{position:relative}
  body.address-theme--v2 .gb-main .city-hero__provider::after{content:'';position:absolute;top:-7px;bottom:-7px;left:0;right:0}
  body.address-theme--v2 .gb-home-tariffs .tariff-card__tariff-button{min-height:44px}
}
/* чек-лист на компьютере раскрыт целиком — заголовки пунктов не кнопки */
@media (min-width:768px){.gb-check__head{pointer-events:none;cursor:default}}
@media (prefers-reduced-motion:no-preference){
  body.gb-main-page .gb-main .address-reviews .like-button img{transition:transform .2s ease}
  body.gb-main-page .gb-main .city-request-form__consent input{transition:border-color .2s ease,box-shadow .2s ease}
}
@media (hover:hover) and (pointer:fine){
  /* текстовые ссылки без своего наведения — мягкое затухание */
  body.gb-main-page .gb-main a:not([class]){transition:opacity .15s ease,color .2s ease}
  body.gb-main-page .gb-main a:not([class]):hover{opacity:.75}
  .gb-chip:hover input:checked+span{background:#3a66e8;border-color:#3a66e8}
  body.gb-main-page .gb-main .address-reviews .like-button:hover img{transform:scale(1.15)}
  body.gb-main-page .gb-main .city-request-form__consent:hover input{border-color:#f9724a}
}
/* согласие в заявке: галочка по умолчанию отмечена (оранжевая) — отклик ореолом, заметен в обоих состояниях */
@media (prefers-reduced-motion:no-preference){
  body.address-theme--v2.gb-main-page .gb-main .address-reviews .load-more-button{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease}
}
@media (hover:hover) and (pointer:fine){
  body.gb-main-page .gb-main .city-request-form__consent:hover input{box-shadow:0 0 0 4px rgba(249,114,74,.16)}
}
body.gb-main-page .gb-main .city-request-form__consent:active input{box-shadow:0 0 0 5px rgba(249,114,74,.26)}
/* кнопки под отзывами: у хаба transition: all .3s через длинную цепочку — повторяем ее с .gb-main-page */
@media (prefers-reduced-motion:no-preference){
  body.address-theme--v2.gb-main-page .address-reviews .container .address-reviews__filter-container .address-reviews__buttons button{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease}
}
/* Окна внутри #main (заявка, проверка адреса, сравнение тарифов) — над закрепленной шапкой (z-index 4): пока окно открыто, #main поднимается выше нее, затемнение накрывает и шапку, крестик не уходит под нее */
html.city-request-modal-open body.gb-main-page #main,html.gb-lock body.gb-main-page #main{z-index:5}
