/* Страница кухонь для покупателей — свои файлы вместо Тильды (перенос 19.10.2026).
   Эталон вида — живая kuhniraschet.ru/ufa: размеры, отступы и цвета повторяют её блоки и сетку Тильды (T372, T004, T123,
   сетка 1200 → 960 → 640, колонка «8 из 12 со сдвигом 2»), квиз и первый экран — наш код с той же страницы. */

/* --- Шрифт Inter — свой, не с Google: ОДИН урезанный файл (19.10.2026; было три файла 18 + 48 + 85 КБ, третий тянулся
   только ради знака «₽»). Сделан самим Google Fonts (параметр text=) из того же Inter 4.001, переменный wght 100–900:
   латиница, «Латиница-1» (« » ² nbsp …), кириллица, тире и кавычки, № ₽ € ™ стрелки — 58 КБ. Начертания те же, что отдаёт
   Google живой странице (отдельно 300…700 — поэтому заголовок с весом 800 рисуется семисотым, как на живой).
   Нужен знак, которого в файле нет, — браузер возьмёт его из системного шрифта. Добавить знак — пересобрать файл тем же
   запросом: fonts.googleapis.com/css2?family=Inter:wght@300..700&text=<все знаки + новый> → файл woff2 из ответа.
   Лицензия — fonts/OFL.txt. */
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/inter.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter.woff2) format('woff2')}

/* --- Основа (как у Тильды: обнуление отступов, сглаживание текста в блоках, цвет ссылок, фокус с клавиатуры). */
body{margin:0}
div,span,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,code,img,b,u,i,center,table,tr,th,td,video{margin:0;padding:0;border:0}
.recs{-webkit-font-smoothing:antialiased}
:where(.recs) a{color:#ff8562;text-decoration:none}
:where(.recs) b,:where(.recs) strong{font-weight:700}
:where(.recs) a,:where(.recs) button{outline:none}
:where(.recs) a:focus-visible,:where(.recs) button:focus-visible{outline-color:#2015FF;outline-offset:4px;outline-style:auto}
@media screen and (max-width:1024px){a:active,button:active{-webkit-tap-highlight-color:rgba(255,255,255,.1)}}

/* --- Сетка текстовых блоков: колонка шириной 8 из 12 со сдвигом на 2 (1200 → 960 → 640, на узких — во всю ширину с полями 20). */
.cnt{margin-left:auto;margin-right:auto;width:100%;max-width:1200px;padding:0}
.col{display:block;margin:0 20px;width:100%;max-width:760px;padding-left:200px}
@media screen and (max-width:1200px){.cnt{max-width:960px}.col{margin:0 10px;max-width:620px;padding-left:160px}}
@media screen and (max-width:960px){.cnt{max-width:640px}.col{margin:0;padding:0 20px;max-width:100%;box-sizing:border-box}}
.txt{font-family:'Inter',Arial,sans-serif;font-weight:300;color:#000}
.rec-grey{background-color:#f4f4f4}
.t004{position:relative;padding-top:8px;padding-bottom:6px}

/* «Не переплачивайте посредникам» (T372): черта и заголовок с плашкой. */
.rec-372{padding-top:15px;padding-bottom:15px}
.r372-line{position:relative;width:80px;height:3px;background-color:#e04e3a;margin-bottom:14px;max-width:100%}
.r372-text{font-size:24px;line-height:1.3;color:#e04e3a;font-weight:700}
.r372-text .mark{color:#fff;background-color:#e04e3a}

/* Текст до и после квиза (T004). */
.rec-copy{padding-top:0;padding-bottom:15px}
.copy{font-size:17px;line-height:1.5;color:#5c3021;font-weight:300}

/* Квиз (T123): во всю ширину, снизу 30. */
.rec-quiz{padding-top:0;padding-bottom:30px}

/* Подвал (T004): реквизиты. */
.rec-foot{padding-top:15px;padding-bottom:15px}
.foot{font-size:10px;line-height:1.5;font-weight:300;opacity:.8}
.foot-in{line-height:26px}
.foot a{color:#000;box-shadow:none;text-decoration:none;border-bottom:1px solid #000}

@media screen and (max-width:480px),(orientation:landscape) and (max-height:480px){
  .r372-text{font-size:18px;line-height:1.3}
  .copy{font-size:15px;line-height:1.5}
}
@media screen and (max-width:480px){.rec-372{padding-top:0}}

/* --- Первый экран (наш «резиновый» блок с Тильды, Скрипты/тильда/формы/первый-экран-кухни.html: образец — Zero Block Антона).
   Текст сразу своего размера и в потоке: встроенный браузер увеличит шрифт — строки перенесутся, карточки вырастут, ничего не наедет. */
.kr-hero{background:#fff;font-family:'Inter',Arial,sans-serif;color:#5e3324;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow:hidden}
.kr-hero *{box-sizing:border-box}
.kr-wrap{max-width:761px;margin:0 auto;padding:4px 0 10px}
.kr-icon{display:block;width:45px;height:45px;margin:0 0 -7px 18px}
.kr-title{margin:0 0 0 25px;font-size:27px;line-height:1.3;font-weight:800}
.kr-sub{margin:1px 0 14px 25px;font-size:14px;line-height:1.5;font-weight:400}
.kr-card{position:relative;background:#f9f7f7;border-radius:10px;padding:14px 0 11px 9px;min-height:211px}
.kr-quote{position:absolute;left:9px;top:0;font-size:34px;line-height:1.3;font-weight:700;color:#f75a24;z-index:3}
.kr-items{position:relative;z-index:2;width:452px;max-width:100%}
.kr-item{background:#fff;border-radius:10px;padding:13px 16px;min-height:90px;font-size:14px;line-height:1.5;display:flex;align-items:flex-start}
.kr-item+.kr-item{margin-top:6px}
.kr-item b{font-weight:700}
.kr-photo{position:absolute;left:469px;bottom:4px;width:167px;height:auto;z-index:1;display:block}
@media (max-width:799px){
  .kr-wrap{max-width:none;padding:2px 0 0}
  .kr-icon{width:45px;height:45px;margin:0 0 -6px 4px}
  .kr-title{margin:0 14px;font-size:clamp(20px,5.1vw,24px);line-height:1.25}
  .kr-sub{margin:2px 14px 0;font-size:clamp(13px,3.3vw,15px);line-height:1.3;opacity:.8}
  .kr-card{margin-top:clamp(18px,6vw,30px);border-radius:10px 10px 0 0;padding:clamp(22px,6vw,30px) 0 clamp(16px,4.5vw,22px) 0;min-height:clamp(220px,58vw,300px)}
  .kr-quote{left:14px;top:clamp(8px,3vw,14px);font-size:clamp(28px,7.5vw,34px);line-height:1}
  .kr-items{width:80%}
  .kr-item{border-radius:0 10px 10px 0;background:rgba(255,255,255,.8);padding:clamp(9px,2.6vw,12px) 12px clamp(9px,2.6vw,12px) 14px;min-height:0;font-size:clamp(13px,3.4vw,15px);line-height:1.4}
  .kr-item+.kr-item{margin-top:clamp(14px,5vw,22px);width:96%}
  .kr-item span{opacity:.9}
  .kr-photo{left:auto;right:-8.5vw;bottom:0;width:45vw;max-width:230px}
}
@media (max-width:799px) and (min-width:500px){.kr-photo{right:0}.kr-items{width:72%}}

/* --- Квиз «расчёт кухни» (вид — как у квиза образца: те же размеры, цвета, скругления; перенесён из квиз-кухни-покупатели.html).
   Квиз — в обычной части страницы (не «теневой»): Вебвизор Метрики не записывает Shadow DOM. Стили ограничены #km-quiz. */
#km-quiz{display:block}
#km-quiz .kq-root{width:100%;max-width:760px;margin:0 auto;font-family:'Inter',system-ui,sans-serif;letter-spacing:normal;text-transform:none;text-align:left;-webkit-text-size-adjust:100%}
#km-quiz .kq-modal{background:#fff;border-radius:12px;max-width:760px;width:100%;max-height:600px;box-sizing:border-box;color:#333;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,0.1);margin:0 auto;position:relative}
#km-quiz .kq-header{padding:20px 24px 0;flex-shrink:0}
#km-quiz .kq-progress{height:4px;background:#e8e8e8;border-radius:2px;margin-bottom:8px;overflow:hidden}
#km-quiz .kq-progress-fill{height:100%;background:#e04e3a;border-radius:2px;transition:width 0.3s ease}
#km-quiz .kq-content{flex:1;overflow-y:auto;padding:16px 24px}
#km-quiz .kq-footer{flex-shrink:0;padding:12px 24px 20px;border-top:1px solid #e8e8e8}
#km-quiz .kq-title{font-weight:700;font-size:18px;margin:0 0 12px;line-height:1.4;color:#333;font-family:inherit}
#km-quiz .kq-text{font-size:15px;color:#555;line-height:1.6;margin:0 0 16px;white-space:pre-line;font-family:inherit}
#km-quiz .kq-title b,#km-quiz .kq-text b{font-weight:700}
#km-quiz .kq-buttons{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
#km-quiz .kq-buttons:last-child{margin-bottom:0}
#km-quiz .kq-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
#km-quiz .kq-grid .kq-btn{min-width:0}
#km-quiz .kq-grid:last-child{margin-bottom:0}
#km-quiz .kq-btn{padding:14px 16px;border-radius:8px;font-size:14px;cursor:pointer;text-align:left;line-height:1.4;width:100%;box-sizing:border-box;background:#f4f4f4;border:2px solid transparent;color:#333;font-family:inherit;font-weight:400;letter-spacing:normal;transition:all 0.15s ease;display:flex;align-items:center;gap:10px;margin:0;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
@media(hover:hover){#km-quiz .kq-btn:hover{background:#eee;border-color:#e04e3a}}
#km-quiz .kq-btn-selected{background:#fef2f0;border-color:#e04e3a}
#km-quiz .kq-btn-card{flex-direction:column;align-items:flex-start;gap:4px}
#km-quiz .kq-btn-card .kq-row{display:flex;align-items:center;gap:10px;width:100%}
#km-quiz .kq-btn-card .kq-price{font-weight:600}
#km-quiz .kq-btn-card .kq-desc{font-size:13px;color:#888;line-height:1.4;padding-left:28px}
#km-quiz .kq-btn-primary{background:#e04e3a;color:#fff;border:none;padding:16px;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;width:100%;box-sizing:border-box;text-align:center;font-family:inherit;letter-spacing:normal;transition:background 0.15s;margin:0;-webkit-appearance:none;appearance:none}
#km-quiz .kq-btn-primary:hover{background:#c9443a}
#km-quiz .kq-btn-primary:disabled{background:#ccc;cursor:not-allowed}
#km-quiz .kq-radio{flex-shrink:0;width:18px;height:18px;border-radius:50%;border:2px solid #e04e3a;display:inline-block;position:relative;transition:border-color 0.15s;box-sizing:content-box}
#km-quiz .kq-radio-selected::after{content:'';position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:50%;background:#e04e3a}
#km-quiz .kq-input{width:100%;padding:14px 16px;font-size:16px;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;outline:none;transition:border-color 0.15s;margin:0;background:#fff;color:#333;-webkit-appearance:none;appearance:none}
#km-quiz .kq-input:focus{border-color:#e04e3a}
#km-quiz .kq-input-error{border-color:#e04e3a}
#km-quiz .kq-error-text{color:#e04e3a;font-size:13px;margin-top:6px}
/* Строка согласия — касание не меньше 24 px (WCAG 2.2, 2.5.8; было 18 — одна строка текста 13 px): поля 6 px сверху и снизу
   внутрь строки, отступы уменьшены на столько же (14 → 8 сверху, −6 снизу) — текст и всё ниже стоят точка в точку как было. */
#km-quiz .kq-consent{display:flex;align-items:flex-start;gap:8px;margin:8px 0 -6px;padding:6px 0;cursor:pointer;font-size:13px;color:#666;line-height:1.4}
#km-quiz .kq-consent input{margin-top:2px;flex-shrink:0;cursor:pointer}
#km-quiz .kq-consent a{color:#e04e3a;text-decoration:underline}
#km-quiz .kq-success{padding:24px 0;text-align:left;line-height:1.6;font-size:16px;color:#333}
#km-quiz .kq-success b{font-weight:700}
@keyframes kq-spin{to{transform:rotate(360deg)}}
#km-quiz .kq-spinner{width:24px;height:24px;border:3px solid #e8e8e8;border-top-color:#e04e3a;border-radius:50%;animation:kq-spin 0.6s linear infinite;margin:0 auto 16px}
/* Вариант квиза (гибрид, gibrid.html, 19.10.2026): строка под вопросом (серая, как пояснения карточек бюджета), строка над
   вопросом о связи (цвет кнопок), кнопка «назад» — тихой строкой под карточкой, касание не меньше 44 px (Apple, WCAG 2.5.5). На живой странице
   этих элементов нет — её вид эти правила не трогают. */
#km-quiz .kq-note{font-size:14px;color:#888;line-height:1.4;margin:-6px 0 12px;font-family:inherit}
#km-quiz .kq-kicker{font-size:13px;font-weight:600;color:#e04e3a;line-height:1.4;margin:0 0 4px;font-family:inherit}
#km-quiz .kq-nav{flex-shrink:0;padding:0 24px 6px}
#km-quiz .kq-back{display:inline-flex;align-items:center;min-height:44px;padding:0 12px 0 0;margin:0;background:none;border:0;color:#888;font-size:14px;line-height:1.4;font-family:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
@media(hover:hover){#km-quiz .kq-back:hover{color:#e04e3a}}

/* --- Страница политики (privacy.html): один текстовый блок, как на живой (T004, отступы 60, текст 20 → 18 → 16). */
.rec-doc{padding-top:60px;padding-bottom:60px}
.doc{font-size:20px;line-height:1.55;overflow-wrap:break-word}   /* слово длиннее строки (заголовки «…персональных…» при масштабе 200 %, окно 195 px) переносится, а не уезжает вбок; при обычной ширине таких слов нет — вид прежний */
.doc a{overflow-wrap:anywhere}   /* длинные адреса в тексте политики не вылезают вбок на узких телефонах (320 px; на живой — вылезали) */
.doc .h1{font-size:26px}
.doc .h2{font-size:22px}
@media screen and (max-width:1200px){.doc{font-size:18px}}
@media screen and (max-width:640px){.doc{font-size:16px;line-height:1.45}}

/* Ловушки для роботов (устройство антиспама 10.1): поле на втором вопросе квиза и ссылка — за пределами экрана
   (не display:none — программы-заполнители пропускают скрытые так поля), без фокуса с клавиатуры, скрыты от чтения экрана. */
#km-quiz .kq-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.kq-hl{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* --- «Спасибо» (spasibo.html): та же карточка квиза; кнопки мессенджеров — как у Егора (340×56, MAX — перелив, Telegram —
   голубая, на телефоне — во всю ширину). */
.rec-thanks{padding-top:30px}
#km-quiz .kq-ty{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 0 24px}
#km-quiz .kq-ty-btn{position:relative;display:flex;align-items:center;box-sizing:border-box;width:340px;max-width:100%;height:56px;border-radius:8px;text-decoration:none;color:#fff;background:#169ee6}
#km-quiz .kq-ty-max{background:linear-gradient(0.38turn,#8b47ed 0%,#00c1ff 100%)}
#km-quiz .kq-ty-ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);display:flex;width:24px;height:24px}
#km-quiz .kq-ty-arr{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:flex;width:20px;height:20px}
#km-quiz .kq-ty-ico svg,#km-quiz .kq-ty-arr svg{width:100%;height:100%}
#km-quiz .kq-ty-text{flex:1;padding:0 44px 0 48px;font:700 14px/1.5 Arial,sans-serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:480px){#km-quiz .kq-ty-btn{width:100%}}
.page-grey{background:#f4f4f4}   /* короткие страницы («Спасибо»): серый фон до низа экрана, как у блоков */
