/* Шрифты и базовые стили канваса; собирается tools/build.py — не править руками */
/* Newsreader normal latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/newsreader-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Newsreader normal latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/newsreader-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Newsreader normal latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/newsreader-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Newsreader normal latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/newsreader-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Newsreader normal latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/newsreader-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Newsreader normal latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/newsreader-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Public Sans normal latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/public-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Public Sans normal latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/public-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Public Sans normal latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/public-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Public Sans normal latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/public-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Public Sans normal latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/public-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Public Sans normal latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/public-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Public Sans normal latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/public-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Public Sans normal latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/public-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html, body { margin: 0; padding: 0; background: #f7f5f1; }
* { box-sizing: border-box; }
a { color: #1d5f96; text-decoration: none; }
a:hover { color: #123f66; text-decoration: underline; }

/* Romulus Appliance — стили поверх инлайн-стилей канваса. Десктоп держат инлайн-стили;
   то, что в медиазапросах, их переопределяет, поэтому там !important. */

/* блоки с атрибутом hidden имеют инлайн display:flex — без !important они не скрываются */
[hidden] { display: none !important; }

/* якоря не уезжают под липкую шапку */
section[id], article[id] { scroll-margin-top: 64px; }

/* в канвасе это были style-hover */
.pill:hover { border-color: #17150f !important; }
.btn-dark:hover { background: #2f2a22 !important; text-decoration: none !important; }
.btn-line:hover { border-color: #17150f !important; text-decoration: none !important; }
.v-phone:hover { color: #fff !important; }

a:focus-visible, button:focus-visible { outline: 2px solid #1d5f96; outline-offset: 2px; }

/* звёзды: пять ☆, поверх пять ★ обрезаны по рейтингу */
.stars { position: relative; display: inline-block; white-space: nowrap; }
.stars-fill { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; }

/* ---------- планшет: таблицы сжимаются вместо прокрутки вбок ---------- */
@media (max-width: 920px) {
  .glance, .price-table { min-width: 0 !important; }
  .glance th, .price-table th { width: auto !important; }
  /* сайт компании есть в её карточке ниже */
  .glance th:nth-child(7), .glance td:nth-child(7) { display: none; }
  .glance td:nth-child(6) { white-space: nowrap; }
}

/* ---------- телефон ---------- */
@media (max-width: 760px) {
  body > div > section, .head-in, .site-foot > div { padding-left: 16px !important; padding-right: 16px !important; }
  .sec { padding-top: 48px !important; }
  section[id], article[id] { scroll-margin-top: 84px; }

  /* шапка: марка сверху, меню одной строкой с прокруткой вбок */
  .head-in { flex-wrap: wrap; row-gap: 2px !important; padding-top: 10px !important; padding-bottom: 0 !important; }
  .head-nav { flex-wrap: nowrap !important; gap: 20px !important; width: 100%; overflow-x: auto;
    scrollbar-width: none; font-size: 13.5px !important; }
  .head-nav::-webkit-scrollbar { display: none; }
  .head-nav a { white-space: nowrap; padding: 6px 0 10px; }

  .hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* «At a glance»: строка таблицы → карточка */
  .glance thead { display: none; }
  .glance, .glance tbody { display: block; }
  .glance tr {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    grid-template-areas:
      "rank co score"
      ".    rating rating"
      ".    fee fee"
      ".    phone phone";
    gap: 6px 12px;
    padding: 14px 14px 14px 12px;
  }
  .glance td { padding: 0 !important; }
  .glance td:nth-child(1) { grid-area: rank; align-self: center; }
  .glance td:nth-child(2) { grid-area: co; }
  .glance td:nth-child(3) { grid-area: score; align-self: center; }
  .glance td:nth-child(4) { grid-area: rating; padding-left: 40px !important; }
  .glance td:nth-child(5) { grid-area: fee; padding-left: 40px !important; }
  .glance td:nth-child(6) { grid-area: phone; padding-left: 40px !important; }
  .glance td:nth-child(5)::before { content: "Service call: "; color: #8a8275; }

  /* таблица цен → карточки с подписями */
  .price-table thead { display: none; }
  .price-table, .price-table tbody { display: block; }
  .price-table tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; padding: 14px 16px; }
  .price-table td { padding: 0 !important; }
  .price-table td:nth-child(1) { margin-bottom: 3px; }
  .price-table td:nth-child(2)::before { content: "Service call fee: "; color: #8a8275; }
  .price-table td:nth-child(3)::before { content: "Waived with repair: "; color: #8a8275; }
  .price-table td:nth-child(4) { margin-top: 5px; font-size: 13.5px; }

  /* карточки компаний */
  .co-main { padding: 20px 18px 22px !important; }
  .co-side { border-left: 0 !important; padding: 20px 18px !important; }
  .co-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* доверие: полоса уходит под название, иначе колонка с ней схлопывается в ноль */
  .trust-box { padding: 18px 16px !important; }
  .trust-row { grid-template-columns: minmax(0, 1fr) 40px !important; gap: 6px 12px !important; }
  .trust-row > :nth-child(2) { grid-column: 1 / -1; grid-row: 2; }

  .method-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
