/* layout 공통 */
#wrap {
  width: 100%;
  overflow: hidden;
}

* {
  color: #333;
}

.swiper {
  position: relative;
}

table {
  caption {
    display: none;
  }
}

.co-navy500 {
  color: #232ea3;
}

.section {
  padding: 4.25rem 1.25rem;

  .inner {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }

  .title {
    font-size: 1.375rem;
    line-height: 140%;
    font-weight: 700;
  }
}

.guest-table {
  border-radius: 0.5rem;
  box-shadow: 0 0.125rem 0.5rem 0 #00000024;
}

.guest-table table {
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  border-style: hidden;
  width: 100%;

  th,
  td {
    padding: 0.8125rem 0.75rem;
  }

  td {
    font-size: 1rem;
    line-height: 1.375rem;
    font-weight: 500;
    color: #333;
    text-align: center;
  }

  th:has(strong),
  td:has(strong) {
    padding: 0;

    strong {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
    }
  }

  th strong {
    height: 2.75rem;
    padding: 0.75rem 0.5rem;
    border: 1px solid #232ea3;
    font-size: 0.9375rem;
    line-height: 0.9375rem;
    color: #fff;
    border-radius: 0.5rem 0.5rem 0 0;
    background: #232ea3;
  }

  td strong {
    padding: 0.8125rem 0.5rem;
    border: 1px solid #232ea3;
    font-size: 1.125rem;
    line-height: 1.625rem;
    font-weight: 600;
    color: #232ea3;
  }

  thead {
    tr {
      background: #f1f1f9;
    }

    th {
      font-size: 0.875rem;
      line-height: 0.875rem;
      font-weight: 700;
    }

    th:nth-of-type(1) {
      font-size: 0.8125rem;
      font-weight: 400;
      color: #666;
    }
  }

  tbody {
    th {
      background: #f1f1f9;
      font-size: 0.8125rem;
      line-height: 1rem;
      font-weight: 600;
      color: #333;
    }
  }
}

/* 버튼 공통 */
.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.8125rem;
  font-size: 1rem;
  line-height: 1.25rem;
  font-weight: 600;
  border-radius: 999px;
  text-align: center;
  background: #fff;
  border: 1px solid transparent;

  &.lg {
    padding: 0.75rem;
    font-size: 1.125rem;
    line-height: 1.625rem;
  }

  &.btn-line-gry {
    color: #333;
    border-color: #b3b3b3;
  }

  &.btn-bg-org {
    background: #ff7b00;
    color: #fff;
    border-color: #ff7b00;
  }
}

/* 메인 스와이퍼 */
.wrap-guest .guest-top-slider {
  width: 100vw;

  .swiper-slide,
  img {
    display: block;
    width: 100%;
  }

  .swiper-pagination {
    width: max-content;
    padding: 0.3125rem 0.625rem;
    font-size: 0.6875rem;
    line-height: 0.875rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(0.5rem);
    right: 0.75rem;
    top: 0.75rem;
    left: unset;
    bottom: unset;
    border-radius: 999px;

    .swiper-pagination-total {
      color: rgba(255, 255, 255, 0.6);
    }

    .swiper-pagination-current {
      color: #fff;
      font-weight: 600;
    }
  }
}

/* 가입문의, 로그인 */
.guest-account {
  margin: -3.5rem auto 2.75rem;
  padding: 1rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  width: calc(100% - 2.5rem);
  border-radius: 1.125rem;
  box-shadow: 0 0.125rem 0.5rem 0 #00000024;
  background: #fff;
  z-index: 1;
}

.guest-account .desc {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: #666;
}

.guest-account .wrap-btn {
  width: 100%;
  display: flex;
  gap: 0.75rem;

  .btn {
    flex: 1;

    &.btn-line-gry {
      color: #1a1a1a;
    }
  }
}

/* 사용량 count */
.ai-count {
  padding-top: 0;

  .list-count {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;

    li {
      padding: 1rem 0;
      width: calc(50% - 0.25rem);
    }
  }

  .count {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.125rem;
    font-size: 1.375rem;
    line-height: 140%;
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: -0.00625rem;
  }

  .counting {
    display: block;
    font-size: 2.5rem;
    line-height: 2.625rem;
    font-weight: 700;
    color: #ff7b00;
  }

  .sub-title {
    margin-top: 0.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.125rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
  }

  .ico-plus {
    display: block;
    width: 0.8125rem;
    height: 0.8125rem;
    background: url('/image/icon_plus_bk.svg') no-repeat center / cover;
    filter: contrast(3);
  }
}

/* 로켓등록 */
.rocket-send {
  background: #f8f8fc;

  .inner {
    display: flex;
    flex-direction: column;
    gap: 3.75rem;
  }

  .wrap-text {
    font-weight: 500;

    .title {
      margin-top: 0.5rem;
      font-size: 1.375rem;
      line-height: 140%;
      font-weight: 700;
    }

    small {
      display: block;
      margin-top: 0.75rem;
      font-size: 0.75rem;
      line-height: 1.125rem;
    }
  }


  .price-tag.rocket {
    position: relative;

    &:before {
      content: '';
      display: block;
      position: absolute;
      width: 13.0625rem;
      height: 11rem;
      top: -2.5625rem;
      right: -4.8125rem;
      background: url("/image/mobile/main/service_function_bg.svg") center / cover no-repeat;
    }
  }

  .title {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 600;

    .co-navy500 {
      font-size: 1.125rem;
    }
  }

  .sum {
    margin-top: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.375rem;

    .item {
      overflow: hidden;
      flex: 1;
      border-radius: 0.5rem;
      text-align: center;
      border: 1px solid #e3e3e3;
      box-shadow: 0 0.125rem 0.5rem 0 #00000024;
      z-index: 1;

      &.result {
        border: 1px solid #232ea3;

        .item-title {
          background: #232ea3;
          color: #fff;
        }
      }
    }

    .item-title {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 2.75rem;
      background: #f1f1f9;
      font-size: 0.875rem;
      line-height: 0.875rem;
      font-weight: 600;
    }

    .item-price {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.25rem;
      height: 3rem;
      background: #fff;
      font-size: 1rem;
      line-height: 1.375rem;
      font-weight: 500;
    }

    .line-through {
      text-decoration: line-through;
      color: #808080;
    }

    .co-navy500 {
      font-size: 1.125rem;
      line-height: 1.5rem;
      color: #232ea3;
      font-weight: 700;
    }

    .symbol {
      width: 1.125rem;
      height: 1.125rem;
    }
  }

  .guest-table {
    margin-top: 1.25rem;

    td strong {
      height: 3rem;
      border-top: 0;
      border-radius: 0 0 0.5rem 0.5rem;
    }
  }

  .notice {
    margin-top: 0.75rem;
    font-size: 0.75rem;
    line-height: 1.125rem;
    font-weight: 500;
    text-align: right;
  }
}

/* 신규서비스 */
.new-service {
  background: #f9f9f9;

  .swiper {
    width: 100%;
  }

  .swiper-slide {
    width: 14rem;
    border-radius: 0.375rem;
    box-shadow: 0 0.125rem 0.5625rem 0 #0000001F;
    overflow: hidden;

    img {
      display: block;
      object-fit: cover;
      width: 100%;
    }
  }
}

/* 서비스 안내 */
.service-function {
  .swiper-slide:not(.more) {
    padding: 2.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    width: 14rem;
    height: auto;
    border: 1px solid #e3e3e3;
    border-radius: 0.75rem;

    .sub-title {
      font-size: 1.125rem;
      line-height: 1.625rem;
      font-weight: 700;
      color: #1a1a1a;
    }

    .desc {
      margin-top: 0.375rem;
      font-size: 0.875rem;
      line-height: 1.25rem;
      word-break: keep-all;
    }

    &:before {
      content: "";
      margin-bottom: 1.5rem;
      width: 6.25rem;
      height: 6.25rem;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
    }

    &.contract:before {
      background-image: url(/image/estate_tip_contract.svg);
    }

    &.share-estate:before {
      background: url(/image/estate_tip_share.svg);
    }

    &.property-helper:before {
      background: url(/image/estate_tip_helper.svg);
    }

    &.ad-monitoring:before {
      background: url(/image/estate_tip_monitoring.svg);
    }
  }

  .swiper-slide.more {
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 9.0625rem;

    .btn {
      padding: 0.875rem 1.25rem;
    }
  }

  .guest-table {
    td {
      strong {
        height: 3.625rem;
        border-top: 0;
        border-bottom-width: 0;
      }
    }

    tr:last-child {
      td strong {
        border-bottom-width: 1px;
        border-radius: 0 0 0.5rem 0.5rem;
      }
    }

    .ico-check {
      display: block;
      width: 1.75rem;
      height: 1.75rem;
      background: url(/image/check_navy500.svg) no-repeat center/cover;
    }

    .ico-x {
      display: block;
      width: 1.25rem;
      height: 1.25rem;
      margin: 0 auto;
      background: url(/image/icon_xbtn_bk.svg) no-repeat center/cover;
      filter: brightness(1.4);
    }
  }

}

/* 리뷰 */
.service-review {
  .swiper-slide {
    display: flex;
    flex-direction: column;
    padding: 1.25rem;
    width: 17rem;
    min-height: 15.25rem;
    border-radius: 1rem;
    box-shadow: 0 0.25rem 1rem 0 #0000001f;

    .sub-title {
      font-size: 1rem;
      line-height: 1.375rem;
      font-weight: 600;
      color: #1a1a1a;
    }

    .desc {
      margin-top: 0.5rem;
      font-size: 0.875rem;
      line-height: 1.25rem;
    }

    .star-score {
      margin-top: auto;
      display: flex;

      i {
        display: block;
        width: 1.25rem;
        height: 1.25rem;
        background: url('/image/icon_star_fill.svg') no-repeat center / cover;
        filter: brightness(1.22);
      }

      .half {
        background: url('/image/icon_star_half.svg') no-repeat center;
        filter: none;
      }
    }

    .estate-name {
      margin-top: 0.5rem;
      font-size: 0.875rem;
      line-height: 1.25rem;
      font-weight: 500;
    }
  }
}

.customer-inquiry {
  padding: 2.5rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  text-align: center;
  background: #fff7f0;

  .title {
    font-size: 1.125rem;
    line-height: 1.625rem;
    font-weight: 600;
  }

  .btn {
    width: 100%;
  }
}

.bottom-banner-starter {
  padding: 2rem 1.25rem;
  background: #0e1241;

  .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
  }

  strong {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    font-size: 1.25rem;
    line-height: 1.875rem;
    font-weight: 600;
    color: #fff;
  }

  .logo{
    width: 5rem;
  }

  .wrap-btn-app{
    display: flex;
    gap: 1.25rem;

    a{
      flex: 1;

      img{
        width: 100%;
      }
    }
  }
}

.main-footer-wrap {
  font-size: 0.875rem;

  a {
    color: #333;
  }

  .notice {
    padding: 0.5rem 1.25rem;
    display: flex;
    gap: 1.5rem;
    align-items: center;
    background: #f5f5f5;

    .type {
      font-size: 0.875rem;
      font-weight: 700;
    }

    .title {
      line-height: 1.375rem;
    }
  }

  .footer-content {
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;

    h3 {
      font-size: 0.875rem;
      font-weight: 700;
    }
  }

  .cs {
    a {
      margin-top: 0.5rem;
      display: inline-flex;
      font-size: 2rem;
      line-height: 2.375rem;
      color: #ff7b00;
      font-weight: 700;
    }

    ul {
      margin-top: 0.5rem;
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
    }

    li {
      display: flex;
      line-height: 1.125rem;
      font-weight: 500;
      color: #4d4d4d;

      b {
        margin: 0 0.25rem 0 0.5rem;
      }
    }
  }

  .contact {
    ul {
      margin-top: 0.75rem;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

    li {
      display: flex;
      align-items: center;
      line-height: 1.125rem;

      &:has(.box) {
        align-items: flex-start;
      }

      .box {
        display: flex;
        flex-direction: column;
        gap: 0.25rem;

        small {
          margin-top: 0.25rem;
          display: block;
        }
      }
    }

    h4 {
      flex-shrink: 0;
      width: 7.75rem;
      font-size: 0.875rem;
      font-weight: 500;
    }

    a {
      font-weight: 600;
    }

    small {
      margin-left: 0.25rem;
      font-size: 0.75rem;
      color: #808080;
    }
  }

  .terms {
    display: flex;
    gap: 0.5rem;

    a {
      font-weight: 700;
    }

    li:not(:last-child) {
      &:after {
        content: '';
        display: inline-flex;
        margin: 0.125rem 0 0 0.5rem;
        width: 0.0625rem;
        height: 0.625rem;
        background: #b3b3b3;
      }
    }
  }

  .company-info {
    display: flex;
    flex-direction: column;

    .logo {
      width: 10.75rem;
      height: 2rem;
    }

    .ceo {
      margin-top: 1rem;
      line-height: 1.125rem;
      color: #1a1b1d;
      font-weight: 600;
    }

    ul {
      margin-top: 0.25rem;
      display: flex;
      flex-direction: column;
      gap: 0.25rem;

      li {
        color: #666;
        font-weight: 600;
      }
    }
  }

  .sns-box {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;

    .ico-sns {
      flex-shrink: 0;
      display: block;
      width: 2.375rem;
      height: 2.375rem;
      background-position: center;
      background-repeat: no-repeat;
    }

    .n-blog {
      background-image: url("/image/icon_sns_nblog.svg");
    }

    .n-tv {
      background-image: url("/image/icon_sns_ntv.svg");
    }

    .youtube {
      background-image: url("/image/icon_sns_youtube.svg");
    }

    .instagram {
      background-image: url("/image/icon_sns_instagram.svg");
    }

    .mark-clean-spam {
      margin-left: auto;
      width: 4rem;
      height: 4rem;

      img {
        width: 100%;
        height: 100%;
      }
    }
  }
}
