/* Телемастер — общий каркас, шрифты и адаптив.
   Каркасные узлы (шапка, сетки) заданы классами здесь,
   декоративные стили остаются инлайновыми в HTML. */

@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 800;font-display:optional;src:url(/fonts/golos-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 800;font-display:optional;src:url(/fonts/golos-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 800;font-display:optional;src:url(/fonts/golos-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}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 800;font-display:optional;src:url(/fonts/golos-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}

:root{--px:48px} /* боковой отступ секций; на узких экранах уменьшается */
/* Фон страницы кремовый: iOS Safari подкрашивает им зону у нижней панели,
   поэтому тёмный цвет здесь давал грязный градиент поверх контента. */
html,body{margin:0;background:#faf6ef}

/* футер всегда прижат к низу страницы (нет пустой полосы под ним) */
body>div[data-screen-label]{display:flex;flex-direction:column}
body>div[data-screen-label]>footer{margin-top:auto}
/* в flex-колонке margin:0 auto сжимает секции по содержимому - возвращаем
   им полную ширину, чтобы левые края всех блоков совпадали (кроме плавающей кнопки) */
body>div[data-screen-label]>*:not(.call-fab){width:100%;box-sizing:border-box}
/* страница заканчивается светлой полосой: зона у нижней панели iOS Safari
   читается как её продолжение, а не как пустое место под тёмным футером */
footer{background:#faf6ef;padding-bottom:env(safe-area-inset-bottom)}
.footer-bottom{max-width:1200px;margin:0 auto;padding:18px var(--px);box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:#7a6e60}
.footer-bottom a{color:#7a6e60;text-decoration:none}
.br-m{display:none} /* перенос строки только на узких экранах */
/* подпись под названием в шапке */
.logo-sub{font-weight:800;font-size:11.5px;color:#7a6e60;letter-spacing:.03em;white-space:nowrap}
/* полная фраза только там, где шапке хватает места; ниже - короткая подпись,
   тема всё равно раскрыта в заголовке страницы */
@media (max-width:1279px){.logo-sub-full{display:none}}

/* ---------- шапка ---------- */
.nav-toggle{display:none}
.nav-burger{display:none}
.site-header{display:flex;align-items:center;gap:24px;padding:18px var(--px);border-bottom:1px solid #eadfd0;background:#faf6ef;position:sticky;top:0;z-index:10}
.site-nav{display:flex;gap:22px;margin-left:auto;font-size:14.5px}
.header-phone{text-align:right}
.header-phone a{white-space:nowrap}
.btn-cta{background:#c96a3b;color:#fff;font-weight:700;font-size:14.5px;padding:11px 20px;border-radius:10px;text-decoration:none;white-space:nowrap}
.nav-backdrop{display:none}
.call-fab{display:none}
.site-header{transition:transform .25s ease}
.site-header--hidden{transform:translateY(-100%)}
#req-form input,#req-form select,#req-form textarea{font-size:15px}
.btn-cta:hover{background:#b55a2e}

/* ---------- каркасные сетки ---------- */
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;padding:56px var(--px) 48px;align-items:center;max-width:1200px;margin:0 auto;box-sizing:border-box}
.hero-stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:32px;font-size:13.5px;color:#7a6e60}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.split-2{display:grid;grid-template-columns:1fr 1fr}
.split-2--wide{grid-template-columns:1fr 1.2fr}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px}
.price-row{display:grid;grid-template-columns:2.2fr 2.6fr 1fr;padding:15px 26px;border-bottom:1px solid #f3ecdf;font-size:15px;align-items:center;gap:16px}

/* телефон + кнопка в тёмных CTA-блоках */
.cta-actions{display:flex;gap:14px;align-items:center}
.cta-phone{font-weight:800;font-size:22px;color:#e8a677;white-space:nowrap;text-decoration:none}

/* согласие в форме заявки */
.consent{display:flex;gap:8px;align-items:flex-start;justify-content:center;font-size:12px;line-height:1.45;color:#7a6e60;cursor:pointer}
.consent input{width:15px;height:15px;flex:none;margin:1px 0 0;accent-color:#c96a3b;cursor:pointer}
.consent a{color:#7a6e60;text-decoration:underline}
/* уведомление о SmartCaptcha (обязательно при невидимой капче) */
.captcha-note{font-size:11.5px;line-height:1.4;color:#8c8072;text-align:center;margin-top:-4px}
.captcha-note a{color:#8c8072;text-decoration:underline}

/* ---------- слайдер (объявления на странице контактов) ---------- */
.slider{border-radius:16px;overflow:hidden;border:1px solid #eadfd0;background:#f5eee1}
.slider-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
.slider-track::-webkit-scrollbar{display:none}
.slider-track>picture{flex:0 0 100%;scroll-snap-align:center;display:block;min-width:0}
.slider-track img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
/* органы управления - под картинкой, а не поверх неё */
.slider-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px}
/* стрелки: уголок из линий, без шрифтовых символов */
.slider-arrow{width:36px;height:36px;border:1px solid #d8c9b4;border-radius:50%;background:#fff;cursor:pointer;display:grid;place-items:center;padding:0}
.slider-arrow::before{content:'';width:8px;height:8px;border-top:2px solid #5b4f40;border-right:2px solid #5b4f40}
.slider-arrow--prev::before{transform:translateX(3.4px) rotate(-135deg)}
.slider-arrow--next::before{transform:translateX(-3.4px) rotate(45deg)}
.slider-arrow:hover:not(:disabled){border-color:#c96a3b}
.slider-arrow:hover:not(:disabled)::before{border-color:#c96a3b}
.slider-arrow:disabled{opacity:.35;cursor:default}
/* точки */
.slider-dots{display:flex;align-items:center;gap:8px}
.slider-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#d8c9b4;cursor:pointer}
.slider-dots button[aria-current="true"]{background:#c96a3b;width:22px;border-radius:999px}

/* ---------- планшет ---------- */
@media (max-width:900px){
  :root{--px:24px}
  /* шапка одной полосой: лого · бургер · кнопка */
  .site-header{gap:8px}
  .nav-burger{display:block;position:relative;order:3;flex:none;width:38px;height:40px;cursor:pointer;user-select:none}
  .nav-burger::before,.nav-burger::after{content:'';position:absolute;left:8px;width:22px;height:2px;border-radius:1px;background:#4b4238;transition:transform .2s ease,box-shadow .2s ease,top .2s ease}
  .nav-burger::before{top:14px;box-shadow:0 6px 0 #4b4238}
  .nav-burger::after{top:26px}
  .btn-cta{margin-left:auto;font-size:12.5px;padding:9px 11px}
  /* меню - выпадающий слой под шапкой */
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#faf6ef;border-top:1px solid #eadfd0;border-bottom:1px solid #eadfd0;box-shadow:0 14px 22px rgba(51,46,40,.08);flex-direction:column;gap:4px;margin:0;padding:8px var(--px) 12px}
  .site-nav a{padding:12px 2px;font-size:16px}
  .nav-toggle:checked ~ .site-nav{display:flex}
  .nav-toggle:checked ~ .nav-burger::before{top:19px;transform:rotate(45deg);box-shadow:0 0 0 rgba(0,0,0,0)}
  .nav-toggle:checked ~ .nav-burger::after{top:19px;transform:rotate(-45deg)}
  .nav-toggle:checked ~ .nav-backdrop{display:block;position:fixed;inset:0;z-index:-1}
  .call-fab{display:flex;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;background:#c96a3b;color:#fff;align-items:center;justify-content:center;font-size:24px;box-shadow:0 6px 18px rgba(51,46,40,.35);z-index:20;text-decoration:none}
  /* нижняя полоса: каждый пункт с новой строки; запас сверху, чтобы
     кнопка звонка в самой нижней позиции не задевала тёмный край футера */
  .footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:9px;padding:34px var(--px) 22px;font-size:12.5px}
  .br-m{display:inline}
  /* подпись под логотипом: в две строки, чуть мельче - иначе не влезает */

  #req-form input,#req-form select,#req-form textarea{font-size:16px}
  .header-phone{display:none}
  .hero-grid{grid-template-columns:1fr;gap:26px;padding-top:34px;padding-bottom:34px}
  .split-2,.split-2--wide{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:26px}
}

/* ---------- телефон ---------- */
@media (max-width:600px){
  :root{--px:16px}
  .grid-4,.grid-3,.footer-grid,.row-2{grid-template-columns:1fr}
  .price-row{grid-template-columns:1fr auto;gap:4px 12px}
  .price-row>span:first-of-type{grid-column:1/-1;order:3}
  /* показатели в hero: три ровные колонки */
  .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  /* CTA: телефон над кнопкой, во всю ширину */
  .cta-actions{flex-direction:column;align-items:stretch;width:100%;gap:12px}
  .cta-actions a{text-align:center}
  .cta-phone{text-align:center}
}

/* уважение к настройке «уменьшить движение» */
@media (prefers-reduced-motion:reduce){
  .site-header{transition:none}
  .nav-burger::before,.nav-burger::after{transition:none}
}

/* совсем узкие экраны: прячем текст логотипа, остаётся значок "Т" */
@media (max-width:374px){
  .site-header>a[href="/"] div+div{display:none}
}
