/* ====== NB-2025 Banner family (изолированное пространство имён) ====== */

:root{
  --nb-2025-bg: #D5FF3F;      /* лайм из макета */
  --nb-2025-ink: #18171E;     /* тёмный текст */
  --nb-2025-accent: #6C5DD1;  /* фиолетовая кнопка */
  --nb-2025-chip: #524EAB;       /* чип таймера */
  --nb-2025-white: #fff;
}

.nb-2025-wrap{
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 999;
  padding-top: 0;
}
.nb-2025-banner{
  --h: 100px;
  position: relative;
  margin: 0 auto;
  max-width: 1160px;
  height: var(--h);
  background: var(--nb-2025-bg) center/cover no-repeat;
  padding: 0 18px;
  border-radius: 0;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  border-radius: 16px;
  cursor: pointer;
}

/* Внутренняя сетка */
.nb-2025__inner{
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  width: 100%;
  height: 100%;
}

/* Левая колонка (заголовки) */
.nb-2025__left{min-width: 0;color:var(--nb-2025-ink);
    padding-left: 100px;
}
@media (max-width:860px){
.nb-2025__left{ padding-left: 40px; }
}
@media (max-width:740px){
.nb-2025__left{ padding-left: 0px; }
}

.nb-2025__title{
  margin: 0;
  font-family: Mulish, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: var(--font-weight-bold, 700);
  line-height: 100%; /* 32px */
  letter-spacing: -0.64px;
}
.nb-2025__subtitle{
  margin: 5px 0 0;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 110%;
  color: var(--nb-2025-ink);
}

/* Центральная «наклейка» (картинка) */
.nb-2025__promo{
  height: inherit; /* под макет 1200 */
  display: flex; align-items: center; justify-content: center;
}
.nb-2025__promo-img{
  height: auto; width: auto; display: block;
  object-fit: contain; 
  max-height: 100%;
}
.nb-2025__promo-img.mob{
    display: none;
}
.nb-2025__promo-img.pc{
    display: flex;
    margin-right: -12px;
}

/* Правая колонка (таймер + кнопка) */
.nb-2025__right{
  display: flex;
  flex-direction: row;
  justify-items: end;
  align-items: center;
  gap: 20px;
}
.nb-2025__timer{display:grid;gap:6px;justify-items:end}
.nb-2025__timer-label{
  font: 700 14px/1.1 Mulish, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #000;
}
.nb-2025__timer-chip{
  display:inline-flex;align-items:center;gap:6px;
  background: var(--nb-2025-chip);
  color:#E8E8FC;
  font: 700 14px/1.1 Mulish, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 110%; /* 15.4px */
  letter-spacing: 0.56px;
  padding: 6px 8px; border-radius: 30px;
}
.nb-2025__btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width: 180px; padding: 16px 30px 18px 30px; gap: 10px;
  font: 700 16px/1.1 Mulish, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--nb-2025-white);
  background: var(--nb-2025-accent); border-radius: 4px; text-decoration: none;
}
.nb-2025__btn:hover{text-decoration: none; color: var(--nb-2025-white)}

/* Кнопка закрытия */
.nb-2025__close{
  position: absolute; top: 8px; right: 10px;
  border: 0; background: transparent; padding: 0; cursor: pointer; z-index: 2;
  display: none;
}

/* ---------- Модификаторы под варианты ---------- */
/* short: только заголовок — оставляем базовые размеры */
.nb-2025--short .nb-2025__title{max-width: 267px;}
.nb-2025--short .nb-2025__subtitle{display:none}

/* shortsub: компактнее заголовок, добавляем подзаголовок */
.nb-2025--shortsub .nb-2025__title{font-size:24px}
.nb-2025--shortsub .nb-2025__subtitle{font-size:14px}

/* long: многстрочный заголовок, меньше кегль */
.nb-2025--long .nb-2025__title{
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 110%;
}
.nb-2025--long .nb-2025__subtitle{display:none}

/* longsub: оба текста компактнее */
.nb-2025--longsub .nb-2025__title{
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 110%; /* 22px */
  text-transform: uppercase;
}
.nb-2025--longsub .nb-2025__subtitle{font-size:12px}

/* ---------- Респонсив под макеты 1200 / 980 / 640 / 320 ---------- */

/* ≤1199 — высота баннера 70px */
@media (max-width:1199px){
  .nb-2025-banner{ --h:80px; height:var(--h); padding:0 18px; }
  .nb-2025-banner.nb-2025--shortsub { --h:90px; height:var(--h);}

  .nb-2025-banner.nb-2025--long { --h:90px; height:var(--h);}

  .nb-2025-banner.nb-2025--longsub { --h:90px; height:var(--h); }

  .nb-2025__promo{  }
  .nb-2025__title{ font-size:25px; }

  .nb-2025--longsub .nb-2025__title{
    font-size: 17px;
  }

  .nb-2025__subtitle{ font-size:14px; }
  .nb-2025__timer-label{ font-size:10px; }
  .nb-2025__timer-chip{ font-size:12px; }
  .nb-2025__btn{ min-width:119px;} /* как в макете — на ~≤1100 кнопка скрывается */
}

/* ≤980 — ужимаем центральную наклейку и выравнивания */
@media (max-width:980px){
  .nb-2025-banner{ --h:65px; height:var(--h); padding:0 18px; }
  .nb-2025-banner.nb-2025--shortsub { --h:75px; height:var(--h);}

  .nb-2025-banner.nb-2025--long { --h:85px; height:var(--h);}

  .nb-2025-banner.nb-2025--longsub { --h:85px; height:var(--h); }

  .nb-2025__title{ font-size:20px; }

  .nb-2025--shortsub .nb-2025__title{font-size:18px}
  .nb-2025--shortsub .nb-2025__subtitle{font-size:12px}

  .nb-2025--long .nb-2025__title{font-size: 14px;}

  .nb-2025--longsub .nb-2025__title{ font-size: 16px; }
  .nb-2025--longsub .nb-2025__subtitle{font-size:10px}

  .nb-2025__inner{ gap:16px; }
  
  .nb-2025__promo{  }
  .nb-2025__right{ justify-items:end; gap: 16px;}
  .nb-2025__btn{ padding: 10px 30px;}

  .nb-2025__promo-img.pc{
    display: none;
  }
  .nb-2025__promo-img.mob{
    display: flex;
  }
}

@media (max-width:740px){
    .nb-2025__btn{ display: none !important;}
}


@media (max-width:700px){
  .nb-2025--long .nb-2025__promo-img.mob{
    display: none;
  }
  .nb-2025--longsub .nb-2025__promo-img.mob{
    display: none;
  }
}


/* ≤640 — компактные размеры, кнопка возвращается (маленькая) */
@media (max-width:640px){
  .nb-2025-banner{ --h:65px; height:var(--h); padding:0 10px; }
  .nb-2025-banner.nb-2025--shortsub { --h:75px; height:var(--h);}

  .nb-2025-banner.nb-2025--long { --h:75px; height:var(--h);}

  .nb-2025-banner.nb-2025--longsub { --h:75px; height:var(--h); }

  .nb-2025__inner{ gap:16px; }

  .nb-2025__title{ font-size:16px; }
  .nb-2025--shortsub .nb-2025__title{font-size:16px}

  .nb-2025--long .nb-2025__title{font-size: 15px;}

  .nb-2025--longsub .nb-2025__title{ font-size: 14px; }
  .nb-2025--longsub .nb-2025__subtitle{font-size:10px}

  .nb-2025__subtitle{ font-size:12px; }
  .nb-2025__promo{  }
  .nb-2025__timer-label{ display:none; } /* как в макете */
  .nb-2025__timer-chip{ font-size:10px; height:20px; padding:4px 6px; }
  .nb-2025__btn{
    display:inline-flex; font-size:14px; padding:10px 10px; position:relative;
  }
  .nb-2025__right{ gap:16px; }
}

/* ≤410 — ещё компактнее */
@media (max-width:540px){
  .nb-2025-banner {
      --h: 113px;
      height: var(--h);
      padding: 0 10px;
      position: relative;
  }
  .nb-2025-banner.nb-2025--shortsub { --h:113px; height:var(--h);}

  .nb-2025-banner.nb-2025--long { --h:113px; height:var(--h);}

  .nb-2025-banner.nb-2025--longsub { --h:113px; height:var(--h); }

  .nb-2025__inner {
      gap: 10px;
  }
  .nb-2025__left {
      align-self: flex-start;
      margin-top: 10px;
      max-width: 170px;
  }
  .nb-2025--long .nb-2025__left,
  .nb-2025--longsub .nb-2025__left {
    max-width: 100%;
  }
  .nb-2025__title{ 
    font-size: 16px;
    font-style: normal;
    font-weight: var(--font-weight-bold, 700);
    line-height: 100%; /* 16px */
    letter-spacing: -0.32px;
  }
  .nb-2025--shortsub .nb-2025__title{font-size:14px}

  .nb-2025--longsub .nb-2025__title{ font-size: 16px; }
  .nb-2025--longsub .nb-2025__subtitle{font-size:12px}

  .nb-2025__subtitle{ font-size:11px; }
  .nb-2025__promo{  }
  .nb-2025__right{ 
        gap: 5px;
        position: absolute;
        flex-direction: column;
        bottom: 10px;
        max-width: 130px;
        width: 100%;
  }
  .nb-2025--long .nb-2025__right,
  .nb-2025--longsub .nb-2025__right{ 
        flex-direction: row;
        gap: 20px;
        max-width: 80%;
        bottom: 8px;
  }
  .nb-2025__timer {
    width: 100%;
  }
  .nb-2025__timer-chip {
    width: 100%;
    justify-content: center;
  }
  .nb-2025__btn {
    padding: 5px 10px;
    width: 100%;
  }
  .nb-2025--shortsub .nb-2025__btn {
    display: none;
  }
}
