/* Inter — локально с сервера */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("./fnts/inter-v20-cyrillic_cyrillic-ext_latin_latin-ext-regular.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("./fnts/inter-v20-cyrillic_cyrillic-ext_latin_latin-ext-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("./fnts/inter-v20-cyrillic_cyrillic-ext_latin_latin-ext-600.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("./fnts/inter-v20-cyrillic_cyrillic-ext_latin_latin-ext-700.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url("./fnts/inter-v20-cyrillic_cyrillic-ext_latin_latin-ext-800.woff2") format("woff2")}

/* ===== База / header / меню ===== */
:root{
  --bg:#F6F6F6;
  --white:#FFFFFF;
  --border-strong:#E5E5E5;
  --border-soft:#E0E0E0;
  --text-muted:#6B6D80;
  --expired:#B8B8B8;
  --page-pad:max(12px, calc((100vw - 1200px) / 2));
  --header-h:64px;
}

*{box-sizing:border-box}
html,body{height:100%}
body.page{
  margin:0;
  font-family:"Inter";
  background:var(--bg);
  color:#111;
  display:flex;
  flex-direction:column;
  min-height:100vh;
  overflow-x:hidden;
  padding-top:var(--header-h);
}
body.no-scroll{overflow:hidden}

main{flex:1 0 auto;padding-inline:var(--page-pad)}
.site-footer{flex-shrink:0}

/* шапка поверх контента */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:var(--white);border-bottom:1px solid var(--border-strong)
}
.header-inner{
  height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:min(1200px, calc(100% - 24px));max-width:1200px;margin-inline:auto;padding-inline:0
}
.logo{width:auto;display:block;max-width: 200px}
.logo-link{display:inline-flex;align-items:center;gap:12px;text-decoration:none}

.search{
  width:225px;height:32px;background:var(--white);
  border:1px solid var(--border-soft);border-radius:12px;
  display:flex;align-items:center;padding-inline:8px;gap:8px
}
.search-icon{width:32px;height:32px;flex:0 0 16px;display:block;opacity:.9}
.search-input{border:0;outline:none;width:100%;height:100%;font-size:14px;line-height:1;font-weight:500;color:var(--text-muted);background:transparent}
.search-input::placeholder{color:var(--text-muted)}

/* мобильная панель */
.mobile-panel{
  position:fixed;left:0;right:0;top:var(--header-h);z-index:99;
  background:var(--white);border-bottom:1px solid var(--border-strong);
  padding:12px var(--page-pad);box-shadow:0 6px 24px rgba(0,0,0,.06)
}
.search--mobile{width:100%}

.burger-btn{display:none;appearance:none;border:1px solid var(--border-soft);background:var(--white);border-radius:10px;width:36px;height:32px;align-items:center;justify-content:center;padding:0}
.burger-lines,.burger-lines::before,.burger-lines::after{content:"";display:block;width:18px;height:2px;background:#1e1e1e;position:relative;transition:transform 160ms ease,background-color 160ms ease,top 160ms ease,opacity 160ms ease}
.burger-lines::before{position:absolute;top:-6px}
.burger-lines::after{position:absolute;top:6px}
.site-header.is-open .burger-lines{background:transparent}
.site-header.is-open .burger-lines::before{top:0;transform:rotate(45deg)}
.site-header.is-open .burger-lines::after{top:0;transform:rotate(-45deg)}

.spacer-32{height:32px}

.layout{display:grid;grid-template-columns:200px 1fr;gap:24px; max-width:1200px; width:100%; margin-inline:auto; }
.content{min-width:0}

.sidebar{width:200px}
.side-menu{display:flex;flex-direction:column;gap:4px}
.menu-item{display:flex;align-items:center;height:44px;padding-inline:4px;border-radius:8px;text-decoration:none;background:transparent;user-select:none}
.menu-item:is(:hover,:focus-visible){background:#e8e8e8}
.menu-item.is-active{background:#e8e8e8}
.menu-icon{width:24px;height:24px;flex:0 0 24px;margin-right:8px;display:block}
.menu-text{font-size:14px;font-weight:500;color:#686A7C}
.menu-item.is-active .menu-text{color:#2F3143}
.menu-badge{margin-left:8px;height:16px;padding-inline:5px;border-radius:6px;background:#F33737;color:#fff;font-size:12px;font-weight:500;line-height:16px}

/* ===== Заголовки и чип ===== */
.hot-header{display:flex;align-items:center;gap:8px;margin-bottom:13px;flex-wrap:wrap}
.hot-title{font-size:17px;font-weight:800;color:#2F3244;line-height:1.2;white-space:nowrap;min-width:0}
.chip{display:inline-flex;align-items:center;justify-content:center;height:16px;padding-inline:5px;border-radius:6px;font-size:12px;font-weight:500;line-height:16px;flex-shrink:0}
.chip--red{background:#F33737;color:#fff}
.chip--grey{background:#EFF0F1;color:#B8B8B8}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:inherit;font-size:inherit;line-height:inherit}

/* ===== Горизонтальная лента «Горячие» ===== */
.hot-cards{
  width:100%;max-width:100%;
  display:grid;grid-auto-flow:column;grid-auto-columns:262px;gap:12px;
  overflow-x:auto;overflow-y:hidden;padding-bottom:8px;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:auto;overscroll-behavior-x:contain
}
.hot-card{
  scroll-snap-align:start;
  display:grid;grid-template-columns:1fr auto;column-gap:14px;align-items:start;
  width:262px;padding:16px;border:1px solid #E5E5E5;border-radius:16px;background:#fff;text-decoration:none
}
.hot-card__left{min-width:0;overflow:hidden;padding-right:2px}
.hot-card__titleline{display:flex;align-items:center;gap:6px;min-width:0}
.hot-card__title{min-width:0;font-size:14px;font-weight:500;color:#303345;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hot-card__text{font-size:12px;font-weight:500;color:#6B6D80;overflow:hidden;text-overflow:ellipsis}
.hot-card__logo{width:32px;height:32px;border-radius:10px;object-fit:cover;display:block}
.hot-empty{font-size:14px;color:#6B6D80}
.hot-card__titleline .chip{margin-bottom:4px}

/* ===== Двухколоночный сплит ===== */
.split{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,25vw,340px);column-gap:24px;align-items:start}
.split-left{min-width:0}
.split-right{width:100%;max-width:100%;padding-top:33px}

.latest-header{margin-top:24px;margin-bottom:13px}
.section-title{font-size:17px;font-weight:800;color:#2F3244;line-height:1.2}

/* ===== «Последние промокоды» ===== */
.latest-list{display:grid;grid-template-columns:1fr;gap:12px}

/* Карточка промокода.
   ВНИМАНИЕ: --right-pad — общий «карман» под логотип (наследуется вниз) */
.promo-card{
  --right-pad:56px;                 /* desktop: 32 (лого) + 14 (gap) + ~10 запас */
  position:relative;
  grid-template-columns:1fr;        /* убрали второй столбец под логотип */
  display:grid;align-items:start;column-gap:14px;
  width:100%;padding:16px;border:1px solid #E5E5E5;border-radius:16px;background:#fff;text-decoration:none;
  overflow:hidden;                   /* обрезаем возможные вылеты внутри */
}
.promo-card__logo{
  position:absolute;top:16px;right:16px;z-index:1;width:32px;height:32px;border-radius:10px;object-fit:cover;display:block
}
.promo-card__left{min-width:0;overflow:visible;padding-right:var(--right-pad)}
.promo-card__shopline{display:flex;align-items:center;gap:6px;min-width:0;margin-bottom:12px}
.promo-card__shop{min-width:0;font-size:14px;font-weight:500;color:#303345;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.promo-card__headline{font-size:16px;font-weight:600;color:#303345;line-height:1.2;margin-bottom:8px}
.promo-card__subtitle{font-size:14px;font-weight:500;color:#6B6D80;line-height:1.35;margin-bottom:12px}

/* строка действий «дотягивается» до края карточки под логотип */
.promo-card__actions{
  display:flex;align-items:center;gap:12px;min-width:0;
  margin-right:calc(-1 * var(--right-pad));
}

/* pill-кнопки */
.btn-pill{display:inline-flex;align-items:center;justify-content:center;padding-inline:12px;height:32px;border-radius:12px;background:rgba(232, 232, 232, 1);text-decoration:none;font-size:14px;font-weight:500;color:#2F3143;border:none;cursor:pointer}
.btn-pill--bold{font-weight:600}

/* === Код + копия (type=1) как единая «пара» === */
.promo-codegroup{
  display:inline-flex;align-items:center;height:32px;border-radius:12px;background:#fff;overflow:hidden;max-width:100%;
}

/* Левая часть: промокод (+ поддержка фейда справа) */
.promo-codebox{
  display:inline-flex;align-items:center;gap:0;
  padding:0 12px;height:32px;
  border:1px dashed #E5E5E5;border-right:none;border-radius:12px;
  font-size:14px;font-weight:500;color:#2F3143;
  white-space:nowrap;overflow:hidden;text-overflow:clip;
  /* растяжение внутри строки действий */
  flex:1 1 auto;min-width:0;max-width:none;
  /* место под градиентную шторку */
  position:relative;padding-right:22px;
}

/* Правая часть: кнопка-иконка копирования — фикс ширина */
.promo-copybtn{
  flex:0 0 38px;width:38px;min-width:38px;height:32px;
  border:1px dashed #E5E5E5;border-left:none;border-radius:12px;background:#fff;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0
}

/* Иконки через mask */
.promo-copybtn::before{
  content:"";display:block;width:13px;height:13px;
  -webkit-mask:url("../icons/copy.svg") center/contain no-repeat;
  mask:url("../icons/copy.svg") center/contain no-repeat;background:#2F3143
}
.promo-copybtn.is-copied::before{
  -webkit-mask:url("../icons/check.svg") center/contain no-repeat;
  mask:url("../icons/check.svg") center/contain no-repeat;background:#2F3143
}

/* Полупрозрачная «шторка» справа — только когда реально обрезано */
.promo-codebox.is-truncated::before{
  content:"";position:absolute;top:0;right:0;bottom:0;width:60px;
  background:linear-gradient(90deg, rgba(255,255,255,0), var(--white) 95%);
  pointer-events:none;z-index:1
}

/* ===== Состояние is-expired ===== */
.hot-card.is-expired .hot-card__title,
.hot-card.is-expired .hot-card__text,
.promo-card.is-expired .promo-card__shop,
.promo-card.is-expired .promo-card__headline,
.promo-card.is-expired .promo-card__subtitle,
.promo-card.is-expired .btn-pill{color:var(--expired)}
.hot-card.is-expired .hot-card__logo,
.promo-card.is-expired .promo-card__logo{filter:grayscale(1) opacity(.7)}

/* ===== «Популярные магазины» ===== */
.popular-header{display:flex;align-items:center;gap:8px;margin-top:24px;margin-bottom:13px;flex-wrap:wrap}
.section-link {
margin-left: auto;
text-decoration: none;
white-space: nowrap;
display: inline-flex;
align-items: center;
justify-content: center;
height: 16px;
padding-left: 8px;
padding-right: 8px;
padding-top: 12px;
padding-bottom: 12px;
border-radius: 8px;
font-size: 12px;
font-weight: 500;
line-height: 16px;
flex-shrink: 0;
background: #EFF0F1;
color: #2F3143;
}
.section-link:hover{filter:brightness(.95)}
.red-link{color:#f33737;text-decoration:none}
.popular-grid{display:grid;grid-template-columns:repeat(3,147px);gap:12px}
.shop-card{position:relative;display:grid;grid-template-rows:auto 1fr auto;width:147px;height:120px;padding:12px;border:1px solid #E5E5E5;border-radius:16px;background:#fff;text-decoration:none}
.shop-card__logo{width:32px;height:32px;border-radius:10px;object-fit:cover;display:block;align-self:start;justify-self:start}
.shop-card__title{align-self:end;font-size:14px;font-weight:500;color:#303345;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shop-card__text{justify-self:start;margin-top:2px;font-size:12px;font-weight:500;color:#6B6D80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.popular-empty{font-size:14px;color:#6B6D80}

/* Каталог магазинов: на широких экранах карточки не должны быть слишком широкими */
.page--shops .popular-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
.page--shops .shop-card{width:auto;}

@media (max-width:1024px){
  .page--shops .popular-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (max-width:640px){
  .page--shops .popular-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ===== Footer ===== */
.site-footer{background:var(--white);border-top:1px solid var(--border-strong);margin-top:32px}
.footer-inner{
  width:min(1200px, calc(100% - 24px));max-width:1200px;margin-inline:auto;
  padding-inline:0;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.footer-left{justify-self:start}
.footer-center{justify-self:center}
.footer-right{justify-self:end}
.copyright{font-size:14px;font-weight:500;color:#303345;white-space:nowrap}
.footer-logo{display:inline-flex;align-items:center;justify-content:center}
.footer-logo img{width:auto;display:block}
.footer-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* ===== Блок «Скоро сгорят» ===== */
.expiring{border-radius:20px;background:#FFFFFF;overflow:hidden;margin-top:24px;margin-bottom:24px}
.expiring__head{position:relative; background:#9C1313; padding:24px 24px 64px;border-bottom:1px solid #E5E5E5}
.expiring__title{margin:0;color:#FFFFFF;font-size:27px;font-weight:800;line-height:1.1}
.expiring__icon{position:absolute;right:-6px;bottom:-34px;width:143px;height:143px;pointer-events:none;user-select:none}
.expiring__body{padding:16px}
.expiring__list{display:grid;grid-template-columns:1fr;gap:12px}
.hot-card--block{width:100%}

/* ===== Адаптив ===== */
/* ===== Главная: центрированный контейнер и адаптивный сплит ===== */
.page--home{--page-pad:max(12px, calc((100vw - 1200px) / 2));}
.page--home .header-inner,
.page--home .footer-inner{width:min(1200px, calc(100% - 24px));max-width:1200px;margin-inline:auto;padding-inline:0;}
.page--home .layout{margin-inline:auto;}
.page--home .split{grid-template-columns:minmax(0,1fr) clamp(280px,35vw,440px);}
.page--home .split-right{width:100%;}
.page--home .expiring{border-radius:16px;}
.page--home .expiring__head{background:#c32a2a;}
.page--home .popular-grid{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;}
.page--home .popular-grid .shop-card{width:100%;min-width:0;}
.page--home .cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:0;padding-bottom:0;}
.page--home .cat-grid > a.expiring.expiring--cat{display:block;width:100%;height:200px;margin:0;overflow:visible;border-radius:16px;background:transparent;text-decoration:none;}
.page--home .cat-grid .promo-card{position:relative;display:block;width:100%;height:200px;padding:16px;overflow:hidden;border-radius:16px;}
.page--home .cat-grid .promo-card__headline{position:relative;z-index:1;color:rgba(255,255,255,.88);font-size:16px!important;line-height:1.15;text-decoration:none;}
.page--home .cat-grid .expiring__icon--bleed{position:absolute;top:auto;left:auto;right:-50px;bottom:-50px;z-index:0;width:193px;height:193px;object-fit:contain;}

@media (max-width:1024px){
  .page--home .split{grid-template-columns:1fr;}
  .page--home .split-right{padding-top:0;width:100%;}
  .split{grid-template-columns:1fr}
  .split-right{padding-top:0;width:100%}
  .popular-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shop-card{width:auto}
}

@media (max-width:640px){
  :root{--header-h:60px}
  .header-inner{height:var(--header-h);gap:12px}
  .search{display:none}
  .burger-btn{display:inline-flex}
 
  .mobile-panel .search,.search--mobile{display:flex!important}
  .mobile-menu{display:flex;flex-direction:column;gap:4px;margin-top:12px}
  .mobile-menu .menu-item{width:100%}
  .layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .footer-actions{justify-content:center}

  .popular-grid{grid-template-columns:repeat(2,1fr)}
  .page--home .popular-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .shop-card{height:116px}

  .footer-inner{
    height:auto;
    display:grid;
    grid-template-columns:1fr;
    grid-template-areas:"right" "left";
    padding-block:16px;
    row-gap:24px;
    text-align:center
  }
  .footer-left{grid-area:left;justify-self:center}
  .footer-right{grid-area:right;justify-self:center}
 
  .copyright{white-space:normal}

  /* компактная шапка «Скоро сгорят» */
  .expiring__head{padding:20px 16px 80px}
  .expiring__title{font-size:27px}
  .expiring__icon{right:-6px;bottom:-32px;width:140px;height:140px}

  /* мобильный размер кармана под лого в карточке */
  .promo-card{--right-pad:48px}
}

.site-header.is-open .burger-btn{border-color:var(--border-strong)}

/* ——— is-expired: код и иконки copy/check ——— */
.promo-card.is-expired .promo-codebox{
  color: var(--expired);
  /* пунктир оставляем как есть; если нужно, можно явно: border-color:#E5E5E5; */
}

.promo-card.is-expired .promo-copybtn::before{
  -webkit-mask: url("../icons/copy_expired.svg") center/contain no-repeat;
  mask:         url("../icons/copy_expired.svg") center/contain no-repeat;
  background: var(--expired);
}

.promo-card.is-expired .promo-copybtn.is-copied::before{
  -webkit-mask: url("../icons/check_expired.svg") center/contain no-repeat;
  mask:         url("../icons/check_expired.svg") center/contain no-repeat;
  background: var(--expired);
}

/* ——— Модалка ——— */
.promo-modal{
  position:fixed; inset:0; z-index:2000; display:grid; place-items:center; overscroll-behavior: contain;
}
.promo-modal[hidden]{ display:none; }

/* фон */
.promo-modal__backdrop{
  position:absolute; inset:0; z-index:1;
  background:rgba(0,0,0,.35);
  backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px);
  opacity:0; transition:opacity .25s ease;
}
.promo-modal.is-visible .promo-modal__backdrop{ opacity:1; }

/* карточка внутри */
.expiring--modal{
  position:relative; z-index:2;
  width:min(90%,620px); max-width:100%;
  margin:120px 24px 0; height:100%; border:0;
  transform:translateY(40px); opacity:0; transition:transform .35s ease, opacity .35s ease;
  display: flex;
  flex-direction: column;
}
.promo-modal.is-visible .expiring--modal{ transform:translateY(0); opacity:1; }

.expiring--modal .expiring__head{ padding-right:200px; }
.expiring--modal .expiring__title{ word-break:break-word; }

/* кнопка внутри панели, всегда сверху */
/* кнопка закрытия — липкая к верху скролл-контейнера */
.promo-modal__close{
  position: sticky;
  top: 12px;              /* отступ от верхней кромки панели */
  align-self: flex-end;   /* уводим вправо (панель — flex column) */
  z-index: 3;

  /* визуально поверх шапки и не двигает разметку */
  margin: 8px 12px -44px 0;   /* -44px ≈ высота кнопки, чтобы не занимала место */
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  background: transparent; border: none; outline: none;
}
.promo-modal__close:focus{ outline: none; }
.promo-modal__close-ico{
  width: 24px; height: 24px; display: block;
  -webkit-mask: url("../icons/close.svg") center/contain no-repeat;
  mask: url("../icons/close.svg") center/contain no-repeat;
  background: #fff; opacity: .9;
}

.promo-expiring__head{ padding:34px 24px 104px; }

@media (max-width:640px){
  .expiring--modal{ width:100%; margin:30px 16px 0; height:100%; border:0; }
  .expiring--modal .expiring__head{ padding-right:56px; }
  .promo-modal__close{ top:10px; right:10px; }
}

/* ==== Тело модалки ==== */
.promo-modal__body{ padding:24px;  flex: 1 1 auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;}
.promo-modal__inner{ display:flex; flex-direction:column; gap:28px; padding-bottom: 83px;}

/* Шапка магазина */
.promo-modal__shopline{ display:flex; align-items:center; gap:17px; }
.promo-modal__logo{ width:45px; height:45px; border-radius:10px; object-fit:cover; flex-shrink:0; }
.promo-modal__shopinfo{ display:flex; flex-direction:column; }
.promo-modal__shopname{ font-weight:800; font-size:16px; color:#303345; text-decoration:none; }
.promo-modal__category{ font-weight:500; font-size:14px; color:#6B6D80; margin-top:4px; text-decoration:none; }
.promo-modal__shopname:hover, .promo-modal__category:hover{ text-decoration:underline; }

/* Ряд: код + кнопка (левая колонка тянется) */
.promo-modal__row{
  display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center;
}
@media (max-width:640px){ .promo-modal__row{ grid-template-columns:1fr; }; .promo-modal__inner{padding-bottom: 33px;}}

/* === Компонент кода (как в карточках) === */
.promo-codegroup{ display:inline-flex; align-items:center; height:32px; border-radius:12px; background:#fff; overflow:hidden; max-width:100%; }
.promo-codegroup--modal{ height:auto; width:100%; max-width:100%; min-width:0; }
.promo-copybtn{
  flex:0 0 38px; width:38px; min-width:38px; height:32px;
  border:1px dashed #E5E5E5; border-left:none; border-radius:12px; background:#fff;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0;
}
.promo-copybtn::before{
  content:""; display:block; width:13px; height:13px;
  -webkit-mask:url("../icons/copy.svg") center/contain no-repeat;
  mask:url("../icons/copy.svg") center/contain no-repeat; background:#2F3143;
}
.promo-copybtn.is-copied::before{
  -webkit-mask:url("../icons/check.svg") center/contain no-repeat;
  mask:url("../icons/check.svg") center/contain no-repeat; background:#2F3143;
}

/* Левая часть */
.promo-codebox{
  display:inline-flex; align-items:center; gap:0;
  padding:0 12px; height:32px;
  border:1px dashed #E5E5E5; border-right:none; border-radius:12px;
  font-size:14px; font-weight:500; color:#2F3143;
  white-space:nowrap; overflow:hidden; text-overflow:clip;
  flex:1 1 auto; min-width:0; max-width:none;
  position:relative; padding-right:22px;
}

/* Полупрозрачная «шторка» справа — по классу is-truncated */
.promo-codebox.is-truncated::before{
  content:""; position:absolute; top:0; right:0; bottom:0; width:60px;
  background:linear-gradient(90deg, rgba(255,255,255,0), var(--white) 95%);
  pointer-events:none; z-index:1;
}

/* —— Модальный размер —— */
.promo-codebox--modal{
  height:auto; padding:8px 12px; padding-right:22px;
  align-items:flex-start; display:flex; flex-direction:column; justify-content:center;
  min-height:48px; border-radius:12px;
  max-width:100%; min-width:0; overflow:hidden; /* контейнер скрывает переполнение */
  position:relative;                                /* для градиента */
}
.promo-codebox--modal .promo-codebox__label{
  font-weight:500; font-size:11px; color:#868E97; line-height:1; margin-bottom:6px;
}
.promo-codebox--modal .promo-codebox__value{
  font-weight:700; font-size:16px; color:#2F3143; line-height:1.1;
  white-space:nowrap; overflow:unset; text-overflow:clip;   /* ← как просил: без троеточия */
  max-width:100%; min-width:0;
}

.promo-copybtn--modal{ height:auto; min-height:48px; width:44px; min-width:44px; }
.promo-copybtn--modal::before{ width:20px; height:20px; }

/* Кнопка партнёра */
.promo-modal__partnerbtn{ height:44px; padding-inline:14px; white-space:nowrap; }

@media (min-width:641px){
  .promo-modal__row > .promo-modal__partnerbtn{height:100%;}
  .promo-modal__row--no-code > .promo-modal__partnerbtn{height:44px;}
}

/* Секции текста */
.promo-modal__section{ display:flex; flex-direction:column; gap:4px; }
.promo-modal__subtitle{ font-weight:500; font-size:15px; color:#303345; margin-bottom:8px; }
.promo-modal__subtitle--validity{margin-bottom:auto;}
.promo-modal__text{
  font-weight:500;
  font-size:13px;
  color:#6B6D80;
  line-height:1.4;
}
.promo-modal__text h2{
  margin:0.83em 0;
  font:inherit;
  color:inherit;
}
.promo-modal__text .chip{margin-left:2px}
.promo-modal__text p{ margin:0 0 8px; line-height:1.44; }
.promo-modal__text p:last-child{ margin-bottom:0; }
.promo-modal__text ul{
  margin:0 0 8px;
  padding-inline-start:5px;
  list-style-type:none;
}
.promo-modal__text ul:last-child{ margin-bottom:0; }
.promo-modal__text li{
  position:relative;
  padding-left:14px;
  margin-bottom:6px;
}
.promo-modal__text li:last-child{ margin-bottom:0; }
.promo-modal__text li::before{
  content:'•';
  position:absolute;
  left:0;
  color:#F33737;
}


/* type=2: поле кода без кнопки копирования */
.promo-codegroup.is-masked .promo-codebox{
  padding-right:12px;          /* обычный внутренний отступ, без «кармана» под иконку */
  border-right:1px dashed #E5E5E5;  /* правая граница возвращается, т.к. нет правой кнопки */
}

/* там же — не показываем градиентную шторку */
.promo-codegroup.is-masked .promo-codebox::before{ display:none; }


/* ===== Специальные предложения (вариант promo-card) ===== */
.promo-card--special {
  border: none !important;
  overflow: visible !important; 
}

/* ===== Тултип (Буква A) для специальных предложений ===== */
/* ===== Тултип (Буква A) для специальных предложений ===== */
.special-tooltip {
  position: absolute; /* Вырываем из потока, чтобы не сдвигать контент */
  bottom: 16px;       /* Прибиваем к нижнему краю карточки */
  right: 16px;        /* Прибиваем к правому краю карточки */
  z-index: 10;
  outline: none;
}

.special-tooltip__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 24px;
  border-radius: 6px;
  color: rgba(47, 49, 68, 0.15);
  font-weight: 300;
  font-size: 12px;
  cursor: help;
  transition: background 0.2s ease;
}


.special-tooltip__text {
  position: absolute;
  bottom: 100%;       /* Открываем ВВЕРХ над буквой A */
  right: 0;           /* Выравниваем по правому краю иконки */
  margin-bottom: 0;
  background: color-mix(in srgb, rgb(42, 42, 42) 80%, transparent) !important;
  color: #fff;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.4;
  width: max-content;
  max-width: 240px;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px); /* Анимация будет идти снизу вверх */
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  pointer-events: auto;
  user-select: text;
}

/* Декоративный треугольник (теперь смотрит вниз на букву A) */
.special-tooltip__text::before {
  content: "";
  position: absolute;
  top: 100%;          /* Прилипает к низу плашки с текстом */
  right: 7px;         /* Размещаем ровно над иконкой */
  border: 5px solid transparent;
  border-top-color: #2F3143; /* Формирует стрелочку вниз */
}

.special-tooltip:hover .special-tooltip__text,
.special-tooltip:focus-within .special-tooltip__text {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.special-tooltip--modal{position:relative;right:auto;bottom:auto;margin-left:0;flex:0 0 auto;align-self:flex-end;}
.promo-modal__body--static{position:relative;}
.special-tooltip--static{position:absolute;right:16px;bottom:16px;}
#promoModalValidity{display:flex;align-items:center;justify-content:space-between;gap:12px;}

/* только заголовок и подзаголовок, цвета светлые */
.promo-card__headline--special{
  color:#FFFFFF;
  margin-bottom:12px;
  font-size: 18px;
}
.promo-card__subtitle--special{
  color: rgba(255,255,255,.8);
  margin-bottom:12px;
}

/* кнопка «Подробнее» — светло-серая */
.btn-pill--special{
color: rgb(240, 240, 240);
background: color-mix(in srgb, rgb(198, 198, 198) 40%, transparent) !important;
}

/* логотип по центру по вертикали и 50x50 */
.promo-card__logo--special{
  width:50px; height:50px;
  top:50%; transform:translateY(-50%);
  right:16px; border-radius:10px; /* можно округлить мягче, чем кружок */
}

/* чуть увеличим правый «карман» под 50px лого */
.promo-card--special{ --right-pad:66px; }

/* убираем возможные элементы, если вдруг остались модификаторы */
.promo-card--special .promo-card__shopline{ display:none !important; }
.promo-card--special .promo-codegroup{ display:none !important; }

/* ——— block10 после «Популярные магазины» ——— */
/* «такой же отступ», как у секционных заголовков */
.block10-spacer{ margin-top:12px; margin-bottom:13px; }

/* контейнер по умолчанию — как карточки/боксы на странице */
.block10{
  overflow:hidden;
  border-radius: 16px;
  border: 1px solid #E5E5E5;
  background: #fff;
  /* если внутри картинка-баннер без внешних отступов — пусть будет на всю ширину */
}
.block10 img{ display:block; width:100%; height:auto; }


/* Скрыть визуальный скроллбар, но оставить скролл */
.no-scrollbar{
  -ms-overflow-style: none;   /* IE/Edge legacy */
  scrollbar-width: none;      /* Firefox */
}
.no-scrollbar::-webkit-scrollbar{
  width: 0; height: 0;        /* Chrome/Safari/Opera */
  display: none;
}

.promo-card { position: relative; }
.promo-card__cover {
  position: absolute; inset: 0;
  z-index: 1;          /* ниже кнопок/иконок */
}
.promo-card__actions,
.promo-codegroup,
.promo-copybtn { 
  position: relative;
  z-index: 2;          /* поверх накладного якоря */
}

.customul {
  color: #2F3244;
font-size: 14px;
padding-inline-start: 20px;
line-height: 1.4;
}

.h2seo {
  margin-top: 24px;
margin-bottom: 24px;
}

.latest-empty {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
padding: 24px;
text-align: center;
font-size: 14px;
font-weight: 500;
color: #9FA0AA;
}

/* ===== Theme toggle in menu ===== */
.menu-item--theme {
  cursor: pointer;
}
.theme-toggle-icon {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid #e5e5e5;
  position: relative;
  background: #fff;
}
.theme-toggle-icon::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 999px;
  background: #f33737;
  opacity: .18;
}
.theme-switch {
  margin-left: auto;
  width: 36px;
  height: 20px;
  border-radius: 999px;
  border: 1px solid #e5e5e5;
  background: #eff0f1;
  position: relative;
}
.theme-switch__thumb {
  position: absolute;
  top: 1px;
  left: 1px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #fff;
  transition: transform 150ms ease;
}
.menu-item--theme.is-on .theme-switch__thumb {
  transform: translateX(16px);
}

/* ===== Dark theme (extension palette) ===== */
html.theme-dark {
  --bg: #252526;
  --white: #252526;
  --border-strong: #3C3C3C;
  --border-soft: #3C3C3C;
  --text-muted: #c3c3c3;
  --expired: #c3c3c3;
}
body.theme-dark {
  background: #252526;
  color: #c3c3c3;
}
body.theme-dark .site-header,
body.theme-dark .mobile-panel,
body.theme-dark .site-footer,
body.theme-dark .search,
body.theme-dark .settings,
body.theme-dark .expiring,
body.theme-dark .block10 {
  background: #252526;
  border-color: #3C3C3C;
}
body.theme-dark .menu-item:is(:hover,:focus-visible),
body.theme-dark .menu-item.is-active,
body.theme-dark .btn-pill,
body.theme-dark .section-link,
body.theme-dark .theme-switch {
  background: #3C3C3C;
  border-color: #3C3C3C;
}
body.theme-dark .menu-item.is-active .menu-text,
body.theme-dark .menu-text,
body.theme-dark .hot-title,
body.theme-dark .section-title,
body.theme-dark .hot-card__title,
body.theme-dark .hot-card__text,
body.theme-dark .promo-card__shop,
body.theme-dark .promo-card__headline,
body.theme-dark .promo-card__subtitle,
body.theme-dark .shop-card__title,
body.theme-dark .shop-card__text,
body.theme-dark .btn-pill,
body.theme-dark .section-link,
body.theme-dark .copyright,
body.theme-dark .customul,
body.theme-dark .promo-modal__subtitle,
body.theme-dark .promo-modal__text,
body.theme-dark .promo-modal__shopname,
body.theme-dark .promo-modal__category {
  color: #c3c3c3;
}
body.theme-dark .hot-card,
body.theme-dark .promo-card,
body.theme-dark .shop-card,
body.theme-dark .shop-table-wrap,
body.theme-dark .latest-empty,
body.theme-dark .promo-modal__body,
body.theme-dark .promo-codegroup,
body.theme-dark .promo-codebox,
body.theme-dark .promo-copybtn {
  background: #1f1f1f;
  border-color: #3C3C3C;
}
body.theme-dark .chip--grey {
  background: #3C3C3C;
  color: #c3c3c3;
}
body.theme-dark .shop-table th {
  background:#3C3C3C;
  color:#c3c3c3;
}
body.theme-dark .shop-table td,
body.theme-dark .shop-table td:first-child {
  color:#c3c3c3;
  border-color:#3C3C3C;
}
body.theme-dark .shop-table-wrap {
  border-color:#3C3C3C;
  background:#1f1f1f;
}
body.theme-dark .search-input,
body.theme-dark .search-input::placeholder {
  color: #c3c3c3;
}
body.theme-dark .promo-codebox.is-truncated::before {
  background: linear-gradient(90deg, rgba(31,31,31,0), #1f1f1f 95%);
}

/* Более заметная пунктирная обводка поля промокода */
.promo-codebox,
.promo-copybtn{border-color:rgb(184, 184, 184);}
.promo-codegroup.is-masked .promo-codebox{border-right-color:rgb(184, 184, 184);}
body.theme-dark .promo-copybtn::before,
body.theme-dark #gk-popup-widget .promo-copybtn::before {
  filter: brightness(0) invert(1);
}
body.theme-dark .promo-modal__close-ico {
  background: #c3c3c3;
}
body.theme-dark .burger-btn,
body.theme-dark .theme-toggle-icon {
  background: #252526;
  border-color: #3C3C3C;
}
body.theme-dark .burger-lines,
body.theme-dark .burger-lines::before,
body.theme-dark .burger-lines::after {
  background: #c3c3c3;
}
body.theme-dark .theme-toggle-icon::before {
  background: #c3c3c3;
  opacity: .3;
}
body.theme-dark .theme-switch__thumb {
  background: #c3c3c3;
}


