/* Base styles */
body,
html {
  background-color: #FFFFFF;
  background-image: url('../images/hero-gradient.png');
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100%;
  width: 100%;
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  transition: background-size 0.5s ease-in-out; /* Smooth transition */
}

@media (max-width: 1550px) {
  body {
    background-size: 130%;
  }
}

@media (max-width: 1024px) {
  body {
    background-size: 160%;
  }
}

@media (max-width: 768px) {
  body {
    background-size: 290%;
  }
}

@media (max-width: 425px) {
  body {
    background-size: 535%;
  }
}

@media (max-width: 375px) {
  body {
    background-size: 600%;
  }
}

@media (max-width: 320px) {
  body {
    background-size: 750%;
  }
}

h1 {
  color: #FFFFFF;
  font-size: 4rem;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 50px;
  letter-spacing: -3px;
}

h2 {
  color: #FFFFFF;
  max-width: 800px;
  margin-top: 50px;
  margin-bottom: 25px;
  font-size: 3.25rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -2px;
}

h3 {
  text-align: center;
  color: #000000;
  max-width: 800px;
  margin: 25px 0;
  font-size: 3.25rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -2px;
}

h4 {
  text-align: left;
  color: #000000;
  max-width: 800px;
  margin-bottom: 15px;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -2px;
}

h5 {
  text-align: center;
  color: #ffffff;
  max-width: 800px;
  font-size: 1.875rem;
  font-weight: 600;
  letter-spacing: 2px;
  line-height: normal;
}

h6 {
  color: #FFFFFF;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  margin-bottom: 15px;
  line-height: normal;
}

.h7 {
  text-align: center;
  color: #000000;
  max-width: 800px;
  margin-bottom: 15px;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -2px;
}

.h8 {
  text-align: left;
  color: #000000;
  max-width: 800px;
  margin-bottom: 15px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -2px;
}

p {
  text-align: left;
  color: #000000b4;
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.3;
}

.p1 {
  color: #FFFFFF;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 1.375rem;
}

.p2 {
  text-align: center;
  color: #000000b4;
  font-size: 1.375rem;
  font-weight: 400;
  letter-spacing: 1.2px;
}

.p3 {
  text-align: left;
  color: #000000b4;
  max-width: 820px;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 1.5px;
  line-height: 1.6;
}


@media (max-width: 900px) {
  .p1 { font-size: 1.3rem; text-align: center; }
}

@media (max-width: 768px) {
  .p1 { font-size: 1.2rem; }
}

@media (max-width: 425px) {
  .p1 { font-size: 1.15rem; }
}


button {
  background-color: #f64c4c;
  color: white;
  border: none;
  box-shadow: none;
  text-decoration: none;
  text-align: center;
  padding: 20px;
  border-radius: 15px;
  font-size: 1.3rem;
  font-weight: 600;
}

button:hover {
  background-color: #6305c9;
}

.content {
  text-align: center;
  background-color: transparent;
  max-width: 1200px;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 10px;
  padding-bottom: 10px;
}

.content button {
  margin: 35px auto;
}

.content-block {
  z-index: 10;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.tutorial-block {
  z-index: 10;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 250px;
}

.content-block img {
  display: flex;
  justify-content: center;
  align-items: stretch;
}

section {
  padding-top: 20px;
  padding-bottom: 20px;
}


/* Responsive Styles */
@media (max-width: 20rem) { /* 320px */
  h1 {
    font-size: 2rem; /* 32px */
  }
  h2 {
    font-size: 1.5rem; /* 24px */
  }
}

@media (max-width: 23.4375rem) { /* 375px */
  h1 {
    font-size: 2.25rem; /* 36px */
  }
  h2 {
    font-size: 1.75rem; /* 28px */
  }
}

@media (max-width: 26.5625rem) { /* 425px */
  h1 {
    font-size: 2.5rem; /* 40px */
  }
  h2 {
    font-size: 2rem; /* 32px */
  }
}

@media (max-width: 48rem) { /* 768px */
  h1 {
    font-size: 3rem; /* 48px */
  }
  h2 {
    font-size: 2.25rem; /* 36px */
  }
}

@media (max-width: 56.25rem) { /* 900px */
  h1 {
    font-size: 3.25rem; /* 52px */
  }
  h2 {
    font-size: 2.5rem; /* 40px */
  }
}

@media (max-width: 64rem) { /* 1024px */
  h1 {
    font-size: 3.5rem; /* 56px */
  }
  h2 {
    font-size: 2.75rem; /* 44px */
  }
}

@media (max-width: 90rem) { /* 1440px */
  h1 {
    font-size: 3.75rem; /* 60px */
  }
  h2 {
    font-size: 3rem; /* 48px */
  }
}

@media (max-width: 160rem) { /* 2560px */
  h1 {
    font-size: 4rem; /* 64px */
  }
  h2 {
    font-size: 3.25rem; /* 52px */
  }
}






/* ---- NAVIGATION BAR -----
---------- STYLING ------ */

.navbar {
  background-color: transparent;
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  width: 100%;
  z-index: 1000;
  position: relative;
}

/* Container for navigation content */
.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 10px 80px;
}

/* Logo styling */
.logo {
  flex: 1;
  display: flex;
  justify-content: flex-start;
}

.logo img {
  max-width: 140px;
  height: auto;
}

/* Navigation menu styling */
.nav-menu {
  display: flex;
  justify-content: space-between; /* Equal spacing between items */
  gap: 20px; /* Adjust space between links */
  align-items: center; /* Vertical alignment */
  list-style: none; /* Remove default list styling */
  padding: 0;
  margin: 0;
}

.nav-link {
  color: #ffffff;
  text-decoration: none;
  padding: 5px 10px;
  margin-right: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  font-size: 1.125rem;
  line-height: 1;
  transition: color 0.3s;
}

.nav-link:hover {
  color: #6305c9;
  text-decoration: none;
}

/* Navigation buttons styling */
.nav-buttons {
  display: flex;
  gap: 15px;
  padding-left: 10px;
  padding-right: 40px;
}

.nav-button {
  color: #ffffff;
  text-decoration: none;
  text-align: center;
  padding: 10px 20px;
  border-radius: 15px;
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 1px; /* Adjust to match text links */
  transition: background-color 0.3s, color 0.3s;
}

.smaller-text {
  color: #ffffff;
  text-decoration: none;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
  transition: background-color 0.3s, color 0.3s;
}

.btn-green {
  background-color: #08bd23;
}

.btn-red {
  background-color: #f64c4c;
}

.nav-button:hover {
  background-color: #6305c9;
  text-decoration: none;
}



/* Hamburger menu styling */
.hamburger-menu {
  display: none;
  background: transparent;
  border: none;
  font-size: 1.875rem; /* 30px */
  color: #ffffff;
  cursor: pointer;
  z-index: 1001;
}

/* For hover effect, dim the lines (white color) */
.hamburger-menu:hover {
  opacity: 0.7;
}

/* Show hamburger menu on small screens */
@media (max-width: 900px) {
  .hamburger-menu {
    display: block;
  }
}

/* Mobile menu styling */
.mobile-nav {
  display: none;
  position: absolute;
  top: 100%; /* Position below the hamburger menu */
  right: 5px; /* Align to the right of the nav bar */
  width: auto; /* Adjust width as needed */
  max-width: 250px; /* Adjust maximum width as needed */
  background-color: rgb(60, 0, 117); /* Semi-transparent background */
  border-radius: 15px; /* Optional: rounded corners */
  padding: 5px;
}

/* Show mobile menu when active */
.mobile-nav.show {
  display: block;
}

.mobile-nav a {
  display: block;
  color: #ffffff;
  text-decoration: none;
  margin-bottom: 15px; /* Add gap between links */
  font-size: 1rem; /* Adjust font size as needed */
  border-bottom: 1px solid rgba(255, 255, 255, 0.3); /* Optional: separator between links */
}

.mobile-nav a:last-child {
  border-bottom: none; /* Remove border from last link */
  margin-bottom: 0;
}



.nav-link, .dropdown {
  display: inline-block; /* Ensure all items have consistent behavior */
  justify-content: space-between; /* Equal spacing between items */
  text-decoration: none;
}

/* Dropdown specific styles */
.dropdown {
  position: relative;
  margin-left: 0; /* Remove any extra spacing */
}

.dropdown-toggle {
  cursor: pointer;
}

.dropdown-menu {
  display: none; /* Hidden by default */
  position: absolute;
  top: 100%; /* Position below the dropdown toggle */
  left: 0;
  margin-left: 10px; /* Adjust to align with the nav link */
  background-color: white;
  min-width: 150px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 10px 0;
  z-index: 1000;
}

.dropdown-item {
  text-decoration: none;
  color: #6305c9; /* Purple text */
  font-weight: bold; /* Bold text */
  opacity: 1; /* Default opacity */
  transition: opacity 0.3s ease; /* Smooth transition for fade effect */  
  padding: 10px 15px;
  display: block;
  transition: background-color 0.3s;
}

.dropdown-item:hover {
  text-decoration: none;
  opacity: 0.7; /* Fade effect on hover */
  background-color: #f3e5f5; /* Light purple background on hover */
}

/* Show the dropdown on hover */
.dropdown:hover .dropdown-menu {
  display: block;
}


/* Dropdown specific styles in mobile view */
.mobile-nav .dropdown {
  position: static; /* Ensure dropdown stays in the flow of mobile-nav */
}

.mobile-nav .dropdown-menu {
  display: none; /* Initially hidden */
  position: static; /* No absolute positioning for mobile */
  background-color: rgb(60, 0, 117); /* Match the mobile nav background */
  padding: 0;
  border: none; /* Remove borders in mobile */
  margin-top: 5px;
}

.mobile-nav .dropdown-item {
  padding: 10px 15px;
  background-color: transparent; /* Transparent background for dropdown */
  color: #ffffff;
  font-weight: bold;
}

.mobile-nav .dropdown-item:hover {
  background-color: rgba(255, 255, 255, 0.2); /* Subtle hover effect */
}

/* Show dropdown menu when active */
.mobile-nav .dropdown.show .dropdown-menu {
  display: block; /* Show dropdown when active */
}





/* Responsive styling */
/* 4K Screens */
@media (min-width: 2560px) {
  .navbar {
    padding: 15px;
  }
  .nav-container {
    padding: 0 150px;
  }
  .nav-link, .nav-button {
    font-size: 1.375rem;
  }
  .logo img {
    max-width: 180px;
  }
}

/* Laptop L (1440px) */
@media (min-width: 1440px) and (max-width: 2559px) {
  .navbar {
    padding: 15px;
  }
  .nav-container {
    padding: 0 100px;
  }
  .nav-link, .nav-button {
    font-size: 1.25rem;
  }
  .logo img {
    max-width: 160px;
  }
}

/* Laptop (1024px) */
@media (max-width: 1024px) {
  .navbar {
    padding: 15px;
  }
  
  .nav-container {
    padding: 0 60px;
  }

  .nav-menu {
    gap: 10px;
    padding-right: 0;
    padding-left: 10px;
  }

  .nav-link, .nav-button {
    font-size: 1rem;
  }
}

@media (max-width: 960px) {
  .nav-container {
    padding: 0 40px;
  }
  .nav-link, .nav-button {
    font-size: 0.875rem;
  }
}

@media (max-width: 900px) {
  .navbar {
    padding: 10px;
  }
  .nav-container {
    padding: 0 20px;
  }
  .logo img {
    max-width: 120px;
  }
  .nav-link, .nav-button {
    display: none;
  }
  .hamburger-menu {
    font-size: 1.563rem;
  }
  .mobile-nav {
    right: 28px;
  }
  .mobile-nav a {
    padding: 10px;
  }
}

@media (max-width: 768px) {
  .mobile-nav {
    right: 25px;
  }
  .mobile-nav a {
    padding-right: 10px;
  }
}

/* Mobile L (425px) */
@media (max-width: 425px) {
  .navbar {
    padding: 5px;
  }
  .nav-container {
    padding: 0 15px;
  }
  .logo img {
    max-width: 110px;
  }
  .nav-link, .nav-button {
    display: none;
  }
  .hamburger-menu {
    font-size: 1.375rem;
  }
  .mobile-nav {
    right: 18px;
  }
}

/* Mobile M (375px) */
@media (max-width: 375px) {
  .navbar {
    padding: 5px;
  }
  .nav-container {
    padding: 0 10px;
  }
  .logo img {
    max-width: 100px;
  }
  .nav-link, .nav-button {
    display: none;
  }
  .hamburger-menu {
    font-size: 1.25rem;
  }
  .mobile-nav {
    right: 16px;
  }
}

/* Mobile S (320px) */
@media (max-width: 320px) {
  .navbar {
    padding: 5px;
  }
  .nav-container {
    padding: 0 5px;
  }
  .logo img {
    max-width: 90px;
  }
  .nav-link, .nav-button {
    display: none;
  }
  .hamburger-menu {
    font-size: 1.125rem;
  }
  .mobile-nav {
    right: 12px;
  }
}











/* ----- HERO SECTION ------
---------- STYLING ------ */

.hero-section {
  width: 100%;
  max-height: 1100px;
  height: fit-content;
  display: flex;
  align-items: center;
  overflow: visible;
  margin-bottom: 0px; /* Reduce space below */
}

.game-section {
  width: 100%;
  height: fit-content;
  display: flex;
  align-items: center;
  position: relative;
}

/* Container with centering and max width */
.hero-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 50px;
  width: 100%;
  padding-left: 80px; /* Added padding to the left */
}

/* Main content wrapper for hero section */
.hero-content-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  max-width: 1200px;
  padding: 0; /* Remove extra padding */
}

/* Content area for text and buttons */
.hero-text-content {
  flex: 1;
  text-align: left;
  padding-left: 20px; /* Added padding on the left */
}

/* Button group styling */
.hero-button-group {
  display: flex;
  gap: 10px;
  margin-top: -40px;
}

/* Button styling */
.app-button {
  display: inline-flex;
  text-align: center;
  border: none;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 250px;
  height: 200px; /* Set a fixed height */
  max-width: 100%; /* Prevents the button from stretching beyond its container */
  transition: transform 0.3s ease;
  object-fit: contain; /* Maintains aspect ratio */
}

/* Button hover effect */
.app-button:hover {
  transform: scale(1.05);
  cursor: pointer;
}

/* Image wrapper styling */
.hero-image-wrapper {
  flex: 1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  transform: translateY(80px);
  position: relative;
  margin-bottom: 20px;
  transform: translateX(125vw); /* Start outside the viewport */
  animation: slideInFadeIn 1.5s ease-out forwards; /* 2-second slide & fade animation */
}

/* Keyframe for sliding in and fading in */
@keyframes slideInFadeIn {
  0% {
    transform: translateX(125vw); /* Start far outside the viewport */
  }
  100% {
    opacity: 1;
    transform: translateX(0); /* End in the normal position */
  }
}

/* Header image styling */
.hero-image {
  width: 85%;
  height: auto;
  transition: transform 0.5s ease;
  animation: bounceMain 2s infinite ease-in-out;
}

/* Hover image with bounce and grow/shrink effect */
.hover-image {
  width: 75%;
  height: auto;
  animation: bounceGrowShrink 2s infinite ease-in-out;
  transform: scale(1.05);
  margin-top: -90px;
}

/* Bounce animation for the main image */
@keyframes bounceMain {

  0%,
  100% {
    transform: translateY(0) scale(1.05);
  }

  50% {
    transform: translateY(-20px) scale(1.05);
  }
}

/* Bounce and grow/shrink animation for the hover image */
@keyframes bounceGrowShrink {

  0%,
  100% {
    transform: translateY(0) scale(0.55);
  }

  50% {
    transform: translateY(-10px) scale(0.5);
  }
}


/* ----- RESPONSIVE BREAKPOINTS ----- */

/* 4K Screens */
@media (min-width: 2560px) {
  .hero-container {
    padding-left: 150px;
  }
}

/* Laptop L (1440px) */
@media (min-width: 1440px) and (max-width: 2559px) {
  .hero-container {
    padding-left: 100px;
  }
}

/* Laptop (1024px) */
@media (max-width: 1024px) {
  .hero-container {
    padding-left: 60px;
  }

  .hero-text-content {
    padding-left: 30px;
  }

  .hero-button-group {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
  }

  .app-button {
    width: 250px;
    height: 190px;
  }

  .hero-image-wrapper {
    margin-top: 20px;
  }

  .hover-image {
    margin-top: -70px;
  }
}

/* Tablet L (900px) */
@media (max-width: 900px) {
  .hero-container {
    padding-left: 0; /* Remove left padding */
    padding-right: 0; /* Remove right padding */
    margin: 0 auto; /* Center content horizontally */
    width: 100%; /* Ensure full width */
    box-sizing: border-box; /* Include padding in width */
  }

  .hero-text-content {
    padding-left: 20px;
    padding-right: 0; /* Remove right padding */
    margin: 0 auto; /* Center content horizontally */
    width: 100%; /* Ensure full width */
    text-align: center; /* Center text */
  }

  .hero-button-group {
    justify-content: center;
    margin-top: 15px;
    padding-left: 0;
    padding-right: 0;
  }

  .app-button {
    width: 150px;
    height: 100px;
  }

  .hero-image-wrapper {
    margin-top: 20px;
  }
}

/* Tablet (768px) */
@media (max-width: 768px) {
  .hero-container {
    flex-direction: column;
    padding-left: 0; /* Remove left padding */
    padding-right: 0; /* Remove right padding */
    margin: 0 auto; /* Center content horizontally */
    width: 100%; /* Ensure full width */
    box-sizing: border-box; /* Include padding in width */
  }

  .hero-content-wrapper {
    flex-direction: column;
    align-items: center;
    text-align: center; /* Center text */
  }

  .hero-text-content {
    margin-bottom: 0;
    padding-left: 0; /* Remove left padding */
    padding-right: 0; /* Remove right padding */
    margin: 0 auto; /* Center content horizontally */
    width: 100%; /* Ensure full width */
    text-align: center; /* Center text */
  }

  .hero-button-group {
    justify-content: center;
    margin-top: 15px;
    padding-left: 0;
    padding-right: 0;
  }

  .app-button {
    width: 150px;
    height: 100px;
  }

  .hero-image-wrapper {
    margin-left: 100px;
    padding-bottom: 50px;
  }
}

/* Mobile L (425px) */
@media (max-width: 425px) {
  .hero-container {
    padding-left: 0; /* Remove left padding */
    padding-right: 0; /* Remove right padding */
    margin: 0 auto; /* Center content horizontally */
    width: 100%; /* Ensure full width */
    padding-top: 50px;
    box-sizing: border-box; /* Include padding in width */
  }

  .hero-text-content {
    padding-left: 0; /* Remove left padding */
    padding-right: 0; /* Remove right padding */
    margin: 0 auto; /* Center content horizontally */
    width: 100%; /* Ensure full width */
    text-align: center; /* Center text */
  }

  .hero-image {
    max-width: 100%; /* Ensure image fits within the container */
    z-index: 10;
  }

  .hover-image {
    margin-top: -80px;
    z-index: 5;
    padding-bottom: 100px;
  }

  .game-section {
    width: 100%;
    height: 280px;
  }
}

/* Mobile M (375px) */
@media (max-width: 375px) {
  .hero-container {
    padding-left: 0; /* Remove left padding */
    padding-right: 0; /* Remove right padding */
    margin: 0 auto; /* Center content horizontally */
    width: 100%; /* Ensure full width */
    box-sizing: border-box; /* Include padding in width */
  }

  .hero-text-content {
    padding-left: 0; /* Remove left padding */
    padding-right: 0; /* Remove right padding */
    margin: 0 auto; /* Center content horizontally */
    width: 100%; /* Ensure full width */
    text-align: center; /* Center text */
  }

  .hero-image-wrapper {
    margin-left: 80px;
  }

  .hero-image {
    max-width: 100%; /* Ensure image fits within the container */
    margin-top: -20px;
    z-index: 10;
  }

  .hover-image {
    margin-top: -70px;
    z-index: 5;
    padding-bottom: 100px;
  }

  .game-section {
    width: 100%;
    height: 250px;
  }

}

/* Mobile S (320px) */
@media (max-width: 320px) {
  .hero-container {
    padding-left: 0; /* Remove left padding */
    padding-right: 0; /* Remove right padding */
    margin: 0 auto; /* Center content horizontally */
    width: 100%; /* Ensure full width */
    box-sizing: border-box; /* Include padding in width */
  }

  .hero-text-content {
    padding-left: 0; /* Remove left padding */
    padding-right: 0; /* Remove right padding */
    margin: 0 auto; /* Center content horizontally */
    width: 100%; /* Ensure full width */
    text-align: center; /* Center text */
  }

  .hero-image {
    max-width: 100%; /* Ensure image fits within the container */
    margin-top: -20px;
    z-index: 10;
  }

  .hover-image {
    margin-top: -40px;
    z-index: 5;
    padding-bottom: 10px;
  }

  .game-section {
    width: 100%;
    height: 220px;
  }
}










/* ----- FEATURE SECTION ------
------------ STYLING ------- */

.feature-container {
  background-color: transparent;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.feature-heading-wrapper {
  max-width: 48rem;
  margin: 0 auto 1rem; /* Combined margin properties */
  padding-bottom: 10px;
}

/* Swiper */
.swiper {
  width: 100% !important;
  height: 400px;
  overflow: hidden !important;
  position: relative;
  margin: 0 auto; /* Center the swiper */
}

/* Swiper Wrapper */
.swiper-wrapper {
  display: flex !important;
  align-items: center; /* Center the slides vertically */
  box-sizing: border-box; /* Include padding and border in width */
}

/* Swiper Slide */
.swiper-slide {
  text-align: center;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: auto; /* Allow slides to take up their natural width */
  padding: 10px !important; /* Optional: Add padding between the slides */
  flex-shrink: 0; /* Prevent slides from shrinking */
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Swiper Navigation Buttons */
.swiper-button-prev,
.swiper-button-next {
  color: #6305c9 !important;
  background: none; /* Remove any default button background */
  transform: translateY(100%) !important;
  width: 40px;
  height: 40px;
  border: none; 
  outline: none; 
  box-shadow: none;
  position: absolute;
  z-index: 10 !important;
}

.swiper-button-prev {
  color: #6305c9 !important;
  left: -50px !important;
}

.swiper-button-next {
  color: #6305c9 !important;
  right: -50px !important;
}

.swiper-button-prev:focus,
.swiper-button-next:focus {
  color: #6305c9!important;
  outline: none; /* Ensure the outline is removed on focus */
  box-shadow: none; /* Remove any shadow on click */
}

/* Swiper Pagination */
.swiper-pagination {
  position: absolute;
  bottom: -15px !important; /* Move pagination up */
  transform: translateX(-50%);
  display: flex;
  justify-content: center; /* Center the bullets within the flex container */
  z-index: 10;
}

.swiper-pagination-bullet {
  background: #6305c9 !important; /* Pagination bullet color */
  opacity: 1;
  width: 10px !important; /* Bullet width */
  height: 10px !important; /* Bullet height */
  border-radius: 50%; /* Make the bullets circular */
}

.swiper-pagination-bullet-active {
  background: #6305c9; /* Active pagination bullet color */
}

/* Flip Card */
.flip-card {
  width: 300px;
  height: 400px;
  perspective: 1000px;
  aspect-ratio: 3 / 4 !important;
  margin: 0 auto; /* Ensure the cards are centered */
}

/* Flip Card Inner */
.flip-card-inner {
  position: relative;
  width: 95%;
  height: 95%;
  transition: transform 0.8s ease-in-out;
  transform-style: preserve-3d;
}

/* Flip Card Front and Back */
.flip-card-front,
.flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}

/* Flip Card Back Content */
.flip-card-back {
  transform: rotateY(180deg);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  object-fit: cover;
  text-align: center;
}

.back-content {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-top: -380px;
}

/* Flip Card Hover */
.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.encore-heading-f3 {
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  letter-spacing: normal;
}

/* --- Responsive Styles with Media Queries --- */

@media (max-width: 320px) {
  .swiper-button-prev {
    left: 20px !important;
    top: 80% !important; /* Move the arrow down */
  }
  .swiper-button-next {
    right: 20px !important;
    top: 80% !important; /* Move the arrow down */
  }
}

@media (max-width: 375px) {
  .swiper-button-prev {
    left: 80% !important;
  }
  .swiper-button-next {
    right: 70% !important;
  }
}

/* Mobile L - 425px */
@media (max-width: 425px) {
  .feature-container {
    margin-top: -80px;
    margin-bottom: -250px;
  }
  .swiper {
    height: 300px;
  }
  .flip-card {
    width: 300px;
    height: 400px;
  }
  .swiper-button-prev {
    left: 60% !important;
  }
  .swiper-button-next {
    right: 50% !important;
  }
  .swiper-pagination {
    padding-bottom: 100px;
    z-index: 10;
  }
}

/* Tablet - 768px and Tablet L - 900px */
@media (max-width: 900px) {
  .feature-container {
    padding-bottom: 80px;
  }
  .swiper {
    height: 400px;
  }
  .flip-card {
    width: 300px;
    height: 400px;
  }
  .swiper-button-prev {
    left: 15px !important;
  }
  .swiper-button-next {
    right: 15px !important;
  }
  .swiper-pagination {
    padding-bottom: 90px;
  }
}

/* Laptop - 1023px */
@media (max-width: 1023px) {
  .feature-container {
    max-width: 700px;
    padding-bottom: 80px;
  }
  .swiper {
    height: 440px;
  }
  .swiper-slide {
    padding: 5px !important;
  }
  .swiper-button-prev {
    left: 25px !important;
  }
  .swiper-button-next {
    right: 25px !important;
  }
}

/* Between 1024px and 1320px */
@media (min-width: 1024px) and (max-width: 1320px) {
  .feature-container {
    max-width: 900px;
  }
  .swiper {
    height: 440px;
  }
  .swiper-slide {
    padding: 3px !important;
    gap: 2px !important;
  }
  .swiper-button-prev {
    left: 10px !important;
  }
  .swiper-button-next {
    right: 10px !important;
  }
}

/* Laptop L - 1440px */
@media (max-width: 1440px) {
  .feature-container {
    max-width: 1200px;
  }
  .swiper {
    height: 445px;
  }
}

/* 4K - 2560px */
@media (min-width: 2560px) {
  .feature-container {
    max-width: 1400px;
  }
  .swiper {
    height: 500px;
  }
  .swiper-wrapper {
    padding-bottom: 80px;
  }
  .swiper-pagination {
    transform: translateX(-20%);
    z-index: 10;
  }
}


















/* ----- STEPS SECTION -------
----------- STYLING ------- */

/* Content container with flex layout */
.steps-content {
  background-color: #ffffff;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 400px;
  margin-bottom: 50px;
  display: flex;
}

/* Wrapper for gradient and content */
.steps-gradient-background {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 200px 40px 60px; /* Increased side padding */
  z-index: 0;
  background: radial-gradient(circle at top, #BD66BB 0%, #9C0C8E 0%, #7631D8 100%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 15px;
}

/* Top image styling */
.steps-top-image {
  position: absolute;
  top: -300px;
  /* Adjusted top position */
  left: 25%;
  max-width: 650px;
  /* Increased max-width */
  height: auto;
  z-index: 1;
}

/* Center-aligned block */
.steps-block-center {
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 50px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.encore-heading-f {
  color: #FFFFFF;
  width: auto;
  max-width: 800px;
  margin-top: 50px;
  margin-bottom: 25px;
  font-size: 45px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -2px;
  font-family: 'Inter', sans-serif;
}

/* General grid layout settings */
.steps-grid-feature-columns {
  display: grid;
  gap: 65px;
  grid-template-columns: repeat(4, 1fr);
  width: 100%;
  margin-top: 14px;
}

/* Centering and styling the feature blocks */
.steps-features {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  z-index: 2;
}

/* Feature block styling */
.steps-block-features-green,
.steps-block-features-teal,
.steps-block-features-blue,
.steps-block-features-purple {
  border-radius: 50%;
  margin-bottom: 20px;
  padding: 22px;
}

.steps-block-features-green {
  background-color: #54B865;
}

.steps-block-features-teal {
  background-color: #34A8C2;
}

.steps-block-features-blue {
  background-color: #3B79FF;
}

.steps-block-features-purple {
  background-color: #8C00FF;
}

/* Circle styles */
.steps-circle {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  /* Decreased width */
  height: 30px;
  /* Decreased height */
  border-radius: 50%;
  margin-bottom: 10px;
  font-family: 'Inter', sans-serif;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

/* Number inside the circle */
.steps-feature-number {
  color: white;
  font-size: 34px;
  /* Adjusted font size */
  font-weight: 600;
}

/* Bold feature title */
.steps-feature-title {
  color: #FFFFFF;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 1.5px;
  margin-bottom: 15px;
  line-height: normal;
  font-family: 'Inter', sans-serif;
}

/* Paragraph styling for features section */
.steps-paragraph-features {
  text-align: center;
  color: #FFFFFF;
  max-width: 3500px;
  font-size: 18px;
  font-weight: 450;
  letter-spacing: 1.5px;
  line-height: 1.5;
  font-family: 'Inter', sans-serif;
}

/* Define keyframes for animations */
@keyframes fadeInFromLeft {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Apply animation to steps section elements */
.steps-top-image,
.steps-features {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.steps-top-image.animate,
.steps-features.animate {
  animation: fadeInFromLeft 1s ease-out forwards;
}

@media (max-width: 672px) {
  .steps-content {
    margin-top: 80px;
  }

  .steps-gradient-background {
    width: 100%; /* Fit full width */
    margin-right: 18px;
  }
}

/* Responsive adjustments for 1250px to 770px */
@media (max-width: 1250px) and (min-width: 770px) {
  .steps-gradient-background {
    padding: 150px 5% 50px; /* Increased padding at the top for image space */
    overflow: visible; /* Ensure the image can overflow if needed */
  }

  .steps-content {
    max-width: 1000px; /* Adjust container width for better fit */
    padding: 80px 20px; /* Reduce padding for mid-range screens */
  }

  .steps-top-image {
    max-width: 550px;
    z-index: 1; /* Ensure the image is above the gradient background */
  }

  .encore-heading-f {
    font-size: 42px; /* Adjust font size to prevent text overflow */
    max-width: 90%; /* Keep heading responsive within the available space */
    margin-left: auto;
    margin-right: auto;
  }

  .steps-grid-feature-columns {
    grid-template-columns: repeat(1, 1fr); /* Reduce to 2 columns to fit */
    gap: 20px;
  }

  .steps-paragraph-features {
    font-size: 16px;
    padding: 0 10px; /* Add padding to prevent text from touching the sides */
  }

  .steps-circle {
    margin-bottom: 5px; /* Reduced margin to bring the circle closer to the title */
  }
  
  .steps-feature-title {
    margin-top: 0; /* Remove any top margin to prevent extra space above the title */
  }
}

/* Responsive adjustments for 1024px */
@media (max-width: 1024px) {
  .steps-gradient-background {
    padding: 80px 20px; /* Reduced padding for smaller screens */
    width: fit-content;
  }

  .steps-content {
    padding: 50px 20px;
  }

  .steps-top-image {
    top: -300px;
    max-width: 500px;
    left: 110px;
    z-index: 1; /* Ensure the image is above the gradient background */
  }

  .encore-heading-f {
    font-size: 38px;
    max-width: 700px;
  }

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

  .steps-paragraph-features {
    font-size: 16px;
  }

  .steps-circle {
    margin-bottom: 5px; /* Reduced margin to bring the circle closer to the title */
  }
  
  .steps-feature-title {
    margin-top: 0; /* Remove any top margin to prevent extra space above the title */
  }
}

/* Responsive adjustments for 675px and lower */
@media (max-width: 675px) {
  .steps-gradient-background {
    margin-top: 40%;
    padding: 60px 50px; /* Further reduce padding to prevent clipping */
    width: fit-content;
  }

  .steps-content {
    padding: 20px 10px;
  }

  .steps-top-image {
    top: -180px; /* Adjusted top position for smaller screens */
    max-width: 70%; /* Use percentage to better handle various screen sizes */
    transform: translateX(-50%); /* Ensure the image is centered */
    z-index: 1; /* Ensure the image is above the gradient background */
  }

  .encore-heading-f {
    font-size: 28px; /* Further reduce font size for better fitting */
    max-width: 100%; /* Ensure the heading does not exceed container width */
    margin-bottom: 15px;
  }

  .steps-grid-feature-columns {
    grid-template-columns: 1fr; /* Single column layout on small screens */
    gap: 15px; /* Slightly reduce gap between feature blocks */
  }

  .steps-paragraph-features {
    font-size: 14px; /* Adjust paragraph font size for better readability */
    max-width: 100%; /* Ensure no content is cut off */
  }

  .steps-circle {
    margin-bottom: 5px;
  }

  .steps-feature-title {
    margin-top: 0;
  }
}

/* Other responsive adjustments */
@media (max-width: 768px) {
  .steps-gradient-background {
    padding: 80px 20px; /* Reduced padding for smaller screens */
    width: fit-content;
  }

  .steps-content {
    padding: 20px 10px;
  }

  .steps-top-image {
    top: -300px;
    max-width: 500;
    z-index: 1; /* Ensure the image is above the gradient background */
  }

  .encore-heading-f {
    font-size: 35px;
    margin-bottom: 20px;
  }

  .steps-grid-feature-columns {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .steps-paragraph-features {
    font-size: 16px;
  }

  .steps-circle {
    margin-bottom: 5px; /* Reduced margin to bring the circle closer to the title */
  }
  
  .steps-feature-title {
    margin-top: 0; /* Remove any top margin to prevent extra space above the title */
  }
}

@media (max-width: 425px) {
  .steps-gradient-background {
    padding: 40px 20px; /* Further reduce padding */
    width: 100%; /* Fit full width */
    margin-right: 0; /* Remove right margin */
    top: 0; /* Reset to avoid positioning issues */
    bottom: 0; /* Remove excessive space at the bottom */
  }

  .steps-top-image {
    top: -190px;
    left: 20%;
    max-width: 70%;
    z-index: 1;
  }

  .encore-heading-f {
    font-size: 30px;
    margin-bottom: 15px;
  }

  .steps-grid-feature-columns {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .steps-paragraph-features {
    font-size: 14px;
    margin-left: 35px;
    margin-right: 35px;
  }

  .steps-circle {
    margin-bottom: 5px;
  }

  .steps-feature-title {
    margin-top: 0;
  }

  .steps-content {
    margin-bottom: 0;
    margin-top: 280px;
  }
}


@media (max-width: 320px) {
  .steps-top-image {
    top: -130px;
    left: 20%;
    max-width: 70%;
    z-index: 1;
  }
}
















/* ----- CTA SECTION --------
---------- STYLING ------- */

/* Content container with flex layout */
.encore-content-2 {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1080px;
  margin: 100px auto; /* Centered with auto left and right margins */
  display: flex;
  padding: 50px; /* Added padding on sides for smaller screens */
  box-sizing: border-box; /* Ensure padding is included in width */
}

/* Grid layout for images aligned to the right */
.encore-grid-image-right {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  grid-gap: 20px;
  align-items: center;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto; /* Center the grid container */
  padding: 0 auto; /* Add padding for responsive design */
  box-sizing: border-box;
}

.encore-block-left {
  flex-direction: column;
  padding-right: 10%;
  box-sizing: border-box;
}

/* Heading styling */
.encore-heading-b {
  text-align: left;
  color: #000000;
  width: auto;
  max-width: 800px;
  margin-bottom: 15px;
  font-size: 48px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -2px;
  font-family: 'Inter', sans-serif;
}

.encore-heading-b2 {
  text-align: left;
  color: #000000;
  width: auto;
  max-width: 100%;
  margin-bottom: 15px;
  font-size: 40px;
  font-weight: 750;
  line-height: 1.1;
  letter-spacing: -2px;
  font-family: 'Inter', sans-serif;
}

/* Paragraph styling */
.encore-paragraph {
  text-align: left;
  color: #000000b4;
  max-width: 820px;
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: 450;
  letter-spacing: 1.5px;
  line-height: 1.6;
  font-family: 'Inter', sans-serif;
}

.encore-paragraph-f {
  text-align: center;
  color: #ffffffd8;
  max-width: 800px;
  margin-bottom: 30px;
  margin-left: 8px;
  margin-right: 8px;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1.25px;
  line-height: 1.6;
  font-family: 'Inter', sans-serif;
}

/* Adjust button container to ensure left alignment */
.encore-button-container {
  display: flex;
  justify-content: flex-start; /* Align button to the left */
  width: 100%; /* Ensures the button takes full width available */
  margin-bottom: 20px; /* Add margin if needed */
}

/* General button styling */
.encore-button {
  font-family: 'Inter', sans-serif;
  background-color: #f64c4c;
  color: #FFFFFF;
  text-align: center;
  justify-content: left;
  letter-spacing: 2px;
  border-radius: 15px;
  padding: 20px;
  font-size: 16px;
  font-weight: 700;
  line-height: 120%;
  text-decoration: none;
  /* Remove underline */
  transition: background-color 0.2s;
  /* Transition for color change */
}

/* Hover effect for general button */
.encore-button:hover {
  background-color: #6305c9;
  /* Purple color on hover */
  text-decoration: none;
  /* Remove underline */
}

/* Container for block image */
.encore-block-image {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  position: relative;
}

/* Image styling */
.encore-image,
.encore-image-absolute {
  object-fit: cover;
  border-radius: 30px;
  flex: none;
  align-self: center;
  width: 75%;
  height: auto;
  min-height: auto;
  display: block;
  opacity: 0; /* Initially hidden */
  transform: translateX(-150%); /* Start further off-screen to the left */
}

/* Absolute positioning for image with specific aspect ratio */
.encore-image-absolute {
  z-index: 50;
  object-fit: contain;
  width: 100%;
  height: auto;
  top: -40px;
  position: absolute;
  opacity: 0; /* Initially hidden */
  transform: translateX(-150%); /* Start further off-screen to the left */
}

@keyframes fadeInFromRight {
  0% {
    opacity: 0;
    transform: translateX(30px); /* Start from the right */
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Keyframes for image fade in from far left */
@keyframes fadeInFromLeft {
  0% {
    opacity: 0;
    transform: translateX(-150%); /* Start far off-screen to the left */
  }
  100% {
    opacity: 1;
    transform: translateX(0); /* Move to final position */
  }
}

/* Apply animation for fading in text from the right */
.encore-heading-b,
.encore-paragraph,
.encore-button {
  opacity: 0; /* Initially hidden */
  transform: translateX(30px); /* Start off-screen to the right */
}

.encore-heading-b.animate,
.encore-paragraph.animate,
.encore-button.animate {
  animation: fadeInFromRight 1s ease-out forwards; /* Text animation */
}

/* Apply animation for fading in images from far left */
.encore-image,
.encore-image-absolute {
  opacity: 0; /* Initially hidden */
  transform: translateX(-150%); /* Start far off-screen to the left */
}

.encore-image.animate,
.encore-image-absolute.animate {
  animation: fadeInFromLeft 1.5s ease-out forwards; /* Image animation */
}

/* Larger screens adjustments */
@media (min-width: 1440px) {
  .encore-image,
  .encore-image-absolute {
    opacity: 0;
    transform: translateX(-200%); /* Ensure images fade in from far off the left */
  }

  .encore-image.animate,
  .encore-image-absolute.animate {
    opacity: 1;
    transform: translateX(0);
    animation: fadeInFromLeft 1.5s ease-out forwards;
  }
}

/* Remove underline from all links */
a {
  text-decoration: none;
}



/* Responsive adjustments */

/* Mobile S (320px) */
@media (max-width: 320px) {
  .encore-grid-image-right {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: 
      "text"
      "image";
    justify-items: center;
    align-items: center;
    padding: 0 10px;
    text-align: center;
  }
  
  .encore-heading-b {
    font-size: 28px;
    text-align: center;
    transform: translateX(0); /* Center text on small screens */
  }

  .encore-paragraph {
    font-size: 14px;
    text-align: center;
    transform: translateX(0); /* Center text on small screens */
  }

  .encore-button {
    font-size: 12px;
    text-align: center;
    margin: 0 auto;
    display: block;
    transform: translateX(0); /* Center button on small screens */
  }

  .encore-block-image {
    justify-content: center;
    align-items: center;
    display: flex;
    margin-top: 20px;
  }

  .encore-image {
    max-width: 100%;
    margin: 0 auto;
    display: block;
    border-radius: 20px;
    transform: translateX(0); /* Center image on small screens */
  }
}


/* Mobile M (375px) */
@media (max-width: 375px) {
  .encore-grid-image-right {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: 
      "text"
      "image";
    justify-items: center; /* Center the items horizontally */
    align-items: center; /* Center the items vertically */
    margin: 0 auto; /* Ensure the grid container itself is centered */
    padding: 0; /* Remove any extra padding */
    text-align: center;
  }

  .encore-heading-b {
    font-size: 30px;
    text-align: center;
    margin: 0 auto; /* Remove any margins that could affect centering */
    padding: 0; /* Ensure no extra padding */
  }

  .encore-paragraph {
    font-size: 15px;
    text-align: center;
    margin: 0 auto; /* Ensure paragraph is centered */
    padding: 0; /* Remove any padding */
  }

  .encore-button {
    font-size: 14px;
    text-align: center;
    margin: 20px auto; /* Center the button with proper margin */
    padding: 10px 20px; /* Adjust padding for balance */
    display: block;
  }

  .encore-block-image {
    justify-content: center;
    align-items: center;
    display: flex;
    margin-top: 35px;
    margin: 0 auto; /* Ensure image block is centered */
  }

  .encore-image {
    max-width: 100%;
    margin: 0 auto; /* Ensure image is centered */
    display: block;
    border-radius: 20px;
  }
}



/* Mobile L (425px) */
@media (max-width: 425px) {
  /* Reduce top and bottom margin of the section */
  .encore-content-2 {
    margin: 50px auto; /* Reduce margin to remove excess space */
    padding: 20px; /* Reduce padding for smaller screens */
  }

  /* Adjust heading for smaller screens */
  .encore-heading-b {
    font-size: 32px;
    text-align: center;
    transform: translateX(0); /* Center text */
    margin-bottom: 10px; /* Reduce margin below the heading */
  }

  /* Adjust paragraph */
  .encore-paragraph {
    font-size: 16px;
    text-align: center;
    transform: translateX(0); /* Center text */
    margin-bottom: 30px; 
  }

  /* Reduce button padding to make it smaller */
  .encore-button {
    left: 100px;
    bottom: 100px;
    font-size: 14px;
    text-align: center;
    margin: 0 auto;
    display: block;
    padding: 10px 20px; /* Reduce padding inside the button */
  }

  /* Reduce margin above the image */
  .encore-block-image {
    justify-content: center;
    align-items: center;
    margin: auto;
    display: flex;
    margin-top: -500px; /* Reduce margin to lessen space above the images */
  }

  /* Adjust image styles */
  .encore-image {
    max-width: 100%;
    margin: auto;
    display: block;
    border-radius: 20px;
    transform: translateX(0); /* Center image */
  }
}


/* Mobile and Tablet adjustments for responsive layout */
@media (max-width: 768px) {
  .encore-grid-image-right {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: 
      "text"
      "image";
    justify-items: center;
    margin-left: 8px;
    margin-right: 8px;
    text-align: center;
  }

  .content-block {
    margin: 0 auto;
    padding: 0 10px;
  }

  .tutorial-block {
    margin: 0 auto;
    padding: 0 10px;
  }

  .encore-heading-b,
  .encore-paragraph,
  .encore-button {
    text-align: center;
    margin: 40px auto;
    transform: translateX(0); /* Center text and button */
  }

  .encore-heading-b {
    font-size: 32px;
    margin-bottom: 15px;
  }

  .encore-paragraph {
    font-size: 16px;
    margin-bottom: 20px;
  }

  .encore-button {
    font-size: 14px;
    margin: 0 auto;
    display: block;
  }

  .encore-block-image {
    display: flex;
    justify-content: center;
    align-items: center;
    top: 150px;
    margin: 20px 0 0 0;
  }

  .encore-image,
  .encore-image-absolute {
    max-width: 90%;
    margin: auto;
    border-radius: 20px;
    display: block;
    transform: translateX(0); /* Center images */
  }
}

/* Tablet adjustments (900px) */
@media (max-width: 900px) {
  .encore-heading-b {
    font-size: 36px;
  }

  .encore-paragraph {
    font-size: 18px;
  }

  .content-block {
    padding: 0 20px;
  }

  .tutorial-block {
    padding: 0 30px;
  }

  .encore-button-container {
    justify-content: center;
  }
}

/* Ensure proper centering for larger screens */
@media (min-width: 1024px) {
  .encore-grid-image-right {
    padding: 0 40px; /* Adjust padding to maintain centering */
  }
}

/* Ensure proper fade-in for larger screens */
@media (min-width: 1440px) {
    .encore-image,
    .encore-image-absolute {
        opacity: 0;
        transform: translateX(400px); /* Ensure images fade in from the right */
    }

    /* Apply the animation only if the initial position is 30px */
    .encore-image.animate,
    .encore-image-absolute.animate {
        opacity: 0;
        transform: translateX(0);
        animation: fadeInFromRight 1s ease-out forwards; /* Animate from right */
        /* Add a condition to check the initial transform */
        @keyframes fadeInFromRight {
            0% {
                opacity: 0;
                transform: translateX(400px); /* Start far off-screen to the right */
            }
            100% {
                opacity: 1;
                transform: translateX(0); /* Move to final position */
            }
        }
    }
}












/* ----- BONUS SECTION -------
----------- STYLING ------- */

/* Content container with flex layout */
.encore-content-3 {
  width: 100%;
  max-width: 1080px;
  margin-bottom: 50px;
  margin-top: 0;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex;
  justify-content: center; /* Centered horizontally */
}

/* Flex container holding the video and image */
.bonus-flex-container {
  position: relative; /* For standard positioning above content */
  z-index: 10; /* Higher z-index to ensure it's above the gradient */
  display: flex;
  justify-content: center;
  margin-left: 200px;
  align-items: flex-end; /* Align items to bottom */
  margin-top: -50px; /* Adjusted top margin */
}

/* Adjusted image size and position */
.bonus-image-above-heading {
  width: 80%; /* Adjusted width */
  margin-left: -100px;
  bottom: -155px;
  z-index: 20; /* Higher than the gradient section */
  position: relative; /* Set to relative to adjust positioning */
}

/* Video styling */
.encore-video-background {
  width: 80%; /* Adjusted width */
  margin-left: -120px;
  bottom: -40px;
  object-fit: cover;
  transform-origin: center; /* Ensure rotation is around the center */
  position: relative; /* Set to relative to adjust positioning */
  z-index: 15; /* Higher than the gradient section */
}

/* Hero section with vertical gradient */
.bonus-hero-back {
  position: relative;
  background: linear-gradient(to bottom, #9C0C8E 50%, #7631D8 100%);
  padding: 50px 0;
  z-index: 1; /* Lower z-index to ensure it’s below the images */
}

/* Heading styling */
.bonus-heading-f {
  color: #FFFFFF;
  width: auto;
  max-width: 800px;
  font-size: 50px;
  font-weight: 650;
  line-height: 1.1;
  padding-top: 5px;
  letter-spacing: -2px;
  font-family: 'Inter', sans-serif;
}

/* Grid layout for features */
.bonus-grid-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem; /* Increased gap for better spacing */
  max-width: 1200px;
  margin: 0 auto;
}

/* Feature styling */
.bonus-features {
  text-align: center;
  max-width: 280px;
  margin: 0 auto;
}

.bonus-block-features {
  padding: 25px 25px;
  display: flex;
  justify-content: center;
}

@keyframes fadeInFromRight {
  0% {
    opacity: 0;
    transform: translateX(30px); /* Start from the right */
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.bonus-heading-f,
.bonus-features,
.bonus-icon-features {
  opacity: 0; /* Start hidden */
  transform: translateX(30px); /* Start from the right */
  animation: fadeInFromRight 1s ease-out forwards; /* Apply animation */
}

.bonus-icon-features {
  width: 100px;
  height: 100px;
  display: block;
}

.bonus-icon-features:hover {
  transform: scale(1.1); /* Slightly scale up the icons on hover */
}

/* Responsive adjustments for laptop and smaller screens */
@media (max-width: 1024px) {
  .bonus-flex-container {
    margin-left: 0; /* Reset left margin to ensure it doesn't push content off-screen */
    flex-direction: column; /* Stack video and image vertically */
    align-items: center; /* Center items */
    margin-bottom: -80px; /* Adjust negative margin for a cleaner layout */
  }

  .bonus-image-above-heading {
    width: 70%; /* Increase width slightly for a better fit */
    margin-left: 0; /* Center the image */
    padding-bottom: 80px; /* Adjust margin for a more balanced look */
    height: auto;
  }

  .encore-video-background {
    width: 70%; /* Make the video take up most of the available space */
    margin-left: 0; /* Center the video */
    padding-top: 90px;
    height: auto;
  }
}

@media (max-width: 992px) {
  .bonus-flex-container {
    margin-bottom: -60px; /* Further reduce the negative margin */
  }

  .bonus-image-above-heading {
    width: 75%; /* Slightly smaller for better responsiveness */
  }

  .encore-video-background {
    width: 75%; /* Adjust width to fit well within smaller screens */
    top: -5px; /* Reduce overlap */
  }
}

@media (max-width: 768px) {
  .bonus-flex-container {
    flex-direction: column; /* Stack items vertically on smaller screens */
    align-items: center;
    margin-left: 0; /* Remove any offset */
    margin-bottom: 0; /* Reset negative margin */
    padding-top: 100px;
  }

  .bonus-image-above-heading {
    width: 95%; /* Full width on smaller screens */
    margin: 0; /* Remove all margins */
    top: 240px;
  }

  .encore-video-background {
    width: 90%; /* Adjust width to fit well within smaller screens */
    top: 150px;
  }

  .bonus-grid-features {
    grid-template-columns: 1fr; /* Single column layout */
    gap: 1rem; /* Adjust gap for small screens */
  }

  .bonus-features {
    text-align: center;
    max-width: 400px;
    margin: 20px auto;
  }
}

@media (max-width: 425px) {
  .bonus-image-above-heading {
    left: 20px;
    top: 190px;
    width: 100%
  }

  .encore-video-background {
    width: 90%; /* Adjust width to fit well within smaller screens */
    top: 150px;
  }

  .bonus-features {
    text-align: center;
    max-width: 300px;
    margin: 10px auto;
  }
}










/* ----- SHARE SECTION -------
----------- STYLING ------- */

/* Heading styling */
.encore-heading-b-centered {
  color: #000000;
  max-width: 800px;
  margin-top: 60px;
  margin-bottom: 10px;
  font-size: 50px;
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -4px;
  font-family: 'Inter', sans-serif;
  opacity: 0;
  transition: opacity 1s ease-out, transform 1s ease-out;
  animation: fadeInFromRight 1s ease-out forwards;
  text-align: center;
  padding: 0 20px; /* Default padding */
}

/* Paragraph styling */
.encore-paragraph-centered {
  color: #000000b4;
  max-width: 820px;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: 450;
  letter-spacing: 1.5px;
  line-height: normal;
  font-family: 'Inter', sans-serif;
  opacity: 0;
  transition: opacity 1s ease-out, transform 1s ease-out;
  animation: fadeInFromRight 1s ease-out forwards;
  text-align: center;
  padding: 0 20px; /* Default padding */
}

/* Content container with flex layout */
.share-content {
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

/* Centered text wrapper */
.share-text-wrapper {
  margin-bottom: 2rem;
  padding: 0 20px; /* Default padding */
}

/* Grid layout for app download options */
.share-grid-2-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  margin-top: 0;
  margin-bottom: 10px;
  padding: 0 20px; /* Default padding */
}

/* Large features section styling */
.share-features-large {
  background-color: #FFFFFF;
  padding: 10px 20px; /* Add padding */
  text-align: center;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 20px;
}

/* Large feature block styling */
.share-block-features-large {
  background-color: #ffffff;
}

.app-button2 {
  width: 280px;
  height: auto;
  padding: 10px 20px 25px 20px;
}

/* Button styling */
.ctas-button {
  display: inline-flex;
  text-align: center;
  border: none;
  border-radius: 15px;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: auto;
  padding: 20px;
}

/* Link block styling for features with transition effect */
.share-link-block-features {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  transition: filter 0.4s;
  position: relative;
}

.share-link-block-features:hover {
  filter: brightness(112%);
}

/* Features image styling */
.share-image-features {
  object-fit: contain; /* Ensures the aspect ratio is preserved */
  max-width: 400px; /* Adjust this value to your desired width */
  width: 100%; /* Allows responsiveness */
  height: auto; /* Maintains the aspect ratio */
  margin-bottom: 10px;
  display: block; /* Ensures the image does not overlap inline elements */
  margin: 0 auto; /* Centers the image within its container */
}

/* Mobile S - 320px */
@media (max-width: 320px) {
  .encore-heading-b-centered {
    font-size: 30px;
    text-align: center;
  }

  .encore-paragraph-centered {
    font-size: 15px;
    text-align: center;
  }

  .app-button2 {
    width: 150px;
    display: block;
  }

  /* Content container with flex layout */
  .share-content {
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 300px;
    padding: 0 0 0 25px; /* Reduced padding inside the container */
  }
}


/* Mobile M - 375px */
@media (max-width: 375px) {
  .encore-heading-b-centered {
    font-size: 32px;
    padding: 20px;
    text-align: center; /* Ensure the text is centered */
  }
  .encore-paragraph-centered {
    font-size: 15px;
    padding: 20px;
    text-align: center; /* Ensure the text is centered */
  }
  .app-button2 {
    width: 170px;
    margin: 0 auto; /* Center the button */
  }
}

/* Mobile L - 425px */
@media (max-width: 425px) {
  .encore-heading-b-centered {
    font-size: 35px;
    padding: 20px;
    text-align: center; /* Ensure the text is centered */
  }
  .encore-paragraph-centered {
    font-size: 16px;
    padding: 20px;
    text-align: center; /* Ensure the text is centered */
  }
  .app-button2 {
    width: 190px;
    margin: 0 auto; /* Center the button */
  }
}

/* Tablet - 768px */
@media (max-width: 768px) {
  .share-grid-2-columns {
    grid-template-columns: 1fr;
  }
  .encore-heading-b-centered {
    font-size: 38px;
    padding: 25px;
    text-align: center; /* Ensure the text is centered */
  }
  .encore-paragraph-centered {
    font-size: 17px;
    padding: 25px;
    text-align: center; /* Ensure the text is centered */
  }
  .app-button2 {
    width: 200px;
    margin: 0 auto; /* Center the button */
  }
  .share-image-features {
    width: 250px;
    margin: 0 auto; /* Center the image */
  }
}

/* Tablet L - 900px */
@media (max-width: 900px) {
  .encore-heading-b-centered {
    font-size: 42px;
    padding: 30px;
    text-align: center; /* Ensure the text is centered */
  }
  .encore-paragraph-centered {
    font-size: 17px;
    padding: 30px;
    text-align: center; /* Ensure the text is centered */
  }
}

/* Laptop - 1024px */
@media (max-width: 1024px) {
  .encore-heading-b-centered {
    font-size: 44px;
    padding: 40px;
    text-align: center; /* Ensure the text is centered */
  }
  .app-button2 {
    width: 220px;
    margin: 0 auto; /* Center the button */
  }
}

/* Laptop L - 1440px */
@media (max-width: 1440px) {
  .encore-heading-b-centered {
    font-size: 46px;
    padding: 50px;
    text-align: center; /* Ensure the text is centered */
  }
}

/* 4K - 2560px */
@media (max-width: 2560px) {
  .encore-heading-b-centered {
    font-size: 48px;
    padding: 60px;
    text-align: center; /* Ensure the text is centered */
  }
}

/* Animation */
@keyframes fadeInFromRight {
  0% {
    opacity: 0;
    transform: translateX(30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
















/* ----- GAME SECTION -------
----------- STYLING ------- */

/* Game Image Section */
.game-image-section {
  position: relative;
  width: 100%;
  height: 100vh; /* Or use a percentage or 'auto' */
  padding: 20px;
  display: flex;
  align-items: center;
}

/* Image Layers */
.image-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Cover the full height of the section */
  background-size: cover;
  /* Ensure images cover the full area */
  background-position: center;
  background-repeat: no-repeat;
  transition: transform 0.3s ease-in-out;
  /* Smooth transition for scaling */
}

/* Layering and Z-index */
.layer-background {
  z-index: 1;
  background-size: cover;
}

.layer-burst {
  z-index: 2;
  background-size: 80%;
  /* Adjust the burst gradient size if needed */
}

.layer-phone {
  z-index: 4;
  background-size: 70%;
  /* Adjust the phone graphic size if needed */
  background-position: center center;
  /* Center the phone image */
}

.layer-coins-top {
  z-index: 3;
  background-size: 70%;
  position: absolute;
  /* Make sure it's positioned absolutely */
  top: 0;
}

.layer-coins-bottom {
  z-index: 5;
  background-size: 70%;
  position: absolute;
  /* Position the bottom coins */
  bottom: 0;
}

/* Games & Slides */
/* Content container with flex layout */
.lynx-content {
  padding: 40px 20px;
  flex-direction: column;
  /* Stack items vertically */
  align-items: center;
  /* Center items horizontally */
  width: 100%;
  /* Full width */
  max-width: 1200px;
  /* Maximum width */
  margin: auto;
  /* Vertical margin, auto horizontal margin for centering */
  display: flex;
  /* Use flexbox layout */
  gap: 20px; /* Reducing space between elements */
}

/* Slideshow Container */
.slideshow-container {
  position: relative;
  max-width: 100%;
  margin: auto;
}

/* Slides */
.mySlides {
  display: none;
}

.fade {
  opacity: 1;
  /* Ensure this is set to 1 to make slides fully visible */
  transition: none;
  /* Remove any transition effect to avoid fading */
}

@keyframes fade {
  0% {
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  40% {
    opacity: 1;
  }

  60% {
    opacity: 1;
  }

  90% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.encore-video-slide {
  width: 100%;
  border-radius: 15px;
  margin-bottom: 15px;
  height: auto;
  display: block;
}

/* Navigation Arrows */
/* General styles for both buttons */
.prev,
.next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* Ensure arrows are vertically centered */
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

/* Position the "next" button to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* Position the "prev" button to the left */
.prev {
  left: 0;
  border-radius: 3px 0 0 3px;
}

/* Hover effects */
.prev:hover,
.next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

/* Dot Indicators */
.dot-container {
  text-align: center;
  padding: 20px 0;
}

.dot {
  cursor: pointer;
  height: 10px;
  width: 10px;
  margin: 0 2px;
  background-color: #e0cdf4;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.dot.active,
.dot:hover {
  background-color: #6305c9;
}

/* Base Styles */
.game-image-section,
.image-layer,
.layer-phone,
.layer-coins-top,
.layer-coins-bottom,
.prev,
.next {
  transition: all 0.3s ease-in-out; /* Adjust this duration and easing for smoother effects */
}

/* Responsive Media Queries */
@media screen and (max-width: 2560px) {
  .game-image-section {
    padding: 30px 0;
    height: 140vh; /* Adjust height to reduce vertical space */
  }

  .image-layer {
    background-size: 95%;
  }

  .layer-phone {
    background-size: 85%; /* Adjust graphic size */
  }

  .layer-coins-top, .layer-coins-bottom {
    background-size: 95%;
  }
}

@media screen and (max-width: 1440px) {
  .game-image-section {
    padding: -10px 0;
    height: 90vh; /* Adjust height to reduce vertical space */
  }

  .image-layer {
    background-size: 90%;
  }

  .layer-phone {
    background-size: 80%; /* Adjust graphic size */
  }

  .layer-coins-top, .layer-coins-bottom {
    background-size: 90%;
  }
}

@media screen and (max-width: 1024px) {
  .game-image-section {
    padding: -20px 0;
    height: 80vh; /* Adjust height to reduce vertical space */
  }

  .layer-phone {
    background-size: 80%; /* Adjust graphic size */
  }

  .layer-coins-top, .layer-coins-bottom {
    background-size: 90%;
  }
}

@media screen and (max-width: 768px) {
  .game-image-section {
    height: 58vh;
    padding: -50px 0;
  }

  .image-layer {
    background-size: 90%;
  }

  .layer-phone {
    background-size: 80%;
  }

  .layer-coins-top, .layer-coins-bottom {
    background-size: 90%;
  }
}

@media screen and (max-width: 425px) {
  .game-image-section {
    height: 25vh;
    padding: -80px 0;
  }

  .image-layer {
    background-size: 85%;
  }

  .layer-phone {
    background-size: 75%;
  }

  .layer-coins-top, .layer-coins-bottom {
    background-size: 85%;
  }

  /* Adjust the position of the prev/next arrows */
  .prev,
  .next {
    top: 30%; /* Move the arrows higher */
    transform: translateY(-30%); /* Adjust the vertical centering */
  }
}

@media screen and (max-width: 320px) {
  /* Adjust the position of the prev/next arrows */
  .prev,
  .next {
    top: 20%; /* Move the arrows higher */
    transform: translateY(-20%); /* Adjust the vertical centering */
  }
}











/* ----- FOOTER LAYOUT ------- */

/* Footer styling */
.footer-dark {
  background-image: url('../images/footer-gradient.png');
  background-size: cover;
  background-position: top center;
  width: 100%;
  color: rgba(255, 255, 255, 0.74);
  padding-top: 120px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center; /* Ensures everything inside centers */
  text-align: center;
  z-index: 1;
}

.container-2 {
  width: 100%;
  box-sizing: border-box;
}

.footer-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  /* Center-align content in the wrapper */
}

.footer-block {
  display: flex;
  flex-direction: column;
  /* Stack items vertically */
  align-items: center;
  /* Center items horizontally */
}

.footer-content {
  display: flex;
  flex-direction: row;
  /* Stack items vertically */
  align-items: center;
  /* Center items horizontally */
  gap: 1rem;
  /* Add gap between rows */
  margin-bottom: 2px;
  /* Space below content */
}

/* Small title styling */
.title-small {
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 13px;
  font-weight: 650;
  text-decoration: underline;
}

/* Footer link styling */
.footer-link {
  display: inline-block;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
  font-size: 13px;
  text-decoration: none;
  position: relative; /* Positioning for pseudo-elements */
}

.footer-link:hover {
  color: #8979ec;
  text-decoration: underline;
}

/* Add dividers using pseudo-elements */
.footer-link::after {
  content: "";
  display: block;
  width: 1px; /* Width of the divider */
  height: 16px; /* Height of the divider */
  background-color: rgba(255, 255, 255, 0.5); /* Color of the divider */
  position: absolute;
  right: -10px; /* Position it at the right edge */
  top: 50%;
  transform: translateY(-50%);
}

/* Remove the divider from the last link */
.footer-link:last-child::after {
  display: none;
}

/* Button styling */
.footer-button {
  display: inline-flex;
  text-align: center;
  border: none;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  width: 130px;
  height: auto;
  margin: 0.5rem;
  /* Space around buttons */
}

/* Footer social block */
.footer-social-block {
  display: flex;
  justify-content: center;
  /* Center items horizontally */
  gap: 60px;
  /* Space between social icons */
  margin-bottom: 1rem;
  /* Space below social icons */
}

/* Ensure the legal text block inside is centered */
.legal-text {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
}

/* Footer copyright styling */
.footer-copyright {
  color: rgba(255, 255, 255, 0.74);
  font-size: 12px;
  margin-top: 5px;
  margin-bottom: 15px;
  justify-content: center;
}

/* Footer divider */
.footer-divider {
  background-color: #8979ec;
  width: 50%;
  height: 1px;
  margin: 20px auto;
}

/* Ensure footer bottom is stacked and centered */
.footer-bottom {
  display: flex;
  flex-direction: column; /* Stack everything */
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
}

/* Center and adjust the legal text */
.footer-legal {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  max-width: 65%;
  width: 100%;
  margin: 0 auto;
  padding: 10px 0;
  color: rgba(255, 255, 255, 0.85);
}

/* Remove the footer-side image */
.footer-image {
  display: none;
}

.footer-side-image {
  display: none; /* Hides the image */
}

/* ----- RESPONSIVE STYLES ----- */

/* Tablet styles (768px) */
@media (max-width: 768px) {
  .footer-link::after {
    display: none; /* Hide the dividers on smaller screens */
  }

  .footer-dark {
    padding-top: 80px;
    align-items: center;
  }

  .footer-wrapper {
    padding: 0 20px;
  }

  .footer-content {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }

  .footer-block {
    flex-direction: column;
    align-items: center;
  }

  .footer-social-block {
    gap: 30px;
    margin-bottom: 1rem;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }

  .footer-legal {
    max-width: 80%; /* Allows more width on smaller screens */
}

  .footer-image {
    padding-right: 0;
  }

  .legal-text {
    text-align: center;
  }
}

/* Mobile Large (425px) */
@media (max-width: 425px) {
  .footer-dark {
    padding-top: 60px;
    align-items: center;
  }

  .footer-content {
    gap: 0.5rem;
  }

  .footer-link {
    margin: 0 0.3rem;
    font-size: 12px;
  }

  .footer-button {
    width: 100px;
    margin: 0.5rem 0;
  }

  .footer-divider {
    width: 70%;
  }

  .footer-bottom {
    gap: 5px;
  }
}

/* Mobile Medium (375px) */
@media (max-width: 375px) {
  .footer-dark {
    padding-top: 50px;
  }

  .footer-content {
    gap: 0.5rem;
  }

  .footer-social-block {
    gap: 20px;
  }

  .footer-legal {
    font-size: 9px;
  }
}

/* Mobile Small (320px) */
@media (max-width: 320px) {
  .footer-dark {
    padding-top: 40px;
  }

  .footer-content {
    gap: 0.3rem;
  }

  .footer-link {
    font-size: 11px;
  }

  .footer-button {
    width: 90px;
  }

  .footer-legal {
    font-size: 8px;
  }
}

/* Responsive fixes */
@media (max-width: 768px) {
  .footer-legal {
    max-width: 90%;
  }

  .legal-text {
    font-size: 12px;
  }
}

@media (max-width: 425px) {
  .footer-legal {
    max-width: 95%;
  }

  .legal-text {
    font-size: 11px;
  }
}






/* ----- POLICY SECTION ----- */
/* Section header styling with background image */
.policy-section {
  background-color: #FFFFFF;
  background-image: url('../images/hero-gradient.png');
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 20px;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-wrap: break-word;
}

/* Content container with flex layout */
.policy-content {
  background-color: #ffffff;
  flex-direction: column;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 0 20px;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-wrap: break-word;
}

/* Heading styling */
.policy-heading {
  text-align: center;
  color: #000000;
  max-width: 900px;
  padding: 30px;
  font-size: 2rem;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* Paragraph styling */
.policy-paragraph {
  text-align: left;
  color: #000000b4;
  max-width: 900px;
  line-height: normal;
  margin: 10px auto;
  padding: 0 10px;
  font-size: 1rem;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-wrap: break-word;
}

/* Header image styling */
.policy-image {
  width: 100%;
  max-width: 450px;
  padding-top: 50px;
  padding-right: 200px;
  animation: bounceMain 2s infinite ease-in-out;
  margin-right: 98%;
  z-index: 4;
  display: block;
}

/* List styling */
ul {
  margin: 10px 0;
  padding-left: 20px;
  text-align: left;
  color: #000000b4;
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.3;
}

ul li {
  margin-bottom: 8px;
}

/* Link styling */
a {
  color: #7631D8;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* Media Queries for Responsiveness */
@media (max-width: 1440px) {
  .policy-section {
    padding: 0 30px;
  }
}

@media (max-width: 1024px) {
  .policy-section {
    padding: 0 25px;
  }
}

@media (max-width: 768px) {
  .policy-heading {
    font-size: 1.75rem;
    margin-top: 15px;
    padding: 0 15px;
  }

  .policy-paragraph {
    font-size: 0.9rem;
    margin: 10px;
    padding: 0 15px;
  }
}

@media (max-width: 525px) {
  .policy-section, .policy-heading, .policy-paragraph {
    padding: 0 15px;
  }
}

@media (max-width: 425px) {
  .policy-section {
    padding: 0 25px;
  }

  .policy-heading {
    font-size: 1.5rem;
  }

  .policy-paragraph {
    padding: 0 30px;
    margin: 20px 0;
  }
}

@media (max-width: 375px) {
  .policy-heading {
    font-size: 1.25rem;
  }

  .policy-paragraph {
    padding: 0 25px;
  }
}

@media (max-width: 320px) {
  .policy-heading {
    font-size: 1.25rem;
  }

  .policy-paragraph {
    padding: 0 20px;
    font-size: 0.8rem;
  }
}










/* ----- B2TOP BUTTON ------
---------- STYLING ------ */

/* Back to Top Button Container */
.back-to-top {
  position: fixed;
  bottom: 50px; /* Moved up slightly */
  right: 50px;  /* Moved left slightly */
  z-index: 1000;
}

/* Back to Top Button */
.back-to-top a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #7631D8;
  color: #fff;
  border: none;
  text-align: center;
  font-size: 1.5rem; /* Slightly increased font size */
  padding: 10px; /* Increased padding for larger button size */
  text-decoration: none;
  font-weight: 400;
  border-radius: 50%; /* Made more rounded */
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s;
}

.back-to-top a:hover {
  background-color: #895bbb;
}












/* ----- SUPPORT SECTION ------
---------- STYLING ------ */

/* Section with background gradient */
.support-section {
  background-color: #FFFFFF;
  background-image: url('../images/hero-gradient.png');
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover; /* Better image scaling */
  width: 100%;
  flex-grow: 1; /* Stretches to fill remaining height */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: visible; /* Changed to visible to allow full content display */
  margin-bottom: 0px;
  position: relative; /* Sets positioning context for absolute children */
}

/* Centered section heading */
.section-heading {
  width: 100%;
  text-align: center;
  padding-top: 30px;
  padding-bottom: 10px;
}

/* Two column layout */
.two-column-container {
  display: flex;
  width: 100%;
  max-width: 1400px;
  position: relative;
  justify-content: space-between;
  align-items: center; /* Center items vertically */
  min-height: calc(100vh - 100px); /* Full height minus space for footer */
  padding: 20px;
  gap: 20px;  
  overflow: visible; /* Prevent content cut-off */
}

/* Right column with form */
.right-column {
  display: flex;
  width: 55%;
  top: -200px;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: visible; /* Prevent form cutoff */
  flex-grow: 1; /* Fills available height */
}

/* Left column with images */
.left-column {
  display: flex;
  flex-direction: column;
  width: 45%;
  position: relative; /* Contains absolutely positioned images */
  justify-content: center;
  align-items: center;
  flex-grow: 1; /* Ensures column fills available height */
}

.image-row {
  display: flex;
  justify-content: center;
}

/* Lucky Bot image */
.lucky-bot-image {
  width: 105%;
  height: auto;
  transition: transform 0.5s ease;
  animation: bounceMain 2s infinite ease-in-out;
  position: absolute;
  z-index: 100;
  top: -510px;
  right: 5px;
  margin-bottom: 0;
}

.lucky-bot-image-thanks {
  width: 75%;
  height: auto;
  transition: transform 0.5s ease;
  animation: bounceMain 2s infinite ease-in-out;
  position: absolute;
  z-index: 100;
  top: -450px;
  margin-bottom: 0;
}

.hover-animation-image {
  width: 80%;
  height: auto;
  position: absolute;
  z-index: 90;
  margin-top: -140px;
  left: 20px;
}

/* Wrapper with Slide Left Animation */
.support-image-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  animation: slide-left 1s forwards;
}

@keyframes slide-left {
  0% {
    transform: translateX(100px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Form container */
.contact-form {
  width: 100%;
  max-width: 800px;
  background: #fff;
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.212);
  position: relative;
  z-index: 1;
  overflow: visible;
}

.contact-form input,
.contact-form textarea {
  width: calc(100% - 40px);
  padding: 18px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 15px;
  font-size: 18px;
  color: #333;
  background: rgba(255, 255, 255, 0.9);
  max-width: 95%;
}

.contact-form textarea {
  height: 250px;
  resize: vertical;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: rgba(0, 0, 0, 0.5);
  font-size: 16px;
}

/* --- RESPONSIVE ADJUSTMENTS --- */
@media only screen and (max-width: 1024px) {
  .lucky-bot-image-thanks {
    width: 75%;
    height: auto;
    transition: transform 0.5s ease;
    animation: bounceMain 2s infinite ease-in-out;
    position: absolute;
    z-index: 100;
    top: -330px;
    margin-bottom: 0;
  }
}

/* Mobile Small (320px and up) */
@media only screen and (max-width: 320px) {
  .support-section {
    padding: 10px;
  }

  .two-column-container {
    flex-direction: column;
    align-items: center;
  }

  .left-column {
    display: none; /* Hide left column */
  }

  .right-column, .right-column-2 {
    width: 100%;
    padding: 10px 0;
    justify-content: center;
  }

  .contact-form {
    padding: 15px;
    max-width: 90%;
    margin: 0 auto;
  }

  .contact-form input,
  .contact-form textarea {
    font-size: 16px;
  }
}

/* Mobile Medium (375px and up) */
@media only screen and (max-width: 375px) {
  .two-column-container {
    flex-direction: column;
    align-items: center;
  }

  .left-column {
    display: none;
  }

  .right-column, .right-column-2 {
    width: 100%;
    justify-content: center;
  }

  .contact-form {
    max-width: 80%;
    margin: 10px;
  }

  /* Centered section heading */
  .section-heading {
    width: 120% !important;
    text-align: center;
    padding-top: -10px;
    padding-bottom: 15px;
  }
}

/* Mobile Large (425px and up) */
@media only screen and (max-width: 425px) {
  .two-column-container {
    flex-direction: column;
    align-items: center;
    right: 5px;
  }

  .left-column {
    display: none;
  }

  .right-column, .right-column-2 {
    width: 100%;
    justify-content: center;
  }

  .contact-form {
    max-width: 90%;
    margin: 0 auto;
  }
}

/* Tablet (768px and up) */
@media only screen and (max-width: 768px) {
  .two-column-container {
    flex-direction: column;
    align-items: center;
    margin-top: -70px;
  }

  .left-column {
    display: none;
  }

  .right-column, .right-column-2 {
    width: 90%;
  }

  .contact-form {
    max-width: 90%;
  }
}