:root{
    --gc-primary: #02B5BA;
    --gc-overlay: #5734e44a;
    --gc-text:#222;
    --gc-bg-gray:#F5F5F7;
}

body{
  background-color:var(--gc-bg-gray)!important;
}
.fs-32{
    font-size: 32px!important;
}

.fs-26{
    font-size: 26px!important;
}

.fs-24{
    font-size: 24px!important;
}

.fs-18{
    font-size: 18px!important;
}

.fw-700{
    font-weight: 700;
}

.fw-600{
    font-weight: 600;
}

.fw-500{
    font-weight: 500;
}

.fw-400{
    font-weight: 400;
}

.pr-0{
  padding-right: 0!important;
}

.text-justify{
  text-align:justify!important;
}

.h-50px{
  height:50px!important;
}

.fc-primary{
  color:var(--gc-primary)!important;
}

.fc-white{
  color:white!important;
}

.bg-white{
  background-color:white!important;
}

.gc-bg-primary{
  background-color:var(--gc-primary)!important;
}

.w-100{
  width:100%!important;
}
/* End of define*/

/* (已移除 Elementor header/footer sticky 死選擇器；頁首改由主題 .gc-site-header 負責 sticky) */


.home-link{
  color:#222;
}

.search-box .card{
  box-shadow:none;
  border:1px solid #eee;
}

.search-box .card-header p{
  font-size: calc(1.2625rem + 0.15vw);
  font-weight: 400;
  line-height: 1.1;
  color: #222;
}

#start-search{
  padding: 0px 20px;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

#site_logo{
  display:block;
  max-width:200px;
  margin:0 auto;
  text-align:center;
}

#sidelinks {
  position: fixed;
  right: 0px;
  bottom: 120px;
  max-width: 100px;
  z-index: 50;
  display: flex;
  flex-direction: column-reverse;
  padding-bottom: 60px; /* 给容器增加底部填充，确保伪元素不影响布局 */
}

/* 伪元素，用于扩展感应区域 */
#sidelinks::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 60px;
  height: 140px; /* 覆盖整个展开区域 */
  z-index: 98; /* 确保在所有子元素之下 */
}

/* 所有子元素默认堆叠在一起，只显示 .main */
#sidelinks a.sub {
  position: absolute;
  right: 0;
  bottom: 0;
  opacity: 0;
  transform: translateY(60px); /* 将子元素隐藏在 .main 之下 */
  transition: all 0.3s ease;
}

/* 主按钮 */
#sidelinks a.main {
  z-index: 100;
}

/* 当鼠标悬停在整个容器时，展示子元素 */
#sidelinks:hover a.sub {
  opacity: 1;
}

/* 子元素按顺序排列 */
#sidelinks:hover a.sub:nth-of-type(2) {
  transform: translateY(-123px); /* 第一个子元素向上移动 */
}

#sidelinks:hover a.sub:nth-of-type(3) {
  transform: translateY(-186px); /* 第二个子元素向上移动 */
}

/* 链接的公共样式 */
#sidelinks a {
  display: block;
  width: 60px;
  height: 60px;
  margin-bottom: 10px;
  transition: all 0.3s;
}

#sidelinks a:hover {
  opacity: .5;
}

.single-post h2{
  background-color: #02b5ba;
  color: white;
}

.master_results .icon.more{
    position: absolute;
    width: 40px;
    height: 40px;
    right: -100%;
    left: -100%;
    top: -60%;
    bottom: -100%;
    margin: auto;
    opacity: 0;
    background: #fff;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.single-master .master-badges,
.master_results .tags{
  min-height: 61px;
  border-radius: 0px 0px 10px 10px;
}

.single-master .master-badges,
.master_results .tags.bg{
  padding: 18px 0px 0px 0px;
  background: transparent linear-gradient(180deg, #02B5BA 0%, #93F7B3 100%) 0% 0% no-repeat padding-box;
  text-align: left;
  margin-bottom: 0px;
}

.single-master .master-badges .badge,
.master_results .tags .tag{
  display:inline;
  background: #FFFFFF 0% 0% no-repeat padding-box;
  border-radius: 21px;
  padding: 6px 10px;
  color: var(--gc-primary);
  font: normal 20px/29px Noto Sans TC;
  margin:10px 5px;
  opacity:1;
}

.edit-favorite{
    display: inline-block;
    cursor:pointer;
}
.edit-favorite:hover{
    /*animation: heartBeat 1s infinite;*/
}

.gc-block-message.show{
    z-index:9999!important;
    border:1px solid #222!important;
}

.ribbon {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    overflow: hidden;
    width: 75px;
    height: 75px;
    text-align: right
}
.ribbon span {
    font-size: 16px;
    font-weight: bold;
    color: #FFF;
    text-transform: uppercase;
    text-align: center;
    line-height: 20px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    width: 100px;
    display: block;
    background: #79A70A;
    background: linear-gradient(#9BC90D 0%, #79A70A 100%);
    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
    position: absolute;
    top: 14px;
    left: -26px;
}

.comment_count_area{
    position: absolute;
    right: 5px;
    background-color: #ff92f7;
    padding: 5px 10px;
    top: 5px;
    border-radius: 5px;
    color: #fff;
    z-index:1;
}

div.master_link,
div.master_link .image,
.master-info,
.gallery-container .main{
    position: relative;
}

.gallery-container .sub .item{
  flex: 0 0 25%;
  margin-right:10px;
}

#master-images .gallery-container .sub .item{
  max-height:80px;
}

#hall-list .card-body{
  position: relative;
}

.master_count{
  position: absolute;
  right: 0px;
  top: -60px;
  width: 124px;
  height: 124px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
}

#hall-list .master_count .amount{
  font-size: 40px;
}

#hall-list .master_count .unit{
  font-size: 20px;
}

#hall-list .card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 8px;
}

#hall-list .card-img-top {
    width: 100%;
    height: 100%;
    border-radius:8px 8px 0 0;
    object-fit:cover;
}

#hall-list .card-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

#hall-list .card-body a.more {
    margin-top: auto;
}

#full-width{
  background-attachment: fixed;
}

#hall-list a.more {
  font-size: 16px;
  font-weight: 400;
  fill: var(--gc-primary);
  color: var(--gc-primary);
  background-color: var(--gc-overlay);
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: var(--gc-primary);
  border-radius: 10px 10px 10px 10px;
  padding: 5px 40px 7px 40px;
  width:50%;
}

#hall-list a i{
  margin-left: 15px;
}

#hall-list a i:before{
  position:relative;
  top:1px;
}

#hall-list a.more:hover {
    background-color: var(--gc-primary);
    color: #fff;
}

.hall.card{
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
}

.hall .card-title{
  color: var(--gc-text);
  font-size: 22px;
  font-weight: 600;
}

.hall .card-text{
  color: var(--gc-text);
  font-size: 16px;
  font-weight: 400;
}

.sub-title h1{
  color: var(--gc-text);
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}

/* 標籤的ribbon */
.ribbon_1 {
  width: 260px;
  height: 40px;
  margin: -50px auto 0px;
  position: relative;
  color: #fff;
  font: 28px / 40px sans-serif;
  text-align: center;
  text-transform: uppercase;
  background: #3D79D0;
  -webkit-animation: main 250ms;
  -moz-animation: main 250ms;
  -ms-animation: main 250ms;
  animation: main 250ms;
  z-index: 0;
}

.ribbon_1 i {
  position: absolute;
}

.ribbon_1 i:first-child, 
.ribbon_1 i:nth-child(2) {
  position: absolute;
  left: -40px;
  bottom: -10px;
  z-index: 0;
  border: 20px solid transparent;
  border-right-color: #043140;
  -webkit-animation: edge 500ms;
  -moz-animation: edge 500ms;
  -ms-animation: edge 500ms;
  animation: edge 500ms;
  display: none;
}

.ribbon_1 i:nth-child(2) {
  left: auto;
  right: -40px;
  border-right-color: transparent;
  border-left-color: #043140;
  display: none;
}

.ribbon_1 i:nth-child(3), .ribbon_1 i:last-child {
  width: 20px;
  bottom: -10px;
  left: -40px;
  z-index: -2;
  border: 20px solid #1D53C0;
  border-left-color: transparent;
  -webkit-animation: back 600ms;
  -moz-animation: back 600ms;
  -ms-animation: back 600ms;
  animation: back 600ms;
  -webkit-transform-origin: 100% 0;
  -moz-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.ribbon_1 i:last-child {
  bottom: -12px;
  left: auto;
  right: -40px;
  border: 20px solid #1D53C0;
  border-right-color: transparent;
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}

.read-only-ratings{
  display: inline-block !important;
  top: -3px;
}

a.master-btn{
  display: block;
  margin: 0px auto;
  padding: 10px 20px;
  color: #fff;
  font-size: 18px;
  border-radius: 50px;
  transition:all .3s;
}

a.master-btn.view-master{
  background-color: #02b5ba;
  border:1px solid #02b5ba;
  width: 50%;
}

a.master-btn.booking-master{
  background-color: #f8b500;
  border:1px solid #f8b500;
}

a.master-btn.view-master:hover{
  background-color: #fff;
  color: #02b5ba;
}

a.master-btn.booking-master:hover{
  background-color: #fff;
  color: #f8b500;
}

.master-info-1{
  color:#02b5ba;
}

#suya-bg-overlay{
	opacity: .5;
	min-height:150px; /* 2026-07 用戶要求:hero 高度縮小 50%(原 300px) */
}

#suya-header .container{
  position: absolute;
  top:50%;
  transform: translateY(-50%); /* 2026-07 hero 半高後改垂直置中(原 top:100px 為 300px 高度設計) */
  left:20%;
}

#suya-header{
  color:#000;
  position: relative;
}

#suya-header .en-title{
  position: relative;
  top:10px;
  left: 10px;
}

#suya-header .bar{
  width: 50px;
    height: 6px;
    background-color: var(--gc-primary);
}

.master-badges{
  padding: 10px 0px;
}
.master-badges .badge{
  width: 100px;
  padding: 10px 12px;
  border-radius: 4px;
  font-size: 20px;
  color: #222;
  height: auto;
  min-height: 40px;
}
.master-badges .badge1{
  background-color: #FFCF55;
}
.master-badges .badge2{
  background-color: #FFFAE3;
}

.master_results .master_link .card{
  border-radius:10px;
}

.master_results .master_link .master-img{
  border-top-right-radius:10px;
  border-top-left-radius:10px;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}


.master_results .master_link .master-img{
  border-top-right-radius:10px;
  border-top-left-radius:10px;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}

/*gc_lia 當日班表第三個樣板 圖片*/
.table-chart-view .master-img{
  position: relative!important;
  aspect-ratio: 1/1;
  width:100px;
}

/* 沒有照片時的佔位塊（2026-08-18）。
   沿用 .master-img 的定位與尺寸，只補背景與置中的首字，版面完全不變。
   為什麼需要：附件遺失時 gc_card_img_url() 會回空字串，若照舊輸出 <img src="">
   瀏覽器會畫出破圖圖示。demo 有 590 位美容師屬於這種狀況；正式站目前正常，
   這是「萬一附件被刪」的保險。 */
.master_results .master_link .master-img--none,
.table-chart-view .master-img--none{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eceff1;
  color:#90a4ae;
  font-weight:700;
  user-select:none;
}
.master_results .master_link .master-img--none span{ font-size:2rem; line-height:1; }
.table-chart-view .master-img--none span{ font-size:1.25rem; }


.master_results.grid-view .master_link .image{
  max-height: 400px;
  overflow: hidden;
}

.master_results .extra-info{
  margin: 0px auto;
  width: 85%;
  text-align:center;
}
.extra-info .card-text{
  margin-bottom:0px;
}
.master_results .extra-info .label{
  font: normal 18px/32px Noto Sans TC;
  font-weight:bold;
  margin-right:10px;
}
.master_results .extra-info .number{
  font-weight:bold;
  font: normal bold normal 16px/32px Noto Sans TC;
}
.master_results .master-info-1{
  font: normal normal normal 16px/32px Noto Sans TC;
  color:#888;
}

#filter-form{
  margin-bottom:15px;
}

#filter-form input{
  background: #FFFFFF 0% 0% no-repeat padding-box;
  border: 1px solid #333333;
  border-radius: 8px;
}

#filter-form #filter-field i{
  position: absolute;
  top: 6px;
  right: 18px;
}

#last_updated_time{
  color:#E21958;
  align-content: end;
  margin-top:10px;
}

#schedule_tabs .nav-link h2{
  font: normal normal bold 16px/24px Noto Sans TC;
}

#schedule_tabs .nav-link.active,
#schedule_tabs .nav-link.active h2{
  background-color:var(--gc-primary);
  color:white;
  border-radius:8px 8px 0 0;
}

/* GC_minos: top bar menu */
.suya-top-bar-menu .menu-item{
  background: transparent linear-gradient(180deg, #93F7B3 0%, var(--gc-primary) 100%) 0% 0% no-repeat padding-box;
  border-radius: 25px;
  color: white;
  padding: 5px 9px;
  margin-right: 10px;
  flex: 1 1 16%;
  text-align: center;
  transition: all .3s;
  border: 1px solid var(--gc-primary);
}

.suya-top-bar-menu .menu-item:hover{
  background:white;
  color:var(--gc-primary);
}
/* gc_louis: 漢堡選單 */
.top-bar-header .right-side-block{
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* gc_louis: 漢堡選單點選後到測邊欄 */
.side-bar-mask{
  display: none;
}
.side-bar-mask.active{
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9998;
}

.side-bar{
  display: none;
}
.side-bar.active{
  display: block;  
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 400px;
  height: 100%;
  background-color: #fFFFFF;
  z-index: 99999;
  overflow: hidden;
}
.side-bar-close{
  position: absolute;
  top:10px;
  right: 10px;
  margin: 15px;
  cursor: pointer;
}
.link-container{
  position:absolute;
  top: 114px;
  left: 30px;
}
.content-container{
  margin-bottom: 3vh;
}
.side-bar-content{
  font-weight: 500;
  font-size: 20px;
  color: #222222;
}



.single-master .main-image,
.master-info.tag_1 .image,
.master-info.tag_2 .image,
.master-info.tag_3 .image{
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}

.single-master .tag_1 .main-image,
.master-info.tag_1 .image{
  box-shadow:0px 0px 15px #892AC5;
}

.single-master .tag_2 .main-image,
.master-info.tag_2 .image{
  box-shadow:0px 0px 15px #E62673;
}

.master-info .master-basic h5,
.master-info .master-basic .master-name,
.master-info .master-basic p{
  margin-bottom:5px;
  margin-left:5px;
  text-wrap: nowrap;
}

.master-basic .halls{
  display:inline-block;
}

.master-info .tag-img{
  /* position: relative; */
  top: 20px;
  width:100px;
  height:100px;
}

.master-info .master-name{
  display:inline-block;
  font-size:16px;
  width:auto;
}

.master-info .hall-name{
  padding:3px 5px;
  margin-right:3px;
  border-radius:5px;
}
/* 跨 3~4 館時,卡片只放得下兩個徽章,其餘以「+N」表示(完整館別在美容師頁)。
   用灰底與館別徽章區隔,尺寸一致所以不影響原本的版面寬度。 */
.master-info .hall-name.hall-more{
  background:#e8eaed;
  color:#5f6368;
  font-weight:600;
}

p.empty{
  min-height:300px;
}
p.empty2{
  min-height:100px;
}
p.empty.full-height{
  min-height:50vh;
}

#hall-list .hall-image{
  height:200px;
  overflow:hidden;
}

.suya-top-bar-menu {
  display: flex;
  position: static;
  flex-direction: row; /* 在桌面上橫向排列 */
  box-shadow: none;
}
#menu-toggle {
  display: none;
}

#loading-more{
  margin:0 auto;
}

/* .search-bar{
  width:auto;
  text-align: right;
  position: absolute;
  top: -58px;
  right: 24px;
} */
.search-bar .icon-search{
  width: 25px;
  height: 25px;
  background: transparent linear-gradient(180deg, #93F7B3 0%, var(--gc-primary) 100%) 0% 0% no-repeat padding-box;
  text-align: center;
  padding-top: 3px;
  color: white;
  border-radius: 5px;
  transition:all .3s;
}

.search-bar .icon-search:hover{
  background:white;
  border:1px solid var(--gc-primary);
  color:var(--gc-primary);
}
.top-bar-container{
  display: flex;
  flex-direction: row;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
.top-bar-header {
  position: absolute;
  top: -58px;
  left: -20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 60px; /* 可依需求調整 */
  padding-left:10px;
  width: 100%;

}



.top-bar-header .line-login, 
.top-bar-header .search-bar {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    text-align: left;
    margin: 0;
    color: #888;
}
.mobile-show{
  display:none;
}
/* .line-office-url{
  width: 60px;
  height: 60px;
} */

.line-icon{
  width: 24px;
  height: 24px;
}

.top-bar-header .search-bar {
  text-align: right;
}

/* List/Grid切換 */
.master_results .master-info{
  position: relative;
}

/* 切換為列表樣式 */
.master_results.list-view .master-info {
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: row;
  padding: 10px 15px;
  margin-bottom: 0!important;
}

/* 將圖片和標籤區塊包裹在一起，讓標籤區塊可以緊貼在圖片右邊 */
.master_results.list-view .master-info .image-tags-container {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 0;
}

.image-tags-container .image:before{
  padding-bottom: 120%;
  content: "";
  display: block;
  width: 100%;
}

/* 圖片縮小 */
.master_results.list-view .master-info .image {
  max-width: 100px;
  max-height: 134px;
  overflow: hidden;
  box-shadow: unset;
  width: 100px;
}

.master_results.list-view .extra-info{
  flex: 0 0 180px;
  align-self: center;
}

.master_results.list-view .available-hours{
  flex: 1 1 auto;
  align-self: center;
}

/* list 檢視不顯示「更多」鈕（暱稱可點;避免壓縮時段） */
.master_results.list-view .view-master{
  display: none;
}

.master_results.list-view .master-detail{
  flex: 1 1 auto;
  min-width: 0;
}
.master_results.list-view .master-detail .master-tag{
  text-align: left!important;
}

.master_results.list-view .extra-info .label{
  margin-right: 0;
}

.master_results.list-view .rating .number{
  display: block;
}

/* 標籤緊貼在圖片右邊 */
.master_results.list-view .master-info .tags {
  padding: 15px 10px 0 9px;
  width: 100%;
}

/* 卡片內容在列表模式下獨立佔一行 */
.master_results.list-view .master-info .card-body {
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 18px;
}

.master_results.list-view .master_link,
.master_results.list-view .master-info .card-body .card-text {
  width: 100%;
}

.master_results.list-view .card{
  flex-direction: row;
  align-items: center;
  gap: 18px;
}

.master_results.list-view .master-tag.no-tag,
.master_results.list-view .extra-info-hr{
  display: none;
}

.master_results.list-view .master-btns .col-6,
.master_results.list-view .master-basic.no-tag{
  width: 100% !important;
}

.master_results.list-view .list-view-hidden{
  display: none;
}

.contact-buttons{
  /* 取消隱藏電話諮詢和line 諮詢 */
  display: flex; 
  /* display: none; */
  justify-content: center;
  gap: 20px;
}

.contact-buttons a{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5em;
  background-color: transparent;
  background-image: linear-gradient(180deg, #FFD63A 0%, #F75A5A 100%);
  border-radius: 10px 10px 10px 10px;
  color: white;
  flex: 50%;
  max-width: 430px;
  text-align: center;
  padding: 10px 0px;
  transition: all .3s;
}

.contact-buttons a:hover{
  background-image: linear-gradient(180deg, #F75A5A 0%, #FFD63A 100%);
}


.no-right-click{
  user-select: none;
}
/* animations */

@-webkit-keyframes main {
  0% { -webkit-transform: scaleX(0); }
  100% { -webkit-transform: scaleX(1); }
}

@-webkit-keyframes edge {
  0%, 50% { -webkit-transform: scaleY(0); }
  100% { -webkit-transform: scaleY(1); }
}

@-webkit-keyframes back {
  0%, 75% { -webkit-transform: scaleX(0); }
  100% { -webkit-transform: scaleX(1); }
}


@-moz-keyframes main {
  0% { -moz-transform: scaleX(0); }
  100% { -moz-transform: scaleX(1); }
}

@-moz-keyframes edge {
  0%, 50% { -moz-transform: scaleY(0); }
  100% { -moz-transform: scaleY(1); }
}

@-moz-keyframes back {
  0%, 75% { -moz-transform: scaleX(0); }
  100% { -moz-transform: scaleX(1); }
}


@keyframes main {
  0% { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}

@keyframes edge {
  0%, 50% { transform: scaleY(0); }
  100% { transform: scaleY(1); }
}

@keyframes back {
  0%, 75% { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}

@keyframes heartBeat {
    0% {
        transform: scale(1);
    }
    14% {
        transform: scale(1.3);
    }
    28% {
        transform: scale(1);
    }
    42% {
        transform: scale(1.3);
    }
    70% {
        transform: scale(1);
    }
}


.table-chart-tag-group{
  display: none;
}

/* 切換 table-chart */

.tab-pane.fade.show.active{
  margin:10px;
} 

.master_results.table-chart-view{
  background-color: #FFFFFF;
}

.master_results.table-chart-view .non-table-chart-tags{
  display: none;
}
.master_results.table-chart-view .table-chart-tag-group{
  display: block;
  padding: unset;
}

.master_results.table-chart-view .master_link .master-img {
  max-width: 200px;
  box-shadow: unset;
  border-radius: 4px;
}
.master_results.table-chart-view .master-info.tag_1 .image{
  box-shadow: none;
}

.master_results.table-chart-view .master-info {
  width: 100%;
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  margin-bottom: 0!important;
  padding: 0px;
}
.master_results.table-chart-view .master_link{
  width: 100%;
  min-height: 0;
  height: auto;
  padding: 6px 12px;
}

.master_results.table-chart-view .table-chart-container{
  min-height: 0;
  align-items:center;
}

.master_results.table-chart-view .master-info .image-tags-container {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.master_results.table-chart-view .master-basic .halls,
.master_results.table-chart-view .master-basic .card-text{
  margin-left: 0;
}
.master_results.table-chart-view .master-btns .col-6{
  width: 50% !important;
  padding: 0px 5px;
}

.master_results.table-chart-view .row.master-btns{
  width: 100% !important;
  flex: 1;
  padding: 0px 15px;
}
.master_results.table-chart-view .view-master{
  height: 50px;
  flex: 0 0 15%;
  align-self: center;
}

.master_results.table-chart-view  .table-chart-title {
  display: flex;
  background: linear-gradient(#93F7B3, #02B5BA);
  color: #fFFFFF;
  font-weight: 500;
  size: 12px;
  padding-bottom: 10px;
  padding-top: 10px;
}

.master_results.table-chart-view .master_link.table-chart-hidden{
  display: none;
}

.master_results.grid-view .master_link.table-chart-show,
.master_results.list-view .master_link.table-chart-show{
  display: none;
}

/* table-chart 檢視：照片更小更密、間距縮小、時段欄取得空間 */
.master_results.table-chart-view .master_link .master-img { max-width: 96px; }
.master_results.table-chart-view .table-chart-container { flex-wrap: nowrap; }
.master_results.table-chart-view .schedule-list-container { flex: 1 1 auto; min-width: 0; }
.master_results.table-chart-view .desc-container { margin-top: 0; }
.master_results.table-chart-view .desc-container .description { margin: 0; font-size: 13px; line-height: 1.5; }
.master_results.table-chart-view .name-hall-container .master-name,
.master_results.table-chart-view .price-body-info-container { line-height: 1.45; }
@media (max-width: 768px) {
  /* 手機：照片縮小、列更密、左右內距更小 */
  .master_results.table-chart-view .image.table-chart-item.col-2 { flex: 0 0 52px; max-width: 52px; }
  .master_results.table-chart-view .master_link { padding: 5px 8px; }
  .master_results.table-chart-view .table-chart-item { padding-left: 4px; padding-right: 4px; }
  .master_results.table-chart-view .desc-container .description { font-size: 12px; }
  .master_results.table-chart-view .desc-container { padding-left: 4px; padding-right: 4px; }
}

.table-chart-show.master_link {
  padding: 8px;
  border-bottom: 1px solid #cccccc;
}

/*gc_lia 最後一筆資料 底線移除*/
.table-chart-show.master_link:last-of-type {
  border:none!;
}
.table-chart-show .master-data-container{
  padding-bottom: 5px;
}
.table-chart-show .desc-container{
  /* padding-bottom: 10px; */
}
.table-chart-show .desc-container .master-desc{
  padding-left: 13px;
  font-size: 13px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-bottom: 0px;
  margin-bottom: 0px;
}

.table-chart-show .desc-container .master-desc .description{
  text-align: left;
}
.table-chart-show .desc-container .master-desc .inner_description{
  margin-bottom: 0px;
}


.master_results.grid-view .master_link.table-chart-hidden,
.master_results.list-view .master_link.table-chart-hidden{
  display: block;
}

/* grid 檢視：卡片資訊靠左（館別/暱稱/身材/國籍/單價/可預約時段） */
.master_results.grid-view .master-basic,
.master_results.grid-view .master-basic .halls,
.master_results.grid-view .master-basic .master-name,
.master_results.grid-view .master-basic .card-text,
.master_results.grid-view .available-hours {
  text-align: left !important;
}
/* grid：暱稱接在館別右側、同一行 */
.master_results.grid-view .master-basic .halls {
  margin-right: 6px;
  margin-bottom: 0;
  vertical-align: middle;
}
.master_results.grid-view .master-basic .master-name {
  width: auto !important;
  vertical-align: middle;
}


.master_results .table-chart-title-container{
  display: none;
}
.master_results.table-chart-view .table-chart-title-container{
  display: block;
}
.master_results.table-chart-view .master-info .master-tag{
  width: 100%;
}  
.master_results.table-chart-view .master-info .tag-img{
  top:unset;
  width: 100%;
  height: 65%;
}
.master_results .week-schedule-item
{
  white-space: nowrap;
  padding-left: 10px;
  /* overflow: hidden;
  text-overflow: ellipsis; */
}

.table-chart-item {
  padding-bottom: 5px;
}

.table-chart-item .price-value,
.table-chart-item .body-text{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: unset;
  width: 100%;
}
.table-chart-item .halls{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.table-chart-item{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.table-chart-item .week-schedule-list .week-schedule-item{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.table-chart-item .week-schedule-list .week-schedule-item .clock{
    margin-right: 3px;
}
.table-chart-item .main-image, .master-info.tag_2 .image{
  box-shadow: none;
}


/* 美容師篩選日期選項 */
.schedule-option-group{
  display: flex;
}


/*  stories 樣式 */


#story-switch-button-container{
  padding-top: 30px;
}
.story-switch-button-group{
  width: 340px;
  border-radius: 100px;
  height: 34px;
}
.story-switch-button-group .btn.filter-btn{
  width: 160px;
  border-radius: 100px;
  font-weight: 500;
  font-size: 16px;
  padding: 10px 60px;
  background-color: #FFFFFF;
  color: #888888;
  border: none;
}
.story-switch-button-group  .btn.filter-btn.active{
  background:  linear-gradient(#93F7B3, #02B5BA);
  color: #FFFFFF;
  border: none;
}
.story-switch-button-group .filter-btn.active:hover {
  background: white !important;
  color: var(--gc-primary) !important;
  border: none !important;
}

.stories-container{
  padding-top: 30px;
  gap: 40px;
}
.stories-container .story-card{
  border-radius: 16px;
  box-shadow: 0 0 20px 10px rgba(0,0,0,0.1);
  overflow: hidden;
  background-color: #FFFFFF;
  /* min-height: 695px; */
  width: 100%;
  max-width: 400px;
}


.story-card .master-image a{
  padding: 0;
}

.story-card .master-image img{
  padding: 0;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.story-card .master-image {
  position: relative;
  
}
.swiper-wrapper{
  max-height: 500px;
}
.new-master-img1 {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 12px;
  width: 80px; 
  height: 80px; 
  background-size: contain;
  background-repeat: no-repeat;
}
/* 限時動態new位置修正 */
.story-card .master-image .new-master-img1 {
  left: 15px;
  z-index: 12px;
}
.story-card .master-tags{
  margin: 22px;
}

.story-card .master-tags:not(:has(.tag)) {
  margin-top: 0px;
}

.story-card .master-tags .tags .tag{
  border: 1px solid #02B5BA;
  background-color: #FFFFFF;
  padding: 4px 10px;
  border-radius: 100px;
  color: #02B5BA;
  font-size: 16px;
  margin-left: 10px;
}
.story-card .story-content-container{
  margin-bottom: 25px;
  padding:0 12px;
  color: #222222;
}
.story-card .story-content-container .story-content{
  margin-bottom: 10px;
  overflow-wrap: break-word; /* 或 word-wrap: break-word; 舊寫法 */
  word-break: break-word;
}

.story-card .story-content-container .created-at{
  margin-bottom: 10px;
  color: #9E9E9E;
}


.story-background {
  background-color:#f9f9f9;
  position: relative;
  z-index: 0;
  /*  限時動態背景linear-gradient 版本  */
  /* background: linear-gradient(150deg, #02B5BA 0%, #93F7B3 8%, #9bf6b8f5 15%, #f9f9f9 30%,  #fFFFFF 50%,  #f9f9f9 70%, #9bf6b8f5 85%, #93F7B3 92%,  #02B5BA 100%);
  background-attachment: fixed; 
  background-repeat: no-repeat;
  background-size: cover; */
}

/* 限時動態背景 圖片 版本 */
.story-background::before,
.story-background::after {
  
  content: "";
  position: fixed;
  width: 100vw; 
  height: 100vh;  
  z-index: -1;
  background-size: 1000px;
  pointer-events: none;
  opacity: 1; 
}

.story-background::before {
  left: 0;
  top: 30px;
  transform: none;
}

.story-background::after {
  right: 0;
  bottom: 0;
  transform: rotate(180deg);
}

.image-count-container{
  display: flex;
  justify-content: center;
  position: relative;
  top: -20px;
}
.image-count-container .dot{
  box-sizing: border-box;
  height: 10px;
  width: 10px;
  border: #FFFFFF 1px solid;
  background: #FFFFFF;
  border-radius: 10px;
  margin-right: 10px;
}

.image-count-container .active{
  background: #02B5BA;
}


/* gc_louis 收藏美容師 設定區域 */
.favorite-setting {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  padding: 24px;
  max-width: 1200px;
  margin: 20px auto;
  margin-bottom: 50px;
}

.favorite-setting .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.favorite-setting .notify-title {
  display: flex;
  align-items: center;
}

.favorite-setting .notify-icon, .notify-text,
.line-office-url {
  display: flex;
  font-size: 22px;
  margin-right: 8px;
  align-items: center;
  color: white;
}
.favorite-setting .add-line-friend-btn{
  background-color: #00bcd4;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;

}

.favorite-setting .notify-text {
  font-size: 18px;
  font-weight: 500;
}

.favorite-setting .notify-desc {
  margin-bottom: 20px;
  color: #333;
}

.favorite-setting .setting-block {
  display: flex;
  align-items: center;
  gap: 10px;
}

.favorite-setting .setting-label {
  width: auto;
  font-weight: 400;
}

.favorite-setting .setting-select,
.favorite-setting .setting-save-btn {
  height: 44px; /* 統一高度，依你設計調整 */
  box-sizing: border-box;
  font-size: 16px;
}
.select-content{
  display: flex;
  align-items: center;
  gap: 5px;
}
.favorite-setting .select-container {
  min-width: 150px; 
}

.favorite-setting .setting-select {
  padding: 6px 12px;
  border-radius: 4px;
  border: 1px solid #ccc;
}

.favorite-setting .setting-tilde {
  margin: 0 4px;
}

.favorite-setting .setting-save-btn {
  background: #19c3c1;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 8px 28px;
  font-size: 16px;
  margin-left: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.set-notify{
  position: absolute;
  justify-content: end;
  right: 10px;
  display: flex;
  align-items:start;
  color: #00bcd4;
  width:fit-content;
  cursor: pointer;
}

/* 彈出式公告 */
.modal-overlay {
  position: fixed;
  top: 0; 
  left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.announce-modal {
  background: #fff;
  padding: 24px;
  width: 90%;              
  max-width: 480px;
  border-radius: 8px;
  position: relative;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  text-align: center;
}

.announce-close-btn {
  position: absolute;
  top: 8px; right: 8px;
  width: 44px; height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: #888;
  cursor: pointer;
  border-radius: 50%;
  transition: background 0.2s;
}

.announce-close-btn:hover {
  background: #f0f0f0;
  color: #000;
}

.announce-modal-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 12px;
}
/* gc_louis : 排行榜背景圖案隱藏溢出*/
#top-master-content{
  position: relative;
  overflow: hidden;
}
/* gc_louis 公告輪播 */
.newest-announce-carousel-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.announce-carousel{
  display: flex;
  align-items: center;
  border: 2px solid #00acc1;
  font-family: Arial, sans-serif;
  width: 100%;
  max-width: 1096px;
  overflow: hidden;
}

.carousel-title {
  color: white;
  min-height: 40px;
  min-width: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
  margin-right: 8px;
  white-space: nowrap;
}

.carousel-wrapper {
  display: flex;
  align-items: center;
  flex: 1;
  overflow: hidden;
  position: relative;
}

.carousel-content {
  display: flex;
  transition: transform 0.3s ease-in-out;
  white-space: nowrap;
  min-width: 100%;
}

.newest-announce-carousel-container .carousel-item {
  display: block;
  margin: unset;
  flex-shrink: 0;
  min-width: 100%;
  padding: 0 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.newest-announce-carousel-container .carousel-item a {
  color: #333;
  font-weight: 500;
  size: 16px;
  display: inline-block;
  width: 100%;
}

/* 跑馬燈模式下的 a 標籤樣式 */
.newest-announce-carousel-container .carousel-item.marquee a {
  width: auto;
  white-space: nowrap;
  display: inline-block;
}

/* 跑馬燈效果 */
.newest-announce-carousel-container .carousel-item.marquee a {
  animation: marquee 8s linear infinite;
  animation-play-state: paused; /* 預設暫停，由 JS 控制播放 */
}

.newest-announce-carousel-container .carousel-item.marquee:hover a {
  animation-play-state: paused !important; /* 滑鼠懸停時強制暫停 */
}

@keyframes marquee {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(calc(-100% - 50px));
  }
}

/* (已移除針對 Elementor post-info 的作者欄位隱藏規則；Elementor 已移除，無對應元素) */

/* 移動設備上的跑馬燈優化 */
@media (max-width: 768px) {
  
  .carousel-wrapper {
    overflow: hidden !important; /* 確保移動設備上的溢出隱藏 */
  }
}


.carousel-arrow-container {
  display: flex;
}

.arrow {
  background-color: #00acc1;
  border: none;
  color: white;
  padding: 4px 8px;
  width: 44px;
  height: 40px;
  font-size: 16px;
  cursor: pointer;
}


/* gc_louis 最新留言style */
.comment-card{
  background-color:white;
  border-radius:10px;
  padding: calc(var(--bs-gutter-x) * 0.5)
}

.comment-card .master-name{
  font-weight: 500;
  font-size: 20px;
  color:#222;
  margin-right: 10px;
  margin-bottom: 10px;
}

.comment-card .comment-content-container{
  background-color:#FFFAF6; 
  border-radius:10px;
  padding: 12px;
}

.comment-card .hall-list .hall{
  margin-right: 10px;
}


.comment-card a.hall-name{
  background-color:var(--gc-primary);
  border:1px solid var(--gc-primary);
  padding:4px 10px;
  border-radius:4px;
  color:white;
  transition:all .3s;
  margin-bottom:10px;
}

.comment-card .rate-container{
  display: flex
}

.comment-card .rate-label {
  height: 100%;
  color:#222;
  padding-left: unset;
  white-space: nowrap;
}

.comment-card .rate-item {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
}
.comment-card .rate-item .jq-ry-container{
    position: unset;
    align-items: center;
}
.jq-ry-container,
.jq-ry-group-wrapper {
    display: flex;
    align-items: center;
}

.comment-card .comment-card-row .section-info{
    margin-left: 0px;
}

.comment-card .comment-card-row{
  font-size: 16px;
  margin-bottom: 10px;
}

.comment-card .comment-content-item{
    margin-bottom: 10px;
    font-weight: 400;
    min-height: 18px;
}
.comment-card .comment-content-item.title{
    font-weight: 700;
}

.comment-content-item.content.truncated .content-body {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    word-break: break-word;
    font-size: 16px;
    line-height: 1.6em;
}

.comment-card .comment-card-header{
  position: relative;
}

.comment-card .master-tag{
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}
.comment-card .master-tag img{
  height: 100%;
}

/* "更多"樣式 */
.toggle-more-inline {
    color:#02B5BA;
    text-decoration: none;
    cursor: pointer;
    font-size: 14px;
    white-space: nowrap;
}

.toggle-more-inline:hover {
    text-decoration: underline;
}

.week-schedule-list{
  display: flex;
  flex-wrap: wrap;
}

.read-only-ratings {
  font-size: 16px; /* 預設大小，可隨 RWD 媒體查詢改變 */
}

.hamburger-btn{
  padding-left: 15px;
  padding-right: 5px;
}


#site_logo{
  position: relative;
  top: -5px;
}

.modal-info{
  font-size: 14px;
}
.modal-info.price-error{
  font-size: 14px;
}
/*  header function icon */
.sign-block{
  position: absolute;
  top: -68px;
  left:  0;
  z-index: 99999;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.right-side-block{
  position: absolute;
  display: flex;
  top: -68px;
  right: 20px;
  z-index: 99999;
  height: 50px;
  align-items: center;
}

.search-bar{
    display: flex;
    flex-direction: column;
    justify-content: center
}
.comments-sort{
  display: flex;
  justify-content: end;
  padding-top: 10px;
}

#comment_sort{
  width: 160px;
}
.schedule-options .form-check-input {
  display:none;
}

.table-chart-item .mobile-img{
  display: none;
}
.table-chart-item .desktop-img{
    display: block;
}
@media (max-width: 768px) {
  .right-side-block, .sign-block{
    top: -58px;
  }

  
  .table-chart-item .mobile-img{
    display: block;
  }
  .table-chart-item .desktop-img{
    display: none;
  }  
  a.master-btn{
    padding: 5px 0px;
    font-size: 14px !important;
  }

  .grid-view .master-btns .view-master{
    transform: translateX(10px);
  }

  .grid-view .master-btns .booking-master{
    transform: translateX(-10px);
  }

  .master_results.list-view .master-btns .col-6{
    width: 50% !important;
    padding: 0px 5px;
  }

  .master_results.list-view .row.master-btns{
    width: 100% !important;
    flex: 1;
    padding: 0px 15px;
  }

  hr.extra-info-hr{
    margin:0!important;
  }

  .hall-schedule .home-link{
    display: block;
  }

  .master-info .master-name{
    width:200px;
  }
  .image.table-chart-item.col-2{
    padding: 0px;
  }

  .table-chart-title div{
    font-size: 12px;
  }
  h3.master-name{
    margin: 0px;
  }

  #sidelinks{
    bottom:99px;
  }
  /* 子元素按顺序排列 */
  #sidelinks:hover a.sub:nth-of-type(2) {
    transform: translateY(-110px); /* 第一个子元素向上移动 */
  }

  #sidelinks:hover a.sub:nth-of-type(3) {
    transform: translateY(-160px); /* 第二个子元素向上移动 */
  }
  #sidelinks a{
    width:45px;
    height:45px;
  }
  /* 隱藏菜單默認狀態 */
  .suya-top-bar-menu-container .suya-top-bar-menu {
    flex-direction: column; /* 讓連結垂直排列 */
    background-color: #f8f9fa; /* 你可以調整背景顏色 */
    position: absolute;
    top: -15px; /* 根據需要調整位置 */
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transform: translateX(-105%); /* 將菜單移出視野 */
    transition: transform 0.3s ease-in-out; /* 動畫效果 */
  }

  .suya-top-bar-menu-container .suya-top-bar-menu.active {
    display:flex;
    transform: translateX(0); /* 將菜單滑入視野 */
  }

  .suya-top-bar-menu a.menu-item{
    padding: 8px 0px;
    border-radius: 25px;
    font-size: 12px;
    height: 37px;
    width: 50%;
    margin:10px auto;
  }

  .suya-top-bar-menu{
    margin:0 auto!important;;
  }

  /* 行動裝置上的Menu按鈕樣式 */
  #menu-toggle {
    display: inline-block;
    font-size: 30px;
    cursor: pointer;
    padding: 10px;
    top: -70px;
    position: relative;
  }

  #full-width{
    min-height:100vh;
  }

  #filter-form input{
    margin:0px auto;
    width:90%;
  }

  #hall-list{
    margin:0px auto!important;
  }

  #hall-list .hall-image{
    max-height:128px;
    overflow: hidden;
  }

  #hall-list .card-title{
    font-size:16px;
  }
  #hall-list .card-text{
    font-size:14px;
  }

  #hall-list .hall-info:nth-child(odd){
    padding-left:0px;
    padding-right:5px;
  }

  #hall-list .hall-info:nth-child(even){
    padding-left:5px;
    padding-right:0px;
  }

  #hall-list .master_count{
    width:60px;
    height:60px;
    background-size:cover;
    right: 3px;
    top: -35px;
  }
  #hall-list .master_count .unit,
  #hall-list .master_count .amount{
    font-size:18px;
  }

  .no-sm-padding{
    padding:0!important;
  }

  #suya-header{
    max-height:60px; /* 50% */
  }

  #suya-bg-overlay{
    background-size: cover;
    background-repeat: no-repeat;
    min-height:60px; /* 50% */
  }

  #suya-header .container{
    top:50%;
    left:0;
  }

  #suya-header .main-title{
    font-size:24px;
  }
  
  #suya-header .en-title{
    font-size:12px;
  }

  #schedule_tabs{
      flex-wrap: nowrap!important;
      overflow-x: auto; /* 确保容器具有水平滚动条 */
      width: 100%;
      margin-left: 0 !important;
      margin-right: 0 !important;
  }
  /* 防止手機水平溢出(分頁/負邊距等多餘寬度) */
  #full-width{
      overflow-x: hidden;
  }

  #day_schedules li button,
  #day_recommends li button{
    width:100px!important;
    height:68px;
  }

  #last_updated_time p{
    text-align: center;
  }

  #sidelinks{
    max-width:70px;
  }

  .master-info .tags{
    padding: 10px 0px 0px 0px!important;
    max-height: 35px;
    height: 35px;
    min-height: unset;
  }
  .master-info .tags span{
    font: normal 10px/14px Noto Sans;
  }
  .master-info .tag-img{
    position:absolute;
    right: 7px;
    width: 65px;
    height: 65px;
  }
  .master_results.grid-view .master-info .tag-img{
   top:unset;
  }
  .master_results.table-chart-view .master-info .tag-img{
    position: relative;
  }
  .table-chart-container .table-chart-item div{
    font-size:13.5px;
    padding-bottom: 0px;
  }
  
  .master_results.list-view .master-detail .col-8{
    width: 100%;
  }
  .master_results .tags .tag{
    font: normal 10px/14px Noto Sans;
    padding:2px 8px;
  }
  .master-info .card-body{
    padding: 5px 3px;
  }
  .master-info *{
    font-size:13.5px;
  }
  .master-info .card-body p,
  .master-info .card-body h5,
  .master-info .card-body hr{
    margin-bottom:0px;
  }
  .master_results .extra-info .label{
    font: normal 10px/16px Noto Sans TC;
    margin-right:5px;
  }
  .master_results .extra-info .number{
    font: normal 10px/16px Noto Sans TC;
  }
  .master_results .extra-info{
    width:100%;
  }
  .read-only-ratings .jq-ry-group-wrapper{
    top:3px;
    margin-bottom:0px;
  }
  .master_results .master-info-1{
    line-height:14px;
  }
  .master_results.list-view .master-info-1{
    text-align: left!important;
  }
  .extra-info p{
    margin-bottom:0;
  }
  .master_results.list-view .read-only-ratings{
    padding-left: 0;
  }
  a.master-btn{
    font: normal 10px/18px Noto Sans TC;
    padding: 5px 0px;
    margin-top:5px;
  }

  .single-master .master-badges .badge{
    font: normal 15px/21px Noto Sans TC;
    padding:6px 16px;
  }
  .single-master .master-badges{
    padding:21px 16px 0px 16px;
  }


  /* list/grid樣式 */
  .view-switcher{
    text-align: center!important;
  }

  .master_results.list-view .master-info .image-tags-container{
    padding: 10px;
  }

  .master_results.list-view .master-info{
    padding: 5px 10px;
    margin-bottom: 0!important;
  }

  .master_results.list-view .master-info .master-name{
    width: auto;
  }
  .master_results.list-view .master-info .card-body{
    flex-wrap: wrap;
  }

  .master_results.list-view .extra-info{
    flex: 0 0 100%;
    align-self: flex-start;
    text-align: left;
  }

  .master_results.list-view .available-hours{
    text-align: center;
    flex: 0 0 100%;
    margin-top: 10px;
  }

  .master_results.list-view .view-master{
    display: none;
  }

  .master_results.list-view .master-tag.no-tag{
    display: block;
  }

  .master_results.list-view .master-basic .halls,
  .master_results.list-view .master-basic .card-text{
    margin-left: 0;
  }

  .master_results.list-view .row.master-detail{
    margin-left: calc(-0.5 * var(--bs-gutter-x));
  }

  #top-master-table thead th:nth-child(1){
    width: 15%;
  }

  #top-master-table thead th:nth-child(1),
  #top-master-table thead th:nth-child(2),
  #top-master-table thead th:nth-child(3),
  #top-master-table thead th:nth-child(4),
  #top-master-table tbody td:nth-child(1),
  #top-master-table tbody td:nth-child(2),
  #top-master-table tbody td:nth-child(3),
  #top-master-table tbody td:nth-child(4){
    padding: 0.625rem 0;
  }

  #top-master-table .img-container{
    display: inline-block;
    text-align: center;
  }

  .mobile-show{
    display: inline;
  }
  .mobile-hide{
    display: none;
  }

  .content-container .stories-container{
    margin-top: 20px;
    gap: 30px;
  }
  .favorite-setting {
    margin-bottom: 30px;
  }
  .favorite-setting .select-container {
    min-width: auto; 
  }
  .favorite-setting .setting-select{
    padding-right: 2em; 
    font-size: 14px;
  }
  .favorite-setting .setting-block {
    display: block;
  }
  .table-chart-view .new-master-img1{
    z-index: 1;
    width: 30%; 
    height: 30%; 
  }
  .comment-card .read-only-ratings .jq-ry-group-wrapper {
    top:0;
  }
  .comment-card .rate-item .jq-ry-container{
    max-width: 80px;
    width: auto !important;
  }
  .jq-ry-container > .jq-ry-group-wrapper {
    position: relative;
    width: auto;
    max-width: 80px;
  }
  .comment-card .rate-item{
    margin-right: 10px;
  }

  .read-only-ratings svg {
    width: 0.9em !important;
    height: 0.9em !important;
  }
  .rate-container .rate-item{
    font-size: 12px;
  }
  .top-bar-header{
    left: 0px;
    padding: 0px;
  }

  /* side-bar 側邊欄 */
  .side-bar.active{
    /* display: none; */
    width: 60%;
  }
  #site_logo img{
    width: 150px;
  }
  .hamburger-btn{
    padding: 0px 5px ;
  }
}

@media (max-width: 550px){
  .master_results.table-chart-view .master_link{
    padding: 0 15px 5px;
  }
  .comment-card .read-only-ratings svg {
    width: 0.5em !important;
    height: 0.5em !important;
  }

  .schedule-list-container.table-chart-item{
    padding: 0px;
  }
  .table-chart-item .week-schedule-list{
    width: 100%;
  } 

  /* side-bar 側邊欄 */
  .link-container{
    position:absolute;
    top: 77px;
    left: 21px;
  }

  .right-side-block{
    right: 0px;
  }

  .list-view .master-info .tag-img{
    top: 100px;
    right: 7px;
    width:50px;
    height: 50px;
  }
}

@media (max-width: 400px){
  .story-card .master-image img {
    width: calc(100% - 30px);
  }
  .swiper-wrapper{
    max-height: 450px;
  }
  
}

@media (max-width: 390px){
  .comment-card .rate-item{
    margin-right: 5px;
  }
  .comment-card .rate-item .jq-ry-container{
    padding: 3px;
  }
  .swiper-wrapper{
    max-height: 430px;
  }
}

@media (max-width: 360px){
  .swiper-wrapper{
    max-height: 410px;
  }
  .stories-container .story-card{
    /* min-height: 585px; */
    max-width: 340px;
  }
  .stories-container{
    padding-top: 20px;
    gap: 30px;
  }
  /* 美容師篩選選項 */
  .schedule-option-group .form-check{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-bottom: 8px;
  }
  .schedule-option-group .form-check .select_label {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding-left: 28px; /* 預留圓點空間 */
    min-height: 24px;
    width: 100%;
    border-radius: 4px;
    text-align: center;
    cursor: pointer;
  }
  .favorite-setting .setting-select{
    font-size: 10px;
  }
  

  
  
}

/* gc-suya-ext：769~1199px（平板橫式／窄桌機視窗）美容師卡片「綜合評價」那行修正。
   .extra-info 在桌面是 width:85%，該區間卡片本來就窄，整行差十幾 px 就把「(n)」擠到下一行
   （實測 820px：可用 171px，label 72＋數字 24＋星星 50＋括號 20＋間距 已超出）。
   比照手機版放到 100%（星等已由 JS 依同一個 1199px 斷點縮成 8px）。 */
@media (min-width: 769px) and (max-width: 1199px) {
  .master_results .extra-info{
    width: 100%;
  }
}

/* ===================================================================
 * Grid 模式：卡片等高
 * 內容長度不一（會館標籤有無、可預約時段字數）會讓同一列的卡片一長一短，
 * 手機版 col-6 兩欄並排時最明顯。
 * 讓 .card 撐滿欄位高度，並把「更多」按鈕以 margin-top:auto 推到底部，
 * 多餘的空白會集中在按鈕上方，同一列卡片的上下緣與按鈕即可對齊。
 * 僅作用於 grid-view，list-view / table-chart-view 不受影響。
 * =================================================================== */
.master_results.grid-view .master-info{
  display: flex;
}

.master_results.grid-view .master_link.table-chart-hidden{
  display: flex;
  width: 100%;
}

.master_results.grid-view .master_link .card{
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

/* 圖片區維持既有的 120% 比例，不因等高而被拉伸 */
.master_results.grid-view .master_link .image-tags-container{
  flex: 0 0 auto;
}

.master_results.grid-view .master_link .card-body{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

/* 「更多」按鈕貼齊卡片底部 */
.master_results.grid-view .master_link .card-body > .view-master,
.master_results.grid-view .master_link .card-body > .master-btns{
  margin-top: auto;
}

/* ===================================================================
 * Grid 模式：卡片評價區（綜合評價 / 星星 / 收藏數 / 瀏覽數）
 *
 * 1. 字級改為繼承卡片內文，與「身材 / 國籍 / 單價」一致
 *    （原本 label 18px、number 16px、收藏瀏覽 16px，手機版又被壓成 10px，
 *      在同一張卡片裡出現三種大小）。
 * 2. 整個評價區靠左：綜合評價 / 星星 / 收藏 / 瀏覽 全部沿左緣對齊。
 * 3. 星星獨立成一行，不與「綜合評價」擠在同一排。
 *    用 flex + order + 100% 寬的 ::after 斷行，而不是 grid，
 *    避免兩行共用欄寬（grid 會讓「4.5」被星星的欄寬推開）。
 *
 * 僅作用於 grid-view，list-view / table-chart-view 不受影響。
 * =================================================================== */

/* 1. 字級與卡片其他文字一致 */
.master_results.grid-view .extra-info .label,
.master_results.grid-view .extra-info .number,
.master_results.grid-view .extra-info .comment-count,
.master_results.grid-view .extra-info .master-info-1{
  font-size: inherit;
  line-height: 1.6;
}

/* 2. 評價區整塊靠左（.master-info-1 帶 bootstrap .text-center，需要 !important）
 *    原本 width:85% + margin:0 auto 會讓整塊往內縮，改為滿版才會與
 *    上方「身材 / 國籍 / 單價」及分隔線切齊。 */
.master_results.grid-view .extra-info{
  width: 100%;
  margin: 0;
  text-align: left;
}
.master_results.grid-view .extra-info .master-info-1,
.master_results.grid-view .extra-info .master-info-1.text-center{
  text-align: left !important;
}

/* 3. 第一行「綜合評價 4.5」，第二行「星星 (客評數)」，皆靠左 */
.master_results.grid-view .extra-info .rating{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  column-gap: 4px;
  row-gap: 0;
}
.master_results.grid-view .extra-info .rating .label{
  order: 1;
  margin-right: 0;
}
.master_results.grid-view .extra-info .rating .number{
  order: 2;
}
/* 強制斷行：100% 寬的空白 flex item */
.master_results.grid-view .extra-info .rating::after{
  content: "";
  order: 3;
  flex: 0 0 100%;
  height: 2px;
}
.master_results.grid-view .extra-info .rating .read-only-ratings{
  order: 4;
}
.master_results.grid-view .extra-info .rating .comment-count{
  order: 5;
}

/* ===================================================================
 * 搜尋結果卡片的星星（rateYo）尺寸修正
 *
 * main.js 以 starWidth: isMobile() ? '8px' : '16px' 初始化 rateYo，
 * isMobile() 判斷的是 User-Agent，CSS 的 media query 判斷的是視窗寬度，
 * 兩者在真實手機上不一致：rateYo 把容器 inline width 寫成 8×5=40px，
 * CSS 卻用 .read-only-ratings svg{ width:.9em } 把星星放大到約 61px，
 * 造成星星溢出容器、和旁邊文字重疊，而且底層灰星與上層金星
 * （.jq-ry-rated-group 以百分比寬度裁切）錯開，看起來像殘影。
 *
 * 解法：容器寬度與星星尺寸都用整數 px 由 CSS 決定，
 * 5 × 16px = 80px（手機 5 × 14px = 70px），不再依賴 rateYo 的 inline width，
 * 兩層星星寬度完全相同，不會有裁切錯位。
 * 注意 .read-only-ratings 本身就是 .jq-ry-container（rateYo 直接加 class），
 * 所以 padding 要寫在同一個元素上。
 * =================================================================== */
.master_results .read-only-ratings{
  width: 80px !important;
  padding: 0;
  top: 0;
  vertical-align: middle;
}
.master_results .read-only-ratings svg{
  width: 16px !important;
  height: 16px !important;
}
/* 解除 max-width:80px，rated-group 的百分比寬度才會對應到正確比例 */
.master_results .read-only-ratings .jq-ry-group-wrapper{
  width: 100%;
  max-width: none;
  top: 0;
}

@media (max-width: 768px){
  .master_results .read-only-ratings{
    width: 70px !important;
  }
  .master_results .read-only-ratings svg{
    width: 14px !important;
    height: 14px !important;
  }
}

/* 4. 收藏數 → 愛心、瀏覽數 → 眼睛 */
.master_results .master-info-1 .info-icon{
  font-size: 1.15em;
  line-height: 1;
  vertical-align: -0.2em;
  margin-right: 2px;
}
