@use "./scss/default/variables";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Monsieur+La+Doulaise&display=swap");

// Mixin
@mixin responsive-grid($min-width) {
  display: grid;
  grid-template-columns: 32% 32% 32%;
  gap: 5rem;
  padding: 0 10rem;
}

@mixin text-style($font-size, $color: $secondary-color, $margin-bottom: 0) {
  font-size: $font-size;
  color: $color;
  margin-bottom: $margin-bottom;
}

body {
  font-family: Lato, sans-serif;
}
.logo {
  max-width: 200px;
}
.page-list {
  padding-left: 0;
}
.breadcrumb-item.active {
  a {
    color: variables.$primary-color;
  }
}
.breadcrumb-area {
  background: linear-gradient(145deg, #60d1fe 0%, #3b97d3 100%);
}
.header-title {
  color: variables.$primary-color;
}
.header-subtitle {
  color: variables.$black;
  font-weight: 200;
  font-size: 17px;
}
.footer-left {
  background: linear-gradient(145deg, #123c64 0%, #3579ad 100%);
}
.section-no-home {
  padding-top: 20vh;
}

.video-container {
  margin: 0 10rem;
  h2 {
    font-size: 2rem;
    text-align: center;
  }
  div {
    font-size: 2rem;
    text-align: center;
    margin-top: 2rem;
  }
  iframe {
    width: 100%;
    height: 500px;
    border: none;
  }
}

.counters-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5rem;

  gap: 3rem;
  .counter-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    margin: 20px;

    .counter-value {
      position: relative;
      font-size: 3rem;
      font-weight: bold;
      color: variables.$primary-color;
      display: flex;
      justify-content: center;
      align-items: center;
      .plus {
        position: absolute;
        top: -8px;
        right: -15px;
        font-size: 2rem;
      }
    }

    .counter-description {
      font-size: 1.3rem;
      color: variables.$background-color;
      margin-top: 10px;
      text-align: center;
      width: 80%;
    }
  }
}

// Stili principali con nesting

.faq-list-section {
  margin: 0 auto;
  padding: 5rem 1rem;

  .faq-list {
    margin: 0 6rem;
    border-radius: 5px;

    .faq-item {
      padding: 1.2rem 0;

      &:not(:last-child) {
        border-bottom: 2px solid variables.$background-color;
      }

      details {
        margin: 0;
        display: flex;
        flex-direction: column;
        summary {
          color: variables.$background-color;
          font-size: 1.5rem;
          display: flex;
          justify-content: space-between;
          align-items: center;
          font-weight: 700;
          cursor: pointer;
          .toggle-icon {
            font-weight: bold;
            margin-left: 10px;
            transition: transform 0.3s ease-in-out;
          }
        }

        .accordion-body {
          color: variables.$background-color;
          font-size: 1.2rem;
          overflow: hidden;
          opacity: 0;
          visibility: hidden;
          transition: opacity 0.4s ease-in-out;
          pointer-events: none;
          p {
            margin: 0;
          }
        }
        &[open] .accordion-body {
          opacity: 1;
          visibility: visible;
          pointer-events: auto;
        }
        &[open] summary .toggle-icon {
          transform: rotate(180deg);
        }
        &[open] summary .toggle-icon::before {
          content: "−";
          color: variables.$primary-color;
        }
        &:not([open]) summary .toggle-icon::before {
          content: "+";
          color: variables.$primary-color;
        }
        summary:hover {
          color: darken(variables.$background-color, 10%);
        }
      }
    }
  }
}

.error-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: linear-gradient(145deg, #123c64 0%, #3579ad 100%);

  div {
    h1 {
      font-size: 10rem;
    }
    h1,
    h2,
    p {
      color: variables.$white;
    }
    div {
      margin-top: 2rem;
    }
    a {
      background-color: transparent;
      padding: 1rem 2rem;
      color: variables.$primary-color;
      font-size: 1.3rem;
      font-weight: 600;
      &:hover {
        opacity: 0.7;
      }
    }
  }
}
.posts-archive .gallery-item-details,
.dashboard-list .gallery-item-details {
  height: auto;
}
.blog-single-page-title li {
  list-style-type: none;
}

.rn-address {
  height: 220px;
  transition: all 300ms ease-out;

  .icon {
    transition: all 300ms ease-out;
  }

  img {
    width: 40px;
    aspect-ratio: 1/1;
  }
}

.contacts-form {
  padding: 7.5vh 0;
}

.header-btn {
  .rn-btn {
    background-color: variables.$secondary-color;
    border: 2px solid variables.$primary-color;
    color: variables.$primary-color;
    font-weight: 700;
  }
}

.mainmenu {
  margin-bottom: 0;
}

[data-black-overlay]:before {
  background-color: #3f415b;
}

#preloader {
  background-color: transparent; 
  max-width: 30%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 7px;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#spinner {
  animation: spin 2s linear infinite;
}

.path {
  stroke-dasharray: 126; /* Circumference of the circle */
  stroke-dashoffset: 126;
  animation: dash 1.5s ease-in-out infinite;
}

#preloader .animation-preloader svg circle {
  stroke: variables.$primary-color;
}

@keyframes dash {
  0% {
    stroke-dashoffset: 126;
  }
  50% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: 126;
  }
}

.dashboard-list-item iframe {
  border: none !important;
}
.dashboard-list-item-dashboard {
  margin: 2em 2em 2em 2em;
}

.slide {
  .container {
    width: 100%; /* Larghezza predefinita per desktop */

    @media (min-width: 768px) {
      width: 40%; /* Larghezza per dispositivi mobili */
    }
  }
  .container-right {
    width: 0%; /* Larghezza predefinita per desktop */

    @media (min-width: 768px) {
      width: 40%; /* Larghezza per dispositivi mobili */
    }
  }
}
