@font-face {
    font-family: 'proxima_novabold';
    src: url('proxima_nova_bold-webfont.woff2') format('woff2'),
         url('proxima_nova_bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'proxima_novaregular';
    src: url('proxima_nova_regular-webfont.woff2') format('woff2'),
         url('proxima_nova_regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'proxima_novasemibold';
    src: url('proxima_nova_semibold-webfont.woff2') format('woff2'),
         url('proxima_nova_semibold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

:root, *[data-theme='dark'] {
    --base-common-text-color: #ffffff;
    --base-common-text-color-rgb: 255, 255, 255;
    --base-text-shadow-color: 1px 1px 1px rgba(0, 0, 0, 0.66);
    --primary-color: #1E2733;
    --primary-color-rgb: 30, 39, 51;
    --primary-accent-color: #313540;
    --primary-accent-color-rgb: 49, 53, 64;
    --secondary-accent-color: #54575F;
    --tertiary-accent-color: #383C47;
    --fourth-accent-color: #3D414C;
    --fifth-accent-color: #19212B;
    --link-color: #FDB913;
    --link-color-rgb: 253, 185, 19;
    --error-color: #F75D5D;
    --active-odd-bg-color: #F1F1F1;
    --base-border-color: #41444D;
    --base-border-color-rgb: 65, 68, 77;
}

[x-cloak] { display:none !important; }

/* Base font and text color */
body {
  font-family: 'proxima_novaregular';
  color: #1E2733;
  margin:0;
}

/* Headings */

/* h1: 64px desktop, 48px below 1500px */
h1 {
  font-size: 64px;
  line-height: 64px;
  font-family: 'proxima_novabold';
  color: #1E2733;
  word-wrap: break-word;
    letter-spacing: -1px; /* slightly tighter */
}

/* h2: 39px desktop, 29px below 800px */
h2 {
  font-size: 39px;
  line-height: 40px;
  font-family: 'proxima_novabold';
  color: #1E2733;
  word-wrap: break-word;
}

/* h3: 29px desktop, 21px below 800px */
h3 {
  font-size: 29px;
  line-height: 32px;
  font-family: 'proxima_novasemibold';
  color: #1E2733;
  word-wrap: break-word;
}

@media (max-width: 1500px) {
  h1 {
    font-size: 48px;
    line-height: 48px;
    letter-spacing: 0px;
      
  }
}

@media (max-width: 800px) {

}

@media (max-width: 800px) {
  h2 {
    font-size: 29px;
    line-height: 32px;
  }

  h3 {
    font-size: 21px;
    line-height: 24px;
  }
}

h1,
h2,
h3,
h4 {
  margin-bottom: 1rem;
    margin-top:0rem;
}

h4 {
  font-size: 20px;
  font-family: 'proxima_novabold';
  line-height: 26px;
  letter-spacing: 0.2px;
  color: #1E2733;
  word-wrap: break-word;
}

/* Paragraph / regular text */
p, ul li, section, section ul li, section ol li, section p {
  font-size: 19px;
  font-weight: 400;
  line-height: 24px;
  color: #1E2733;
  word-wrap: break-word;
}

section ul, section ol {
  margin: 30px 0px 0px 20px;
  padding:0;
  
}

/* Small text */
small {
  font-size: 14px;
  font-weight: 400;
  line-height: 18.9px;
  letter-spacing: 0.14px;
  color: #313540;
  word-wrap: break-word;
}

/* Global box-sizing fix */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Btn */

.btn-primary {
  display: block;
  margin: 0 auto; /* center horizontally */
  width: 320px;
  max-width: 90%;
  font-size: 21px;
  font-family: 'proxima_novasemibold';
  line-height: 24px;
  color: #F8F9F9;
  background-color: #057D11;
  border: none;
  border-radius: 32px;
  padding: 16px 16px;
  text-align: center;
  cursor: pointer;
  transition: opacity 0.2s ease-in-out;
}

.btn-primary:hover {
  opacity: 0.9;
}

@media (max-width: 360px) {
  .btn-primary {
    width: 90%;
  }
}

.display {
color: #F8F9F9;
}

/* Navigation bar */
.navbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: transparent;
  z-index: 10;
  padding: 0; /* Remove vertical padding */
  height: 72px; /* fixed height instead */
}

.nav-inner {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0; /* move padding here */
}


/* Logo */
.logo {
  width: 138px;
  height: auto;
}

.nav-buttons {
  display: flex;
  gap: 8px; /* or less if needed */
  flex-wrap: nowrap;
}

/* Button styles */
.nav-buttons .btn {
  font-size: 12px;
  font-family: 'proxima_novaregular';
  line-height: 16px;
  color: #78E483;
  background: transparent;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 24px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  white-space: nowrap;
  padding: 0.5rem 0.75rem;

}

.nav-buttons .btn:hover {
  background-color: #057D11;
  color: #F8F9F9;
}

.nav-buttons .register {
  background-color: #057D11;
  color: #F8F9F9;
 text-decoration: none;
  transition: opacity 0.2s ease-in-out;
}

.nav-buttons .register:hover {
  opacity: 0.9;
}

@media (max-width: 400px) {
  .nav-inner {
    padding-left: 12px;
    padding-right: 12px;
  }
/*
  .logo {
    width: 110px; /* shrink logo if needed 
  }
*/
}

.bonus-section {
  max-width: 900px;
  margin: 0 auto;
  text-align: center; /* center headings & general text */
}

.steps-promo {
  margin: 2rem auto;
  max-width:500px;
}

.step-promo {
  display: flex;
  justify-content: start; /* center the whole row */
  align-items: flex-start;
  margin-bottom: 1rem;
}

.step-number {
  font-size: 1.5rem;
  margin-right: 0.5rem;
}

.step-promo p {
  text-align: left; /* keep text aligned left */
  max-width: 500px; /* keeps text tidy in a column */
  margin: 0;
}

/* Responsive container */
.container {
  width: 100%;
  max-width: 1408px;
  margin: 0 auto;
  padding-left: 56px;
  padding-right: 56px;
}

@media (max-width: 1500px) {
  .container {
    max-width: 1338px;
  }
}

@media (max-width: 1170px) {
  .container {
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (max-width: 800px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Grid system */
.grid {
  display: grid;
  gap: 1.5rem;
}

.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

.grid-6 {
  grid-template-columns: repeat(6, 1fr);
}


/* Desktop / default */
.hero {
  position: relative;
  width: 100%;
  height: 100vh;            /* Full viewport height */
  max-height: 700px;        /* Your cap */
  display: flex;
  align-items: start;
  justify-content: start;
  background-color: #181341;
}
.hero-grid {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero-left {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Video fills hero on desktop */
.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;         /* fill hero area */
  object-position: center;   /* centered */
  display: block;
}

/* CTA stays over video bottom center */
.hero-btn {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

/* ===== Mobile (<=1023px) ===== */
@media (max-width: 1023px) {
  .hero {
    height: auto;            /* hero = video height */
    max-height: none;
  }
  .hero-grid,
  .hero-left {
    height: auto;
    padding:0;
  }
  .hero-left {
    display: flex;
    justify-content: center; /* center horizontally */
    align-items: flex-start; /* align top */
  }
  .hero-video {
    width: 100%;
    height: auto;            /* size by intrinsic aspect ratio */
    object-fit: contain;     /* no crop */
    object-position: top center; /* align top + center */
  }
  /* Keep CTA overlayed at bottom of the video */
  .hero-btn {
    bottom: 50px;            /* a bit tighter on mobile */
  }
}
.hero-countdown {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.countdown-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end; /* ← aligns label to the bottom */
  gap: 1rem;
}

.countdown-label {
  font-size: 15px;
  color: #F8F9F9;
  flex: 1 1 auto;
}

.countdown-items {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
  flex: 0 0 auto;
}

.countdown-unit {
  width: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.countdown-unit .value {
  color: #FDB913;
  font-size: 21px;
  font-family: 'proxima_novasemibold';
  line-height: 24px;
  text-align: center;
}

.countdown-unit .label {
  color: #F8F9F9;
  font-size: 13px;
  font-weight: 400;
  line-height: 16px;
  text-align: center;
}

.separator {
  color: #8F8F8F;
  font-size: 15px;
  font-family: 'proxima_novasemibold';
  line-height: 20px;
  text-shadow: 0px 2px 17px rgba(8, 1, 48, 0.8);
}

/* Progress bar always right-aligned */
.progress-bar {
  width: 100%;
  position: relative;
  height: 8px;
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  justify-content: flex-end;
}

.progress-bg {
  background: #1E2733;
  height: 8px;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 24px;
  z-index: 1;
}

.progress-fill {
  background: #FDB913;
  height: 8px;
  border-radius: 24px;
  position: relative;
  z-index: 2;
}

.hero-btn {
    max-width:220px;
    margin:0 auto;
    position: absolute;
    text-decoration: none;
    z-index: 100;
}

.desktop-btn {
    display:block;
}



/* STEPS */

.steps {
  position: relative;
  z-index: 2;
  margin-top: -64px; /* adjust based on your hero height visually */

}

/* 1) cap overall width to 1056px */
.container-inner {
  max-width: 1056px;
  margin: 0 auto;
}

/* 2) the purple “card” that holds all steps, cap at 768px */
.steps-content {
  max-width: 768px;

  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 40px 32px 40px 40px;
  background: #280071;
  box-shadow: 0 0 34px 2px #19212B;
  border-radius: 24px;
  outline: 1px solid #41444D;
  outline-offset: -1px;
}


@media (max-width: 460px) {
  .steps-content {
   padding:16px
  }
}

/* keep them in one row above 800px */
@media (min-width: 800px) {
  .steps-content {
    flex-wrap: nowrap;
  }
    
  
}

/* 3) each step box */
.step {
display: flex;
  align-items: center;
  gap: 0.7rem;
  flex: 1 1 auto;
  min-width: 0; /* prevents overflow in flex layouts */
    min-width: 200px;
}

/* 4) yellow circle with number */
.step-icon {
  width: 48px;
  height: 48px;
  background: #FDB913;
  border-radius: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #1E2733;
  font-size: 29px;
  font-family: 'proxima_novabold';
  line-height: 32px;
    flex-shrink: 0;
}

/* 5) text block */
.step-text {
  display: flex;
  flex-direction: column;
}

@media (max-width: 800px) {
  .step-text {
    width: 150px;
  }
    
      .hero-right {
        min-height:150px;
        height: auto;
    }
}

h3 {
  font-size: 22px;
  margin: 30px 0px;
}

/* 6) title and subtitle overrides */
.step-title {
  margin: 0;
  color: #F8F9F9;
  font-size: 17px;
  font-family: 'proxima_novabold';
  line-height: 24px;
}

.step-subtitle {
  margin: 0;
  color: #F8F9F9;
  font-size: 13px;
  font-weight: 400;
  line-height: 16px;
}

@media (max-width: 799px) {
  .steps-content {
    flex-direction: column;
    align-items: center;
  }

  .step {
    width: 100%;
    justify-content: center;
  }
}

/* === BONUS SECTION === */
.bonus-section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

/* Reuse .container-inner limit */
.bonus-inner {
  margin: 0 auto;
  text-align: center;
}

/* H2 spacing to paragraph */
.bonus-inner h2 {
  margin-bottom: 2rem;
}

/* Descriptive paragraph */
.bonus-description {
  font-size: 19px;
  line-height: 24px;
  color: #1E2733;
  margin-bottom: 1rem;
  max-width: 700px;
  margin:0 auto;
}

a {
  text-decoration: none;
}

.bonus-description ul {

  max-width: 700px;
  margin: 20px auto;
}

.bonus-description ul li {
  text-align: left;
}

/* === Modal Trigger Button === */
/* Custom styles based on Figma */
.btn-tertiary.bonus-modal-trigger {
  display: flex;
  padding: 0 1.5rem;
  min-height: 56px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 21px;
  font-family: 'proxima_novasemibold';
  line-height: 24px;
  color: #706E6E;
  background: transparent;
  border: none;
  cursor: pointer;

  margin: 0 auto 3rem auto;
  white-space: nowrap; /* 💡 prevents multi-line text */
}

/* SCROLL BUTTON */

.scroll-button {
  display: flex;
  height: 40px;
  padding: 4px 24px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  background: #057D11;
  border-radius: 24px;
  border: none;
  cursor: pointer;
  position: relative;
  margin: 0 auto;
  margin-top: -20px;
  z-index: 5;
  transition: opacity 0.2s ease-in-out;
}

.scroll-button:hover {
  opacity: 0.9;
}

/* === Countdown block reuse with overrides === */
.bonus-countdown {
  margin-bottom: 3rem; /* spacing to CTA button */
}

.bonus-countdown .value.green {
  color: #057D11;
}

.bonus-countdown .label {
  color: #8F8F8F;
  font-size: 13px;
  font-weight: 400;
  line-height: 16px;
}

/* Label */
.bonus-countdown .countdown-label {
  font-size: 15px;
  font-style: normal;
font-family: 'proxima_novasemibold';
  line-height: 20px;
  color: #1E2733;
  text-align: left;
  flex: 1 1 auto;
}


.bonus-countdown .countdown-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 1rem; /* ensure it's not pushing progress bar down */
}

/* Background under progress */
.progress-bg.light-grey {
  background: #EFEFEF;
}

/* Green progress fill */
.progress-fill.green {
  background: #057D11;
}

/* CTA button full width */
.claim-btn {

}



/* Responsive layout for countdown block */
@media (max-width: 800px) {
  .countdown-header, .bonus-countdown .countdown-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .countdown-label,
  .countdown-items {
    justify-content: center;
  }
    
    .hero-btn {
    max-width:220px;
    margin:0 auto;
	}
}

@media (max-width: 460px) {
  .hero-btn {
    position: fixed;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    max-width: 95%;
    width: 95% !important;
  }
    
  .desktop-btn, .ksp-card-btn, .promo-card-btn {
      display:none;
    }
    
    
    
  
}




/* Responsive breakpoint */
@media (min-width: 1170px) {
   .hero-grid {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
    
    #arnautovic {
        width:250px;
        display:block;
    }

  .hero-left,
  .hero-right {
    width: auto;
    flex: 0 0 auto;
  }
    
    .hero-right {
        min-height:400px;
    }

  .progress-fill {
    left: 0; /* reset position for mobile if needed */
    width: 50%; /* demo fill for mobile */
  }
}

@media (min-width: 1356px) {
	.hero-right {
        min-height:300px;
    }
    
    
}

@media (min-width: 1540px) {
	  #arnautovic {
        right:10%;
    }
    
    
}

@media (min-width: 2100px) {
	  #arnautovic {
        right:20%;
    }
    
    
}

  

/* ============================================== */
/*   CASINO OFFER SLIDER SECTION CSS             */
/* ============================================== */

/* Base section styling */
.casino-offer {
  background: url('casinooffer-back.png') center/cover no-repeat;
  padding-top: 8rem;   /* 128px */
  padding-bottom: 7.5rem; /* 120px */

}

/* Section header */
.casino-offer .casino-title {
  margin-bottom: 0;
  text-align: center;
}
.casino-offer .casino-subtitle {
  color: var(--text-content-secondary, #8F8F8F);
  font-size: 21px;
  font-family: 'proxima_novaregular';
  line-height: 24px;
  word-wrap: break-word;
  margin-bottom: 3rem;
  text-align: center;
    margin-top:0;
}

/* —— Slider + External Nav Wrapper —— */
.slider-with-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  max-width: 1060px;
  width: 100%;
  margin: 0 auto;
}



.slot-title {

color: #F8F9F9;
 font-size: 15px;
 font-family: 'proxima_novasemibold';
 line-height: 20px;
 word-wrap: break-word;
text-align: center !important;
}

/* Prevent clipping of slides/nav */
.slider-with-nav .swiper-container {
  overflow: visible;
  width: 100%;
  max-width:200px;
}

/* Nav buttons */
.slider-nav {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Pull buttons outside the slider viewport */
.slider-nav-prev {
  margin-right: 0px; /* adjust to taste */
}
.slider-nav-next {
  margin-left: 0px;
}

/* Icon sizing */
.slider-nav img {
  width: 24px;
  height: auto;
}

.mySwiper .swiper-slide {
  position: relative;
  transition: 
    opacity 0.3s ease-in-out,
    z-index 0.3s ease-in-out,
    transform 0.3s ease-in-out,
    margin  0.3s ease-in-out;
  transform-origin: center center;
}

.mySwiper .swiper-slide img {
    width:100%;
}

p.modal-text {
    margin-top:0px;
}

/* —— Responsive Tweaks —— */
@media (max-width: 1170px) {
    .slider-with-nav .swiper-wrapper {

		}
}
@media (max-width: 800px) {
  /* fewer slides per view—configure this in your JS */
  .slider-nav-prev { margin-right: -32px; }
  .slider-nav-next { margin-left:  -32px; }
    
    .slider-with-nav .swiper-wrapper {
		margin-left:0px;
		}

}
@media (max-width: 460px) {
  .slider-nav-prev { margin-right: -24px; }
  .slider-nav-next { margin-left:  -24px; }
  .slider-nav img { width: 16px; }

}

/* ======================================= */
/*   MAIN PROMO SECTION STYLES             */
/* ======================================= */
.main-promo {
  position: relative;
  background-color: #280071;
  overflow: hidden;
    border-top:4px solid #FDB913;
}

/* 20%-opacity image overlay */
.main-promo::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('mainpromo.jpg') center/cover no-repeat;
  opacity: 0.2;
  z-index: 1;
}

/* cap at 1056px and stack above the overlay */
.main-promo-inner {
  position: relative;
  z-index: 2;
  padding: 4rem 0rem 5rem; /* top:4rem (adjust if needed), bottom:3rem */
}

/* Promo image wrapper */
.promo-image-wrapper {
  max-width: 716px;
  width: 100%;
  margin: 0 auto 2rem; /* bottom gap before title */
}

@media (max-width: 800px) {
  .promo-image-wrapper {
    width: 95%;
  }
}

/* Ensure the image scales fully */
.promo-image {
  display: block;
  width: 100%;
  height: auto;
}

/* Title inherits .display, center it */
.main-promo-title {
  text-align: center;
  margin-bottom: 1rem;
}

/* Subtitle: 21px white text */
.main-promo-subtitle {
  text-align: center;
  color: #F8F9F9;
  font-size: 21px;
  font-family: 'proxima_novaregular';
  line-height: 24px;
  margin: 0 0 2rem; /* bottom gap before button */
}

/* CTA button: reuse .btn-primary styling, center it */
.main-promo-btn {
  display: block;
  margin: 0 auto;
}

@media (max-width: 460px) {

    
  .main-promo-btn {
      display:none;
    }
    
  
}




.main-promo-other {
  border-top: 1px solid #825ACB;
  padding-top: 4rem;
    position: relative;
  z-index: 2;    /* same as .main-promo-inner so it’s fully opaque */
  /* your existing rules… */
}

/* white display-style H3 centered */
.main-promo-other-title {
  color: #F8F9F9;
  margin: 0;
  text-align: center;
}

  /* Container */
  .container-inner.main-promo-other {
    padding: 2rem 1rem;
  }

  /* Section title */
  .main-promo-other-title {
    color: #F8F9F9;
    text-align: center;
    margin-bottom: 1.5rem;
    font-size: 24px;
    font-family: 'proxima_novabold';
  }

  /* Swiper wrapper acts as grid ≥801px */
  .promos-swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 48px;
    margin: 2rem 0;
  }

  /* Each card */
  .promos-swiper .promo-card {
    background: #F8F9F9;
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  /* Card image */
  .promo-card-main-img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block;
  }

  /* Card body */
  .promo-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 1rem;
  }

  /* Title */
  .promo-card-title {
    color: var(--surface-content-primary, #1E2733);
    font-size: 20px;
    font-family: 'proxima_novabold';
    line-height: 26px;
    letter-spacing: 0.20px;
      margin: 0;
  }

  /* Description */
  .promo-card-desc {
    color: var(--surface-content-secondary, #313540);
    font-size: 14px;
    font-family: 'proxima_novaregular';
    line-height: 18.9px;
    letter-spacing: 0.14px;
    margin: 0 0 1rem;
    flex: 1;
  }

  /* Button */
  .promo-card-btn {
    align-self: center;
    background-color: var(--surface-buttons-action-primary-default, #057D11);
    color: var(--text-buttons-action-primary-default, #F8F9F9);
    font-size: 13px;
    font-family: 'proxima_novaregular';
    line-height: 16px;
    padding:16px 16px;
    border: none;
    border-radius: 32px;
    cursor: pointer;
    transition: opacity 0.2s ease-in-out;
    width:100%;
  }
  .promo-card-btn:hover {
    opacity: 0.8;
  }

  /* Slider behavior <801px */
@media (max-width: 800px) {
  /* 1) Make the wrapper’s flex items (slides) stretch to equal height */
  .promos-swiper .swiper-wrapper {
    display: flex;
    gap: 1rem;
    overflow: visible !important;
    align-items: stretch; 
    height:100%;
      /* ← key: all slides match the tallest */
  }

  /* 2) Turn each slide into a column flex container */
  .promos-swiper .swiper-slide {
    flex: 0 0 auto;
    width: 280px;
    display: flex;
     
   height: auto !important;
    flex-direction: column;    /* ← so .promo-card can fill height */
  }

  /* 3) Ensure the card itself is full height */
  .promos-swiper .promo-card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  /* 4) Let the body take remaining space under the image */
  .promos-swiper .promo-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
}

/* hide any overflow on the container so no scrollbar shows */
.container-inner.main-promo-other {
  overflow-x: hidden;
}

/* MODAL */

/* Overlay background */
.modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.65);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  padding: 1rem;
}

/* Modal frame */
.modal-frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  width: 800px;
  max-height: 90vh;
  padding: 64px 40px 40px 40px;
  background: #F8F9F9;
  border-radius: 40px;
  box-shadow: 0px 0px 72px rgba(0, 0, 0, 0.7);
  position: relative;
  overflow: hidden;
}

/* Close button */
.modal-close {
  position: absolute;
  top: 32px;
  right: 32px;
  width: 24px;
  height: 24px;
  aspect-ratio: 1 / 1;
  background: transparent;
  border: none;
  cursor: pointer;
}

/* Modal title */
.modal-title {
  align-self: stretch;
  font-family: 'proxima_novasemibold';
  font-size: 39px;
  
  line-height: 40px;
  color: #1E2733;
}

.modal-text-scroll {
  max-height: 300px;
  overflow-y: auto;
  position: relative;
  padding-right: 16px; /* padding so text doesn’t go under scrollbar */
}

/* Long paragraph */
.modal-text {
font-family: 'proxima_novaregular';
  font-size: 19px;
  line-height: 24px;
  color: #1E2733;
  margin-bottom: 1.5rem;
    marging-top:0;
}

/* CTA Button */
.modal-cta {
  display: flex;
  align-self: stretch;
  height: 56px;
  padding: 0 48px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  background: #057D11;
  border-radius: 32px;
  border: none;
  color: #fff;
  font-size: 19px;
  font-family: 'proxima_novasemibold';
  cursor: pointer;
  transition: opacity 0.2s ease-in-out;
}

.modal-cta:hover {
  opacity: 0.9;
}

/* Custom scrollbar styling (fallback if needed) */
.modal-text-scroll::-webkit-scrollbar {
  width: 12px;
}
.modal-text-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.modal-text-scroll::-webkit-scrollbar-thumb {
  background: #C0C0C0;
  border-radius: 12px;
}

.modal-text-scroll::-webkit-scrollbar {
  width: 12px;
}

.modal-text-scroll::-webkit-scrollbar-track {
  background: transparent;
  padding: 4px; /* rhythm-xs */
}

.modal-text-scroll::-webkit-scrollbar-thumb {
  background-color: #4A4A4A; /* darker gray for thumb */
  border-radius: 6px;
  border: 3px solid transparent; /* optional for inner padding feel */
  background-clip: content-box;
}

@media (max-width: 799px) {
  .modal-title {
    font-size:29px;
  }
   .modal-text {
    font-size:15px
    }
}

@media (max-width: 468px) {
  .modal-frame {
    width: 95%;
    padding: 16px 16px;
    position: absolute;
    top: 80px;
    left: 2.5%;
  }
}
/* === KEY SELLING POINTS SECTION === */
.ksp-section {
  width: 100%;
  max-width: 1056px;
  margin: 0 auto;
  border-top: 2px solid #E1E1E1;
  padding: 2rem 0;
}

/* Inner wrapper */
.ksp-inner {
  max-width: 1056px;
  margin: 0 auto;
  text-align: center;
}

.ksp-title {
  margin-bottom: 0.5rem;
  /* inherits your h2 settings (39px/40px desktop, 29px/32px mobile) */
}

.ksp-subtitle {
  color: var(--text-content-negtaive-secondary, #41444D);
  font-size: 21px;
  font-weight: 400;
  line-height: 24px;
  margin-bottom: 2rem;
}

/* Grid of cards */
.ksp-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
    margin-bottom:5rem;
}

@media (max-width:1170px) {
	.ksp-inner {
  		max-width: 1056px;
  		margin: 0 auto;
  		text-align: center;
        padding-left:1rem;
        padding-right:1rem;
}
}
@media (max-width: 800px) {
  .ksp-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 4%;
  }
}
@media (max-width: 576px) {
  .ksp-cards {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
    
   
}

/* Individual card */
.ksp-card {
  position: relative;
  background-image: url('card.png');
  background-position: center;
  background-size: cover;
  box-shadow: 0 0 7px rgba(25,33,43,0.2);
  border-radius: 24px;
  outline: 1px solid var(--surface-content-negative-tertiary, #E1E1E1);
  outline-offset: -1px;

  /* Enough padding to fit icon+text at top and button at bottom */
  padding: 64px 8px 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  transition: padding 0.3s ease-in-out;
}

/* Icon wrapper */
.ksp-icon-wrapper {
  width: 105px;
  height: 105px;
  position: relative;
  overflow: hidden;
  transition: opacity 0.3s ease-in-out;
}
.ksp-icon-wrapper img.ksp-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Card text */
.ksp-card-text {
  margin-top: 1rem;
  text-align: center;
  color: var(--text-content-primary, #F8F9F9);
}
.ksp-card-title {
  font-size: 29px;
  font-family: 'proxima_novabold';
  line-height: 32px;
  margin-bottom: 0.5rem;
}
.ksp-card-subtitle {
  font-size: 17px;
  font-weight: 400;
  line-height: 24px;
}

/* CTA button (initially hidden) */
.ksp-card-btn {
  min-width:168px;
  position: absolute;
  bottom: 108px;           /* sits 16px above card bottom */
  left: 50%;
  transform: translateX(-50%);
  background-color: #057D11;
  color: #F8F9F9;
  font-size: 21px;
  font-family: 'proxima_novasemibold';
  line-height: 24px;
  border: none;
  border-radius: 32px;
  padding: 16px 16px;
  cursor: pointer;

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

/* Hover state */
.ksp-card:hover .ksp-icon-wrapper {
  opacity: 0;
}
.ksp-card:hover .ksp-card-btn {
  opacity: 1;
  visibility: visible;
}

/* 1) Enable smooth text-shift on hover */
.ksp-card-text {
  margin-top: 1rem;
  transition: transform 0.3s ease-in-out;
}
.ksp-card:hover .ksp-card-text {
  /* icon height (105px) + its bottom margin (1rem ≈ 16px) */
  transform: translateY(-121px);
}

/* 2) Two columns under 576px + smaller subtitle */
@media (max-width: 576px) {
  .ksp-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
    
    .ksp-card {
        padding:32px 8px 32px;
    }
  .ksp-card-subtitle {
    font-size: 15px;
    line-height: 18px;
  }
    
  .ksp-icon-wrapper {
  width: 52px;
  height: 52px;

}
    
     .ksp-card-title {
        font-size:21px;
    }
    
    .ksp-card-btn {
    	min-width:90%;
        font-size:15px;
        padding:8px 16px;
        bottom:32px;
    }
    
    .ksp-card:hover .ksp-card-text {
  /* icon height (105px) + its bottom margin (1rem ≈ 16px) */
  transform: translateY(-64px);
}

}
/* --- Footer wrapper --- */
/* ====== Footer (pixel-identical look) ====== */
.footer-other{
  background:#1E2733;
  color:#fff;
  font-family:"Proxima-Nova",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  padding:40px 20px;
  line-height:1.4;
  box-sizing:border-box;
}

/* NEW: inner container */
.footer-other .container{
  max-width: 1200px;     /* tweak if you need 1338/1408 etc. */
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;   /* center all content blocks */
  text-align: center;    /* center all text */
}

/* Links */
.footer-other a{ color:#FDB913; text-decoration:none; }
.footer-other a:hover{ text-decoration:underline; }

/* Disclaimer */
.footer-other .disclaimer{
  color:#8F8F8F;
  font-size:11px;           /* as on site */
  line-height:16px;
  margin:0 0 24px 0;
  max-width: 980px;         /* NEW: keep lines nice & readable */
}

/* Payments */
.footer-other .payments{ margin:0 0 20px 0; width:100%; }
.footer-other .payments-title{
  color:#fff;
  font-size:13px;
  font-weight:400;
  line-height:16px;
  margin:0 0 10px 0;
}
.footer-other .payments-wrapper{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;   /* NEW: center icons row */
  gap:12px;
}
.footer-other .payments-wrapper p{
	height: 40px;
  padding: 0 8px;
  border: 1px solid var(--primary-accent-color);
  border-radius: 2px;
  justify-content: center;
  display: flex;
  flex-flow: column;
  margin:0;
}
.footer-other .payments-wrapper img{ height:40px; display:block; }

/* Secure badges */
.footer-other .secure{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;   /* NEW: center */
  gap:12px;
  margin:20px 0;
  width:100%;
}
.footer-other .secure > div{ display:flex; align-items:center; }
.footer-other .secure img{ height:28px; display:block; }

/* Copyright row */
.footer-other .copyright-wrapper{
  display:flex;
  justify-content:center;   /* NEW: center row */
  align-items:center;
  gap: 12px;                 /* NEW: small gap between © and time */
  margin:24px 0;
  font-size:13px;
  line-height:16px;
  color:#fff;
  width:100%;
}
.footer-other .active-date{ color:#fff; } /* we keep white time text like original */

/* Partners */
.footer-other .partners{ margin:14px 0 10px; width:100%; }
.footer-other .exclusive-parters-text{
  color:#fff;
  font-size:13px;
  font-weight:400;
  line-height:16px;
  margin:0 0 10px 0;
}
.footer-other .partners-wrapper-child{
  display:flex;
  align-items:center;
  justify-content:center;   /* NEW: center */
  gap:16px;
}
.footer-other .partners-wrapper-child img{
  height:auto;
  max-width:100%;
  display:block;
}

/* Responsible betting */
.footer-other .responsible-betting-wrapper{
  margin-top:20px;
  font-size:13px;
  line-height:16px;
  width:100%;
}
.footer-other .responsible-betting-wrapper .legal{
  width: 20px;
  height: 20px;
  padding:5px;
  text-align: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.6);
  color: rgba(255, 255, 255, 0.6);
  line-height: 30px;
  font-size:13px;
  display:inline-flex;          /* NEW: precise centering of text */
  align-items:center;
  justify-content:center;
}

/* Simple responsive tweaks matching site behavior */
@media (max-width: 768px){
  .footer-other{ padding:28px 16px; }
  .footer-other .container{ padding:0; }
  .footer-other .payments-wrapper img{ height:20px; }
  .footer-other .secure img{ height:24px; }
  .footer-other .copyright-wrapper{
    flex-direction:column;
    gap:6px;
  }
}


@media (max-width: 460px) {

    .scroll-button { margin-top: -10px}
    .modal-close {
        top:10px;
        right:10px;
    }
}

.swiper-slot { width:100%; max-width:870px; margin:0 auto; overflow: hidden; }

    /* Fixed card size for coverflow + 'auto' sizing */
    .swiper-slot .swiper-slide {
      width:200px;                /* tweak width for how many fit */
      height:240px;
      display:flex; align-items:center; justify-content:center; 
    }

    .card {
      position:relative;
      width:100%; height:100%;
      background:transparent; overflow:hidden;
      display:flex; align-items:center; justify-content:center;
      
    }

    .card img {
      width:100%; height:100%;
      object-fit: contain;        /* keep PNGs intact */
      object-position: top center;
      background: transparent;
    }

    .slot-title {
      position:absolute; left:0; right:0; bottom:0;
      padding:10px 12px; text-align:center;
      font-weight:700; font-size:14px; line-height:1.15;
      color:#fff;
      background:transparent;
    }

    /* Default */
.swiper-slot .swiper-slide .card img { opacity: .6; transition: opacity .25s ease; }

/* Neighbors */
.swiper-slot .swiper-slide-next .card img,
.swiper-slot .swiper-slide-prev .card img { opacity: .9; }

/* Active */
.swiper-slot .swiper-slide-active .card img { opacity: 1; }

    @media (max-width:1024px){ .swiper-slot .swiper-slide{ width:200px; height:240px; } }

/* ANIMATIONS */

.progress-fill {
  transition: width 1500ms cubic-bezier(.22,.61,.36,1); /* smooth */
  will-change: width;
}



/* styles.css */

.promo-card {
  position: relative;
  transition: transform 220ms ease, box-shadow 220ms ease;
  will-change: transform;
}

.promo-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

/* subtle “shine” */

.promo-card::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.25) 45%, transparent 60%);
  transform: translateX(-120%);
  transition: transform 600ms ease;
  pointer-events: none;
}

.promo-card:hover::after {
  transform: translateX(120%);
}

