﻿@charset "UTF-8";
:root {
  --color1: #f89878;
  --color2: #ffe7df;
  --menu-color: #ff607e;
  --icon-color: #ff607e;
  --bg-color: #fffff;
  --title-text: #4b4b4b;
  --primary-text: #696969;
  --second-text: #ababab;
  --bg-color1: #ffeaee;
  --bg-color2: #fc9373;
  --bg-color3: #ff7b53;
  --bg-grey1: #000029;
  --bg-grey2: #ababab;
  --bg-grey3: ##707070;
}

body {
  font-size: 16px;
  background-color: var(--bg-color);
}

header {
  position: sticky;
}
header .menu-wrap {
  color: var(--second-text);
}
header .nav-link {
  padding: 5px 15px;
  font-weight: 700;
}
header .nav-link:hover {
  color: var(--color1);
}
header .active-menu {
  color: var(--menu-color);
  text-decoration: underline solid var(--menu-color);
  text-decoration-thickness: 3px;
  text-underline-offset: 8px;
}

main {
  overflow-y: scroll;
}

.copyright {
  text-align: center;
  color: var(--primary-text);
  padding: 2px 0;
}

.desktop header {
  padding: 15px 0;
}
.desktop main {
  height: calc(100vh - 64px);
}
.desktop footer {
  height: 30px;
}
.desktop .menu-wrap {
  margin: 0 auto;
  width: 1270px;
}
.desktop .mn-home {
  margin-left: 60px;
}
.desktop .mn-account {
  position: absolute;
  top: 15px;
  right: 8px;
}
.desktop .content-wrap {
  margin: 0 auto;
  width: 1270px;
  padding: 0 15px;
}

.mobile header {
  padding: 10px 0;
}
.mobile main {
  height: calc(100vh - 54px);
}
.mobile .menu-wrap {
  width: 100%;
}
.mobile .mn-logo {
  margin-left: 10px;
}
.mobile .logo {
  height: 35px;
}
.mobile .mn-home {
  display: none;
}
.mobile .mn-account {
  position: absolute;
  top: 11px;
  right: 3px;
}
.mobile .mn-desc {
  position: absolute;
  right: 50px;
}
.mobile .mn-logout {
  position: absolute;
  top: 13px;
  right: 3px;
}

.picker-label {
  margin-left: 5px;
}

.hot-link-wrap {
  height: 24px;
  display: flex;
  justify-content: space-between;
  font-size: 16px;
  padding: 0 3px;
}
.hot-link-wrap .link-item {
  color: white;
  background-color: red;
  border-radius: 12px;
  padding: 0 4px;
}
.hot-link-wrap .cs-btn {
  color: white;
  background-color: red;
  padding: 0 5px;
  border-radius: 10px;
  cursor: pointer;
}

.addon-wrap {
  position: relative;
  padding-bottom: 5px;
}

.btn-sidemenu {
  background-color: var(--color1);
}

.desktop .home-banner {
  height: 500px;
}
.desktop .home-carousel-img {
  height: 500px;
  width: 100%;
}
.desktop .caption {
  position: absolute;
  top: 200px;
  width: 100%;
  color: white;
  text-align: center;
  font-weight: 700;
}
.desktop .page-title {
  font-size: 44px;
}
.desktop .sub-title {
  font-size: 26px;
}
.desktop .info-banner {
  height: 350px;
}
.desktop .home-content {
  width: 1290px;
  margin-left: auto;
  margin-right: auto;
}
.desktop .search-inp {
  font-size: 14px;
  line-height: 14px;
  border: 1px solid #555;
  border-radius: 3px;
}

.mobile .home-banner {
  height: 100vw;
}
.mobile .home-banner .home-carousel-img {
  height: 100vw;
  width: 100vw;
}
.mobile .home-banner .caption {
  position: absolute;
  top: 160px;
  width: 100%;
  color: white;
  text-align: center;
  font-weight: 700;
}
.mobile .home-banner .carousel-indicators {
  bottom: 15px;
}
.mobile .home-banner .page-title {
  font-size: 32px;
}
.mobile .home-banner .sub-title {
  font-size: 24px;
}
.mobile .info-banner {
  height: 140px;
}

.splash-cover .cover-title {
  text-align: center;
  color: white;
  background-color: var(--color1);
  border: none;
}

.search-pannel .serveType-box {
  padding: 0 4px;
}
.search-pannel .serveType-box button {
  padding: 3px 6px;
  border-style: solid;
  border-color: var(--color1);
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.search-pannel .serveType-box .w1px {
  width: 1px;
  background-color: var(--color1);
}
.search-pannel .serveType-box .selected {
  color: white;
  background-color: var(--color1);
}
.search-pannel .serveType-box .left {
  border-left-width: 1px;
  border-right-width: 0;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
.search-pannel .serveType-box .right {
  border-left-width: 0;
  border-right-width: 1px;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}
.search-pannel .cover-box {
  width: 294px;
  display: flex;
  gap: 2px;
}
.search-pannel .cover-box input {
  padding: 2px 3px;
  border: 1px solid var(--second-text);
}
.search-pannel .cover-box .cover {
  width: 80px;
}
.search-pannel .cover-box .area {
  width: 180px;
}
.search-pannel .nation {
  width: 92px;
  margin: 0 4px;
}
.search-pannel .service {
  width: 260px;
}
.search-pannel .bt-search {
  color: white;
  background-color: #ff4955;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.beauty-show {
  color: var(--primary-text);
}
.beauty-show .img-count {
  font-size: 14px;
  text-align: center;
  padding: 2px 0;
}
.beauty-show .brief-info {
  padding: 4px 10px 15px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.beauty-show .beauty-name {
  color: var(--title-text);
  font-size: 22px;
  font-weight: 700;
}
.beauty-show .NSC-row {
  display: flex;
  gap: 10px;
  padding: 4px 0;
}
.beauty-show .serve-type {
  height: 24px;
  font-size: 14px;
  color: white;
  padding: 0 6px;
  border-radius: 8px;
  background-color: var(--color1);
}
.beauty-show .nation {
  height: 24px;
  font-size: 14px;
  color: white;
  padding: 0 6px;
  border-radius: 8px;
  background-color: var(--color1);
}
.beauty-show .serve-cover {
  height: 24px;
  font-size: 14px;
  color: white;
  padding: 0 6px;
  border-radius: 6px;
  background-color: var(--color1);
}
.beauty-show .serve-area {
  font-weight: bold;
  color: var(--second-text);
}
.beauty-show .charge {
  color: red;
  font-size: 30px;
  line-height: 40px;
}
.beauty-show .charge::before {
  content: "NT";
  font-size: 16px;
}
.beauty-show .services {
  word-wrap: break-word;
}
.beauty-show .foot {
  width: 100%;
  display: flex;
  justify-content: space-around;
  align-items: end;
}

.btGoDetail {
  color: var(--color1);
  padding: 6px 20px;
  border: none;
  border-radius: 50px;
  height: 36px;
  vertical-align: bottom;
}

.icon-action {
  color: var(--primary-text);
  display: flex;
  padding-top: 5px;
}
.icon-action i {
  display: block;
  font-size: 22px;
}
.icon-action .seat {
  width: 35px;
  text-align: center;
}
.icon-action .counter {
  font-size: 12px;
  line-height: 12px;
}
.icon-action .title {
  font-size: 12px;
  line-height: 12px;
}

.carousel-control-prev-icon {
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
}
.carousel-control-next-icon {
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
}
.carousel .play-video {
  width: 38px;
  height: 38px;
  position: absolute;
  top: calc(50% - 15px);
  left: calc(50vw - 15px);
  border: 1px solid red;
  background-color: transparent;
}
.carousel .play-video i {
  color: red;
  font-size: 24px;
}
.carousel .unlock-inp {
  position: absolute;
  bottom: 0;
  width: 100%;
}
.carousel .unlock-inp input {
  display: block;
  margin: auto auto 50px auto;
  width: 100px;
  text-align: center;
}
.carousel .great-click {
  font-weight: 500;
  cursor: pointer;
}
.carousel .great-click::before {
  color: #9b9b9b;
  content: url("../../assets/heart-icon.png");
  padding-right: 5px;
}
.carousel .great-click::after {
  color: #9b9b9b;
  font-size: 18px;
  content: "個讚";
  padding-left: 5px;
}

.disp-ctrl {
  overflow-y: auto;
}

.marquee {
  color: var(--primary-text);
  height: 25px;
  border: none;
}
.marquee ul {
  padding: 0 10px;
}

.desktop .splash-cover .cover-title {
  font-size: 20px;
  padding: 2px 12px;
  border-radius: 15px;
}
.desktop .splash-cover .beauties {
  display: flex;
}
.desktop .search-pannel {
  padding: 10px 0;
}
.desktop .search-pannel .searchbtn {
  padding: 3px 10px;
}
.desktop .pannel-row {
  gap: 5px;
  padding: 2px 0;
}
.desktop .beauty-show {
  width: 430px;
  padding: 25px 25px;
}
.desktop .beauty-show img {
  width: 380px;
  height: 490px;
  border-radius: 40px 40px 0 0;
}
.desktop .beauty-show .show-inner {
  box-shadow: 0px 0px 35px 0px rgba(0, 0, 0, 0.3);
  border-radius: 40px;
}
.desktop .icon-action {
  width: 200px;
}
.desktop .marquee {
  margin-top: 15px;
}
.desktop #promo {
  margin-top: 30px;
}

.mobile .search-pannel {
  padding: 8px 0;
}
.mobile .search-pannel .sh-square {
  padding-bottom: 3px;
}
.mobile .search-pannel .charge-box {
  padding: 0 5px;
}
.mobile .search-pannel .searchbtn {
  padding: 0 10px;
}
.mobile .beauty-show {
  width: 100%;
  padding: 10px 0;
}
.mobile .beauty-show img {
  width: 100vw;
  height: 133vw;
  border-radius: 40px 40px 0 0;
}
.mobile .beauty-show .show-inner {
  box-shadow: 0px 0px 35px 0px rgba(0, 0, 0, 0.3);
  border-radius: 40px;
}
.mobile .beauty-show .HWCA {
  height: 24px;
}
.mobile .icon-action {
  width: 200px;
}
.mobile .marquee {
  margin-top: 5px;
}
.mobile #promo {
  margin-top: 30px;
}

.beauty-detail {
  width: 100%;
  position: relative;
  background-color: var(--bg-pink);
}
.beauty-detail .field-label {
  width: 100px;
}

.detail-info {
  color: var(--primary-text);
}
.detail-info .field-label {
  font-weight: bold;
}
.detail-info .serve-type {
  color: red;
}
.detail-info .HWCA {
  padding: 0 5px;
}
.detail-info .nation {
  color: var(--color1);
}
.detail-info .serve-cover {
  height: 24px;
  font-size: 14px;
  color: white;
  padding: 0 6px;
  border-radius: 6px;
  background-color: #ff4955;
}
.detail-info .features .feature {
  color: var(--second-text);
}

.charge-block .cover-charge {
  color: red;
}
.charge-block .cover-charge::before {
  content: "NT";
  font-size: 16px;
}
.charge-block .option {
  display: flex;
  gap: 5px;
}
.charge-block .opt-label {
  font-weight: bold;
}
.charge-block .cover-charge {
  font-size: 18px;
  padding-left: 20px;
}
.charge-block .cover-charge::before {
  font-size: 16px;
  content: "NT ";
}

.cmnt-block .cmnt-label {
  text-align: center;
  color: var(--title-text);
}
.cmnt-block .input-box {
  display: flex;
  gap: 5px;
}
.cmnt-block input {
  flex-grow: 1;
  border-radius: 5px;
  border: 1px solid var(--second-text);
}
.cmnt-block button {
  border-radius: 5px;
  border: none;
  color: white;
  background-color: var(--color1);
}
.cmnt-block .comment {
  color: var(--primary-text);
  padding: 2px 0;
  font-size: 14px;
  width: 100%;
}
.cmnt-block .memb-name::after {
  content: attr(time);
  text-align: right;
  float: right;
}
.cmnt-block .msg {
  overflow-wrap: break-word;
}

.bt-back-catwalk {
  text-align: center;
  color: white;
  background-color: var(--color1);
  border: none;
}

.separator {
  text-align: center;
}
.separator .title {
  color: var(--title-text);
}

.desktop #detailSection {
  border-radius: 3px;
}
.desktop .beauty-detail {
  display: flex;
  justify-content: space-between;
  height: 600px;
  padding: 30px;
}
.desktop .img-frame {
  width: 380px;
  height: 490px;
}
.desktop .detail-info {
  width: 520px;
}
.desktop .detail-info .info-row {
  padding: 5px 0;
}
.desktop .detail-info .beauty-name {
  flex-grow: 1;
  font-size: 32px;
  font-weight: 700;
}
.desktop .detail-info .HWCA {
  padding: 0 5px;
  font-weight: bold;
}
.desktop .detail-info .serve-type {
  font-size: 16px;
  font-weight: bold;
}
.desktop .detail-info .nation {
  font-size: 16px;
  line-height: 18px;
  padding: 2px 5px;
}
.desktop .detail-info .serve-cover {
  font-size: 13px;
  height: 22px;
  line-height: 15px;
  padding: 2px 5px;
  border-radius: 8px;
  color: white;
  background-color: #fd83ab;
}
.desktop .detail-info .feature {
  padding: 0 4px;
}
.desktop .detail-info .cover-charge {
  font-size: 30px;
  line-height: 40px;
  padding-left: 10px;
}
.desktop .detail-info .option-block {
  height: 100px;
}
.desktop .detail-info .service-block {
  height: 100px;
}
.desktop .detail-info .service-block .service {
  font-size: 14px;
  color: gray;
}
.desktop .detail-info .cmt-inp {
  width: 600px;
  border-radius: 5px;
}
.desktop .detail-info .cmt-send {
  width: 100px;
  padding: 10px 0;
  border-radius: 5px;
  color: white;
  background-color: #ffa31a;
}
.desktop .cmnt-block {
  width: 280px;
}
.desktop .cmnt-block .cmnt-label {
  text-align: center;
  font-size: 22px;
  font-weight: bold;
}
.desktop .cmnt-block .cmnt-wrap {
  max-height: 470px;
  overflow: auto;
}
.desktop .separator {
  text-align: center;
}
.desktop .separator .bt-back-catwalk {
  border-radius: 20px;
  padding: 7px 100px;
  margin-top: 15px;
  font-weight: 700;
}
.desktop .separator .title {
  margin-top: 30px;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
}

.mobile .img-frame {
  width: 100vw;
  height: 133vw;
}
.mobile .detail-info {
  padding: 10px 15px;
}
.mobile .detail-info .beauty-name {
  font-size: 22px;
  font-weight: 700;
}
.mobile .detail-info .cmt-label {
  color: #ffa31a;
}
.mobile .detail-info .cmt-send {
  width: 100px;
  padding: 10px 0;
  border-radius: 5px;
  color: white;
  background-color: #ffa31a;
}
.mobile .cmnt-block {
  padding: 0 15px;
}
.mobile .cmnt-block .cmnt-wrap {
  max-height: 200px;
  overflow: auto;
}
.mobile .cmnt-block input {
  flex-grow: 1;
  border-radius: 5px;
}
.mobile .cmnt-block button {
  border-radius: 5px;
}
.mobile .separator {
  text-align: center;
}
.mobile .separator .bt-back-catwalk {
  border-radius: 20px;
  padding: 7px 100px;
  margin-top: 20px;
  font-weight: 700;
}
.mobile .separator .title {
  margin-top: 30px;
  text-align: center;
  color: var(--title-text);
  font-size: 28px;
  font-weight: 700;
}

.info-mainbg {
  background-color: var(--bg-pink);
}

.info-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  padding-top: 20px;
}
.info-wrap .info-box {
  background-color: white;
  border-radius: 8px;
  padding: 4px;
  box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.1);
}
.info-wrap .info-title {
  font-size: 32px;
  line-height: 32px;
  padding: 5px 0;
  font-weight: bolder;
  text-align: center;
  color: var(--title-text);
}

.desktop .info-banner {
  height: 350px;
}
.desktop .info-banner .info-carousel-img {
  height: 350px;
  width: 100%;
}
.desktop .info-banner .caption {
  top: 140px;
  position: absolute;
  width: 100%;
  color: white;
  text-align: center;
  font-weight: 700;
}
.desktop .info-banner .page-title {
  font-size: 44px;
}
.desktop .info-banner .sub-title {
  font-size: 26px;
}
.desktop .info-banner .info-box {
  width: 300px;
}
.desktop .info-album img {
  width: 380px;
  height: 490px;
  border-radius: 40px 40px 0 0;
}

.mobile .info-banner {
  height: 300px;
}
.mobile .info-banner .info-carousel-img {
  height: 300px;
  width: 100%;
}
.mobile .info-box {
  width: 100%;
  padding: 0 5px;
}
