.header-contacts{display:flex;align-items:center;gap:20px}
.header-messengers{display:flex;align-items:center;gap:8px}
.social-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border:0;border-radius:12px;font:600 15px/1.3 Manrope,Arial,sans-serif;text-decoration:none;cursor:pointer;touch-action:manipulation;transition:filter .15s,transform .15s}
.social-btn--vk{background:#0077ff;color:#fff}
.social-btn--max{background:linear-gradient(115deg,#008cff,#5b48e8 55%,#8c35e8);color:#fff}
.social-btn:hover{filter:brightness(1.12)}
.social-btn:active{transform:translateY(1px)}
.calc-contacts .social-btn,.final-contacts .social-btn{width:100%}
.header-messengers .social-btn{min-height:44px;padding:10px 13px;font-size:14px}
@media(max-width:560px){.header .brand{width:135px;flex-shrink:0}.header-messengers{gap:6px}.header-messengers .social-btn{padding:10px;font-size:13px}}
.contact-phone{font-size:16px;white-space:nowrap;display:inline-block;padding:10px 0}
.contact-phone:hover{text-decoration:underline;text-underline-offset:5px}
.calc-contacts{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;border-top:1px solid #ccc;padding-top:24px}
.calc-contacts p{width:100%;font-size:16px;margin-bottom:4px;color:#555}
.final-contacts{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.final-contacts .contact-phone{color:var(--champagne);font-size:18px}
.header-messengers .social-btn,.calc-contacts .social-btn,.final-contacts .social-btn{width:56px;height:56px;min-height:56px;padding:6px;border-radius:14px;flex-shrink:0}
.social-btn img{width:44px;height:44px;object-fit:contain}
.social-btn--vk{background:#0077ff}.social-btn--max{background:#fff}
.final-contacts{display:grid;grid-template-columns:56px 56px;gap:12px}
.final-contacts .contact-phone{grid-column:1/-1}
.header a:focus-visible,.calc-contacts a:focus-visible,.final-contacts a:focus-visible{outline:2px solid var(--champagne);outline-offset:5px}
@media(max-width:1100px){.header nav{gap:18px}.header-contacts{gap:12px}.final{grid-template-columns:170px minmax(0,1fr);gap:32px}.final-contacts{grid-column:2}}
@media(max-width:900px){.final{grid-template-columns:1fr}.final-contacts{grid-column:auto}}
/* Мобильная шапка (сведено из прежних последовательных правок) */
@media(max-width:560px){
  .header{height:94px;align-items:flex-start;padding-top:3px}
  .header .brand{width:198px;height:70px;margin-top:5px;flex-shrink:0;overflow:hidden}
  .header .brand img{content:url('/assets/logo-mobile.png');width:100%;height:100%;object-fit:contain;transform:none}
  .header-contacts{flex-direction:column;align-items:flex-end;gap:0}
  .header-contacts .contact-phone{padding:2px 0 3px}
  .header-messengers{gap:5px}
  .header-messengers .social-btn{width:44px;height:44px;min-height:44px;padding:5px;border-radius:11px}
  .header-messengers .social-btn img{width:34px;height:34px}
  .hero{padding-top:80px}
  .calc-contacts .gold-btn,.final-contacts .gold-btn{width:100%}
}

/* Телефон и логотип в шапке */
.header .header-contacts a.contact-phone{font-size:20px}
@media(min-width:901px){
  .header .brand{width:300px;flex-shrink:0}
}


/* Подробная смета калькулятора */
.calculator .estimate {
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.estimate-heading {
  font-size:20px;
  font-weight:600;
  margin-bottom:16px;
}
.estimate-scroll {
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.estimate-table {
  width:100%;
  min-width:440px;
  border-collapse:collapse;
  font-size:14px;
  text-align:left;
}
.estimate-table th,
.estimate-table td {
  padding:12px 9px;
  border-bottom:1px solid rgba(150,150,150,.22);
  vertical-align:middle;
}
.estimate-table th {
  font-size:12px;
  font-weight:600;
  color:#c9a76b;
}
.estimate-table th:not(:first-child),
.estimate-table td:not(:first-child) {
  text-align:right;
  white-space:nowrap;
}
.estimate-table td:last-child {
  font-weight:600;
}
.estimate-total {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  border-top:1px solid #c9a76b;
  margin-top:16px;
  padding-top:18px;
}
.estimate-total strong {
  font-size:28px;
  line-height:1.2;
  color:#c9a76b;
}
.estimate-note {
  font-size:13px;
  line-height:1.5;
  opacity:.8;
  margin-top:15px;
}
@media(max-width:560px) {
  .estimate-heading {font-size:18px}
  .estimate-table {font-size:12px}
  .estimate-table th,
  .estimate-table td {padding:10px 7px}
  .estimate-total strong {font-size:25px}
}

/* Калькулятор на телефоне: смета помещается в ширину экрана, страница не ездит вбок */
@media(max-width:900px) {
  .calc > * {min-width:0}
}
@media(max-width:560px) {
  .calculator {padding:24px 16px}
  .estimate-table {min-width:0}
  .estimate-table th,
  .estimate-table td {padding:9px 4px}
  .estimate-table th:first-child,
  .estimate-table td:first-child {padding-left:0}
  .estimate-table th:last-child,
  .estimate-table td:last-child {padding-right:0}
}

/* Галерея на телефоне: горизонтальная лента, видна следующая фотография */
@media (max-width:560px) {
  .works {overflow-x:hidden}
  .works .gallery {
    display:flex !important;
    flex-wrap:nowrap !important;
    grid-template-columns:none !important;
    width:100%;
    max-width:100%;
    gap:12px;
    overflow-x:auto !important;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .works .gallery > figure,
  .works .gallery > figure.large {
    flex:0 0 82% !important;
    width:82% !important;
    min-width:0 !important;
    height:340px;
    scroll-snap-align:start;
  }
}

/* Точки мобильной галереи */
.gallery-dots { display:none; }

@media (max-width:560px) {
  .gallery-dots {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:9px;
    margin-top:18px;
  }
  .gallery-dots button {
    appearance:none;
    width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#aaa;
    cursor:pointer;
  }
  .gallery-dots button.active {
    background:#caa669;
    width:11px;
    height:11px;
  }
}

/* Форма заявки ПОТОЛКУЕМ */
.lead-form {
  width: 100%;
  max-width: 520px;
  padding: 28px;
  background: #171717;
  border: 1px solid #5f5038;
  border-radius: 14px;
  color: #fff;
}
.lead-form h3 {
  margin: 0 0 22px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}
.lead-form > label:not(.lead-consent) {
  display: block;
  margin: 15px 0 7px;
  font-size: 13px;
  color: #d4ad6f;
}
.lead-form input:not([type="checkbox"]),
.lead-form textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 14px;
  border: 1px solid #555;
  border-radius: 7px;
  background: #242424;
  color: #fff;
  font: inherit;
}
.lead-form input:focus,
.lead-form textarea:focus {
  outline: 2px solid #d4ad6f;
  outline-offset: 1px;
}
.lead-form textarea {
  resize: vertical;
}
.lead-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0;
  font-size: 12px;
  line-height: 1.5;
  color: #ccc;
}
.lead-consent input {
  flex-shrink: 0;
  margin-top: 3px;
  accent-color: #d4ad6f;
}
.lead-consent a {
  color: #d4ad6f;
}
.lead-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.lead-form .gold-btn {
  width: 100%;
  cursor: pointer;
}
.lead-status {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.5;
}
@media (max-width: 560px) {
  .lead-form {
    max-width: 100%;
    padding: 22px 18px;
  }
  .lead-form h3 {
    font-size: 21px;
  }
}

/* Исправление ширины блока контактов на смартфонах */
@media (max-width: 560px) {
  .final {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    min-width: 0;
  }

  .final > * {
    min-width: 0;
    max-width: 100%;
  }

  .final .lead-form {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }

  .final .final-contacts {
    min-width: 0;
    max-width: 100%;
  }
}

/* Подтверждение успешной отправки заявки */
.lead-form .lead-status--success {
  display: block;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #639b71;
  border-radius: 8px;
  background: #193124;
  color: #d5f5dc;
  font-size: 15px;
  line-height: 1.5;
}

/* Выбор способа связи в форме заявки */
.lead-form select {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 14px;
  border: 1px solid #555;
  border-radius: 7px;
  background: #242424;
  color: #fff;
  font: inherit;
  cursor: pointer;
}

.lead-form select:focus {
  outline: 2px solid #d4ad6f;
  outline-offset: 1px;
}


/* Обозначение необязательных полей */
.lead-form .optional-label {
  color: #d4ad6f;
  font-size: 11px;
  font-weight: 400;
}

/* Выделение необязательных полей формы */
.lead-form label .optional-label {
  display: inline !important;
  color: #d4ad6f !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  opacity: 0.85;
}

/* Необязательные поля — белый курсив */
.lead-form label .optional-label {
  color: #ffffff !important;
  font-size: 13px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}


/* ===== Визуальная доводка (2026-10-31) ===== */

/* Вторая кнопка первого экрана — контурная, а не просто текст */
.actions .text-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:16px 25px;
  border:1px solid var(--champagne);
  border-radius:2px;
  color:var(--champagne);
  font-weight:600;
}
.actions .text-link:hover {background:#c8a56a14}

/* Номера на карточках «Решений» читаются на светлых фото */
.solution-grid article>span {
  padding:4px 8px;
  background:#0d0d0dcc;
  border-radius:2px;
}

@media(max-width:560px) {
  /* Первый экран: сначала фото интерьера, затем текст; шапка не перекрывает фото */
  .hero {min-height:0;padding-top:94px}
  .hero-photo {order:-1}
  .hero-copy {padding-top:28px}

  /* Три плашки в один ровный ряд */
  .hero-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .hero-facts div {padding-left:10px}
  .hero-facts b {font-size:17px}
  .hero-facts span {font-size:11px;line-height:1.35}

  /* Кнопки во всю ширину, как в формах */
  .actions {align-items:stretch}
  .actions .gold-btn,
  .actions .text-link,
  .calc-lead > summary {width:100%}
}

/* Запасной шрифт, если Google Fonts не загрузился (без него кнопки показывались с засечками) */
.gold-btn,
.calculator input {font-family:Manrope,Arial,sans-serif}

/* Значки мессенджеров: единый стиль — золотой знак в тёмной плитке */
.social-btn.social-btn--vk,
.social-btn.social-btn--telegram,
.social-btn.social-btn--max {position:relative;padding:0;background:#171717;border:1px solid #5f5038;transition:background .15s,border-color .15s}
.social-btn.social-btn--vk img,
.social-btn.social-btn--telegram img {width:100%;height:100%}
.social-btn.social-btn--max img {width:56%;height:56%}
.social-btn.social-btn--vk:hover,
.social-btn.social-btn--telegram:hover,
.social-btn.social-btn--max:hover {background:var(--champagne);border-color:var(--champagne);filter:none}
.social-btn:hover img {filter:brightness(0)}

.header-messengers .social-btn {width:44px;height:44px;min-height:44px;border-radius:11px}
.calc-contacts .social-btn,
.final-contacts .social-btn {width:48px;height:48px;min-height:48px;border-radius:12px}
.final-contacts {grid-template-columns:repeat(3,48px)}

@media(max-width:560px) {
  /* В шапке плитки 36px, зона нажатия расширена до 44px невидимой рамкой */
  .header-messengers {gap:8px}
  .header-messengers .social-btn {width:36px;height:36px;min-height:36px;border-radius:10px}
  .header-messengers .social-btn::before {content:'';position:absolute;inset:-4px}
}

/* Строка с акциями под прайсом */
.promo-note {margin:22px 0 0;padding:14px 18px;border:1px solid #5f5038;border-radius:2px;color:var(--milk);font-size:15px;line-height:1.5}
.promo-note b {color:var(--champagne);font-weight:600}
.promo-note span {display:block;margin-top:2px;color:var(--muted);font-size:12px}

/* Цена и заявка на первом экране */
.hero-quote {
  margin-top: 26px;
  padding: 22px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.hero-quote-calc {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 6px 16px;
  margin-bottom: 6px;
}
.hero-quote-calc label {
  grid-column: 1 / -1;
  font-size: 13px;
  color: #d4ad6f;
}
.hero-quote .hero-quote-calc input {
  width: 110px;
  font-size: 20px;
  font-weight: 600;
}
.hero-quote-price {
  margin: 0;
  justify-self: end;
  font-size: 15px;
  color: #ccc;
}
.hero-quote-price strong {
  font-size: 30px;
  font-weight: 600;
  color: #d4ad6f;
  white-space: nowrap;
}
.hero-quote .lead-consent,
.hero-quote .gold-btn,
.hero-quote-note,
.hero-quote .lead-status {
  grid-column: 1 / -1;
}
.hero-quote .lead-consent {
  margin: 4px 0;
}
.hero-quote-note {
  margin: 4px 0 0;
  font-size: 13px;
  color: #bbb;
}
.hero-quote-note b {
  color: #d4ad6f;
}
.hero-quote-note a {
  color: #d4ad6f;
  text-decoration: underline;
}
.hero-copy .hero-facts {
  margin-top: 34px;
}
@media (max-width: 560px) {
  .hero-quote {
    grid-template-columns: 1fr;
    padding: 18px 16px;
  }
  .hero-quote-price strong {
    font-size: 26px;
  }
}
@media (min-width: 901px) {
  .hero-copy {
    padding-top: 110px;
    padding-bottom: 40px;
  }
  .hero-copy h1 {
    font-size: clamp(44px, 4.2vw, 70px);
    margin: 16px 0 20px;
  }
  .hero-copy .hero-facts {
    margin-top: 26px;
  }
}

/* Повод оставить телефон и подсказка для мессенджеров */
.hero-quote-offer {
  grid-column: 1 / -1;
  margin: 2px 0 4px;
  font-size: 15px;
  line-height: 1.45;
  color: #f1e3c8;
}
.msg-hint {
  font-size: 13px;
  color: #bbb;
}
.msg-hint .msg-link {
  color: #d4ad6f;
  text-decoration: underline;
}
