@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");
// Variabili
$primary-color: #000000;
$secondary-color: #fff;
$tertiary-color: #000000;
$background-color: #272527;
$border-color: #ddd;

$blue-gradient: linear-gradient(145deg, #7dd7fb 30%, #17a4ff 100%);
// 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: $primary-color;
  }
}
.breadcrumb-area {
  background: linear-gradient(145deg, #60d1fe 0%, #3b97d3 100%);
}
.header-title {
  color: $primary-color;
}
.header-subtitle {
  color: #000;
  font-weight: 200;
  font-size: 17px;
}
.footer-left {
  background: linear-gradient(145deg, #123c64 0%, #3579ad 100%);
}
.section-no-home {
  padding-top: 20vh;
}
.content-item-container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 5vh 0;

  .text-container {
    display: flex;
    flex-direction: column;

    h1,
    h2 {
      margin: 0;
    }
    h2 {
      font-size: 3rem;
    }
    h3 {
      font-size: 2rem;
      margin-bottom: 0;
    }
    div {
      margin-top: 1rem;
    }
    .cta-container {
      margin-top: 2.5rem;
    }
    a {
      color: $primary-color;
    }
  }
}

.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: $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: $background-color;
      margin-top: 10px;
      text-align: center;
      width: 80%;
    }
  }
}
// .btn-cta,
// a.rn-button-style--2 {
//   margin-top: 3rem;
//   border: none;
//   color: #ffc200;
//   font-size: 1.2rem;
//   font-weight: 600;
//   border-radius: 7;
//   padding: 0;
// }

// Stili principali con nesting
.gallery {
  &-container {
    text-align: center;
    padding: 2rem;
  }
  &-title {
    @include text-style(2rem, #000, 0.5rem);
  }
  &-subtitle {
    @include text-style(1.2rem, #000, 1.5rem);
  }
  &-grid {
    @include responsive-grid(250px);
  }

  &-item {
    border: 1px solid $border-color;
    border-radius: 8px;
    overflow: hidden;
    text-align: left;
    background-color: $tertiary-color;
    transition: transform 0.3s ease;
    &:hover {
      transform: scale(1.02);
    }
    &-image {
      width: 100%;
      height: 200px;
      object-fit: cover;
    }
    &-details {
      padding: 1rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    &-title {
      @include text-style(1rem, $secondary-color, 0.5rem);
    }
    &-subtitle {
      @include text-style(0.9rem, $secondary-color, 1rem);
    }
    &-link {
      text-decoration: none;
      color: $secondary-color;
      font-weight: bold;
      &:hover {
        opacity: 0.6;
      }
    }
  }
}
.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 $background-color;
      }

      details {
        margin: 0;
        display: flex;
        flex-direction: column;
        summary {
          color: $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: $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: $primary-color;
        }
        &:not([open]) summary .toggle-icon::before {
          content: "+";
          color: $primary-color;
        }
        summary:hover {
          color: darken($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: #fff;
    }
    div {
      margin-top: 2rem;
    }
    a {
      background-color: transparent;
      padding: 1rem 2rem;
      color: $primary-color;
      font-size: 1.3rem;
      font-weight: 600;
      &:hover {
        opacity: 0.7;
      }
    }
  }
}

.login-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 50% 50%;
  .login-subtitle {
  max-width: 70%;
    text-align: center;
    font-size: 14px;
    line-height: 15px;
  }
  div {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .right {
    position: relative;
    background-image: url("../../assets/images/login/login-bg.png");
    background-position: bottom;
    img {
      margin-left: 0rem;
      max-width: 100%;
      transform: scaleX(-1);
    }
  }
  .left {
    .login-form {
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 1rem;
      width: 60%;
    }
  }
}

.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: $secondary-color;
    border: 2px solid $primary-color;
    color: $primary-color;
    font-weight: 700;
  }
}

.mainmenu {
  margin-bottom: 0;
}

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

#preloader {
  background-color: $primary-color;
  max-width: 30%;
  padding: 0.8rem;
  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;
}

@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;
}

.mobile-menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
}

.mobile-menu-overlay.active {
  display: block;
}

.mobile-menu-inner {
  background: white;
  width: 80%;
  height: 100%;
  overflow-y: auto;
  padding: 20px;
}

.close-menu-custom {
}

.mobile-menu {
  margin-top: 1rem;
  ul {
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;

    li {
      font-size: 1.2rem;
      color: $primary-color;
    }
  }
}

.menutrigger {
  svg {
    color: $primary-color;
  }
}

.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 */
    }
  }
}
