/* ZENITH SPA | Korean Master UI/UX STEP 03 | SERVICE only.
   Maintain 5 treatments, published sauna promotions, and live channel layout. */
.page-service .service-v2{background:#f8f6f1;color:#29342b;padding-bottom:40px}
.page-service .service-v2 .sv-intro{padding-top:42px;padding-bottom:30px}
.page-service .service-v2 .sv-overline{font-size:11px;letter-spacing:.13em}
.page-service .service-v2 .sv-intro h1{font-size:clamp(34px,6vw,48px);line-height:1.17;letter-spacing:-.045em;margin-top:10px}
.page-service .service-v2 .sv-intro p{font-size:15px;line-height:1.78;max-width:44rem;margin-top:15px}
.page-service .service-v2 .sv-select{gap:12px;margin-top:25px;max-width:620px}
.page-service .service-v2 .sv-select a{border-radius:9px;min-height:54px;font-size:15px;box-shadow:0 2px 10px rgba(52,53,43,.035)}
.page-service .service-v2 .sv-select a:focus-visible{outline:3px solid #ccb78a;outline-offset:3px}
.page-service .service-v2 .sv-section{scroll-margin-top:100px;padding-bottom:47px}
.page-service .service-v2 .sv-section-head{gap:18px;margin-bottom:21px}
.page-service .service-v2 .sv-section-head h2{font-size:clamp(26px,4vw,36px);margin:6px 0 8px}
.page-service .service-v2 .sv-section-head p{font-size:15px;line-height:1.6}
.page-service .service-v2 .sv-count{font-size:11px;color:#8c8f84}
.page-service .service-v2 .sv-massage-list{gap:14px}
.page-service .service-v2 .sv-massage-item{gap:20px;min-height:148px;padding:11px 17px 11px 11px;border-radius:14px;border-color:#e0dbd0;background:#fffdfa;box-shadow:0 3px 17px rgba(40,43,33,.045);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.page-service .service-v2 .sv-massage-item:hover{transform:translateY(-3px);border-color:#c9c7b9;box-shadow:0 11px 25px rgba(40,43,33,.095)}
.page-service .service-v2 .sv-massage-item:focus-visible{outline:3px solid #cfb98c;outline-offset:3px}
.page-service .service-v2 .sv-photo{flex:0 0 163px;max-height:none;min-height:125px;align-self:stretch;border-radius:9px}
.page-service .service-v2 .sv-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s ease}
.page-service .service-v2 .sv-massage-item:hover .sv-photo img{transform:scale(1.045)}
.page-service .service-v2 .sv-massage-text{gap:6px}
.page-service .service-v2 .sv-massage-label{font-size:11px;letter-spacing:.12em}
.page-service .service-v2 .sv-massage-text strong{font-size:21px;line-height:1.34;letter-spacing:-.04em}
.page-service .service-v2 .sv-massage-desc{font-size:14px;line-height:1.65;max-width:430px;color:#6b736c}
.page-service .service-v2 .sv-massage-cta{display:inline-flex;gap:7px;align-items:center;color:#516a54;font-size:12px;font-weight:700;line-height:1.5;margin-top:4px}
.page-service .service-v2 .sv-massage-cta span{font-size:15px}
.page-service .service-v2 .sv-massage-arrow{width:42px;height:42px;font-size:22px;border-color:#d0d3c8;background:#f7f7f1;margin-right:3px;transition:background .25s,color .25s}
.page-service .service-v2 .sv-massage-item:hover .sv-massage-arrow{background:#526a55;color:white}
.page-service .service-v2 .sv-prices{border-radius:13px;margin-top:22px;border-color:#ddd8cd}
.page-service .service-v2 .sv-prices-head{padding:20px 23px;gap:9px}
.page-service .service-v2 .sv-prices-head .sv-overline{font-size:11px}
.page-service .service-v2 .sv-prices-head strong{font-size:15px}
.page-service .service-v2 .sv-prices-head>span:last-child{font-size:12px}
.page-service .service-v2 .sv-price-grid div{padding:23px 8px;gap:7px}
.page-service .service-v2 .sv-price-grid small{font-size:15px}
.page-service .service-v2 .sv-price-grid strong{font-size:clamp(22px,2.4vw,27px);line-height:1.22}
.page-service .service-v2 .sv-more{font-size:15px;min-height:50px;margin-top:20px}
.page-service .service-v2 .sv-sauna{scroll-margin-top:100px;padding-top:47px}
.page-service .service-v2 .sv-sauna-image{height:clamp(280px,29vw,370px);border-radius:14px 14px 0 0}
.page-service .service-v2 .sv-sauna-image>img{transition:transform .75s ease}
.page-service .service-v2 .sv-sauna-image:hover>img{transform:scale(1.025)}
.page-service .service-v2 .sv-sauna-image:focus-visible,.page-service .service-v2 .sv-sauna-offer:focus-visible,.page-service .service-v2 .sv-book>a:focus-visible{outline:3px solid #ccb78a;outline-offset:3px}
.page-service .service-v2 .sv-sauna-image-caption{left:28px;bottom:25px}
.page-service .service-v2 .sv-sauna-image-caption strong{font-size:clamp(25px,3vw,34px)}
.page-service .service-v2 .sv-sauna-rate{padding:20px 25px}
.page-service .service-v2 .sv-sauna-rate>div:first-child strong{font-size:18px}
.page-service .service-v2 .sv-sauna-rate>div:last-child strong{font-size:clamp(26px,3.3vw,34px)}
.page-service .service-v2 .sv-sauna-offer{margin-top:20px;padding:36px 30px 24px;box-shadow:0 9px 28px rgba(30,55,37,.12)}
.page-service .service-v2 .sv-offer-kicker{font-size:12px}
.page-service .service-v2 .sv-offer-total{font-size:16px}
.page-service .service-v2 .sv-offer-action{font-size:15px}
.page-service .service-v2 .sv-book{margin-top:40px}
.page-service .service-v2 .sv-book>p{font-size:16px;margin-bottom:13px}
.page-service .service-v2 .sv-book>a{min-height:58px;font-size:16px}
.page-service .service-v2 .sv-channel-labels{font-size:13px;margin-top:13px}
@media(max-width:739px){
 .page-service .service-v2{padding-bottom:22px}
 .page-service .service-v2 .sv-intro{padding-top:30px;padding-bottom:27px}
 .page-service .service-v2 .sv-intro h1{font-size:clamp(33px,8.5vw,42px)}
 .page-service .service-v2 .sv-intro p{font-size:14px;margin-top:12px}
 .page-service .service-v2 .sv-select{margin-top:23px;gap:9px}
 .page-service .service-v2 .sv-select a{font-size:14px;min-height:52px}
 .page-service .service-v2 .sv-section{padding-bottom:31px;scroll-margin-top:78px}
 .page-service .service-v2 .sv-section-head{align-items:flex-start;gap:8px;margin-bottom:15px}
 .page-service .service-v2 .sv-section-head h2{font-size:27px;margin:4px 0 6px}
 .page-service .service-v2 .sv-section-head p{font-size:13px}
 .page-service .service-v2 .sv-count{font-size:10px;padding-top:34px}
 .page-service .service-v2 .sv-massage-list{gap:11px}
 .page-service .service-v2 .sv-massage-item{min-height:132px;gap:13px;padding:9px 11px 9px 9px;border-radius:12px}
 .page-service .service-v2 .sv-photo{flex-basis:115px;min-height:112px;border-radius:8px}
 .page-service .service-v2 .sv-massage-text{gap:4px}
 .page-service .service-v2 .sv-massage-label{font-size:10px}
 .page-service .service-v2 .sv-massage-text strong{font-size:18px}
 .page-service .service-v2 .sv-massage-desc{font-size:12.5px;line-height:1.5}
 .page-service .service-v2 .sv-massage-cta{font-size:11px;margin-top:2px}
 .page-service .service-v2 .sv-massage-arrow{width:31px;height:31px;font-size:18px;margin:0}
 .page-service .service-v2 .sv-prices{margin-top:20px}
 .page-service .service-v2 .sv-prices-head{padding:16px 14px}
 .page-service .service-v2 .sv-prices-head .sv-overline{font-size:10px}
 .page-service .service-v2 .sv-prices-head strong{font-size:13px}
 .page-service .service-v2 .sv-prices-head>span:last-child{font-size:10px}
 .page-service .service-v2 .sv-price-grid div{padding:18px 3px}
 .page-service .service-v2 .sv-price-grid small{font-size:13px}
 .page-service .service-v2 .sv-price-grid strong{font-size:clamp(17px,4.6vw,21px)}
 .page-service .service-v2 .sv-more{font-size:14px;margin-top:15px}
 .page-service .service-v2 .sv-sauna{padding-top:35px;scroll-margin-top:78px}
 .page-service .service-v2 .sv-sauna-image{height:250px}
 .page-service .service-v2 .sv-sauna-image-caption{left:21px;bottom:23px}
 .page-service .service-v2 .sv-sauna-image-caption strong{font-size:26px}
 .page-service .service-v2 .sv-sauna-rate{padding:17px 17px}
 .page-service .service-v2 .sv-sauna-rate>div:first-child strong{font-size:15px}
 .page-service .service-v2 .sv-sauna-rate>div:last-child strong{font-size:clamp(23px,6vw,29px)}
 .page-service .service-v2 .sv-sauna-offer{margin-top:16px;padding:29px 21px 18px}
 .page-service .service-v2 .sv-offer-title{font-size:clamp(23px,6vw,30px)}
 .page-service .service-v2 .sv-offer-prices>strong{font-size:clamp(32px,8vw,44px)}
 .page-service .service-v2 .sv-offer-action{font-size:14px}
 .page-service .service-v2 .sv-book{margin-top:33px}
 .page-service .service-v2 .sv-book>p{font-size:15px}
 .page-service .service-v2 .sv-book>a{min-height:54px;font-size:15px}
 .page-service .service-v2 .sv-channel-labels{font-size:11px}
}
@media(max-width:375px){
 .page-service .service-v2 .sv-massage-item{gap:9px;padding:8px}
 .page-service .service-v2 .sv-photo{flex-basis:94px;min-height:116px}
 .page-service .service-v2 .sv-massage-text strong{font-size:16px}
 .page-service .service-v2 .sv-massage-label{font-size:9px}
 .page-service .service-v2 .sv-massage-desc{font-size:11px}
 .page-service .service-v2 .sv-massage-cta{font-size:10px}
 .page-service .service-v2 .sv-massage-arrow{width:27px;height:27px;font-size:16px}
 .page-service .service-v2 .sv-prices-head{flex-wrap:wrap}
 .page-service .service-v2 .sv-price-grid strong{font-size:clamp(15px,4.7vw,18px)}
 .page-service .service-v2 .sv-sauna-rate>div:last-child strong{font-size:21px}
 .page-service .service-v2 .sv-offer-prices>strong{font-size:clamp(27px,8.1vw,33px)}
}
@media(prefers-reduced-motion:reduce){
 .page-service .service-v2 .sv-massage-item,.page-service .service-v2 .sv-photo img,.page-service .service-v2 .sv-sauna-image>img{transition:none}
}


/* UI/UX STEP 02 — SERVICE treatment cards only.
   At mobile widths the photograph / title form a clear first row,
   the complete client-approved description uses full card width,
   and the full-card link retains a visible action row. */
@media (max-width:739px) {
  .page-service .service-v2 .sv-massage-list {gap:14px}
  .page-service .service-v2 .sv-massage-item {
    display:grid;
    grid-template-columns:108px minmax(0,1fr);
    grid-template-areas:
      "photo label"
      "photo title"
      "desc desc"
      "cta cta";
    column-gap:16px;
    row-gap:0;
    align-items:center;
    min-height:0;
    padding:13px 15px 13px 13px;
    border-radius:14px;
  }
  .page-service .service-v2 .sv-photo {
    grid-area:photo;
    display:block;
    width:108px;
    height:108px;
    min-height:0;
    max-height:none;
    border-radius:10px;
    align-self:center;
  }
  .page-service .service-v2 .sv-photo img {width:100%;height:100%;object-fit:cover}
  .page-service .service-v2 .sv-massage-text {display:contents}
  .page-service .service-v2 .sv-massage-label {
    grid-area:label;
    align-self:end;
    font-size:11px;
    letter-spacing:.1em;
    line-height:1.45;
  }
  .page-service .service-v2 .sv-massage-text strong {
    grid-area:title;
    align-self:start;
    margin-top:6px;
    font-size:clamp(19px,5.5vw,23px);
    line-height:1.35;
    letter-spacing:-.04em;
    word-break:keep-all;
  }
  .page-service .service-v2 .sv-massage-desc {
    grid-area:desc;
    max-width:none;
    margin-top:13px;
    padding:0 1px 13px;
    font-size:14px;
    line-height:1.7;
    letter-spacing:-.012em;
    color:#626d64;
    overflow-wrap:anywhere;
    word-break:keep-all;
  }
  .page-service .service-v2 .sv-massage-cta {
    grid-area:cta;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    margin:0;
    padding:11px 2px 0;
    border-top:1px solid #ebe5dc;
    color:#42604a;
    font-size:13px;
    line-height:1.5;
    font-weight:700;
  }
  .page-service .service-v2 .sv-massage-cta span {font-size:18px;line-height:1}
  .page-service .service-v2 .sv-massage-arrow {display:none}
  .page-service .service-v2 .sv-massage-item:active {background:#f7f8f2}
}
@media (max-width:375px) {
  .page-service .service-v2 .sv-massage-item {
    grid-template-columns:96px minmax(0,1fr);
    column-gap:12px;
    padding:12px;
  }
  .page-service .service-v2 .sv-photo {width:96px;height:96px;min-height:0}
  .page-service .service-v2 .sv-massage-label {font-size:10px}
  .page-service .service-v2 .sv-massage-text strong {font-size:19px;line-height:1.35}
  .page-service .service-v2 .sv-massage-desc {font-size:14px;line-height:1.65}
  .page-service .service-v2 .sv-massage-cta {font-size:13px}
}
