
/* --- olegtix-reset --- */
/**
 * Reset CSS
 * Сброс стилей для кроссбраузерной совместимости и чистого старта
 * Используется в теме olegtix
 */

/* Box sizing border-box для всех элементов */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

/* Убираем отступы и поля */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
dl,
dd,
ul,
ol,
li,
figure,
figcaption,
fieldset,
legend,
textarea,
input,
select,
button {
  margin: 0;
  padding: 0;
}

/* Убираем стили списков */
ul,
ol {
  list-style: none;
}

/* Убираем стили ссылок */
a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
  outline: none;
  transition: color 0.2s;
}

a:active,
a:hover {
  outline: 0;
}

/* Сброс для изображений и медиа */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
}

/* Сброс для форм */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1;
  color: inherit;
  background: none;
  border: none;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

textarea {
  resize: vertical;
}

/* Сброс для таблиц */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td {
  padding: 0;
  text-align: left;
  font-weight: normal;
}

/* Сброс для заголовков */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/* Сброс для блочных элементов */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
  display: block;
}

/* Сброс для абзацев и блочных цитат */
p,
blockquote {
  font-size: inherit;
  font-weight: inherit;
}

/* Сброс для strong и em */
strong,
b {
  font-weight: bold;
}
em,
i {
  font-style: italic;
}

/* Сброс для кода */
pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Сброс для скрытых элементов */
[hidden] {
  display: none !important;
}

/* Сброс для кнопок и интерактивных элементов */
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: none;
  box-shadow: none;
}

/* Сброс для html и body */
html,
body {
  height: 100%;
  width: 100%;
}

/* Сброс для root font-size */
html {
  font-size: 16px;
}

/* Сброс для вертикального выравнивания */
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  vertical-align: middle;
}

/* Сброс для аббревиатур */
abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted;
}

/* Сброс для mark */
mark {
  background: #ff0;
  color: #000;
}

/* Сброс для sub и sup */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}

/* Сброс для fieldset и legend */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}

/* Сброс для кнопок и input[type="submit"] */
button,
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Сброс для address */
address {
  font-style: normal;
}

/* Сброс для hr */
hr {
  height: 0;
  border: none;
  border-top: 1px solid #eaeaea;
  margin: 24px 0;
}

/* Сброс для iframe */
iframe {
  border: 0;
}

/* Сброс для progress */
progress {
  vertical-align: baseline;
}

/* Сброс для summary */
summary {
  display: list-item;
}

/* Сброс для template */
template {
  display: none;
}

/* Сброс для кнопок с disabled */
button[disabled],
input[disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

/* Сброс для ::selection */
::selection {
  background: #fee7e7;
  color: #232323;
}

/* Сброс для scrollbars (по желанию, можно убрать) */
::-webkit-scrollbar {
  width: 8px;
  background: #f4f4f4;
}
::-webkit-scrollbar-thumb {
  background: #e0e0e0;
  border-radius: 4px;
}


/* --- olegtix-fonts --- */
@font-face {
  font-family: "Onest";
  src: local("Onest Regular"), local("Onest-Regular"),
    url("//tiu.ru/wp-content/themes/olegtix/assets/css/../fonts/Onest-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Onest";
  src: local("Onest SemiBold"), local("Onest-SemiBold"),
    url("//tiu.ru/wp-content/themes/olegtix/assets/css/../fonts/Onest-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Onest";
  src: local("Onest Bold"), local("Onest-Bold"),
    url("//tiu.ru/wp-content/themes/olegtix/assets/css/../fonts/Onest-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Onest";
  src: local("Onest Medium"), local("Onest-Medium"),
    url("//tiu.ru/wp-content/themes/olegtix/assets/css/../fonts/Onest-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}


/* --- olegtix-swiper --- */
/**
 * Swiper 11.0.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 22, 2023
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}

/* --- olegtix-main --- */
:root {
  --text: #232323;
  --white: #ffffff;
  --primary: #6828ba;
  --primary-hover: #42157c;
  --grey-light: #f4f4f4;
  --grey: #7d7d7d;
}
* {
  box-sizing: border-box;
}
body {
  font-family: "Onest", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
  background-color: var(--white);
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--grey-light);
}

[class*="__container"] {
  max-width: 1350px;
  margin: 0 auto;
  padding: 0 15px;
  width: 100%;
}

.btn {
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 20px;
}
.btn--primary {
  background-color: var(--primary);
  color: var(--white);
}
.btn--primary:hover {
  background-color: var(--primary-hover);
}
.btn--outline {
  background-color: transparent;
  color: var(--text);
  border: 1px solid var(--primary);
}
.btn--outline:hover {
  background-color: var(--primary);
  color: var(--white);
}
.btn--link {
  width: fit-content;
  font-weight: 400;
  margin: 24px auto 24px auto;
  padding-inline: 32px;
  padding-block: 15px;
  font-size: 18px;
}
.btn--black {
  background-color: var(--text);
  color: var(--white);
  font-weight: 700;
  font-size: 18px;
}
.btn--black:hover {
  background-color: var(--primary);
}
.btn--grey {
  background-color: var(--grey-light);
  color: var(--text);
  border: 1px solid var(--grey-light);
}
.btn--grey:hover {
  background-color: var(--primary);
  color: var(--white);
}
.btn--big {
  font-size: 18px;
  padding: 16px 20px;
}
.btn--small {
  padding: 12.2px 10px;
}
.sort-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  padding: 12px;
  height: 40px;
  border-radius: 10px;
  font-weight: 700;
  color: var(--primary);
  font-size: 14px;
  line-height: 1.275;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  white-space: nowrap;
  border: none;
  font-family: inherit;
}
.sort-btn:not(.sort-btn--active):hover {
  border-color: var(--primary);
  color: var(--primary);
}
.sort-btn--active {
  background-color: var(--primary);
  border-color: var(--primary);
  color: var(--white);
}
.section {
  margin: 48px 0;
}
.title {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 24px;
}
.broker-header__title {
  font-size: 40px;
  line-height: 1.4;
}
@media (max-width: 480px) {
  .btn--link,
  .btn--black {
    width: 100%;
    font-size: 14px;
  }
  .section {
    margin: 24px 0;
  }
}

.article-content {
  width: 100%;
  overflow: hidden;
}

.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
  font-family: "Onest", sans-serif;
  font-weight: 700;
  color: #232323;
  margin: 30px 0 10px 0;
  line-height: 1.275;
}
.article-content h2:first-child {
  margin-top: 0;
}

.article-content h1 {
  font-size: 30px;
}

.article-content h2 {
  font-size: 24px;
}

.article-content h3 {
  font-size: 20px;
}

.article-content h4 {
  font-size: 18px;
}

.article-content h5 {
  font-size: 16px;
}

.article-content h6 {
  font-size: 16px;
}

.article-content p {
  margin: 0 0 16px 0;
}
.article-content p:has(+ .wp-block-table) {
  margin-bottom: 0;
}
.article-content p:last-child {
  margin-bottom: 0;
}

.article-content ul {
  margin: 0 0 16px 0;
  padding-left: 20px;
}

.article-content ul li {
  margin-bottom: 8px;
  position: relative;
}

.article-content ul li::before {
  content: "";
  position: absolute;
  left: -15px;
  top: 8px;
  width: 5px;
  height: 5px;
  background: var(--primary);
}

.article-content ul li:last-child {
  margin-bottom: 0;
}

.article-content > ol {
  margin: 0 0 16px 0;
  padding-left: 26px;
  counter-reset: item;
  list-style: none;
}
.article-content > ol:last-child,
.article-content > ul:last-child {
  margin-bottom: 0;
}
.article-content ol li {
  margin-bottom: 8px;
  position: relative;
  counter-increment: item;
}

.article-content ol li::before {
  content: counter(item) ".";
  position: absolute;
  left: -22px;
  color: var(--grey);
  font-weight: normal;
}

.article-content ol ol {
  counter-reset: subitem;
  padding-left: 30px;
  margin-top: 8px;
}

.article-content ol ol li {
  color: var(--grey);
  counter-increment: subitem;
}

.article-content ol ol li::before {
  content: counter(item) "." counter(subitem) ".";
  left: -32px;
}

.article-content ol li:last-child {
  margin-bottom: 0;
}

.article-content a {
  color: var(--primary);
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.article-content a:hover,
.article-content .waslinkname:hover {
  opacity: 0.8;
}

.article-content strong,
.article-content b {
  font-weight: 700;
}
.article-content strong {
  text-transform: uppercase;
}
.article-content i {
  font-style: italic;
}

.article-content blockquote {
  margin: 24px 0;
  padding: 0 20px;
  background: transparent;
  border-left: 1px solid var(--primary);
  border-radius: 0;
}

.article-content blockquote p {
  margin: 0;
  font-style: normal;
}

.article-content img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  margin: 24px 0;
}
.article-content em {
  color: var(--primary);
  font-weight: 700;
}
.wp-block-simple-note-quote em {
  color: var(--text);
  font-weight: 400;
}
.article-content i {
  font-style: italic;
}
.article-content table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 24px 0;
  font-size: 14px;
  line-height: 1.45;
  background: var(--white);
  border: 1px solid var(--grey-light);
  border-radius: 14px;
  overflow: hidden;
}

/* Контейнер wp-block-table (Gutenberg): рамка-карточка + адаптивный скролл.
   У figure-обёртки своя рамка/радиус, поэтому вложенная table обнуляется. */
.article-content .wp-block-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 24px 0;
  background: var(--white);
  border: 1px solid var(--grey-light);
  border-radius: 14px;
}

.article-content .wp-block-table table {
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

/* Сброс жирной границы thead/tfoot из ядра WP (.wp-block-table thead
   { border-bottom: 3px solid } даёт толстую линию цветом текста). */
.article-content table thead,
.article-content table tfoot {
  border: none;
}

/* Шапка таблицы - фирменный фиолетовый. Селектор с table усиливает
   специфичность, чтобы перебить дефолтные стили .wp-block-table из ядра WP. */
.article-content table thead th,
.article-content table thead td {
  padding: 14px 18px;
  border: none;
  text-align: left;
  font-size: 14px;
  font-weight: 700;
  color: var(--white);
  background: var(--primary);
  white-space: nowrap;
}

.article-content table tbody td,
.article-content table tbody th {
  padding: 13px 18px;
  border: none;
  border-bottom: 1px solid var(--grey-light);
  text-align: left;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 400;
  color: var(--text);
  vertical-align: top;
}

.article-content table tbody td:first-child,
.article-content table tbody th:first-child {
  font-weight: 700;
  color: var(--text);
}

.article-content table tbody tr {
  transition: background-color 0.2s ease;
}

.article-content table tbody tr:nth-child(even) {
  background: var(--grey-light);
}

.article-content table tbody tr:hover {
  background: rgba(147, 69, 216, 0.07);
}

.article-content table tbody tr:last-child td,
.article-content table tbody tr:last-child th {
  border-bottom: none;
}

/* Подпись таблицы (figcaption) */
.article-content .wp-block-table figcaption {
  padding: 10px 18px 0;
  font-size: 13px;
  color: var(--grey);
  text-align: center;
}
.white-bg {
  background: var(--white);
  border-radius: 14px;
  padding: 40px;
}
@media (max-width: 1024px) {
  .white-bg {
    padding: 20px;
  }
}
/* Адаптивные таблицы для мобильных устройств */
@media (max-width: 768px) {
  .adaptive-table {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 24px 0;
  }

  .adaptive-table table {
    margin: 0;
    min-width: 500px;
  }

  /* CSS-fallback: таблицы без JS-обертки тоже скроллятся */
  .article-content {
    overflow-x: visible;
  }

  .article-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }

  .article-content .adaptive-table table {
    display: table;
    overflow-x: visible;
  }

  /* Gutenberg-таблица скроллится через figure-обёртку, table остаётся table */
  .article-content .wp-block-table table {
    display: table;
    width: 100%;
  }

  .article-content table thead th,
  .article-content table thead td,
  .article-content table tbody td,
  .article-content table tbody th {
    padding: 11px 14px;
    font-size: 13px;
  }

  .article-content h1 {
    font-size: 32px;
  }

  .article-content h2 {
    font-size: 26px;
  }

  .article-content h3 {
    font-size: 22px;
  }

  .article-content h4 {
    font-size: 18px;
  }

  .article-content h5 {
    font-size: 16px;
  }

  .article-content h6 {
    font-size: 14px;
  }

  .article-content p,
  .article-content li {
    font-size: 15px;
  }
  .title {
    font-size: 25px;
    margin-bottom: 16px;
  }
  .article-content blockquote {
    padding: 16px;
    margin: 20px 0;
  }
}

@media (max-width: 480px) {
  .article-content h1,
  .article-content h2,
  .article-content h3,
  .article-content h4,
  .article-content h5,
  .article-content h6 {
    margin-bottom: 12px;
  }
  body {
    font-size: 14px;
  }
  .article-content h1 {
    font-size: 24px;
  }

  .article-content h2 {
    font-size: 20px;
  }

  .article-content h3 {
    font-size: 16px;
  }

  .article-content h4 {
    font-size: 15px;
  }

  .article-content h5 {
    font-size: 14px;
  }

  .article-content h6 {
    font-size: 13px;
  }

  .article-content p,
  .article-content li {
    font-size: 14px;
  }

  .article-content blockquote {
    padding: 12px;
    margin: 16px 0;
  }

  .article-content ul,
  .article-content ol {
    padding-left: 16px;
  }
  .title {
    font-size: 20px;
    margin-bottom: 12px;
  }
}
/**/
textarea {
  border-radius: 10px;
  border: 1px solid var(--grey-light);
  padding: 16px 20px;
  font-size: 16px;
  width: 100%;
  max-width: 100%;
  line-height: 1.5;
  color: var(--text);
  background-color: var(--grey-light);
  transition: border-color 0.3s ease;
}

/* Article Tags (global) */
.article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.article__tag {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  background: #f5f5f5;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.275em;
  color: var(--text);
  text-decoration: none;
  transition: all 0.2s ease;
}
.article__tag--white {
  background: var(--white);
}
.article__tag:hover {
  background: var(--primary);
  color: var(--white);
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .article__tags {
    margin-top: 24px;
    padding-top: 24px;
    gap: 6px;
  }

  .article__tag {
    padding: 6px 12px;
    font-size: 13px;
  }
}
textarea:focus {
  border-color: var(--primary);
}
input {
  border-radius: 10px;
  border: 1px solid var(--grey-light);
  padding: 12px 20px;
  font-size: 16px;
  width: 100%;
  max-width: 100%;
  line-height: 1.525;
  color: var(--text);
  background-color: var(--grey-light);
  transition: border-color 0.3s ease;
}
input:focus {
  border-color: var(--primary);
}
.required {
  color: #ff0000;
}
.section--white {
  margin-inline: 15px;
}
.section--white > [class*="__container"] {
  padding: 40px;
  background: var(--white);
  border-radius: 14px;
  max-width: 1320px;
}
@media (max-width: 768px) {
  .section--white > [class*="__container"] {
    padding: 20px;
  }
}
@media (max-width: 480px) {
  .section--white > [class*="__container"] {
    padding: 14px;
  }
}

/* Пагинация */
.pagination {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}

.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-numbers li {
  margin: 0;
}

.page-numbers a,
.page-numbers span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.275;
  text-decoration: none;
  transition: all 0.3s ease;
}

.page-numbers a:hover {
  border-color: var(--primary);
  color: var(--primary);
}

.page-numbers .current {
  background-color: #ffffff;
  border-color: var(--primary);
  color: var(--primary);
}

.page-numbers .prev,
.page-numbers .next {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-numbers .prev svg,
.page-numbers .next svg {
  width: 24px;
  height: 24px;
}
.page-numbers {
  margin-top: 24px;
}
.page-numbers .dots {
  background-color: transparent;
  border: none;
  color: var(--grey);
}
@media (max-width: 992px) {
  .page-numbers a,
  .page-numbers span {
    width: 36px;
    height: 36px;
    font-size: 13px;
  }
}
@media (max-width: 350px) {
  .page-numbers a,
  .page-numbers span {
    width: 32px;
    height: 32px;
    font-size: 12px;
  }
}
/* Контейнер формы */
.wpcf7-form {
  max-width: 100%;
}

/* Отступы между блоками */
.wpcf7-form p {
  margin-bottom: 24px;
}

/* Стили лейблов */
.wpcf7-form label {
  font-family: "Onest", sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: var(--text);
  line-height: 1.2;
  width: 100%;
  display: block;
}

/* Обертка полей (для корректного позиционирования ошибок) */
.wpcf7-form-control-wrap {
  display: block;
  margin-top: 8px;
  position: relative;
}

/* Поля ввода */
.wpcf7-form .wpcf7-text,
.wpcf7-form .wpcf7-email,
.wpcf7-form .wpcf7-textarea,
.wpcf7-form .wpcf7-select {
  width: 100%;
  border-radius: 10px;
  border: 1px solid var(--grey-light);
  background-color: var(--white);
  padding: 12px 20px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
  transition: all 0.3s ease;
  font-family: "Onest", sans-serif;
  box-sizing: border-box;
  outline: none;
}

.wpcf7-form .wpcf7-textarea {
  min-height: 120px;
  resize: vertical;
  padding: 16px 20px;
}

/* Состояния фокуса */
.wpcf7-form .wpcf7-text:focus,
.wpcf7-form .wpcf7-email:focus,
.wpcf7-form .wpcf7-textarea:focus,
.wpcf7-form .wpcf7-select:focus {
  border-color: var(--primary);
  background-color: var(--white);
}

/* Кнопка отправки */
.wpcf7-form .wpcf7-submit {
  background-color: var(--primary);
  color: var(--white);
  border: none;
  border-radius: 10px;
  padding: 12px 32px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  min-width: 140px;
}

.wpcf7-form .wpcf7-submit:hover {
  background-color: var(--primary-hover);
}

/* Спиннер загрузки */
.wpcf7-spinner {
  margin-left: 10px;
  margin-top: 0;
  vertical-align: middle;
}

/* Сообщения об ошибках валидации (под полем) */
.wpcf7-not-valid-tip {
  color: #f44336;
  font-size: 13px;
  margin-top: 6px;
  display: block;
  font-weight: 400;
}

/* Поле с ошибкой */
.wpcf7-form .wpcf7-not-valid {
  border-color: #f44336;
  background-color: #fff5f5;
}

/* Общее сообщение о статусе отправки */
.wpcf7-response-output {
  margin: 24px 0 0;
  padding: 16px 20px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.4;
  border: 1px solid transparent;
}

/* Успешная отправка */
.wpcf7 form.sent .wpcf7-response-output {
  background-color: #e8f5e8;
  border-color: #4caf50;
  color: #2e7d32;
}

/* Ошибка отправки */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background-color: #ffebee;
  border-color: #f44336;
  color: #c62828;
}

.broker-tabs__list {
  display: flex;
  margin-top: 24px;
  gap: 12px;
  flex-wrap: wrap;
}
body .broker-tabs__link:hover,
body .broker-tabs__link--active {
  color: var(--white) !important;
  background-color: var(--primary);
}
body .match-center__section-title--filter {
  margin-bottom: 0;
}
.match-center__section-title--filter + section {
  margin-top: 16px;
}
/* Кастомный чекбокс для согласия */
.wpcf7-acceptance .wpcf7-list-item,
.landing-bonus__checkbox-wrapper {
  margin: 0;
}

.wpcf7-acceptance .wpcf7-list-item label,
.landing-bonus__checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-weight: 400;
  line-height: 1.5;
  position: relative;
}

.wpcf7-acceptance .agreement-checkbox,
.landing-bonus__checkbox-label input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
}

.wpcf7-acceptance .wpcf7-list-item-label,
.landing-bonus__checkbox-label {
  flex: 1;
  font-size: 16px;
  color: var(--text);
  line-height: 1.5;
  position: relative;
  padding-left: 32px;
}

.wpcf7-acceptance .wpcf7-list-item-label::before,
.landing-bonus__checkbox-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  border: 2px solid var(--grey-light);
  border-radius: 4px;
  background-color: var(--white);
  transition: all 0.3s ease;
  display: block;
}

.wpcf7-acceptance .agreement-checkbox:checked ~ .wpcf7-list-item-label::before,
.landing-bonus__checkbox-label
  input[type="checkbox"]:checked
  ~ .landing-bonus__checkbox-text::before {
  background-color: var(--primary);
  border-color: var(--primary);
}

.wpcf7-acceptance .wpcf7-list-item-label::after,
.landing-bonus__checkbox-text::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 5px;
  width: 6px;
  height: 10px;
  border: solid var(--white);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  display: none;
  transition: all 0.3s ease;
}

.wpcf7-acceptance .agreement-checkbox:checked ~ .wpcf7-list-item-label::after,
.landing-bonus__checkbox-label
  input[type="checkbox"]:checked
  ~ .landing-bonus__checkbox-text::after {
  display: block;
}

.wpcf7-acceptance .wpcf7-list-item-label a,
.landing-bonus__checkbox-text a {
  color: var(--primary);
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.wpcf7-acceptance .wpcf7-list-item-label a:hover,
.landing-bonus__checkbox-text a:hover {
  opacity: 0.8;
}

.wpcf7-acceptance .agreement-checkbox:focus ~ .wpcf7-list-item-label::before,
.landing-bonus__checkbox-label
  input[type="checkbox"]:focus
  ~ .landing-bonus__checkbox-text::before {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.wpcf7-acceptance .agreement-checkbox:hover ~ .wpcf7-list-item-label::before,
.landing-bonus__checkbox-label
  input[type="checkbox"]:hover
  ~ .landing-bonus__checkbox-text::before {
  border-color: var(--primary);
}

.wpcf7-acceptance
  .agreement-checkbox[aria-invalid="true"]
  ~ .wpcf7-list-item-label::before {
  border-color: #f44336;
}

@media (max-width: 480px) {
  .wpcf7-acceptance .wpcf7-list-item-label,
  .landing-bonus__checkbox-text {
    font-size: 14px;
    padding-left: 30px;
  }

  .wpcf7-acceptance .wpcf7-list-item-label::before,
  .landing-bonus__checkbox-text::before {
    width: 18px;
    height: 18px;
    top: 1px;
  }

  .wpcf7-acceptance .wpcf7-list-item-label::after,
  .landing-bonus__checkbox-text::after {
    left: 6px;
    top: 4px;
    width: 5px;
    height: 9px;
  }
}

/****/
/* Закрепленная панель на мобилке */
.broker-sticky-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  padding: 12px 16px;
  z-index: 1000;
}

@media (max-width: 768px) {
  .broker-sticky-bar {
    display: block;
  }
}

.broker-sticky-bar__container {
  padding: 0;
  display: flex;
  gap: 8px;
}

.broker-sticky-bar__bonus {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--text);
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
  text-decoration: none;
  color: var(--white);
}
.btn--telegram {
  background: #3390ec;
  color: var(--white);
  display: flex;
  gap: 13px;
  text-transform: none;
}
.btn--android {
  background-color: #3ddc84;
  color: var(--text);
  border: none;
}
.btn--android svg {
  width: 24px;
  margin-left: 10px;
}
.btn--android:hover {
  background-color: #2cc56f;
}

.btn--ios {
  background-color: #000;
  color: var(--white);
  border: none;
}

.btn--ios svg {
  width: 22px;
  margin-left: 10px;
}

.btn--ios:hover {
  background-color: #232323;
}

.broker-sticky-bar__bonus svg path {
  fill: var(--white);
}

.broker-sticky-bar__btn {
  flex: 1;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  padding: 10px;
  border-radius: 8px;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.broker-sticky-bar__btn:hover {
  opacity: 0.9;
}
.category .breadcrumbs {
  margin: 20px 0 48px;
}
.category .header {
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .category .breadcrumbs {
    margin: 10px 0 24px;
  }
}
.wp-block-simple-note-info {
  background: rgba(245, 237, 252, 1) url(//tiu.ru/wp-content/themes/olegtix/assets/css/./../img/cta/info.svg);
}
.wp-block-simple-note-success {
  background: rgba(235, 248, 236, 1) url(//tiu.ru/wp-content/themes/olegtix/assets/css/./../img/cta/check_circle.svg);
}
.wp-block-simple-note-warning {
  background: rgba(255, 242, 230, 1) url(//tiu.ru/wp-content/themes/olegtix/assets/css/./../img/cta/warn.svg);
}
.wp-block-simple-note-error {
  background: rgba(254, 231, 231, 1) url(//tiu.ru/wp-content/themes/olegtix/assets/css/./../img/cta/error.svg);
}
.wp-block-simple-note-quote {
  background: rgba(244, 244, 244, 1) url(//tiu.ru/wp-content/themes/olegtix/assets/css/./../img/cta/quote.svg);
}
.wp-block-simple-note-info,
.wp-block-simple-note-success,
.wp-block-simple-note-warning,
.wp-block-simple-note-error,
.wp-block-simple-note-quote {
  padding-left: 50px;
  border-radius: 14px;
  background-size: 20px;
  background-repeat: no-repeat;
  color: var(--text);
  background-position: 16px 20px;
}

.article__featured-image img {
  width: 100%;
  border-radius: 4px;
}
@media (max-width: 370px) {
  .broker-sticky-bar__btn,
  .broker-sticky-bar__bonus {
    font-size: 12px;
  }
}


/* --- olegtix-reactions --- */
/* Компонент лайков и дизлайков */
.reaction-component {
  display: flex;
  align-items: center;
  gap: 8px;
}

.reaction-btn,
.action-button {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
  background: rgba(255, 255, 255, 0.15);
  color: var(--white);
}

.reaction-btn:hover,
.action-button:hover {
  background: rgba(255, 255, 255, 0.25);
}

.reaction-btn:disabled,
.action-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.reaction-btn:disabled:hover,
.action-button:disabled:hover {
  border-color: #e0e0e0;
  background: #ffffff;
  color: #666666;
}

.reaction-btn--like.reaction-btn--active {
  border-color: #4caf50;
  background: #4caf50;
  color: #ffffff;
}

.reaction-btn--like.reaction-btn--active:hover {
  background: #45a049;
  border-color: #45a049;
}

.reaction-btn--dislike.reaction-btn--active {
  border-color: #f44336;
  background: #f44336;
  color: #ffffff;
}

.reaction-btn--dislike.reaction-btn--active:hover {
  background: #da190b;
  border-color: #da190b;
}

.reaction-btn svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.reaction-count {
  min-width: 16px;
  text-align: center;
}


/* --- olegtix-modals --- */
.modals {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  pointer-events: none;
}

.auth-form,
.password-recovery-form {
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}

.auth-messages,
.recovery-messages {
  margin-bottom: 16px;
}

.auth-messages .error,
.recovery-messages .error {
  padding: 12px 16px;
  background-color: #fee;
  border: 1px solid #fca;
  border-radius: 8px;
  color: #c33;
  font-size: 14px;
  font-weight: 500;
}

.auth-messages .success,
.recovery-messages .success {
  padding: 12px 16px;
  background-color: #efe;
  border: 1px solid #cfc;
  border-radius: 8px;
  color: #363;
  font-size: 14px;
  font-weight: 500;
}

.recovery-success {
  margin-bottom: 16px;
}

.success-message {
  padding: 12px 20px;
  background-color: #ebf8ec;
  border-radius: 10px;
  font-family: "Onest", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
  color: #34b945;
  text-align: center;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.9);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

.modal.modal--active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  pointer-events: auto;
}

.modal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);

  cursor: pointer;
}

.modal__container {
  position: relative;
  width: 100%;
  max-width: 500px;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 10001;
}

.modal__content {
  background-color: var(--white);
  border-radius: 14px;
  position: relative;
  overflow: hidden;
  padding: 20px;
}

.modal__close-btn {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--grey);
  transition: all 0.2s ease;
  z-index: 10;
}

.modal__close-btn:hover {
  background-color: var(--grey-light);
  color: var(--text);
}

.modal__close-btn:focus {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.modal__title {
  font-size: 24px;
  display: block;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
  margin-bottom: 20px;
}

/* Маленькое модальное окно */
.modal--small .modal__container {
  max-width: 350px;
}

/* Среднее модальное окно (по умолчанию) */
.modal--medium .modal__container {
  max-width: 600px;
}

/* Большое модальное окно */
.modal--large .modal__container {
  max-width: 800px;
}

/* Полноэкранное модальное окно */
.modal--full .modal__container {
  max-width: none;
  width: 100%;
  height: 100vh;
  max-height: 100vh;
}

.modal--full .modal__content {
  height: 100%;
  border-radius: 0;
}

/* Адаптивность */
@media (max-width: 768px) {
  .modal {
    padding: 10px;
  }

  .modal__container {
    max-height: 95vh;
  }

  .modal__title {
    font-size: 20px;
  }

  .modal__close-btn {
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
  }

  /* Маленькое модальное окно на мобильных */
  .modal--small .modal__container {
    max-width: none;
    width: 100%;
  }

  /* Среднее модальное окно на мобильных */
  .modal--medium .modal__container {
    max-width: none;
    width: 100%;
  }

  /* Большое модальное окно на мобильных */
  .modal--large .modal__container {
    max-width: none;
    width: 100%;
  }
}

/* Анимации для появления/исчезновения */
.modal--fade-in {
  animation: modalFadeIn 0.3s ease forwards;
}

.modal--fade-out {
  animation: modalFadeOut 0.3s ease forwards;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.9) translateY(20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes modalFadeOut {
  from {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
  to {
    opacity: 0;
    transform: scale(0.9) translateY(20px);
  }
}

/* Стили для действий в модальном окне */
.modal__actions {
  display: flex;
  gap: 12px;
  flex-direction: column;
}

/* Фокус для accessibility */
.modal:focus {
  outline: none;
}

.modal__content:focus {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* Скрываем скроллбар для iOS */
.modal__container::-webkit-scrollbar {
  display: none;
}

.modal__container {
  -ms-overflow-style: none;
  scrollbar-width: none;
}


/* --- olegtix-image-placeholder --- */
/* Image Placeholder Component */
.image-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  gap: 8px;
}

.image-placeholder svg {
  opacity: 0.5;
  transition: opacity 0.3s ease;
}

.image-placeholder__text {
  font-size: 12px;
  color: var(--grey);
  font-weight: 500;
  text-align: center;
}

/* Размеры */
.image-placeholder--small svg {
  width: 48px;
  height: 48px;
}

.image-placeholder--small .image-placeholder__text {
  font-size: 11px;
}

.image-placeholder--medium svg {
  width: 60px;
  height: 60px;
}

.image-placeholder--medium .image-placeholder__text {
  font-size: 12px;
}

.image-placeholder--large svg {
  width: 80px;
  height: 80px;
}

.image-placeholder--large .image-placeholder__text {
  font-size: 14px;
}

/* Адаптивность */
@media (max-width: 768px) {
  .image-placeholder--medium svg {
    width: 50px;
    height: 50px;
  }

  .image-placeholder--medium .image-placeholder__text {
    font-size: 11px;
  }

  .image-placeholder--large svg {
    width: 60px;
    height: 60px;
  }

  .image-placeholder--large .image-placeholder__text {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .image-placeholder--small svg {
    width: 40px;
    height: 40px;
  }

  .image-placeholder--small .image-placeholder__text {
    font-size: 10px;
  }

  .image-placeholder--medium svg {
    width: 40px;
    height: 40px;
  }

  .image-placeholder--medium .image-placeholder__text {
    font-size: 10px;
  }

  .image-placeholder--large svg {
    width: 50px;
    height: 50px;
  }

  .image-placeholder--large .image-placeholder__text {
    font-size: 11px;
  }
}


/* --- olegtix-cookie-notice --- */
/* Cookie Notice Component */
.cookie-notice {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;

  z-index: 9999;
  transform: translateY(100%);
  transition: transform 0.4s ease-in-out;
  padding: 5px 0;
}
.cookie-notice__btn {
  min-width: 0;
  white-space: nowrap;
  padding: 10px 17px;
}
.cookie-notice--visible {
  transform: translateY(0);
}

.cookie-notice__container {
  background: #fff;
  padding: 7px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.cookie-notice__content {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.cookie-notice__text {
  flex: 1;
}

.cookie-notice__description {
  font-size: 14px;
  color: var(--grey);
  margin: 0;
  line-height: 1.5;
}

.cookie-notice__link {
  color: var(--primary);
  text-decoration: underline;
  transition: opacity 0.3s ease;
}

.cookie-notice__link:hover {
  opacity: 0.8;
}

.cookie-notice__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  flex-shrink: 0;
}

.cookie-notice__btn {
  min-width: 0;
  white-space: nowrap;
}

/* Адаптивность */
@media (max-width: 540px) {
  .cookie-notice__container {
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
  }

  .cookie-notice__actions {
    justify-content: stretch;
  }

  .cookie-notice__btn {
    flex: 1;
  }
}

@media (max-width: 768px) {
  .cookie-notice {
    padding: 10px 0;
  }

  .cookie-notice__content {
    gap: 12px;
  }

  .cookie-notice__description {
    font-size: 13px;
  }

  .cookie-notice__actions {
    gap: 10px;
  }

  .cookie-notice__btn {
    font-size: 13px;
    padding: 8px 16px;
    min-width: 100px;
  }
}

@media (max-width: 480px) {
  .cookie-notice__content {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .cookie-notice__actions {
    width: 100%;
  }

  .cookie-notice__btn {
    width: 100%;
  }
}



/* --- olegtix-hero-news-card --- */
/* Контейнер для карточки */
.hero-news-card__container {
  width: 100%;
}

.hero-news-card {
  position: relative;
  width: 100%;
  min-height: 600px;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.hero-news-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero-news-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-news-card__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(35, 35, 35, 0) 50%,
    rgba(35, 35, 35, 1) 100%
  );
  z-index: 2;
}

.hero-news-card__rating {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 3;
}

.hero-news-card__rating .post-rating-score {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(4px);
  padding: 5px 10px;
  border-radius: 100px;
  margin: 0;
  display: flex;
  gap: 5px;
  align-items: center;
  line-height: 1;
}

.hero-news-card__rating .post-rating-score__rating {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: #232323;
  display: flex;
  margin-top: 3px;
}

.hero-news-card__content {
  position: relative;
  z-index: 3;
  padding: 60px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-end;
  margin-top: auto;
  max-width: 100%;
}

.hero-news-card__content-main {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1;
  max-width: 820px;
}

.hero-news-card__meta {
  margin: 0;
}

.news-card__meta--light .news-card__meta-item {
  color: #f4f4f4;
}

.news-card__meta--light .news-card__meta-item svg {
  fill: #f4f4f4;
}

.hero-news-card__title {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.275;
  color: var(--white);
  margin: 0;
}

.hero-news-card__title a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.hero-news-card__title a:hover {
  opacity: 0.8;
}

.hero-news-card__button {
  width: fit-content;
  height: 50px;
  padding: 0 32px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.275;
}

/* Адаптивность */
@media (max-width: 1024px) {
  .hero-news-card {
    min-height: 500px;
  }

  .hero-news-card__content {
    padding: 40px;
    max-width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }

  .hero-news-card__content-main {
    max-width: 100%;
  }

  .hero-news-card__title {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  .hero-news-card {
    min-height: 440px;
  }

  .hero-news-card__overlay {
    background: linear-gradient(
      180deg,
      rgba(35, 35, 35, 0) 0%,
      rgba(35, 35, 35, 1) 100%
    );
  }

  .hero-news-card__content {
    padding: 20px;
    gap: 12px;
    flex-direction: column;
    align-items: flex-start;
  }

  .hero-news-card__title {
    font-size: 28px;
  }

  .hero-news-card__button {
    width: fit-content;
    height: 40px;
    padding: 0 20px;
    font-size: 14px;
    max-width: none;
  }

  .hero-news-card__rating {
    top: 10px;
    right: 10px;
  }
}
@media (max-width: 480px) {
  .hero-news-card {
    min-height: 370px;
  }
}

/* Блок автора в hero-news-card */
.hero-news-card__author {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  background: var(--white);
  border-radius: 14px;
  flex-shrink: 0;
  min-width: 200px;
}

.hero-news-card__author-avatar {
  width: 40px;
  height: 40px;
  border-radius: 100px;
  overflow: hidden;
  flex-shrink: 0;
}

.hero-news-card__author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-news-card__author-avatar--placeholder {
  width: 100%;
  height: 100%;
  background: #d9d9d9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 400;
  color: var(--white);
  border-radius: 100px;
}

.hero-news-card__author-info {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1;
  min-width: 0;
}

.hero-news-card__author-name {
  font-family: "Onest", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.275em;
  color: #232323;
}

.hero-news-card__author-position {
  font-family: "Onest", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.275em;
  color: #7d7d7d;
}

/* Адаптивность для блока автора */
@media (max-width: 1024px) {
  .hero-news-card__author {
    min-width: auto;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .hero-news-card__author {
    width: 100%;
    min-width: auto;
  }
}


/* --- olegtix-author-box --- */
/* Блок автора статьи */
.author-box__container {
  margin-top: 24px;
}

.author-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
  background: var(--white);
  border-radius: 14px;
}

.author-box__main {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
}

.author-box__avatar {
  width: 80px;
  height: 80px;
  border-radius: 100px;
  overflow: hidden;
  flex-shrink: 0;
  display: block;
  text-decoration: none;
}

.author-box__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.author-box__avatar--placeholder {
  width: 100%;
  height: 100%;
  background: #d9d9d9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: 400;
  color: var(--white);
  border-radius: 100px;
}

.author-box__info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

.author-box__name {
  font-family: "Onest", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.275em;
  color: var(--text);
  text-decoration: none;
  transition: color 0.3s ease;
}

.author-box__name:hover {
  color: var(--primary);
}

.author-box__position {
  font-family: "Onest", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.275em;
  color: var(--grey);
}

.author-box__socials {
  display: flex;
  flex-direction: row;
  gap: 12px;
  flex-shrink: 0;
}

.author-box__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  transition: opacity 0.3s ease;
  text-decoration: none;
}

.author-box__social-link:hover {
  opacity: 0.7;
}

.author-box__social-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.author-box__button {
  flex-shrink: 0;
  white-space: nowrap;
  font-weight: 400;
}
.author-box__person {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media (max-width: 768px) {
  .author-box {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}
@media (max-width: 530px) {
  .author-box__person {
    flex-direction: column;
    gap: 12px;
    width: 100%;
    align-items: flex-start;
  }
  .author-box__avatar {
    width: 60px;
    height: 60px;
  }
  .author-box__button {
    width: 100%;
  }
  .author-box__socials {
    margin: 0 auto;
  }
}


/* --- olegtix-author-card --- */
/* Карточка автора */
.author-card {
  display: block;
  text-decoration: none;
  background: var(--white);
  border-radius: 14px;
  padding: 24px;
  transition: all 0.3s ease;
  border: 1px solid transparent;
  height: 100%;
}

.author-card:hover {
  border-color: var(--primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.author-card__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

.author-card__avatar {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: #f5f5f5;
}

.author-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.author-card__avatar--placeholder {
  width: 100%;
  height: 100%;
  background: #d9d9d9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  font-weight: 400;
  color: var(--white);
  border-radius: 50%;
}

.author-card__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.author-card__name {
  font-family: "Onest", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.275em;
  color: var(--text);
  margin: 0;
  transition: color 0.3s ease;
}

.author-card:hover .author-card__name {
  color: var(--primary);
}

.author-card__role {
  font-family: "Onest", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.275em;
  color: var(--grey);
}

@media (max-width: 768px) {
  .author-card {
    padding: 20px;
  }

  .author-card__avatar {
    width: 100px;
    height: 100px;
  }

  .author-card__avatar--placeholder {
    font-size: 40px;
  }

  .author-card__name {
    font-size: 16px;
  }

  .author-card__role {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .author-card {
    padding: 16px;
  }

  .author-card__avatar {
    width: 80px;
    height: 80px;
  }

  .author-card__avatar--placeholder {
    font-size: 32px;
  }
}


/* --- olegtix-blog-card --- */
/* Компонент карточки блога */
.blog-card {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-card__image {
  position: relative;
  width: 100%;
  height: 192px;
  border-radius: 14px;
  overflow: hidden;
}

.blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.blog-card:hover .blog-card__image img {
  transform: scale(1.05);
}

.blog-card__rating {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
}

.blog-card__rating .post-rating-score {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(4px);
  padding: 5px 10px;
  border-radius: 100px;
  margin: 0;
  display: flex;
  gap: 5px;
  align-items: center;
  line-height: 1;
}

.blog-card__rating .post-rating-score__rating {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: #232323;
  display: flex;
  margin-top: 3px;
}

.blog-card__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.blog-card__header {
  margin: 0;
}

.blog-card__title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.275;
  margin: 0;
  color: var(--text);
}

.blog-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.blog-card__title a:hover {
  color: var(--primary);
}

/* Meta использует классы news-card__meta из hero-news-card */
.blog-card__meta {
  margin: 0;
}

/* Адаптивность */
@media (max-width: 768px) {
  .blog-card__image {
    height: 160px;
  }

  .blog-card__title {
    font-size: 14px;
  }

  .blog-card__rating {
    top: 8px;
    right: 8px;
  }

  .blog-card__rating .post-rating-score {
    padding: 4px 8px;
    gap: 4px;
  }

  .blog-card__rating .post-rating-score__star {
    width: 16px;
    height: 16px;
  }

  .blog-card__rating .post-rating-score__rating {
    font-size: 12px;
  }
}


/* --- olegtix-category-post-card --- */
/* Компонент карточки поста категории */
.category-post-card {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 24px;
  padding: 20px;
  background: var(--white);
  border-radius: 14px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.category-post-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.category-post-card__image {
  position: relative;
  width: 260px;
  height: 260px;
  flex-shrink: 0;
  border-radius: 14px;
  overflow: hidden;
}

.category-post-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.category-post-card:hover .category-post-card__image img {
  transform: scale(1.05);
}

.category-post-card__image .category-post-card__rating {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
}

.category-post-card__rating .post-rating-score {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(4px);
  padding: 5px 10px;
  border-radius: 100px;
  margin: 0;
  display: flex;
  gap: 5px;
  align-items: center;
  line-height: 1;
}

.category-post-card__rating .post-rating-score__rating {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: #232323;
  display: flex;
  margin-top: 3px;
}

.category-post-card__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  padding: 20px 0;
}

.category-post-card__header {
  margin: 0;
}

.category-post-card__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.275;
  margin: 0;
  color: var(--text);
}

.category-post-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.category-post-card__title a:hover {
  color: var(--primary);
}

.category-post-card__meta {
  margin: 0;
}

.category-post-card__excerpt {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--text);
  margin: 0;
  flex: 1;
}

.category-post-card__footer {
  margin-top: auto;
}

.category-post-card__button {
  width: fit-content;
  height: 50px;
  padding: 0 32px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.275;
}

/* Адаптивность */
@media (max-width: 768px) {
  .category-post-card {
    flex-direction: column;
    gap: 12px;
    padding: 16px;
  }

  .category-post-card__image {
    width: 100%;
    height: 192px;
  }

  .category-post-card__rating {
    top: 10px;
    right: 10px;
  }

  .category-post-card__content {
    padding: 0;
  }

  .category-post-card__title {
    font-size: 18px;
  }

  .category-post-card__excerpt {
    font-size: 14px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
  }

  .category-post-card__button {
    width: fit-content;
    height: 40px;
    font-size: 14px;
    padding: 0 17px;
  }
  .title--category {
    font-size: 28px;
  }
  .category-load-more-btn {
    font-size: 16px;
    padding: 14px;
    margin: 12px 0;
  }
}
@media (max-width: 500px) {
  .category-post-card__image {
    aspect-ratio: 1/1;
    height: initial;
  }
  .category-load-more-btn {
    font-size: 14px;
    padding: 12px;
  }
}


/* --- olegtix-header --- */
.header {
  position: relative;
  z-index: 1000;
  background: var(--white);
  border-bottom: 1px solid var(--grey-light);
  margin-bottom: 24px;
}

.header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 80px;
  position: relative;
  gap: 20px;
}

.header__logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}

.header__logo img {
  max-height: 44px;
  width: auto;
}

.header__nav {
  flex: 1;
  display: flex;
  justify-content: center;
}

.header__nav-list {
  display: flex;
  align-items: center;
  gap: 0;
}

@media (hover: hover) and (pointer: fine) {
  .header__nav-item--has-mega:hover .header__mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}

@media (hover: hover) and (pointer: fine) {
  .header__nav-item--has-mega:hover .header__nav-arrow {
    transform: rotate(180deg);
  }
}

.header__nav-link {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 24px;
  min-height: 80px;
  color: var(--text);
  text-decoration: none;
  transition: color 0.3s ease;
  position: relative;
}

.header__nav-link:hover, .current-menu-item .header__nav-link {
  color: var(--primary);
}
.header__nav-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--primary);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.header__nav-link:hover::after, .current-menu-item .header__nav-link::after{
  opacity: 1;
}

.header__nav-arrow {
  display: flex;
  align-items: center;
  transition: transform 0.3s ease;
}

.header__mega-menu {
  position: absolute;
  top: 100%;
  left: 0%;
  transform: translateY(-10px);
  width: 100%;
  background: var(--white);
  border: 1px solid var(--grey-light);
  border-top: none;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 1001;
}

.header__mega-content {
  display: flex;
  gap: 48px;
  padding: 5px 15px;
}

.header__mega-section {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.header__mega-title {
  font-weight: 700;
  font-size: 20px;
  color: var(--text);
  margin: 0 0 1px;
}

.header__mega-links {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.header__submenu {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.header__mega-link {
  color: var(--grey);
  text-decoration: none;
  transition: color 0.3s ease;
}

.header__mega-link:hover {
  color: var(--primary);
}

.header__mega-link,
.header__submenu-link,
.header__mega-title {
  display: flex;
  align-items: center;
  gap: 8px;
}
.header__nav-link-icon,
.header__mega-link-icon,
.header__submenu-link-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.header__submenu-link {
  color: var(--grey);
  text-decoration: none;
  transition: color 0.3s ease;
}
.header__submenu-link:hover {
  color: var(--primary);
}

/* ===== КНОПКИ ===== */
.header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.header__login-icon {
  display: none;
}
.header__bonus-btn {
  gap: 5px;
  padding: 10px 15px 10px 15px;
  background: #fee7e7;
}

.header__bonus-btn:hover {
  background: #fdd5d5;
}

.header__bonus-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}

.header__login-btn {
  gap: 10px;
  padding: 10px 20px;
  background: var(--grey-light);
}

.header__login-btn:hover {
  background: #e8e8e8;
}

/* ===== МОБИЛЬНОЕ МЕНЮ ===== */
.header__burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.header__burger span {
  display: block;
  width: 20px;
  height: 2px;
  background: #232323;
  margin: 2px 0;
  transition: all 0.3s ease;
}

.header__burger[aria-expanded="true"] span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.header__burger[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.header__burger[aria-expanded="true"] span:nth-child(3) {
  transform: rotate(-45deg) translate(4px, -4px);
}

@media (max-width: 850px) {
  .header__container {
    min-height: 60px;
  }
  .header__mega-menu {
    position: static;
    display: grid;
    grid-template-rows: 0fr;
    transition: all 0.7s ease;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .header__mega-content {
    overflow: hidden;
    padding: 0;
    flex-direction: column;
    gap: 10px;
    transition: all 0.7s ease;
  }
  .header__nav-item--open .header__mega-menu {
    grid-template-rows: 1fr;
  }
  .header__nav-item--open .header__mega-content {
    padding: 10px 15px;
  }
  .header__nav-item--open .header__nav-arrow {
    transform: rotate(180deg);
  }
  .header__nav {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--white);
    border-top: none;
  }
  .header__nav-list {
    flex-direction: column;
    gap: 10px;
    width: 100%;
    align-items: flex-start;
  }
  .header__nav-link {
    min-height: auto;
    width: 100%;
    border-bottom: 1px solid var(--grey-light);
    padding: 10px 15px;
    justify-content: space-between;
  }
  .header__nav-list li {
    width: 100%;
  }
  .header__burger {
    display: flex;
  }
  .header__actions {
    margin-left: auto;
  }
  .header__burger {
    order: 3;
  }

  .header__mega-title {
    font-size: 16px;
  }
  .header__submenu {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
}

/* ===== ФОКУС ===== */
@media (hover: hover) and (pointer: fine) {
  .header__nav-link:focus,
  .header__bonus-btn:focus,
  .header__login-btn:focus,
  .header__burger:focus {
    outline: 2px solid #9345d8;
    outline-offset: 2px;
  }
}

/* ===== АКТИВНОЕ СОСТОЯНИЕ МЕГА МЕНЮ ===== */
.header__nav-item--active .header__mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.header__nav-item--active .header__nav-arrow {
  transform: rotate(180deg);
}
@media (max-width: 450px) {
  .header__bonus-text,
  .header__login-text {
    display: none;
  }
  .header__bonus-btn,
  .header__login-btn {
    padding: 10px;
  }
  .header__login-icon {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header__burger {
    background: var(--grey-light);
    border-radius: 10px;
    width: 40px;
    height: 40px;
  }
  .header__container {
    gap: 10px;
  }
  .header__burger {
    order: initial;
  }
}
.header__mobile-menu--open .header__nav {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}


/* --- olegtix-breadcrumbs --- */
.breadcrumbs__container {
  display: flex;
  align-items: center;
}

/* Стандартный формат хлебных крошек */
.breadcrumbs__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  list-style: none;
}

.breadcrumbs__item {
  display: flex;
  align-items: center;
  gap: 4px;
}
.breadcrumbs {
  margin: 24px 0;
}
.breadcrumbs__link {
  font-size: 14px;
  line-height: 1.275;
  color: var(--primary);
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.breadcrumbs__link:hover {
  opacity: 0.7;
}

.breadcrumbs__current {
  font-size: 14px;
  line-height: 1.275;
  color: var(--grey);
}

.breadcrumbs__separator {
  width: 16px;
  height: 16px;
  color: var(--grey);
  flex-shrink: 0;
}

.breadcrumbs__back-link {
  display: flex;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.breadcrumbs__back-link:hover {
  opacity: 0.7;
}

.breadcrumbs__back-icon {
  width: 24px;
  height: 24px;
  color: var(--primary);
  flex-shrink: 0;
}

.breadcrumbs__back-text {
  font-family: "Onest", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.275;
  color: var(--primary);
}

/* Адаптивность */
@media (max-width: 768px) {
  .breadcrumbs {
    margin-bottom: 16px;
  }

  .breadcrumbs__list {
    gap: 2px;
  }

  .breadcrumbs__item {
    gap: 2px;
  }

  .breadcrumbs__link,
  .breadcrumbs__current {
    font-size: 11px;
  }

  .breadcrumbs__separator {
    width: 14px;
    height: 14px;
  }

  .breadcrumbs__back-icon {
    width: 20px;
    height: 20px;
  }

  .breadcrumbs__back-text {
    font-size: 13px;
  }
}


/* --- olegtix-footer --- */
.footer {
  background-color: var(--white);
  margin-top: 48px;
  padding: 48px 0;
}
.footer__container {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.footer__search {
  flex: 1;
}
.footer__desc {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.footer__main {
  flex: 1;
  display: flex;
  align-items: center;
  position: relative;
  gap: 10px;
}

.footer__logo {
  margin-right: auto;
}
.searchform {
  background-color: var(--grey-light);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.searchform__input {
  width: 100%;
  padding: 16px 20px;
  padding-right: 50px;
  cursor: pointer;
}
.searchform__btn {
  background: var(--primary);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  position: absolute;
  right: 0;
  top: 0;
  transition: background-color 0.3s ease;
}

.searchform__btn:hover {
  background: var(--primary-hover);
}

.footer__scroll-top {
  background: transparent;
  color: var(--text);
  border: none;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 8px 16px;
}

.footer__scroll-top:hover {
  color: var(--primary);
}

.footer__scroll-top svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: -8px; /* Компенсация высоты шевронов для визуального выравнивания */
}

/* Анимация стрелок при наведении */
.footer__scroll-top path {
  transition: all 0.3s ease;
  opacity: 0.4;
}

.footer__scroll-top:hover path {
  opacity: 1;
  animation: arrowWave 1s infinite;
}

.footer__scroll-top:hover .arrow-bottom {
  animation-delay: 0s;
}

.footer__scroll-top:hover .arrow-middle {
  animation-delay: 0.15s;
}

.footer__scroll-top:hover .arrow-top {
  animation-delay: 0.3s;
}

@keyframes arrowWave {
  0% {
    opacity: 0.4;
    transform: translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateY(-3px);
  }
  100% {
    opacity: 0.4;
    transform: translateY(0);
  }
}

.footer__scroll-top-text {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: inherit;
  transition: color 0.3s ease;
  padding-top: 2px;
}

.footer__age {
  font-size: 16px;
  color: var(--grey);
  padding: 10px 20px;
  background: var(--grey-light);
  border-radius: 10px;
}
.footer__bottom {
  display: flex;
  gap: 48px;
  justify-content: space-between;
}
.footer__columns {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 32px;
}
.footer__column {
  font-size: 14px;
  color: var(--grey);
}
.footer__menu--column {
  gap: 6px;
}
.footer__text {
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 750px;
  color: var(--grey);
}
.footer__menu a {
  font-size: 14px;
  color: var(--grey);
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer-menu-title a {
  color: #000;
  font-size: 16px;
}
.footer__menu a:hover {
  color: var(--primary);
}

.footer__menu {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.footer__links {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.footer__badge-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  list-style: none;
  margin: auto 0 0;
  padding: 0;
}
.footer__badge-item {
  margin: 0;
  padding: 0;
}
.footer__badge-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  transition: opacity 0.25s ease;
}
.footer__badge-link:hover {
  opacity: 0.85;
}
.footer__badge-img {
  display: block;
  max-height: 33px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.circle-links__label {
  color: var(--grey);
  font-size: 14px;
  display: flex;
  margin-bottom: 12px;
}
.circle-links__list {
  display: flex;
  gap: 12px;
}
.circle-links__link {
  background-color: var(--grey-light);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}
.circle-links__link:hover {
  opacity: 0.6;
}
.circle-links__link img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
@media (max-width: 1270px) {
  .footer__bottom {
    gap: 15px;
  }
  .footer__columns {
    gap: 24px;
  }
  .footer__text {
    max-width: 500px;
  }
}
@media (max-width: 1000px) {
  .footer__bottom {
    flex-wrap: wrap;
  }
  .footer__columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 20px;
  }
  .footer__text {
    flex: 1 0 100%;
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .footer__container {
    gap: 24px;
  }
  .footer {
    padding: 24px 0;
  }
}
@media (max-width: 480px) {
  .footer__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }
  .footer__links {
    flex-direction: row;
  }
  .footer {
    padding: 12px 0 24px;
  }
}


/* --- olegtix-404 --- */
/* 404 Error Page Styles */
.error-404 {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem 0;
}

.error-404__content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.error-404__container {
  max-width: 1200px;
  width: 100%;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.error-404__text {
  text-align: center;
}

.error-404__title {
  font-size: 8rem;
  font-weight: 900;
  line-height: 1;
  color: var(--primary);
  margin: 0 0 1rem 0;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}

.error-404__subtitle {
  font-size: 2rem;
  font-weight: 600;
  color: #2c3e50;
  margin: 0 0 1rem 0;
}

.error-404__description {
  font-size: 1.1rem;
  color: #7f8c8d;
  margin: 0 0 2rem 0;
  line-height: 1.6;
}

.error-404__actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.error-404__search {
  background: #f8f9fa;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.error-404__search-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #2c3e50;
  margin: 0 0 1.5rem 0;
  text-align: center;
}

.error-404__search-form {
  display: flex;
  gap: 0.5rem;
  position: relative;
}

.error-404__search-label {
  position: absolute;
  left: -9999px;
}

.error-404__search-input {
  flex: 1;
  padding: 0.875rem 1rem;
  border: 2px solid #e1e8ed;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.3s ease;
  background-color: white;
}

.error-404__search-input:focus {
  outline: none;
  border-color: #3498db;
  box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}

.error-404__search-button {
  padding: 0.875rem 1.25rem;
  background-color: #3498db;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.error-404__search-button:hover {
  background-color: #2980b9;
}

.error-404__suggestions {
  background-color: #fff;
  padding: 3rem 0;
  margin-top: 2rem;
}

.error-404__suggestions-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #2c3e50;
  margin: 0 0 2rem 0;
  text-align: center;
}

.error-404__posts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
}

.error-404__post {
  background: white;
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.error-404__post:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.error-404__post-title {
  margin: 0 0 0.5rem 0;
  font-size: 1.1rem;
  line-height: 1.4;
}

.error-404__post-link {
  color: #2c3e50;
  text-decoration: none;
  transition: color 0.3s ease;
}

.error-404__post-link:hover {
  color: #3498db;
}

.error-404__post-date {
  font-size: 0.9rem;
  color: #7f8c8d;
}

/* Responsive Design */
@media (max-width: 768px) {
  .error-404__container {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }

  .error-404__title {
    font-size: 6rem;
  }

  .error-404__subtitle {
    font-size: 1.5rem;
  }

  .error-404__actions {
    flex-direction: column;
    align-items: center;
  }

  .error-404__button {
    width: 100%;
    max-width: 300px;
  }

  .error-404__search-form {
    flex-direction: column;
  }

  .error-404__posts {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .error-404 {
    padding: 1rem 0;
  }

  .error-404__title {
    font-size: 4rem;
  }

  .error-404__subtitle {
    font-size: 1.25rem;
  }

  .error-404__search {
    padding: 1.5rem;
  }

  .error-404__post {
    padding: 1rem;
  }
}

/* Screen reader only text */
.screen-reader-text {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  overflow: hidden;
}


/* --- olegtix-custom --- */
/****** modal ******/
#overlay {
  background-color: #00132b66;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: initial;
  z-index: 9998;
  display: none;
  backdrop-filter: blur(2px);
}

body.openoverlay {
  height: 100vh;
  overflow-y: hidden;
}

body.openoverlay #overlay {
  display: block;
}

.zmodal {
  width: 800px;
  max-width: 96%;
  min-height: 200px;
  overflow: hidden;
  background: #fff;
  padding: 20px;
  border-radius: 20px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
  display: none;
}

.zmodal-inner,
.zpopup-ajax-response {
  max-height: 80vh;
  overflow: auto;
  display: flex;
  justify-content: center;
  width: 100%;
}
.popup-txt {
  margin-bottom: 20px;
}
.zmodal-body {
  overflow-y: auto;
  min-height: 0;
  width: 100%;
}

.zmodal.open {
  display: block;
}

.btn-zmodal-close {
  position: absolute;
  right: 0;
  top: 0;
  width: 42px;
  height: 42px;
  background: var(--grey-light);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  font-size: 20px;
}

.zmodal-toggle {
  cursor: pointer;
}

.popup-content-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 100px;
}

.popup-content-loading img {
  width: 50px;
}

.zmodal-title {
  font-size: 24px;
  font-weight: 700;
}

/**** popup **/

.popup-title {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 16px;
  padding-right: 20px;
}

.popup-listing {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.popup--no-padding {
  padding: 0;
  overflow: hidden;
}

.popup--no-padding .zmodal-body {
  padding: 0;
}

.zmodal--image-link {
  width: 400px;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 20px;
  min-height: 0;
}

.zmodal--image-link .zpopup-ajax-response {
  overflow: visible;
}

.zmodal--image-link .zmodal-body {
  overflow: visible;
}

.zmodal--image-link .btn-zmodal-close {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  border-radius: 100%;
  width: 32px;
  height: 32px;
  top: 8px;
  right: 8px;
}

.popup--image-link .popup-image-link {
  display: block;
  width: 100%;
  line-height: 0;
}

.popup-image-link__image {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  border-radius: 0;
}

.broker-card-li {
  display: grid;
  align-items: center;
  grid-template-columns: 140px 1fr 175px;
  gap: 16px;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid #f1f1f1;
}

.broker-card-li__info {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin: 0 auto;
  width: 100%;
}

.broker-card-li__info .broker-card__detail {
  flex: none;
}
.broker-card-li .broker-card__btn-amount {
  display: none;
}
@media (max-width: 800px) {
  .zmodal {
    padding: 16px;
  }
  .zmodal--image-link {
    padding: 0;
    width: 300px;
  }

  .popup-title {
    font-size: 20px;
    margin-bottom: 12px;
  }
  .broker-card-li__logo img {
    width: 135px;
  }
  .broker-card-li {
    display: grid;
    align-items: center;
    grid-template-columns: 150px 150px 1fr;
    gap: 12px;
    padding: 8px;
    border-radius: 8px;
  }

  .broker-card-li__info {
    gap: 10px;
  }
  .broker-card-li__info .broker-card__detail--mobile-hidden,
  .broker-card-li .broker-card__btn-text {
    display: none;
  }
  .broker-card-li .broker-card__btn-amount {
    display: flex;
  }
}
@media (max-width: 600px) {
  .broker-card-li {
    grid-template-columns: 110px 80px 1fr;
  }
}
@media (max-width: 510px) {
  .broker-card-li__logo img {
    width: 100px;
  }
}
@media (max-width: 440px) {
  .broker-card-li {
    grid-template-columns: 75px 80px 1fr;
    gap: 3px;
  }
  .broker-card-li .broker-card__btn--frebet {
    font-size: 12px;
    padding: 10px 8px;
  }
}
@media (max-width: 390px) {
  .broker-card__detail-label {
    display: none;
  }
  .broker-card__detail-content svg {
    width: 13px;
  }
  .broker-card__detail-content span {
    font-size: 12px;
  }
}
@media (max-width: 350px) {
  .broker-card-li {
    grid-template-columns: 72px 50px 1fr;
  }
}
/**** ai_generate *****/
.article__featured-image {
  position: relative;
}

.ai-info-badge {
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 10;
  cursor: help;
}

.ai-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background-color: #eee;
  color: #555;
  border-radius: 50%;
  font-family: sans-serif;
  font-weight: bold;
  font-size: 14px;
  transition: background-color 0.3s;
}

.ai-info-badge:hover .ai-icon {
  background-color: #ddd;
}

.ai-tooltip {
  visibility: hidden;
  width: 250px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 10px;
  position: absolute;
  z-index: 11;
  bottom: 125%;
  right: 0;
  opacity: 0;
  transition: opacity 0.3s;
  font-size: 12px;
  line-height: 1.4;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  pointer-events: none;
}

.ai-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  right: 10px;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.ai-info-badge:hover .ai-tooltip {
  visibility: visible;
  opacity: 1;
}

.page__updated {
  margin: 6px 0 10px;
  font-size: 13px;
  line-height: 1.4;
  color: #6b7280;
}

.page__title--updated-has {
  margin-bottom: 0;
}

.broker-header__title--updated-has {
  margin-bottom: 0;
}


/* --- olegtix-bonus-expiry --- */
.bonus-card__expiry {
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.3;
  color: var(--grey-light);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}


/* --- olegtix-search-modal --- */
.search-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
}
.search-modal--open {
  display: block;
}
.search-modal-lock {
  overflow: hidden;
}
.search-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 16, 40, 0.55);
}
.search-modal__dialog {
  position: relative;
  max-width: 560px;
  margin: 10vh auto 0;
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  max-height: 80vh;
  overflow: auto;
}
.search-modal__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.search-modal__close {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 10px;
  background: #f5f2fb;
  cursor: pointer;
  color: #6b6b80;
  transition:
    transform 0.15s ease,
    color 0.15s ease,
    background 0.15s ease;
}
.search-modal__close:hover {
  transform: rotate(90deg);
  color: #9345d8;
  background: #ece4fa;
}
.search-modal__form {
  display: flex;
  flex: 1;
  gap: 8px;
  min-width: 0;
}
.search-modal__input {
  flex: 1;
  height: 44px;
  border: 1px solid #e3e0ec;
  border-radius: 10px;
  padding: 0 14px;
  font-size: 15px;
}
.search-modal__input:focus {
  outline: none;
  border-color: #9345d8;
}
.search-modal__submit {
  width: 48px;
  height: 44px;
  border: 0;
  border-radius: 10px;
  background: #9345d8;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-modal__loader {
  position: relative;
  height: 3px;
  margin: 0 0 12px;
  border-radius: 3px;
  background: #f1eef8;
  overflow: hidden;
}
.search-modal__loader[hidden] {
  display: none;
}
.search-modal__loader-bar {
  position: absolute;
  top: 0;
  left: -40%;
  width: 40%;
  height: 100%;
  border-radius: 3px;
  background: #9345d8;
  animation: search-loader-slide 1.05s ease-in-out infinite;
}
@keyframes search-loader-slide {
  0% {
    left: -40%;
  }
  50% {
    left: 30%;
  }
  100% {
    left: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .search-modal__loader-bar {
    animation-duration: 2.4s;
  }
}
.search-modal__heading {
  font-weight: 700;
  margin: 16px 0 8px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #8a869c;
}
.search-modal__more {
  display: block;
  width: 100%;
  margin: 10px 0 4px;
  padding: 11px;
  border: 1px solid #ece9f3;
  border-radius: 10px;
  background: #fff;
  color: #9345d8;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.search-modal__more:hover {
  background: #f7f3fd;
  border-color: #d9cef0;
}
.search-modal__more:disabled {
  opacity: 0.6;
  cursor: default;
}
.search-modal__hint,
.search-modal__empty {
  color: #8a869c;
  padding: 14px 0;
  text-align: center;
}
.search-match {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px;
  margin-bottom: 8px;
  border: 1px solid #ece9f3;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}
.search-match:hover {
  border-color: #d9cef0;
  background: #faf8fd;
}
.search-match__teams {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  flex: 1;
}
.search-match__team {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.search-match__logo {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
  background: #f1eef8;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-match__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.search-match__logo-fallback {
  font-size: 12px;
  font-weight: 700;
  color: #9345d8;
  line-height: 1;
}
.search-match__team-name {
  font-weight: 600;
  font-size: 14px;
  color: #1d1b29;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-match__info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  flex: 0 0 auto;
  max-width: 46%;
  text-align: right;
}
.search-match__sport {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  padding: 3px 9px 3px 7px;
  border-radius: 999px;
  background: #f5f2fb;
  color: #6b4b9c;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}
.search-match__sport-icon {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  object-fit: contain;
}
.search-match__sport-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-match__league {
  font-size: 12px;
  line-height: 1.3;
  color: #8a869c;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.search-match__datetime {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: #6b6b80;
  white-space: nowrap;
}
.search-match__calendar {
  flex: 0 0 auto;
  color: #9345d8;
}
.search-news {
  display: flex;
  gap: 12px;
  padding: 10px;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}
.search-news:hover {
  background: #f7f3fd;
}
.search-news__thumb {
  flex: 0 0 64px;
  width: 64px;
  height: 48px;
  border-radius: 8px;
  overflow: hidden;
  background: #f1eef8;
}
.search-news__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.search-news__body {
  min-width: 0;
}
.search-news__title {
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
}
.search-news__meta {
  display: flex;
  gap: 10px;
  color: #8a869c;
  font-size: 12px;
}
.search-plaque {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #e3e0ec;
  border-radius: 10px;
  background: #fff;
  color: #8a869c;
  cursor: text;
  margin: 0 0 12px;
  font-size: 15px;
}
.search-plaque:hover {
  border-color: #9345d8;
}
.search-plaque__icon {
  color: #9345d8;
  display: inline-flex;
}
.footer__match-search {
  margin-top: 10px;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
  font-size: 14px;
}


/* --- olegtix-bonus-count --- */
.bonus-count {
  flex: 0 0 auto;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  color: var(--grey, #9aa0a6);
  padding-top: 8px;
}

.block-bookmaker-bonuses__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}
.block-bookmaker-bonuses__title {
  margin-bottom: 0;
}


/* --- olegtix-matches-table --- */
.matches-table__header {
  display: flex;
  align-items: center;
  background: #f4f4f4;
  border-radius: 10px 10px 0 0;
  min-height: 40px;
}

.matches-table__info {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 20px;
  min-width: 0;
  font-size: 14px;
  color: #7d7d7d;
}

.matches-table__sport-link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: inherit;
}

.matches-table__sport-link:hover .matches-table__sport-name {
  color: #232323;
}

.matches-table__sport-icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: #7d7d7d;
}

.matches-table__sport-icon svg {
  width: 16px;
  height: 16px;
}

.matches-table__flag {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  object-fit: cover;
  border-radius: 2px;
}

.matches-table__dot {
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #7d7d7d;
  flex-shrink: 0;
}

.matches-table__odds-header {
  display: flex;
  flex-shrink: 0;
}

.matches-table__odds-label {
  width: 128px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #7d7d7d;
  background: #f4f4f4;
  border-left: 1px solid #fff;
}

.matches-table__odds-label:last-child {
  border-radius: 0 10px 0 0;
}

.matches-table__body {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.matches-table__row {
  display: flex;
  align-items: center;
  min-height: 50px;
  border-bottom: 1px solid #f4f4f4;
}

.matches-table__row:last-child {
  border-bottom: none;
}

a.matches-table__match-link {
  text-decoration: none;
  color: inherit;
}

a.matches-table__match-link:hover {
  color: var(--primary);
}

.matches-table__match-info {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 20px;
  min-width: 0;
}

.matches-table__time {
  width: 40px;
  flex-shrink: 0;
  font-size: 14px;
  color: #7d7d7d;
}

.matches-table__time--with-date {
  width: auto;
  min-width: 52px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  line-height: 1.15;
}

.matches-table__time-date {
  font-size: 11px;
  font-weight: 600;
  color: var(--primary);
  white-space: nowrap;
}

a.matches-table__league--link,
a.matches-table__sport-link {
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease;
}

a.matches-table__league--link:hover,
a.matches-table__sport-link:hover,
a.matches-table__sport-link:hover .matches-table__sport-name {
  color: var(--primary);
}

.matches-table__team-slot {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.matches-table__team-slot--home {
  justify-content: flex-end;
}

.matches-table__team-slot--away {
  justify-content: flex-start;
}

.matches-table__filler {
  flex: 1;
  min-width: 0;
  align-self: stretch;
}

.matches-table__team {
  font-size: 14px;
  color: #232323;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 0;
  max-width: 100%;
}

.matches-table__team--home {
  text-align: right;
}

.matches-table__team--away {
  text-align: left;
}

a.matches-table__team--link {
  text-decoration: none;
  color: #232323;
  transition: color 0.15s ease;
}

a.matches-table__team--link:hover {
  color: var(--primary);
}

.matches-table__team-logo {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  object-fit: contain;
}

.matches-table__team-logo-link {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.matches-table__separator {
  font-size: 16px;
  color: #232323;
  flex-shrink: 0;
  min-width: 20px;
  text-align: center;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}

a.matches-table__separator {
  text-decoration: none;
}

.matches-table__odds {
  display: flex;
  flex-shrink: 0;
}

.matches-table__odd {
  width: 128px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid #f4f4f4;
}
.matches-table__odd-inner {
  background: var(--grey-light);
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 10px;
  padding: 7px 20px;
  justify-content: space-between;
}

.matches-table__odd-value {
  font-size: 14px;
  font-weight: 700;
  color: #232323;
}

.matches-table__odd-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.matches-table__odd-link:hover .matches-table__odd-inner {
  background: #e8f0fe;
}

.matches-table__odd-bk {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  object-fit: cover;
  flex-shrink: 0;
}

.matches-table__bk-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  background: var(--grey-light);
  border-radius: 10px;
  text-decoration: none;
  transition: background 0.15s ease;
}

.matches-table__bk-cta:hover {
  background: #e8f0fe;
}

.matches-table__bk-cta-logo {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  object-fit: contain;
}

.matches-table__odd--changed {
  animation: mt-highlight 2s ease-out;
}

@keyframes mt-highlight {
  0% {
    background: #e8f5e9;
  }
  100% {
    background: transparent;
  }
}

.matches-table__row-header {
  display: none;
}

.matches-table__odd-label {
  display: none;
}

.matches-table__empty {
  padding: 20px;
  text-align: center;
  font-size: 14px;
  color: #7d7d7d;
}

.matches-table__empty + .matches-table__nearest {
  padding-top: 0;
}

.matches-table__nearest {
  padding: 16px 20px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
}

.matches-table__row[data-status="inprogress"] .matches-table__time {
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 4px;
}

.matches-table__row[data-status="inprogress"] .matches-table__time::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e53935;
  flex-shrink: 0;
  animation: mt-pulse 1.5s ease-in-out infinite;
}

@keyframes mt-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}

@media (max-width: 768px) {
  .matches-table__header {
    display: none;
  }

  .matches-table__body {
    gap: 12px;
  }

  .matches-table__row {
    flex-direction: column;
    align-items: stretch;
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 14px;
    overflow: hidden;
    padding: 0;
    gap: 0;
  }

  .matches-table__row:last-child {
    border-bottom: 1px solid #ebebeb;
  }

  .matches-table__row-header,
  a.matches-table__match-link.matches-table__row-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    font-size: 12px;
    color: #7d7d7d;
    border-bottom: 1px solid #ebebeb;
  }

  .matches-table__row-header .matches-table__sport-icon svg {
    width: 14px;
    height: 14px;
  }

  .matches-table__match-info {
    padding: 8px 16px;
    justify-content: center;
  }

  .matches-table__time {
    display: none;
  }

  .matches-table__team {
    font-size: 12px;
  }

  .matches-table__filler {
    display: none;
  }

  .matches-table__team-slot {
    flex: 1;
    min-width: 0;
  }

  .matches-table__odds {
    padding: 0 8px 8px;
    border-top: none;
    gap: 10px;
  }

  .matches-table__odd {
    flex: 1;
    width: auto;
    height: auto;
    border-left: none;
  }

  .matches-table__odd-inner {
    width: 100%;
    justify-content: space-between;
    gap: 2px;
    padding: 8px;
    border-radius: 10px;
  }

  .matches-table__odd-label {
    display: inline;
    font-size: 12px;
    font-weight: 400;
    color: #232323;
  }

  .matches-table__odd-bk {
    width: 20px;
    height: 20px;
  }

  .matches-table__bk-cta-logo {
    width: 20px;
    height: 20px;
  }
}


/* --- olegtix-sport-tabs --- */
.sport-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
  margin: 16px 0;
}

.sport-tabs::-webkit-scrollbar {
  display: none;
}

.sport-tabs__tab {
  display: flex;
  gap: 7px;
  color: var(--text);
}

.sport-tabs__tab img {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  object-fit: contain;
}

.sport-tabs__tab-text {
  white-space: nowrap;
}

@media (max-width: 768px) {
  .sport-tabs__tab-text {
    display: none;
  }

  .sport-tabs__tab img {
    width: 24px;
    height: 24px;
  }
}

.sport-tabs--underline {
  gap: 24px;
}

.sport-tabs--underline .sport-tabs__tab {
  font-size: 24px;
  font-weight: 700;
  color: #7d7d7d;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0 0 4px;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  font-family: inherit;
}

.sport-tabs--underline .sport-tabs__tab:hover {
  color: #9345d8;
}

.sport-tabs--underline .sport-tabs__tab--active {
  color: #9345d8;
  border-bottom-color: #9345d8;
}

.sport-tabs--underline .sport-tabs__tab-text {
  display: inline;
}

@media (max-width: 768px) {
  .sport-tabs--underline {
    gap: 16px;
  }

  .sport-tabs--underline .sport-tabs__tab {
    font-size: 18px;
  }

  .sport-tabs--underline .sport-tabs__tab-text {
    display: inline;
  }
}


/* --- olegtix-prediction-card --- */
.prediction-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  padding: 4px;
}

.prediction-card__header {
  background: #f4f4f4;
  border-radius: 10px 10px 0 0;
  min-height: 40px;
  display: flex;
  align-items: center;
}

.prediction-card__info {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 20px;
  font-size: 14px;
  color: #7d7d7d;
}

.prediction-card__sport-icon {
  display: flex;
  align-items: center;
}

.prediction-card__sport-icon svg {
  width: 16px;
  height: 16px;
}

.prediction-card__flag {
  width: 16px;
  height: 16px;
  object-fit: cover;
  border-radius: 2px;
}

.prediction-card__dot {
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #7d7d7d;
  flex-shrink: 0;
}

.prediction-card__header-time,
.prediction-card__header-time-dot {
  display: none;
}

.prediction-card__match {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 20px;
  min-height: 50px;
  border-bottom: 1px solid #f4f4f4;
}

.prediction-card__time {
  width: 40px;
  flex-shrink: 0;
  font-size: 14px;
  color: #7d7d7d;
}

.prediction-card__team {
  font-size: 14px;
  color: #232323;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.prediction-card__team--home {
  flex: 1;
  text-align: right;
}

.prediction-card__team--away {
  flex: 1;
  text-align: left;
}

a.prediction-card__team--link,
a.prediction-card__league--link,
a.prediction-card__sport-name--link {
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease;
}

a.prediction-card__team--link:hover,
a.prediction-card__league--link:hover,
a.prediction-card__sport-name--link:hover {
  color: var(--primary);
}

a.prediction-card__sport-icon {
  text-decoration: none;
}

.prediction-card__logo {
  width: 30px;
  height: 30px;
  object-fit: contain;
  flex-shrink: 0;
}

.prediction-card__separator {
  font-size: 16px;
  min-width: 20px;
  text-align: center;
  flex-shrink: 0;
}

.prediction-card__bet {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--grey-light);
  border-radius: 10px;
  padding: 7px 12px;
  flex-shrink: 0;
}

.prediction-card__bet-label {
  font-size: 12px;
  color: #7d7d7d;
}

.prediction-card__bet-value {
  font-size: 14px;
  font-weight: 700;
  color: #232323;
}

.prediction-card__bk-icon {
  width: 24px;
  height: 24px;
  border-radius: 4px;
}

.prediction-card__arrow {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #7d7d7d;
  text-decoration: none;
  flex-shrink: 0;
}

.prediction-card__arrow:hover {
  color: var(--primary);
}

.prediction-card__expert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  background: #ebf8ec;
  border-radius: 8px;
}

.prediction-card__expert-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

a.prediction-card__expert-left--link {
  color: inherit;
  text-decoration: none;
}

a.prediction-card__expert-left--link:hover .prediction-card__expert-name {
  color: var(--primary);
}

.prediction-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.prediction-card__avatar--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.prediction-card__expert-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.prediction-card__expert-name {
  font-size: 14px;
  font-weight: 700;
  color: #232323;
}

.prediction-card__expert-position {
  font-size: 12px;
  color: #7d7d7d;
}

.prediction-card__profit {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.prediction-card__profit-label {
  font-size: 12px;
  color: #7d7d7d;
}

.prediction-card__profit-value--positive {
  font-size: 16px;
  font-weight: 700;
  color: #4caf50;
}

.prediction-card__profit-value--negative {
  font-size: 16px;
  font-weight: 700;
  color: #e53935;
}

@media (max-width: 768px) {
  .prediction-card__info {
    flex-wrap: wrap;
    padding: 8px 12px;
    font-size: 12px;
    gap: 6px;
  }

  .prediction-card__sport-name {
    display: none;
  }

  .prediction-card__sport-name + .prediction-card__dot {
    display: none;
  }

  .prediction-card__header-time,
  .prediction-card__header-time-dot {
    display: inline;
  }

  .prediction-card__header-time-dot {
    display: block;
  }

  .prediction-card__time {
    display: none;
  }

  .prediction-card__match {
    flex-wrap: wrap;
    justify-content: center;
    padding: 8px 12px;
    border-bottom: none;
  }

  .prediction-card__team {
    font-size: 12px;
  }

  .prediction-card__bet {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 8px 12px;
  }

  .prediction-card__arrow {
    display: none;
  }

  .prediction-card__expert {
    padding: 12px;
  }

  .prediction-card__avatar {
    width: 40px;
    height: 40px;
  }

}

.prediction-card__extras {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  padding: 12px 20px;
  background: #f4f4f4;
  border-radius: 8px;
}

.prediction-card__extra {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1.4;
}

.prediction-card__extra-label {
  color: #232323;
  font-size: 14px;
  font-weight: 400;
}

.prediction-card__extra-value {
  color: var(--primary, #9345d8);
  font-size: 18px;
  font-weight: 700;
}


/* --- olegtix-prediction-card-extended --- */
.prediction-card__content {
    padding: 16px 20px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.prediction-card__lead {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    color: #232323;
}

.prediction-card__hint {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #5b6470;
}

.prediction-card__description {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #232323;
    white-space: pre-line;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.prediction-card__description--clamped {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.prediction-card__description--expanded {
    display: block;
    -webkit-line-clamp: none;
    overflow: visible;
}

.prediction-card__read-more {
    align-self: flex-start;
    padding: 0;
    margin: 0;
    background: none;
    border: 0;
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    color: var(--primary, #9345d8);
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.15s ease;
}

.prediction-card__read-more:hover,
.prediction-card__read-more:focus-visible {
    opacity: 0.75;
    text-decoration: none;
}

.prediction-card__sections {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 4px;
    border-top: 1px solid #f0f0f0;
}

.prediction-card__section {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.prediction-card__section-title {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #232323;
}

.prediction-card__section p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: #232323;
}

.prediction-card__factors-list {
    margin: 0;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.55;
    color: #232323;
}

.prediction-card__factors-list li {
    margin-bottom: 4px;
}

.prediction-card__factors-list li:last-child {
    margin-bottom: 0;
}

.prediction-card__bets {
    padding: 18px 20px 20px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.prediction-card__bets-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.prediction-card__bets-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: #232323;
}

.prediction-card__bets-counter {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    font-size: 13px;
    color: #7d7d7d;
}

.prediction-card__bets-counter-num {
    font-weight: 700;
    color: #232323;
}

.prediction-card__bets-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    counter-reset: prediction-bet;
}

.prediction-card__bet-item {
    list-style: none;
    position: relative;
    border-radius: 12px;
    background: #fafafa;
    border: 1px solid transparent;
    overflow: hidden;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.prediction-card__bet-item:hover {
    background: #f4f4f4;
}

.prediction-card__bet-item--won {
    background: #f3faf4;
}

.prediction-card__bet-item--won:hover {
    background: #ebf8ec;
}

.prediction-card__bet-item--lost {
    background: #fdf5f5;
}

.prediction-card__bet-item--lost:hover {
    background: #fceeee;
}

.prediction-card__bet-row {
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    background: transparent;
    border: 0;
    font: inherit;
    text-align: left;
    color: inherit;
}

button.prediction-card__bet-row {
    cursor: pointer;
}

button.prediction-card__bet-row:focus-visible {
    outline: 2px solid var(--primary, #9345d8);
    outline-offset: -2px;
    border-radius: 12px;
}

.prediction-card__bet-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #ececec;
    font-size: 13px;
    font-weight: 700;
    color: #232323;
    flex-shrink: 0;
}

.prediction-card__bet-item--won .prediction-card__bet-rank {
    background: #fff;
    border-color: #cbe9cf;
    color: #2c8a3a;
}

.prediction-card__bet-item--lost .prediction-card__bet-rank {
    background: #fff;
    border-color: #f3d4d4;
    color: #c43d3d;
}

.prediction-card__bet-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.prediction-card__bet-headline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 0;
}

.prediction-card__bet-pick {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #232323;
}

.prediction-card__bet-type {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    color: #7d7d7d;
}

.prediction-card__bet-confidence {
    display: flex;
    align-items: center;
    gap: 10px;
    --conf-color: #7d7d7d;
}

.prediction-card__bet-confidence--high { --conf-color: #34b945; }
.prediction-card__bet-confidence--mid  { --conf-color: #f0a500; }
.prediction-card__bet-confidence--low  { --conf-color: #b0b0b0; }

.prediction-card__bet-confidence-track {
    position: relative;
    flex: 1;
    min-width: 60px;
    max-width: 160px;
    height: 4px;
    background: rgba(0, 0, 0, 0.06);
    border-radius: 999px;
    overflow: hidden;
}

.prediction-card__bet-confidence-fill {
    position: absolute;
    inset: 0 auto 0 0;
    background: var(--conf-color);
    border-radius: inherit;
    transition: width 0.3s ease;
}

.prediction-card__bet-confidence-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--conf-color);
    white-space: nowrap;
}

.prediction-card__bet-aside {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.prediction-card__bet-odds {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #232323;
    white-space: nowrap;
}

.prediction-card__bet-result {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.prediction-card__bet-result--won {
    background: #ebf8ec;
    color: #2c8a3a;
}

.prediction-card__bet-result--lost {
    background: #fdecec;
    color: #c43d3d;
}

.prediction-card__bet-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: #7d7d7d;
    transition: transform 0.2s ease, color 0.15s ease;
    flex-shrink: 0;
}

button.prediction-card__bet-row:hover .prediction-card__bet-chevron {
    color: #232323;
}

button.prediction-card__bet-row[aria-expanded="true"] .prediction-card__bet-chevron {
    transform: rotate(180deg);
    color: var(--primary, #9345d8);
}

.prediction-card__bet-reasoning {
    padding: 0 14px 12px 56px;
    margin: -4px 0 0;
}

.prediction-card__bet-reasoning p {
    margin: 0;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.7);
    border-left: 3px solid var(--primary, #9345d8);
    border-radius: 0 8px 8px 0;
    font-size: 13px;
    line-height: 1.55;
    color: #232323;
}

.prediction-card__bet-item--won .prediction-card__bet-reasoning p {
    border-left-color: #34b945;
}

.prediction-card__bet-item--lost .prediction-card__bet-reasoning p {
    border-left-color: #c43d3d;
}

@media (max-width: 768px) {
    .prediction-card__bets {
        padding: 14px 14px 16px;
    }

    .prediction-card__bet-row {
        grid-template-columns: auto 1fr auto;
        grid-template-areas:
            "rank body aside"
            "rank confidence confidence";
        column-gap: 10px;
        row-gap: 8px;
        padding: 10px 12px;
    }

    .prediction-card__bet-rank {
        grid-area: rank;
        align-self: start;
    }

    .prediction-card__bet-body {
        grid-area: body;
    }

    .prediction-card__bet-aside {
        grid-area: aside;
    }

    .prediction-card__bet-confidence {
        grid-area: confidence;
    }

    .prediction-card__bet-chevron {
        display: none;
    }

    .prediction-card__bet-row::after {
        content: '';
        position: absolute;
        right: 12px;
        top: 14px;
        width: 8px;
        height: 8px;
        border-right: 2px solid #b0b0b0;
        border-bottom: 2px solid #b0b0b0;
        transform: rotate(45deg);
        transition: transform 0.2s ease;
    }

    button.prediction-card__bet-row[aria-expanded="true"]::after {
        transform: rotate(225deg);
        top: 18px;
    }

    .prediction-card__bet-reasoning {
        padding: 0 12px 12px 50px;
    }
}

@media (max-width: 768px) {
    .prediction-card__content {
        padding: 14px 14px 16px;
        gap: 10px;
    }

    .prediction-card__bets {
        padding: 0 14px 14px;
    }

    .prediction-card__bet-item {
        padding: 10px 12px;
    }

    .prediction-card__bet-head {
        align-items: flex-start;
    }
}


/* --- olegtix-predictions-tab-experts-summary --- */
.predictions-tab-experts-summary {
    padding: 20px;
    background: #fff;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.predictions-tab-experts-summary__title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #232323;
    line-height: 1.3;
}

.predictions-tab-experts-summary__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.predictions-tab-experts-summary__row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 14px;
}

.predictions-tab-experts-summary__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: #f1eafb;
    color: #6d28d9;
}

.predictions-tab-experts-summary__icon-svg {
    width: 26px;
    height: 26px;
}

.predictions-tab-experts-summary__main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.predictions-tab-experts-summary__share {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    line-height: 1.2;
}

.predictions-tab-experts-summary__pct {
    font-size: 22px;
    font-weight: 700;
    color: #6d28d9;
}

.predictions-tab-experts-summary__share-text {
    font-size: 14px;
    font-weight: 400;
    color: #7d7d7d;
    overflow-wrap: anywhere;
}

.predictions-tab-experts-summary__pick {
    font-size: 18px;
    font-weight: 700;
    color: #232323;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.predictions-tab-experts-summary__result {
    flex: 0 0 200px;
    align-self: stretch;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-left: 24px;
    border-left: 1px solid #eee;
}

.predictions-tab-experts-summary__result-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.predictions-tab-experts-summary__result-text {
    font-size: 15px;
    font-weight: 600;
}

.predictions-tab-experts-summary__result--won .predictions-tab-experts-summary__result-icon {
    background: #e8f7ec;
    color: #34b945;
}

.predictions-tab-experts-summary__result--won .predictions-tab-experts-summary__result-text {
    color: #34b945;
}

.predictions-tab-experts-summary__result--lost .predictions-tab-experts-summary__result-icon {
    background: #fdecec;
    color: #ef4444;
}

.predictions-tab-experts-summary__result--lost .predictions-tab-experts-summary__result-text {
    color: #ef4444;
}

.predictions-tab-experts-summary__result--unrated .predictions-tab-experts-summary__result-icon {
    background: #f0f0f0;
    color: #9ca3af;
}

.predictions-tab-experts-summary__result--unrated .predictions-tab-experts-summary__result-text {
    color: #7d7d7d;
}

.predictions-tab-experts-summary__result--pending .predictions-tab-experts-summary__result-icon {
    background: #f1eafb;
    color: #6d28d9;
}

.predictions-tab-experts-summary__result--pending .predictions-tab-experts-summary__result-text {
    color: #6d28d9;
    white-space: nowrap;
}

.predictions-tab-experts-summary__result--live .predictions-tab-experts-summary__result-icon {
    background: #f1eafb;
    color: #6d28d9;
}

.predictions-tab-experts-summary__result--live .predictions-tab-experts-summary__result-text {
    color: #6d28d9;
    white-space: nowrap;
}

@media (prefers-reduced-motion: no-preference) {
    .predictions-tab-experts-summary__result--live .predictions-tab-experts-summary__result-icon {
        animation: predictions-experts-live-pulse 1.6s ease-in-out infinite;
    }
}

@keyframes predictions-experts-live-pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

@media (max-width: 768px) {
    .predictions-tab-experts-summary__result {
        flex-basis: 150px;
        padding-left: 16px;
    }
}

@media (max-width: 600px) {
    .predictions-tab-experts-summary {
        padding: 16px;
    }

    .predictions-tab-experts-summary__row {
        gap: 10px;
        padding: 12px;
    }

    .predictions-tab-experts-summary__icon {
        display: none;
    }

    .predictions-tab-experts-summary__pct {
        font-size: 18px;
    }

    .predictions-tab-experts-summary__share-text {
        font-size: 12px;
    }

    .predictions-tab-experts-summary__pick {
        font-size: 15px;
    }

    .predictions-tab-experts-summary__result {
        flex: 0 0 auto;
        gap: 8px;
        padding-left: 12px;
    }

    .predictions-tab-experts-summary__result-icon {
        width: 32px;
        height: 32px;
    }

    .predictions-tab-experts-summary__result-text {
        font-size: 13px;
    }
}


/* --- olegtix-predictions-tab-recommended-bets --- */
.predictions-tab-recommended-bets {
  padding: 20px;
  background: #fff;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.predictions-tab-recommended-bets__title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: #232323;
}

.predictions-tab-recommended-bets__list {
  display: flex;
  flex-direction: column;
  border: 1px solid #ececec;
  border-radius: 14px;
}

.predictions-tab-recommended-bets__item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
}

.predictions-tab-recommended-bets__item:last-child {
  border-bottom: none;
}

.predictions-tab-recommended-bets__bk {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #13131f;
  overflow: hidden;
}

.predictions-tab-recommended-bets__bk img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.predictions-tab-recommended-bets__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 16px;
}

.predictions-tab-recommended-bets__odds {
  flex: 0 0 auto;
  min-width: 64px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  color: #6d28d9;
}

.predictions-tab-recommended-bets__main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.predictions-tab-recommended-bets__pick {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: #232323;
}

.predictions-tab-recommended-bets__subtitle {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  color: #7d7d7d;
}

.predictions-tab-recommended-bets__aside {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.predictions-tab-recommended-bets__confidence {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  background: #f0f0f0;
  color: #7d7d7d;
}

.predictions-tab-recommended-bets__confidence--high {
  background: #e8f7ec;
  color: #2f9c3f;
}

.predictions-tab-recommended-bets__confidence--mid {
  background: #fff3da;
  color: #d98b0a;
}

.predictions-tab-recommended-bets__confidence--low {
  background: #fdecec;
  color: #ef4444;
}

.predictions-tab-recommended-bets__confidence-label {
  font-size: 14px;
  color: #7d7d7d;
}

@media (max-width: 640px) {
  .predictions-tab-recommended-bets {
    padding: 16px;
    gap: 12px;
  }

  .predictions-tab-recommended-bets__item {
    gap: 12px;
    padding: 14px 16px;
  }

  .predictions-tab-recommended-bets__bk {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }

  .predictions-tab-recommended-bets__body {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .predictions-tab-recommended-bets__odds {
    min-width: 0;
    font-size: 18px;
  }

  .predictions-tab-recommended-bets__aside {
    flex-direction: column;
    align-items: center;
    gap: 2px;
  }

  .predictions-tab-recommended-bets__confidence-label {
    font-size: 12px;
  }
}


/* --- olegtix-predictions-tab-trends --- */
.predictions-tab-trends {
  padding: 20px;
  background: #fff;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.predictions-tab-trends__title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: #232323;
}

.predictions-tab-trends__group {
  display: flex;
  flex-direction: column;
}

.predictions-tab-trends__team {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}

.predictions-tab-trends__flag {
  width: 28px;
  height: 20px;
  object-fit: contain;
  border-radius: 3px;
  flex-shrink: 0;
}

.predictions-tab-trends__team-name {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: #232323;
}

.predictions-tab-trends__list {
  display: flex;
  flex-direction: column;
}

.predictions-tab-trends__item {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: stretch;
  border-bottom: 1px solid #ededed;
}

.predictions-tab-trends__pick-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  padding: 18px 24px 18px 0;
}

.predictions-tab-trends__pick {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  color: #232323;
}

.predictions-tab-trends__text {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 18px 0 18px 24px;
  border-left: 1px solid #ededed;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #7d7d7d;
}

@media (max-width: 640px) {
  .predictions-tab-trends {
    padding: 16px;
    gap: 16px;
  }

  .predictions-tab-trends__team-name {
    font-size: 16px;
  }

  .predictions-tab-trends__item {
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  }

  .predictions-tab-trends__pick-col {
    gap: 6px;
    padding: 14px 14px 14px 0;
  }

  .predictions-tab-trends__pick {
    font-size: 15px;
  }

  .predictions-tab-trends__text {
    padding: 14px 0 14px 14px;
    font-size: 13px;
  }
}


/* --- olegtix-predictions-tab-editorial --- */
.math-prediction {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px;
    background: #fff;
    border-radius: 14px;
}

.math-prediction__head {
    display: flex;
    align-items: center;
    gap: 8px;
}

.math-prediction__title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: #232323;
}

.math-prediction__info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #b3b3bd;
    line-height: 0;
    cursor: pointer;
    transition: color .15s ease;
}

.math-prediction__info:hover,
.math-prediction__info[aria-expanded="true"] {
    color: #6828ba;
}

.math-prediction-tooltip {
    position: fixed;
    z-index: 1000;
    max-width: 280px;
    padding: 10px 14px;
    background: #26334d;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .22);
}

.math-prediction-tooltip[hidden] {
    display: none;
}

.math-prediction-tooltip::before {
    content: "";
    position: absolute;
    top: -5px;
    left: var(--arrow-x, 18px);
    width: 10px;
    height: 10px;
    background: inherit;
    border-radius: 2px;
    transform: translateX(-50%) rotate(45deg);
}

.math-prediction-tooltip::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -10px;
    height: 10px;
}

.math-prediction__card {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    border: 1px solid #ececf0;
    border-radius: 16px;
    overflow: hidden;
}

.math-prediction__main {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 22px;
    background: #f5f2fd;
}

.math-prediction__main-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.math-prediction__main-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #fff;
    color: #6828ba;
    box-shadow: 0 4px 12px rgba(104, 40, 186, .14);
}

.math-prediction__main-caption {
    font-size: 14px;
    font-weight: 400;
    color: #7d7d7d;
}

.math-prediction__main-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.math-prediction__main-label {
    font-size: 13px;
    font-weight: 400;
    color: #8a8a96;
}

.math-prediction__main-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.math-prediction__main-outcome {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
    color: #232323;
}

.math-prediction__main-figure {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.1;
    flex-shrink: 0;
}

.math-prediction__main-pct {
    font-size: 30px;
    font-weight: 800;
    color: #6828ba;
}

.math-prediction__main-pct--won {
    color: #34b945;
}

.math-prediction__main-pct--lost {
    color: #f85c5f;
}

.math-prediction__main-pct-label {
    font-size: 12px;
    font-weight: 400;
    color: #8a8a96;
}

.math-prediction__main-desc {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #6f6f78;
}

.math-prediction__gauge {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
    padding-top: 6px;
}

.math-prediction__gauge-head {
    display: flex;
    align-items: center;
    gap: 8px;
}

.math-prediction__gauge-title {
    font-size: 13px;
    font-weight: 400;
    color: #7d7d7d;
}

.math-prediction__gauge-value {
    margin-left: auto;
    font-size: 15px;
    font-weight: 700;
    color: #232323;
}

.math-prediction__gauge-track {
    display: flex;
    gap: 6px;
}

.math-prediction__gauge-bar {
    flex: 1;
    height: 7px;
    border-radius: 4px;
    background: #e4ddf3;
}

.math-prediction__gauge-bar--on {
    background: #6828ba;
}

.math-prediction__table {
    display: flex;
    flex-direction: column;
    padding: 14px 20px;
    background: #fff;
    border-left: 1px solid #ececf0;
}

.math-prediction__table-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 4px 12px;
    border-bottom: 1px solid #f0f0f3;
}

.math-prediction__table-th {
    font-size: 13px;
    font-weight: 400;
    color: #8a8a96;
}

.math-prediction__rows {
    display: flex;
    flex-direction: column;
}

.math-prediction__row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 4px;
    border-bottom: 1px solid #f3f3f6;
}

.math-prediction__row:last-child {
    border-bottom: 0;
}

.math-prediction__row-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    flex-shrink: 0;
    background: #f5f2fd;
    color: #6828ba;
}

.math-prediction__row-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.math-prediction__row-market {
    font-size: 12px;
    font-weight: 400;
    color: #8a8a96;
}

.math-prediction__row-pick {
    font-size: 15px;
    font-weight: 700;
    color: #232323;
}

.math-prediction__row-conf {
    font-size: 17px;
    font-weight: 800;
    color: #6828ba;
    white-space: nowrap;
}

.math-prediction__row-conf--won {
    color: #34b945;
}

.math-prediction__row-conf--lost {
    color: #f85c5f;
}

.math-prediction__disclaimer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 14px 16px;
    background: #f7f7f9;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    color: #8a8a96;
}

.math-prediction__disclaimer svg {
    flex-shrink: 0;
    color: #b3b3bd;
}

@media (max-width: 720px) {
    .math-prediction {
        padding: 16px;
        gap: 14px;
    }

    .math-prediction__card {
        grid-template-columns: 1fr;
    }

    .math-prediction__main {
        padding: 18px;
        gap: 16px;
    }

    .math-prediction__table {
        padding: 6px 16px 10px;
        border-left: 0;
        border-top: 1px solid #ececf0;
    }

    .math-prediction__main-outcome {
        font-size: 20px;
    }

    .math-prediction__main-pct {
        font-size: 26px;
    }
}

@media (max-width: 420px) {
    .math-prediction__main-row {
        flex-direction: column;
        gap: 8px;
    }

    .math-prediction__main-figure {
        flex-direction: row;
        align-items: baseline;
        gap: 8px;
    }
}


/* --- olegtix-predictions-tab-other-list --- */
.predictions-tab-other-list {
    margin-bottom: 24px;
}

.predictions-tab-other-list__title {
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 700;
    color: #111827;
}

.predictions-tab-other-list__items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.predictions-tab-other-list__more {
    display: block;
    width: 100%;
    margin-top: 14px;
    padding: 12px 20px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    color: #6d28d9;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.predictions-tab-other-list__more:hover {
    background: #f9fafb;
    border-color: #d1d5db;
}

.predictions-tab-other-list__more:disabled {
    opacity: 0.6;
    cursor: wait;
}


/* --- olegtix-dates-header --- */
.dates-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dates-header__title {
  font-size: 22px;
  font-weight: 700;
  margin: 0;
}

.dates-header__title-link {
  color: inherit;
  text-decoration: none;
}
.dates-header__title-link:hover {
  text-decoration: underline;
}

.dates-header__dates-wrap {
  position: relative;
  min-width: 0;
}

.dates-header__dates {
  display: flex;
  align-items: center;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.dates-header__dates::-webkit-scrollbar {
  display: none;
}

.dates-header__calendar-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: none;
  border-radius: 10px;
  width: 40px;
  height: 40px;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
  margin-right: 5px;
}
.dates-header__calendar-btn svg {
  flex-shrink: 0;
}
.dates-header__calendar-btn:hover {
  background: #f4f4f4;
}
.dates-header__calendar-btn--active {
  box-shadow: inset 0 0 0 2px var(--primary);
}

.dates-header__filter-btn {
  background: transparent;
  border: none;
  border-radius: 10px;
  padding: 0 16px;
  height: 40px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
.dates-header__filter-btn:hover {
  background: #f4f4f4;
}
.dates-header__filter-btn--active {
  background: var(--primary);
  color: var(--white);
}
.dates-header__filter-btn--active:hover {
  background: var(--primary-hover);
}

.dates-header .sort-btn:not(.sort-btn--active) {
  background: transparent;
  color: var(--text);
}

.dates-header__calendar-popup {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  background: var(--white);
  border-radius: 14px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
  padding: 20px;
  z-index: 100;
  min-width: 300px;
}

.dates-header__calendar-popup--open {
  display: block;
}

.dates-header__calendar-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.dates-header__calendar-nav-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: var(--text);
  font-size: 18px;
}

.dates-header__calendar-month {
  font-size: 15px;
  font-weight: 600;
}

.dates-header__calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  text-align: center;
}

.dates-header__calendar-weekday {
  font-size: 12px;
  color: var(--grey);
  padding: 4px;
  font-weight: 500;
}

.dates-header__calendar-day {
  padding: 8px 4px;
  font-size: 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  background: none;
  font-family: inherit;
}

.dates-header__calendar-day:hover {
  background: var(--grey-light);
}

.dates-header__calendar-day--today {
  box-shadow: inset 0 0 0 2px var(--primary);
  font-weight: 600;
}

.dates-header__calendar-day--selected {
  background: var(--primary);
  color: var(--white);
  font-weight: 600;
}

.dates-header__calendar-day--selected:hover {
  background: var(--primary-hover);
}

.dates-header__calendar-day--other {
  color: #ccc;
  cursor: default;
}

.dates-header__calendar-day--has-matches {
  font-weight: 700;
  position: relative;
}

.dates-header__calendar-day--has-matches::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--primary);
}

.dates-header__calendar-day--selected.dates-header__calendar-day--has-matches::after {
  background: var(--white);
}

.dates-header__calendar-day--other.dates-header__calendar-day--has-matches::after {
  display: none;
}

@media (max-width: 768px) {
  .dates-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .dates-header__title {
    font-size: 18px;
  }

  .dates-header__dates-wrap {
    width: 100%;
  }
}


/* --- olegtix-sport-banners --- */
.sport-banners {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 24px 0;
}

.sport-banners__item {
    display: block;
    overflow: hidden;
    border-radius: 12px;
    line-height: 0;
    transition: opacity 0.2s ease;
}

a.sport-banners__item:hover {
    opacity: 0.92;
}

.sport-banners__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

@media (max-width: 768px) {
    .sport-banners {
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 16px 0;
    }
}


/* --- olegtix-team-header --- */
.team-header {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 24px 32px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow:
    0 1px 2px rgba(16, 24, 40, 0.04),
    0 2px 8px rgba(16, 24, 40, 0.06);
  margin-bottom: 20px;
}

.team-header__logo-wrap {
  flex: 0 0 112px;
  width: 112px;
  height: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.team-header__logo,
.team-header__logo-placeholder {
  display: block;
  width: 112px;
  height: 112px;
  object-fit: contain;
}

.team-header__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.team-header__country {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.4;
}

.team-header__flag {
  width: 20px;
  height: 20px;
  border-radius: 3px;
  object-fit: cover;
  flex: 0 0 20px;
}

.team-header__country-name {
  font-weight: 500;
}

.team-header__name {
  margin: 0;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  color: #0f172a;
}

.team-header__name-original {
  font-size: 16px;
  line-height: 1.3;
  font-weight: 500;
  color: #6b7280;
  margin-top: 2px;
}

.team-header__tournaments {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  font-size: 14px;
  line-height: 1.4;
  margin-top: 4px;
}

.team-header__tournaments-label {
  color: #6b7280;
  font-weight: 500;
}

.team-header__tournaments-list {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.team-header__tournament-link {
  color: var(--text);
  text-decoration: none;
  transition: color 0.15s ease;
}

a.team-header__tournament-link:hover {
  color: var(--primary);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .team-header {
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    border-radius: 12px;
  }

  .team-header__logo-wrap,
  .team-header__logo,
  .team-header__logo-placeholder {
    width: 80px;
    height: 80px;
    flex-basis: 80px;
  }

  .team-header__name {
    font-size: 22px;
  }

  .team-header__name-original {
    font-size: 14px;
  }
}


/* --- olegtix-team-tabs --- */
.team-tabs {
  margin: 20px 0;
}

.team-tabs__nav {
  margin: 0 0 16px;
}

.team-tabs__panel[hidden] {
  display: none;
}

.team-tabs__panel {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.team-tabs__placeholder {
  text-align: center;
  color: #9ca3af;
  font-size: 15px;
  padding: 48px 16px;
}

.team-tab-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.team-tab-section__title {
  margin: 0;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
  color: #232323;
}

.team-tab-section__empty {
  padding: 24px;
  border-radius: 16px;
  background: #fff;
  color: #7d7d7d;
  font-size: 14px;
  text-align: center;
}

.team-tabs__banner {
  border-radius: 18px;
  overflow: hidden;
}

.team-tabs__banner-image {
  display: block;
  width: 100%;
  height: auto;
}

.matches-table--team {
  background: transparent;
}

.matches-table--team .matches-table__odds-label:last-child {
  border-radius: 10px;
}

.matches-table--team .matches-table__body {
  gap: 8px;
}

.matches-table--team .matches-table__row {
  overflow: hidden;
}

.matches-table--team .matches-table__row-header,
.matches-table--team a.matches-table__row-header.matches-table__match-link {
  border-bottom-color: #f1f3f5;
}

.matches-table--team .matches-table__match-info {
  padding: 12px 14px;
}

.matches-table--team .matches-table__time {
  width: 56px;
}

.matches-table--team .matches-table__separator {
  min-width: 28px;
}

.matches-table--team .matches-table__odd {
  width: 128px;
  border-left: none;
}

.matches-table--team .matches-table__odd-inner {
  width: 100%;
  justify-content: center;
  padding: 8px 12px;
}

.matches-table--team
  .matches-table__row[data-status="finished"]
  .matches-table__match-info {
  justify-content: center;
}

.matches-table--team
  .matches-table__row[data-status="finished"]
  .matches-table__time {
  display: none;
}

@media (max-width: 768px) {
  .team-tabs__panels {
    padding: 16px;
    border-radius: 10px;
  }

  .team-tabs__placeholder {
    padding: 32px 12px;
  }

  .team-tab-section__title {
    font-size: 18px;
  }

  .matches-table--team .matches-table__header {
    display: none;
  }

  .matches-table--team .matches-table__row-header,
  .matches-table--team a.matches-table__row-header.matches-table__match-link {
    padding: 8px 16px;
    font-size: 12px;
  }
}


/* --- olegtix-team-squad --- */
.team-squad {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.team-squad__empty {
  padding: 24px;
  border-radius: 14px;
  background: #fff;
  color: #7d7d7d;
  font-size: 14px;
  text-align: center;
}

.team-squad__table {
  display: flex;
  flex-direction: column;
  padding: 4px;
  border-radius: 14px;
  background: #fff;
  font-family: "Onest", sans-serif;
}

.team-squad__head,
.team-squad__row {
  display: grid;
  grid-template-columns:
    40px minmax(0, 2fr) minmax(0, 1.4fr) minmax(0, 1.4fr)
    90px;
  align-items: center;
  gap: 8px;
  padding: 0 20px;
  min-height: 50px;
  font-size: 14px;
  line-height: 1.3;
}

.team-squad__head {
  background: #f4f4f4;
  border-radius: 10px;
  color: #7d7d7d;
  font-weight: 400;
}

.team-squad__row {
  color: #232323;
  text-decoration: none;
  border-top: 1px solid #f4f4f4;
  transition: background-color 0.15s ease;
}

a.team-squad__row {
  cursor: pointer;
}

a.team-squad__row:hover {
  background-color: #fafafa;
  color: #232323;
}

a.team-squad__row:focus-visible {
  outline: none;
  background-color: #f5f3ff;
  box-shadow: inset 0 0 0 2px #9345d8;
}

.team-squad__cell {
  min-width: 0;
  text-align: center;
}

.team-squad__cell--player {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.team-squad__cell--nationality {
  display: flex;
  align-items: center;
  justify-content: center;
}

.team-squad__player {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.team-squad__player-avatar {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  background: #eef0f3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.team-squad__player-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.team-squad__player-placeholder {
  display: inline-flex;
  width: 100%;
  height: 100%;
}

.team-squad__player-placeholder svg {
  width: 100%;
  height: 100%;
}

.team-squad__player-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.team-squad__nationality {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.team-squad__flag {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  object-fit: cover;
  border-radius: 2px;
}

.team-squad__country-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.team-squad__description {
  padding: 24px 28px;
  border-radius: 14px;
  background: #fff;
  color: #3d3d3d;
  font-size: 15px;
  line-height: 1.7;
}

.team-squad__description > :first-child {
  margin-top: 0;
}

.team-squad__description > :last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .team-squad__table {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0;
    background: transparent;
    border-radius: 0;
  }

  .team-squad__head {
    display: none;
  }

  .team-squad__row {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-areas:
      "avatar name"
      "avatar number"
      "avatar age"
      "avatar nationality"
      "avatar stat";
    column-gap: 16px;
    row-gap: 4px;
    padding: 14px;
    min-height: 0;
    background: #fff;
    border-radius: 14px;
    border-top: none;
  }

  a.team-squad__row:hover {
    background-color: #fff;
  }

  .team-squad__cell--player,
  .team-squad__player {
    display: contents;
  }

  .team-squad__player-avatar {
    grid-area: avatar;
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    align-self: start;
  }

  .team-squad__player-name {
    grid-area: name;
    font-size: 14px;
    color: #232323;
    text-align: left;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    margin-bottom: 4px;
  }

  .team-squad__cell {
    text-align: left;
    justify-content: flex-start;
    color: #232323;
    font-size: 14px;
    line-height: 1.3;
  }

  .team-squad__cell--number {
    grid-area: number;
  }

  .team-squad__cell--age {
    grid-area: age;
  }

  .team-squad__cell--nationality {
    grid-area: nationality;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
  }

  .team-squad__cell--stat {
    grid-area: stat;
    font-weight: 400;
  }

  .team-squad__cell--number::before {
    content: "№";
    color: #7d7d7d;
    margin-right: 4px;
  }

  .team-squad__cell--age::before {
    content: "Возраст";
    color: #7d7d7d;
    margin-right: 4px;
  }

  .team-squad__cell--nationality::before {
    content: "Национальность";
    color: #7d7d7d;
  }

  .team-squad__cell--stat::before {
    content: "Статистика";
    color: #7d7d7d;
    margin-right: 4px;
  }

  .team-squad__nationality {
    gap: 4px;
  }

  .team-squad__description {
    padding: 18px 16px;
    font-size: 14px;
  }
}


/* --- olegtix-player-header --- */
.player-header {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #ebebeb;
    border-radius: 14px;
    margin-bottom: 20px;
}

.player-header__photo-wrap {
    flex: 0 0 100px;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.player-header__photo,
.player-header__photo-placeholder {
    display: block;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
}

.player-header__body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.player-header__top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 24px;
    font-size: 14px;
    line-height: 1.3;
    color: #232323;
}

.player-header__country,
.player-header__club {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #232323;
    text-decoration: none;
    transition: color 0.15s ease;
}

.player-header__club:hover {
    color: #9345d8;
}

.player-header__flag,
.player-header__club-logo {
    width: 16px;
    height: 16px;
    border-radius: 2px;
    object-fit: cover;
    flex-shrink: 0;
}

.player-header__name {
    margin: 0;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    color: #232323;
}

.player-header__name-original {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;
    color: #6b7280;
    margin-top: 2px;
}

.player-header__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    font-size: 14px;
    line-height: 1.3;
}

.player-header__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.player-header__meta-label {
    color: #7d7d7d;
}

.player-header__meta-value {
    color: #232323;
}

@media (max-width: 768px) {
    .player-header {
        padding: 16px;
        gap: 16px;
    }

    .player-header__photo-wrap,
    .player-header__photo,
    .player-header__photo-placeholder {
        flex-basis: 80px;
        width: 80px;
        height: 80px;
    }

    .player-header__top {
        gap: 4px 16px;
    }

    .player-header__name {
        font-size: 22px;
        line-height: 1.25;
    }

    .player-header__name-original {
        font-size: 14px;
    }

    .player-header__meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .player-header__meta-item {
        white-space: normal;
    }
}


/* --- olegtix-match-history-card --- */
.match-history-card {
  display: block;
  position: relative;
  padding: 12px 20px;
  background: #fff;
  border: 1px solid #ebebeb;
  border-left: 3px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

a.match-history-card:hover {
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.match-history-card--win {
  border-left-color: #22c55e;
}

.match-history-card--draw {
  border-left-color: #9ca3af;
}

.match-history-card--loss {
  border-left-color: #f85c5f;
}

.match-history-card__header {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 13px;
  color: #7d7d7d;
  background: #f5f5f5;
  margin: -8px -16px 12px;
  padding: 10px 20px;
  border-radius: 8px;
}
.match-history-card__flag {
  width: 16px;
  height: 16px;
  border-radius: 2px;
  object-fit: cover;
  flex-shrink: 0;
}

.match-history-card__dot {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #cbd5e1;
  flex-shrink: 0;
}

.match-history-card__body {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
}

.match-history-card__body::before {
  content: "";
}

.match-history-card__teams {
  grid-column: 2;
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 8px;
}

.match-history-card__home-name,
.match-history-card__away-name {
  font-size: 14px;
  font-weight: 400;
  color: #232323;
  line-height: 1.3;
}

.match-history-card__home-name {
  text-align: right;
}

.match-history-card__away-name {
  text-align: left;
}

.match-history-card__logo {
  width: 30px;
  height: 30px;
  object-fit: contain;
  flex-shrink: 0;
}

.match-history-card__score {
  font-size: 16px;
  font-weight: 400;
  color: #232323;
  padding: 0 4px;
  white-space: nowrap;
}

.match-history-card__stats {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}

.match-history-card__stat {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #7d7d7d;
  font-size: 14px;
  line-height: 1;
}

.match-history-card__stat-icon {
  flex-shrink: 0;
  color: #7d7d7d;
}

.match-history-card__stat-icon--card {
  width: 15px;
  height: 20px;
}

.match-history-card__stat-value {
  font-size: 14px;
  font-weight: 400;
  color: #232323;
}

@media (max-width: 768px) {
  .match-history-card {
    padding: 10px 14px;
  }

  .match-history-card__header {
    font-size: 12px;
    gap: 4px;
    background: transparent;
    margin: 0 -14px 0;
    padding: 0 14px 10px;
    border-bottom: 1px solid #ebebeb;
  }

  .match-history-card__body {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .match-history-card__body::before {
    display: none;
  }

  .match-history-card__teams,
  .match-history-card__stats {
    grid-column: 1;
    justify-self: stretch;
  }

  .match-history-card__teams {
    justify-content: center;
    padding-top: 10px;
  }

  .match-history-card__stats {
    justify-content: center;
    gap: 18px;
    margin: 10px -14px 0;
    padding: 10px 14px 0;
    border-top: 1px solid #ebebeb;
  }

  .match-history-card__home-name,
  .match-history-card__away-name {
    font-size: 12px;
  }
}


/* --- olegtix-match-info-strip --- */
.match-info-strip {
  background: #fff;
  border-radius: 16px;
  padding: 16px 20px;
  margin-bottom: 16px;
}

.match-info-strip__title {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  color: #232323;
}

.match-info-strip__items {
  display: flex;
  flex-wrap: wrap;
  row-gap: 12px;
  column-gap: 24px;
}

.match-info-strip__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.3;
  color: #232323;
}

.match-info-strip__icon {
  display: inline-flex;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
}

.match-info-strip__icon svg {
  display: block;
  width: 18px;
  height: auto;
}

.match-info-strip__flag {
  width: 20px;
  height: 20px;
  object-fit: contain;
  border-radius: 2px;
  flex-shrink: 0;
}

.match-info-strip__text {
  color: #232323;
}

a.match-info-strip__text--link {
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease;
}

a.match-info-strip__text--link:hover {
  color: var(--primary);
}

@media (max-width: 768px) {
  .match-info-strip {
    padding: 14px 16px;
    border-radius: 12px;
  }

  .match-info-strip__title {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .match-info-strip__items {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 10px;
  }

  .match-info-strip__item {
    font-size: 13px;
  }
}


/* --- olegtix-match-scorers --- */
.pe-card__finished-badge {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  padding: 6px 12px;
  margin: 8px 0;
  background: #fee7e7;
  color: #f85c5f;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.25;
}

.pe-card__scorers {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 24px;
  align-items: start;
  width: 100%;
  margin-top: 16px;
}

.pe-card__scorers-col {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pe-card__scorers-col--home {
  text-align: right;
  align-items: flex-end;
}

.pe-card__scorers-col--away {
  text-align: left;
  align-items: flex-start;
}

.pe-card__scorers-icon {
  width: 16px;
  height: 16px;
  align-self: flex-start;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.7;
}

.pe-card__scorers-icon svg {
  width: 100%;
  height: 100%;
}

.pe-card__scorer,
.pe-card__scorer-link {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  color: #232323;
  font-size: 14px;
  line-height: 1.25;
  text-decoration: none;
}
@media (max-width: 480px) {
  .pe-card__scorer,
  .pe-card__scorer-link {
    font-size: 12px;
  }
}
.pe-card__scorer-link:hover .pe-card__scorer-name {
  color: var(--primary, #9345d8);
}

.pe-card__scorer-name {
  color: inherit;
}

.pe-card__scorer-minute {
  color: inherit;
}

.pe-card__scorer-marker {
  color: #7d7d7d;
}

.pe-card__odd-main--lost,
.pe-card__best-odd--lost {
  opacity: 0.5;
}


/* --- olegtix-match-tabs --- */
.match-tabs {
  margin: 20px 0;
}

.match-tabs__nav {
  margin: 0 0 16px;
}

.match-tabs__panel[hidden] {
  display: none;
}

.match-tabs__panel {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.match-tabs__placeholder {
  text-align: center;
  color: #9ca3af;
  font-size: 15px;
  padding: 48px 16px;
}

.match-predictions {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.match-predictions__main {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.match-predictions__main-title,
.match-predictions__other-title {
  margin: 0;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
  color: #232323;
}

.match-predictions__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.match-predictions__show-more {
  align-self: center;
  padding: 12px 24px;
  border-radius: 10px;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #232323;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}

.match-predictions__show-more:hover {
  border-color: #9345d8;
  color: #9345d8;
}

.match-predictions__show-more:disabled,
.match-predictions__show-more--loading {
  opacity: 0.6;
  cursor: progress;
}

.match-predictions__empty {
  padding: 48px 16px;
  text-align: center;
  color: #9ca3af;
  font-size: 15px;
}

@media (max-width: 768px) {
  .match-tabs__panels {
    padding: 16px;
    border-radius: 10px;
  }

  .match-tabs__placeholder {
    padding: 32px 12px;
  }

  .match-predictions__main-title,
  .match-predictions__other-title {
    font-size: 18px;
  }

  .match-predictions__empty {
    padding: 32px 12px;
  }
}


/* --- olegtix-match-lineups --- */
.match-lineups {
  margin-bottom: 16px;
}
.match-lineups__column {
  min-width: 0;
  background: #fff;
  padding: 5px;
  border-radius: 14px;
}
.match-lineups__title {
  margin: 0 0 16px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  color: #232323;
}

.match-lineups__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 24px;
}

.match-lineups__column {
  min-width: 0;
}

.match-lineups__column-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: #f5f5f5;
  border-radius: 10px;
  margin-bottom: 12px;
}

a.match-lineups__column-header--link {
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease;
}

a.match-lineups__column-header--link:hover .match-lineups__team-name {
  color: var(--primary);
}

.match-lineups__team-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex-shrink: 0;
}

.match-lineups__team-name {
  font-size: 14px;
  font-weight: 700;
  color: #232323;
}

.match-lineups__section {
  margin-top: 16px;
}

.match-lineups__section:first-of-type {
  margin-top: 0;
}

.match-lineups__section-title {
  font-size: 13px;
  font-weight: 700;
  color: #232323;
  padding: 10px 16px;
  border-radius: 10px;
  margin-bottom: 4px;
}

.match-lineups__row {
  display: grid;
  grid-template-columns: 24px 32px 1fr auto auto 20px;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  border-bottom: 1px solid #eee;
  border-radius: 0;
  color: #232323;
  text-decoration: none;
  transition: background 0.15s ease;
}
.match-lineups__row:last-child {
  border-bottom: none;
}
.match-lineups__row:hover {
  background: #f5f5f5;
}

.match-lineups__row--no-link {
  cursor: default;
}

.match-lineups__row--no-link:hover {
  background: transparent;
}

.match-lineups__shirt {
  font-size: 13px;
  font-weight: 600;
  color: #7d7d7d;
  text-align: center;
}

.match-lineups__avatar,
.match-lineups__avatar-placeholder {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.match-lineups__avatar {
  object-fit: cover;
}

.match-lineups__name {
  font-size: 14px;
  color: #232323;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-lineups__flag {
  width: 20px;
  height: 14px;
  object-fit: cover;
  border-radius: 2px;
  flex-shrink: 0;
}

.match-lineups__flag-spacer {
  display: inline-block;
  width: 20px;
  height: 14px;
}

.match-lineups__events {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.match-lineups__events--empty {
  display: inline-block;
  width: 0;
}

.match-lineups__event {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  line-height: 1;
  color: #232323;
}

.match-lineups__event img {
  display: block;
  width: 14px;
  height: 14px;
}

.match-lineups__event-minute {
  font-weight: 600;
  color: #6b7280;
}

.match-lineups__rating {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 18px;
  padding: 0 6px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
}

.match-lineups__rating--low {
  background: #ef4444;
}
.match-lineups__rating--mid {
  background: #f5b400;
}
.match-lineups__rating--high {
  background: #22c55e;
}
.match-lineups__rating--top {
  background: #a855f7;
}

.match-lineups__rating-placeholder {
  display: inline-block;
  width: 30px;
  height: 18px;
  visibility: hidden;
}

.match-lineups__excluded {
  margin-top: 16px;
  padding: 5px;
  background: #fff;
  border-radius: 14px;
}

.match-lineups__excluded-header {
  font-size: 14px;
  font-weight: 700;
  color: #232323;
  padding: 12px 16px;
}

.match-lineups__excluded-list {
  margin-top: 4px;
}

.match-lineups__row--excluded {
  cursor: default;
}

.match-lineups__row--excluded:hover {
  background: transparent;
}

.match-lineups__legend {
  margin-top: 16px;
  padding: 16px 20px;
  background: #fff;
  border-radius: 14px;
}

.match-lineups__legend-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px 24px;
}

.match-lineups__legend-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.match-lineups__legend-item__icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.match-lineups__legend-item__icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.match-lineups__legend-item__label {
  font-size: 13px;
  color: #232323;
}

@media (max-width: 768px) {
  .match-lineups__title {
    font-size: 18px;
  }

  .match-lineups__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .match-lineups__row {
    grid-template-columns: 20px 28px 1fr auto auto 20px;
    gap: 8px;
    padding: 8px 10px;
  }

  .match-lineups__event img {
    width: 12px;
    height: 12px;
  }

  .match-lineups__event-minute {
    font-size: 11px;
  }

  .match-lineups__rating,
  .match-lineups__rating-placeholder {
    min-width: 26px;
    width: 26px;
    height: 16px;
    font-size: 11px;
  }

  .match-lineups__legend-grid {
    grid-template-columns: 1fr;
  }

  .match-lineups__excluded-header {
    padding: 10px 12px;
  }

  .match-lineups__avatar,
  .match-lineups__avatar-placeholder {
    width: 28px;
    height: 28px;
  }

  .match-lineups__name {
    font-size: 13px;
  }
  .match-lineups__section-title {
    text-align: center;
  }
}


/* --- olegtix-match-formations --- */
.match-formations {
  margin-bottom: 16px;
}

.match-formations__title {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
}

.match-formations__field {
  position: relative;
  width: 100%;
  container-type: inline-size;
  overflow: hidden;
  border-radius: 10px;
}

.match-formations__field-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}

.match-formations__players {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.match-formations__player {
  position: absolute;
  transform: translate(-50%, -50%);
  text-align: center;
  text-decoration: none;
  color: #fff;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  gap: 4px;
}

.match-formations__player:hover .match-formations__surname {
  text-decoration: underline;
}

.match-formations__jersey {
  position: relative;
  display: block;
  width: 5cqi;
  min-width: 18px;
  aspect-ratio: 40 / 38;
  line-height: 0;
}

.match-formations__jersey-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.match-formations__number {
  position: absolute;
  top: 62%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-weight: 700;
  font-size: 1.6cqi;
  pointer-events: none;
  white-space: nowrap;
}

.match-formations__surname {
  display: block;
  margin-top: 0.4cqi;
  font-size: 1.5cqi;
  font-weight: 500;
  color: #fff;
  max-width: 10cqi;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-formations__field--ice-hockey {
  background: #e8efff;
}

.match-formations__field--ice-hockey .match-formations__surname {
  color: #1a1a1a;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.6);
}

.match-formations__field--ice-hockey .match-formations__jersey {
  aspect-ratio: 1 / 1;
}

.match-formations__field--ice-hockey .match-formations__jersey-svg path {
  fill: #1a1a1a;
}

.match-formations__field--ice-hockey .match-formations__number {
  color: #1a1a1a;
  top: 47%;
}


/* --- olegtix-match-h2h-list --- */
.match-h2h-list {
  margin-bottom: 16px;
}

.match-h2h-list__title {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: #232323;
}

.match-h2h-list__items {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media (max-width: 768px) {
  .match-h2h-list {
    padding: 16px 14px;
    border-radius: 12px;
  }

  .match-h2h-list__title {
    font-size: 18px;
    margin: 0 0 12px;
  }

  .match-h2h-list__items {
    gap: 8px;
  }
}


/* --- olegtix-match-team-recent --- */
.match-team-recent {
  margin-bottom: 40px;
}

.match-team-recent__title {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: #232323;
}

.match-team-recent__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 24px;
}

.match-team-recent__column {
  min-width: 0;
}

.match-team-recent__column-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 12px;
}

a.match-team-recent__column-header--link {
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease;
}

a.match-team-recent__column-header--link:hover .match-team-recent__team-name {
  color: var(--primary);
}

.match-team-recent__team-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex-shrink: 0;
}

.match-team-recent__team-name {
  font-size: 14px;
  font-weight: 700;
}

.match-team-recent__items {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media (max-width: 768px) {
  .match-team-recent {
    padding: 16px 14px;
    border-radius: 12px;
  }

  .match-team-recent__title {
    font-size: 18px;
    margin: 0 0 12px;
  }

  .match-team-recent__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .match-team-recent__items {
    gap: 8px;
  }
}


/* --- olegtix-match-h2h-stats --- */
.match-h2h-stats {
  background: #fff;
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 16px;
  position: relative;
  transition: opacity 120ms ease;
}

.match-h2h-stats--loading {
  opacity: 0.6;
  pointer-events: none;
}

.match-h2h-stats__filter-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.match-h2h-stats__filter-input:checked + .match-h2h-stats__filter-box {
  background: #9345d8;
  border-color: #9345d8;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2 6.5l2.5 2.5L10 3.5' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}

.match-h2h-stats__filter-input:focus-visible + .match-h2h-stats__filter-box {
  outline: 2px solid #9345d8;
  outline-offset: 2px;
}

.match-h2h-stats__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 16px;
}

.match-h2h-stats__title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: #232323;
}

.match-h2h-stats__filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #232323;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.match-h2h-stats__filter-box {
  width: 18px;
  height: 18px;
  border: 1.5px solid #d0d0d0;
  border-radius: 4px;
  background: #fff;
  flex-shrink: 0;
}

.match-h2h-stats__bar {
  display: flex;
  width: 100%;
  gap: 8px;
  margin-bottom: 16px;
}

.match-h2h-stats__bar-seg {
  display: block;
  height: 8px;
  border-radius: 100px;
  min-width: 4px;
}

.match-h2h-stats__bar-seg--a {
  background: #9345d8;
}

.match-h2h-stats__bar-seg--draw {
  background: #7d7d7d;
}

.match-h2h-stats__bar-seg--b {
  background: #34b945;
}

.match-h2h-stats__legend {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.match-h2h-stats__legend-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.match-h2h-stats__legend-item--a {
  grid-column: 1 / 2;
  align-items: flex-start;
  text-align: left;
  padding-left: 66px;
  position: relative;
}

.match-h2h-stats__legend-item--draw {
  grid-column: 2 / 3;
  align-items: center;
  text-align: center;
}

.match-h2h-stats__legend-item--b {
  grid-column: 3 / 4;
  align-items: flex-end;
  text-align: right;
  padding-right: 66px;
  position: relative;
}

.match-h2h-stats__legend-logo {
  width: 50px;
  height: 50px;
  object-fit: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.match-h2h-stats__legend-item--a .match-h2h-stats__legend-logo {
  left: 0;
}

.match-h2h-stats__legend-item--b .match-h2h-stats__legend-logo {
  right: 0;
}

.match-h2h-stats__legend-pct {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}

.match-h2h-stats__legend-item--a .match-h2h-stats__legend-pct {
  color: #9345d8;
}

.match-h2h-stats__legend-item--draw .match-h2h-stats__legend-pct {
  color: #7d7d7d;
}

.match-h2h-stats__legend-item--b .match-h2h-stats__legend-pct {
  color: #34b945;
}

.match-h2h-stats__legend-count {
  font-size: 14px;
  line-height: 1.3;
  color: #232323;
}

.match-h2h-stats__legend-item--draw .match-h2h-stats__legend-count {
  color: #7d7d7d;
}

.match-h2h-stats__summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}

.match-h2h-stats__summary-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 20px;
  min-height: 50px;
  background: #f4f4f4;
  border-radius: 10px;
}

.match-h2h-stats__summary-label {
  font-size: 14px;
  color: #232323;
}

.match-h2h-stats__summary-value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  padding: 8px 16px;
  border: 1px solid #9345d8;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  color: #9345d8;
}

.match-h2h-stats__compare {
  display: grid;
  grid-template-columns: 60px 1fr 60px;
  align-items: center;
  gap: 12px;
  padding: 8px 20px;
  min-height: 50px;
  background: #f4f4f4;
  border-radius: 10px;
  margin-top: 16px;
}

.match-h2h-stats__compare:first-of-type {
  margin-top: 0;
}

.match-h2h-stats__compare-a,
.match-h2h-stats__compare-b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  padding: 8px 16px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

.match-h2h-stats__compare-a {
  background: #9345d8;
  justify-self: start;
}

.match-h2h-stats__compare-b {
  background: #34b945;
  justify-self: end;
}

.match-h2h-stats__compare-label {
  text-align: center;
  font-size: 14px;
  color: #232323;
}

@media (max-width: 768px) {
  .match-h2h-stats {
    padding: 16px 14px;
    border-radius: 12px;
  }

  .match-h2h-stats__title {
    font-size: 16px;
  }

  .match-h2h-stats__filter {
    font-size: 12px;
  }

  .match-h2h-stats__legend-item--a {
    padding-left: 42px;
  }

  .match-h2h-stats__legend-item--b {
    padding-right: 42px;
  }

  .match-h2h-stats__legend-logo {
    width: 36px;
    height: 36px;
  }

  .match-h2h-stats__legend-pct {
    font-size: 18px;
  }

  .match-h2h-stats__summary {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}


/* --- olegtix-match-statistics --- */
.match-statistics {
  margin: 24px 0;
}
.match-statistics__title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text, #232323);
}

.match-statistics__filter {
  margin-bottom: 16px;
}
.match-statistics .sort-btn:not(.sort-btn--active) {
  background: transparent;
  color: #7d7d7d;
}
.match-statistics .sort-btn--active {
  background-color: var(--white, #fff);
  color: var(--primary, #9345d8);
  border-color: transparent;
}
.match-statistics .sort-btn[aria-disabled="true"] {
  opacity: 0.4;
  cursor: not-allowed;
}

.match-statistics__periods {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.match-statistics__periods .match-statistics__period[hidden] {
  display: none;
}
.match-statistics__period {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.match-statistics__group {
  background: #fff;
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.match-statistics__group-title {
  display: block;
  font-size: 20px;
  font-weight: 700;
  margin: 0;
  color: var(--text, #232323);
  line-height: 1.3;
}

.match-statistics__row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.match-statistics__row-top {
  display: grid;
  grid-template-columns: 1fr 4fr 1fr;
  align-items: center;
  gap: 8px;
}
.match-statistics__row-value {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}
.match-statistics__row-value.is-home {
  text-align: left;
}
.match-statistics__row-value.is-away {
  text-align: right;
}
.match-statistics__row-value.is-winner {
  color: var(--primary, #9345d8);
}
.match-statistics__row-value:not(.is-winner) {
  color: #7d7d7d;
}
.match-statistics__row-label {
  text-align: center;
  font-size: 14px;
  font-weight: 400;
  color: var(--text, #232323);
  line-height: 1.3;
  word-wrap: break-word;
}

.match-statistics__row-bars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.match-statistics__bar-track {
  height: 8px;
  background: #f4f4f4;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
}
.match-statistics__bar-track--home {
  justify-content: flex-end;
}
.match-statistics__bar-track--away {
  justify-content: flex-start;
}
.match-statistics__bar {
  height: 100%;
  border-radius: 10px;
  background: #7d7d7d;
  transition: width 0.2s ease;
}
.match-statistics__bar.is-winner {
  background: var(--primary, #9345d8);
}

.match-statistics__possession-bar {
  display: flex;
  height: 40px;
  background: #7d7d7d;
  border-radius: 100px;
  overflow: hidden;
}
.match-statistics__possession-bar-home,
.match-statistics__possession-bar-away {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  box-sizing: border-box;
  background: #7d7d7d;
}
.match-statistics__possession-bar-home.is-winner,
.match-statistics__possession-bar-away.is-winner {
  background: var(--primary, #9345d8);
}

.match-statistics--empty .match-statistics__empty {
  padding: 24px;
  text-align: center;
  color: #7d7d7d;
  background: #fff;
  border-radius: 14px;
}

@media (max-width: 768px) {
  .match-statistics__title {
    font-size: 18px;
  }
  .match-statistics__group {
    padding: 14px;
    gap: 12px;
  }
  .match-statistics__group-title {
    font-size: 16px;
  }
  .match-statistics__row {
    gap: 4px;
  }
  .match-statistics__row-value {
    font-size: 14px;
  }
  .match-statistics__row-label {
    font-size: 12px;
  }
}


/* --- olegtix-match-events --- */
.match-events {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #E5E7EB;
}
.match-events__title {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 16px;
}
.match-events__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
}
.match-events__list::before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 50%;
  width: 1px;
  background: #E5E7EB;
  transform: translateX(-0.5px);
  z-index: 0;
}

.match-events__item {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 12px;
  align-items: center;
  min-height: 36px;
  position: relative;
  z-index: 1;
}

.match-events__side {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.3;
}
.match-events__side--home {
  flex-direction: row-reverse;
  justify-content: flex-start;
  text-align: right;
}
.match-events__side--away {
  justify-content: flex-start;
}
.match-events__side--home .match-events__lines {
  align-items: flex-end;
}

.match-events__icon {
  display: inline-flex;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}
.match-events__icon img {
  width: 100%;
  height: 100%;
  display: block;
}

.match-events__minute {
  display: flex;
  justify-content: center;
}
.match-events__minute-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  height: 28px;
  padding: 0 14px;
  border: 1px solid #E5E7EB;
  border-radius: 999px;
  background: #fff;
  font-size: 13px;
  font-weight: 500;
  color: #111827;
}
.match-events__minute-pill--no-time {
  color: #9CA3AF;
}

.match-events__player {
  color: #111827;
  font-weight: 500;
}
.match-events__player--secondary {
  color: #6B7280;
  font-weight: 400;
}
.match-events__sublabel {
  color: #6B7280;
  font-size: 12px;
}
.match-events__lines {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.match-events__score {
  color: #111827;
  font-weight: 600;
}
.match-events__label--goal {
  color: var(--primary, #9345d8);
  font-weight: 600;
}

.match-events__item--period,
.match-events__item--injury-time {
  grid-template-columns: 1fr;
  justify-items: center;
  margin: 4px 0;
}
.match-events__period-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 14px;
  border: 1px solid #E5E7EB;
  border-radius: 999px;
  background: #fff;
  font-size: 13px;
  color: #111827;
}
.match-events__period-pill strong {
  font-weight: 700;
}
.match-events__period-pill--injury {
  color: #6B7280;
  background: #F9FAFB;
}

.match-events__item--card-yellow .match-events__sublabel,
.match-events__item--card-red .match-events__sublabel,
.match-events__item--card-yellowred .match-events__sublabel {
  color: #6B7280;
}
.match-events__item--var .match-events__sublabel {
  color: var(--primary, #9345d8);
  font-weight: 600;
}

@media (max-width: 480px) {
  .match-events__item { column-gap: 8px; min-height: 32px; }
  .match-events__minute-pill { min-width: 44px; padding: 0 10px; font-size: 12px; }
  .match-events__side { font-size: 13px; gap: 6px; }
  .match-events__icon { width: 14px; height: 14px; flex-basis: 14px; }
}


/* --- olegtix-player-matches-history --- */
.player-matches-history {
    margin: 24px 0;
}

.player-matches-history__title {
    margin: 0 0 16px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: #0f172a;
}

.player-matches-history__empty {
    padding: 24px 16px;
    text-align: center;
    color: #6b7280;
    font-size: 14px;
    background: #f8fafc;
    border-radius: 12px;
}

.player-matches-history__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.player-matches-history__more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 16px;
}

@media (max-width: 768px) {
    .player-matches-history__title {
        font-size: 18px;
    }
}


/* --- olegtix-block-app_data --- */
.block-app-data {
  margin: 0 15px;
  padding: 40px 0;
}



.block-app-data__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  align-items: stretch;
}

.block-app-data__item {
  background-color: #f8f9fa;
  border-radius: 12px;
  padding: 14px 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s 
ease;
}

.block-app-data__item--featured {
  background-color: var(--white, #ffffff);
  border: 2px solid var(--gold, #ffd700);
  position: relative;
}

.block-app-data__item--featured::before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(45deg, #ffd700, #ffed4e);
  border-radius: 12px;
  z-index: -1;
}

.block-app-data__item-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  text-align: center;
}

.block-app-data__item-icon {
  flex-shrink: 0;
  color: var(--gold, #ffd700);
  display: flex;
  align-items: center;
  justify-content: center;
}

.block-app-data__item--featured .block-app-data__item-icon {
  color: var(--gold, #ffd700);
}

.block-app-data__item-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
}

.block-app-data__item-value {
  font-size: 18px;
  font-weight: 700;
  color: var(--text, #333333);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.block-app-data__item--featured .block-app-data__item-value {
  font-size: 20px;
  color: var(--gold, #ffd700);
}

.block-app-data__item-label {
  font-size: 12px;
  font-weight: 400;
  color: var(--grey, #666666);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Адаптивность */
@media (max-width: 1024px) {
  .block-app-data__grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
  }

  .block-app-data__item {
    padding: 16px 12px;
    min-height: 70px;
  }

  .block-app-data__item-value {
    font-size: 16px;
  }

  .block-app-data__item--featured .block-app-data__item-value {
    font-size: 18px;
  }

  .block-app-data__item-label {
    font-size: 11px;
  }
}

@media (max-width: 768px) {
  .block-app-data {
    padding: 30px 0;
  }



  .block-app-data__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }

  .block-app-data__item {
    padding: 14px 10px;
    min-height: 65px;
  }

  .block-app-data__item-content {
    gap: 8px;
  }

  .block-app-data__item-value {
    font-size: 15px;
  }

  .block-app-data__item--featured .block-app-data__item-value {
    font-size: 17px;
  }

  .block-app-data__item-label {
    font-size: 10px;
  }
}

@media (max-width: 480px) {
  .block-app-data {
    padding: 20px 0;
  }

  .block-app-data__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .block-app-data__item {
    padding: 12px 8px;
    min-height: 60px;
  }

  .block-app-data__item-value {
    font-size: 14px;
  }

  .block-app-data__item--featured .block-app-data__item-value {
    font-size: 16px;
  }

  .block-app-data__item-label {
    font-size: 9px;
  }

  .block-app-data__item-icon svg {
    width: 20px;
    height: 20px;
  }
}


/* --- olegtix-block-author_grid --- */
/* Блок сетки авторов */
.block-author-grid {
  margin-top: 40px;
  margin-bottom: 40px;
}

.block-author-grid__header {
  margin-bottom: 32px;
}

.block-author-grid__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 1024px) {
  .block-author-grid__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .block-author-grid {
    margin-top: 32px;
    margin-bottom: 32px;
  }


  .block-author-grid__header {
    margin-bottom: 24px;
  }


  .block-author-grid__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 480px) {

  .block-author-grid__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}


/* --- olegtix-block-blog_categories --- */
.block-blog-categories__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}

.block-blog-categories__title {
  margin: 0;
}

.block-blog-categories__navigation {
  display: flex;
  gap: 10px;
  margin-left: auto;
}

.block-blog-categories__nav-btn {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.block-blog-categories__nav-btn:hover {
  opacity: 0.7;
}

.block-blog-categories__nav-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.block-blog-categories__swiper {
  margin-bottom: 24px;
  overflow: hidden;
}

.block-blog-categories__wrapper {
  display: flex;
  flex-wrap: nowrap;
}

.block-blog-categories__slide {
  flex-shrink: 0;
}

/* Пустое состояние */
.block-blog-categories__empty {
  text-align: center;
  padding: 60px 20px;
}

.block-blog-categories__empty-text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #666666;
  margin: 0;
}

@media (max-width: 768px) {
  .block-blog-categories__container {
    padding-right: 0;
  }

  .block-blog-categories__header {
    padding-right: 15px;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 12px;
  }

  .block-blog-categories__navigation {
    display: flex;
    margin-left: 0;
  }

  .block-blog-categories__wrapper {
    flex-wrap: nowrap;
  }

  .block-blog-categories__slide {
    width: 312px;
  }
}


/* --- olegtix-block-bonuses --- */
.block-bonuses__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}

.block-bonuses__title {
  margin: 0;
}

.block-bonuses__navigation {
  display: flex;
  gap: 10px;
  margin-left: auto;
}

.block-bonuses__nav-btn {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.block-bonuses__nav-btn:hover {
  opacity: 0.7;
}

.block-bonuses__nav-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.block-bonuses__swiper {
  margin-bottom: 24px;
  overflow: hidden;
}

.block-bonuses__wrapper {
  display: flex;
}

.block-bonuses__slide {
  width: 312px;
  flex-shrink: 0;
  height: auto;
}

/* Последний слайд "Больше бонусов" */
.block-bonuses__more {
  height: 100%;
  min-height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 24px 18px;
  border-radius: 14px;
  background: var(--white);
  border: 2px dashed rgba(147, 69, 216, 0.35);
  text-decoration: none;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.block-bonuses__more-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  color: var(--white);
}

.block-bonuses__more-text {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  text-align: center;
  color: var(--primary);
}

.block-bonuses__more:hover {
  border-color: rgba(147, 69, 216, 0.6);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}

.block-bonuses__more:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
}

/* Карточка бонуса */
.bonus-card {
  background: var(--text);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.bonus-card__image {
  width: 100%;
  height: 150px;
  overflow: hidden;
}

.bonus-card__image img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.bonus-card__content {
  padding: 14px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.bonus-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  flex: 1;
}

.bonus-card__title {
  font-weight: 700;
  margin: 0;
  flex: 1;
  color: var(--white);
}

.bonus-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.bonus-card__tag {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 12px;
  border-radius: 100px;
  background-color: rgba(255, 255, 255, 0.14);
  color: var(--white);
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

.bonus-card__tag:hover {
  background-color: rgba(255, 255, 255, 0.24);
}

.bonus-card__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  color: var(--white);
  font-weight: 600;
}

.bonus-card__rating svg {
  width: 16px;
  height: 16px;
}

.bonus-card__btn {
  width: 100%;
  padding: 11.5px 32px;
  font-weight: 700;
  font-size: 18px;
}

.bonus-card__rating-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}

.bonus-card__rating-label {
  font-size: 12px;
  color: var(--grey-light);
}

.bonus-card__rating-buttons {
  display: flex;
  gap: 10px;
}

.bonus-card__broker-logo {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 80px;
  height: 24px;
  background: rgba(255, 255, 255, 0.75);
  border-radius: 100px;
  padding: 0px 6px;
  display: flex;
  align-items: center;
  transition: background 0.3s ease;
  justify-content: center;
}

.bonus-card__broker-logo:hover {
  background: rgba(255, 255, 255, 1);
}

.bonus-card__broker-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Пустое состояние */
.block-bonuses__empty {
  text-align: center;
  padding: 60px 20px;
}

.block-bonuses__empty-text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #666666;
  margin: 0;
}

.block-bonuses__empty-text--lead {
  font-size: 18px;
  font-weight: 500;
  color: #333333;
  margin-bottom: 12px;
}

.block-bonuses__empty-text--cta {
  margin-bottom: 20px;
}

.block-bonuses__empty-btn {
  display: inline-flex;
  margin-top: 4px;
}
.bonus-card .broker-promocode__label {
  color: var(--grey-light);
}
/* Адаптивность */
@media (max-width: 768px) {
  .block-bonuses__container {
    padding-right: 0;
  }
  .block-bonuses__header,
  .block-bonuses__footer {
    padding-right: 15px;
  }

  .block-bonuses__header {
    gap: 16px;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 12px;
  }

  .block-bonuses__navigation {
    margin-left: 0;
  }

  .block-bonuses__slide {
    width: 312px;
  }

  .bonus-card__content {
    padding: 12px;
  }

  .bonus-card__title {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .bonus-card__image {
    height: 150px;
  }

  .bonus-card__content {
    padding: 10px;
  }

  .bonus-card__title {
    font-size: 16px;
  }
}
@media (max-width: 400px) {
  .block-bonuses__navigation {
    display: none;
  }
}


/* --- olegtix-block-bookmaker_bonuses --- */
/* Блок бонусов букмекеров - специфические стили */

/* Пагинация */
.block-bookmaker-bonuses__pagination {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}

.block-bookmaker-bonuses__pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.block-bookmaker-bonuses__pagination .page-numbers li {
  margin: 0;
}

.block-bookmaker-bonuses__pagination .page-numbers a,
.block-bookmaker-bonuses__pagination .page-numbers span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.275;
  text-decoration: none;
  transition: all 0.3s ease;
}

.block-bookmaker-bonuses__pagination .page-numbers a:hover {
  border-color: var(--primary);
  color: var(--primary);
}

.block-bookmaker-bonuses__pagination .page-numbers .current {
  background-color: #ffffff;
  border-color: var(--primary);
  color: var(--primary);
}

.block-bookmaker-bonuses__pagination .page-numbers .prev,
.block-bookmaker-bonuses__pagination .page-numbers .next {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.block-bookmaker-bonuses__pagination .page-numbers .prev svg,
.block-bookmaker-bonuses__pagination .page-numbers .next svg {
  width: 24px;
  height: 24px;
}

.block-bookmaker-bonuses__pagination .page-numbers .dots {
  background-color: transparent;
  border: none;
  color: var(--grey);
}

/* Кнопка "Показать еще" в архивном режиме */
.block-bookmaker-bonuses__show-more-btn {
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Пустое состояние */
.block-bookmaker-bonuses__empty {
  text-align: center;
  padding: 60px 20px;
}

.block-bookmaker-bonuses__empty-text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #666666;
  margin: 0;
}

.block-bookmaker-bonuses__empty-text--lead {
  font-size: 18px;
  font-weight: 500;
  color: #333333;
  margin-bottom: 12px;
}

.block-bookmaker-bonuses__empty-text--cta {
  margin-bottom: 20px;
}

.block-bookmaker-bonuses__empty-btn {
  display: inline-flex;
  margin-top: 4px;
}

/* Пустое состояние внутри сетки после AJAX (вкладки/фильтры) */
.block-bookmaker-bonuses__grid .block-bookmaker-bonuses__empty--in-grid {
  grid-column: 1 / -1;
  padding: 40px 20px;
  text-align: center;
}

/* Грид для карточек бонусов */
.block-bookmaker-bonuses__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

/* Адаптивность */
@media (max-width: 992px) {
  .block-bookmaker-bonuses__grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
  }

  .block-bookmaker-bonuses__pagination .page-numbers a,
  .block-bookmaker-bonuses__pagination .page-numbers span {
    width: 36px;
    height: 36px;
    font-size: 13px;
  }
}

@media (max-width: 768px) {
  .block-bookmaker-bonuses__grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
  }

  .block-bookmaker-bonuses__pagination .page-numbers a,
  .block-bookmaker-bonuses__pagination .page-numbers span {
    width: 32px;
    height: 32px;
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .block-bookmaker-bonuses__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}


/* --- olegtix-block-bookmaker_logos --- */



.bookmaker-logos__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.bookmaker-logos__item {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  transition: opacity 0.2s ease;
}

.bookmaker-logos__item:hover {
  opacity: 0.5;
}

.bookmaker-logos__item a {
  display: block;
  text-decoration: none;
}

.bookmaker-logos__logo {
  max-width: 90px;
  max-height: 34px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Адаптивность */
@media (max-width: 768px) {

  .bookmaker-logos__grid {
    gap: 8px;
  }

  .bookmaker-logos__item {
    padding: 8px;
    height: 44px;
  }
}

@media (max-width: 480px) {
  .bookmaker-logos__grid {
    gap: 6px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .bookmaker-logos__logo {
    max-width: 80px;
    max-height: 38px;
  }
  .bookmaker-logos__item {
    padding: 6px;
    height: 40px;
  }
}


/* --- olegtix-block-other_apps --- */
.other-apps__container {
  background: #fff;
  border-radius: 14px;
  padding: 40px;
}
.other-apps {
  padding: 0 15px;
  max-width: 1350px;
  margin: 0 auto;
}
.other-apps__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}
.other-apps__title.title {
  margin: 0;
}
.other-apps__navigation {
  display: flex;
  align-items: center;
  gap: 8px;
}

.other-apps__nav-btn {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    background-color 0.15s ease,
    opacity 0.15s ease;
}

.other-apps__nav-btn:hover {
  border-color: rgba(35, 35, 35, 0.22);
  background: rgba(35, 35, 35, 0.03);
}

.other-apps__nav-btn.swiper-button-disabled,
.other-apps__nav-btn[disabled] {
  opacity: 0.35;
  cursor: default;
}

.other-apps__swiper {
  overflow: hidden;
}

.other-apps__slide {
  width: 228px;
}

.other-apps__card {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s;
  min-height: 80px;
}
.other-apps__card:hover {
  opacity: 0.7;
}
.other-apps__card-logo {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.other-apps__card-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.other-apps__card-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.other-apps__card-title {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 108px;
}
.other-apps__card-rating {
  gap: 6px;
  background: #eff6fd;
  width: fit-content;
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px;
  border-radius: 20px;
}

.other-apps__card-rating-star {
  flex: 0 0 auto;
  width: 10px;
  margin-bottom: 1px;
}
@media (max-width: 768px) {
  .other-apps__card {
    flex-direction: column;
    width: 90px;
  }
  .other-apps__container {
    padding: 14px;
  }
  .other-apps__card-title {
    max-width: 90px;
  }
  .other-apps__slide {
    width: 90px;
  }
}


/* --- olegtix-block-other_brokers --- */
.other-brokers__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}
.other-brokers__title.title {
  margin: 0;
}
.other-brokers__navigation {
  display: flex;
  align-items: center;
  gap: 8px;
}
.other-brokers__nav-btn {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  border: 1px solid rgba(35, 35, 35, 0.12);
  transition:
    border-color 0.15s ease,
    background-color 0.15s ease,
    opacity 0.15s ease;
}
.other-brokers__nav-btn:hover {
  border-color: rgba(35, 35, 35, 0.22);
  background: rgba(35, 35, 35, 0.03);
}
.other-brokers__nav-btn.swiper-button-disabled,
.other-brokers__nav-btn[disabled] {
  opacity: 0.35;
  cursor: default;
}
.other-brokers__swiper {
  overflow: hidden;
}
.other-brokers__slide {
  height: auto;
}
.other-brokers__slide-inner {
  height: 100%;
}
.other-brokers__slide-inner .broker-card {
  height: 100%;
}

/* Мобильная раскладка broker-card внутри слайда (не зависит от viewport) */
.block-other-brokers .broker-card--compact-slider {
  background-color: var(--white);
  padding: 14px;
  border-radius: 14px;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  align-items: center;
}
.block-other-brokers .broker-card--compact-slider .broker-card__content {
  display: contents;
  cursor: default;
  grid-template-columns: unset;
}
.block-other-brokers .broker-card--compact-slider .broker-card__logo {
  grid-column: span 5;
  grid-row: 1;
  width: 100%;
  max-width: 140px;
}
.block-other-brokers .broker-card--compact-slider .broker-card__info {
  display: contents;
  margin: 0;
}
.block-other-brokers .broker-card--compact-slider .broker-card__actions {
  display: contents;
  margin: 0;
}
.block-other-brokers .broker-card--compact-slider .broker-card__detail {
  grid-column: span 4;
  grid-row: 2;
}
.block-other-brokers .broker-card--compact-slider .broker-card__rating {
  grid-column: 6 / -1;
  grid-row: 1;
  justify-self: flex-end;
}
.block-other-brokers .broker-card--compact-slider .broker-card__reliability {
  align-items: center;
}
.block-other-brokers .broker-card--compact-slider .broker-card__reviews {
  align-items: flex-end;
}
.block-other-brokers .broker-card--compact-slider .broker-card__btn--frebet {
  grid-row: 4;
  grid-column: 1 / -1;
}
.block-other-brokers .broker-card--compact-slider .broker-card__btn--review {
  grid-row: 5;
  grid-column: 1 / -1;
}
.block-other-brokers .broker-card--compact-slider .broker-card__btn--android {
  grid-row: 6;
  grid-column: 1 / -1;
}

@media (max-width: 768px) {
  .other-brokers__container {
    padding: 14px;
  }
}


/* --- olegtix-block-broker_apps_hero --- */
.store-app {
  background: var(--white);
  border-radius: 14px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 24px;
}
.store-app__content {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: flex-start;
}
.store-app__main {
  display: flex;
  gap: 24px;
  flex-direction: column;
}
.store-app__header {
  display: flex;
  flex-direction: column;
  margin-bottom: 24px;
}
.store-app__naming {
  display: flex;
  flex-direction: column;
  gap: 8px;
  line-height: 1;
}
.store-app__title {
  font-size: 30px;
  font-weight: 700;
}
.store-app__org {
  color: var(--grey);
}
.store-app__action {
  display: flex;
  gap: 8px;
}
.store-app__devices {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 12px;
}
.store-app__img {
  display: flex;
  flex-basis: 200px;
}
.store-app__img img {
  width: 100%;
  height: auto;
}
.store-app__meta {
  display: flex;
}
.store-app__meta-item {
  padding: 0 40px;
  border-right: 1px solid var(--grey);
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
}
.store-app__meta-item:first-child {
  padding-left: 0;
}
.store-app__meta-item:last-child {
  border-right: none;
}
.store-app__meta-item-icon {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 600;
}
.store-app__meta-item-text {
  font-size: 12px;
  text-align: center;
  display: flex;
  gap: 3px;
  align-items: center;
}
.green-action {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #01875f;
  font-weight: 500;
  padding: 10px 16px;
  cursor: pointer;
  transition: all 0.2s;
}
.green-action:hover {
  opacity: 0.7;
}
.store-app__share {
  position: relative;
}
.store-app__share-menu {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 8px;
  background: var(--white);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  padding: 8px;
  min-width: 220px;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition:
    opacity 0.15s ease,
    visibility 0.15s ease,
    transform 0.15s ease;
}
.store-app__share-menu--open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.store-app__share-item {
  width: 100%;
  border: none;
  background: transparent;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  color: var(--text);
  text-align: left;
}
.store-app__share-item + .store-app__share-item {
  margin-top: 4px;
}
.store-app__share-item:hover {
  background: var(--grey-light);
}
.store-app__share-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.store-app__share-item-text {
  flex: 1;
}
.store-app__btn {
  padding: 10px 32px;
}
.store-app__mobile-img {
  display: none;
}
@media (max-width: 992px) {
  .store-app {
    padding: 20px;
  }
}
@media (min-width: 767px) {
  .store-app__btn--mobile {
    display: none;
  }
}
@media (max-width: 767px) {
  .store-app {
    background: transparent;
    padding: 0;
    gap: 12px;
  }
  .store-app__title {
    font-size: 22px;
  }
  .store-app__img {
    display: none;
  }
  .store-app__mobile-img {
    display: flex;
    width: 70px;
  }
  .store-app__header {
    flex-direction: row;
    align-items: center;
    gap: 12px;
  }
  .store-app__btn:not(.store-app__btn--mobile),
  .store-app__action {
    display: none;
  }
  .store-app__content {
    background: var(--white);
    border-radius: 14px;
    padding: 14px;
  }
  .store-app__main {
    width: 100%;
  }
  .store-app__btn {
    margin-left: auto;
  }
  .store-app__meta {
    justify-content: space-between;
  }
  .store-app__meta-item {
    flex: 1;
  }
  .store-app__header {
    margin-bottom: 0;
  }
}
@media (max-width: 600px) {
  .store-app__title {
    font-size: 18px;
    font-weight: 500;
  }
  .store-app__org {
    font-size: 12px;
  }
  .store-app__mobile-img {
    width: 58px;
    overflow: hidden;
    border-radius: 10px;
  }
}
@media (max-width: 525px) {
  .store-app__title {
    font-size: 16px;
  }
}
@media (max-width: 500px) {
  .store-app__title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 115px;
  }
  .store-app__meta-item {
    padding: 0 10px;
  }
  .store-app__main {
    gap: 16px;
  }
}
@media (max-width: 420px) {
  .store-app__btn {
    padding: 10px 14px;
  }
}
@media (max-width: 390px) {
  .store-app__devices {
    font-size: 10px;
    padding: 0 15px;
  }
  .store-app__devices-icon {
    width: 17px;
  }
  .store-app__title {
    font-size: 14px;
    max-width: 80px;
  }
}
@media (max-width: 350px) {
  .store-app__btn {
    font-size: 12px;
  }
  .store-app__mobile-img {
    width: 49px;
  }
}


/* --- olegtix-block-broker_bonuses --- */
.block-broker-bonuses__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(312px, 1fr));
  gap: 20px;
  margin-bottom: 40px;
}

.block-broker-bonuses__item {
  display: flex;
}

.block-broker-bonuses__item.hidden {
  display: none;
}

.block-broker-bonuses__footer {
  display: flex;
  justify-content: center;
  padding-top: 20px;
}

.block-broker-bonuses__load-more:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Состояние загрузки */
.block-broker-bonuses.broker-bonuses-loading .block-broker-bonuses__load-more {
  opacity: 0.7;
  pointer-events: none;
}

/* Адаптивность */
@media (max-width: 768px) {
  .block-broker-bonuses__container {
    padding: 0 15px;
  }

  .block-broker-bonuses__grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
    margin-bottom: 30px;
  }
}

@media (max-width: 480px) {
  .block-broker-bonuses__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}


/* --- olegtix-block-broker_comments --- */
.block-broker-comments__container {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 24px;
}

.block-all-broker-comments .block-broker-comments__container,
.block-all-broker-comments__container {
  grid-template-columns: 1fr;
}
.block-all-broker-comments--with-sidebar .block-broker-comments__container {
  grid-template-columns: 1fr 300px;
}

.block-all-broker-comments .custom-select__dropdown a.custom-select__option {
  display: flex;
  text-decoration: none;
  justify-content: center;
  color: inherit;
  padding: inherit;
}

.block-all-broker-comments__pagination .page-numbers {
  margin-top: 0;
}
.review-card__broker-logo-link {
  display: inline-block;
  line-height: 0;
}
.review-card__broker-logo-link img {
  display: block;
}
/* Нижний блок с кнопкой загрузки */
.block-broker-comments__footer {
  display: flex;
  justify-content: center;
}

.block-broker-comments__load-more {
  width: 100%;
}

.block-broker-comments.block-broker-comments-loading
  .block-broker-comments__load-more {
  opacity: 0.7;
  pointer-events: none;
  position: relative;
}

.block-broker-comments.block-broker-comments-loading
  .block-broker-comments__load-more::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  margin: auto;
  border: 2px solid transparent;
  border-top-color: var(--white);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.child-comments {
  padding: 12px 0 12px 12px;
}

.review-card__header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}
.review-author {
  display: flex;
  gap: 8px;
  align-items: center;
  line-height: 1;
}
.review-author__avatar {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  color: var(--grey);
  text-transform: uppercase;
  background: var(--grey-light);
}
.review-author__avatar .ai-info-badge {
  display: none;
}
.review-author__name {
  font-size: 14px;
}
.review-author__date {
  font-size: 12px;
  color: var(--grey);
}
.review-author__meta {
  display: flex;
  row-gap: 3px;
  flex-direction: column;
}
.review-rating__value {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  display: flex;
  margin-top: 4px;
}
.review-card__content {
  margin-top: 12px;
}
.review-card__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  display: flex;
  margin-bottom: 4px;
}
.review-card__text {
  font-size: 14px;
  line-height: 1.57;
  margin-bottom: 2px;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
.review-card__text--clamped {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.review-card__read-more {
  font-size: 14px;
  cursor: pointer;
  color: var(--primary);
  transition: opacity 0.5s;
}
.review-card__read-more:hover {
  opacity: 0.7;
}
.review-card__footer {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--grey-light);
  padding-top: 12px;
  margin-top: 24px;
}
.review-card__footer-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.review-card__status {
  display: flex;
  gap: 8px;
}
.review-card__badge {
  display: flex;
  gap: 4px;
  font-size: 12px;
  align-items: center;
  border-radius: 100px;
  padding: 6px 12px;
}
.review-card__badge--verified {
  background-color: #ebf8ec;
}
.review-card__badge--moderation {
  background-color: var(--grey-light);
}
.review-card__broker-logo {
  max-width: 70px;
  max-height: 24px;
  object-fit: contain;
  object-position: center;
  overflow: hidden;
  flex-shrink: 0;
}
.review-card__footer-bottom {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}
.review-card__actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.review-card__rating {
  display: flex;
  gap: 4px;
  align-items: center;
}
.review-card__reply {
  background-color: var(--grey-light);
  border-radius: 100px;
  padding: 7px 12px;
  display: flex;
  font-size: 14px;
  gap: 6px;
  color: var(--primary);
  align-items: center;
  justify-content: center;
  transition: opacity 0.5s;
  cursor: pointer;
}
.review-card__reply:hover {
  opacity: 0.7;
}
.review-card__reply-text {
  line-height: 0;
  display: flex;
}
.review-card__reply-icon {
  display: flex;
}
.comments-list-wrapper > .comment {
  background-color: var(--white);
  padding: 20px;
  border-radius: 14px;
}
.comments-list-wrapper {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
}
.review-card__actions .reaction-btn,
.review-card__actions .action-button {
  background-color: var(--grey-light);
  color: var(--text);
  transition: opacity 0.5s;
}

.review-card__actions .reaction-btn path {
  fill: var(--grey);
}
.review-card__actions .reaction-btn--active {
  background-color: var(--primary);
  color: var(--white);
}
.review-card__actions .reaction-btn--active path {
  fill: var(--white);
}
.child-comments {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
.child-comments .review-card {
  position: relative;
  z-index: 3;
}
.child-comments .review-card::after {
  content: "";
  position: absolute;
  top: 50px;
  z-index: -1;
  left: 20px;
  width: 1px;
  height: calc(100% - 50px);
  background-color: var(--grey-light);
}
.child-comments .review-card__footer {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}
.child-comments .review-card__content,
.child-comments .review-card__footer {
  padding-left: 50px;
}
.comment-form {
  border-top: 1px solid var(--grey-light);
  flex-direction: column;
  padding-top: 12px;
  margin-top: 12px;
}
.comment-form__title {
  font-size: 20px;
  margin-bottom: 12px;
}
.comment-form__header {
  margin-bottom: 12px;
}
.comment-form__form {
  display: flex;
  flex-direction: column;
}
.comment-form__field {
  display: flex;
}
.comment-form__actions {
  display: flex;
  margin-top: 12px;
  justify-content: flex-end;
  gap: 10px;
}
.comment-form__btn {
  padding: 12.2px 38.5px;
}
@media (max-width: 400px) {
  .comment-form__btn {
    padding: 11.2px 19px;
  }
}
.comment-form__login-link {
  color: var(--primary);
  transition: opacity 0.5s;
}
.comment-form__login-link:hover {
  opacity: 0.7;
}
.form__field {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.form__textarea {
  width: 100%;
}
.comment-form__fields {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
@media (max-width: 600px) {
  .comment-form__fields {
    flex-direction: column;
  }
}
.form__label {
  display: flex;
  font-size: 12px;
  color: var(--grey);
  margin-bottom: 6px;
}

/* Сортировка комментариев */
.block-broker-comments__sort {
  margin-bottom: 24px;
}

.custom-select {
  position: relative;
  width: 200px;
}

.custom-select__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #ffffff;
  border-radius: 10px;
  padding: 0 20px;
  height: 50px;
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}

.custom-select__trigger:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.custom-select__text {
  font-family: "Onest", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.274999976158142em;
  color: #232323;
}

.custom-select__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  pointer-events: none;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.custom-select__arrow svg {
  width: 12px;
  height: 7.41px;
}

.custom-select--open .custom-select__arrow svg {
  transform: rotate(180deg);
}

.custom-select__dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0px 10px 20px 0px rgba(0, 19, 43, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s ease;
  z-index: 10;
  max-height: 0;
  overflow: hidden;
}

.custom-select--open .custom-select__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  max-height: 250px;
  overflow: visible;
}

.custom-select__option {
  display: flex;
  align-items: center;
  padding: 0 20px;
  height: 50px;
  cursor: pointer;
  font-family: "Onest", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.274999976158142em;
  color: #232323;
  border-bottom: 1px solid #f4f4f4;
  transition: color 0.2s ease;
}

.custom-select__option:last-child {
  border-bottom: none;
}

.custom-select__option:hover {
  background: rgba(147, 69, 216, 0.05);
}

.custom-select__option--active {
  color: #9345d8;
}

.custom-select__option--active:hover {
  background: rgba(147, 69, 216, 0.1);
}

/* Состояние загрузки при сортировке */
.block-broker-comments--sorting .block-broker-comments__list {
  position: relative;
  opacity: 0.7;
  pointer-events: none;
}

.block-broker-comments--sorting .block-broker-comments__list::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  margin: -16px 0 0 -16px;
  border: 3px solid #f4f4f4;
  border-top-color: #9345d8;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  z-index: 5;
}

.block-broker-comments--sorting .custom-select {
  pointer-events: none;
  opacity: 0.7;
}
@media (max-width: 992px) {
  .block-broker-comments__container {
    grid-template-columns: 1fr;
  }
  .comments-list-wrapper {
    gap: 12px;
  }
}
@media (max-width: 768px) {
  .comments-list-wrapper > .comment {
    padding: 0;
  }
}
@media (max-width: 430px) {
  .review-card__footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 11px;
  }
  .review-card__actions .reaction-btn,
  .review-card__actions .action-button {
    font-size: 11px;
    padding: 6px 10px;
    border-radius: 8px;
  }
}


/* --- olegtix-block-broker_company_info --- */
.block-broker-company-info__content {
  display: flex;
  flex-direction: column;
}

.company-info-list {
  display: flex;
  flex-direction: column;
}

.company-info-item {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 8px;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid var(--grey-light, #f4f4f4);
}

.company-info-item--last {
  border-bottom: none;
  padding-bottom: 0;
}

.company-info-item__label {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.275em;
  color: var(--grey);
  flex-shrink: 0;
  min-width: 180px;
}

.company-info-item__value {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.275em;
  color: var(--text);
  flex: 1;
  text-align: left;
}

.company-info-item__link {
  color: var(--text);
  text-decoration: none;
  transition: color 0.2s ease;
}

.company-info-item__link:hover {
  color: var(--fiol, #9345d8);
  text-decoration: underline;
}

/* Адаптивность */
@media (max-width: 768px) {
  .company-info-item {
    flex-direction: column;
    gap: 6px;
    padding: 16px 0;
  }

  .company-info-item__label {
    min-width: auto;
    font-size: 14px;
  }

  .company-info-item__value {
    font-size: 14px;
  }
}

@media (max-width: 590px) {
  .company-info-item {
    padding: 12px 0;
  }
}


/* --- olegtix-block-broker_reliability --- */
.block-broker-reliability__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  width: 100%;
}

.reliability-blocks {
  display: flex;
  gap: 24px;
  width: 100%;
}

.reliability-block {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 40px;
  background: var(--white);
  border-radius: 14px;
  border: 1px solid var(--grey-light);
  flex: 1;
}

.reliability-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.reliability-item__icon {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
}

.reliability-item__icon svg {
  width: 100%;
  height: 100%;
}

.reliability-item__text {
  line-height: 1.5;
  color: var(--text);
  flex: 1;
}
.reliability-item__number {
  font-size: 20px;
  font-weight: 600;
  width: 64px;
}
@media (max-width: 810px) {
  .reliability-blocks {
    flex-direction: column;
  }
  .reliability-block {
    padding: 20px;
  }
  .reliability-item__text {
    font-size: 15px;
  }
}
@media (max-width: 600px) {
  .reliability-item__icon {
    width: 36px;
    height: 36px;
  }
  .reliability-item {
    align-items: flex-start;
  }
  .reliability-block {
    padding: 15px;
  }
  .reliability-item__text {
    font-size: 14px;
  }
  .block-broker-reliability__grid {
    gap: 12px;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 500px) {
  .reliability-item__number {
    font-size: 18px;
    width: 59px;
  }
  .reliability-block--numbers .reliability-item__text {
    margin-top: 2px;
  }
}


/* --- olegtix-block-broker_reviews --- */
/* Блок отзывов о букмекерах */

.broker-reviews .review-card {
  background: #fff;
  padding: 20px;
  border-radius: 14px;
}
.broker-reviews__title {
  margin: 0;
}
.broker-reviews__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}

.broker-reviews__header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.broker-reviews__all-link {
  font-weight: 500;
}

.broker-reviews__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 24px;
}
.broker-reviews__cta-text {
  font-size: 17px;
}
.broker-reviews__cta-btn {
  flex-shrink: 0;
  padding: 16px 26px;
  min-width: 215px;
}

/* Модалка с формой отзыва */
.broker-reviews__modal-content {
  max-height: 85vh;
  overflow-y: auto;
}

.broker-reviews__review-modal .broker-review-form--modal {
  margin: 0;
}

.broker-reviews__review-modal .broker-review-form__container {
  padding-top: 8px;
}

.broker-reviews__review-modal .broker-review-form__title {
  font-size: 1.25rem;
  margin-bottom: 8px;
}

.broker-reviews__review-modal .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.broker-reviews__navigation {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.broker-reviews__nav-btn {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.broker-reviews__nav-btn:hover {
  background-color: var(--grey-light);
}

.broker-reviews__nav-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.broker-reviews__slider {
  overflow: hidden;
}

.broker-reviews__wrapper {
  display: flex;
  transition: transform 0.3s ease;
}

.broker-reviews__slide {
  flex-shrink: 0;
  width: 100%;
}

/* Swiper кастомизация */
.broker-reviews__slider .swiper-pagination {
  display: none;
}

.broker-reviews__slider .swiper-button-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 940px) {
  .broker-reviews__cta-text {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .broker-reviews__cta {
    flex-direction: column;
    align-items: stretch;
    padding-right: 15px;
    gap: 12px;
    margin-top: 16px;
  }

  .broker-reviews__cta-btn {
    width: 100%;
  }
  .broker-reviews__slider .review-card__actions {
    flex-direction: row;
  }
  .block-broker-reviews {
    padding: 40px 0;
  }
  .broker-reviews__container {
    padding-right: 0;
  }
  .broker-reviews__header {
    gap: 16px;
    padding-right: 15px;
    align-items: flex-start;
    margin-bottom: 16px;
    flex-wrap: wrap;
  }

  .broker-reviews__header-actions {
    justify-content: space-between;
    align-items: center;
  }

  .broker-reviews__navigation {
    align-self: flex-end;
  }

  .review-card {
    padding: 16px;
  }

  .review-card__actions {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
  }

  .review-card__rating-actions {
    align-self: flex-end;
  }
}
@media (max-width: 600px) {
  .broker-reviews__header-actions {
    flex: 1 0 100%;
    width: 100%;
  }
}
@media (max-width: 480px) {
  .broker-reviews__nav-btn {
    width: 32px;
    height: 32px;
  }
  .broker-reviews__cta-text {
    font-size: 14px;
  }
  .broker-reviews__cta-btn {
    padding: 12px 19px;
  }
  .broker-reviews__nav-btn svg {
    width: 20px;
    height: 20px;
  }

  .review-card__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .review-card__rating {
    align-self: flex-end;
  }

  .review-card__badges {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .review-card__broker-logo {
    align-self: flex-end;
  }
}


/* --- olegtix-block-broker_review_form --- */
.broker-review-form__ratings {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.rating-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.rating-item__inner {
  display: flex;
  align-items: center;
  gap: 15px;
}

.rating-item__label {
  font-size: 14px;
  font-weight: 500;
  color: var(--grey);
  margin: 0;
}

.rating-item__value {
  display: flex;
  align-items: flex-end;
  font-size: 18px;
  font-weight: 700;
  margin-top: 3px;
}

/* Звездочки рейтинга */
.rating-item__stars {
  display: flex;
  gap: 4px;
  cursor: pointer;
}

.rating-item__star {
  cursor: pointer;
  transition: transform 0.2s ease;
}

.rating-item__star:hover {
  transform: scale(1.1);
}

.rating-item__star svg {
  width: 28px;
  height: 26px;
  fill: #d7d7d7;
  transition: fill 0.2s ease;
}

.rating-item__star.active svg {
  fill: #ffd700;
}

/* Чекбоксы согласий */
.comment-form__agreements,
.review-author--add-review {
  margin: 24px 0;
}
.comment-form__field--add-review {
  margin: 24px 0;
}
.agreements__item {
  margin-bottom: 9px;
}

.checkbox {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-size: 12px;
  color: var(--grey);

  line-height: 1.4;
  transition: color 0.2s ease;
}

.checkbox:hover {
  color: var(--primary);
}

.checkbox__input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.checkbox__mark {
  position: relative;
  width: 20px;
  height: 20px;
  background: var(--white);
  border: 2px solid #34b945;
  border-radius: 6px;
  flex-shrink: 0;
  margin-top: 2px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.checkbox__input:checked + .checkbox__mark {
  background: var(--primary);
  border-color: var(--primary);
}

.checkbox__input:checked + .checkbox__mark::after {
  content: "";
  width: 5px;
  height: 8px;
  border: solid var(--white);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.checkbox__input:focus + .checkbox__mark {
  box-shadow: 0 0 0 3px rgba(147, 69, 216, 0.2);
}

.checkbox__text {
  flex: 1;
  padding-top: 4px;
}
/* Уведомления */
.notification {
  padding: 16px 20px;
  border-radius: var(--input-border-radius);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  animation: slideIn 0.3s ease-out;
}

.notification--success {
  background: #e8f5e8;
  border: 1px solid #4caf50;
  color: #2e7d32;
}

.notification--error {
  background: #ffebee;
  border: 1px solid #f44336;
  color: #c62828;
}

.notification__content {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.notification__text {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Стили для ошибок в полях */
.error {
  border-color: #f44336 !important;
  background: #ffebee !important;
}

/* ——— Кастомный выбор БК с логотипами ——— */
.broker-review-form__broker-select {
  margin-bottom: 20px;
}

.broker-select-custom {
  position: relative;
  width: 100%;
  max-width: 420px;
}

.broker-select-custom__trigger {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 10px 14px 10px 14px;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.4;
  color: var(--grey, #555);
  background: var(--white, #fff);
  border: 1px solid #e0e0e0;
  border-radius: var(--input-border-radius, 8px);
  cursor: pointer;
  text-align: left;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
  appearance: none;
}

.broker-select-custom__trigger:hover {
  border-color: #c0c0c0;
}

.broker-select-custom__trigger:focus {
  outline: none;
  border-color: var(--primary, #34b945);
  box-shadow: 0 0 0 3px rgba(52, 185, 69, 0.15);
}

.broker-select-custom__trigger[aria-expanded="true"] {
  border-color: var(--primary, #34b945);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.broker-select-custom__trigger .broker-select-custom__placeholder {
  flex: 1;
}

.broker-select-custom__trigger .broker-select-custom__value {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.broker-select-custom__trigger .broker-select-custom__value-logo-wrap {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  overflow: hidden;
  background: #f5f5f5;
}

.broker-select-custom__trigger .broker-select-custom__value-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.broker-select-custom__trigger .broker-select-custom__value-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #1a1a1a;
  font-weight: 500;
}

.broker-select-custom__arrow {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  margin-left: auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}

.broker-select-custom__trigger[aria-expanded="true"]
  .broker-select-custom__arrow {
  transform: rotate(-135deg);
}

.broker-select-custom__list {
  position: absolute;
  z-index: 20;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 280px;
  overflow-y: auto;
  background: var(--white, #fff);
  border: 1px solid var(--primary, #34b945);
  border-top: none;
  border-radius: 0 0 var(--input-border-radius, 8px)
    var(--input-border-radius, 8px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.broker-select-custom__list[hidden] {
  display: none;
}

.broker-select-custom__option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  cursor: pointer;
  transition: background 0.15s ease;
}

.broker-select-custom__option:hover,
.broker-select-custom__option:focus {
  background: #f0f7f0;
  outline: none;
}

.broker-select-custom__option[aria-selected="true"] {
  background: rgba(52, 185, 69, 0.08);
}

.broker-select-custom__option-logo {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  object-fit: contain;
  background: #f5f5f5;
}

.broker-select-custom__option-logo--placeholder {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #e8e8e8;
}

.broker-select-custom__option-name {
  flex: 1;
  font-size: 15px;
  font-weight: 500;
  color: #1a1a1a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.broker-select-custom.error .broker-select-custom__trigger {
  border-color: #f44336;
  background: #ffebee;
}

.broker-review-form__btn {
  font-size: 18px;
}
.broker-review-form {
  margin-inline: 0;
}
.broker-review-form--post .broker-review-form__title {
  margin-bottom: 0;
}
.broker-review-form--post .broker-review-form__comment {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
@media (max-width: 700px) {
  .broker-review-form__ratings {
    grid-template-columns: repeat(3, 1fr);
  }
  .broker-review-form__btn {
    font-size: 16px;
  }
}
@media (max-width: 530px) {
  .broker-review-form__ratings {
    grid-template-columns: repeat(2, 1fr);
  }
  .rating-item__label {
    font-size: 12px;
  }
  .rating-item__value {
    font-size: 16px;
  }
  .rating-item__inner {
    gap: 5px;
  }
  .broker-review-form__btn {
    font-size: 15px;
  }
}
@media (max-width: 400px) {
  .broker-review-form__ratings {
    gap: 10px;
  }
  .broker-review-form__btn {
    font-size: 14px;
  }
  .rating-item__star svg {
    width: 21px;
    height: 21px;
  }
}


/* --- olegtix-block-broker_support_service --- */
.block-broker-support-service__contacts {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}
.support-contact-card {
  display: flex;
  background-color: var(--grey-light);
  border-radius: 100px;
  padding: 14px 12px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.support-contact-card__content {
  display: flex;
  align-items: center;
  gap: 10px;
}
.support-contact-card__icon {
  width: 36px;
}
.support-contact-card__header {
  display: flex;
  flex-direction: column;
  line-height: 1;
  gap: 6px;
}
.support-contact-card__label {
  font-size: 14px;
  color: var(--grey);
}
.support-contact-card__value {
  font-weight: 700;
  color: var(--text);
}
.support-contact-card__value:hover {
  color: var(--primary);
}
.support-contact-card__time {
  font-size: 14px;
  line-height: 1.3;
  color: var(--grey);
  width: 92px;
  text-align: center;
}
@media (max-width: 1080px) {
  .block-broker-support-service__contacts {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .support-contact-card:last-child {
    grid-column: span 2;
  }
}
@media (max-width: 768px) {
  .block-broker-support-service__contacts {
    grid-template-columns: 1fr;
  }
  .support-contact-card:last-child {
    grid-column: initial;
  }
}
@media (max-width: 380px) {
  .support-contact-card__label,
  .support-contact-card__time {
    font-size: 12px;
  }
  .support-contact-card__time {
    width: 85px;
  }
}


/* --- olegtix-block-brokers --- */
/* Сортировка */
.block-brokers__sorting {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

/* Кнопка "Показать еще" в архивном режиме */
.block-brokers__show-more-btn {
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Состояние загрузки */
.brokers-loading {
  opacity: 0.7;
  pointer-events: none;
}

.brokers-loading .sort-btn {
  opacity: 0.5;
  cursor: not-allowed;
}

.brokers-loading .block-brokers__show-more-btn {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Анимация загрузки */
.brokers-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #9345d8;
  border-radius: 50%;
  animation: brokers-spin 1s linear infinite;
  z-index: 1000;
}

@keyframes brokers-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.block-brokers__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.block-brokers__item.is-hidden {
  display: none;
}

.broker-card {
  background-color: var(--white);
  padding: 20px;
  border-radius: 14px;
}
.broker-card__content {
  display: grid;
  align-items: center;
  cursor: pointer;
  grid-template-columns: 140px 1fr 345px 24px;
}
.broker-card__content--single {
  grid-template-columns: 140px 1fr 415px;
  cursor: initial;
}
.broker-card__content--single .broker-card__actions {
  justify-content: flex-end;
  margin: 0;
}
.broker-card__logo {
  width: 100%;
}
.broker-card__logo img {
  height: auto;
  width: 100%;
}
.broker-card__info {
  display: flex;
  flex: 1;
  justify-content: space-between;
  gap: 5px;
  margin: 0 10px 0 100px;
}
.broker-card__detail {
  display: flex;
  flex: 1 0;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}
.broker-card__detail span {
  font-size: 14px;
  color: var(--grey);
}
.broker-card__detail-content {
  display: flex;
  align-items: center;
  gap: 4px;
}
.broker-card__detail-content span {
  color: var(--text);
  font-weight: 600;
}
.broker-card__actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-right: 10px;
}
.broker-card__toggle {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.broker-card__toggle--expanded {
  transform: rotate(180deg);
}
.broker-card__toggle path {
  transition: fill 0.3s ease;
}
.broker-card__toggle:hover path {
  fill: var(--primary);
}
.broker-card__expandable {
  display: grid;
  grid-template-rows: 0fr;
  transition: all 0.3s ease;
}
.broker-card__expandable--expanded {
  grid-template-rows: 1fr;
  margin-top: 20px;
}
.broker-card__expandable-content {
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.broker-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px 40px;
}

.broker-metrics__item {
  display: grid;
  grid-template-columns: 162px 1fr 26px;
  align-items: center;
  gap: 10px;
}

.broker-metrics__label {
  font-size: 14px;
  white-space: break-spaces;
}

.broker-metrics__progress-track {
  height: 4px;
  background-color: #f4f4f4;
  border-radius: 10px;
  overflow: hidden;
}

.broker-metrics__progress-fill {
  height: 100%;
  border-radius: 10px;
  transition: width 0.3s ease;
}

.broker-metrics__value {
  font-weight: 700;
  font-size: 14px;
  min-width: 26px;
  text-align: left;
}

.broker-promocode {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}
.broker-card__actions .broker-card__btn--android {
  display: none;
}
.broker-promocode__label,
.broker-count-bonuses__label {
  font-size: 12px;
  color: var(--grey);
}

.broker-promocode__input-group {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
  background-color: #f4f4f4;
  border-radius: 10px;
  height: 48px;
  cursor: pointer;
}

.broker-promocode__input {
  flex: 1;
  border: none;
  background: transparent;
  font-weight: 400;
  font-size: 16px;
  color: var(--text);
  outline: none;
  padding-left: 0;
}
.broker-count-bonuses__count {
  background-color: var(--grey-light);
  border-radius: 10px;
  display: flex;
  width: 52px;
  height: 100%;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.broker-promocode__input:focus {
  outline: none;
}
.broker-card__btns {
  align-items: flex-end;
}
.broker-card__btns .btn {
  padding: 13px 32px;
}
.broker-card__btn--frebet {
  flex: 1;
}
.broker-promocode__copy-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
}

.broker-promocode__copy-btn:hover svg {
  opacity: 0.7;
}

.broker-promocode__copy-btn:active {
  transform: scale(0.95);
}

.broker-promocode__copy-btn svg {
  width: 19px;
  height: 22px;
  transition: all 0.3s ease;
}
.broker-card__btn--mobile {
  display: none;
  margin: 16px auto 0;
  max-width: 320px;
}
.broker-card__btns,
.broker-card__promocode-box,
.broker-card__bottom {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.broker-card__promocode-box {
  width: 420px;
}
.broker-count-bonuses {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media (max-width: 1200px) {
  .broker-card__info {
    margin: 0 20px;
  }

  .block-brokers__sorting {
    gap: 6px;
  }

  .sort-btn {
    padding: 10px;
    height: 36px;
    font-size: 13px;
  }
}
@media (max-width: 992px) {
  .broker-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .broker-card__btn--mobile {
    display: block;
  }
  .broker-card__btn--pc {
    display: none;
  }
  .broker-card__content {
    display: contents;
  }
  .broker-card {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 100px));
    gap: 10px;
    align-items: center;
  }
  .broker-card__logo {
    grid-column: span 3;
  }
  .broker-card__info,
  .broker-card__actions {
    display: contents;
  }
  .broker-card__detail {
    grid-column: span 3;
    grid-row: 2;
  }
  .broker-card__toggle {
    grid-column: span 1;
    margin: 0 auto;
  }
  .broker-card__expandable {
    grid-column: span 12;
  }

  .broker-card__btn--frebet {
    grid-column: span 5;
  }

  .broker-card__btn--review {
    grid-column: span 3;
  }
  .broker-card__content--single .broker-card__btn--review {
    grid-column: span 4;
  }
  .broker-card__btn--android {
    grid-column: span 4;
  }

  .broker-card__reviews {
    align-items: flex-end;
  }

  .block-brokers__sorting {
    margin-bottom: 16px;
  }

  .sort-btn {
    padding: 8px 12px;
    height: 32px;
    font-size: 12px;
  }
  .broker-card__actions .broker-card__btn--android {
    grid-row: 6;
    grid-column: 1 / -1;
    display: flex;
  }
}
@media (max-width: 860px) {
  .broker-card__btns .btn {
    font-size: 15px;
    padding: 10px 25px;
  }
}
@media (max-width: 750px) {
  .broker-card__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .broker-card__btns,
  .broker-card__promocode-box {
    width: 100%;
  }
  .broker-card__btns .btn {
    flex: 1;
  }
}
@media (max-width: 710px) {
  .broker-card__btn--frebet {
    grid-row: 4;
    grid-column: 1 / -1;
  }
  .broker-card__btn--review {
    grid-row: 5;
    grid-column: 1 / -1;
  }
  .broker-card__btn--android {
    grid-row: 6;
    grid-column: 1 / -1;
  }
  .broker-card__detail {
    grid-column: span 4;
  }
  .broker-card__rating {
    grid-column: 6 / 9;
    grid-row: 1;
  }
  .broker-card__logo {
    grid-column: span 5;
  }
  .broker-card__reliability {
    align-items: center;
  }
  .broker-card__reviews {
    align-items: flex-end;
  }
  .broker-card__logo {
    width: 100%;
    max-width: 140px;
  }
  .broker-card {
    padding: 14px;
  }
  .broker-card__content--single .broker-card__btn--review {
    grid-row: 5;
    grid-column: 1 / -1;
    display: none;
  }
  .broker-card__content--single .broker-card__btn--android {
    grid-row: 6;
    grid-column: 1 / -1;
    color: #000;
  }

  .broker-card__content--single .broker-card__rating {
    grid-column: 6 / -1;
    grid-row: 1;
    justify-self: flex-end;
  }
}
@media (max-width: 600px) {
  .broker-metrics {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .broker-metrics__item {
    grid-template-columns: 133px minmax(50px, 1fr) 26px;
  }
}
@media (max-width: 380px) {
  .broker-metrics__item {
    grid-template-columns: 110px 1fr 26px;
  }
}
@media (max-width: 350px) {
  .broker-card__detail span {
    font-size: 13px;
  }

  .block-brokers__sorting {
    gap: 4px;
  }

  .sort-btn {
    padding: 6px 8px;
    height: 28px;
    font-size: 11px;
  }

  /* Адаптивные стили для порядкового номера */
  .block-brokers--rating-mode
    .broker-card--rating-mode
    .broker-card__logo::before {
    width: 20px;
    height: 20px;
    font-size: 10px;
    top: -6px;
    left: -6px;
  }
}
@media (max-width: 340px) {
  .broker-metrics__item {
    grid-template-columns: 110px 110px 26px;
  }

  /* Порядковый номер для очень маленьких экранов */
  .block-brokers--rating-mode
    .broker-card--rating-mode
    .broker-card__logo::before {
    width: 18px;
    height: 18px;
    font-size: 9px;
    top: -5px;
    left: -5px;
  }
}

/* Рейтинговый режим */
.block-brokers--rating-mode {
  counter-reset: broker-rank;
}

.block-brokers--rating-mode .broker-card--rating-mode {
  counter-increment: broker-rank;
}
.block-brokers--rating-mode .broker-card--rating-mode .broker-card__content {
  grid-template-columns: 178px 1fr 100px 24px;
}
.block-brokers--rating-mode .broker-card--rating-mode .broker-card__actions {
  justify-content: flex-end;
}

.block-brokers--rating-mode .broker-card--rating-mode .broker-card__logo {
  position: relative;
  padding-left: 38px;
}

.block-brokers--rating-mode
  .broker-card--rating-mode
  .broker-card__logo::before {
  content: counter(broker-rank);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 500;
  left: 0;
  width: 24px;
  height: 24px;
  background: var(--grey-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--text);
  z-index: 2;
}

.broker-card--single .broker-card__title {
  display: none;
}

.broker-card__content--single .broker-card__brand {
  display: contents;
}

@media (max-width: 767px) {
  .broker-card--single {
    display: block;
    width: 100%;
    background: transparent;
    padding: 0;
    border-radius: 0;
  }
  .broker-card--single .broker-card__content--single {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
  }
  .broker-card--single .broker-card__brand {
    order: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
  }
  .broker-card--single .broker-card__logo {
    display: block;
    width: auto;
    flex: 0 0 auto;
  }
  .broker-card--single .broker-card__logo img {
    height: 40px;
    width: auto;
    max-width: 140px;
    object-fit: contain;
    background: #fff;
    padding: 8px;
    border-radius: 11px;
  }
  .broker-card--single .broker-card__title {
    display: block;
    text-align: left;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text);
  }
  .broker-card--brand-external .broker-card__brand {
    display: none;
  }

  .broker-card--single .broker-card__actions {
    order: 3;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 100%;
    margin: 0;
  }
  .broker-card--single .broker-card__actions .broker-card__btn {
    width: 100%;
    margin: 0;
    flex: 0 0 auto;
    box-sizing: border-box;
    padding: 14px 20px;
    font-size: 15px;
  }
  .broker-card--single .broker-card__btn--review {
    display: none;
  }

  .broker-card--single .broker-card__info {
    order: 4;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    margin: 0;
  }
  .broker-card--single .broker-card__bonus {
    display: none;
  }
  .broker-card--single .broker-card__rating {
    order: 1;
  }
  .broker-card--single .broker-card__reviews {
    order: 2;
  }
  .broker-card--single .broker-card__reliability {
    order: 3;
  }
  .broker-card--single .broker-card__detail {
    flex: 1 1 0;
    min-width: 0;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 5px;
    background: var(--white);
    border-radius: 12px;
    text-align: center;
  }
  .broker-card--single .broker-card__detail-label,
  .broker-card--single .broker-card__reliability > span {
    display: flex;
    font-size: 12px;
    color: var(--grey);
  }
  .broker-card--single .broker-card__detail-content {
    justify-content: center;
    gap: 5px;
  }
  .broker-card--single .broker-card__detail-content span {
    font-size: 16px;
    font-weight: 700;
  }
  .broker-card--single .broker-card__detail-content svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
  }
  .broker-card--single .broker-card__reviews .broker-card__detail-content,
  .broker-card--single .broker-card__reliability .broker-card__detail-content {
    text-decoration: none;
  }
  .broker-card--single .broker-card__reviews svg path,
  .broker-card--single .broker-card__reliability svg path {
    fill: var(--primary);
  }
}


/* --- olegtix-block-categories_row --- */
.block-categories-row {
  margin: 20px 0;
}

.block-categories-row__container {
  overflow: hidden;
}

.block-categories-row__list {
  display: flex;
  align-items: center;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
  cursor: grab;
  user-select: none;
}

.block-categories-row__list:active,
.block-categories-row__list.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
}

/* Кастомный скроллбар для webkit */
.block-categories-row__list::-webkit-scrollbar {
  height: 6px;
}

.block-categories-row__list::-webkit-scrollbar-track {
  background: transparent;
}

.block-categories-row__list::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}

.block-categories-row__list::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

.block-categories-row__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 20px;
  background: var(--white);
  border-radius: 10px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.275;
  text-decoration: none;
  transition: opacity 0.3s ease;
  white-space: nowrap;
  flex-shrink: 0;
}

.block-categories-row__button:hover {
  opacity: 0.7;
}

/* Адаптивность */
@media (max-width: 768px) {
  .block-categories-row__list {
    gap: 12px;
  }
}

@media (max-width: 640px) {
  .block-categories-row__container {
    padding: 0;
  }
  .block-categories-row {
    margin: 10px 0;
  }
  .category .header {
    margin-bottom: 10px;
  }
  .block-categories-row__list {
    padding: 0 10px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .block-categories-row__list::-webkit-scrollbar {
    display: none;
  }
}
@media (max-width: 478px) {
  .hero-news-card__container {
    padding-inline: 0;
  }
}


/* --- olegtix-block-cited_by --- */


.cited-by__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
}

.cited-by__item {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: opacity 0.2s ease;
  flex: 1;
}

.cited-by__item:hover {
  opacity: 0.7;
}

.cited-by__logo {
  max-width: 175px;
  max-height: 60px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter 0.2s ease;
}

.cited-by__item:hover .cited-by__logo {
  filter: grayscale(0%);
}

@media (max-width: 768px) {
  .cited-by__item {
    flex: 1 0 30%;
  }

  .cited-by__row {
    gap: 16px;
  }

  .cited-by__logo {
    max-width: 120px;
    max-height: 36px;
  }
}

@media (max-width: 480px) {
  .cited-by__row {
    gap: 12px;
  }

  .cited-by__logo {
    max-width: 100px;
    max-height: 32px;
  }
}


/* --- olegtix-block-download_app --- */
.block-download-app {
  margin: 0 15px;
}

.block-download-app__button-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

.block-download-app__button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  background-color: #000000;
  color: #ffffff;
  text-decoration: none;
  border-radius: 5.5px;
  border: 0.5px solid #a6a6a6;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
    Arial, sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
  transition: opacity 0.2s ease;
  height: 40px;
  box-sizing: border-box;
}

.block-download-app__button:hover {
  opacity: 0.8;
}

.block-download-app__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.block-download-app__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.block-download-app__icon--apple {
  color: #ffffff;
}

.block-download-app__icon--play {
  width: 22px;
  height: 22px;
}

.block-download-app__icon--android {
  width: 20px;
  height: 20px;
  color: #ffffff;
}

.block-download-app__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.1;
}

.block-download-app__text-top {
  font-size: 8px;
  display: block;
  margin-bottom: 2px;
  letter-spacing: 0.02em;
}

.block-download-app__text-bottom {
  font-size: 13px;
  font-weight: 500;
  display: block;
  letter-spacing: 0.01em;
}

@media (max-width: 768px) {
  .block-download-app__button-wrapper {
    flex-direction: column;
    align-items: center;
  }

  .block-download-app__button {
    width: 100%;
    max-width: 200px;
    justify-content: center;
  }
}


/* --- olegtix-block-expert_characteristics --- */
.expert-characteristics__container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 40px;
  background: var(--white);
  border-radius: 14px;
}

.expert-characteristics__content {
  display: flex;
  flex-direction: column;
}

.expert-characteristics .broker-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin: 0;
}
@media (max-width: 1000px) {
  .expert-characteristics .broker-metrics {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 768px) {
  .expert-characteristics .expert-box {
    display: none;
  }
  .expert-characteristics .broker-metrics {
    gap: 15px;
  }
}
@media (max-width: 590px) {
  .expert-characteristics .broker-metrics {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}


/* --- olegtix-block-expert_rating --- */
.expert-rating__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.expert-rating__title {
  margin: 0;
}

.expert-rating__rating {
  display: flex;
  align-items: center;
  gap: 4px;
}

.expert-rating {
  display: flex;
  align-items: center;
  gap: 4px;
}

.expert-rating svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.expert-rating__value {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.275em;
  text-transform: uppercase;
  color: var(--text);
}

.expert-box {
  margin-bottom: 24px;
  background-color: var(--grey-light);
  padding: 12px;
  border-radius: 100px;
}

.expert-author__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.review-author__name--bold {
  font-weight: 700;
}
.review-author__position {
  font-size: 12px;
  color: var(--grey);
}


/* --- olegtix-block-faq --- */
.block-faq__accordion {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.block-faq__item {
  background: #ffffff;
  border-radius: 14px;
}
.block-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: all 0.3s ease;
}
.block-faq__item--open .block-faq__answer {
  grid-template-rows: 1fr;
}

.block-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: all 0.3s ease;
}

.block-faq__question:hover {
  background: rgba(147, 69, 216, 0.05);
}

.block-faq__question-text {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.275em;
  margin: 0;
  flex: 1;
}

.block-faq__icon {
  width: 24px;
  height: 24px;
  color: #7d7d7d;
  transition: all 0.3s ease;
  flex-shrink: 0;
  margin-left: 10px;
}

.block-faq__item--open .block-faq__icon {
  color: #9345d8;
  transform: rotate(180deg);
}
.block-faq__item--open .block-faq__answer-content {
  padding: 0 24px 24px 24px;
}
.block-faq__answer-content {
  overflow: hidden;
  font-weight: 500;
  padding: 0;
  transition: all 0.3s ease;
}

.block-faq__answer-content p {
  margin: 0 0 16px 0;
}

.block-faq__answer-content p:last-child {
  margin-bottom: 0;
}
@media (max-width: 890px) {
  .block-faq__question-text {
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  .block-faq__answer-content p {
    font-size: 15px;
  }
  .block-faq__question {
    padding: 14px 20px;
  }
  .block-faq__item--open .block-faq__answer-content {
    padding-inline: 20px;
  }
  .block-faq__question-text {
    font-size: 16px;
  }
}


/* --- olegtix-block-qa_page --- */
.block-qa-page__title {
  margin: 0 0 8px 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.275em;
}

.block-qa-page__count {
  margin: 0 0 16px 0;
  font-size: 14px;
  color: #7d7d7d;
}

.block-qa-page__answers {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.block-qa-page__answer {
  margin: 0;
}

.block-qa-page__list {
  margin: 0;
  padding: 0 0 0 22px;
  list-style: none;
}

.block-qa-page__answer-text {
  position: relative;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45em;
}

.block-qa-page__answer-text::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 0.55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2b7de9;
}

@media (max-width: 768px) {
  .block-qa-page__title {
    font-size: 20px;
  }
}


/* --- olegtix-block-links --- */
.block-links__columns {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
.block-links__link {
  color: var(--primary);
  transition: all 0.3s ease;
  line-height: 1;
}
.block-links__link:hover {
  color: var(--primary-hover);
  opacity: 0.6;
}
.block-links__row-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 24px;
}
.block-links__row {
  margin-bottom: 48px;
}
@media (max-width: 580px) {
  .block-links__columns {
    gap: 16px;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .block-links__row-title {
    font-size: 16px;
    margin-bottom: 12px;
  }
  .block-links__row {
    margin-bottom: 24px;
  }
}


/* --- olegtix-block-news --- */
.block-news__header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}

.block-news__title {
  margin: 0;
}

.block-news__navigation {
  display: flex;
  gap: 10px;
  margin-left: auto;
}

.block-news__nav-btn {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.block-news__nav-btn:hover {
  opacity: 0.7;
}

.block-news__nav-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.block-news__swiper {
  margin-bottom: 24px;
  overflow: hidden;
}

.block-news__wrapper {
  display: flex;
}

.block-news__slide {
  width: 312px;
  flex-shrink: 0;
}

/* Карточка новости */
.news-card {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-card__image {
  width: 100%;
  aspect-ratio: 11/5;
  border-radius: 14px;
  overflow: hidden;
}

.news-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.news-card:hover .news-card__image img {
  transform: scale(1.05);
}

.news-card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
}

.news-card__header {
  margin-bottom: 6px;
}

.news-card__title {
  font-size: 16px;
  margin: 0;
  color: var(--text);
}

.news-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.news-card__title a:hover {
  color: var(--primary);
}

.news-card__meta {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: auto;
}

.news-card__meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #7d7d7d;
  font-size: 14px;
  line-height: 1.275;
}

.news-card__meta-item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* Кнопка "Все новости" */
.block-news__footer {
  text-align: center;
}

/* Пустое состояние */
.block-news__empty {
  text-align: center;
  padding: 60px 20px;
}

.block-news__empty-text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #666666;
  margin: 0;
}

/* Адаптивность */
@media (max-width: 768px) {
  .block-news__container {
    padding-right: 0;
  }

  .block-news__header,
  .block-news__footer {
    padding-right: 15px;
  }

  .block-news__header {
    gap: 16px;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 12px;
  }

  .block-news__navigation {
    margin-left: 0;
  }

  .block-news__slide {
    width: 312px;
  }

  .news-card__title {
    font-size: 14px;
  }

  .news-card__meta {
    gap: 10px;
  }

  .news-card__meta-item {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .news-card__title {
    font-size: 16px;
  }
}

@media (max-width: 400px) {
  .block-news__navigation {
    display: none;
  }
}


/* --- olegtix-block-news_tabs --- */
.block-news.block-news--tabs .block-news__header {
  gap: 16px;
}

.block-news-tabs__tabs {
  display: flex;
  align-items: center;
  gap: 12px;
}

.block-news-tabs__tab {
  border: none;
  background: transparent;
  padding: 6px 0;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.4;
  color: var(--text-light, #7d7d7d);
  border-bottom: 2px solid transparent;
  transition: color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
}

.block-news-tabs__tab:hover {
  color: var(--text, #232323);
  opacity: 0.8;
}

.block-news-tabs__tab.is-active {
  color: var(--primary, #ff6600);
  border-bottom-color: var(--primary, #ff6600);
}

.block-news-tabs__panels {
  margin-top: 16px;
}

.block-news-tabs__panel {
  display: none;
}

.block-news-tabs__panel.is-active {
  display: block;
}

@media (max-width: 768px) {
  .block-news-tabs__tabs {
    width: 100%;
    justify-content: flex-start;
    order: 2;
  }

  .block-news.block-news--tabs .block-news__header {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 16px;
  }
}



/* --- olegtix-block-news_feed --- */
/* Блок ленты новостей */
.news-feed__container {
  display: grid;
  gap: 40px;
  align-items: start;
}

.news-feed__container--with-sidebar {
  grid-template-columns: 1fr 320px;
}

.news-feed__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.news-feed__title {
  margin: 0;
}

/* Календарь */
.news-calendar {
  position: relative;
  width: 300px;
}

.news-calendar__header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  background: var(--white);
  border: 1px solid var(--grey-light);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
}

.news-calendar__header:hover {
  border-color: var(--primary);
}

.news-calendar__input-wrapper {
  flex: 1;
  position: relative;
}

.news-calendar__input {
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 16px;
  color: var(--text);
  outline: none;
  cursor: pointer;
}

.news-calendar__input::placeholder {
  color: var(--text);
}

.news-calendar__icon {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.news-calendar__clear {
  flex-shrink: 0;
  padding: 8px 16px;
  border: 1px solid var(--grey-light);
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7d7d7d;
  font-size: 14px;
  font-weight: 400;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.news-calendar__clear:hover {
  background: var(--grey-light);
  color: var(--primary);
  border-color: var(--primary);
}

.news-calendar__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--white);
  border: 1px solid var(--grey-light);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 10px 20px rgba(0, 19, 43, 0.1);
  z-index: 1000;
}

.news-calendar__month-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px 10px;
  border-bottom: 1px solid var(--grey-light);
}

.news-calendar__nav-btn {
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #232323;
  transition: color 0.3s ease;
}

.news-calendar__nav-btn:hover {
  color: var(--primary);
}

.news-calendar__nav-btn:disabled {
  color: #cccccc;
  cursor: not-allowed;
}

.news-calendar__month-year {
  font-size: 16px;
  font-weight: 700;
  color: var(--primary);
}

.news-calendar__weekdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(40px, 1fr));
  gap: 0;
  padding: 10px 10px 0;
}

.news-calendar__weekday {
  font-size: 14px;
  text-align: center;
  color: var(--grey);
  width: 40px;
}

.news-calendar__days {
  display: grid;
  grid-template-columns: repeat(7, minmax(40px, 1fr));
  gap: 0;
  padding: 10px;
}

.news-calendar__day {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: none;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 400;
  color: #232323;
  transition: all 0.3s ease;
}

.news-calendar__day--clickable {
  cursor: pointer;
}

.news-calendar__day--clickable:hover {
  background: var(--primary);
  color: white;
}

.news-calendar__day--selected {
  background: var(--primary);
  color: white;
}

.news-calendar__day--today {
  background: rgba(147, 69, 216, 0.1);
  color: var(--primary);
  font-weight: 700;
}
.news-calendar--active .news-calendar__header {
  border-radius: 10px 10px 0 0;
}
/* Список новостей */
.news-feed__news-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Сайдбар */
.news-feed__sidebar {
  position: sticky;
  top: 20px;
}

.interesting-news__title {
  font-size: 24px;
  font-weight: 700;
  display: flex;
  color: var(--text);
  margin: 0 0 24px 0;
}

.interesting-news__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.interesting-news-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: all 0.2s;
}

.interesting-news-card:hover {
  transform: translateY(-4px);
}

.interesting-news-card__image {
  width: 100%;
  aspect-ratio: 20/9;
  border-radius: 14px;
  overflow: hidden;
}

.interesting-news-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.interesting-news-card__content {
  flex: 1;
  min-width: 0;
}

.interesting-news-card__title {
  font-size: 16px;
  line-height: 1.27;
  margin: 0 0 6px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  overflow: hidden;
  transition: all 0.2s;
}

.interesting-news-card__title:hover {
  color: var(--primary);
}

.interesting-news-card__title a {
  color: inherit;
  text-decoration: none;
}

.interesting-news-card__title a:hover {
  color: var(--primary);
}

.interesting-news-card__meta {
  display: flex;
  gap: 15px;
  align-items: center;
}

.interesting-news-card__meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 1.27;
  color: var(--grey);
}

/* Группа новостей по дате */
.news-date-group {
  background: var(--white);
  border-radius: 14px;
  overflow: hidden;
}

.news-date-group__header {
  padding: 20px;
  border-bottom: 1px solid var(--grey-light);
}

.news-date-group__date {
  font-size: 16px;
  color: var(--primary);
  margin: 0;
}

.news-date-group__posts {
  padding: 0;
}

/* Отдельная новость */
.news-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid var(--grey-light);
  transition: background-color 0.3s ease;
}

.news-item:last-child {
  border-bottom: none;
}

.news-item:hover {
  background-color: rgba(147, 69, 216, 0.02);
}

.news-item__time {
  flex-shrink: 0;
  width: 100px;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
}

.news-item__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.news-item__title {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.275;
  margin: 0;
  color: var(--text);
}

.news-item__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.news-item__title a:hover {
  color: var(--primary);
}

.news-item__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}

.news-item__meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--grey);
  font-size: 14px;
  line-height: 1.275;
}

.news-item__meta-item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* Пагинация */
.news-feed__pagination .page-numbers {
  margin: 0;
}
/* Кнопка "Показать еще" */
.news-feed__load-more {
  text-align: center;
}
.news-load-more-btn {
  width: 100%;
  margin: 0;
}
/* Пустые состояния */
.news-feed__empty {
  text-align: center;
  padding: 60px 20px;
}

.news-feed__empty-text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #666666;
  margin: 0;
}

/* Адаптивность */
@media (max-width: 768px) {
  .news-feed__title {
    font-size: 24px;
  }

  .calendar-form {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .calendar-form__submit,
  .calendar-form__reset {
    align-self: flex-start;
  }

  .news-date-group__header {
    padding: 16px;
  }

  .news-date-group__date {
    font-size: 14px;
  }

  .news-item {
    padding: 16px;
    gap: 8px;
  }

  .news-item__time {
    width: 80px;
    font-size: 14px;
  }

  .news-item__title {
    font-size: 14px;
  }

  .news-item__meta-item {
    font-size: 12px;
  }
}

@media (max-width: 768px) {
  .news-calendar {
    width: 100%;
  }

  .news-calendar__header {
    padding: 16px;
  }

  .news-calendar__month-header {
    padding: 12px 16px 8px;
  }

  .news-calendar__weekdays {
    padding: 8px 16px;
  }

  .news-calendar__days {
    padding: 8px 16px;
  }

  .news-date-group__header {
    padding: 14px;
  }

  .news-date-group__date {
    font-size: 14px;
  }

  .news-item {
    padding: 16px;
    gap: 8px;
  }

  .news-item__time {
    width: 80px;
    font-size: 14px;
  }

  .news-item__title {
    font-size: 14px;
  }

  .news-item {
    flex-direction: column;
  }
  .news-item__content {
    gap: 0;
  }
}

@media (max-width: 480px) {
  .news-calendar__header {
    padding: 12px;
  }

  .news-calendar__dropdown {
    box-shadow: 0 4px 12px rgba(0, 19, 43, 0.15);
  }

  .news-calendar__month-header {
    padding: 10px 12px 6px;
  }

  .news-calendar__month-year {
    font-size: 14px;
  }

  .news-calendar__nav-btn {
    width: 20px;
    height: 20px;
  }

  .news-calendar__weekdays {
    padding: 6px 12px;
  }

  .news-calendar__days {
    padding: 6px 12px;
  }

  .news-calendar__day {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  .news-item {
    padding: 14px;
    gap: 6px;
  }
  div.related__header {
    padding: 14px;
  }

  .news-load-more-btn {
    padding: 10px 20px;
    font-size: 14px;
  }

  .news-calendar__clear {
    padding: 6px 12px;
    font-size: 12px;
  }
}

/* Адаптивность для сайдбара */
@media (max-width: 1024px) {
  .news-feed__container--with-sidebar {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .news-feed__sidebar {
    position: static;
    order: 2;
  }

  .interesting-news__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 16px;
  }
}

@media (max-width: 768px) {
  .news-feed__sidebar {
    order: 1;
  }

  .interesting-news__title {
    font-size: 20px;
  }

  .interesting-news__list {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .interesting-news-card__title {
    font-size: 14px;
  }

  .interesting-news-card__meta {
    gap: 12px;
  }

  .interesting-news-card__meta-item {
    font-size: 12px;
  }
}


/* --- olegtix-block-page_author --- */
.page-author__box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.page-author__socials {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.page-author__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    overflow: hidden;
}

.page-author__social img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 480px) {
    .page-author__box {
        flex-direction: column;
        align-items: flex-start;
        border-radius: 16px;
    }
}


/* --- olegtix-block-promocodes_list --- */
/* Main block container */
.block-promocodes-list {
  position: relative;
  z-index: 1;
}

.block-promocodes-list__title {
  margin-bottom: 24px;
}

/* Grid Layout */
.block-promocodes-list__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

@media (min-width: 768px) {
  .block-promocodes-list__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (min-width: 1024px) {
  .block-promocodes-list__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}

/* Card Styling for each Promocode Item */
.block-promocodes-list .broker-promocode {
  width: 100%;
  background-color: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.block-promocodes-list .broker-promocode:hover {
  transform: none;
  box-shadow: none;
}

/* Input Group Styling Override - Minimalism & Dashed Border */
.block-promocodes-list .broker-promocode__input-group {
  background-color: transparent;
  border: 2px dashed #D9D9D9; /* Minimalist dashed border */
  border-radius: 12px;
  height: 54px;
  padding: 0 16px 0 20px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.block-promocodes-list .broker-promocode__input-group:hover,
.block-promocodes-list .broker-promocode__input-group:focus-within {
  border-color: var(--primary);
  background-color: rgba(147, 69, 216, 0.03); /* Extremely subtle tint on interaction */
}

/* Input Styling */
.block-promocodes-list .broker-promocode__input {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: 0.5px;
}

/* Copy Button Styling */
.block-promocodes-list .broker-promocode__copy-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background-color: transparent;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.block-promocodes-list .broker-promocode__copy-btn:hover {
  background-color: rgba(147, 69, 216, 0.1);
  transform: scale(1.1);
}

.block-promocodes-list .broker-promocode__copy-btn svg {
  width: 20px;
  height: 20px;
  fill: var(--primary);
}

.block-promocodes-list .broker-promocode__copy-btn:active {
  transform: scale(0.95);
}

/* Mobile Adaptation */
@media (max-width: 768px) {
  .block-promocodes-list__title {
    margin-bottom: 16px;
    font-size: 24px; /* Adjust title size if needed */
  }

  .block-promocodes-list__grid {
    gap: 12px;
  }

  .block-promocodes-list .broker-promocode__input-group {
    height: 44px; /* Smaller height */
    padding: 0 12px 0 14px;
    border-radius: 10px;
    border-width: 1.5px; /* Thinner border */
  }

  .block-promocodes-list .broker-promocode__input {
    font-size: 14px; /* Smaller font */
  }

  .block-promocodes-list .broker-promocode__copy-btn {
    width: 28px;
    height: 28px;
  }

  .block-promocodes-list .broker-promocode__copy-btn svg {
    width: 18px;
    height: 18px;
  }
}


/* --- olegtix-block-review_experience --- */
.block-review-experience {
  margin: 0 15px;
}
.review-experience__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background-color: var(--white);
  border-radius: 14px;
  padding: 20px 40px;
  max-width: 1320px;
}

.review-experience__text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.review-experience__button {
  padding: 13px 32px;
}
.review-experience__title {
  font-weight: 700;
  font-size: 24px;
  color: var(--text);
  margin: 0;
}
.review-experience__title--comments {
  text-align: left;
  line-height: 1.1;
}
.review-experience__button--comments {
  text-align: left;
  padding: 11px 5px;
  width: 100%;
}
.review-experience__subtitle {
  font-size: 16px;
  color: var(--grey);
  margin: 0;
}

.review-experience__button-wrapper {
  flex-shrink: 0;
}
.review-experience {
  position: sticky;
  top: 10px;
}
.review-experience__button-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.review-experience__inner {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  row-gap: 12px;
  background: #fff;
  border-radius: 14px;
  padding: 20px;
}
.review-experience__inner--comments {
  align-items: stretch;
}
/* Адаптивность */
@media (max-width: 768px) {
  .review-experience__container {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
    padding: 16px 20px;
  }

  .review-experience__title {
    font-size: 20px;
  }

  .review-experience__subtitle {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .review-experience__button-wrapper {
    width: 100%;
  }
  .review-experience__title {
    font-size: 18px;
  }
  .review-experience__subtitle {
    font-size: 14px;
  }
}


/* --- olegtix-block-textblock --- */
.block-textblock {
  background: transparent;
}

.block-textblock--with-background {
  margin: 20px 0 48px 0;
  padding-inline: 15px;
}
/* .block-textblock__container {
  padding: 0;
} */
.block-textblock--with-background .block-textblock__container {
  background: #ffffff;
  border-radius: 14px;
  max-width: 1320px;
  padding: 40px;
}

.block-textblock--small {
  margin: 24px auto;
}
.block-textblock__header {
  display: flex;
  align-items: center;
  gap: 24px;
}
h2.block-textblock__title {
  margin-top: 0;
}
.block-textblock__image {
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .block-textblock--with-background {
    margin: 20px 0 24px 0;
    padding-inline: 20px;
  }
  .block-textblock--with-background .block-textblock__container {
    border-radius: 12px;
    padding: 20px;
  }
  .block-textblock--small {
    margin: 16px 0;
  }
}

@media (max-width: 480px) {
  .block-textblock--with-background {
    margin: 20px 0 20px 0;
    padding-inline: 16px;
  }
  .block-textblock--with-background .block-textblock__container {
    border-radius: 10px;
    padding: 16px;
  }
  .block-textblock--small {
    margin: 14px 0;
  }
  .block-textblock__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}


/* --- olegtix-block-sidebar_sports --- */
.match-center__layout {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.match-center__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  max-width: 100%;
  min-width: 0;
}

.match-center__sidebar {
  flex-shrink: 0;
  width: 312px;
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}

@media (max-width: 991px) {
  .match-center__layout {
    flex-direction: column;
  }
  .match-center__sidebar {
    width: 100%;
  }
  .match-center__sidebar .sidebar-bonuses {
    display: none;
  }
}

.sidebar-sports__menu-item--active {
  background: #f3e8ff;
  font-weight: 600;
}

.sidebar-sports__list {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}

.sidebar-sports {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  max-width: 312px;
}

.sidebar-sports__card {
  background: #fff;
  border-radius: 14px;
  padding: 4px;
  overflow: hidden;
}

.sidebar-sports__sport-header {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 15px 20px;
  border-radius: 10px;
  background: #fff;
  color: #232323;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 0.2s,
    color 0.2s;
  border: none;
  font-family: "Onest", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
}

.sidebar-sports__sport-header:hover {
  background: #f4f4f4;
  color: #232323;
}

.sidebar-sports__sport-header--active {
  background: #232323;
  color: #fff;
}

.sidebar-sports__sport-header--active:hover {
  background: #333;
  color: #fff;
}

.sidebar-sports__sport-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.sidebar-sports__sport-icon svg,
.sidebar-sports__sport-icon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.sidebar-sports__sport-name {
  flex: 1;
  text-align: left;
}

.sidebar-sports__chevron {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  transition: transform 0.2s;
}

.sidebar-sports__card--expanded
  > .sidebar-sports__sport-header
  .sidebar-sports__chevron {
  transform: rotate(0deg);
}

.sidebar-sports__card:not(.sidebar-sports__card--expanded)
  > .sidebar-sports__sport-header
  .sidebar-sports__chevron {
  transform: rotate(180deg);
}

.sidebar-sports__content {
  display: flex;
  flex-direction: column;
}

.sidebar-sports__menu-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 20px;
  color: #232323;
  text-decoration: none;
  font-family: "Onest", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  border-bottom: 1px solid #f4f4f4;
  transition:
    background-color 0.15s,
    color 0.15s;
}

.sidebar-sports__menu-item:hover {
  background: #fafafa;
  color: #9345d8;
}

.sidebar-sports__menu-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: #232323;
}

.sidebar-sports__menu-icon--purple {
  color: #9345d8;
}

.sidebar-sports__country {
  display: flex;
  flex-direction: column;
}

.sidebar-sports__country-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 20px;
  background: #f4f4f4;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  font-family: "Onest", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  color: #232323;
  width: 100%;
  text-align: left;
  margin-top: 1px;
  transition: background-color 0.15s;
}

.sidebar-sports__country-header:hover {
  background: #ececec;
}

.sidebar-sports__country--expanded > .sidebar-sports__country-header {
  border-radius: 10px 10px 0 0;
}

.sidebar-sports__country-flag {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  border-radius: 2px;
  object-fit: cover;
}

.sidebar-sports__country-name {
  flex: 1;
}

.sidebar-sports__country .sidebar-sports__chevron {
  transform: rotate(180deg);
}

.sidebar-sports__country--expanded .sidebar-sports__chevron {
  transform: rotate(0deg);
}

.sidebar-sports__leagues {
  display: flex;
  flex-direction: column;
}

.sidebar-sports__league {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  color: #232323;
  font-family: "Onest", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  text-decoration: underline;
  border-bottom: 1px solid #f4f4f4;
  transition:
    background-color 0.15s,
    color 0.15s;
}

.sidebar-sports__league:last-child {
  border-bottom: none;
}

.sidebar-sports__league:hover {
  color: #9345d8;
  background: #fafafa;
}

.sidebar-sports__league-logo {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  object-fit: contain;
}

.sidebar-sports__league-count {
  color: #888;
  font-size: 14px;
  text-decoration: none;
  display: inline;
}

.sidebar-sports__mobile-toggle {
  display: none;
}

@media (max-width: 991px) {
  .sidebar-sports {
    max-width: 100%;
  }

  .sidebar-sports__mobile-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 20px;
    border-radius: 14px;
    border: none;
    cursor: pointer;
    font-family: "Onest", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    color: #fff;
    background: linear-gradient(135deg, #9345d8, #7b2fc4);
  }

  .sidebar-sports__mobile-close {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    transition: transform 0.2s;
  }

  .sidebar-sports:not(.sidebar-sports--mobile-open)
    .sidebar-sports__mobile-close {
    transform: rotate(45deg);
  }

  .sidebar-sports__list {
    display: none;
    flex-direction: column;
    gap: 8px;
  }

  .sidebar-sports--mobile-open .sidebar-sports__list {
    display: flex;
  }
}


/* --- olegtix-block-sidebar_bonuses --- */
.sidebar-bonuses {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #fff;
    border-radius: 14px;
    padding: 14px;
    width: 100%;
    max-width: 312px;
}

.sidebar-bonuses__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.sidebar-bonuses__title {
    font-family: 'Onest', sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 23px;
    color: #232323;
}

.sidebar-bonuses__gift-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.sidebar-bonuses__item {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f4f4f4;
    border-radius: 10px;
    padding: 8px;
}

.sidebar-bonuses__number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    min-width: 24px;
    background: #fff;
    border-radius: 50%;
    font-family: 'Onest', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #232323;
}

.sidebar-bonuses__logo {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.sidebar-bonuses__logo img {
    max-width: 100%;
    max-height: 20px;
    object-fit: contain;
}

.sidebar-bonuses__logo-text {
    font-family: 'Onest', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #232323;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-bonuses__btn {
    flex-shrink: 0;
    white-space: nowrap;
    width: 149px;
    text-align: center;
    justify-content: center;
    box-sizing: border-box;
}

.sidebar-bonuses__all-btn {
    width: 100%;
    text-align: center;
    justify-content: center;
}

@media (max-width: 991px) {
    .sidebar-bonuses {
        max-width: 100%;
    }
}


/* --- olegtix-block-league_matches --- */
.block-league-matches {
  margin: 24px 0;
}
.title + .block-league-matches {
  margin-top: 0;
}
.block-league-matches + .block-league-matches {
  margin-top: 0;
}
.matches-table {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  padding: 4px;
}

.block-league-matches .dates-header {
  margin-bottom: 12px;
}

.block-league-matches__leagues {
  display: flex;
  gap: 8px;
  padding: 0 0 12px;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #ccc transparent;
}

.block-league-matches__leagues::-webkit-scrollbar {
  height: 6px;
}

.block-league-matches__leagues::-webkit-scrollbar-track {
  background: transparent;
}

.block-league-matches__leagues::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}

.block-league-matches__leagues::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}

.block-league-matches__league-item {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
  background: #f5f5f5;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s;
}

.block-league-matches__league-item:hover {
  background: #ebebeb;
}

.block-league-matches__league-item--active {
  background: var(--primary);
  color: var(--white);
}

.block-league-matches__league-count {
  opacity: 0.7;
}

@media (max-width: 768px) {
  .matches-table {
    background: transparent;
    padding: 0;
  }
}


/* --- olegtix-block-popular_events --- */
.pe {
  margin: 0 0 48px;
}
.pe--single {
  margin-bottom: 16px;
}
.pe .sort-btn--active.sport-tabs__tab {
  background-color: var(--white);
  color: var(--primary);
}

.pe__matches {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pe-card {
  background: var(--white);
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.pe-card__header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 420px;
  padding: 6px 12px;
  border: 1px solid var(--grey-light);
  border-radius: 6px;
  font-size: 12px;
}

.pe-card__tournament {
  color: var(--text);
}

a.pe-card__tournament--link,
a.pe-card__team--link {
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease;
}

a.pe-card__tournament--link:hover,
a.pe-card__team--link:hover .pe-card__team-name,
a.pe-card__team--link:hover {
  color: var(--primary);
}

.pe-card__time {
  color: var(--grey);
}

.pe-card__teams {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  width: 100%;
}

.pe-card__team {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  min-width: 0;
  gap: 20px;
}

.pe-card__team:last-child {
  grid-template-columns: auto 1fr;
}

.pe-card__team-logo {
  width: 100px;
  height: 100px;
  object-fit: contain;
  justify-self: center;
}

.pe-card__team:last-child .pe-card__team-logo {
  order: 1;
}

.pe-card__team-name {
  font-size: 24px;
  font-weight: 700;
  min-width: 0;
  word-break: break-word;
}

.pe-card__team:first-child .pe-card__team-name {
  text-align: right;
}

.pe-card__team:last-child .pe-card__team-name {
  text-align: left;
}

.pe-card__vs {
  font-size: 24px;
  font-weight: 700;
  color: var(--text);
  flex-shrink: 0;
}

.pe-card__score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  min-width: 88px;
}

.pe-card__score-detail {
  max-width: 180px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--grey);
  text-align: center;
  overflow-wrap: anywhere;
}

.pe-card__odds-main {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.pe-card__odd-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.pe-card__odd-label {
  font-size: 14px;
  color: var(--text);
}

.pe-card__odd-value {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 50px;
  background: var(--primary);
  color: var(--white);
  font-size: 20px;
  font-weight: 700;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.pe-card__odd-value:hover {
  background: var(--primary-hover);
}

.pe-card__odd-value--changed {
  animation: pe-highlight 2s ease-out;
}

@keyframes pe-highlight {
  0% {
    background: #e8f5e9;
  }
  100% {
    background: var(--primary);
  }
}

.pe-card__more-link {
  width: fit-content;
  font-weight: 400;
}

.pe-card__bk-cta-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
}

.pe-card__bk-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  background: var(--grey-light);
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.15s ease;
}

.pe-card__bk-cta:hover {
  background: #e8f0fe;
}

.pe-card__bk-cta-logo {
  display: block;
  height: 32px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  border-radius: 6px;
}

.pe-card__best-odds {
  background: var(--grey-light);
  border-radius: 14px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

.pe-card__best-odds-title {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.pe-card__best-odds-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

.pe-card__best-odd {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 8px;
  height: 42px;
  padding: 6px 12px;
  background: var(--white);
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 14px;
  overflow: hidden;
}

.pe-card__best-odd:has(.pe-card__best-odd-link) {
  display: block;
  padding: 0;
}

.pe-card__best-odd:has(.pe-card__best-odd-link):hover {
  border-color: var(--primary);
}

.pe-card__best-odd-type {
  color: var(--grey);
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pe-card__best-odd-value {
  min-width: 44px;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
  text-align: right;
}

.pe-card__best-odd-bk {
  width: 56px;
  height: 22px;
  object-fit: contain;
}

.pe-card__odd-main-link,
.pe-card__best-odd-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.pe-card__odd-main-link {
  flex-direction: column;
  gap: 8px;
  flex: 1;
  width: 100%;
}

.pe-card__best-odd-link {
  display: grid;
  grid-template-columns: 1fr auto auto;
  height: 100%;
  gap: 8px;
  padding: 6px 12px;
  min-width: 0;
}

@media (max-width: 768px) {
  .pe .sport-tabs .sort-btn img {
    width: 24px;
    height: 24px;
  }

  .pe-card {
    padding: 16px;
    gap: 16px;
  }

  .pe-card__teams {
    gap: 12px;
  }

  .pe-card__team,
  .pe-card__team:last-child {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 8px;
  }

  .pe-card__team:last-child .pe-card__team-logo {
    order: 0;
  }

  .pe-card__team-logo {
    width: 50px;
    height: 50px;
  }

  .pe-card__team-name {
    font-size: 14px;
  }

  .pe-card__team:first-child .pe-card__team-name,
  .pe-card__team:last-child .pe-card__team-name {
    text-align: center;
  }

  .pe-card__vs {
    font-size: 16px;
  }

  .pe-card__score {
    min-width: 70px;
    gap: 2px;
  }

  .pe-card__score-detail {
    max-width: 96px;
    font-size: 11px;
  }

  .pe-card__odds-main {
    width: 100%;
    gap: 6px;
  }

  .pe-card__bk-cta {
    padding: 8px 20px;
  }

  .pe-card__bk-cta-logo {
    height: 28px;
  }

  .pe-card__odd-main {
    flex: 1 1 0;
    min-width: 0;
  }

  .pe-card__odd-label {
    font-size: 13px;
    white-space: nowrap;
  }

  .pe-card__odd-value {
    width: 100%;
    height: 44px;
    font-size: 18px;
  }

  .pe-card__best-odds {
    padding: 12px;
    gap: 10px;
  }

  .pe-card__best-odds-title {
    font-size: 16px;
  }

  .pe-card__best-odds-row {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 8px;
  }

  .pe-card__best-odd {
    height: 40px;
    padding: 6px 12px;
  }

  .pe-card__best-odd:has(.pe-card__best-odd-link) {
    padding: 0;
  }

  .pe-card__best-odd-link {
    padding: 6px 12px;
  }
}


/* --- olegtix-block-league_matches_tabs --- */
.block-lm-tabs {
  margin-bottom: 16px;
}

.block-lm-tabs__title {
  font-size: 24px;
  font-weight: 700;
  color: #232323;
  margin: 0 0 16px;
}

.block-lm-tabs .sport-tabs {
  margin: 0 0 16px;
}

.block-lm-tabs .sort-btn:not(.sort-btn--active) {
  background: transparent;
  color: var(--text);
}

.block-lm-tabs .sort-btn--active {
  background-color: var(--white);
  color: var(--primary);
}

.block-lm-tabs__panels {
  min-height: 100px;
}

.block-lm-tabs__panel {
  display: none;
}

.block-lm-tabs__panel--active {
  display: block;
}

.block-lm-tabs__panel .matches-table {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  padding: 4px;
  margin-bottom: 16px;
}

.block-lm-tabs__panel .matches-table:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .block-lm-tabs__panel .matches-table {
    background: transparent;
    padding: 0;
  }
}


/* --- olegtix-block-expert_predictions --- */
.block-expert-predictions {
  margin-bottom: 16px;
}

.block-expert-predictions .dates-header {
  margin-bottom: 16px;
}

.block-expert-predictions .sport-tabs {
  margin: 0 0 16px;
}

.block-expert-predictions .sort-btn:not(.sort-btn--active) {
  background: transparent;
  color: var(--text);
}

.block-expert-predictions .sort-btn--active {
  background-color: var(--white);
  color: var(--primary);
}

.block-expert-predictions__cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.block-expert-predictions__empty {
  padding: 40px 20px;
  text-align: center;
  font-size: 14px;
  color: #7d7d7d;
}

.block-expert-predictions__empty + .block-expert-predictions__nearest {
  padding-top: 0;
}

.block-expert-predictions__nearest {
  padding: 8px 20px 24px;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
}

.block-expert-predictions__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.block-expert-predictions__more-btn {
  background: transparent;
  border: 1px solid var(--primary);
  color: var(--primary);
  border-radius: 10px;
  padding: 0 32px;
  height: 50px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.block-expert-predictions__more-btn:hover {
  background: var(--primary);
  color: var(--white);
}

.block-expert-predictions__more-btn--loading {
  opacity: 0.6;
  pointer-events: none;
}



/* --- olegtix-block-banner --- */
.block-banner {
    padding: 48px 0;
}

.block-banner__link {
    display: block;
}

.block-banner__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
}


/* --- olegtix-block-experts_slider --- */
.experts-slider {
  padding: 48px 0;
  overflow: hidden;
  width: 100%;
}

.experts-slider__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.experts-slider__title {
  margin: 0;
}

.experts-slider__navigation {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.experts-slider__nav-btn {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.experts-slider__nav-btn:hover {
  background-color: var(--grey-light);
}

.experts-slider__nav-btn.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.experts-slider__slider {
  overflow: visible;
  width: 100%;
}

.experts-slider__footer {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.experts-slider__footer .btn {
  padding: 14px 32px;
}

.expert-card {
  background: var(--white);
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}

.expert-card__avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.expert-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.expert-card__avatar-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--grey-light);
  color: var(--text);
  font-size: 36px;
  font-weight: 700;
}

.expert-card__name {
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
}

.expert-card__position {
  font-size: 14px;
  color: #888;
  margin-top: -12px;
}

.expert-card__btn {
  width: 100%;
  font-size: 14px;
  padding: 12px 20px;
}

@media (max-width: 991px) {
  .experts-slider {
    max-width: 100vw;
  }
}

@media (max-width: 768px) {
  .experts-slider {
    padding: 32px 0;
  }

  .experts-slider__header {
    margin-bottom: 16px;
  }

  .expert-card {
    padding: 16px;
    gap: 16px;
  }

  .expert-card__avatar {
    width: 80px;
    height: 80px;
  }

  .expert-card__name {
    font-size: 16px;
  }
}


/* --- olegtix-block-experts --- */
.block-experts {
  margin-top: 40px;
  margin-bottom: 40px;
}

.block-experts__title {
  margin-bottom: 24px;
}

.block-experts__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.expert-listing-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  padding: 20px;
  border-radius: 14px;
  background: var(--white);
}

.expert-listing-card__head {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.expert-listing-card__avatar {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--grey-light);
}

.expert-listing-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.expert-listing-card__avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--grey);
  font-size: 36px;
  font-weight: 700;
}

.expert-listing-card__heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  flex: 1;
}

.expert-listing-card__name {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--text);
}

.expert-listing-card__position {
  margin: 0;
  font-size: 12px;
  line-height: 1.3;
  color: var(--grey);
}

.expert-listing-card__sport {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--grey-light);
}

.expert-listing-card__sport img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.expert-listing-card__bio {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--text);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.expert-listing-card__stats {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.expert-listing-card__stat {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 16px;
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--grey-light);
}

.expert-listing-card__stat-label {
  font-size: 12px;
  line-height: 1.3;
  color: var(--text);
}

.expert-listing-card__stat-value {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--primary);
  white-space: nowrap;
}

.expert-listing-card__btn {
  margin-top: auto;
  width: 100%;
  height: 50px;
  padding: 0 32px;
  box-shadow: 0 5px 10px rgba(147, 69, 216, 0.25);
}

.block-experts__more {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.block-experts__more[hidden] {
  display: none;
}

.block-experts__more-btn {
  min-width: 185px;
  height: 50px;
}

.block-experts__more-btn.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

.block-experts__pagination {
  display: flex;
  justify-content: center;
}

.block-experts__empty {
  padding: 32px 0;
  color: var(--grey);
  font-size: 14px;
}

.block-experts.is-loading {
  opacity: 0.7;
}

@media (max-width: 1024px) {
  .block-experts__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .block-experts {
    margin-top: 32px;
    margin-bottom: 32px;
  }

  .block-experts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .block-experts__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .block-experts__more-btn {
    width: 100%;
  }
}


/* --- olegtix-block-sport_leagues --- */
.block-sport-leagues {
    margin: 0;
}

.block-sport-leagues .sport-tabs {
    margin: 0 0 16px;
}

.block-sport-leagues__hub-link {
    display: inline-block;
    margin: 0 0 12px;
    color: #9345d8;
    font-weight: 600;
    text-decoration: none;
}

.block-sport-leagues__hub-link:hover {
    text-decoration: underline;
}

.block-sport-leagues__see-all {
    display: inline-block;
    margin-top: 8px;
    color: #9345d8;
    font-size: 14px;
    text-decoration: none;
}

.block-sport-leagues__see-all:hover {
    text-decoration: underline;
}

.block-sport-leagues__panel {
    display: none;
}

.block-sport-leagues__panel--active {
    display: block;
}

.block-sport-leagues__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 24px;
}

.block-sport-leagues__card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f5f5f5;
    border-radius: 10px;
    padding: 12px 20px;
    text-decoration: none;
    color: #232323;
    font-size: 14px;
    transition: opacity 0.2s;
}

.block-sport-leagues__card:hover {
    opacity: 0.7;
}

.block-sport-leagues__panel[data-panel="popular"] .block-sport-leagues__card {
    background: #fff;
}

.block-sport-leagues__empty {
    padding: 16px 20px;
    background: #fff;
    border-radius: 10px;
    color: #7d7d7d;
    font-size: 14px;
}

.block-sport-leagues__card-logo {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    object-fit: contain;
}

.block-sport-leagues__card-icon {
    display: flex;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.block-sport-leagues__card-icon svg {
    width: 100%;
    height: 100%;
}

.block-sport-leagues__country {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 8px;
    padding: 0 20px;
}

.block-sport-leagues__country-header {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 16px 0;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
}

.block-sport-leagues__country-flag {
    width: 20px;
    height: 20px;
    border-radius: 2px;
    flex-shrink: 0;
    object-fit: cover;
}

.block-sport-leagues__country-name {
    font-weight: 700;
    font-size: 16px;
    color: #232323;
    flex: 1;
}

.block-sport-leagues__country-chevron {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform 0.2s;
    color: #7d7d7d;
}

.block-sport-leagues__country--open .block-sport-leagues__country-chevron {
    transform: rotate(180deg);
}

.block-sport-leagues__country-body {
    display: none;
    padding: 0 0 16px;
}

.block-sport-leagues__country--open .block-sport-leagues__country-body {
    display: block;
}

@media (max-width: 768px) {
    .block-sport-leagues__grid {
        grid-template-columns: 1fr;
    }

    .block-sport-leagues .sport-tabs__tab {
        font-size: 18px;
    }

    .block-sport-leagues .sport-tabs__tab-text {
        display: inline;
    }
}


/* --- olegtix-single-broker --- */
.broker-header__brand {
  display: none;
}

@media (max-width: 767px) {
  .broker-header__brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
  }
  .broker-header__brand-logo {
    display: inline-flex;
    flex: 0 0 auto;
  }
  .broker-header__brand-logo img {
    height: 40px;
    width: auto;
    max-width: 140px;
    object-fit: contain;
    background: #fff;
    padding: 8px;
    border-radius: 11px;
  }
  .broker-header__brand-name {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text);
  }
}

