/* ==========================================================================
   boisodertalje.se — «Tavlan»
   Собственный облик. Грузится после общего app.css и перебивает его.
   Общий app.css НЕ трогаем: он один на все сайты сети.

   Идея: не газета на бумаге, а табло рабочего города. Бетонный холодный фон,
   тяжёлый гротеск в заголовках, моноширинный шрифт во всех числах и метках.
   Три соседних сайта сети сделаны как печатные издания на тёплой бумаге
   с засечными заголовками — здесь сознательно наоборот.
   Ни одной карточки с тенью, ни одного скругления больше 2px.
   ========================================================================== */

:root{
  --sd-ink:#12161A;        /* почти чёрный, основной текст и плашки */
  --sd-ink-2:#2A3238;      /* второй уровень */
  --sd-dim:#6B767D;        /* служебный серый */
  --sd-paper:#E6E9E6;      /* бетон, фон страницы */
  --sd-paper-2:#DCE0DC;    /* бетон темнее */
  --sd-sheet:#F5F6F4;      /* лист, поле текста */
  --sd-line:#C4CAC5;       /* линейка */
  --sd-line-d:#A9B1AB;
  --sd-signal:#D99A12;     /* сигнальный янтарь: табло, акценты */
  --sd-canal:#1F5F7A;      /* вода канала: ссылки */
  --sd-canal-d:#14435A;

  --sd-h:'Archivo',"Helvetica Neue",Arial,sans-serif;
  --sd-t:'Public Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --sd-m:'IBM Plex Mono',ui-monospace,"DejaVu Sans Mono",monospace;
}

/* ---------- база ---------- */
html{ -webkit-text-size-adjust:100%; }
body{
  background:var(--sd-paper) !important;   /* сносит /images/tyreso_foto.jpg из app.css */
  color:var(--sd-ink);
  font-family:var(--sd-t);
  font-size:16.5px;
  line-height:1.62;
  overflow-x:hidden;
}
body h1,body h2,body h3,body h4,body h5,body h6{
  font-family:var(--sd-h);
  font-weight:700;
  color:var(--sd-ink);
  letter-spacing:-.015em;
  line-height:1.12;
}
body a{ color:var(--sd-canal); text-decoration:none; }
body a:hover{ color:var(--sd-canal-d); text-decoration:underline; text-underline-offset:3px; }
img{ max-width:100%; height:auto; display:block; }
hr{ border:0; border-top:1px solid var(--sd-line); }

.sd-wrap{ max-width:1220px; margin:0 auto; padding:0 22px; }

/* skärmläsartext: egen teknik, ingen inline-stil */
.sd-vh{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap; border:0; padding:0; margin:0;
}

/* моноширинная метка — общий приём сайта */
.sd-lab{
  font-family:var(--sd-m); font-size:11.5px; font-weight:500;
  letter-spacing:.13em; text-transform:uppercase; color:var(--sd-dim);
}

/* ---------- верхняя линейка: не чёрная лента, а кант ---------- */
.sd-rail{ background:var(--sd-paper); border-bottom:1px solid var(--sd-line); }
.sd-rail-in{
  display:flex; align-items:center; justify-content:space-between;
  gap:18px; min-height:32px; flex-wrap:wrap;
}
.sd-rail-in span,.sd-rail-in a{
  font-family:var(--sd-m); font-size:11.5px; letter-spacing:.10em;
  text-transform:uppercase; color:var(--sd-dim);
}
.sd-rail-in a{ color:var(--sd-ink-2); }
.sd-rail-in a:hover{ color:var(--sd-canal); text-decoration:none; border-bottom:1px solid var(--sd-signal); }
.sd-rail-links{ display:flex; gap:18px; flex-wrap:wrap; }

/* ---------- шапка: широкая, низкая, слева имя, справа статус ---------- */
.sd-head{ background:var(--sd-paper); border-bottom:2px solid var(--sd-ink); }
.sd-head-in{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:26px; padding:26px 0 18px; flex-wrap:wrap;
}
.sd-mark{
  display:block; font-family:var(--sd-h); font-weight:800;
  font-size:clamp(30px,5.4vw,54px); line-height:.94; letter-spacing:-.035em;
  color:var(--sd-ink) !important; text-transform:none;
}
.sd-mark:hover{ text-decoration:none !important; }
.sd-mark i{ font-style:normal; font-weight:500; color:var(--sd-dim); }
.sd-mark-sub{
  display:block; margin-top:9px; max-width:34ch;
  font-family:var(--sd-t); font-size:13.5px; line-height:1.45; color:var(--sd-ink-2);
}
/* статусная плашка: то, что в городе прямо сейчас перестраивают */
.sd-status{
  border-left:3px solid var(--sd-signal); padding:2px 0 2px 14px;
  min-width:270px; max-width:100%;
}
.sd-status dl{ margin:0; }
.sd-status .row{ display:flex; gap:10px; align-items:baseline; padding:3px 0; }
.sd-status dt{
  font-family:var(--sd-m); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--sd-dim); min-width:96px;
}
.sd-status dd{ margin:0; font-size:13.5px; color:var(--sd-ink); }
.sd-status .sd-date{ font-family:var(--sd-m); font-size:12px; color:var(--sd-ink-2); }

/* полоса-схема под шапкой: собственная графика, не фотография */
.sd-band{
  height:74px; background:var(--sd-ink) url('/images/sd-band.png') center/cover no-repeat;
  border-bottom:1px solid var(--sd-ink);
}

/* ---------- меню: строчными, моноширинным ---------- */
.sd-nav{ background:var(--sd-sheet); border-bottom:1px solid var(--sd-line); }
.sd-nav-in{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.sd-menu{ display:flex; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.sd-menu li{ margin:0; }
.sd-menu a{
  display:block; padding:13px 16px 12px; font-family:var(--sd-m); font-size:13px;
  letter-spacing:.02em; color:var(--sd-ink-2); border-bottom:2px solid transparent;
}
.sd-menu a:hover{ color:var(--sd-ink); text-decoration:none; border-bottom-color:var(--sd-line-d); }
.sd-menu li.on a{ color:var(--sd-ink); border-bottom-color:var(--sd-signal); }
.sd-find{ display:flex; align-items:center; gap:0; }
.sd-find input{
  width:150px; padding:7px 10px; border:1px solid var(--sd-line-d); border-right:0;
  background:#fff; font-family:var(--sd-m); font-size:12.5px; color:var(--sd-ink); border-radius:0;
}
.sd-find input:focus{ outline:2px solid var(--sd-signal); outline-offset:-2px; }
.sd-find button{
  padding:7px 12px; border:1px solid var(--sd-ink); background:var(--sd-ink); color:#fff;
  font-family:var(--sd-m); font-size:12.5px; cursor:pointer; border-radius:0;
}
.sd-find button:hover{ background:var(--sd-canal-d); border-color:var(--sd-canal-d); }

.sd-main{ padding:30px 0 40px; }

/* ---------- ТАБЛО: тёмная плашка вместо карусели ---------- */
.sd-board{ background:var(--sd-ink); color:#EDEFEC; margin:0 0 34px; }
.sd-board-h{
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  padding:12px 20px; border-bottom:1px solid #2E373D; flex-wrap:wrap;
}
.sd-board-h b{
  font-family:var(--sd-m); font-weight:500; font-size:12px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--sd-signal);
}
.sd-board-h span{ font-family:var(--sd-m); font-size:11.5px; letter-spacing:.10em; color:#8C979E; text-transform:uppercase; }
.sd-brow{
  display:grid; grid-template-columns:58px 118px 1fr 150px; align-items:center; gap:18px;
  padding:16px 20px; border-bottom:1px solid #232B31; color:#EDEFEC !important;
}
.sd-brow:last-child{ border-bottom:0; }
.sd-brow:hover{ background:#191E22; text-decoration:none !important; }
.sd-brow:hover .sd-btitle{ color:var(--sd-signal); }
.sd-bnum{ font-family:var(--sd-m); font-size:12px; color:#5F6C74; letter-spacing:.08em; }
.sd-bdate{ font-family:var(--sd-m); font-size:13px; color:var(--sd-signal); letter-spacing:.04em; }
.sd-btitle{
  font-family:var(--sd-h); font-weight:600; font-size:clamp(17px,2vw,21px);
  line-height:1.22; letter-spacing:-.015em; color:#EDEFEC;
}
.sd-btag{
  justify-self:end; font-family:var(--sd-m); font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:#8C979E; border:1px solid #38424A; padding:3px 9px;
  white-space:nowrap;
}

/* ---------- рубрика ---------- */
.sd-rub{ margin:0 0 36px; }
.sd-rub-h{
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
  border-top:2px solid var(--sd-ink); padding:10px 0 12px; margin:0 0 18px;
}
.sd-rub-h .n{ font-family:var(--sd-m); font-size:12px; color:var(--sd-dim); letter-spacing:.1em; }
.sd-rub-h h2{
  font-size:clamp(19px,2.4vw,25px); font-weight:700; letter-spacing:-.02em; margin:0;
  text-transform:none;
}
.sd-rub-h .all{
  margin-left:auto; font-family:var(--sd-m); font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--sd-ink-2); border-bottom:1px solid var(--sd-signal);
}
.sd-rub-h .all:hover{ text-decoration:none; color:var(--sd-canal); }

/* ведущий материал: иллюстрация слева, текст справа — целиком, без обрезки */
.sd-lead{
  display:grid; grid-template-columns:1.08fr .92fr; column-gap:36px; row-gap:0;
  align-items:start; margin:0 0 30px;
}
.sd-lead .pic{ grid-column:1; grid-row:1 / span 3; border:1px solid var(--sd-line); background:var(--sd-sheet); }
.sd-lead .pic img{ width:100%; height:auto; }
.sd-lead .meta{ grid-column:2; grid-row:1; }
.sd-lead h3{ grid-column:2; grid-row:2; }
.sd-lead .body{ grid-column:2; grid-row:3; }
.sd-lead h3{ font-size:clamp(24px,2.9vw,34px); line-height:1.07; margin:0 0 14px; }
.sd-lead h3 a{ color:var(--sd-ink) !important; }
.sd-lead h3 a:hover{ color:var(--sd-canal) !important; text-decoration:none; }
.sd-lead .meta{ margin:0 0 12px; }
.sd-lead .body{ max-width:60ch; font-size:16.5px; color:var(--sd-ink-2); }
.sd-lead .body p{ margin:0 0 10px; }

/* список записей: число слева, текст справа, миниатюра в конце строки */
.sd-list{ border-top:1px solid var(--sd-line); }
.sd-item{
  display:grid; grid-template-columns:104px 1fr 160px; gap:22px; align-items:start;
  padding:18px 0; border-bottom:1px solid var(--sd-line);
}
.sd-item .when{ font-family:var(--sd-m); font-size:12.5px; color:var(--sd-dim); letter-spacing:.02em; padding-top:3px; }
.sd-item h3{ font-size:20px; line-height:1.2; margin:0 0 7px; }
.sd-item h3 a{ color:var(--sd-ink) !important; }
.sd-item h3 a:hover{ color:var(--sd-canal) !important; text-decoration:none; }
.sd-item p{ margin:0; font-size:15px; color:var(--sd-ink-2); max-width:70ch; }
.sd-item .shot{ border:1px solid var(--sd-line); background:var(--sd-sheet); }
.sd-item .shot img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.sd-item.no-shot{ grid-template-columns:104px 1fr; }

/* короткий тройной набор — «в двух словах» */
.sd-trio{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--sd-line); }
.sd-trio > a{
  display:block; padding:16px 22px 18px; border-right:1px solid var(--sd-line);
  border-bottom:1px solid var(--sd-line); color:var(--sd-ink) !important;
}
.sd-trio > a:last-child{ border-right:0; }
.sd-trio > a:hover{ background:var(--sd-sheet); text-decoration:none; }
.sd-trio .when{ display:block; font-family:var(--sd-m); font-size:11.5px; color:var(--sd-dim); margin-bottom:7px; letter-spacing:.06em; }
.sd-trio strong{ display:block; font-family:var(--sd-h); font-weight:600; font-size:17px; line-height:1.24; letter-spacing:-.01em; }

/* ---------- полоса «канал сейчас» ---------- */
.sd-strip{
  background:var(--sd-sheet); border-top:2px solid var(--sd-ink); border-bottom:1px solid var(--sd-line);
  padding:20px 22px; margin:0 0 36px;
}
.sd-strip h2{ font-size:17px; margin:0 0 14px; letter-spacing:-.01em; }
.sd-strip .cells{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.sd-strip .cell{ border-left:2px solid var(--sd-signal); padding-left:13px; }
.sd-strip .cell b{ display:block; font-family:var(--sd-m); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--sd-dim); margin-bottom:5px; font-weight:500; }
.sd-strip .cell span{ font-size:15px; color:var(--sd-ink); }
.sd-strip .src{ margin:14px 0 0; font-family:var(--sd-m); font-size:11px; color:var(--sd-dim); letter-spacing:.04em; }

/* ---------- нижняя полоса «квартал»: виджеты не в рельсе, а внизу ---------- */
.sd-kv{ border-top:2px solid var(--sd-ink); padding:26px 0 0; margin:6px 0 0; }
.sd-kv-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.sd-kv h3{
  font-family:var(--sd-m); font-weight:500; font-size:11.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--sd-dim); margin:0 0 12px; padding-bottom:8px;
  border-bottom:1px solid var(--sd-line);
}
.sd-kv ul{ list-style:none; margin:0; padding:0; }
.sd-kv li{ margin:0 0 7px; font-size:14.5px; }
.sd-kv li a{ color:var(--sd-ink-2); }
.sd-kv li a:hover{ color:var(--sd-canal); }
.sd-ev{ margin:0 0 14px; }
.sd-ev .d{ display:block; font-family:var(--sd-m); font-size:11.5px; color:var(--sd-signal); letter-spacing:.06em; }
.sd-ev b{ display:block; font-family:var(--sd-h); font-weight:600; font-size:15px; line-height:1.25; margin:2px 0 3px; }
.sd-ev span.t{ font-size:13.5px; color:var(--sd-dim); }
.sd-offer{ display:block; padding:12px 14px; border:1px solid var(--sd-line); background:var(--sd-sheet); margin:0 0 10px; color:var(--sd-ink) !important; }
.sd-offer:hover{ border-color:var(--sd-ink); text-decoration:none; }
.sd-offer b{ display:block; font-family:var(--sd-h); font-weight:600; font-size:15px; margin-bottom:3px; }
.sd-offer span{ font-size:13.5px; color:var(--sd-dim); }
.sd-fakta{ width:100%; border-collapse:collapse; }
.sd-fakta th{
  text-align:left; font-family:var(--sd-m); font-weight:400; font-size:11.5px;
  letter-spacing:.10em; text-transform:uppercase; color:var(--sd-dim);
  padding:7px 10px 7px 0; border-bottom:1px solid var(--sd-line); vertical-align:baseline; width:44%;
}
.sd-fakta td{
  padding:7px 0; border-bottom:1px solid var(--sd-line); font-size:15px; color:var(--sd-ink);
}
.sd-fakta td span{ display:block; font-family:var(--sd-m); font-size:11px; color:var(--sd-dim); }

/* ---------- подвал: светлый, с тяжёлой чёрной линейкой ---------- */
body .footer,.sd-foot{
  background:var(--sd-paper-2) !important; color:var(--sd-ink-2) !important;
  border-top:3px solid var(--sd-ink) !important; padding:30px 0 20px !important; margin-top:34px;
}
.sd-foot-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:30px; }
.sd-foot h4{
  font-family:var(--sd-m); font-weight:500; font-size:11.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--sd-dim); margin:0 0 11px;
}
.sd-foot p{ font-size:14px; line-height:1.6; margin:0 0 10px; color:var(--sd-ink-2); }
.sd-foot ul{ list-style:none; margin:0; padding:0; }
.sd-foot li{ margin:0 0 6px; font-size:14px; }
.sd-foot a{ color:var(--sd-ink-2); }
.sd-foot a:hover{ color:var(--sd-canal); }
.sd-foot-end{
  margin-top:22px; padding-top:14px; border-top:1px solid var(--sd-line-d);
  font-family:var(--sd-m); font-size:11.5px; letter-spacing:.05em; color:var(--sd-dim);
}

/* ---------- статьи и страницы ---------- */
body .content-wrap{ display:block; background:transparent !important; box-shadow:none !important; }
body .boxed-content-wrapper{ background:transparent !important; box-shadow:none !important; }
body .single-post,body .static-page{
  background:var(--sd-sheet); border:1px solid var(--sd-line); border-top:3px solid var(--sd-ink);
  padding:34px clamp(18px,4vw,48px) 40px; margin:0 0 26px;
}
body .single-post h1,body .static-page h1{
  font-size:clamp(27px,4vw,42px); line-height:1.06; letter-spacing:-.025em;
  margin:0 0 14px; max-width:24ch; border:0; background:none; padding:0; color:var(--sd-ink);
}
body .single-post .post-meta,body .post-meta{
  font-family:var(--sd-m); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--sd-dim); border-bottom:1px solid var(--sd-line); padding:0 0 14px; margin:0 0 22px;
  background:none;
}
body .post-content{ font-size:17px; line-height:1.7; max-width:68ch; }
body .post-content p{ margin:0 0 16px; }
body .post-content h2{
  font-size:22px; margin:30px 0 12px; padding:0 0 6px; background:none !important; color:var(--sd-ink) !important;
  border-bottom:1px solid var(--sd-line);
}
body .post-content h3{ font-size:18px; margin:24px 0 10px; }
body .post-content ul,body .post-content ol{ margin:0 0 18px 20px; }
body .post-content li{ margin:0 0 8px; }
body .post-content img{ border:1px solid var(--sd-line); margin:8px 0 18px; }
body .post-content blockquote{
  margin:20px 0; padding:4px 0 4px 18px; border-left:3px solid var(--sd-signal);
  font-size:18px; color:var(--sd-ink-2);
}
body .post-content a{ border-bottom:1px solid rgba(31,95,122,.35); }
body .post-content table{ width:100%; border-collapse:collapse; margin:0 0 18px; font-size:15px; }
body .post-content th,body .post-content td{ border:1px solid var(--sd-line); padding:8px 10px; text-align:left; }
body .post-content th{ background:var(--sd-paper-2); font-family:var(--sd-m); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }

/* боковая колонка статьи уезжает вниз и становится полосой */
body .content-wrap .sidebar{
  display:grid; grid-template-columns:repeat(2,1fr); gap:26px; float:none; width:auto; margin:0;
  border-top:2px solid var(--sd-ink); padding-top:22px;
}
body .widget{ background:transparent !important; border:0 !important; box-shadow:none !important; margin:0 0 18px !important; }
body .widget-head{
  background:transparent !important; color:var(--sd-dim) !important; border:0 !important;
  border-bottom:1px solid var(--sd-line) !important; padding:0 0 8px !important; margin:0 0 12px !important;
  font-family:var(--sd-m) !important; font-weight:500 !important; font-size:11.5px !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
}
body .widget-body{ background:transparent !important; padding:0 !important; border:0 !important; }
body .popular-item{ display:flex; gap:12px; padding:0 0 12px; margin:0 0 12px; border-bottom:1px solid var(--sd-line); }
body .popular-item .pop-thumb{ width:80px; height:45px; flex:0 0 80px; background-size:cover; background-position:center; border:1px solid var(--sd-line); border-radius:0; }
body .popular-item h4{ font-size:15px; line-height:1.25; margin:0 0 3px; }
body .popular-item h4 a{ color:var(--sd-ink) !important; }
body .popular-item .meta{ font-family:var(--sd-m); font-size:11px; color:var(--sd-dim); letter-spacing:.06em; }

/* родственные материалы и списки категорий */
body .cat-section{ margin:0 0 26px; }
body .section-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  border-top:2px solid var(--sd-ink); border-bottom:0; background:none !important; padding:10px 0 12px; margin:0 0 16px;
}
body .section-head h3{
  font-family:var(--sd-h); font-size:20px; font-weight:700; letter-spacing:-.02em;
  color:var(--sd-ink) !important; background:none !important; padding:0 !important; margin:0;
}
body .section-head a.view-all{
  font-family:var(--sd-m); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--sd-ink-2) !important; background:none !important; border-bottom:1px solid var(--sd-signal); padding:0;
}
body .cat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
body .post-card{
  background:transparent !important; border:0 !important; border-top:1px solid var(--sd-line) !important;
  border-radius:0 !important; box-shadow:none !important; padding:12px 0 0; transform:none !important;
}
body .post-card .thumb{ width:100%; aspect-ratio:16/9; background-size:cover; background-position:center; border:1px solid var(--sd-line); border-radius:0; margin:0 0 10px; }
body .post-card .card-body{ padding:0 !important; }
body .post-card h3{ font-size:16px; line-height:1.24; margin:0 0 6px; }
body .post-card h3 a{ color:var(--sd-ink) !important; }
body .post-card .meta{ font-family:var(--sd-m); font-size:11px; letter-spacing:.06em; color:var(--sd-dim); }
body .btn-las-mer{
  display:inline-block; margin-top:8px; background:none !important; color:var(--sd-canal) !important;
  border:0 !important; border-bottom:1px solid var(--sd-signal) !important; border-radius:0 !important;
  padding:0 0 1px !important; font-family:var(--sd-m); font-size:12px; letter-spacing:.06em; text-transform:uppercase;
}
body .btn-las-mer:hover{ color:var(--sd-ink) !important; text-decoration:none; }
body .post-list-item{ padding:16px 0; border-bottom:1px solid var(--sd-line); }
body .post-list-item h3{ font-size:19px; margin:0 0 6px; }
body .post-list-item h3 a{ color:var(--sd-ink) !important; }
body .post-list-item .meta{ font-family:var(--sd-m); font-size:11.5px; letter-spacing:.06em; color:var(--sd-dim); }
body .post-list-item .excerpt{ font-size:15px; color:var(--sd-ink-2); margin:6px 0 0; }
body .post-list-separator{ display:none; }
body .blog-list{ display:block; }

/* оценка и мелочи */
body .rating-widget{
  background:var(--sd-paper-2) !important; border:1px solid var(--sd-line) !important; border-radius:0 !important;
  padding:16px 18px !important; margin-top:26px !important;
}
body .rating-title{ font-family:var(--sd-m); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--sd-dim); }
body .star-btn,body .rating-display .star.filled{ color:var(--sd-signal) !important; }
body .rating-info,body .rating-display .rating-num{ font-family:var(--sd-m); font-size:12px; color:var(--sd-dim); }

/* формы */
body .contact-form input,body .contact-form textarea,body .contact-form select{
  border:1px solid var(--sd-line-d) !important; border-radius:0 !important; background:#fff !important;
  font-family:var(--sd-t) !important; font-size:15px !important; color:var(--sd-ink) !important; padding:10px 12px !important;
}
body .contact-form input:focus,body .contact-form textarea:focus,body .contact-form select:focus{
  outline:2px solid var(--sd-signal) !important; outline-offset:-2px; border-color:var(--sd-ink) !important;
}
body .contact-form label{ font-family:var(--sd-m); font-size:11.5px; letter-spacing:.10em; text-transform:uppercase; color:var(--sd-dim) !important; }
body .contact-form button{
  background:var(--sd-ink) !important; color:#fff !important; border:0 !important; border-radius:0 !important;
  font-family:var(--sd-m) !important; font-size:13px !important; letter-spacing:.10em; text-transform:uppercase; padding:12px 22px !important;
}
body .contact-form button:hover{ background:var(--sd-canal-d) !important; }
body .contact-info-card{ background:var(--sd-sheet) !important; border:1px solid var(--sd-line) !important; border-radius:0 !important; }

/* сетка событий и фото */
body .events-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
body .event-card{
  background:var(--sd-sheet) !important; border:1px solid var(--sd-line) !important; border-left:3px solid var(--sd-signal) !important;
  border-radius:0 !important; box-shadow:none !important; padding:18px 20px !important;
}
body .event-card .event-date-big{
  font-family:var(--sd-m) !important; font-size:12px !important; letter-spacing:.10em; text-transform:uppercase;
  color:var(--sd-canal) !important; background:none !important;
}
body .event-card h3{ font-size:19px; margin:6px 0 8px; }
body .video-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
body .video-card{ background:var(--sd-sheet) !important; border:1px solid var(--sd-line) !important; border-radius:0 !important; }

/* печенье */
body .cookie-banner{
  background:var(--sd-ink) !important; border-top:2px solid var(--sd-signal) !important; border-radius:0 !important;
}
body .cookie-inner p{ font-size:13.5px; color:#D8DCD8; }
body .cookie-accept{ background:var(--sd-signal) !important; color:var(--sd-ink) !important; border-radius:0 !important; font-family:var(--sd-m); }
body .cookie-decline{ background:transparent !important; color:#D8DCD8 !important; border:1px solid #4A545B !important; border-radius:0 !important; font-family:var(--sd-m); }

/* партнёрская полоса внизу — привести к общему языку */
body .ds-partners{ border-top:1px solid var(--sd-line) !important; }
body .ds-partners a{ border:1px solid var(--sd-line) !important; border-radius:0 !important; background:var(--sd-sheet); }
body .ds-partners a:hover{ border-color:var(--sd-ink) !important; text-decoration:none; }

/* постраничная навигация */
body .pagination{ display:flex; gap:6px; list-style:none; padding:0; margin:24px 0 0; flex-wrap:wrap; }
body .pagination li a,body .pagination li span{
  display:block; padding:7px 12px; border:1px solid var(--sd-line-d); background:var(--sd-sheet);
  font-family:var(--sd-m); font-size:13px; color:var(--sd-ink-2); border-radius:0;
}
body .pagination li.active span{ background:var(--sd-ink); color:#fff; border-color:var(--sd-ink); }

/* ---------- узкие экраны ---------- */
@media(max-width:1000px){
  .sd-brow{ grid-template-columns:44px 104px 1fr; }
  .sd-btag{ display:none; }
  .sd-kv-grid{ grid-template-columns:repeat(2,1fr); }
  .sd-foot-grid{ grid-template-columns:1fr 1fr; }
  body .cat-row{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:760px){
  body{ font-size:16px; }
  .sd-lead{ display:block; }
  .sd-lead .pic{ display:block; margin:0 0 14px; }
  .sd-head-in{ padding:20px 0 14px; }
  .sd-status{ min-width:0; width:100%; }
  .sd-band{ height:52px; }
  .sd-menu a{ padding:11px 12px; font-size:12.5px; }
  .sd-find{ width:100%; padding:0 0 10px; }
  .sd-find input{ width:100%; }
  .sd-brow{ grid-template-columns:1fr; gap:6px; padding:14px 16px; }
  .sd-bnum{ display:none; }
  .sd-item{ grid-template-columns:1fr; gap:10px; }
  .sd-item .shot{ order:-1; max-width:100%; }
  .sd-item .when{ padding-top:0; }
  .sd-trio{ grid-template-columns:1fr; }
  .sd-trio > a{ border-right:0; }
  .sd-strip .cells{ grid-template-columns:1fr; gap:16px; }
  .sd-kv-grid{ grid-template-columns:1fr; }
  .sd-foot-grid{ grid-template-columns:1fr; }
  body .content-wrap .sidebar{ grid-template-columns:1fr; }
  body .cat-row{ grid-template-columns:1fr 1fr; gap:14px; }
  body .events-grid,body .video-grid{ grid-template-columns:1fr; }
  body .single-post,body .static-page{ padding:22px 18px 28px; }
}
@media(max-width:420px){
  body .cat-row{ grid-template-columns:1fr; }
}
