/*
Theme Name: Cazzzinos
Theme URI: https://cazzzinos.com/
Author: Siarhei
Author URI: https://cazzzinos.com/
Description: Theme for cazzzinos.com
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jgambling
Release: 26.01.2025
*/

/***************    Styles    *************/

:root {
    --color-primary: #02ad08;
    --color-primary-hover: #029a07;
    --site-bg: #0D1530;
    --site-color: #fff;

    --menu-bg: #0D1427;
    --menu-color: #fff;

    /* Surfaces and borders */
    --surface-border: #303c60;
    --surface-border-muted: #C4C4C4;
    --surface-border-subtle: #e0e0e0;
    --footer-bg: #0F0F0F;

    /* Neutrals */
    --white: #fff;
    --black: #000;
    --text-muted: #888;
    --control-border: #bbb;

    /* Accents */
    --accent-pink: #ff00c8;
    --accent-pink-shadow: #FB00FF;
    --accent-yellow: #fbee22;
    --overlay-dark: #17171777;

    /* Ratings */
    --star-empty: #d2d2d2;
    --star-filled: #f8b814;

    /* Stats backgrounds */
    --stat-odd-bg: #394563;
    --stat-even-bg: #1f0d35;
    --stat-even-accent-bg: #2d1649;

    --star-empty: #d2d2d2;
    --star-checked: #f81414;
}

/* 1. Use a more-intuitive box-sizing model */
*, *::before, *::after {
    box-sizing: border-box;
}
/* 2. Remove default margin */
* {
    padding: 0;
    margin: 0;
}
/* 3. Enable keyword animations */
@media (prefers-reduced-motion: no-preference) {
    html {
        interpolate-size: allow-keywords;
    }
}
body {
    /* 4. Add accessible line-height */
    line-height: 1.2;
    /* 5. Improve text rendering */
    -webkit-font-smoothing: antialiased;
}
/* 6. Improve media defaults */
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}
/* 7. Inherit fonts for form controls */
input, button, textarea, select {
    font: inherit;
}
/* 8. Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}
/* 9. Improve line wrapping */
p {
    text-wrap: pretty;
}
h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
}
ol, ul {
    list-style: none;
}
/*
10. Create a root stacking context
*/
#root, #__next {
    isolation: isolate;
}

body,
html {
    width: 100%;
    height: 100%;
    font-family: 'Gilroy', sans-serif;

    background: var(--site-bg);
    color: var(--site-color);
}

body {
    background: var(--color-bg);
    overflow-x: hidden;
}

body,
th,
td {
    /* font-family: 'Roboto', sans-serif; */
    font-size: 14px;
}

/* Link Styles */
a {
    color: var(--btn-primary-bg, var(--color-primary));
    text-decoration: none;
    transition: color 0.2s ease-in-out;
    cursor: pointer;
}

a:hover {
    color: var(--btn-primary-hover-bg, var(--color-primary-hover));
    text-decoration: underline;
}

a:focus {
    outline: 2px solid var(--btn-primary-bg, var(--color-primary));
    outline-offset: 2px;
}

a:active {
    color: var(--btn-primary-hover-bg, var(--color-primary-hover));
}

.container {
    display: block;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Container responsive widths */
@media (min-width: 640px) {
    .container { max-width: 640px; }
}
@media (min-width: 768px) {
    .container { max-width: 768px; }
}
@media (min-width: 1024px) {
    .container { max-width: 1024px; }
}
@media (min-width: 1280px) {
    .container { max-width: 1200px; }
}

@media (min-width: 1536px) {
    .container { max-width: 1440px; }
}
@media (min-width: 1800px) {
    .container { max-width: 1600px; }
}
@media (min-width: 2000px) {
    .container { max-width: 1800px; }
}

img.alignright {
    display: block;
    float: right;
    margin-left: 1rem;
}

img.alignleft {
    display: block;
    float: left;
    margin-right: 1rem;
}

img.aligncenter, img.alignnone {
    display: block;
    margin: 0 auto;
    margin-bottom: 1rem;
}

img.size-full {
    max-width: 100%;
    width: 80%;
    height: auto;
    object-fit: contain;
    object-position: center;
}


.clear {
    clear: both;
    margin-bottom: 1rem;
}

/* block */
.block-list, .flex2 {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.block-list .item {
    width: 100%;
}

@media (min-width: 640px) {
    .block-list .item { width: calc(50% - 1rem / 2); }
}
@media (min-width: 768px) {
    .block-list .item { width: calc(33.333% - 2rem / 3); }
}
@media (min-width: 1024px) {
    .block-list .item { width: calc(33.333% - 2rem / 3); }
}
@media (min-width: 1280px) {
    .block-list .item { width: calc(25% - 3rem / 4); }
}
@media (min-width: 1536px) {
    .block-list .item { width: calc(20% - 4rem / 5); }
}
@media (min-width: 1800px) {
    .block-list .item { width: calc(20% - 4rem / 5); }
}
@media (min-width: 2000px) {
}


.block {
    background: linear-gradient(94.83deg, rgba(63, 88, 153, 0.14) -13.05%, rgba(67, 135, 135, 0.08) 100.56%);
    padding: 0.5rem;
    border-radius: 1rem;
    border: 1px solid var(--surface-border);
}

.block__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
}

.block__actions a {
    display: block;
}


.block--vertical {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.5rem;
}

.block--horizontal {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 0.5rem;
}

.block--wg {
    padding: 1rem;
    border-radius: 0.5rem;
}

.block--wg:not(:last-child) {
    margin-bottom: 1rem;
}

.block .name, .widget .name, .wp-block-heading {
    font-size: 1.375rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.mobile-menu {
    display: none;
}

.wrap {
    /* width: 1200px;
    margin: 0 auto; */
}

.site-sec {
    padding: 3rem 0;
}

.site_sec__h2 {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    text-transform: uppercase;
    font-weight: 900;
    font-style: Black;
    font-size: 2.5rem;
    line-height: 1;
    letter-spacing: 0px;
    margin-bottom: 3rem;
}

.site_sec__h2::before {
    content: '';
    aspect-ratio: 1/1;
    width: 2.8rem;
    display: inline-block;
    background: url('./assets/img/menu-item.png') no-repeat center center;
}

.flex {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* top search */
.header {
    background: var(--menu-bg, #0D1427);
}

.top-search {
    height: 70px;
}

.top-search .top-search__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    height: 100%;
}

.top-search .top-search__search {
    width: 50%;
}

.header--sticky {
    position: sticky;
    top: 0;
    z-index: 1000;
    margin-bottom: 50px;
}

.header--sticky .site-nav {
    display: none;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    cursor: default;
}

.site-nav {
    background-color: var(--menu-bg);
    height: 50px;
    margin-bottom: 50px;
}

.site-nav .site-nav__container {
    height: 100%;
}

.top-search .top-search__banner {
    display: none;
}

.header--sticky.header--with-banner .top-search__banner {
    display: block;
}

.header--sticky.header--with-banner .top-search__search {
    display: none;
}

.top-search .top-search__baneer-img {
    max-width: 500px;
    height: auto;
    object-fit: contain;
    object-position: center;
}

ul.menu {
    list-style: none;
    padding: 0.5rem 0;
    margin: 0;
    display: flex;
    gap: 1rem;
}

.menu li {

}

.menu a::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0.5rem;
    width: 1em;
    height: 1em;
    background: url('./assets/img/icon-default.png') no-repeat center center / contain;
}

.menu a:hover::before, 
.menu a:focus::before, 
.menu .current-menu-item > a::before,
.menu .current_page_item > a::before {
    background: url('./assets/img/icon-default-w.png') no-repeat center center / contain;
}

.menu a {
    display: block;
    position: relative;
    padding: 0.5rem 1rem 0.5rem 1.7rem;
    color: var(--menu-color);
    text-decoration: none;
    font-weight: 700;
    transition: all 0.2s ease-in-out;
    border-radius: 0.25rem;
}

.menu a:hover {
    background-color: var(--btn-primary-bg, #02ad08);
    color: var(--white);
    text-decoration: none;
}

.menu a:focus {
    outline: 2px solid var(--btn-primary-bg, #02ad08);
    outline-offset: 2px;
}

.menu .current-menu-item > a,
.menu .current_page_item > a {
    background-color: var(--btn-primary-bg, #02ad08);
    color: var(--white);
}

/* Dropdown styles */
.menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--white);
    border: 1px solid #e0e0e0;
    border-radius: 0.25rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    min-width: 200px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s ease-in-out;
    flex-direction: column;
    gap: 0;
}

.menu li:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.menu .sub-menu a {
    padding: 0.5rem 1rem;
    border-radius: 0;
    border-bottom: 1px solid var(--surface-border-subtle);
}

.menu .sub-menu a:last-child {
    border-bottom: none;
}

.menu-item {
    font-weight: 700;
    line-height: 1.25;
    font-size: 1rem;
}

.bonuses-list, .slots-list, .news-list, .stats-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.site-sec.hero {
    margin-top: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.hero__info {
    width: 70%;
    height: 100%;
}

.hero__title {
    font-size: 2rem;
    font-weight: 900;
    font-style: black;
    line-height: 1.1;
}

.hero__subtitle {
    font-size: 1.25rem;
    font-weight: 400;
    font-style: regular;
    padding: 1rem 0;
    line-height: 1;
}

.hero__btn {
    font-size: 1rem;
    text-transform: uppercase;
}

@media (min-width: 640px) {
}
@media (min-width: 768px) {
    .hero__title {
        font-size: 3rem;
    }  

    .hero__subtitle {
        font-size: 1.5rem;
    }

    .hero__btn {
        font-size: 1.25rem;
    }

}
@media (min-width: 1024px) {
}
@media (min-width: 1280px) {
    .hero__title {
        font-size: 4.625rem;
    } 
}
@media (min-width: 1536px) {
}
@media (min-width: 1800px) {
}
@media (min-width: 2000px) {
}


.bonuses-list {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
}

.bonus-front {
    aspect-ratio: 1/1;
    width: 16%;
    border-radius: 1rem;
    padding: 5px;
    overflow: hidden;
}

.bonus-front--purple {
    border: solid 3px #ff00c8;
    box-shadow: 0px 0px 5px 0px #FB00FF;
}

/* Additional color variants for bonus-front */
.bonus-front--emerald {
    border: solid 3px #10B981;
    box-shadow: 0px 0px 5px 0px #34D399;
}

.bonus-front--blue {
    border: solid 3px #3B82F6;
    box-shadow: 0px 0px 5px 0px #60A5FA;
}

.bonus-front--gold {
    border: solid 3px #F59E0B;
    box-shadow: 0px 0px 5px 0px #FBBF24;
}

.bonus-front--red {
    border: solid 3px #EF4444;
    box-shadow: 0px 0px 5px 0px #F87171;
}

.bonus-front--teal {
    border: solid 3px #14B8A6;
    box-shadow: 0px 0px 5px 0px #2DD4BF;
}

.bonus-front--indigo {
    border: solid 3px #6366F1;
    box-shadow: 0px 0px 5px 0px #818CF8;
}

.bonus-front--orange {
    border: solid 3px #F97316;
    box-shadow: 0px 0px 5px 0px #FB923C;
}

.bonus-front--lime {
    border: solid 3px #84CC16;
    box-shadow: 0px 0px 5px 0px #A3E635;
}

.bonus-front--pink {
    border: solid 3px #EC4899;
    box-shadow: 0px 0px 5px 0px #F472B6;
}

.bonus-front--cyan {
    border: solid 3px #06B6D4;
    box-shadow: 0px 0px 5px 0px #22D3EE;
}


.bonus-front__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
    gap: 0.5rem;
    min-height: 100%;
    padding: 0.5rem;
    overflow: hidden;
    border-radius: 0.5rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--white);    
    text-decoration: none;

}

.bonus-front__info {
    font-size: 1rem;
    font-weight: 700;
    text-align: left;
    text-shadow: 1px 1px 4px #000, 0 0 8px #ff00c8;
}

.bonus-front__inner:hover {
    color: var(--white);
}

/* Casino front */
.casino-front__logo, .grid-item .logo {
    width: 100%;
    overflow: hidden;
}

.casino-front__logo img, .grid-item .logo img {
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 2;
    object-fit: cover;
    border-radius: 0.8rem;
}

.casino-front__title {
    text-align: center;
}

.casino-front__title a {
    color: var(--white);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
}

.casino-front__title a:hover {
    color: var(--white);
    text-decoration: underline;
}

.casino-front__rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.casino-front__safety-index {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    text-transform: uppercase;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
    margin: 0.5rem 0;
}

.casino-front__safety-index-value {
    color: var(--color-primary);
}

.fa-star:before {
    color: var(--star-empty);
}

.fa-star.checked:before {
    color: var(--star-checked);
}

.casino-front__rating {
    font-size: 1.5rem;
}

.casino-front__license, 
.casino-front__welcome-bonus, 
.casino-front__no-deposit-bonus, 
.casino-front__advantages {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 1.1rem;
    font-weight: 700;
    font-style: regular;
    line-height: 1;
}

.casino-front__license:before,
.casino-front__welcome-bonus:before,
.casino-front__no-deposit-bonus:before,
.casino-front__advantages:before {
    content: '';
    display: inline-block;
    width: 1.8rem;
    height: 1.8rem;
}

.casino-front__license:before {
    background: url('./assets/img/license-icon.png') no-repeat center / contain;
}

.casino-front__welcome-bonus:before {
    background: url('./assets/img/bonus-icon.png') no-repeat center / contain;
}

.casino-front__no-deposit-bonus:before {
    background: url('./assets/img/bonus-icon.png') no-repeat center / contain;
}

.casino-front__advantages:before {
    background: url('./assets/img/pay-icon.png') no-repeat center / contain;
}

/* feedback */

.feedback-front__casino-logo {
    width: 25%;
}

.feedback-front__casino-logo img {
    width: 100%;
    height: auto;
}

.feedback-front__author {
    font-weight: 700;
    color: var(--color-primary);
}

.feedback-front__feedback {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: space-between;
    font-weight: 400;
    width: 75%;
}

.feedback-front__date {
    text-transform: uppercase;
    text-align: right;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.1;
    color: #F0F3F791;
} 

/* front slots */
.slots-list {
}

.slot-front {
    width: 24%;
    height: 11rem;
    gap: 1rem;
    overflow: hidden;
    position: relative;
}

.slot-front img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
    border-top-right-radius: 0.5rem;
}

.slot-front__meta {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
}

.slot-front__info {
    margin-bottom: 0.5rem;
}

.slot-front__meta a {
    display: block;
}

.slot-front__title {
    font-size: 1.25rem;
    font-weight: 700;
}

.slot-front__play a {
    --btn-padding-y: 0.2rem;
}

/* front post */


.block-list .post-front {
    width: 100%;
}

.post-front__header {
    position: relative;
}

.post-front__category {
    position: absolute;
    top: 5px;
    right: -5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.post-front__img {
    display: block;
}

.post-front__img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 0.5rem;
}

.post-front__title {
    color: var(--white);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
    margin-bottom: 1rem;
}

.post-front__text {
    font-size: 1rem;
    font-weight: 400;
}

.post-front__content {
    padding: 0 0.5rem;
}

.post-front__meta {
    display: flex;
    border-top: 1px solid #303c60;
    padding: 1rem 0.5rem 0.5rem 0.5rem;
    margin-top: auto;
    gap: 2rem;
}

.post-front__read-more {
    font-weight: 700;
}


@media (min-width: 640px) {
    .news-list .post-front,
    .block-list .post-front { width: calc(50% - 1rem / 2); }
}
@media (min-width: 768px) {
    .news-list .post-front,
    .block-list .post-front { width: calc(50% - 1rem / 2); }
}
@media (min-width: 1024px) {
    .news-list .post-front,
    .block-list .post-front { width: calc(50% - 1rem / 2); }
}
@media (min-width: 1280px) {
    .news-list .post-front,
    .block-list .post-front { width: calc(33.333% - 2rem / 3); }
}
@media (min-width: 1536px) {
    .news-list .post-front,
    .block-list .post-front { width: calc(25% - 3rem / 4); }
}
@media (min-width: 1800px) {
    .news-list .post-front,
    .block-list .post-front { width: calc(25% - 3rem / 4); }
}
@media (min-width: 2000px) {
}

/* stats */

.site-sec.site-stats {
    padding-top: 0;
}

.stats-list {
    flex-wrap: nowrap;
    gap: 1rem;
    width: 100%;
    overflow: hidden;
}

/* Infinite marquee for stats */
.stats-marquee {
    overflow: hidden;
    border: 1px solid #303c60;
}

.stats-track {
    display: flex;
    width: max-content;
    animation: stats-scroll 20s linear infinite;
}

.stats-list.stats-list--clone {
    margin-left: 1rem;
}

@keyframes stats-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.stat-block {
    padding: 0.5rem 2rem;
    display: flex;
    gap: 1rem;
    align-items: center;
}

.stat-block::before {
    content: '';
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background: url('./assets/img/bonus-icon.png') no-repeat center center;
}


.stat-block__new {
    display: flex;
    justify-content: center;
    padding: 0.3rem 0 0.3rem 1rem;
    border-radius: 3px;
    line-height: 1;
}

.stat-block__new:after {
    content: '';
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background: url('./assets/img/chevron-right-icon.svg') no-repeat center center;
}

.stat-block__new-value {
    font-weight: 700;
    color: #fbee22;
}

.stat-block--odd .stat-block__new {
    background-color: #394563;
}


.stat-block--even {
   background-color: #1f0d35;
}

.stat-block--even .stat-block__new {
    background-color: #2d1649;
}

.stat-item {
    display: flex;
    flex-direction: column;
    line-height: 1;
    justify-content: center;
}

.stat-item__number {
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--color-primary);
}

.stat-item__label {
    display: flex;
    align-items: center;
}

.stat-item__label .fas {
    padding-left: 0.5rem;
}

.footer {
    padding-top: 2rem;
}

/* filters */
.filters-list {
    display: flex;
    gap: 1em;
    margin-bottom: 2rem;
}

.filters-list__item .btn {
    color: var(--white);
    font-weight: 700;
}

.filters-list__item--all {
    margin-left: auto;
}

/* archive page */
.page {
    display: flex;
    gap: 1rem;
}

.page-content h1 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 1rem;
}

.page-content h2 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 0.8rem;
}

.page-content h2:not(:first-child) {
    margin-top: 1rem;
}

.page__actions {
    margin-top: 1.5rem;
}

.page .page-content {
    width: 80%;
}

.page .right-sidebar {
    width: 20%;
}

.grid_rating .grid-item {
    width: 23%;
    max-width: 23%;
}

.page-content h1 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 1rem;
}

.page-content .content_area {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.1;
}

.page-content .content_area:not(:last-child) {
    margin-bottom: 1rem;
}

.page-content .content_area:not(:first-child) {
    margin-top: 1rem;
}

.page-content .content_area p:not(:last-child) {
    margin-bottom: 1rem;
}

.page-content ol,
.page-content ul {
    margin-bottom: 1rem;
}

.page-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.page-meta__author {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.page-meta__author img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
}

.page-meta__date {
    font-size: 0.875rem;
    font-weight: 400;
    color: #F0F3F791;
    margin-left: auto;
}

/* widgets */

.widget-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.widget-list__row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    justify-content: space-between;
    font-size: 1rem;
}

/* slot search */

.slot-search .sort1 p {
    font-size: 1rem;
    margin: 0.5rem 0;
}


.slot-search .sort1 .checkbox {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.slot-search .sort1 .checkbox + label {
    position: relative;
    padding: 0 0 4px 20px;
    cursor: pointer;
    display: block;
}

.slot-search .sort1 .checkbox + label:before {
    content: '';
    position: absolute;
    top: 1px;
    left: 0;
    width: 1em;
    height: 1em;
    mask: url('./assets/img/checkbox.svg') no-repeat center / contain;
    background-color: #777;
    transition: .2s;
}

.slot-search .sort1 .checkbox:checked + label:before {
    background-color: var(--white);
    mask: url('./assets/img/checkbox2.svg') no-repeat center / contain;
}


.slot-search .sort2 .checkbox + label:before,
.slot-search .sort2 .checkbox + label:after {
    content: '';
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.slot-search .sort2 .checkbox {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.slot-search .sort2 .checkbox + label {
    position: relative;
    padding: 0 60px 0 0;
    cursor: pointer;
    margin-top: 15px;
    font-size: 15px;
    display: block;
}

.slot-search .sort2 .checkbox + label:before {
    right: 0;
    width: 31px;
    height: 20px;
    background: #228EE9;
    -webkit-transition: .2s;
    transition: .2s;
    border-radius: 36px;
}

.slot-search .sort2 .checkbox + label:after {
    right: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--white);
    -webkit-transition: .2s;
    transition: .2s;
}

.slot-search .sort2 .checkbox:checked + label:before {
    background: #ccc;
}

.slot-search .sort2 .checkbox:checked + label:after {
    right: 13px;
}

/* top bonuses */
.top-bonuses__item {
    margin-bottom: 0.5rem;
}

.top-bonuses__title {
    color: var(--white);
    font-size: 1rem;
    font-weight: 700;
}

.top-bonuses__value {
    color: var(--text-muted);
    text-decoration: underline;
}

/* payments */

.payments-block p {
    margin-bottom: 10px;
}

.payments-block table {
    width: 100%;
}

.payments-block table tr {
    border-bottom: 1px solid #C4C4C4;
}

.payments-block table tr td {
    height: 32px;
    line-height: 32px;
    font-size: 16px;
}

.payments-block table tr td:last-child {
    padding-left: 10px;
    text-align: right;
}

.payments-block table tr td img {
    vertical-align: middle;
}

/* last news widget */

.last-news .item {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.last-news .item img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 16/9;
    object-position: center;
}

.last-news .item a {
    width: 30%;
}

.last-news .item .content {
    width: 70%;
}

.last-news .item .content .date {
    font-size: 0.875rem;
    font-weight: 400;
    color: #F0F3F791;
}

.last-news .item .clear {
    display: none;
}

/* top casinos */
.top-casinos .item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: nowrap;
    flex-direction: column;
}

.top-casinos .item:not(:last-child) {
    margin-bottom: 1rem;
}

.top-casinos .item .logo {
    width: 40px;
    height: 40px;
    overflow: hidden;
    object-fit: contain;
    object-position: center;
    border-radius: 50%;
}

@media (min-width: 640px) {
}
@media (min-width: 768px) {
}
@media (min-width: 1024px) {
}
@media (min-width: 1280px) {
    .top-casinos .item {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}
@media (min-width: 1536px) {
}
@media (min-width: 1800px) {
}
@media (min-width: 2000px) {
}



/* archive slots */

/* Subscribe block */
.subscribe-block {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* block info */
.block-info {
}

.block-info__img {
    margin-bottom: 1rem;
    border-radius: 0.3rem;
}

.block-info__content {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.block-info__label {
    font-weight: 700;
}

.block-info__action {
    margin-top: 1rem;
}

.block-info__row--check {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

/* shortcode single casino */

.sc-casino {
    display: flex;
    gap: 1rem;
    flex-wrap: nowrap;
    width: 100%;
    margin: 1rem 0;
}

.sc-casino .sc-casino__image img {
    border-radius: 0.5rem;
}

.sc-casino .sc-casino__info {
    display: flex;
    gap: 0.5rem;
    width: 100%;
    overflow: hidden;
}

.sc-casino .sc-casino__info img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.sc-casino .sc-casino__rating {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    text-align: center;
    min-width: 100px;
}

.sc-casino .sc-casino__content {
    width: 100%;
}

.sc-casino .sc-casino__block{
}

.sc-casino .sc-casino__position {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    border-radius: 0.2rem 0;
    background: var(--btn-primary-bg, #02ad08);
    font-size: 0.8rem;
    margin-bottom: 0.2rem;
}

.sc-casino .sc-casino__title {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.sc-casino .sc-casino__name {
    font-size: 2rem;
    font-weight: 400;
}

/* bonus item */
.bonus {
    text-align: center;
}

.bonus .bonus__name {
    font-weight: 700;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.2;
    min-height: 2.4em; /* adjust if your line-height differs */
}

.bonus .bonus__price {
    font-size: 1.375rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.2;
    min-height: 2.4em;
}

.bonus .bonus__term {
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    font-weight: 700;
}

.bonus .bonus__desc {
	flex: 1 1 auto;
}

.bonus .bonus__term a {
    color: var(--white);
}

.bonus .bonus__code {
    padding: 0.5rem;
    border-radius: 0.5rem;
    margin-bottom: 0.5rem;
    font-weight: 700;
}

.bonus .bonus__code--not-empty {
    border: 1px solid #C4C4C4;
}

.bonus .bonus__code--empty {
    border: 1px solid var(--text-muted);
    color: var(--text-muted);
}

/* comments */
.comments {
    margin-top: 1rem;
}

.comments .comments__title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.comments .comments__list {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin-bottom: 1.5rem;
}

.comments .comments__form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.comment {
    display: flex;
    gap: 0.5rem;
}

.comment .comment__author {
    width: 120px;
}

.comment .comment__text {
    width: calc(100% - 120px);
}

.comment .comment__author-avatar {
    width: 60px;
    height: 60px;
    margin-bottom: 0.5rem;
}

.comment .comment__author-name {
    font-size: 1rem;
    font-weight: 700;
}

.comment .comment__reply {
    margin-top: 0.5rem;
}

.comment .comment__date {
    margin-top: 0.5rem;
    text-align: right;
    font-size: 0.75rem;
    text-transform: uppercase;
    color: var(--text-muted);
}

/* footer */
.footer {
    background: #0F0F0F;
    padding: 45px 0;
    margin-top: 80px;
    color: var(--white);
}

.footer-container {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.footer-top {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.footer-top__right {
    margin-left: auto;
}

.hidden {
    display: none;
}

/* casino page */

.casino-page .casino-page__top-info {
    margin-bottom: 2rem;
}

.casino-page .casino-page__content {
    display: flex;
    gap: 1rem;
}

.casino-page .casino-page__left-col {
    width: calc(320px - 0.5rem);
}

.casino-page .casino-page__right-col {
    width: calc(100% - 320px - 0.5rem);
}

.casino-page .casino-page__bonus {
    margin-bottom: 1rem;
}

.bonus .bonus__title {
    font-size: 1.25rem;
    text-transform: uppercase;
    font-weight: 700;
    height: 150px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: #17171777;
}

.bonus .bonus__content {
    padding: 1rem;
}

/* info block */
.casino-page .info-block,
.casino-page .casino-reviews,
.casino-page .casino-reviews-form {
    padding: 1rem;
    border-radius: 0.5rem;
}

.info-block:not(:last-child),
.casino-reviews:not(:last-child) {
    margin-bottom: 1.5rem;
}

.info-block .info-block__title {
    font-size: 1.375rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

/* casino reviews */
.casino-reviews .casino-reviews__title {
    font-size: 1.375rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

.casino-reviews .casino-reviews__item {
    display: flex;
    gap: 0.5rem;
}

.casino-reviews .casino-reviews__item:not(:last-child) {
    margin-bottom: 1.2rem;
}

.casino-reviews .casino-reviews__item .avatar img {
    border-radius: 50%;
}

.casino-reviews .casino-reviews__author {
    margin-top: 0.5rem;
    text-align: center;
}

.casino-reviews .casino-reviews__meta {
    margin-bottom: 0.5rem;
}

.casino-reviews .casino-reviews__info {
    display: flex;
    gap: 0.5rem;
    flex-direction: column;
}

.casino-reviews .casino-reviews__plus,
.casino-reviews .casino-reviews__minus {
    display: flex;
    gap: 0.5rem;
}

.casino-reviews .casino-reviews__plus img,
.casino-reviews .casino-reviews__minus img {
    width: 1rem;
}

.casino-reviews-form {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
}

.casino-reviews-form__content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.casino-reviews-form__rating {
}

.casino-reviews-form__rating label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-weight: 500;
    padding: 0.2rem 0.2rem;
    border-radius: 4px;
    transition: background 0.2s;
}

.casino-reviews-form__rating input[type="radio"] {
    position: relative;
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    width: 1.1em;
    height: 1.1em;
    border: 2px solid #bbb;
    border-radius: 50%;
    margin-right: 0.4em;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    vertical-align: middle;
}

.casino-reviews-form__rating input[type="radio"]:checked {
    border-color: #f5b942;
    box-shadow: 0 0 0 2px #f5b94233;
}

.casino-reviews-form__rating input[type="radio"]:checked::before {
    content: '';
    display: block;
    width: 0.55em;
    height: 0.55em;
    background: #f5b942;    
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.casino-reviews-form__rating label:hover,
.casino-reviews-form__rating input[type="radio"]:focus + label {
    background: #fffbe6;
}

.casino-advantages, .reg-block, .info-base {
    padding: 1rem;
    border-radius: 0.5rem;
}

.casino-advantages:not(:last-child), 
.reg-block:not(:last-child),
.info-base:not(:last-child) {
    margin-bottom: 1rem;
}

.casino-advantages__title, .info-base__title {
    font-size: 1.375rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.reg-block {
    display: flex;
    gap: 0.5rem;
    flex-wrap: nowrap;
    align-items: center;
}

.casino-advantages .casino-advantages__list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.casino-advantages--like .casino-advantages__item,
.casino-advantages--dislike .casino-advantages__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.casino-advantages--like .casino-advantages__item::before {
    content: '';
    width: 18px;
    height: 18px;
    min-width: 18px;
    background: url('./assets/img/svg/tick-inside-circle.svg') no-repeat center center;
    background-size: contain;
    display: block;
}

.casino-advantages--dislike .casino-advantages__item::before {
    content: '';
    width: 18px;
    height: 18px;
    min-width: 18px;
    background: url('./assets/img/svg/cons.svg') no-repeat center center;
    background-size: contain;
    display: block;
}

.info-base a {
    display: block;
    line-height: 1.1;
    margin-bottom: 0.5rem;
}

/* typography */
.text-justify {
    text-align: justify;
}

.text-center {
    text-align: center;
}

.index-rating table .devices {
    display: flex;
    gap: 0.5rem;
}

.index-rating table td {
    vertical-align: middle;
    text-align: center;
}

.index-rating table td .name a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.index-rating table img {
    display: inline-block;
}

/* casino type widget */
.casino-type-block {

}

.widget .widget-list__img {
    width: 1rem;
    min-width: 1rem;
    height: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.widget .widget-list__img img {
    max-width: 100%;
    max-height: 100%;
    display: block;
}

.widget .widget-list__row {
    justify-content: flex-start;
}

/* badges */
.badge {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    border-radius: 0.1rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--white);
    background-color: var(--color-primary);
}

/* site infographics */
.site-infographics {
    display: flex;
    gap: 1rem;
}

.site-infographics__info {
    width: 50%;
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
    padding: 1rem 10% 1rem 1rem;
}

.site-infographics__chart {
    width: 50%;
    height: 288px;
}

/* casino filter for bonuses */
.casino-filter-checkbox {
    display: flex;
}

.casino-filter-checkbox input[type="checkbox"] {
    display: none;
}

.casino-filter-checkbox input[type="checkbox"]:checked + label:before {
    background-color: var(--white);
    mask: url(./assets/img/checkbox2.svg) no-repeat center / contain;
}

.casino-filter-checkbox label {
    position: relative;
    display: flex;
    max-height: 20px;
    margin-bottom: 0.5rem;
    align-items: center;
    gap: 0.5rem;
    padding-left: 25px;
    cursor: pointer;
}

.casino-filter-checkbox label:before {
    content: '';
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    mask: url(./assets/img/checkbox.svg) no-repeat center / contain;
    background-color: #777;
    transition: .2s;
}

.casino-filter-checkbox__img {
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
}

.casino-filter-checkbox img {
    object-fit: contain;
}

/* search results */
.search-results h2 {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.casino_archive_filter_block {
    margin-top: 0.3rem;
    max-height: 20rem;
    overflow-y: auto;
}

.casino_archive_filter_block::-webkit-scrollbar {
    width: 6px;
    background: var(--menu-bg, #0D1427);
    border-radius: 4px;
}

.casino_archive_filter_block::-webkit-scrollbar-thumb {
    background: var(--surface-border, #303c60);
    border-radius: 4px;
}

.casino_archive_filter_block {
    scrollbar-width: thin;
    scrollbar-color: var(--surface-border, #303c60) var(--menu-bg, #0D1427);
}

/* slot game */
.slot-game {
    margin-bottom: 20px;
    position: relative;
    font-size: 0;
    aspect-ratio: 16/9;
}

.slot-game .bg {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(1, 1, 1, 0.89);
}

.slot-game img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 16/9;
}

.slot-game .iframe {
    display: none;
}

.slot-game iframe {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 2;
    position: absolute;
    border: 0;

}

.slot_rounded {
    border-radius: 3px;
}

.slot-game .links a.a1 {
    text-decoration: none;
}

.slot-game .links {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 3;
}

.slot-game .links a {
    font-size: 14px;
    display: block;
    margin: 20px 0;
    color: #fff;
    width: 220px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    background: #2396F7;
    -webkit-box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.25);
    box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 2px;
    border: 2px solid #2396F7;
}

.slot-game .links a.a2 {
    background: rgba(115, 115, 115, 0.28);
}

.slot-game .links a .fa {
    font-size: 16px;
    vertical-align: middle;
    margin: 0 0 0 10px;
}
