/* ФЕБ — zakaz-lestnic.ru. Тёмная «деревянно-латунная» тема.
   База перенесена из макета редизайна (inline <style>), сверху — продакшен-слой:
   мобильная адаптивность, мобильное меню, состояния форм, каталог.
   Макет свёрстан desktop-first инлайновыми стилями, поэтому адаптив сделан
   через !important-оверрайды по подстроке inline-стиля (специфичность бьёт inline). */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#16120D;color:#F4EEE4;font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
::selection{background:#C9AE78;color:#16120D}
a{color:inherit;text-decoration:none}
video::-webkit-media-controls-fullscreen-button{display:none !important}

@keyframes febFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes febFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* hover-состояния карточек (классы из макета) */
.wtcard{transition:transform .3s,border-color .3s,box-shadow .3s}
.wtcard:hover{transform:translateY(-6px);border-color:rgba(200,168,106,.4);box-shadow:0 24px 50px -20px rgba(0,0,0,.7)}
.wtcard:hover .zi{transform:scale(1.08);opacity:.72}
.wtcard:hover .wtgrad{opacity:.45}
.hcard{transition:transform .3s,border-color .3s,box-shadow .3s}
.hcard:hover{transform:translateY(-6px);border-color:rgba(200,168,106,.4);box-shadow:0 26px 52px -22px rgba(0,0,0,.72)}
.hcard:hover .zi{transform:scale(1.07)}
.hcard:hover .arr{transform:translateX(5px)}
.vcard{transition:transform .3s,box-shadow .3s}
.vcard:hover{transform:translateY(-6px);box-shadow:0 26px 52px -22px rgba(0,0,0,.7)}
.vcard:hover .zi{transform:scale(1.07)}
.vcard:hover .pl{transform:translate(-50%,-50%) scale(1.12)}
.stepcard{transition:border-color .25s,background .25s}
.stepcard:hover{border-color:rgba(200,168,106,.45);background:rgba(201,174,120,.05)}
.swcard{transition:transform .3s}
.swcard:hover{transform:translateY(-4px)}
.mainnav a:hover{color:#F4EEE4 !important}
.msgdock a:hover{transform:scale(1.08)}
.ghostbtn:hover{background:rgba(255,255,255,0.08) !important}

/* CTA-поповер «Получить консультацию» (нативный details) */
.consult{position:relative}
.consult summary{list-style:none;cursor:pointer}
.consult summary::-webkit-details-marker{display:none}
.consult>summary:hover{transform:translateY(-1px);box-shadow:0 16px 38px -12px rgba(168,138,82,.7)}
.ccaret{transition:transform .2s}
.consult[open] .ccaret{transform:rotate(180deg)}
@keyframes cpopIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.consult[open] .cpop{animation:cpopIn .18s ease both}
.consult .crow:hover{background:rgba(255,255,255,0.08);transform:translateY(-1px)}

/* плейсхолдер изображения работы (пока нет реальных фото) */
.ph-img{background:#1B150F url('/assets/img/placeholder.svg') center/cover no-repeat}

/* lead-форма */
.leadform input:focus,.leadform textarea:focus{border-color:rgba(201,174,120,.6)!important}
.leadform.is-sent .leadbtn{background:linear-gradient(135deg,#2f7d4f,#1f5d39)!important;color:#eafff2!important;cursor:default}
.leadform .leaderr{display:none;font-size:12.5px;color:#e88;text-align:center}
.leadform.is-error .leaderr{display:block}

/* ===== мобильное меню в шапке ===== */
.navtoggle{display:none;background:none;border:1px solid rgba(214,192,160,.22);border-radius:11px;width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer;color:#F4EEE4;flex:none}
.mobnav{display:none;flex-direction:column;gap:2px;padding:10px 18px 18px;border-bottom:1px solid rgba(214,192,160,.12);background:rgba(22,18,13,.96);backdrop-filter:blur(14px)}
.mobnav a{padding:12px 6px;font-size:16px;color:#CFC4B2;border-bottom:1px solid rgba(214,192,160,.06)}
.mobnav.open{display:flex}

/* ===== каталог ===== */
.cat-layout{display:grid;grid-template-columns:276px 1fr;gap:34px;align-items:start}
.cat-sidebar{position:sticky;top:96px}
.filter-toggle{display:none}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:1100px){.cat-grid{grid-template-columns:repeat(2,1fr)}}

@media (max-width:900px){
  /* шапка */
  .mainnav{display:none!important}
  .navtoggle{display:flex}
  .hdr-phone-sub{display:none}
  .consult{display:none!important}

  /* каталог: фильтры сворачиваются над сеткой */
  .cat-layout{grid-template-columns:1fr;gap:18px}
  .cat-sidebar{position:static}
  .cat-sidebar .filter-body{display:none}
  .cat-sidebar.open .filter-body{display:block}
  .filter-toggle{display:flex}
  .cat-grid{grid-template-columns:repeat(2,1fr)!important}

  /* === адаптив инлайновых сеток макета (specificity: !important бьёт inline) === */
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr)!important}
  [style*="grid-template-columns:repeat(5,1fr)"]{grid-template-columns:repeat(2,1fr)!important}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:0.82fr 1.18fr"],
  [style*="grid-template-columns:0.85fr 1.15fr"],
  [style*="grid-template-columns:1.1fr 0.9fr"],
  [style*="grid-template-columns:1fr 0.95fr"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:1.4fr 1fr 1fr 1fr"]{grid-template-columns:1fr!important}
  /* уменьшаем вертикальные отступы секций */
  [style*="padding:90px 28px"]{padding:54px 20px!important}
  [style*="padding:84px 28px"]{padding:54px 20px!important}
  [style*="padding:70px 28px"]{padding:44px 20px!important}
  [style*="padding:60px 28px 40px"]{padding:44px 20px 28px!important}
  [style*="padding:0 28px"]{padding-left:20px!important;padding-right:20px!important}
}

@media (max-width:560px){
  .cat-grid{grid-template-columns:1fr!important}
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:repeat(5,1fr)"]{grid-template-columns:1fr!important}
  /* строка фактов в hero — в столбик */
  .hero-facts{flex-direction:column!important;gap:18px!important}
  .hero-facts>div[style*="width:1px"]{display:none!important}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
