/* Shared 22Bet-inspired theme. Original content and routes are retained. */
:root {
  --royal: #0d3b3e;
  --royal-2: #154b4d;
  --royal-3: #167568;
  --night: #082d30;
  --signal: #78ce27;
  --signal-2: #8cde3d;
  --paper: #f2f5f5;
  --card: #fff;
  --ink: #293e40;
  --ink-soft: #607375;
  --line: #dce6e5;
  --mint: #78ce27;
  --r-s: 4px;
  --r-m: 8px;
  --r-l: 12px;
  --measure: 82ch;
}
body { font-size: 16px; line-height: 1.65; background: var(--paper); }
.wrap { max-width: 1248px; }
.btn { border-radius: 4px; min-height: 44px; font-size: 14px; padding-inline: 24px; font-weight: 750; }
.btn--signal { color: #12352b; box-shadow: none; }
.btn--signal:hover { box-shadow: 0 4px 18px #78ce2726; }
.btn--ghost { background: #236164; box-shadow: none; }
.btn--ghost:hover { background: #2d7475; box-shadow: none; }
.btn--lg { min-height: 54px; padding-inline: 40px; font-size: 17px; }
.header { background: #0b3538; box-shadow: 0 1px 0 #ffffff12; }
.header__inner { height: 78px; gap: 36px; }
.logo img { width: 132px; }
.nav { gap: 6px; }
.nav > a, .more__btn { color: #e5eeed; font-size: 14px; font-weight: 650; padding: 12px 10px; }
.nav > a:hover, .more__btn:hover { color: var(--signal); }
.nav > a.is-active::after { background: var(--signal); bottom: -17px; height: 3px; }
.header__actions { gap: 8px; }
.header__actions .btn--ghost { background: var(--signal); color: #12352b; }
.header__actions .btn--signal { background: #236164; color: #fff; }
.header__actions .btn--ghost:hover { background: var(--signal-2); }
.header__actions .btn--signal:hover { background: #2d7475; }
.util { background: #16474a; color: #bcd0cf; font-size: 12px; }
.util__inner { min-height: 38px; }
.util__links { gap: 26px; }
.util__side { gap: 24px; }
.lang-btn { font-size: 12px; background: transparent; padding-inline: 4px; }
.lang-btn::after { content: ''; width: 5px; height: 5px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); margin-inline: 5px; margin-top: -3px; }
.flag { width: 20px; height: 14px; border-radius: 2px; }
.more__menu { border: 1px solid var(--line); border-radius: 4px; }
/* Panoramic hero with an image blending into the brand background. */
.hero { background: #103d40; }
.hero__title { font-size: clamp(32px, 3.6vw, 48px); line-height: 1.16; letter-spacing: -.025em; font-weight: 800; text-wrap: pretty; }
.hero--home { isolation: isolate; }
.hero--home .hero__inner { position: relative; min-height: 470px; display: flex; align-items: center; padding-block: 48px 54px; }
.hero--home .hero__text { position: relative; z-index: 3; width: 54%; max-width: 650px; }
.hero--home .hero__visual { position: absolute; z-index: -1; inset: 0; }
.hero--home .photo { position: absolute; inset-block: 0; inset-inline-start: 42%; inset-inline-end: 0; border-radius: 0; aspect-ratio: auto; background: #103d40; }
.hero--home .photo img { object-position: 48% 38%; }
.hero--home .photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #103d40 0%, #103d4080 25%, #103d4000 60%), linear-gradient(0deg, #103d4080, transparent 35%); }
[dir="rtl"] .hero--home .photo::after { background: linear-gradient(270deg, #103d40, #103d4080 25%, #103d4000 60%); }
.hero__actions { margin-top: 26px; }
.hero__terms { color: #bacfce; font-size: 11px; margin-top: 14px; }
.hero--home .ticket { position: static; width: auto; background: transparent; box-shadow: none; color: #fff; margin: 0 0 23px; }
.hero--home .ticket::before, .hero--home .ticket::after { display: none; }
.hero--home .ticket__top { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 14px; padding: 0; }
.hero--home .score { grid-row: 1 / 3; display: flex; align-items: center; gap: 1px; color: #fff; padding-inline-end: 15px; border-inline-end: 1px solid #ffffff35; }
.hero--home .score b { font-size: 33px; }
.hero--home .score span { font-size: 16px; color: #cadad7; }
.hero--home .stars { margin: 0 0 3px; color: var(--signal); gap: 2px; }
.hero--home .stars svg { width: 15px; height: 15px; }
.hero--home .ticket__label { margin: 0; color: #d2e0dd; font-size: 11px; }
.hero--home .ticket__bottom { display: none; }
.sports { background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 4px 16px #173c3c06; }
.sports__list { gap: 0; justify-content: space-between; padding-block: 0; }
.sports__list li { flex: 1; }
.sports__list a { display: flex; justify-content: center; gap: 11px; min-height: 76px; padding: 14px 20px; border: none; border-inline-end: 1px solid #e5ebea; border-radius: 0; font-size: 14px; }
.sports__list li:last-child a { border: 0; }
.sports__list a:hover { background: #f0f8eb; color: #286a39; }
.sports__list svg { width: 30px; height: 30px; color: #388675; }
.main { padding-block: 38px 64px; }
.layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; }
.layout--narrow { grid-template-columns: minmax(0, 1fr); max-width: 1000px; }
.content { max-width: none; padding: 30px 32px; background: #fff; border: 1px solid #e2e9e8; border-radius: 6px; font-size: 16px; line-height: 1.8; }
.content h2 { font-size: 27px; border-top: 1px solid var(--line); padding-top: 32px; margin-top: 36px; margin-bottom: 17px; font-weight: 750; }
.content > h2:first-child { padding-top: 0; }
.content h3 { font-size: 22px; font-weight: 750; }
.content h4 { font-size: 19px; }
.content p { margin-bottom: 19px; }
.content strong, .content b { color: #183e3e; }
.content a { text-decoration-thickness: 1px; text-decoration-color: #16756850; }
.content th { background: #eff5f3; }
.content table { font-size: 14px; }
.content details { background: #f7f9f8; border-radius: 4px; box-shadow: none; border: 1px solid var(--line); }
.content summary { font-size: 16px; }
.content details[open] { border-color: #95c5ad; }
.content mark { background: #e5f4d6; }
.content code { background: #edf5f1; }
.aside { top: 102px; }
.ticket { border-radius: 6px; box-shadow: none; border: 1px solid var(--line); overflow: hidden; }
.ticket::before, .ticket::after { display: none; }
.ticket__top { padding: 24px; }
.ticket__bottom { padding: 20px 24px; border-top: 1px solid var(--line); background: #f6f9f7; }
.aside .ticket { border-top: 4px solid var(--signal); }
.aside .score b { font-size: 46px; }
.stars { color: #69b82c; }
.ticket__label { font-size: 13px; }
.end-cta { padding: 24px; background: #104447; border-radius: 5px; }
.end-cta p { color: #c2d9d4; }
/* Subpages follow the same green visual language. */
.hero--app { background: #103d40; }
.hero--app .hero__inner { gap: 60px; padding-top: 46px; }
.hero--app .hero__text { padding-bottom: 52px; }
.phone { width: min(275px, 100%); background: #05272a; box-shadow: 0 0 0 2px #4f7778, 0 30px 60px #051d2260; }
.phone__notch { background: #05272a; }
.hero--bonus .photo::after { background: linear-gradient(90deg, #082d30f5, #103d40b8); }
.hero--bonus .hero__inner { padding-block: 62px; }
.hero--bonus .hero__title { max-width: 780px; }
.coupon { border-radius: 5px; box-shadow: none; }
.coupon__main { padding: 20px 30px; }
.coupon__cta { border-inline-start: 1px dashed #12352b70; }
.hero--casino { min-height: 450px; }
.hero--casino .photo::after { background: linear-gradient(90deg, #082d30f2, #082d30b8 45%, #082d300a); }
[dir="rtl"] .hero--casino .photo::after { background: linear-gradient(270deg, #082d30f2, #082d30b8 45%, #082d300a); }
.hero--casino .hero__title { max-width: 680px; }
.hero--casino .chips-row span { border-radius: 4px; font-size: 12px; background: #ffffff14; }
.hero--about .photo { border-radius: 6px; aspect-ratio: 5/4; }
.hero--about .hero__inner { grid-template-columns: 300px minmax(0,1fr); gap: 48px; }
.hero--about .hero__title { font-size: clamp(32px,4vw,48px); }
.hero--about .hero__lead { font-size: 16px; }
.hero--privacy .hero__inner { padding-block: 36px; }
.hero--privacy .photo { border-radius: 6px; width: 130px; height: 110px; box-shadow: none; }
.hero--privacy .hero__title { font-size: clamp(30px,3vw,42px); }
.stamp { border-radius: 4px; font-size: 12px; }
.footer { background: #092e31; color: #a8c1be; font-size: 13px; }
.footer__grid { padding-block: 42px 32px; gap: 40px; }
.footer__warn { color: #c2d6d1; font-size: 13px; }
.footer__orgs a { border-radius: 3px; background: #ffffff0c; }
.footer__copy { font-size: 12px; }
.langs { border-radius: 8px; }
.langs__head { background: #f8faf9; }
.langs__list a.is-active { background: #e7f4dc; color: #1d5636; }
.langs__list a:hover { background: #f0f6ec; }
.langs__search { background: #fff; }
.drawer { background: #0b3538; }
.overlay { background: #042326aa; }
.to-top { border-radius: 4px; box-shadow: 0 4px 20px #082d3020; }
/* Tablet and mobile keep actions accessible and long translations fluid. */
@media (max-width:1180px) {
  .header__inner { gap: 22px; }
  .nav { display: none; }
  .header__actions .btn { display: inline-flex; }
  .burger { display: grid; }
  .layout { grid-template-columns: minmax(0,1fr) 250px; gap: 22px; }
  .hero__title { font-size: 40px; }
}
@media (max-width:900px) {
  .layout { grid-template-columns: minmax(0,1fr); }
  .aside { max-width: none; }
  .aside .ticket { display: grid; grid-template-columns: 1fr 1fr; }
  .aside .ticket__bottom { border-top: 0; border-inline-start: 1px solid var(--line); display:flex; flex-direction:column; justify-content:center; }
  .hero--home .hero__inner { min-height: 430px; padding-block: 40px; }
  .hero--home .hero__text { width: 65%; }
  .hero--home .photo { inset-inline-start: 40%; opacity: .75; }
  .hero__title { font-size: 36px; }
  .hero--app .hero__inner { grid-template-columns: 1.2fr .8fr; gap: 28px; }
  .hero--about .hero__inner { grid-template-columns: 230px minmax(0,1fr); gap: 28px; }
  .sports__list a { padding-inline: 18px; }
  .sports__list { justify-content: flex-start; }
  .sports__list li { flex: none; }
  .content { padding: 26px; }
}
@media (max-width:600px) {
  .wrap { padding-inline: 18px; }
  .header__inner { height: 66px; gap: 12px; }
  .header .logo img { width: 102px; }
  .header__actions { gap: 6px; }
  .header__actions .btn { min-height: 38px; padding-inline: 11px; font-size: 11px; white-space: normal; max-width: 112px; }
  .header__actions .btn--signal { display: none; }
  .burger { width: 38px; height: 38px; }
  .util__inner { min-height: 34px; justify-content: space-between; }
  .util__side { width: 100%; justify-content: space-between; }
  .util__app { font-size: 12px; }
  .hero--home .hero__inner { min-height: 510px; padding-block: 34px 42px; align-items: flex-end; }
  .hero--home .hero__text { width: 100%; max-width: none; }
  .hero--home .photo { inset-inline: 0; inset-block: 0 0; opacity: .65; }
  .hero--home .photo img { object-position: 45% top; }
  .hero--home .photo::after, [dir="rtl"] .hero--home .photo::after { background: linear-gradient(0deg, #103d40 3%, #103d40f0 30%, #103d4055 75%); }
  .hero--home .ticket { margin: 0 0 18px; width: fit-content; border: 0; }
  .hero--home .hero__title { max-width: 26ch; }
  .hero__title { font-size: 32px; line-height: 1.2; }
  .hero__actions { margin-top: 22px; }
  .hero__actions .btn { width: auto; min-width: 200px; }
  .hero__terms { font-size: 10px; }
  .sports__list a { flex-direction: column; gap: 5px; min-height: 80px; padding: 12px 23px; font-size: 11px; }
  .sports__list svg { width: 25px; height: 25px; }
  .main { padding-block: 22px 38px; }
  .content { padding: 22px 20px; font-size: 15px; }
  .content h2 { font-size: 23px; padding-top: 26px; margin-top: 30px; }
  .content h3 { font-size: 20px; }
  .content th, .content td { padding: 12px; }
  .aside .ticket { grid-template-columns: 1fr; }
  .aside .ticket__bottom { border-inline-start: 0; border-top: 1px solid var(--line); }
  .hero--app .hero__inner, .hero--about .hero__inner { grid-template-columns: 1fr; padding-top: 32px; }
  .hero--app .hero__text { padding-bottom: 0; }
  .phone { width: 210px; margin-top: 10px; }
  .phone .photo { aspect-ratio: 9/11; }
  .hero--about .hero__inner { padding-bottom: 32px; gap: 24px; }
  .hero--about .photo { max-width: none; max-height: 200px; }
  .hero--bonus .hero__inner { padding-block: 42px; }
  .coupon { width: 100%; }
  .coupon__main { padding: 19px 22px; }
  .coupon__main b { font-size: 19px; }
  .coupon__cta { border-inline-start: 0; border-top: 1px dashed #12352b70; }
  .hero--casino { min-height: 410px; }
  .hero--casino .hero__inner { padding-block: 40px; }
  .hero--privacy .photo { display: none; }
  .hero--privacy .hero__title { font-size: 30px; }
  .footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .langs__list { grid-template-columns: 1fr; }
  .langs { max-height: calc(100dvh - 32px); }
}
@media (max-width:360px) {
  .header__actions .btn { max-width: 95px; padding-inline: 8px; }
  .hero__title { font-size: 28px; }
}
.hero--home .ticket { border: 0; width: fit-content; }
/* Generated thematic artwork, shared by every language version. */
.hero--home .photo { inset-inline-start: 28%; }
.hero--home .photo img { object-position: right center; }
.hero--home .photo::after { background: linear-gradient(90deg, #103d40 0%, #103d4070 20%, transparent 50%); }
[dir="rtl"] .hero--home .photo img { transform: scaleX(-1); }
[dir="rtl"] .hero--home .photo::after { background: linear-gradient(270deg, #103d40 0%, #103d4070 20%, transparent 50%); }
.hero--bonus { text-align: start; }
.hero--bonus .hero__inner { min-height: 460px; padding-block: 64px; }
.hero--bonus .hero__title { max-width: 620px; margin-inline: 0; }
.hero--bonus .photo img { object-position: right center; }
.hero--bonus .photo::after { background: linear-gradient(90deg, #082d30f5, #082d30c0 38%, #082d3020 85%); }
[dir="rtl"] .hero--bonus .photo img, [dir="rtl"] .hero--casino .photo img { transform: scaleX(-1); }
[dir="rtl"] .hero--bonus .photo::after { background: linear-gradient(270deg, #082d30f5, #082d30c0 38%, #082d3020 85%); }
.hero--casino .photo img { object-position: right center; }
.hero--casino .photo::after { background: linear-gradient(90deg, #082d30e8, #082d3090 38%, #082d3000 85%); }
[dir="rtl"] .hero--casino .photo::after { background: linear-gradient(270deg, #082d30e8, #082d3090 38%, #082d3000 85%); }
.phone .photo { aspect-ratio: 941 / 1672; }
.phone .photo img { object-fit: contain; }
.phone__notch { display: none; }
@media (max-width:900px) and (min-width:601px) {
  .hero--home .photo { inset-inline-start: 22%; }
  .hero--bonus .hero__title { max-width: 65%; }
}
@media (max-width:600px) {
  .hero--home .photo { inset-inline: 0; opacity: 1; }
  .hero--home .photo img { object-position: 88% top; }
  .hero--home .photo::after, [dir="rtl"] .hero--home .photo::after { background: linear-gradient(0deg, #103d40 2%, #103d40f2 38%, #103d4060 70%, #103d4010); }
  .hero--bonus .hero__inner { min-height: 560px; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; padding-top: 240px; padding-bottom: 34px; }
  .hero--bonus .photo img { object-position: 82% top; }
  .hero--bonus .photo::after, [dir="rtl"] .hero--bonus .photo::after { background: linear-gradient(0deg, #082d30, #082d30e0 46%, #082d3020); }
  .hero--bonus .hero__title { max-width: none; }
  .hero--bonus .coupon { margin-top: 24px; }
  .hero--casino { min-height: 520px; }
  .hero--casino .hero__inner { padding-top: 220px; padding-bottom: 34px; }
  .hero--casino .photo img { object-position: 80% top; }
  .hero--casino .photo::after, [dir="rtl"] .hero--casino .photo::after { background: linear-gradient(0deg, #082d30, #082d30e0 45%, #082d300a); }
  .phone { width: 230px; }
  .phone .photo { aspect-ratio: 941 / 1672; }
}

@media (min-width:601px) and (max-width:900px) {
  .hero--home .hero__inner { min-height: 540px; align-items: flex-end; }
  .hero--home .hero__text { width: 70%; }
  .hero--home .photo { inset-inline: 0; opacity: 1; }
  .hero--home .photo::after, [dir="rtl"] .hero--home .photo::after { background: linear-gradient(0deg, #103d40 2%, #103d40ee 30%, #103d4060 65%, #103d4010); }
}
