:root {
    --main-font: 'Noto Sans', sans-serif;
    --info-title-font: clamp(11px, calc(2vw + 2vh), 32px);
    --adaptive-font: clamp(16px, calc(1.5vw + 0.5vh), 26px);
    --info-h2-font: clamp(9px, calc(2vw + 2vh), 30px);
}

#info-page {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
    box-sizing: border-box;
    /*background: rgba(1, 2, 16, 0.50);*/
    /*backdrop-filter: blur(20px);*/
    padding: 3% 5%;
    color: white;
    display: none;
}

body.no-scroll {
    overflow: hidden;
}

.title-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0;
}

.paytable-title {
    font-family: var(--main-font);
    font-size: var(--info-title-font);
    color: #FFF;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 0;
}

/* region Header */
.title-underline {
    width: clamp(300px, 50vw, 800px);
    height: clamp(2px, calc(0.5vw + 0.5vh), 3px);
    background: linear-gradient(90deg, rgba(147, 154, 187, 0.00) 0%, #E03B2A 47.5%, rgba(147, 154, 187, 0.00) 97.81%);
    margin-top: 1%;
}
@media (orientation: portrait) {
    .title-underline {
        height: 2px;
    }
}
h2 {
    font-size: var(--info-h2-font);
    color: #c0ddff;
    font-family: var(--main-font);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    font-variant: all-small-caps;
}

.h2-container {
    display: flex;
    align-items: baseline;
    gap: clamp(0.5vw, 1vw, 1.5vw);
    /*padding-block: clamp(1vh, 2vh, 3vh);*/
}
.triangle {
    display: flex;
    align-items: flex-end;
    height: 1em; /* базується на висоті тексту */
}
.triangle svg {
    display: block;
    height: 100%;
    width: auto;
}

h2 {
    font-size: var(--info-h2-font);
    color: #c0ddff;
    font-family: var(--main-font);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    font-variant: all-small-caps;
}
/* endregion */

#info-page #paytable {
    /*display: grid;*/
    grid-template-columns: repeat(auto-fit, 340px);
    gap: 3%;
    padding: 10px;
    justify-content: center;
}

#info-page .symbol {
    height: auto;
    /*width: clamp(100px, calc(10vw + 10vh), 340px);*/
    /*border: 1px solid #ddd;*/
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    box-sizing: border-box;
    overflow: hidden;
}

/* region SPECIAL */
#info-page .special img {
    width: clamp(66px, calc(12vw + 12vh), 400px);
    height: clamp(66px, calc(12vw + 12vh), 400px);
    object-fit: cover;
    margin-bottom: 10px;
    justify-content: center;
    align-items: center;
}

.wild-symbol,
.scatter-symbol,
.special-symbol {
    display: flex;
    flex-direction: column;
    align-items: center;
}
@media (orientation: landscape) {
    .wild-symbol,
    .scatter-symbol,
    .special-symbol {
        width: clamp(150px, calc(16dvw + 16dvh), 380px);
    }
}
@media (orientation: portrait) {
    .wild-symbol {
        margin-top: -8%;
    }
}

.wild-txt,
.scatter-txt,
.special-txt {
    margin-top: -7%;
    font-size: var(--adaptive-font);
    font-family: var(--main-font);
    font-weight: 500;
    line-height: normal;
    text-align: center;
    justify-content: center;
    /*text-transform: uppercase;*/
    color: #00BFFF;
    max-width: 100%;
    padding: 10px 0;
}

#info-page .special p {
    margin: 1px;
}

.wild-symbol img,
.scatter-symbol img,
.special-symbol img {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 300px;
}

.special {
    display: flex;
    justify-content: center;
    /*gap: clamp(5%, 15%, 30%);*/
    flex-wrap: wrap;
}

.cleo-column .payout > p {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    margin: 4px 0;
    text-align: left;
}

@media (orientation: landscape) {
    .special {
        justify-content: space-between;
        margin-bottom: 50px;
    }
}
@media (orientation: portrait) {
    .special {
        margin-bottom: 20px;
    }
}

@media (min-width: 2560px) and (orientation: landscape) {
    .wild-symbol,
    .scatter-symbol,
    .special-symbol {
        width: clamp(150px, calc(16dvw + 16dvh), 460px);
    }

    .cleo-column {
        margin-right: 10%;
    }

    .low-scaled {
        width: clamp(200px, 14vw, 400px);
        height: auto;
    }
}
/* endregion */

/* region HIGH */
#info-page .high img {
    /*border: 1px dashed #ef4230;*/
    width: clamp(66px, calc(9vw + 9vh), 400px);
    height: clamp(66px, calc(9vw + 9vh), 400px);
    object-fit: cover;
    margin-bottom: 10px;
    justify-content: center;
    align-items: center;
}

.high-symbols-wrapper {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
}

/* Left column: Cleopatra */
.cleo-column {
    margin-top: 2%;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: clamp(160px, 9dvw, 260px);
}

.cleo-img {
    width: clamp(66px, calc(10dvw + 10dvh), 420px);
    height: auto;
}

@media (orientation: landscape) {
    .cleo-column .payout  {
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
        margin-top: 15%
    }
}
@media (orientation: portrait) {
    .cleo-column .payout  {
        /*margin-top: -15%*/
        align-items: center;
        margin: 0 auto;
        display: inline-block;
        text-align: left;
    }
}

.wild-value {
    align-items: flex-start;
    margin: 0 auto;
    display: inline-block;
    text-align: left;
}

.high p {
    margin: 1px 0;
    text-align: center;
}

/* Right: Symbol grid */
.symbols-grid {
    margin-bottom: 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 2%;
    justify-items: center;
}
@media (orientation: landscape) {
    .symbols-grid {
        gap: 32px;
    }
}
@media (orientation: portrait) and (max-width: 450px) {
    .symbols-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (orientation: portrait) {
    .symbols-grid {
        gap: clamp(0px, 1dvw, 12px);
    }
}
@media (orientation: portrait) and (min-width: 1000px) {
    .symbols-grid {
        row-gap: 16%;
    }
    .cleo-column {
        margin-top: 0;
    }
}
/* endregion */
.payout p {
    font-size: clamp(13px, calc(1.5dvw + 0.5dvh), 24px);
    /*font-size: var(--adaptive-font);*/
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    margin: 0 clamp(16px, 4vmin, 48px);
    text-align: left;
}

.high {
    align-items: center;
    text-align: center;
    display: inline-block;
}

.high .payout {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    /*margin-top: -15%;*/
    margin-left: auto;
    margin-right: auto;
    /*width: 12ch;*/
}

.low {
    max-width: clamp(120px, 16dvw, 260px);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.low-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.low p {
    font-size: clamp(13px, calc(1.5dvw + 0.5dvh), 24px);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    /*margin: 1px clamp(36px, 9vmin, 78px);*/
    margin: 1px 0;
    text-align: left;
}

.symbol {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 120px;
}

#info-page .symbol img {
    width: 100%;
    height: auto;
}

.symbol p {
    margin: 4px 0;
    text-align: center;
}

#info-page .symbol p {
    font-family: var(--main-font);
    margin: 1px 0;
    text-align: center;
}

p {
    font-family: var(--main-font);
    font-size: var(--adaptive-font);
    margin: 30px 0;
    text-align: justify;
}

.play-mode {
    display: block;
    text-align: center;
}

.symbol-divider {
    width: 100%;
    height: clamp(1px, 0.1dvh + 0.1dvw, 2px);
    background: linear-gradient(to right, transparent, #d4af37, #f5d76e, #d4af37, transparent);
    border: none;
    margin: 8px 0;
    opacity: 0.9;
}

/* region LOW / HIGH SYMBOLS */
@media (orientation: portrait) {
    #info-page .low-symbols img {
        width: clamp(60px, calc(6dvw + 6dvh), 200px);
        height: clamp(60px, calc(7dvw + 7dvh), 200px);
        object-fit: cover;
        margin-top: 10px;
        margin-bottom: 0;
    }

    .high-symbols,
    .low-symbols {
        display: flex;
        justify-content: center;
        column-gap: 20px;
        gap: clamp(5%, 15%, 30%);
        flex-wrap: wrap;
        padding-bottom: 10px;
    }
}
@media (orientation: landscape) {
    #info-page .low-symbols img {
        width: clamp(40px, calc(9dvw + 8dvh), 270px);
        height: clamp(40px, calc(9dvw + 9dvh), 150px);
        object-fit: cover;
        margin-bottom: 0;
    }

    .high-symbols,
    .low-symbols {
        display: flex;
        flex-wrap: wrap;
        grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
        /*gap: 20px;*/
        gap: clamp(20px, calc(2 * (1dvw + 1dvh)), 50px);
        justify-content: center;
        margin-bottom: 40px;
        margin-top: 40px;
    }
}
/* endregion */

.separator {
    display: flex;
    align-items: center;
    width: 100%;
    /*width: clamp(300px, 50vw, 800px);*/
    height: clamp(2px, calc(0.5vw + 0.5vh), 4px);
    margin: 0 auto 0 auto;
    background: linear-gradient(90deg, rgba(147, 154, 187, 0.00) 0%, #939ABB 47.5%, rgba(147, 154, 187, 0.00) 97.81%);
}
@media (orientation: portrait) {
    .separator {
        height: 2px;
    }
}

/* region FEATURE PREVIEWS */

@media (orientation: portrait) {
    .feature-content {
        display: block;
    }
}
.feature-content {
    /*display: flex;*/
    gap: 5%;
    flex-wrap: wrap;
    padding-bottom: 20px;
    /*flex-direction: row; !* default *!*/
}

.feature-text {
    z-index: 10;
    flex: 1;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    font-family: var(--main-font);
    font-size: var(--adaptive-font);
    padding: 0;
}

.feature-text p {
    margin: 0 0 1em 0;
}

.feature-preview {
    width: clamp(300px, 50vw, 550px);
    height: clamp(220px, 36vw, 400px);
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 10%;
}

.three-scatters {
    margin: 0 auto;
    width: 70%;
    display: flex;
    flex-direction: row;
}

.feature-preview2 {
    margin-top: 5%;
    width: 90%;
    object-fit: cover;
}

.feature-previews img.feature-preview {
    display: block;
    width: 100%;
    height: auto;
}

.feature-text.free-spins {
    margin-top: 5%;
    width: 100%;
}

.feature-previews-2 {
    display: flex;
    justify-content: center;
    align-items: center;
}

.center-wrapper {
    position: relative;
    display: inline-block;
}

.background-img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Стек поверх background-img */
.stack-animation {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.stack-img {
    /*position: absolute;*/
    /*top: 0;*/
    /*left: 0;*/
    /*width: 100%;*/
    /*height: auto;*/
    /*opacity: 0;*/
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: translate(-50%, -50%) scale(1);
    opacity: 0;
    will-change: transform, opacity;
}

/* Пульсація: тепер триває 3s */
@keyframes pulseFade1 {
    0% {
        opacity: 1;
        transform:translate(-50%,-50%) scale(1);
    }
    16.66% {
        transform:translate(-50%,-50%) scale(1.05);
    }
    33.33% {
        opacity: 1;
        transform:translate(-50%,-50%) scale(1);
    }
    33.34%, 100% {
        opacity: 0;
        transform:translate(-50%,-50%) scale(1);
    }
}
@keyframes pulseFade2 {
    0%, 33.33% {
        opacity: 0;
        transform:translate(-50%,-50%) scale(1);
    }
    33.34% {
        opacity: 1;
        transform:translate(-50%,-50%) scale(1);
    }
    49.99% {
        transform:translate(-50%,-50%) scale(1.02);
    }
    66.66% {
        opacity: 1;
        transform:translate(-50%,-50%) scale(1);
    }
    66.67%, 100% {
        opacity: 0;
        transform:translate(-50%,-50%) scale(1);
    }
}
@keyframes pulseFade3 {
    0%, 66.66% {
        opacity: 0;
        transform:translate(-50%,-50%) scale(1);
    }
    66.67% {
        opacity: 1;
        transform:translate(-50%,-50%) scale(1);
    }
    83.33% {
        transform:translate(-50%,-50%) scale(1.02);
    }
    100% {
        opacity: 1;
        transform:translate(-50%,-50%) scale(1);
    }
}

/* Тривалість: 9 секунд */
.pulse {
    animation: pulseFade1 9s infinite ease-in-out;
}
.fade2 {
    animation: pulseFade2 9s infinite ease-in-out;
}
.fade3 {
    animation: pulseFade3 9s infinite ease-in-out;
}

@media (orientation: portrait) {
    .feature-content {
        padding: 0 5%;
        text-align: left;
    }

    .feature-text.wild-charge {
        margin-top: -10%;
    }

    .feature-previews {
        margin: 3% auto;
        display: flex;
        width: 80%;
        position: relative;
    }

    .feature-preview {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: auto;
        transition: opacity 0.5s ease;
        pointer-events: none;
    }

    .center-wrapper {
        width: 70%;
    }


    .feature-preview2 {
        margin-top: 2%;
        /*margin-bottom: 2%;*/
        width: 100%;
        object-fit: contain;
    }
}

@media (orientation: landscape) {
    .feature-content {
        align-items: center;
        text-align: center;
        margin-top: -5%;
        width: 100%;
        flex-direction: column;
    }

    .feature-previews {
        margin-top: 5%;
        display: inline-block;
        width: 70%;
        max-width: min(clamp(300px, 90dvw, 700px), 90dvh);
        position: relative;
    }

    .feature-preview {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        pointer-events: none;
        transition: opacity 0.5s ease;
    }

    .center-wrapper {
        width: clamp(120px, 50dvw, 560px);
        margin-inline: auto;
        flex: 0 0 auto;
    }

    .feature-container.free-spins .feature-content {
        flex-direction: row;
        align-items: flex-start;
        text-align: justify;
        gap: 5%;
    }

    .feature-container.free-spins .feature-previews {
        flex: 0 0 clamp(300px, 40%, 500px);
        max-width: 45%;
    }

    .feature-container.free-spins .feature-text {
        flex: 1;
        max-width: 100%;
        text-align: justify;
    }
}

/*@media (orientation: landscape) and (min-width: 1000px) {*/
/*    .center-wrapper {*/
/*        width: 80%;*/
/*    }*/

/*    .wild-symbol, .scatter-symbol, .special-symbol {*/
/*        width: clamp(270px, calc(16dvw + 16dvh), 400px);*/
/*    }*/
/*}*/
/* endregion */

.base {
    position: relative;
    z-index: 0;
}

/* region ANIMATION */
/* Анімація для info-image16.png */
.img1 {
    z-index: 1;
    animation: fadeOut 2s infinite;
}

/* Анімація для info-image17.png */
.img2 {
    z-index: 2;
    animation: fadeIn 2s infinite;
}

@keyframes fadeOut {
    0%, 40%   { opacity: 1; }
    50%, 100% { opacity: 0; }
}

@keyframes fadeIn {
    0%, 40%   { opacity: 0; }
    50%, 100% { opacity: 1; }
}
/* endregion */

/* region PAYLINES */
@media (orientation: portrait) {
    .paylines-container {
        text-align: left;
        padding: 0 5% 0 5%;
    }
}

.paylines-container  {
    gap: 5%;
    flex-wrap: wrap;
    padding-bottom: 20px;
}
.paylines-preview {
    margin-top: -2%;
    width: 100%;
}


.paylines.landscape {
    display: none;
}

.paylines.portrait {
    display: none;
}

@media (orientation: landscape) {
    .paylines.landscape {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

@media (orientation: portrait) {
    .paylines.portrait {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

.paylines-preview {
    max-width: 100%;
    height: auto;
    display: block;
}

.payline-info p {
    text-align: center;
    margin-top: 0;
}

/* endregion */

/* region GAME INFO */
.name {
    display: flex;
    justify-content: center;
    align-items: center;
    /*padding-top: 30px;*/
    /*padding-bottom: 30px;*/
    text-align: center;
}

#name {
    font-size: var(--info-h2-font);
    font-weight: bold;
    text-transform: uppercase;
    /*color: #00BFFF;*/
    /*text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8), 2px 2px 4px rgba(0, 0, 0, 0.6);*/
}

.rtp-info {
    text-align: center;
}

.highlight {
    color: #DB3928;
    display: block;
    text-align: center;
    margin: 0;
}

.red-bold {
    color: #DB3928;
    font-weight: bold;
}

.info-button-container .button-info {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    box-sizing: border-box;
    align-items: flex-start;
}

#info p {
    line-height: 1.6;
    margin: 0 0 3% 0;
}

#info {
    margin-bottom: 10%;
}

#btn-info {
    /*width: 96px;*/
    /*min-width: 96px;*/
    /*height: auto;*/
    width: clamp(50px, 10vw, 96px);
    height: auto;
    margin-right: 20px;
    flex-shrink: 0;
}

.button-info p {
    flex: 1;
    line-height: 1.6;
    /*margin: 10px;*/
    margin-top: 10px;
}

ul.menu-list-items {
    line-height: 1.6;
    display: flex;
    flex-wrap: wrap;
    list-style-type: disc;
    padding-left: 10%;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--main-font);
    font-size: var(--adaptive-font);
    padding-bottom: 10px;
}

ul.menu-list-items2 {
    line-height: 1.8;
    flex-wrap: wrap;
    list-style-type: disc;
    padding-left: 2%;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--main-font);
    font-size: var(--adaptive-font);
    padding-bottom: 10px;
    text-align: justify;
}

ul.menu-list-items3 {
    line-height: 1.8;
    flex-wrap: wrap;
    list-style-type: circle;
    padding-left: 2%;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--main-font);
    font-size: var(--adaptive-font);
    padding-bottom: 10px;
}

li. list {
    display: flex;
    align-items: center;
}

ul.menu-list-items li {
    margin-bottom: 10px;
    width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}

.inner-bullets {
    line-height: 1.8;
    flex-wrap: wrap;
    padding-left: 3%;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--main-font);
    font-size: var(--adaptive-font);
    list-style-type: none;
}

.inner-bullets li {
    position: relative;
    line-height: 1.8;
    flex-wrap: wrap;
    list-style-type: disc;
    padding-left: 0;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--main-font);
    font-size: var(--adaptive-font);
    padding-bottom: 10px;
}

::marker {
    unicode-bidi: isolate;
    font-variant-numeric: tabular-nums;
    text-transform: none;
    text-indent: 0px !important;
    text-align: start !important;
    text-align-last: auto !important;
}

.red {
    color: #d33636;
}

.note {
    font-style: italic;
    font-weight: normal;
    font-size: 13px;
}
/* endregion */

/* доп вирівнювання для локалі */
#info {
    margin-bottom: 0 !important;
    padding-bottom: clamp(5vh, calc(3vw + 3vh), 10vh);
}

ul.menu-list-items li {
    font-family: "Noto Sans", sans-serif !important;
    color: #FFFFFF;
}

.inner-bullets {
    font-family: "Noto Sans", sans-serif;
}

ul.menu-list-items3, ul.menu-list-items2, ul.menu-list-items  {
    font-family: "Noto Sans", sans-serif !important;
}

.info-button-container, .additional-margin {
    margin-bottom: 20px;
}

@media (orientation: portrait) {
    #info {
        padding-bottom: calc(8rem + env(safe-area-inset-bottom)) !important;
    }
}

@media (orientation: portrait) and (max-width: 700px) {
    .info-button-container .button-info {
        display: flex;
        flex-wrap: nowrap;
        width: 100%;
        box-sizing: border-box;
        align-items: flex-start;
    }
    .info-button-container .button-info p {
        margin-bottom: 3% !important;
    }
}

@media (orientation: landscape) {
    .info-button-container .button-info {
        align-items: center;
    }
    .info-button-container .button-info p {
        margin: 0 !important;
    }
    .button-info {
        margin-bottom: 1%;
    }
    #info {
        padding-bottom: calc(6rem + env(safe-area-inset-bottom)) !important;
    }
}
