/* Сайт seo-razbor.ru поверх Bootstrap 5.3: фирменные цвета ilsib.ru (малиновый #BF1142, тёмно-синий #161B30, IBM Plex Sans),
   шапка/подвал и короткие классы, которыми размечены страницы сервиса (font_N, color_N, bordered, flexbox… — словарь шаблона ilsib.ru). */
:root {
  --theme-base-color: #BF1142;
  --theme-hover: #A30E38;
  --il-navy: #161B30;
  --il-ink: #333;
  --il-line: #E5E5E5;
  --theme-button-border-radius: 10px;
  --bs-body-font-family: "IBM Plex Sans", Arial, sans-serif;
  --bs-body-color: #555;
  --bs-body-font-size: 16px;
  --bs-link-color: var(--theme-base-color);
  --bs-link-color-rgb: 191, 17, 66;
  --bs-link-hover-color: var(--theme-hover);
  --bs-link-hover-color-rgb: 163, 14, 56;
  --bs-border-color: var(--il-line);
}
body { background: #fff; min-height: 100vh; display: flex; flex-direction: column; }
h1, h2, h3, .site-h1 { color: #333; font-weight: 700; }
h2 { font-size: 28px; margin: 0 0 20px; }
h3 { font-size: 20px; margin: 0 0 16px; }
@media (max-width: 600px) { h2 { font-size: 22px; } }

/* короткие классы разметки */
.font_13 { font-size: 13px; } .font_14 { font-size: 14px; } .font_15 { font-size: 15px; } .font_16 { font-size: 16px; }
.font_18 { font-size: 18px; } .font_20 { font-size: 20px; } .font_24 { font-size: 24px; line-height: 1.25; }
.font_bold { font-weight: 700; }
.color_222 { color: #222; } .color_666 { color: #666; } .color_999 { color: #999; }
.color-theme { color: var(--theme-base-color); }
.bordered { border: 1px solid var(--il-line); }
.rounded-4 { border-radius: 16px !important; }
.flexbox { display: flex; flex-direction: column; }
.flexbox--direction-row { flex-direction: row; }
.flexbox--wrap { flex-wrap: wrap; }
.flexbox--align-center { align-items: center; }
.flexbox--justify-beetwen { justify-content: space-between; }
.text-right { text-align: right; }
.table { --bs-table-color: #555; margin-bottom: 0; }
.table > :not(caption) > * > * { padding: 10px 8px; }
.form-control { border-radius: var(--theme-button-border-radius); padding: 12px 16px; }
.form-control:focus { border-color: var(--theme-base-color); box-shadow: 0 0 0 .2rem rgba(191, 17, 66, .15); }
summary { cursor: pointer; }

/* кнопки: основная — малиновая, второстепенная — с рамкой */
.btn { border-radius: var(--theme-button-border-radius); font-weight: 600; padding: 11px 22px; }
.btn-lg { padding: 15px 30px; font-size: 17px; }
.btn-sm { padding: 7px 14px; font-size: 14px; }
.btn-default { --bs-btn-color: #fff; --bs-btn-bg: var(--theme-base-color); --bs-btn-border-color: var(--theme-base-color);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--theme-hover); --bs-btn-hover-border-color: var(--theme-hover);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--theme-hover); --bs-btn-active-border-color: var(--theme-hover); }
.btn-transparent-border { --bs-btn-color: var(--theme-base-color); --bs-btn-border-color: var(--theme-base-color);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--theme-base-color); --bs-btn-hover-border-color: var(--theme-base-color);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--theme-hover); --bs-btn-active-border-color: var(--theme-hover); }

/* шапка */
.site-head { position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--il-line); padding: 14px 0; }
.site-brand { display: flex; align-items: center; gap: 12px; color: var(--il-navy); text-decoration: none; min-width: 0; }
.site-brand:hover { color: var(--il-navy); }
.site-brand__logo svg { display: block; width: 132px; height: auto; }
.site-brand__logo svg path:nth-child(-n+3) { fill: var(--theme-base-color); }
.site-brand__sep { width: 1px; height: 24px; background: var(--il-line); }
.site-brand__name { font-weight: 600; font-size: 17px; white-space: nowrap; }
.site-nav { gap: 28px; }
.site-nav a { color: #333; text-decoration: none; font-weight: 500; }
.site-nav a:hover { color: var(--theme-base-color); }
.site-head__cta { padding: 9px 18px; white-space: nowrap; }
@media (max-width: 575px) {
  .site-brand__logo svg { width: 104px; }
  .site-brand__name { font-size: 15px; }
  .site-head__cta { padding: 8px 12px; font-size: 14px; }
}
@media (max-width: 360px) { .site-brand__sep, .site-brand__name { display: none; } }

.site-main { flex: 1 0 auto; padding: 40px 0 24px; }
.site-h1 { font-size: 40px; line-height: 1.15; margin: 0 0 24px; }
@media (max-width: 600px) { .site-main { padding-top: 24px; } .site-h1 { font-size: 28px; margin-bottom: 16px; } }
/* якоря под липкой шапкой */
[id] { scroll-margin-top: 90px; }

/* подвал */
.site-foot { background: var(--il-navy); color: #AEB5CC; padding: 40px 0 28px; font-size: 14px; margin-top: 40px; }
.site-foot a { color: #C7CDDF; text-decoration: none; }
.site-foot a:hover { color: #fff; }
.site-foot__logo svg { display: block; width: 140px; height: auto; color: #fff; }
.site-foot__logo svg path:nth-child(-n+3) { fill: #E0315F; }
.site-foot__about { max-width: 520px; }
.site-foot__bottom { border-top: 1px solid #2C3450; }

/* уведомление о cookie (как на ilsib.ru) */
.cookie-notice { position: fixed; left: 50%; transform: translateX(-50%); width: calc(100% - 24px); bottom: 16px; z-index: 2147483000; max-width: 760px;
  padding: 12px 16px; border-radius: 10px; background: var(--il-navy); color: #fff; font-size: 13px; line-height: 1.4;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .25); display: flex; align-items: center; gap: 14px; }
.cookie-notice[hidden] { display: none; }
.cookie-notice a { color: #fff; text-decoration: underline; }
.cookie-notice__text { flex: 1 1 auto; }
.cookie-notice__actions { display: flex; gap: 8px; flex: 0 0 auto; }
.cookie-notice__btn { padding: 7px 14px; border: 1px solid rgba(255, 255, 255, .5); border-radius: 8px; background: transparent; color: #fff;
  font: inherit; line-height: 1.2; white-space: nowrap; cursor: pointer; }
.cookie-notice__btn--accept { border-color: #fff; background: #fff; color: var(--il-navy); }
@media (max-width: 700px) {
  .cookie-notice { flex-direction: column; align-items: stretch; gap: 10px; bottom: 12px; padding: 12px 14px; }
  .cookie-notice__btn { flex: 1 1 0; }
}
