/* ===== ClassyCG 首頁區塊樣式 ===== */
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;600;700&display=swap');

/* 首頁連結色 */
.index-editor a {
  color: #e88293;
}
.index-editor a:hover {
  color: #f0a8b4;
}
.index-editor a:active {
  color: #f0a8b4;
}

/* 首頁區塊背景 */
.index-editor {
  background-color: #ffffff;
}

/* editor-row 排版 */
.editor-row {
  display: flex;
  flex-wrap: wrap;
}
.editor-row .img-box,
.editor-row .text-box {
  width: 100%;
}
.editor-row .img-box {
  text-align: center;
}
.editor-row .text-box {
  display: flex;
  align-items: center;
  padding: 15px;
}
.editor-row .text-box .title-group {
  font-family: 'Nunito Sans', "Noto Sans TC", sans-serif;
  color: #e88293;
  font-weight: 300;
  position: relative;
  padding: 5px;
  margin-bottom: 10px;
}
.editor-row .text-box .title-group .title-group-inner {
  position: relative;
  z-index: 5;
}
.editor-row .text-box .title-group .title-group-inner > h3 {
  font-size: 2.5rem;
  padding-bottom: 2.5rem;
  position: relative;
}
.editor-row .text-box .title-group .title-group-inner > h3::after,
.editor-row .text-box .title-group .title-group-inner > h3::before {
  content: "";
  position: absolute;
  bottom: 0;
  background-color: #dfdfdf;
  height: 35px;
  width: 2px;
}
.editor-row .text-box .title-group .title-group-inner > h3::after {
  transform: rotate(45deg);
}
.editor-row .text-box .title-group .title-group-inner > h3::before {
  transform: rotate(-45deg);
}

/* editor-col 卡片式排版 */
.editor-col {
  margin-bottom: 2rem;
}
.editor-col .title-group-inner {
  text-align: center;
  padding-top: 1.2rem;
}
.editor-col .title-group-inner.four-col > h3 {
  font-size: 1.1rem;
}
.editor-col .title-group-inner.four-col > h4 {
  font-size: 1rem;
  font-weight: 400;
}
.editor-col .img-box {
  text-align: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.editor-col.col-md-4 .img-box {
  min-height: 200px;
}
.editor-col.col-md-6 .img-box {
  min-height: 320px;
}
.editor-col.col-md-3 .img-box {
  min-height: 150px;
}
.col-lg-6 .col-md-6.editor-col .img-box {
  min-height: 150px;
}

/* editor-col-left / editor-col-right */
.editor-col-left, .editor-col-right {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}
.editor-col-left > div, .editor-col-right > div {
  width: 100%;
}
.editor-col-left .img-box, .editor-col-left .text-group,
.editor-col-right .img-box, .editor-col-right .text-group {
  padding-left: 15px;
  padding-right: 15px;
}
.editor-col-left .img-box, .editor-col-right .img-box {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.editor-col-left .text-group, .editor-col-right .text-group {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* grid 相簿/圖片牆 */
.grid {
  display: block;
  clear: both;
}
.grid .grid-item {
  float: left;
  padding: 10px;
}
.grid .grid-item img {
  max-width: 100%;
  height: auto;
}
.grid .grid-item .img-box {
  display: block;
  position: relative;
}
.grid .grid-item .img-box::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: 0.4s ease-in;
}
.grid .grid-item:hover .img-box {
  cursor: zoom-in;
}
.grid .grid-item:hover .img-box::before {
  opacity: 1;
}

/* ===== 手機版 (768px以下) ===== */
@media all and (max-width: 768px) {
  .editor-row {
    margin-bottom: 1rem;
  }
  .editor-row .img-box {
    max-width: 100%;
    flex: 0 0 100%;
    margin-bottom: 10px;
  }
  .editor-row .text-box {
    max-width: 100%;
    flex: 0 0 100%;
    text-align: center;
  }
  .editor-row .text-box .title-group::after {
    left: 0;
  }
  .editor-row.left-style .img-box {
    order: 0;
    min-height: 510px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
  }
  .editor-row.left-style .text-box {
    text-align: center;
    order: 1;
    padding-top: 1.5rem;
  }
  .editor-row.left-style .text-box .title-group-inner > h3::before,
  .editor-row.left-style .text-box .title-group-inner > h3::after {
    left: calc(50% - 1px);
  }
  .editor-row.right-style .img-box {
    order: 0;
    min-height: 510px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
  }
  .editor-row.right-style .text-box {
    order: 1;
    text-align: center;
    padding-top: 1.5rem;
  }
  .editor-row.right-style .text-box .title-group-inner > h3::before,
  .editor-row.right-style .text-box .title-group-inner > h3::after {
    left: calc(50% - 1px);
  }
  .editor-row.middle-style .img-box {
    order: 0;
    max-width: 100%;
    flex: 0 0 100%;
    margin-bottom: 10px;
    min-height: 510px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
  }
  .editor-col-right, .editor-col-left {
    margin-left: 0;
    margin-right: 0;
  }
  .editor-col-right .img-box, .editor-col-right .text-group,
  .editor-col-left .img-box, .editor-col-left .text-group {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .editor-col-right .img-box, .editor-col-left .img-box {
    min-height: 250px;
  }
  .editor-col-right .img-box {
    order: 0;
  }
  .editor-col-right .text-group {
    order: 1;
  }
  .grid .grid-item,
  .grid .grid-sizer {
    width: 50%;
  }
}

/* ===== 平板以上 (769px以上) ===== */
@media all and (min-width: 769px) {
  .editor-row .img-box {
    max-width: 50%;
    flex: 0 0 50%;
  }
  .editor-row .text-box {
    max-width: 50%;
    flex: 0 0 50%;
    text-align: left;
  }
  .editor-row.left-style .img-box {
    order: 0;
    min-height: 400px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
  }
  .editor-row.left-style .text-box {
    text-align: left;
    order: 1;
    padding-left: 1.5rem;
  }
  .editor-row.left-style .text-box .title-group-inner > h3::before,
  .editor-row.left-style .text-box .title-group-inner > h3::after {
    left: 17.5px;
  }
  .editor-row.right-style .img-box {
    order: 1;
    min-height: 400px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
  }
  .editor-row.right-style .text-box {
    order: 0;
    text-align: right;
    padding-right: 1.5rem;
  }
  .editor-row.right-style .text-box .title-group-inner > h3::before,
  .editor-row.right-style .text-box .title-group-inner > h3::after {
    right: 17.5px;
  }
  .editor-row.middle-style {
    padding-bottom: 1.5rem;
  }
  .editor-row.middle-style .img-box {
    order: 0;
    max-width: 100%;
    flex: 0 0 100%;
    margin-bottom: 10px;
    min-height: 400px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
  }
  .editor-row.middle-style .text-box {
    order: 1;
    text-align: center;
    max-width: 100%;
    flex: 0 0 100%;
  }
  .editor-row.middle-style .text-box .title-group-inner > h3::before,
  .editor-row.middle-style .text-box .title-group-inner > h3::after {
    left: calc(50% - 1px);
  }
  .editor-col-right .img-box, .editor-col-right .text-group,
  .editor-col-left .img-box, .editor-col-left .text-group {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .editor-col-right .img-box {
    order: 1;
  }
  .editor-col-right .text-group {
    order: 0;
  }
  .grid .grid-item,
  .grid .grid-sizer {
    width: 33.3%;
  }
}

/* ===== 桌機版 (993px以上) ===== */
@media all and (min-width: 993px) {
  .editor-row .img-box {
    max-width: 40%;
    flex: 0 0 40%;
  }
  .editor-row .text-box {
    max-width: 60%;
    flex: 0 0 60%;
    text-align: left;
  }
  .grid .grid-item,
  .grid .grid-sizer {
    width: 25%;
  }
}
/* ===== ClassyCG 全站 CSS 變數 ===== */
:root {
  --footer-bg-color: #e88293;
  --footer-text-color: #f0f0ef;
  --footer-link-color: #f0f0ef;
  --footer-link-hover-color: #ffffff;
  --primary-color: #e88293;
  --secondary-color: #f0b8c2;
  --link-color: #e88293;
  --link-hover-color: #d4697a;
  --button-text-color: #ffffff;
  --button-bg-color: #e88293;
  --button-bg-hover-color: #d4697a;
  --button-text-hover-color: #ffffff;
  --outline-button-border-color: #e88293;
  --outline-button-text-color: #e88293;
  --outline-button-bg-color: transparent;
  --outline-button-border-hover-color: #d4697a;
  --outline-button-bg-hover-color: #fdf0f2;
  --outline-button-text-hover-color: #d4697a;
}

/* ===== ClassyCG Footer 補充樣式 ===== */
footer {
  padding-top: 50px;
  padding-bottom: 20px;
}
footer .small-title {
  font-family: 'Nunito Sans', "Noto Sans TC", sans-serif;
}
footer .copyright {
  text-align: center;
  padding-top: 15px;
}
footer ul {
  list-style: none;
  padding: 0;
}
footer .social-link > a {
  font-size: 2rem;
  margin-right: 10px;
}
footer #subscription-footer-btn {
  border: 1px solid #fbfbfb;
  color: #fbfbfb;
}
/* ===== ClassyCG Landing Page 樣式 (service/about detail) ===== */
.lp-modal-header {
  position: relative;
  z-index: 5;
  top: -7rem;
  margin-bottom: -7rem;
}
.lp-modal-header .title-box {
  background-color: rgba(255, 255, 255, 0.8);
  padding: 1rem 1.3rem;
  border-radius: 8px;
}
.lp-modal-header .title-box > h1 {
  font-size: 2.5rem;
}
.lp-modal-header .title-box > h3 {
  font-size: 1.2rem;
}
.lp-modal-content .lp-modal-title {
  margin-bottom: 2rem;
}
.lp-modal-content > section {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.lp-modal-content .pink-bg {
  background-color: #e88293;
  color: #fff;
}
.lp-modal-content .pink-bg p {
  color: #fff;
}
.lp-modal-content .service-step {
  text-align: center;
  margin-bottom: 2rem;
}
.lp-modal-content .service-step > i,
.lp-modal-content .service-step > span {
  font-size: 5rem;
  color: #e88293;
  margin-bottom: 1rem;
  margin-right: -2rem;
}

/* === Navbar 透明覆蓋 banner 樣式（classycg 原站風格） === */
.navbar {
  background-color: transparent;
  left: 0;
  right: 0;
  margin-bottom: 0;
  transition: background-color 0.5s ease-in;
}
.navbar:hover,
.navbar:active {
  background-color: rgba(232, 130, 147, 0.7);
}

/* PC: navbar 壓在 banner 上 */
@media (min-width: 993px) {
  .navbar {
    position: absolute;
  }
}

/* 選單連結白色 */
:root {
  --header-bg-color: transparent;
  --header-link-color: #ffffff;
  --header-link-hover-color: #ffffff;
  --header-link-hover-bg-color: rgba(255,255,255,0.3);
  --header-icon-color: #ffffff;
  --header-icon-hover-color: #ffffff;
}

/* member-item (Join us / Login / 購物車) */
.member-item li a {
  color: rgba(255, 255, 255, 0.7);
}
.member-item li a:hover {
  color: #ffffff;
}

/* naviMain 連結底線效果 */
.naviMain ul > li > a::before {
  background-color: #ffffff;
}

/* 按鈕圓角 */
.btn-full,
.btn-border {
  border-radius: 30px;
}