/* Hero Search Container */
.hero-search-container {
  position: relative;

  &::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    z-index: 0;
  }

  .hero-search-tabs {
    max-width: 925px;
    margin: 0 auto;
    z-index: 10;
    position: relative;

    @media (max-width: 768px) {
      margin: 0 10px;
    }
  }

  .hero-search-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 20px;
  }

  /* Hero Tabs Navigation */
  .hero-tabs-nav {
    display: flex;
    gap: 0;
    border: none;
    margin-bottom: 0;
    list-style: none;
    padding: 0;
  }

  .hero-tab-item {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;

    &::before {
      display: none;
    }

    &:last-child {
      padding-bottom: 0;
    }
  }

  .hero-tab-link {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 10px;
    border: none;
    border-radius: 12px 12px 0 0;
    font-weight: 600;
    transition: all 0.3s ease;
    min-height: 64px;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    margin: 0 5px 0 0;
    width: auto;
    min-width: 152px;
    outline: none;
    opacity: 1;

    &:hover {
      opacity: 1;
    }

    &.active {
      opacity: 1;
      z-index: 2;
    }

    /* Color Variants */
    &.tab-color-primary {
      background: $hs-color-1;
    }

    &.tab-color-secondary {
      background: $hs-color-2;
    }

    &.tab-color-tertiary {
      background: $hs-color-3;
    }

    .tab-title {
      font-size: 20px;
      font-weight: 700;
      color: $hs-color-3;
      margin: 0;
      line-height: 1.2;
    }

    .tab-subtitle {
      font-size: 14px;
      font-weight: 400;
      margin: 0;
      color: $hs-color-3;
    }
  }

  /* Tab Content */
  .hero-tabs-content {
    padding: 16px;
    border-radius: 0 12px 12px 12px;
    transition: background-color 0.3s ease;

    &.bg-tab-primary {
      background: $hs-color-1;
    }

    &.bg-tab-secondary {
      background: $hs-color-2;
    }

    &.bg-tab-tertiary {
      background: $hs-color-3;
    }

    /* Tab Pane */
    .tab-pane {
      /* Hero Items List */
      .hero-items-list {
        display: flex;
        gap: 16px;
        justify-content: space-between;

        .hero-item {
          display: flex;
          align-items: center;
          padding: 10px 12px;
          background: $hs-color-3;
          border-radius: 12px;
          text-decoration: none;
          color: $hs-color-1;
          transition: all 0.3s ease;
          flex: 1;

          &:hover {
            transform: translateX(4px);
            color: $hs-color-1;
          }

          .item-icon {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            padding: 12px 12px 12px 0;

            img,
            svg {
              max-width: 100%;
              max-height: 100%;
              filter: brightness(0) saturate(100%) invert(22%) sepia(94%)
                saturate(533%) hue-rotate(201deg) brightness(98%) contrast(90%);
            }
          }

          .item-content {
            flex: 1;

            .item-title {
              font-size: 20px;
              font-weight: 700 !important;
              margin: 0;
              padding: 0;
              color: $hs-color-1;
            }

            .item-description {
              font-size: 15px;
              margin: 0;
              line-height: 20px;

              p {
                margin: 0;
                font-weight: 400;
              }
            }
          }

          .item-arrow {
            flex-shrink: 0;
            width: 35px;
            height: 35px;
            display: flex;
            align-items: center;
            justify-content: center;

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

      /* Plugin Content */
      .hero-plugin-content {
        border-radius: 12px;

        @include media-breakpoint-down(md) {
          --bs-gutter-x: 10px !important;

          .container,
          .container-sm,
          .container-md,
          .container-lg,
          .container-xl,
          .container-xxl,
          .container-xxxl {
            --bs-gutter-x: 10px !important;
          }
        }

        .frame-type-felogin_login {
          padding: 20px;
          border-radius: 8px;
        }
      }
    }
  }

  .frame-type-list {
    .tx-wabsolute-hospitality {
      padding: 0;

      .hospitality-forms {
        .container {
          margin-top: 0;
          border-radius: 0;
          border: none;
          padding: 0;
          background: none;
          box-shadow: none;

          .row {
            display: flex;
            gap: 16px;

            @include media-breakpoint-down(md) {
              gap: 10px;
            }

            .col {
              flex: 1 1 0;
              min-width: 0;
              position: relative;
              padding: 0;

              .icon {
                position: absolute;
                left: 12px;
                top: 13px;

                img {
                  z-index: 10;
                  position: relative;
                }
              }
            }
          }
        }

        div#done-btn {
          width: 100%;
        }
      }
    }
  }
}

/* Frame Type Specific Styles */
.frame-type-sitepackage_herosearch {
  &.frame-layout-1 {
    margin-top: -125px;
    position: relative;
  }
  &.frame-layout-2 {
    margin-top: -125px;
    position: relative;

    @media (max-width: $breakpoint-mobile) {
      margin-top: -285px;
    }
  }

  .hero-search-container {
    .hero-plugin-content {
      padding: 0;

      .tx-wabsolute-hospitality {
        .hospitality-forms {
          .col {
            > .btn {
              border-radius: 12px;
              background: $hs-button-bg;
              padding: 15px;
              color: white;
              font-size: 18px;
              font-style: normal;
              font-weight: 400;
              line-height: normal;
              text-transform: uppercase;
              border: none;
              width: 100%;
              height: 65px;

              @media (max-width: 768px) {
                border-radius: 100px;
              }

              button {
                width: 100%;
              }
            }

            .guest-selector {
              .dropdown-btn {
                padding: 18px 15px;
                color: $hs-color-2;
                font-size: 14px;
                font-style: normal;
                font-weight: 400;
                line-height: 100%;
                border-radius: 12px;
                text-align: left;
                padding-left: 50px;
                height: 65px;
                display: flex;
                align-items: center;
              }
            }

            .form-control {
              color: $hs-color-2;
              font-size: 14px;
              font-style: normal;
              font-weight: 400;
              line-height: 14px;
              border-radius: 12px;
              text-align: left;
              padding-left: 45px;
              border: none;
              height: 65px;
            }
          }
        }
      }
    }
  }
}

/* Responsive Design */

/* Tablet */
@media (max-width: 992px) {
  .hero-search-container {
    .hero-tab-link {
      padding: 10px;
      min-height: 64px;

      .tab-title {
        font-size: 20px;
        margin-bottom: 0;
      }

      .tab-subtitle {
        font-size: 14px;
      }
    }

    .hero-tabs-content {
      .tab-pane {
        .hero-items-list {
          .hero-item {
            .item-content {
              .item-title {
                font-size: 18px;
              }

              .item-description {
                font-size: 14px;
              }
            }
          }
        }
      }
    }
  }
}

/* Mobile */
@media (max-width: 768px) {
  .hero-search-container {
    .hero-tab-link {
      border-radius: 0 !important;
      border-right: none !important;

      &:first-child {
        border-top-left-radius: 20px !important;
        border-top-right-radius: 20px !important;
      }

      &:last-child {
        border-bottom: none;
      }
    }

    .hero-tabs-content {
      padding: 10px;

      .tab-pane {
        .hero-items-list {
          display: block;

          .hero-item {
            padding: 16px 20px;
            gap: 12px;
            flex: 0 0 calc(50% - 8px);
            width: 100%;
            min-width: 0;
            margin-bottom: 10px;

            .item-icon {
              padding: 10px 10px 10px 0;
            }

            .item-content {
              .item-title {
                font-size: 18px;
                margin-bottom: 0px;
                padding-bottom: 0px;
              }

              .item-description {
                font-size: 13px;

                p {
                  font-size: 14px;
                }
              }
            }

            &:last-child {
              margin-bottom: 0;
            }
          }
        }
      }
    }
  }

  .frame-type-list {
    .tx-wabsolute-hospitality {
      .hospitality-forms {
        .container {
          .row {
            flex-direction: column;

            .col {
              flex: 1 1 100%;
              width: 100%;

              &:last-child {
                margin-bottom: 0;
              }
            }
          }
        }
      }
    }
  }
}

/* Small Mobile */
@media (max-width: 480px) {
  .hero-search-container {
    .hero-search-title {
      font-size: 24px;
    }

    .hero-tab-link {
      min-height: 68px;
    }

    .hero-tabs-content {
      .tab-pane {
        .hero-items-list {
          gap: 12px;

          .hero-item {
            flex-direction: row;
            padding: 14px 16px;
            flex: 0 0 100%;
            width: 100%;
            gap: 0;

            &:last-child {
              margin-bottom: 0;
            }
          }
        }
      }
    }
  }
}

// 21017 - ##311260 Homepage new feature
@include media-breakpoint-down(md) {
  .hero-search-tabs {
    overflow: hidden;
    .nav.hero-tabs-nav {
      flex-wrap: unset;
      gap: 5px;
      .nav-item.hero-tab-item {
        button.nav-link.hero-tab-link {
          width: 100%;
          min-width: auto;
          &.active {
            max-width: 100%;
            width: 100%;
            .tab-title {
              max-width: 100%;
            }
          }
          .tab-title {
            max-width: 85px;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            display: block;
          }
        }
      }
    }
  }
}
// general background colour add 
.frame-herosearch-bg{
  .hero-search-container{
    &::before{
      background-color: $herosearch-bg;
    }
  }
}