/* 2026-08-27：服務頁拍立得前移、精簡作品標示與標題尺寸 */
.section-title{
  line-break:strict;
  text-wrap:balance;
}
.section-title + p,
.reservation-lead,
.experience-card p,
.service-info-row dd,
.notice-card p{
  text-wrap:pretty;
}

/* 這兩個標題依文意固定分行，不再讓瀏覽器逐字拆開。 */
.reservation-intro .section-title{
  display:grid;
  gap:.22em;
  width:min(100%,680px);
  max-width:100%;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:clamp(2.55rem,4vw,3.6rem)!important;
  line-height:1.16!important;
  letter-spacing:.015em!important;
}
.reservation-title-line{
  display:block!important;
  width:100%;
  white-space:nowrap!important;
  text-align:center;
}
.phrase-title span{
  display:block;
  white-space:nowrap;
}

/* 服務說明使用完整外框與內部分隔，避免區塊像散落的文字。 */
#service .service-summary{
  padding:clamp(1.25rem,3vw,2rem)!important;
  border:1px solid rgba(109,82,57,.28)!important;
  border-top:2px solid var(--ink)!important;
  background:rgba(255,253,249,.72)!important;
}
#service .service-info-list{
  border-top:1px solid rgba(109,82,57,.22)!important;
  border-bottom:1px solid rgba(109,82,57,.22)!important;
}
#service .service-info-row:last-child{border-bottom:0!important;}
#service .guide-cta{
  border:1px solid var(--bloom-deep)!important;
  box-shadow:0 10px 24px rgba(116,69,80,.12)!important;
}
#service .guide-block{
  padding:0!important;
  border:1px solid rgba(109,82,57,.28)!important;
  background:rgba(255,253,249,.54)!important;
}
#service .guide-label{
  margin:0!important;
  padding:1rem 1.25rem!important;
  border-bottom:1px solid rgba(109,82,57,.25)!important;
}
#service .experience-grid{gap:0!important;}
#service .experience-card{
  min-width:0;
  border:0!important;
  border-right:1px solid rgba(109,82,57,.25)!important;
  box-shadow:none!important;
}
#service .experience-card:last-child{border-right:0!important;}

/* 拍立得範例緊接特別服務，不再形成第二個帶大段頂部留白的頁面區塊。 */
#polaroids.service-polaroid-detail{
  margin-top:clamp(3rem,6vw,5rem);
  padding-top:clamp(2.5rem,5vw,4rem);
  border-top:1px solid rgba(109,82,57,.28);
  background:none;
  overflow:visible;
}
#polaroids.service-polaroid-detail::before{display:none;}
#polaroid-title{
  max-width:100%;
  font-size:clamp(2.2rem,3vw,3rem)!important;
}

/* 依女僕分組；每次只顯示一張作品。 */
.polaroid-gallery.is-carousel{
  position:relative;
  display:block!important;
  width:100%;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
}
.polaroid-staff-tabs{
  display:flex;
  gap:.5rem;
  margin:0 0 1rem;
  padding:0 0 .55rem;
  overflow-x:auto;
  scrollbar-width:thin;
  scroll-snap-type:x proximity;
}
.polaroid-staff-tab{
  flex:none;
  min-height:42px;
  padding:.62rem 1rem;
  border:1px solid rgba(109,82,57,.28);
  border-radius:999px;
  background:rgba(255,253,249,.7);
  color:var(--text-mute);
  font:500 .82rem/1.2 "Noto Serif TC",serif;
  cursor:pointer;
  scroll-snap-align:start;
}
.polaroid-staff-tab:hover,
.polaroid-staff-tab[aria-selected="true"]{
  border-color:var(--bloom-deep);
  background:var(--bloom-deep);
  color:#fff;
}
.polaroid-carousel-stage{
  position:relative;
  display:grid;
  place-items:center;
  min-height:460px;
  padding:1rem clamp(2.7rem,6vw,4.5rem) 1.25rem;
  border:1px solid rgba(109,82,57,.28);
  background:linear-gradient(145deg,rgba(255,253,249,.84),rgba(226,215,203,.62));
  overflow:hidden;
  touch-action:pan-y;
}
.polaroid-gallery.is-carousel .polaroid-print{
  position:relative!important;
  inset:auto!important;
  display:none;
  width:min(100%,560px)!important;
  margin:0!important;
  transform:none!important;
}
.polaroid-gallery.is-carousel .polaroid-print.is-active{display:block;}
.polaroid-gallery.is-carousel .polaroid-print img{
  width:100%!important;
  max-height:600px;
  object-fit:contain!important;
}
.polaroid-carousel-button{
  position:absolute;
  top:50%;
  z-index:3;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(109,82,57,.32);
  border-radius:50%;
  background:rgba(255,253,249,.9);
  color:var(--ink);
  font-size:1.25rem;
  cursor:pointer;
  transform:translateY(-50%);
}
.polaroid-carousel-button:hover{border-color:var(--bloom-deep);color:var(--bloom-deep);}
.polaroid-carousel-button.prev{left:.75rem;}
.polaroid-carousel-button.next{right:.75rem;}
.polaroid-carousel-button[hidden]{display:none;}
.polaroid-carousel-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  margin-top:.85rem;
}
.polaroid-dots{display:flex;align-items:center;justify-content:center;gap:.45rem;}
.polaroid-dot{
  width:9px;height:9px;padding:0;border:1px solid var(--bloom-deep);border-radius:50%;
  background:transparent;cursor:pointer;
}
.polaroid-dot[aria-current="true"]{background:var(--bloom-deep);}
.polaroid-counter{min-width:3.4rem;color:var(--text-faint);font-size:.72rem;text-align:center;}

@media(max-width:860px){
  #service .experience-card,
  #service .experience-card:last-child{
    padding:1.35rem!important;
    border-right:0!important;
    border-bottom:1px solid rgba(109,82,57,.25)!important;
  }
  #service .experience-card:last-child{border-bottom:0!important;}
  #polaroids.service-polaroid-detail{
    margin-top:2.5rem;
    padding-top:2.5rem;
  }
  .polaroid-carousel-stage{min-height:390px;}
}
@media(max-width:480px){
  .reservation-intro .section-title{
    gap:.3em;
    width:100%;
    font-size:clamp(1.95rem,8.2vw,2.35rem)!important;
    letter-spacing:0!important;
  }
  .phrase-title{font-size:clamp(2.15rem,10vw,2.65rem)!important;}
  #polaroid-title{font-size:clamp(1.9rem,8.5vw,2.15rem)!important;}
  .polaroid-carousel-stage{min-height:330px;padding:.7rem 2.35rem .9rem;}
  .polaroid-carousel-button{width:38px;height:38px;}
  .polaroid-carousel-button.prev{left:.35rem;}
  .polaroid-carousel-button.next{right:.35rem;}
  .polaroid-staff-tab{min-height:40px;padding:.58rem .85rem;}
}
