/* Хаус-Строй: баннеры зимней акции -> /stroitelstvo-zimoy/ (13.11.2026). Всё под префиксом hsz-, на стили шаблона не влияет.
   Разметку выводит /local/hsz/hsz.php, карточки каталога дополняет /local/hsz/hsz.js. */
.hsz,.hsz *{box-sizing:border-box}
.hsz{--n:#0D3745;--n2:#123F4E;--l:#BEE563;--ld:#A8D24A;--ink:#252525;--mut:#5F6B6F;font-family:"Nunito Sans",Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
.hsz a{text-decoration:none}
.hsz-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:1px solid transparent;font:700 14px/1.2 "Nunito Sans",Arial,sans-serif;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.hsz-btn svg{width:16px;height:16px;transition:transform .2s}
.hsz-btn:hover svg{transform:translateX(3px)}
.hsz-btn--l{background:var(--l);color:var(--ink)}
.hsz-btn--l:hover{background:var(--ld)}
.hsz-btn--o{border-color:rgba(255,255,255,.5);color:#fff}
.hsz-btn--o:hover{border-color:var(--l);color:var(--l)}
.hsz-btn:focus-visible,.hsz a:focus-visible,.hsz button:focus-visible{outline:3px solid var(--l);outline-offset:2px}
.hsz-pct{display:grid;place-items:center;flex:0 0 auto;width:74px;height:74px;border-radius:50%;background:var(--l);color:var(--n);font:900 26px/1 "Nunito Sans",Arial,sans-serif;letter-spacing:-.02em;box-shadow:0 0 0 6px rgba(190,229,99,.22)}
.hsz-cd{display:inline-flex;align-items:center;gap:6px;font:700 13px/1.2 "Nunito Sans",Arial,sans-serif;white-space:nowrap}
.hsz-cd::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--l);box-shadow:0 0 0 0 rgba(190,229,99,.6);animation:hsz-p 1.8s ease-out infinite}
@keyframes hsz-p{to{box-shadow:0 0 0 8px rgba(190,229,99,0)}}
/* лесенка скидок */
.hsz-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.hsz-step{position:relative;padding:10px 12px;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.72);font:600 12px/1.3 "Nunito Sans",Arial,sans-serif}
.hsz-step b{display:block;font:900 20px/1.1 "Nunito Sans",Arial,sans-serif;color:#fff}
.hsz-step.is-now{border-color:var(--l);background:rgba(190,229,99,.12);color:#fff}
.hsz-step.is-now b{color:var(--l)}
.hsz-step.is-now::after{content:"сейчас";position:absolute;top:-9px;right:8px;padding:2px 6px;background:var(--l);color:var(--n);font:800 10px/1.2 "Nunito Sans",Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.hsz-step.is-past{opacity:.38;text-decoration:line-through}

/* 1. Тонкая полоса над шапкой на всех страницах, кроме лендинга и исключённых разделов */
.hsz-bar{position:relative;z-index:501;background:var(--n);color:#fff}
.hsz-bar-off .hsz-bar{display:none}
.hsz-bar__in{display:flex;align-items:center;justify-content:center;gap:16px;min-height:44px;max-width:1500px;margin:0 auto;padding:6px 52px 6px 16px;font-size:14px;line-height:1.3}
.hsz-bar__t b{color:var(--l);font-weight:900}
.hsz-bar__a{display:inline-flex;align-items:center;gap:6px;color:var(--l)!important;font-weight:800;border-bottom:1px solid rgba(190,229,99,.4)}
.hsz-bar__a:hover{border-bottom-color:var(--l)}
.hsz-bar__x{position:absolute;right:8px;top:50%;width:36px;height:36px;margin-top:-18px;border:0;background:none;color:rgba(255,255,255,.7);font-size:22px;line-height:1;cursor:pointer}
.hsz-bar__x:hover{color:#fff}
.hsz-bar .hsz-cd{color:rgba(255,255,255,.85)}

/* 2. Главная: большой блок после плиток каталога */
.hsz-home{margin:0 auto 60px;max-width:1500px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--n);color:#fff;overflow:hidden}
.hsz-home__pic{position:relative;min-height:380px}
.hsz-home__pic picture,.hsz-home__pic img{position:absolute;inset:0;width:100%;height:100%}
.hsz-home__pic img{object-fit:cover;object-position:50% 60%}
.hsz-snow{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
.hsz-home__pic .hsz-pct{position:absolute;right:20px;top:20px;z-index:2;width:92px;height:92px;font-size:32px}
.hsz-home__cap{position:absolute;left:0;bottom:0;z-index:2;padding:9px 14px;background:rgba(13,55,69,.88);font:700 13px/1.2 "Nunito Sans",Arial,sans-serif}
.hsz-home__txt{display:flex;flex-direction:column;gap:18px;padding:40px 44px}
.hsz-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;color:var(--l);font:800 12px/1.2 "Nunito Sans",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.hsz-eyebrow .hsz-cd{letter-spacing:0;text-transform:none;color:#fff}
.hsz-h{margin:0;font:900 32px/1.12 "Nunito Sans",Arial,sans-serif;color:#fff}
.hsz-h em{font-style:normal;color:var(--l)}
.hsz-home__p{margin:0;font-size:16px;line-height:1.5;color:rgba(255,255,255,.82)}
.hsz-home__cta{display:flex;flex-wrap:wrap;gap:12px}

/* 3. Каталог: полоса над сеткой проектов */
.hsz-strip{grid-column:1/-1;display:flex;align-items:center;gap:22px;padding:18px 22px;background:linear-gradient(100deg,var(--n) 0,var(--n2) 100%);color:#fff;position:relative;overflow:hidden}
.hsz-strip::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(190,229,99,.16),transparent 70%);pointer-events:none}
.hsz-strip__t{flex:1 1 auto;min-width:0}
.hsz-strip__h{margin:0 0 4px;font:900 19px/1.25 "Nunito Sans",Arial,sans-serif;color:#fff}
.hsz-strip__p{margin:0;font-size:14px;line-height:1.45;color:rgba(255,255,255,.78)}
.hsz-strip__p b{color:#fff}
.hsz-strip__r{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto}
.hsz-strip .hsz-cd{color:rgba(255,255,255,.85)}

/* 4. Карточка проекта в каталоге: зимняя цена под обычной */
.hsz-wp{display:block;align-self:flex-start;margin:-6px 0 22px;padding:4px 8px;background:#EEF8D9;color:#2C4A0E;font:700 13px/1.25 "Nunito Sans",Arial,sans-serif}
.hsz-wp b{font-weight:900;color:#1E3A06}

/* 5. Страница проекта: блок у цены */

.hsz-proj{display:flex;align-items:center;gap:16px;max-width:600px;margin:20px 0 32px;padding:14px 18px 14px 14px;border:1px solid rgba(190,229,99,.4);background:rgba(190,229,99,.08);color:#fff!important;text-align:left;text-decoration:none!important;transition:border-color .15s,background-color .15s}
.hsz-proj:hover{border-color:var(--l);background:rgba(190,229,99,.14)}
.hsz-proj:focus-visible{outline:3px solid var(--l);outline-offset:2px}
.hsz-proj .hsz-pct{width:54px;height:54px;font-size:18px;box-shadow:0 0 0 5px rgba(190,229,99,.18)}
.hsz-proj__body{flex:1 1 auto;min-width:0}
.hsz-proj__row{display:block;font:600 15px/1.3 "Nunito Sans",Arial,sans-serif;color:rgba(255,255,255,.85)}
.hsz-proj__new{font:900 23px/1.2 "Nunito Sans",Arial,sans-serif;color:var(--l);white-space:nowrap}
.hsz-proj__note{display:block;margin-top:3px;font-size:13px;line-height:1.4;color:rgba(255,255,255,.7)}
.hsz-proj__note b{font-weight:800;color:#fff}
.hsz-proj__go{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;color:var(--l);font:800 14px/1.2 "Nunito Sans",Arial,sans-serif;white-space:nowrap}
.hsz-proj__go svg{width:16px;height:16px;transition:transform .2s}
.hsz-proj:hover .hsz-proj__go svg{transform:translateX(3px)}
/* узкая колонка: справа только стрелка, слово остаётся для экранного диктора */
@media (max-width:1599.98px){
  .hsz-proj__go{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(190,229,99,.55);border-radius:50%}
  .hsz-proj:hover .hsz-proj__go{background:var(--l);color:var(--n)}
  .hsz-proj__go span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* 6. Телефон, страница проекта: липкая полоса после блока цены */
.hsz-sticky{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;gap:12px;padding:10px 84px 10px 14px;background:var(--n);color:#fff;box-shadow:0 -6px 24px rgba(0,0,0,.18);transform:translateY(110%);transition:transform .25s}
.hsz-sticky.is-on{transform:none}
.hsz-sticky__t{flex:1 1 auto;min-width:0;font-size:13px;line-height:1.3}
.hsz-sticky__t b{display:block;font:900 16px/1.2 "Nunito Sans",Arial,sans-serif;color:var(--l)}
.hsz-sticky .hsz-btn{min-height:42px;padding:0 14px;font-size:13px}

@media (max-width:991.98px){
  .hsz-home{grid-template-columns:minmax(0,1fr)}
  .hsz-home__pic{min-height:0;aspect-ratio:16/10}
  .hsz-home__txt{padding:26px 20px 28px}
  .hsz-h{font-size:26px}
}
@media (max-width:767.98px){
  .hsz-bar__in{justify-content:flex-start;gap:10px;font-size:13px;padding-left:12px}
  .hsz-bar__t .hsz-hide-m{display:none}
  .hsz-bar .hsz-cd{display:none}
  .hsz-strip{flex-wrap:wrap;gap:14px;padding:16px}
  .hsz-strip .hsz-pct{width:56px;height:56px;font-size:20px}
  .hsz-strip__t{flex:1 1 calc(100% - 80px)}
  .hsz-strip__h{font-size:16px}
  .hsz-strip__r{flex:1 1 100%;align-items:stretch}
  .hsz-strip__r .hsz-btn{width:100%}
  .hsz-steps{gap:4px}
  .hsz-step{padding:8px}
  .hsz-step b{font-size:17px}
  .hsz-wp{margin:-4px 0 16px}
  .hsz-proj{gap:12px;margin:16px 0 26px;padding:12px}
  .hsz-proj .hsz-pct{width:44px;height:44px;font-size:15px}
  .hsz-proj__new{font-size:20px}
  .hsz-proj__go{width:36px;height:36px}
  .hsz-home__cta .hsz-btn{flex:1 1 100%}
  .hsz-home__pic .hsz-pct{right:14px;top:14px;width:68px;height:68px;font-size:23px}
}
@media (prefers-reduced-motion:reduce){.hsz *{animation:none!important;transition:none!important}}
