/* «Сегодня в Баку» — эталон: как блок собран из JSON; на сайт не подключать (стили к web/widget/today.js, 15.10.2026).
   S70 (26.10): без отключений и «Дорог и транспорта» — их правила (районы-чипы, метки света, газа, воды) убраны.
   Тёмный баннер — как в прототипе, а элементы — как в вёрстке сайта (build/css/style.css): шрифт ProximaVara
   (--font-family), кнопка .main-btn (оранжевая, 46 px, скругление 8 px), поле поиска .search-form__field,
   вкладки и чипы .finance-section__btn, белые карточки .finance-section__box, «стекло» .hero-section__inner,
   значки погоды — из спрайта сайта. Цвета — переменные сайта (--cl-c, --bg-d…), без них — те же значения.
   Всё внутри .gt: глобальные правила сайта (span, p, a, button) блок не ломают. */

/* --- Сброс глобальных правил сайта внутри блока: у сайта span, p, a, button получают свой цвет и line-height 110% --- */
.gt :where(h1, h2, h3, h4, p, a, span, button, b, strong, i, small, label, div, section, ul, li, table, tr, td, details, summary, form, input, select) {
  margin: 0; padding: 0; color: inherit; font-family: inherit; font-size: inherit; font-style: normal; line-height: inherit; letter-spacing: inherit;
}
.gt, .gt *, .gt *::before, .gt *::after { box-sizing: border-box; }
.gt [hidden] { display: none !important; }
/* :where — без веса: стили элементов блока ниже перекрывают этот сброс */
.gt :where(button) { cursor: pointer; background: transparent; border: 0; text-align: inherit; }
.gt :where(a) { text-decoration: none; }
.gt :where(svg) { flex-shrink: 0; }
.gt .gt-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.gt {
  /* переменные сайта: если блок стоит не на gün.az (предпросмотр), берутся те же значения */
  --gt-font: var(--font-family, "ProximaVara", system-ui, -apple-system, "Segoe UI", sans-serif);
  --gt-font2: var(--second-family, "Inter", system-ui, -apple-system, "Segoe UI", sans-serif);
  --gt-accent: rgb(var(--cl-c, 241, 88, 46));
  --gt-accent-dark: rgb(var(--bg-n, 210, 66, 25));
  --gt-ink: rgba(var(--cl-b, 0, 0, 0), 0.95);
  --gt-ink2: rgba(var(--cl-b, 0, 0, 0), 0.58);
  --gt-ink3: rgba(var(--cl-b, 0, 0, 0), 0.42);
  --gt-line: var(--br-a, #E1E3E6);
  --gt-line2: var(--br-e, #EDEFF2);
  --gt-field: var(--br-b, #D9D5D4);
  --gt-soft: rgb(var(--bg-d, 246, 245, 247));
  --gt-chip: rgb(var(--bg-j, 233, 232, 235));
  --gt-cream: rgb(var(--bg-c, 252, 243, 230));
  --gt-green: rgb(var(--cl-k, 0, 140, 57));
  --gt-red: rgb(var(--cl-j, 199, 18, 18));
  --gt-icon: rgb(var(--cl-h, 77, 74, 73));
  --gt-amber: #9C5D00;
  /* оранжевый — погода, когда оранжевый или красный уровень уже идёт (20.10; было красным) */
  --gt-orange: #C2410C;
  --gt-off: var(--container-offset, 16px);
  /* поля баннера: по ним выровнены заголовок, поиск, кнопка, плашка и значки табло — как у .hero-section__inner (32 px).
     16.10, админ: блок сжат по высоте — меньше поля сверху, заголовок и ячейки табло; кнопки остаются 46 px, как на сайте */
  --gt-px: 32px;
  --gt-py: 18px;
  font-family: var(--gt-font);
  font-size: 16px;
  line-height: 1.4;
  color: var(--gt-ink);
  -webkit-text-size-adjust: 100%;
}

/* --- Баннер --- */
.gt-banner { position: relative; z-index: 4; color: #fff; border-radius: 12px; isolation: isolate; }
.gt-bg { position: absolute; inset: 0; z-index: -1; border-radius: inherit; overflow: hidden; background: #15191A; pointer-events: none; }
.gt-bg img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 40%; }
.gt-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14, 21, 24, 0.92) 0%, rgba(14, 21, 24, 0.74) 50%, rgba(14, 21, 24, 0.86) 100%); }
.gt-in {
  position: relative; padding: var(--gt-py) var(--gt-px);
  display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "title search cta" "alert alert alert" "strip strip strip";
  /* между рядами — отступ сверху у плашки и табло, а не row-gap: без плашки её пустой ряд давал лишние 16 px (16.10) */
  column-gap: 12px; row-gap: 0; align-items: center;
}
.gt-titlebox { grid-area: title; min-width: 0; transition: opacity 0.2s ease; }
.gt-title { display: block; font-family: var(--gt-font); font-weight: 600; font-size: 24px; line-height: 1.15; letter-spacing: 0; color: #fff; }
.gt-stamp { display: block; margin-top: 2px; font-size: 13px; line-height: 18px; color: rgba(255, 255, 255, 0.72); }

/* Поиск: в строке заголовка кнопка с лупой. По нажатию поле — как у сайта (.search-form__field: белое, рамка, 46 px)
   с выбором, где искать, и кнопкой «Найти» — раскрывается влево от кнопки до конца заголовка, ничего не сдвигая */
.gt-sslot { grid-area: search; justify-self: end; width: 46px; height: 46px; }
.gt-search {
  position: absolute; z-index: 3; top: var(--gt-s-top, var(--gt-py)); right: var(--gt-s-right, var(--gt-px)); left: var(--gt-s-closed, auto);
  height: 46px; display: flex; align-items: center; gap: 12px;
  /* поле открывается сразу, без анимации ширины: пока ширина меняется, браузер ставит набранные буквы в начало поля */
}
.gt-search:not(.gt-min) { left: var(--gt-s-open, var(--gt-px)); }
.gt-field {
  flex: 1 1 0; min-width: 0; height: 46px; display: flex; align-items: center;
  background: #fff; border: 1px solid var(--gt-field); border-radius: 4px; overflow: hidden; transition: border-color 0.3s;
}
.gt-field:focus-within { border-color: var(--gt-accent); }
.gt-scope { position: relative; flex-shrink: 0; height: 100%; display: flex; align-items: center; border-right: 1px solid var(--gt-field); }
.gt-scope select {
  height: 100%; padding: 0 34px 0 16px; border: 0; outline: 0; background: transparent; -webkit-appearance: none; appearance: none;
  font-family: var(--gt-font); font-weight: 600; font-size: 16px; letter-spacing: 0.01em; color: rgb(0, 0, 0); cursor: pointer;
}
.gt-scope svg { position: absolute; right: 12px; top: 50%; margin-top: -9px; pointer-events: none; color: var(--gt-accent); }
.gt-q {
  flex: 1 1 0; min-width: 0; height: 100%; padding: 10px 16px; border: 0; outline: 0; background: transparent; -webkit-appearance: none; appearance: none;
  font-family: var(--gt-font); font-weight: 400; font-size: 16px; line-height: 1.5; color: rgb(0, 0, 0);
}
.gt-q::placeholder { color: rgb(var(--cl-d, 142, 139, 138)); opacity: 1; }
.gt-q::-webkit-search-cancel-button { display: none; }
.gt-x { flex-shrink: 0; width: 40px; height: 40px; margin-right: 3px; display: flex; align-items: center; justify-content: center; border-radius: 8px; color: var(--gt-icon); }
.gt-x:hover { color: var(--gt-accent); }
/* кнопка: закрытый поиск — белая с лупой (как значок в поле сайта), открытый — «Найти» (.main-btn) */
.gt-go {
  flex-shrink: 0; height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 24px;
  border-radius: 8px; background: var(--gt-accent); color: #fff;
  font-family: var(--gt-font); font-weight: 600; font-size: 16px; line-height: 1.5; letter-spacing: 0.01em; white-space: nowrap; transition: box-shadow 0.4s, background-color 0.3s;
}
.gt-go:hover { box-shadow: 0 2px 5px 1px rgba(0, 0, 0, 0.3); }
.gt-go svg { margin-left: -8px; }
.gt-search.gt-min { gap: 0; }
.gt-search.gt-min .gt-field { display: none; }
.gt-search.gt-min .gt-go { width: 46px; padding: 0; background: #fff; color: var(--gt-icon); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22); }
.gt-search.gt-min .gt-go svg { margin: 0; }
.gt-search.gt-min .gt-go:hover { color: var(--gt-accent); }
.gt-search.gt-min .gt-go .gt-gotext { display: none; }
.gt-in.gt-sopen.gt-cover .gt-titlebox { opacity: 0; }

/* «Что происходит в городе» — .main-btn сайта */
.gt-ctabox { grid-area: cta; display: flex; }
.gt-cta {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 24px;
  border-radius: 8px; background: var(--gt-accent); color: #fff;
  font-family: var(--gt-font); font-weight: 600; font-size: 16px; line-height: 1.5; letter-spacing: 0.01em; white-space: nowrap; transition: box-shadow 0.4s;
}
.gt-cta:hover { box-shadow: 0 2px 5px 1px rgba(0, 0, 0, 0.3); }
.gt-cta .gt-chev { margin-right: -8px; transition: transform 0.15s; }
.gt-cta[aria-expanded="true"] .gt-chev { transform: rotate(180deg); }
a.gt-cta:hover .gt-chev { transform: translateX(2px); }
.gt-cnt {
  position: absolute; top: -9px; right: -9px; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 12px; border: 2px solid #fff;
  display: flex; align-items: center; justify-content: center; background: var(--gt-red); color: #fff; font-size: 12px; font-weight: 600; line-height: 1;
}

/* Плашка: с 19.10 сервер её не шлёт (alert всегда null). Стили оставлены, если вернём: без tone — красная, tone "amber" — тёмно-жёлтая */
.gt-alertbox { grid-area: alert; margin-top: 14px; }
.gt-alert { display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 16px; border-radius: 8px; background: rgba(199, 18, 18, 0.92); font-size: 15px; line-height: 1.4; }
.gt-alert.gt-amber { background: rgba(156, 93, 0, 0.94); }
.gt-alert > span { flex: 1 1 auto; min-width: 0; }
.gt-alert strong { font-weight: 600; }
.gt-alert button {
  /* на сайте у button стоит display: flex — без центровки «Подробнее» прилипало к верху кнопки (16.10) */
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0; height: 36px; padding: 0 14px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.8); color: #fff;
  font-family: var(--gt-font2); font-weight: 500; font-size: 14px; line-height: 20px; transition: background-color 0.3s, color 0.3s;
}
.gt-alert button:hover { background: #fff; color: var(--gt-red); }

/* Табло: «стекло», как нижняя часть баннера сайта (.hero-section__inner). Крайние ячейки — с полями баннера */
.gt-strip {
  grid-area: strip; margin: 14px calc(-1 * var(--gt-px)) calc(-1 * var(--gt-py)); display: flex;
  border-top: 1px solid rgba(255, 255, 255, 0.14); border-radius: 0 0 12px 12px; overflow: hidden;
  -webkit-backdrop-filter: blur(30px); backdrop-filter: blur(30px); background: rgba(255, 255, 255, 0.01);
}
.gt-cell {
  flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 9px 12px 7px;
  border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 2px solid transparent; color: #fff; text-align: left; font: inherit;
  transition: background-color 0.3s;
}
.gt-cell:first-child { padding-left: var(--gt-px); }
.gt-cell:last-child { border-right: 0; padding-right: var(--gt-px); }
/* погода, курс и намаз короткие и нужны целиком — не сжимаются; не хватает места — сжимаются карусели */
.gt-cell:not(.gt-rot) { flex-shrink: 0; }
.gt-cell:hover { background: rgba(255, 255, 255, 0.08); }
/* выбранная — оранжевая черта снизу, как у пункта меню сайта */
.gt-cell.gt-sel { background: rgba(255, 255, 255, 0.12); border-bottom-color: var(--gt-accent); }
.gt-cell.gt-urgent { background: rgba(199, 18, 18, 0.88); }
.gt-cell.gt-amber { background: rgba(237, 158, 0, 0.18); }
.gt-cell.gt-amber .gt-lab, .gt-cell.gt-amber .gt-ic { color: #FFD166; }
.gt-cell.gt-amber .gt-val { color: #FFE7A3; }
/* идёт матч (16.10, админ): блок не красим — красная точка и красная подпись «LIVE · 63'»; красный блок — только тревога */
.gt-cell.gt-live .gt-lab { color: #FF6B5E; font-weight: 600; letter-spacing: 0.02em; }
/* погода (19.10, админ, вариант А): предупреждение — подписью и значком, ячейку не заливаем, плашки нет.
   caution — жёлтый уровень идёт или опасный ожидается; alarm — оранжевый или красный уровень уже идёт */
.gt-cell.gt-caution .gt-lab, .gt-cell.gt-caution .gt-ic { color: #FFD166; }
.gt-cell.gt-alarm .gt-lab, .gt-cell.gt-alarm .gt-ic { color: #FF9A3D; }
.gt-cell.gt-alarm .gt-lab { font-weight: 600; }
.gt-cell.gt-nodata .gt-val { color: rgba(255, 255, 255, 0.6); }
.gt-txt { display: flex; flex-direction: column; min-width: 0; }
.gt-lab { font-size: 13px; line-height: 18px; font-weight: 400; color: rgba(255, 255, 255, 0.72); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gt-cell.gt-urgent .gt-lab { color: rgba(255, 255, 255, 0.92); }
.gt-val { font-size: 16px; line-height: 22px; font-weight: 600; letter-spacing: 0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gt-ic { display: block; }
.gt-livedot { display: inline-block; flex-shrink: 0; width: 9px; height: 9px; border-radius: 50%; background: #FF4D3D; box-shadow: 0 0 0 3px rgba(255, 77, 61, 0.28); animation: gt-pulse 1.4s ease-in-out infinite; }
.gt-livedot.gt-big { width: 11px; height: 11px; margin: 0 5px; }
@keyframes gt-pulse { 50% { opacity: 0.35; } }
@media (prefers-reduced-motion: reduce) { .gt-livedot { animation: none; } }
/* солнце и луна на тёмном — с мягким свечением */
.gt-wx-dark.gt-wx-sun, .gt-wx-dark.gt-wx-sunCloud, .gt-wx-dark.gt-wx-moon, .gt-wx-dark.gt-wx-moonCloud { filter: drop-shadow(0 0 3px rgba(255, 204, 0, 0.45)); }

/* Карусели табло: пункты стопкой в одной клетке; смена — переворот снизу вверх */
.gt-rot { position: relative; overflow: hidden; }
.gt-stack { display: grid; grid-template-columns: minmax(0, 1fr); flex: 1 1 auto; min-width: 0; }
.gt-sl { grid-area: 1 / 1; display: flex; align-items: center; gap: 10px; min-width: 0; opacity: 0; transform: translateY(85%); transition: transform 0.9s cubic-bezier(0.2, 0.75, 0.25, 1), opacity 0.6s ease; }
.gt-sl.gt-on { opacity: 1; transform: none; }
.gt-sl.gt-up { opacity: 0; transform: translateY(-85%); }
@media (prefers-reduced-motion: reduce) { .gt-sl, .gt-sl.gt-up { transition: none; transform: none; } }

/* --- Панель и сводка: белая карточка, как «Финансы» на сайте (.finance-section__box) --- */
.gt-panel { margin-top: 16px; padding: 16px 24px 20px; background: #fff; border-radius: 12px; box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08); color: var(--gt-ink); }
.gt-ph { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.gt-ph .gt-tt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gt-ph h2 { font-family: var(--gt-font); font-weight: 600; font-size: 20px; line-height: 28px; color: var(--gt-ink); }
.gt-muted { font-size: 14px; line-height: 20px; color: var(--gt-ink2); }
.gt-close {
  margin-left: auto; flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  border-radius: 8px; border: 1px solid var(--gt-field); color: var(--gt-icon); transition: border-color 0.3s, color 0.3s;
}
.gt-close:hover { border-color: var(--gt-accent); color: var(--gt-accent); }
/* «← Сводка» — как .small-btn сайта */
.gt-back {
  flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 6px 12px 6px 8px; border-radius: 8px; border: 1px solid var(--gt-accent);
  color: var(--gt-accent); font-family: var(--gt-font2); font-weight: 500; font-size: 14px; line-height: 20px; letter-spacing: 0.1px; transition: background-color 0.3s, color 0.3s;
}
.gt-back:hover { background: var(--gt-accent); color: #fff; }
.gt-handle { width: 40px; height: 4px; margin: 0 auto 12px; border-radius: 2px; background: var(--gt-field); }

.gt-sumgrid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.gt-card {
  min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 16px; border-radius: 12px;
  border: 1px solid var(--gt-line); background: #fff; color: var(--gt-ink); text-align: left; transition: border-color 0.3s, transform 0.3s;
}
.gt-card:hover { border-color: var(--gt-accent); }
.gt-card .gt-cl { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--gt-ink2); }
.gt-card .gt-cl > span { flex: 1 1 0; min-width: 0; }
.gt-card .gt-cl > .gt-livedot { flex: 0 0 auto; margin: 0 4px; }
.gt-card.gt-live .gt-cl { color: var(--gt-red); }
.gt-card .gt-cl .gt-ic { color: var(--gt-icon); }
.gt-card .gt-cv { font-size: 20px; line-height: 1.25; font-weight: 600; color: var(--gt-ink); }
.gt-card .gt-cn { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: 14px; line-height: 1.4; color: var(--gt-ink2); }
.gt-card.gt-urgent { background: rgba(199, 18, 18, 0.05); border-color: rgba(199, 18, 18, 0.35); }
.gt-card.gt-urgent .gt-cl, .gt-card.gt-urgent .gt-cv, .gt-card.gt-urgent .gt-cl .gt-ic { color: var(--gt-red); }
.gt-card.gt-amber { background: var(--gt-cream); border-color: #F2D7A6; }
.gt-card.gt-amber .gt-cv { color: var(--gt-amber); }
/* погода в сводке — как в табло: цветом подписи и значка, без заливки карточки (19.10) */
.gt-card.gt-caution .gt-cl, .gt-card.gt-caution .gt-cl .gt-ic { color: var(--gt-amber); }
.gt-card.gt-alarm .gt-cl, .gt-card.gt-alarm .gt-cv, .gt-card.gt-alarm .gt-cl .gt-ic { color: var(--gt-orange); }
.gt-card.gt-nodata .gt-cv { color: var(--gt-ink2); }

.gt-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 32px; }
.gt-grid21 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 20px 32px; }
.gt-side { display: flex; flex-direction: column; gap: 12px; }
.gt-big { font-size: 44px; line-height: 1; font-weight: 600; color: var(--gt-ink); }
.gt-h { margin: 0 0 6px; font-size: 15px; line-height: 22px; font-weight: 600; letter-spacing: 0.01em; color: var(--gt-ink); }
.gt-h.gt-gap { margin-top: 14px; }
.gt-p { margin: 0 0 10px; font-size: 16px; line-height: 1.5; color: var(--gt-ink2); }
.gt-small { font-size: 14px; line-height: 20px; color: var(--gt-ink2); }
.gt-credit { margin-top: 16px; font-size: 12px; line-height: 16px; color: var(--gt-ink3); }
.gt-box { padding: 16px; border-radius: 12px; background: var(--gt-soft); font-size: 15px; line-height: 1.45; }
.gt-box .gt-line { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; }
.gt-box a, .gt-row a, .gt-panel a.gt-a { color: var(--gt-accent); font-weight: 600; }
.gt-empty { padding: 32px; text-align: center; color: var(--gt-ink2); }

.gt-row { padding: 7px 0; border-bottom: 1px solid var(--gt-line2); font-size: 14px; line-height: 1.4; }
.gt-row .gt-t { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gt-row .gt-when { min-width: 110px; font-weight: 600; }
.gt-row.gt-minor { opacity: 0.85; }
/* пункт, который нажали в карусели табло: в панели он первым и подсвечен */
.gt-row.gt-focus { padding-left: 12px; padding-right: 8px; border-radius: 8px; background: var(--gt-cream); box-shadow: inset 3px 0 0 var(--gt-accent); }
details.gt-more { margin-top: 6px; }
details.gt-more > summary { cursor: pointer; padding: 4px 0; font-size: 14px; font-weight: 600; color: var(--gt-accent); }
/* 16.10: панели одного размера — строка в одну линию (Афиша, «Скоро»), длинное — с «…», целиком — в подсказке */
.gt-row.gt-one .gt-t { flex-wrap: nowrap; }
.gt-row .gt-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gt-row.gt-one .gt-when, .gt-row.gt-one .gt-tag { flex-shrink: 0; }
.gt-row.gt-one .gt-venue { flex: 0 100 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* S71 (28.10): «Событие дня» → «Скоро» — даты колонкой одной ширины (обёртка .gt-soon, today.js): длинная дата («28 октября –
   8 ноября», «22 October – 30 November») раньше сдвигала название вправо. Ширина — под самую длинную настоящую дату языка
   (ru и az — 12.75em, en — 14em); ещё длиннее — переносится внутри колонки, название стоит на месте. Планшет и телефон — ниже */
.gt-soon { --gt-whenw: 12.75em; }
.gt-soon:lang(en) { --gt-whenw: 14em; }
.gt-soon .gt-row.gt-one .gt-t { display: grid; grid-template-columns: var(--gt-whenw) minmax(0, 1fr) auto; column-gap: 8px; align-items: center; }
.gt-soon .gt-row .gt-when { min-width: 0; }
.gt-ell { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gt-cols { columns: 2; column-gap: 32px; }
.gt-cols > .gt-row { break-inside: avoid; }

/* Метки — как .main-top__label сайта */
.gt-tag { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 8px; background: var(--gt-cream); color: var(--gt-accent-dark); font-family: var(--gt-font2); font-weight: 500; font-size: 12px; line-height: 18px; white-space: nowrap; }
.gt-tag.gt-mute { background: var(--gt-chip); color: var(--gt-ink2); }
/* S74: идущее событие Афиши — «LIVE» у времени, красная точка как у матча */
.gt-tag.gt-livetag { gap: 6px; background: transparent; color: var(--gt-red); font-weight: 600; padding: 2px 0; }
.gt-warn { margin-bottom: 10px; padding: 12px 16px; border-radius: 12px; background: rgba(199, 18, 18, 0.07); color: #8E0E0E; }
.gt-warn.gt-yellow { background: var(--gt-cream); color: #7A4A08; }
.gt-panel table { width: 100%; border-collapse: collapse; font-size: 15px; }
.gt-panel td { padding: 6px 8px; border-bottom: 1px solid var(--gt-line2); color: var(--gt-ink); }
.gt-panel td:first-child { padding-left: 0; }
.gt-panel td.gt-r { padding-right: 0; text-align: right; font-weight: 600; white-space: nowrap; }
.gt-panel tr.gt-next td { background: var(--gt-cream); font-weight: 600; }
.gt-hours { display: flex; gap: 6px; margin-top: 16px; }
.gt-hours > div { flex: 1; min-width: 0; padding: 8px 2px; border-radius: 8px; background: var(--gt-soft); text-align: center; }
.gt-hours .gt-ic { margin: 4px auto 2px; }
.gt-hours b { font-weight: 600; }
.gt-wnow { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.gt-wnow .gt-p { margin: 0; }
.gt-sunl { display: flex; align-items: flex-start; gap: 6px; margin-top: 10px; font-size: 15px; color: var(--gt-ink2); }
.gt-sunl .gt-ic { margin-top: 1px; color: #D98E00; }

/* Футбол */
.gt-match { padding: 10px 16px; border-radius: 12px; background: var(--gt-soft); }
.gt-mhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gt-match.gt-live { background: rgba(241, 88, 46, 0.08); }
.gt-mrow { display: flex; align-items: center; gap: 12px; margin: 2px 0 0; }
.gt-team { flex: 1 1 0; min-width: 0; font-size: 17px; font-weight: 600; }
.gt-team.gt-right { text-align: right; }
.gt-mscore { min-width: 72px; text-align: center; font-size: 24px; font-weight: 600; font-variant-numeric: tabular-nums; }
.gt-mmeta { display: flex; flex-shrink: 0; align-items: center; gap: 6px; font-size: 14px; color: var(--gt-ink2); }
/* голы под счётом: хозяева слева, гости справа, по времени */
.gt-goals { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2px 16px; margin-top: 10px; font-size: 14px; color: var(--gt-ink2); }
.gt-goal { min-width: 0; overflow-wrap: anywhere; }
.gt-goal b { color: var(--gt-ink); font-variant-numeric: tabular-nums; }
.gt-goal.gt-home { grid-column: 1; text-align: left; }
.gt-goal.gt-away { grid-column: 2; text-align: right; }
.gt-fsc { margin-left: auto; font-weight: 600; font-variant-numeric: tabular-nums; }
.gt-fsc.gt-live { color: var(--gt-red); }
/* списки матчей: до 4 колонок, матч — команды и счёт, ниже мелко когда и турнир */
.gt-fbl { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px 28px; margin-top: 14px; }
.gt-row.gt-m2 .gt-t { flex-wrap: nowrap; }
.gt-row.gt-m2 .gt-fsc { flex-shrink: 0; }

/* Событие дня */
.gt-evtoday { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.gt-evc { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--gt-line); }
.gt-evl { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 15px; }
.gt-evl b { font-weight: 600; }
.gt-evt { font-size: 14px; line-height: 1.4; color: var(--gt-ink2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gt-evc.gt-urgent { background: rgba(199, 18, 18, 0.05); border-color: rgba(199, 18, 18, 0.35); }
.gt-evc.gt-amber { background: var(--gt-cream); border-color: #F2D7A6; }
.gt-evc.gt-focus { border-color: var(--gt-accent); box-shadow: inset 0 0 0 1px var(--gt-accent); }
.gt-lnk { align-self: flex-start; color: var(--gt-accent); font-family: var(--gt-font); font-weight: 600; font-size: 15px; }
.gt-lnk:hover { text-decoration: underline; }

/* Аптеки (16.10): районы «Хатаи 13» в колонки; нажали — на их месте аптеки района и «← Все районы» */
.gt-dists { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0 24px; }
.gt-dist { display: flex; align-items: center; gap: 8px; width: 100%; padding: 7px 0; border-bottom: 1px solid var(--gt-line2); font-size: 15px; line-height: 22px; color: var(--gt-ink); text-align: left; }
.gt-dist b { flex: 1 1 auto; min-width: 0; font-weight: 600; }
.gt-dist::after { content: ""; flex-shrink: 0; width: 7px; height: 7px; margin-right: 3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); opacity: 0.45; }
.gt-dist:hover { color: var(--gt-accent); }
.gt-backd { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; }
.gt-open24 { flex-shrink: 0; color: var(--gt-green); font-size: 13px; white-space: nowrap; }

/* Курс: пересчёт — поля как у сайта */
.gt-conv { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.gt-conv input, .gt-conv select {
  height: 46px; padding: 0 14px; border: 1px solid var(--gt-field); border-radius: 4px; outline: 0; background: #fff; color: rgb(0, 0, 0);
  font-family: var(--gt-font); font-size: 16px; transition: border-color 0.3s;
}
.gt-conv input:focus, .gt-conv select:focus { border-color: var(--gt-accent); }
.gt-conv input { width: 120px; }
.gt-convres { font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; }

.gt-backdrop { position: fixed; inset: 0; z-index: 2147483000; background: var(--overlay-bg, rgba(0, 0, 0, 0.5)); }
.gt-toast {
  position: fixed; left: 50%; bottom: 24px; z-index: 2147483002; transform: translateX(-50%); max-width: min(520px, calc(100% - 32px));
  padding: 12px 16px; border-radius: 8px; background: #1A1918; color: #fff; font-size: 15px; box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
}

/* --- Ноутбук поуже --- */
@media (max-width: 1240px) {
  .gt-sumgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* S70 (27.10): на компьютере колонок сводки — по числу карточек (класс gt-scN ставит today.js): 8 → 4 × 2, 6 (день траура) →
   3 × 2, до пяти — одной строкой. Планшет и телефон (до 1024 px) — как раньше, правила ниже */
@media (min-width: 1025px) {
  .gt-sumgrid.gt-sc1 { grid-template-columns: minmax(0, 1fr); }
  .gt-sumgrid.gt-sc2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gt-sumgrid.gt-sc3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gt-sumgrid.gt-sc4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gt-sumgrid.gt-sc5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
/* --- Планшет и телефон: блок — карточка в полях страницы со скруглёнными углами, как «Финансы» и другие карточки сайта
   (16.10, админ: острые углы на всю ширину экрана не нравятся; раньше баннер шёл на всю ширину без скругления) --- */
@media (max-width: 1024px) {
  .gt { --gt-px: var(--gt-off); --gt-py: 16px; }
  /* отступ от шапки сайта: скруглённые углы не прилипают к её нижней линии */
  .gt-banner { margin-top: 12px; }
  .gt-panel { margin-left: 0; margin-right: 0; }
  /* S71 (28.10): «Скоро» — колонка дат уже: длинная дата — в две строки («28 октября –» / «8 ноября»), название не сдвигается */
  .gt-soon { --gt-whenw: 7.75em; }
  .gt-soon:lang(en) { --gt-whenw: 8.75em; }
  /* S71 (28.10, проверка): длинное название — в две строки рядом с датой (дата здесь и так в две), дальше — «…». Без этого колонка
     дат оставляла названию узкое место, и многоточие резало его в одну строку (на телефоне в S70 оно уходило на свою строку) */
  .gt-soon .gt-row .gt-name { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .gt-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gt-cell { border-bottom: 1px solid rgba(255, 255, 255, 0.12); padding-right: 12px; }
  .gt-cell:nth-child(3n+1) { padding-left: var(--gt-px); }
  .gt-cell:nth-child(3n) { border-right: 0; padding-right: var(--gt-px); }
  .gt-cell:last-child { padding-right: var(--gt-px); }
  .gt-cell:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
  .gt-cell:nth-last-child(-n+3) { border-bottom: 0; }
  .gt-cell.gt-sel { border-bottom: 2px solid var(--gt-accent); }
  .gt-sumgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* --- Телефон: заголовок и поиск в одной строке, кнопка сводки на всю ширину, табло 2 × 3, панель — снизу --- */
@media (max-width: 768px) {
  .gt { --gt-py: 12px; }
  .gt-in { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
  .gt-titlebox { order: 1; padding-right: 58px; min-height: 46px; display: flex; flex-direction: column; justify-content: center; }
  .gt-title { font-size: 22px; }
  .gt-stamp { margin-top: 2px; font-size: 13px; line-height: 18px; }
  .gt-alertbox { order: 2; margin-top: 0; }
  .gt-ctabox { order: 3; }
  .gt-strip { order: 4; margin-top: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gt-sslot { position: absolute; top: var(--gt-py); right: var(--gt-px); }
  .gt-cta { width: 100%; }
  .gt-x { display: none; }
  .gt-scope select { padding: 0 30px 0 12px; font-size: 15px; }
  .gt-scope svg { right: 8px; }
  .gt-q { font-size: 16px; padding: 10px 12px; } /* 16 px — iPhone не увеличивает страницу при вводе */
  .gt-search:not(.gt-min) .gt-go { width: 46px; padding: 0; }
  .gt-search:not(.gt-min) .gt-go svg { margin: 0; }
  .gt-search:not(.gt-min) .gt-go .gt-gotext { display: none; }
  .gt-alert { align-items: flex-start; font-size: 14px; }
  .gt-cell { min-height: 46px; padding: 5px 8px; gap: 8px; border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
  .gt-cell:nth-child(odd) { padding-left: var(--gt-px); }
  .gt-cell:nth-child(even) { border-right: 0; padding-right: var(--gt-px); }
  .gt-cell:last-child:nth-child(odd) { grid-column: span 2; padding-right: var(--gt-px); }
  .gt-cell:nth-last-child(-n+2) { border-bottom: 0; }
  .gt-cell.gt-sel { box-shadow: inset 0 -2px 0 var(--gt-accent); }
  .gt-lab { font-size: 12px; line-height: 16px; white-space: normal; }
  .gt-val { font-size: 14px; line-height: 20px; white-space: normal; }
  /* карусели (футбол, «Куда сходить», «Событие дня») — в одну строку с «…»: длинное название события не делает ряд выше
     остальных (16.10). Целиком — в панели по нажатию */
  .gt-rot .gt-lab, .gt-rot .gt-val { white-space: nowrap; }
  .gt-sl { gap: 8px; }
  .gt-cols { columns: 1; }
  .gt-row.gt-one .gt-t { flex-wrap: wrap; }
  .gt-row.gt-one .gt-venue { flex-basis: 100%; white-space: normal; }
  .gt-fbl { grid-template-columns: minmax(0, 1fr); }
  .gt-dists { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
  .gt-card .gt-cn { -webkit-line-clamp: 2; }
  .gt-panel { margin-left: 0; margin-right: 0; padding: 16px 16px 20px; }
  .gt-panel.gt-sheet {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147483001; margin: 0; max-height: 86vh; overflow-y: auto; overscroll-behavior: contain;
    border-radius: 12px 12px 0 0; padding: 10px 16px calc(20px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.18);
  }
  .gt-ph h2 { font-size: 20px; line-height: 28px; }
  .gt-sumgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .gt-card { padding: 12px; }
  .gt-card .gt-cv { font-size: 17px; }
  .gt-grid2, .gt-grid21 { grid-template-columns: minmax(0, 1fr); }
  .gt-evtoday { grid-template-columns: minmax(0, 1fr); }
  .gt-big { font-size: 38px; }
  .gt-mscore { min-width: 64px; font-size: 22px; }
  .gt-team { font-size: 16px; }
  .gt-row .gt-when { min-width: 0; }
  .gt-hours { overflow-x: auto; }
  .gt-hours > div { flex: 0 0 54px; }
}
@media (max-width: 576px) {
  .gt-sumgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

/* панель снизу на телефоне открыта — страница под ней не прокручивается */
html.gt-lock { overflow: hidden; }
