body {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  background: #fafafa;
}

/* 標題 */
.section-title {
  font-size: 26px;
  text-align: center;
  margin: 20px 0 30px;
  font-weight: 600;
}

/* 服務卡片 */
.service-list {
  max-width: 900px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 25px;
}

.service-card {
  background: white;
  border-radius: 18px;
  padding: 15px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.08);
  transform: translateY(40px);
  opacity: 0;
  transition: all .65s ease;
}

.service-card.show {
  transform: translateY(0);
  opacity: 1;
}

.service-card img {
  width: 100%;
  border-radius: 14px;
}

/* 圖片展示 */
.gallery-section {
  margin-top: 40px;
}

.gallery {
  max-width: 900px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.item {
  background: white;
  border-radius: 16px;
  overflow: hidden;
  transform: translateY(40px);
  opacity: 0;
  transition: all .75s ease;
}

.item img {
  width: 100%;
  display: block;
}

.item.show {
  transform: translateY(0);
  opacity: 1;
}

/* 手機調整 */
@media (min-width: 768px) {
  .gallery,
  .service-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* 上滑＋淡入動畫（通用） */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all .7s ease;
}

.reveal.show {
    opacity: 1;
    transform: translateY(0);
}





/* --- booking外層容器：強制置中整區 --- */
body {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  background: #fafafa;
}

/* 標題 */
.section-title {
  font-size: 26px;
  text-align: center;
  margin: 20px 0 30px;
  font-weight: 600;
}

/* 服務卡片 */
.service-list {
  max-width: 900px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 25px;
}

.service-card {
  background: white;
  border-radius: 18px;
  padding: 15px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.08);
  transform: translateY(40px);
  opacity: 0;
  transition: all .75s ease;
}

.service-card.show {
  transform: translateY(0);
  opacity: 1;
}

.service-card img {
  width: 100%;
  border-radius: 14px;
}

/* 圖片展示 */
.gallery-section {
  margin-top: 40px;
}

.gallery {
  max-width: 900px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.item {
  background: white;
  border-radius: 16px;
  overflow: hidden;
  transform: translateY(40px);
  opacity: 0;
  transition: all .75s ease;
}

.item img {
  width: 100%;
  display: block;
}

.item.show {
  transform: translateY(0);
  opacity: 1;
}

/* 手機調整 */
@media (min-width: 768px) {
  .gallery,
  .service-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* 上滑＋淡入動畫（通用） */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all .8s ease;
}

.reveal.show {
    opacity: 1;
    transform: translateY(0);
}





/* --- booking外層容器：強制置中整區 --- */
.center-booking-wrapper {
    width: 100% !important;
    padding: 60px 0;
    position: relative;
    display: flex !important;
    justify-content: center !important;
}

/* --- Flex 包覆區：強制置中並固定水平線佔滿 --- */
.booking-wrap {
    width: 100% !important;
    max-width: 1200px; /* 可以改 */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px;
}

/* --- 左右線條 --- */
.line {
    flex-grow: 1;
    height: 2px;
    background-color: #ccc;

    transform-origin: center;
    transform: scaleX(0);
    transition: transform 0.8s ease;
}

.line.show {
    transform: scaleX(1);
}

/* --- 圓形按鈕（永遠置中文字） --- */
.booking-btn {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: #f14156;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: #fff;
    font-size: 20px;
    font-weight: 600;
    
    /* 確保按鈕在疊層上優先 */
    position: relative; 
    z-index: 10; 

    /* 🔥 性能優化：使用 will-change 預先通知瀏覽器使用 GPU */
    will-change: transform, box-shadow; 

    /* 陰影保持極度明顯的版本 */
    box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.6),
        0 0 0 10px rgba(241, 65, 86, 0.3);

    transform: scale(0.7);
    opacity: 0;
    /* 減少過渡時間，讓反應更快 */
    transition: transform 0.5s ease, opacity 0.5s ease, box-shadow 0.2s ease; 
}

.booking-btn:hover {
    /* Hover 時按鈕強烈上抬，陰影變小 */
    transform: scale(1.05); 
    box-shadow: 
        0 10px 30px rgba(0, 0, 0, 0.4), 
        0 0 0 15px rgba(241, 65, 86, 0.4);
    cursor: pointer;
}

.booking-btn.show {
    transform: scale(1);
    opacity: 1;
}

/* 手機縮小按鈕 */
@media (max-width: 600px) {
    .booking-btn {
        width: 100px;
        height: 100px;
        font-size: 18px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4), 
        
        /* 在手機斷點下，進一步減少過渡時間以提高反應速度 */
        transition: transform 0.4s ease, opacity 0.4s ease, box-shadow 0.2s ease;
    }
}
/* ---------------------------------------------------- */
/* 【最終解決方案】強制放大垂直排列的社群圖示 */
/* ---------------------------------------------------- */

/* 直接針對特定的 FB 圖示標籤進行放大 */
.Pediileinfo-social-grids ul li a span.fa-facebook {
    /* 放大圖示本身的字體大小 */
    font-size: 18px !important; 
}

/* 為了確保其他圖示（LinkedIn, Instagram 等）也生效，請新增以下通用規則 */
.Pediileinfo-social-grids ul li a span.fa {
    font-size: 26px !important; 
}.








