/* Apply border-box to all elements for easier sizing */
*{
box-sizing:border-box;
}

/* Global styles */
body {
background:#171c2f;
color:#f2f2f6;
font-family:'Segoe UI', Arial, sans-serif;
margin:0;
padding:0;
overflow-x:hidden; /* Prevent horizontal scrolling */
}

/* Header */
.site-header {
background:#21274a;
width:100%;
min-height:64px;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 3px 6px rgba(0,0,0,0.4);
position:relative;
z-index:1000;
overflow-x:hidden;
}
.header-container {
max-width:1360px;
width:100%;
padding:0 10px;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
position:relative;
}
.logo-link {
display:inline-block;
width:160px;
height:40px;
flex-shrink:0;
}
.logo-img {
width:160px;
height:40px;
display:block;
}
.main-nav {
display:flex;
align-items:center;
gap:15px;
flex-grow:1;
min-width:0;
}
.nav-list {
display:flex;
list-style:none;
margin:0;
padding:0;
gap:20px;
flex-shrink:1;
min-width:0;
overflow-x:auto;
/* Hide scrollbar */
scrollbar-width:none; /* Firefox */
-ms-overflow-style:none; /* IE 10+ */
}
.nav-list::-webkit-scrollbar {
display:none; /* Chrome, Safari */
}
.nav-item {
white-space:nowrap;
}
.nav-list .nav-current {
color:#ffe600;
font-weight:700;
}
.nav-item a, .nav-current {
text-decoration:none;
color:#fff;
font-size:18px;
padding:14px 8px;
display:block;
transition:.2s color ease-in-out;
}
.nav-item a:hover {
color:#ffe600;
}
.auth-btns {
display:flex;
gap:10px;
flex-shrink:0;
}
.auth-btns.desktop-auth-btns {
margin-left:auto;
display:flex;
gap:10px;
flex-shrink:0;
}
.register-btn, .login-btn {
background:#ffe600;
color:#21274a;
border:none;
border-radius:5px;
padding:10px 22px;
font-weight:600;
font-size:17px;
text-decoration:none;
box-shadow:0 2px 5px rgba(29,38,50,0.08);
transition:background .2s,color .2s;
white-space:nowrap;
}
.login-btn {
background:#fff;
color:#21274a;
}
.register-btn:hover, .login-btn:hover {
background:#21274a;
color:#ffe600;
}
/* Hamburger (mobile) */
.hamburger {
display:none;
flex-direction:column;
justify-content:center;
align-items:center;
width:44px;
height:44px;
cursor:pointer;
background:none;
border:none;
transition:all .2s ease-in-out;
flex-shrink:0;
}
.hamburger span {
display:block;
height:4px;
width:28px;
background:#fff;
border-radius:3px;
margin:4px 0;
}

/* Mobile nav */
@media(max-width:1080px){
.auth-btns.desktop-auth-btns {
display:none;
}
.hamburger {
display:flex;
}
.nav-list {
display:none;
}
.main-nav {
flex-grow:0;
}
}
.mobile-nav {
display:none;
position:fixed;
top:0;
right:0;
width:81vw;
max-width:370px;
height:100vh;
background:#161c29;
z-index:2001;
flex-direction:column;
padding:60px 10px 70px 10px;
box-shadow:-8px 0 22px rgba(18,20,32,0.25);
overflow-y:auto;
}
.mobile-nav.active {
display:flex;
}
.mobile-nav-list {
list-style:none;
padding:0;
margin:0;
flex-grow:1;
}
.mobile-nav-list li {
padding:18px 20px;
font-size:20px;
color:#ffe600;
border-bottom:1px solid #22304a;
white-space:nowrap;
}
.mobile-nav-list li a {
color:#ffe600;
text-decoration:none;
display:block;
}
.mobile-auth-btns {
position:absolute;
bottom:24px;
left:0;
width:100%;
display:flex;
justify-content:center;
gap:28px;
padding:0 10px;
}
.mobile-auth-btns .register-btn,
.mobile-auth-btns .login-btn {
width:120px;
font-size:19px;
padding:13px 0;
border-radius:5px;
text-align:center;
display:flex;
align-items:center;
justify-content:center;
white-space:nowrap;
box-sizing:border-box;
}

/* Main banner with background image */
.section-main-banner {
position:relative;
background-image:url('/images/main-banner.webp');
background-size:cover;
background-position:center center;
background-repeat:no-repeat;
color:#f5faf8;
padding:80px 10px;
border-radius:13px;
box-shadow:0 6px 16px rgba(22,22,40,0.10);
text-align:center;
margin:22px 10px 0 10px;
max-width:calc(100% - 20px);
}
/* Overlay for readability */
.section-main-banner::before {
content:"";
position:absolute;
inset:0;
background:rgba(23, 28, 47, 0.65);
z-index:1;
border-radius:13px;
}
/* Content stacked above overlay */
.section-main-banner > * {
position:relative;
z-index:2;
}

.section-main-banner h1 {
font-size:2.4rem;
font-weight:800;
margin-bottom:10px;
line-height:1.1;
}
.section-main-banner p {
font-size:1.25rem;
margin-bottom:20px;
line-height:1.4;
}
.cta-main-btn {
display:inline-block;
background:#ffe600;
color:#232700;
font-weight:700;
font-size:20px;
padding:17px 40px;
border-radius:8px;
text-decoration:none;
box-shadow:0 3px 10px rgba(255 230 0 / 0.7);
transition:background .3s ease,color .3s ease;
margin-top:20px;
margin-bottom:30px;
}
.cta-main-btn:hover {
background:#21274a;
color:#ffe600;
}

/* Section general padding and margins */
.home-content {
overflow-x:hidden;
width:100%;
}
.home-content section,
.site-footer {
padding:30px 10px;
margin-left:auto;
margin-right:auto;
max-width:1240px;
width:100%;
box-sizing:border-box;
}

/* Section headings */
.section-info h2,
.section-features h2,
.section-promo h2,
.section-payments h2,
.section-sports h2,
.section-crash h2,
.section-slots h2,
.section-app h2,
.section-security h2,
.section-customer-support h2 {
font-size:1.5rem;
color:#ffe600;
margin-bottom:15px;
font-weight:700;
line-height:1.2;
}

/* Games grid */
.games-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-top:15px;
margin-bottom:20px;
width:100%;
}
.game-block {
background:#24335e;
color:#ffe600;
text-align:center;
padding:16px 8px;
font-size:1.15rem;
border-radius:6px;
font-weight:600;
min-height:48px;
display:flex;
align-items:center;
justify-content:center;
word-wrap:break-word;
}

/* Payments grid */
.payments-grid {
display:grid;
grid-template-columns:repeat(5,1fr);
gap:14px;
align-items:center;
margin-top:20px;
margin-bottom:15px;
width:100%;
}
.section-payments img,
.footer-payments img {
background:#fff;
padding:6px;
border-radius:10px;
display:block;
margin:auto;
height:44px;
width:44px;
object-fit:contain;
}

/* Promo section style */
.section-promo {
background:#214159;
border-radius:9px;
padding:22px 10px;
box-shadow:0 2px 11px rgba(47,53,96,0.07);
text-align:center;
margin-bottom:30px;
font-size:1.1rem;
line-height:1.4;
}
.cta-bonus-btn {
background:#03cb78;
color:#fff;
border:none;
border-radius:8px;
font-weight:600;
font-size:20px;
padding:16px 38px;
margin-top:30px;
margin-bottom:30px;
display:inline-block;
text-decoration:none;
box-shadow:0 2px 9px rgba(4,80,48,0.14);
transition:background .3s ease,color .3s ease;
}
.cta-bonus-btn:hover,
.cta-secondary-btn:hover {
background:#ffe600;
color:#192049;
}
.cta-secondary-btn {
background:#ffe600;
color:#25405a;
border-radius:8px;
padding:15px 32px;
text-decoration:none;
font-weight:500;
font-size:19px;
margin:15px 0;
display:inline-block;
}

/* Mobile app buttons */
.section-app .mobile-buttons {
display:flex;
gap:22px;
margin:20px 0 15px 0;
justify-content:center;
flex-wrap:wrap;
}
.android-download img,
.ios-download img {
display:inline-block;
vertical-align:middle;
height:48px;
width:48px;
}
.android-download,
.ios-download {
background:#181d28;
border-radius:19px;
padding:8px 26px;
display:flex;
align-items:center;
gap:8px;
color:#ffe600;
font-size:17px;
text-decoration:none;
box-shadow:0 2px 11px rgba(35,42,60,0.04);
transition:background .2s ease;
white-space:nowrap;
}
.android-download:hover,
.ios-download:hover {
background:#ffe600;
color:#232700;
}

/* Footer */
.site-footer {
background:#27294b;
width:100%;
padding:25px 10px 15px 10px;
margin-top:50px;
display:flex;
flex-direction:column;
gap:14px;
align-items:center;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);
overflow-x:hidden;
}
.footer-payments {
display:flex;
gap:18px;
margin-bottom:12px;
justify-content:center;
flex-wrap:wrap;
max-width:680px;
padding:0 10px;
box-sizing:border-box;
width:100%;
}
.footer-providers {
display:flex;
gap:22px;
margin-bottom:12px;
flex-wrap:wrap;
justify-content:center;
align-items:center;
max-width:810px;
width:100%;
padding:0 10px;
box-sizing:border-box;
}
.footer-providers img {
background:#0b1122;
border-radius:8px;
padding:7px 5px;
height:auto;
max-height:53px;
object-fit:contain;
}
.footer-company-details {
color:#f0ecef;
font-size:13px;
text-align:center;
margin-top:14px;
max-width:750px;
line-height:1.6em;
padding:0 10px;
width:100%;
box-sizing:border-box;
}

/* Customer support section */
.section-customer-support {
background:#1e2a52;
border-radius:12px;
padding:25px 20px;
margin-top:50px;
max-width:1240px;
color:#ffe600;
line-height:1.5;
text-align:center;
width:100%;
box-sizing:border-box;
}
.section-customer-support h2 {
font-size:1.6rem;
margin-bottom:15px;
font-weight:700;
text-align:center;
}
.section-customer-support p {
text-align:center;
margin:0 auto 15px auto;
max-width:600px;
}

/* Responsive adjustments */
@media(max-width:1080px){
.header-container {
height:54px;
padding:0 15px;
}
.nav-list {
display:none;
}
.hamburger {
display:flex;
margin-left:auto;
}
.main-nav {
width:auto;
flex-grow:0;
gap:10px;
}
.site-footer,
.home-content section,
.section-main-banner {
padding-left:10px;
padding-right:10px;
margin-left:10px;
margin-right:10px;
max-width:calc(100% - 20px);
}
}

@media (max-width:768px) {
.games-grid {
grid-template-columns:repeat(2,1fr);
gap:12px;
}
.payments-grid {
grid-template-columns:repeat(3,1fr);
gap:8px;
}
.section-main-banner {
padding:22px 5px 20px 5px;
margin:22px 5px 0 5px;
max-width:calc(100% - 10px);
}
.footer-payments {
gap:12px;
max-width:100%;
padding:0 15px;
}
.footer-payments img {
height:36px;
width:36px;
}
.footer-providers {
gap:15px;
padding:0 15px;
}
.section-app .mobile-buttons {
gap:15px;
flex-direction:column;
align-items:center;
}
}

@media (max-width:480px) {
.games-grid {
grid-template-columns:1fr;
gap:10px;
}
.payments-grid {
grid-template-columns:repeat(2,1fr);
gap:6px;
}
.section-main-banner {
padding:20px 5px;
margin:20px 5px 0 5px;
}
.section-main-banner h1 {
font-size:1.4rem;
}
.footer-payments {
gap:8px;
padding:0 20px;
}
.footer-payments img {
height:32px;
width:32px;
padding:4px;
}
.footer-providers {
gap:10px;
padding:0 20px;
}
.game-block {
padding:12px 6px;
font-size:1rem;
}
.android-download,
.ios-download {
padding:6px 20px;
font-size:16px;
}
}

@media (max-width:320px) {
.logo-link, .logo-img {
width:110px;
height:28px;
}
.section-main-banner {
margin:15px 5px 0 5px;
padding:15px 5px;
}
.section-main-banner h1 {
font-size:1.1rem;
}
.footer-payments {
gap:6px;
padding:0 25px;
}
.footer-payments img {
height:28px;
width:28px;
padding:3px;
}
.footer-providers {
gap:8px;
padding:0 25px;
}
.home-content section {
padding:20px 5px;
}
}