/* 07.10.2026: смена редакции оферты (webadmin_service/offer_versioning.py,
   docs/legal/OFFER_VERSIONS.md) - баннер в кабинете, чекбокс у оплаты,
   полоса на сайте, архивная редакция. Только токены tokens.css. */

/* ---- Кабинет: баннер «изменились условия оферты» ------------------------ */
.offer-banner{
  display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;
  padding:14px 16px;margin-bottom:16px;border-radius:var(--radius-md);
  background:var(--color-info-bg);border:1px solid var(--color-info-border);border-left-width:4px;
  color:var(--color-text);
}
.offer-banner > .material-symbols-outlined{color:var(--color-info);margin-top:1px}
.offer-banner-body{flex:1;min-width:220px}
.offer-banner-body strong{display:block;color:var(--color-heading)}
.offer-banner-body p{margin:4px 0 0;font-size:13.5px;color:var(--color-text-2)}
.offer-banner-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:13.5px}
.offer-banner-links a{font-weight:600}
.offer-banner-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.offer-banner-actions form{margin:0}
.offer-banner-toggle{background:none;border:0;padding:6px 8px;color:var(--color-text-muted);cursor:pointer;
  font:inherit;font-size:13px;border-radius:var(--radius-sm)}
.offer-banner-toggle:hover{color:var(--color-text);background:var(--color-surface-hover)}
.offer-banner-toggle[hidden]{display:none}
.offer-banner .offer-banner-short{display:none}
.offer-banner.is-collapsed{padding:8px 12px;align-items:center}
.offer-banner.is-collapsed .offer-banner-full{display:none}
.offer-banner.is-collapsed .offer-banner-short{display:block;font-size:13.5px}
.offer-banner.is-info{background:var(--color-surface-2);border-color:var(--color-border)}
.offer-banner.is-done{background:var(--color-success-bg);border-color:var(--color-success-border)}

/* ---- Кабинет: чекбокс акцепта у кнопок оплаты --------------------------- */
.offer-pay-accept{display:flex;gap:8px;align-items:flex-start;margin:8px 0;font-size:13px;line-height:1.4;
  color:var(--color-text-2);text-align:left}
.offer-pay-accept input{margin-top:2px;flex:none}
.offer-pay-accept a{color:var(--color-link)}
.offer-pay-alert{scroll-margin-top:80px}

/* ---- Сайт: полоса «Условия оферты обновлены» ---------------------------- */
.offer-strip{background:var(--color-info-bg);border-bottom:1px solid var(--color-info-border);color:var(--color-text);
  font-size:14px}
.offer-strip-inner{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;
  max-width:1200px;margin:0 auto;padding:8px 16px}
.offer-strip a{color:var(--color-link);font-weight:600}
.offer-strip-close{background:none;border:0;padding:4px;line-height:0;color:var(--color-text-muted);cursor:pointer;
  border-radius:var(--radius-sm)}
.offer-strip-close:hover{color:var(--color-text);background:var(--color-surface-hover)}
.offer-strip-close[hidden]{display:none}
.offer-strip[hidden]{display:none}

/* ---- /offer: архивная редакция и список редакций ------------------------ */
.offer-archived{border-left-color:var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-text)}
.offer-editions b{color:var(--color-heading)}
.offer-changes-list li{margin:6px 0}

/* ---- 09.10.2026: адаптивность (docs/RESPONSIVE_AUDIT_2026-10-09.md) ---------- */
.offer-strip-close{padding:10px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:640px){
  /* Баннер оферты занимал ~75% высоты телефона: текст - 3 строки, полный текст по ссылке «Открыть оферту». */
  .offer-banner{padding:12px;gap:8px}
  .offer-banner-body{min-width:0;flex-basis:calc(100% - 40px)}
  .offer-banner-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .offer-banner-links a{display:inline-flex;align-items:center;min-height:36px}
  .offer-banner-actions .btn,.offer-banner-toggle{min-height:44px}
  /* Полоса на сайте: текст и кнопка закрытия в одну строку, а не столбиком. */
  .offer-strip-inner{flex-wrap:nowrap;justify-content:flex-start;align-items:center;padding:4px 4px 4px 16px;gap:8px}
  .offer-strip-inner > span:nth-child(2){flex:1;min-width:0}
  .offer-strip-close{margin-left:auto;flex:0 0 auto}
}
