/*!
Theme Name: viking sea spin

*/

@import url('https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@400;600;700;900&family=Lexend:wght@400;700&family=Gabarito:wght@500;700&family=Tilt+Warp&display=swap');

:root {
  --font-family: "Lexend Deca", sans-serif;
  --second-family: "Lexend", sans-serif;
  --third-family: "Gabarito", sans-serif;
  --font3: "Tilt Warp", sans-serif;

  --bg-primary: #110e29;
  --bg-secondary: #1e1d3d;
  --accent-color: #12affb;
  --text-light: #fff;
  --text-muted: #8390a7;
}

/* RESET */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  background: var(--bg-primary);
  color: var(--text-light);
  font-family: var(--font-family);
  overflow-x: hidden;
}

ul { list-style: none; margin: 0; padding: 0; }
img { max-width: 100%; height: auto; display: block; }
button { border: none; background: none; cursor: pointer; }
a { text-decoration: none; color: inherit; transition: 0.3s; }
.container { max-width: 1300px; margin: 0 auto; padding: 0 20px; }

.top-header {
  background: #1e1d3d;
  padding: 10px 0;
  text-align: center;

  p {
    font-weight: 900;
    font-size: 14px;
    color: #fff;
    text-transform: uppercase;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  }
}

.viking-hero-wrap {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.main-header {
  padding: 20px 0;

  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .main-nav{
    position: relative;
  }

  .round_shape{
    position: absolute;
    left: 50%;
    pointer-events: none;
    transform: translate(-50%, 0px);
  }


  .main-nav ul {
    display: flex;
    gap: 35px;

    li a {
      font-weight: 800;
      font-size: 15px;
      color: #7584a6;
      text-transform: uppercase;

      &:hover { color: var(--accent-color); }
    }
  }

  .btn-contact {
    background: linear-gradient(0deg, #26bff9 0%, #06a6fc 100%);
    color: #fff;
    padding: 10px 25px;
    border-radius: 100px;
    font-weight: 400;
    transition: 0.3s;

    &:hover { transform: translateY(-2px); }
  }

  .menu-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    z-index: 99;

    span {
      width: 25px;
      height: 1px;
      background: #fff;
      border-radius: 3px;
      transition: 0.3s;
    }

    &.open span:nth-child(1) { transform: rotate(45deg) translateY(8px); }
    &.open span:nth-child(2) { opacity: 0; }
    &.open span:nth-child(3) { transform: rotate(-45deg) translateY(-8px); }
  }

  @media (max-width: 768px) {
    .menu-toggle { display: flex; }
    .btn-contact { display: none; }

    .main-nav {
      position: absolute;
      top: 130px;
      right: 0;
      width: 100%;
      background: #1e1d3d;
      text-align: center;
      transform: translateY(-200%);
      transition: 0.4s ease;
      padding: 20px 0;
      z-index: 10;

      &.active { transform: translateY(0); }

      ul { flex-direction: column; gap: 20px; }
    }
  }
}

.hero-section {
  /* padding: 100px 0 60px; */

  .hero-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
  }

  .hero-content {
    max-width: 500px;

    .subtitle {
      font-family: var(--second-family);
      font-weight: 400;
      font-size: 24px;
      color: #fff;
    }

    h1 span {
      font-weight: 900;
      font-size: 54px;
      color: #fff;
      background: #12affb;
      padding: 6px 20px;
      border-radius: 10px;
      display: inline-block;
      margin: 15px 0;
      text-transform: uppercase;
    }

    h1 .hero_title{
      background: none;
      padding: 0px;
    }

    p { margin-bottom: 25px; color: var(--text-muted); font-family: var(--second-family); line-height: 131%;}

    .btn-play {
      background: linear-gradient(0deg, #26bff9 0%, #06a6fc 100%);
      color: #fff;
      border-radius: 100px;
      padding: 12px 35px;
      font-weight: 700;
      font-size: 16px;
      display: inline-block;

      &:hover { transform: translateY(-2px); }
    }
  }

  .hero-image img { max-width: 480px; }

  @media (max-width: 768px) {
    .hero-inner { flex-direction: column; text-align: center; }
    .hero-image img { max-width: 300px; }
    h1 span { font-size: 39px !important; }
  }
}

.feature-section {
  background: #1e1d3d;
  padding: 50px 0;

  .feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
  }

  .feature-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    text-align: left;

  
    .feature-content {
      h3 {
        font-weight: 700;
        font-size: 24px;
        color: #7584a6;
        text-transform: uppercase;
        margin-bottom: 8px;
      }

      p {
        color: #fff;
        font-size: 15px;
        line-height: 1.4;
        font-weight: 500;
      }
    }
  }

  @media (max-width: 768px) {
    .feature-item {
      flex-direction: column;
      align-items: center;
      text-align: center;
    }
  }
}



.slot-section {
  padding: 50px 0;

  .slot-header {
    text-align: center;
    margin-bottom: 50px;

    .slot-title {
      font-family: var(--second-family);
      font-weight: 700;
      font-size: 32px;
      background: linear-gradient(91deg, #7584a6 0%, #2d3340 100%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      margin-bottom: 15px;
    }

    .slot-desc {
      font-weight: 400;
      font-size: 14px;
      line-height: 200%;
      text-align: center;
      color: #8390a7;
      max-width: 600px;
      margin: 0 auto;
    }
  }

  .slot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 25px;
    justify-items: center;
  }

  .slot-item {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(180deg, #23223e 0%, #15142a 100%);
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.4s ease;
    }

    &:hover {
      transform: translateY(-5px);
      img {
        transform: scale(1.05);
      }
    }
  }

  @media (max-width: 768px) {
    .slot-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }

    .slot-header .slot-title {
      font-size: 26px;
    }

    .slot-header .slot-desc {
      font-size: 13px;
      line-height: 180%;
    }
  }

  @media (max-width: 480px) {
    .slot-grid {
      grid-template-columns: 1fr 1fr;
    }
  }
}


.no-purchase-section {
  padding: 100px 0px 50px 0px;
  position: relative;

  .round_shape_no_left{
      position: absolute;
      width: 790px;
      top: -30%;
      left: -16%;
      transform: translate(-5%, 0px);
  }

    .round_shape_no_right{
      position: absolute;
      width: 790px;
      top: -30%;
      right: -16%;
      transform: translate(-5%, 0px);
  }

  .no-purchase-inner {
    padding: 50px 0px;
    position: relative;
    margin: 0 auto;
    border-radius: 15px;
  }

  .no-purchase-content {
    position: relative;
    max-width: 530px;
    margin: 0 auto;
    text-align: center;
    z-index: 3;

    h2 {
      font-weight: 900;
      font-size: 64px;
      line-height: 100%;
      color: #fff;
      margin-bottom: 25px;
    }

    .btn-play {
      background: linear-gradient(0deg, #26bff9 0%, #06a6fc 100%);
      color: #fff;
      border-radius: 100px;
      padding: 14px 40px;
      font-weight: 700;
      font-size: 16px;
      display: inline-block;
      transition: 0.3s ease;

      &:hover {
        transform: translateY(-3px);
      }
    }
  }

  .viking-images {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -100px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    z-index: 3;

    img {
      max-width: 320px;
      height: auto;
      display: block;
      transform: translateY(-100px); 
    }
  }

  @media (max-width: 1024px) {
    .no-purchase-content h2 {
      font-size: 48px;
    }

    .viking-images img {
      max-width: 240px;
      transform: translateY(-80px);
    }
  }

  @media (max-width: 768px) {
    padding: 50px 0 60px;

    .no-purchase-content h2 {
      font-size: 36px;
      line-height: 110%;
    }

    .viking-images{
      position: unset;
       display: none;
    }
  }
}


.how-it-works {

  .how-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
  }

  .how-content {
    flex: 1;
    max-width: 550px;

    h2 {
      font-weight: 900;
      font-size: 64px;
      line-height: 100%;
      color: #fff;
      text-transform: uppercase;
      margin-bottom: 50px;
      text-transform: uppercase;
    }

    .how-step {
      display: flex;
      align-items: flex-start;
      gap: 20px;
      margin-bottom: 25px;

      .step-num {
        font-weight: 900;
        font-size: 24px;
        line-height: 137%;
        text-align: center;
        color: #fff;
        background: #262846;
        width: 38px;
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        flex-shrink: 0;
      }

      p {
        font-weight: 500;
        font-size: 16px;
        line-height: 137%;
        color: #c9c9c9;
        margin: 0;
      }
    }
  }

  .how-image {
    flex: 1;
    text-align: right;

    img {
      height: auto;
      display: inline-block;
    }
  }

  @media (max-width: 1024px) {
    .how-inner {
      gap: 30px;
    }

    .how-content h2 {
      font-size: 52px;
    }

    .how-image img {
      max-width: 340px;
    }
  }

  @media (max-width: 768px) {
    .how-inner {
      flex-direction: column;
      text-align: center;
    }

    .how-content {
      max-width: 100%;

      h2 {
        font-size: 42px;
        margin-bottom: 35px;
      }

      .how-step {
        justify-content: center;
        text-align: left;
      }
    }

    .how-image {
      text-align: center;

      img {
        margin-top: 30px;
      }
    }
  }
}


.faq-section {
  padding: 50px 0;

  .faq-title-main {
    font-weight: 900;
    font-size: 64px;
    line-height: 100%;
    text-align: center;
    color: #fff;
    margin-bottom: 60px;
  }

  .faq-wrapper {
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .faq-item {
    background: #282b49;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
  }

  .faq-header {
    width: 100%;
    background: none;
    border: none;
    padding: 20px 30px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    text-align: left;
    transition: 0.3s ease;

    &:hover {
      background: rgba(255, 255, 255, 0.05);
    }

    .faq-toggle-icon {
      flex-shrink: 0;
      margin-right: 20px;
      position: relative;

      .active-icon {
        display: none;
      }
    }

    h3 {
      font-weight: 700;
      font-size: 22px;
      line-height: 135%;
      color: #fff;
      margin: 0;
    }
  }

  .faq-body {
    padding: 0 0 0 49px;
    width: 100%;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    background: #282b49;

    p {
      font-weight: 500;
      font-size: 16px;
      line-height: 137%;
      color: #c9c9c9;
      padding: 0 30px 25px 0;
    }
  }

  .faq-item.active {
    .faq-body {
      max-height: 400px;
      padding-top: 10px;
    }

    .faq-header .faq-toggle-icon .active-icon {
      display: inline-block;
    }

    .faq-header .faq-toggle-icon .inactive-icon {
      display: none;
    }
  }

  @media (max-width: 768px) {
    .faq-title-main {
      font-size: 42px;
    }

    .faq-header h3 {
      font-size: 18px;
    }

    .faq-body p {
      font-size: 14px;
      line-height: 160%;
    }
  }
}



.play-anywhere {
  padding:30px 0 50px;

  .play-header {
    text-align: center;
    margin-bottom: 60px;

    h2 {
      font-weight: 900;
      font-size: 48px;
      color: #fff;
      margin-bottom: 20px;
      text-transform: uppercase;
    }

    p {
      font-weight: 400;
      font-size: 16px;
      line-height: 150%;
      color: #c9c9c9;
      max-width: 650px;
      margin: 0 auto;
    }
  }

  .play-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    text-align: center;

    .play-item {
      img {
        width: 70px;
        height: auto;
        margin: 0 auto 20px;
        display: block;
      }

      h3 {
        font-weight: 700;
        font-size: 20px;
        text-align: center;
        color: #17b3fa;
        margin-bottom: 8px;
      }

      p {
        font-weight: 400;
        font-size: 14px;
        color: #c9c9c9;
        text-align: center;
        line-height: 150%;
        max-width: 240px;
        margin: 0 auto;
      }
    }
  }

  @media (max-width: 1024px) {
    .play-header h2 {
      font-size: 40px;
    }

    .play-grid {
      gap: 30px;

      .play-item img {
        width: 60px;
      }
    }
  }

  @media (max-width: 768px) {
    .play-grid {
      grid-template-columns: 1fr;
      gap: 50px;
    }

    .play-header h2 {
      font-size: 36px;
    }
  }
}


.site-footer {
  padding: 60px 0 40px;
  text-align: center;

  .footer-logo {
    margin-bottom: 25px;

    a{
      display: flex;
      justify-content: center;
    }

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



  .footer-divider {
    border: none;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
    margin: 20px auto 40px;
    width: 80%;
  }

  .footer-nav {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 40px;
    padding: 0;

    li a {
      font-weight: 400;
      font-size: 15px;
      color: #fff;
      text-decoration: none;
      transition: 0.3s ease;

      &:hover {
        color: #17b3fa;
      }
    }
  }

  .footer-disclaimer {
    max-width: 700px;
    margin: 0 auto 30px;

    h4 {
      font-weight: 700;
      font-size: 14px;
      color: #fff;
      margin-bottom: 10px;
    }

    p {
      font-weight: 400;
      font-size: 14px;
      line-height: 150%;
      color: #c9c9c9;
    }
  }

  .footer-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin-bottom: 20px;

    a img {
      height: auto;
      opacity: 0.8;
      transition: 0.3s ease;

      &:hover {
        opacity: 1;
        transform: translateY(-3px);
      }
    }
  }

  .footer-copy {
    font-weight: 400;
    font-size: 13px;
    color: #8390a7;
    margin-top: 10px;
  }

  @media (max-width: 768px) {
    .footer-nav {
      gap: 20px;
    }

    .footer-disclaimer p {
      font-size: 13px;
      padding: 0 15px;
    }

    .footer-icons img {
      max-width: 35px;
    }

    .footer-copy {
      font-size: 12px;
    }
  }
}


.spin-age-overlay {
  position: fixed;
  inset: 0;
  background: rgba(17, 14, 41, 0.95);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;

  &.active {
    opacity: 1;
    visibility: visible;
  }

  .spin-age-modal {
    background: #1e1d3d;
    border: 2px solid #17b3fa;
    border-radius: 20px;
    padding: 50px 40px;
    text-align: center;
    max-width: 500px;
    width: 90%;
    box-shadow: 0 0 30px rgba(23, 179, 250, 0.3);
    animation: scaleIn 0.4s ease;

    .spin-modal-logo img {
      max-width: 140px;
      margin: 0 auto;
      margin-bottom: 25px;
    }

    .spin-modal-text {
      font-family: var(--font-family);
      font-weight: 400;
      font-size: 16px;
      line-height: 150%;
      color: #c9c9c9;
      margin-bottom: 30px;
    }

    .spin-btn-age {
      background: linear-gradient(0deg, #26bff9 0%, #06a6fc 100%);
      color: #fff;
      font-family: var(--font-family);
      font-weight: 700;
      font-size: 18px;
      border: none;
      border-radius: 100px;
      padding: 14px 50px;
      cursor: pointer;
      transition: 0.3s ease;

      &:hover {
        transform: translateY(-3px);
        box-shadow: 0 0 15px rgba(23, 179, 250, 0.5);
      }
    }
  }

  @keyframes scaleIn {
    from {
      transform: scale(0.9);
      opacity: 0;
    }
    to {
      transform: scale(1);
      opacity: 1;
    }
  }
}

.spin-cookie-bar {
  position: fixed;
  bottom: -100%;
  left: 0;
  width: 100%;
  background: #1e1d3d;
  border-top: 2px solid #17b3fa;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.4);
  transition: bottom 0.5s ease;
  z-index: 9998;

  &.active {
    bottom: 0;
  }

  .spin-cookie-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    gap: 20px;
  }

  .spin-cookie-text {
    flex: 1;
    min-width: 250px;
    font-family: var(--font-family);
    font-size: 15px;
    color: #c9c9c9;
  }

  .spin-cookie-actions {
    display: flex;
    align-items: center;
    gap: 15px;

    .spin-cookie-btn {
      border: none;
      font-family: var(--font-family);
      font-weight: 600;
      font-size: 14px;
      border-radius: 100px;
      padding: 10px 25px;
      cursor: pointer;
      transition: 0.3s ease;

      &.accept {
        background: linear-gradient(0deg, #26bff9 0%, #06a6fc 100%);
        color: #fff;

        &:hover {
          transform: translateY(-2px);
          box-shadow: 0 0 10px rgba(23, 179, 250, 0.5);
        }
      }

      &.decline {
        background: #282b49;
        color: #fff;

        &:hover {
          background: #32355b;
        }
      }
    }

    .spin-cookie-link {
      font-family: var(--font-family);
      font-weight: 600;
      font-size: 14px;
      color: #17b3fa;
      text-decoration: underline;
      transition: 0.3s ease;

      &:hover {
        color: #26bff9;
      }
    }
  }

  @media (max-width: 768px) {
    .spin-cookie-container {
      flex-direction: column;
      align-items: flex-start;
    }

    .spin-cookie-actions {
      flex-direction: column;
      align-items: flex-start;
      width: 100%;

      .spin-cookie-btn {
        width: 100%;
        text-align: center;
      }
    }
  }
}


.contact-section {
  background: #110e29;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;

  .container {
    max-width: 700px;
    width: 100%;
  }

  .contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }

  .form-group {
    input,
    textarea {
      width: 100%;
      background: #1e1d3d;
      border: none;
      outline: none;
      padding: 15px 18px;
      border-radius: 6px;
      font-family: var(--font-family);
      font-weight: 400;
      font-size: 15px;
      color: #fff;
      transition: 0.3s ease;

      &::placeholder {
        color: #8390a7;
        font-size: 14px;
      }

      &:focus {
        border: 1px solid #17b3fa;
        box-shadow: 0 0 10px rgba(23, 179, 250, 0.4);
      }
    }

    textarea {
      resize: none;
      min-height: 180px;
    }
  }

  .btn-submit {
    margin: 0 auto;
    background: linear-gradient(0deg, #26bff9 0%, #06a6fc 100%);
    color: #fff;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 14px;
    border: none;
    border-radius: 100px;
    padding: 12px 50px;
    cursor: pointer;
    transition: 0.3s ease;
    display: inline-block;

    &:hover {
      transform: translateY(-3px);
      box-shadow: 0 0 15px rgba(23, 179, 250, 0.5);
    }
  }

  @media (max-width: 768px) {
    padding: 80px 0;

    .container {
      max-width: 90%;
    }

    .btn-submit {
      width: 100%;
      padding: 14px;
    }
  }
}


.text-section{
  padding: 40px 0px;

  p{
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 250%;
    color: #fff;
  }
}

.single-game-section {
  padding: 50px 0;

  @media (max-width: 768px) {
    padding: 80px 0;
  }

  @media (max-width: 600px) {
    padding: 60px 0;
  }
}

.game-title-wrapper {
  text-align: center;
  margin-bottom: 40px;

  .game-title-single {
    font-family: var(--font-family);
    font-weight: 900;
    font-size: 48px;
    line-height: 100%;
    letter-spacing: -0.06em;
    text-align: center;
    color: #fff;
    margin-bottom: 15px;

    @media (max-width: 1024px) {
      font-size: 32px;
    }

    @media (max-width: 768px) {
      font-size: 28px;
    }

    @media (max-width: 600px) {
      font-size: 24px;
    }
  }
}

.game-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

.game-iframe-wrapper {
  width: 100%;
  max-width: 100%;
  background: #262b3f;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 40px rgba(0, 0, 0, 0.4);
  position: relative;

  iframe {
    width: 100%;
    height: 700px;
    display: block;
    border: none;
    border-radius: 15px;

    @media (max-width: 1024px) {
      height: 550px;
    }

    @media (max-width: 768px) {
      height: 450px;
    }

    @media (max-width: 600px) {
      height: 350px;
    }
  }
}


.message_success h5{
      font-size: 20px;
    margin-bottom: 25px;
    text-align: center;
}

.current_page_item a {
  color: #fff !important;
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 10px;
  text-decoration-color: #87ecf8;
}