.bo-wrap{margin:0 auto 40px}
.bo-wrap--compact{padding:0 20px;margin:20px 0}
.bo-h2{font-size:26px;font-weight:800;margin:0 0 16px;color:#fff}
.bo-wrap--compact .bo-h2{font-size:20px;color:inherit}
.bo-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 auto 22px}
.bo-nav__i{border:1px solid rgba(255,255,255,.25);color:#e6e8f2!important;border-radius:1rem;padding:6px 14px;font-size:14px;font-weight:600;text-decoration:none!important}
.bo-nav__i:hover{border-color:#6dc510;color:#6dc510!important}
.bo-nav__i.is-on{background:#47800a;border-color:#47800a;color:#fff!important}
.bo-text{max-width:1438px;width:calc(100% - 30px);margin:0 auto 40px;padding:24px 28px;background:#fff;border-radius:1rem;color:#212529}
.bo-text h2{font-size:22px;font-weight:800;margin:22px 0 10px;color:#1d2731}
.bo-text h2:first-child{margin-top:0}
.bo-text ul{padding-left:20px;margin:0 0 1rem}
.bo-intro{max-width:1468px;margin:0 auto 18px;padding:0 15px;color:#e6e8f2;font-size:16px}
.bo-filters{background:#fff;border-radius:1rem;padding:14px 16px;margin:0 0 18px;box-shadow:0 2px 14px rgba(29,39,49,.12)}
.bo-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.bo-tab{border:1px solid #dee2e6;background:#f8f9fa;color:#1d2731;border-radius:1rem;padding:6px 14px;font-size:14px;font-weight:600;cursor:pointer}
.bo-tab.is-on{background:#47800a;border-color:#47800a;color:#fff}
.bo-opts{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:14px;color:#212529}
.bo-opts label{display:inline-flex;align-items:center;gap:6px;margin:0;cursor:pointer}
.bo-opts input{accent-color:#47800a;width:16px;height:16px}
.bo-sort{margin-left:auto!important}
.bo-sort select{border:1px solid #dee2e6;border-radius:.3rem;padding:4px 8px;font-size:14px;background:#fff;color:#1d2731}
.bo-count{margin:10px 0 0;font-size:13px;color:#6c757d}
.bo-empty{background:#fff;border-radius:1rem;padding:20px;text-align:center;color:#495057}
.bo-disc{font-size:13px;color:#a9b0bd;margin:6px 0 0}
.bo-wrap--compact .bo-disc{color:#6c757d}
/* карточка бонуса F «билет с крупной цифрой» (22.10.2026) */
.bo-card{display:grid;grid-template-columns:200px minmax(0,1fr) 240px;border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 2px 14px rgba(29,39,49,.12);margin:0 0 18px;color:#212529;scroll-margin-top:90px}
.bo-card--compact{grid-template-columns:170px minmax(0,1fr) 220px}
.bo-stub{position:relative;display:flex;flex-direction:column;justify-content:center;padding:18px 16px;color:#fff;border-right:2px dashed rgba(255,255,255,.55);min-width:0}
.bo-stub::before,.bo-stub::after{content:"";position:absolute;right:-11px;width:20px;height:20px;border-radius:50%;background:#0d0e35}
.bo-stub::before{top:-10px}.bo-stub::after{bottom:-10px}
.bo-wrap--compact .bo-stub::before,.bo-wrap--compact .bo-stub::after{background:#fff}
.bo-stub--ok{background:linear-gradient(160deg,#4a8c1c,#2f6510)}.bo-stub--mid{background:linear-gradient(160deg,#c98a00,#9c6a00)}
.bo-stub--bad{background:linear-gradient(160deg,#c0392b,#932b21)}.bo-stub--na{background:linear-gradient(160deg,#6b7280,#495060)}
.bo-stub__pre{font-size:14px;opacity:.92;line-height:1.2}
.bo-stub__big{font-size:44px;font-weight:900;line-height:1;letter-spacing:-.5px;word-break:break-word}
.bo-stub__rest{font-size:16px;font-weight:700;margin-top:4px;line-height:1.2}
.bo-stub__type{margin-top:10px;font-size:12px;opacity:.85;line-height:1.3}
.bo-main{padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.bo-brand{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bo-brand__logo{display:flex;align-items:center;justify-content:center;width:72px;height:40px;border-radius:.4rem;background:#0f1020;overflow:hidden;flex:none}
.bo-brand__logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.bo-brand__name{font-weight:800;font-size:17px;color:#1d2731!important;text-decoration:none!important}
.bo-brand__rate{font-size:13px;color:#6c757d}
.bo-badge{margin-left:auto;font-size:12px;font-weight:700;padding:5px 10px;border-radius:1rem;white-space:nowrap}
.bo-badge--ok{background:#e7f5e1;color:#2f6510}.bo-badge--mid{background:#fff4d9;color:#8a5f00}.bo-badge--bad{background:#fdecea;color:#b3261e}.bo-badge--na{background:#f1f2f5;color:#6b7280}
.bo-sub{color:#495057;font-size:15px;margin:0}
.bo-line{list-style:none;display:flex;margin:4px 0 0;padding:0}
.bo-line li{flex:1;position:relative;text-align:center;font-size:12px;color:#3b4252;min-width:0;padding:0 2px}
.bo-line li::before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:#cfe3bd}
.bo-line li:first-child::before{display:none}
.bo-line span{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#47800a;color:#fff;font-weight:800;font-size:13px}
.bo-line small{display:block;margin-top:4px;line-height:1.25;font-size:12px}
.bo-price{margin:0;padding:9px 12px;border-radius:.6rem;background:#f4f6fb;font-size:15px;color:#1d2731}
.bo-price small{color:#6c757d;font-size:13px}
.bo-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:14px;color:#6c757d}
.bo-facts b{color:#1d2731}
.bo-card .lv-ok b,.bo-price .lv-ok{color:#2f7d1a}.bo-card .lv-mid b,.bo-price .lv-mid{color:#9a6b00}.bo-card .lv-bad b,.bo-price .lv-bad{color:#b3261e}.bo-card .lv-na b{color:#6b7280}
.bo-more summary{cursor:pointer;font-weight:700;color:#47800a;list-style:none;font-size:15px}
.bo-more summary::-webkit-details-marker{display:none}
.bo-more summary::after{content:" ▾"}.bo-more[open] summary::after{content:" ▴"}
.bo-steps,.bo-terms{margin:8px 0 0;padding:0;list-style:none;font-size:14px}
.bo-steps li{padding:3px 0 3px 18px;position:relative}
.bo-steps li::before{content:"";position:absolute;left:4px;top:11px;width:6px;height:6px;border-radius:50%;background:#47800a}
.bo-terms li{padding:3px 0 3px 24px;position:relative}
.bo-terms .ok::before{content:"✓";position:absolute;left:4px;color:#47800a;font-weight:700}
.bo-terms .warn::before{content:"!";position:absolute;left:7px;color:#c77800;font-weight:800}
.bo-note{font-size:13px;color:#6c757d;margin:8px 0 0}
.bo-act{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:16px;background:#fafbfd;border-left:1px solid #e9ecef}
.bo-code{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 10px;border:2px dashed #9fc27a;border-radius:.6rem;background:#f6fbf0;font-size:13px;color:#6c757d}
.bo-code__box{font:800 15px/1 ui-monospace,Consolas,monospace;color:#1d2731;background:none;padding:0;letter-spacing:.4px}
.bo-copy{margin-left:auto;min-height:34px;border:1px solid #47800a;background:#fff;color:#47800a;border-radius:.4rem;padding:0 12px;font-size:13px;font-weight:700;cursor:pointer}
.bo-cta{display:flex;align-items:center;justify-content:center;min-height:48px;background:#47800a;color:#fff!important;font-weight:800;border-radius:.6rem;padding:0 18px;text-decoration:none!important;font-size:16px;text-align:center}
.bo-cta:hover{background:#3a6a08}
.bo-checked{font-size:12px;color:#6c757d;text-align:center}
.bo-checked b{color:#47800a;font-weight:600}
.bo-checked--old{color:#a35f00}
@media (max-width:1100px){.bo-card,.bo-card--compact{grid-template-columns:170px minmax(0,1fr)}.bo-act{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;border-left:0;border-top:1px solid #e9ecef}.bo-act .bo-cta{flex:1 1 220px}.bo-act .bo-code{flex:1 1 220px}.bo-checked{flex-basis:100%}}
@media (max-width:640px){.bo-card,.bo-card--compact{grid-template-columns:1fr}
 .bo-stub{border-right:0;border-bottom:2px dashed rgba(255,255,255,.55);padding:14px 16px}
 .bo-stub::before,.bo-stub::after{top:auto;bottom:-11px}.bo-stub::before{left:-10px}.bo-stub::after{right:-10px}
 .bo-stub__big{font-size:38px}.bo-main{padding:14px}.bo-act{flex-direction:column;align-items:stretch}.bo-act .bo-cta,.bo-act .bo-code{flex:none;width:100%;align-self:stretch}.bo-act .bo-checked{flex-basis:auto}
 .bo-badge{margin-left:0}.bo-line small{font-size:11px}}
@media (max-width:860px){.bo-sort{margin-left:0!important}}
/* 22.10: вводный абзац внутри .container (страницы спорта) и подзаголовки h3 в тексте раздела */
.container>.bo-intro{max-width:none;padding:0;margin:0 0 18px}
.bo-text h3{font-size:18px;font-weight:800;margin:18px 0 8px;color:#1d2731}
.bo-nav--intext{margin:22px 0 0}
