.spa-service-page {
    --spa-ink: #29241f;
    --spa-muted: #6a6259;
    --spa-gold: #bc952d;
    --spa-cream: #fdf9ef;
    --spa-sticky-header: 84px;
    --spa-category-height: 72px;
    background: var(--spa-cream);
    /* Keep the document as the scroll container so both navigation bars can stick. */
    overflow: visible;
}
.spa-service-page #web-top { display: none; }
.spa-service-page > header { position: sticky; top: 0; z-index: 1000; }
.spa-service-page #web-nav,
.spa-service-page #web-nav.navbar-shrink {
    position: static;
    padding: 17px 0;
    background: #30271f;
    box-shadow: 0 2px 12px #20180f1a;
}
.spa-service-page #web-nav > .container { max-width: 1200px; gap: 24px; }
.spa-service-page #web-title { margin: 0; color: #dfc174; font-size: 34px; }
.spa-service-page #web-nav .navbar-nav { margin-left: auto; margin-right: 28px !important; gap: 16px; }
.spa-service-page #web-nav .nav-link { color: #f3eee5; font-weight: 500; text-transform: none; }
.spa-service-page #web-nav .nav-link:hover,
.spa-service-page #web-nav .nav-link.active { color: #e4c66e !important; }
.spa-service-page #web-nav .navbar-toggler { border-color: #b7a181; background: #f5e9cb; }
.spa-service-page .spa-header-book,
.spa-services .spa-book {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 11px 18px;
    border: 1px solid var(--spa-gold);
    border-radius: 6px;
    background: var(--spa-gold);
    color: #211b10;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.4;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}
.spa-service-page .spa-header-book:hover,
.spa-services .spa-book:hover { background: #d0ad4a; border-color: #d0ad4a; color: #211b10; }
.spa-services { color: var(--spa-ink); font-size: 16px; line-height: 1.65; }
.spa-services .spa-container { width: min(1200px, calc(100% - 64px)); margin: 0 auto; }
.spa-services h1,
.spa-services h2,
.spa-services h3 { color: inherit; font-family: Georgia, 'Times New Roman', serif; font-weight: 700; }
.spa-services .spa-hero {
    padding: 65px 0 52px;
    background: linear-gradient(90deg, #231b15ed, #30271f99), url('/assets/images/slider-img01.jpg') center 52% / cover;
    color: white;
}
.spa-services .spa-breadcrumb { display: flex; align-items: center; gap: 12px; margin-bottom: 32px; font-size: 14px; }
.spa-services .spa-breadcrumb a { color: #e2d8c7; text-decoration: none; }
.spa-services .spa-eyebrow { display: block; margin: 0 0 14px; color: #dfc174; font-size: 12px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.spa-services .spa-hero h1 { margin: 0 0 17px; font-size: clamp(34px, 4vw, 48px); line-height: 1.15; }
.spa-services .spa-hero__intro { max-width: 730px; margin: 0; color: #f0ebe3; font-size: 18px; line-height: 1.7; }
.spa-services .spa-hero__remark { white-space: pre-line; }
.spa-services .spa-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.spa-services .spa-hero__actions .spa-book { min-height: 48px; padding: 11px 22px; font-size: 16px; }
.spa-services .spa-hero__summary { margin: 0; color: #fff; font-size: 18px; line-height: 1.5; }
.spa-services .spa-category-nav {
    position: sticky;
    top: var(--spa-sticky-header);
    z-index: 990;
    border-bottom: 1px solid #e9e4da;
    background: #fffffffa;
    box-shadow: 0 3px 10px #30271f06;
}
.spa-services .spa-category-nav__items { display: flex; gap: 8px; overflow-x: auto; padding: 12px 0; scrollbar-width: thin; scrollbar-color: #d7ccb7 transparent; }
.spa-services .spa-category-link { flex-shrink: 0; padding: 10px 17px; border: 1px solid #e9e2d5; border-radius: 30px; background: var(--spa-cream); color: var(--spa-ink); font-size: 14px; font-weight: 600; line-height: 1.4; text-decoration: none; transition: background .2s, border-color .2s; }
.spa-services .spa-category-link:hover { border-color: #b49850; background: #f7efd9; }
.spa-services .spa-category-link.is-active { border-color: #b49850; background: #eee1bd; }
.spa-services .spa-category { padding: 56px 0; scroll-margin-top: calc(var(--spa-sticky-header) + var(--spa-category-height)); }
.spa-services .spa-category:nth-of-type(odd) { background: #fff; }
.spa-services .spa-category__heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-bottom: 25px; }
.spa-services .spa-category h2 { margin: 0; font-size: 32px; line-height: 1.3; }
.spa-services .spa-category__about { max-width: 100%; margin-left: auto; color: #7f692b; font-size: 13px; font-weight: 600; text-align: right; text-decoration: none; overflow-wrap: anywhere; }
.spa-services .spa-category__about:hover { color: #5d491a; text-decoration: underline; }
.spa-services .spa-category__about span { margin-left: 8px; }
.spa-services .spa-category__description { max-width: 850px; margin: -10px 0 25px; color: var(--spa-muted); font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.spa-services .spa-category__description > :last-child { margin-bottom: 0; }
.spa-services .spa-category__description img,
.spa-services .spa-category__description video,
.spa-services .spa-category__description iframe { max-width: 100%; }
.spa-services .spa-category__description img { height: auto; }
.spa-services .spa-category__description table { display: block; max-width: 100%; overflow-x: auto; }
.spa-services .spa-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 24px 20px; }
.spa-services .spa-treatment { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #e7e3db; border-radius: 9px; background: white; box-shadow: 0 2px 3px #29241f0a; }
.spa-services .spa-treatment__media { overflow: hidden; aspect-ratio: 3 / 2; background: #eee9df; }
.spa-services .spa-treatment__media img,
.spa-services .spa-treatment__media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.spa-services .spa-treatment__body { display: flex; flex: 1; min-width: 0; flex-direction: column; padding: 22px 20px; }
.spa-services .spa-treatment h3 { margin: 0 0 12px; font-size: 22px; line-height: 1.35; overflow-wrap: anywhere; }
.spa-services .spa-treatment__duration { display: flex; align-items: baseline; gap: 6px; margin: 0 0 16px; color: var(--spa-muted); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.spa-services .spa-treatment__title-link { color: inherit; text-decoration: none; }
.spa-services .spa-treatment__title-link:hover { color: #80661e; text-decoration: underline; text-underline-offset: 4px; }
.spa-services .spa-treatment__image-link { display: block; width: 100%; height: 100%; }
.spa-services .spa-treatment__description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin: 0 0 20px; color: var(--spa-muted); font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; white-space: pre-line; }
.spa-services .spa-treatment__description > :last-child { margin-bottom: 0; }
.spa-services .spa-treatment__description img { max-width: 100%; height: auto; }
.spa-services .spa-treatment__options { margin-top: auto; }
.spa-services .spa-option { padding-top: 16px; border-top: 1px solid #eee9df; }
.spa-services .spa-option + .spa-option { margin-top: 16px; }
.spa-services .spa-option__remark { margin: 0 0 12px; color: var(--spa-muted); font-size: 14px; overflow-wrap: anywhere; white-space: pre-line; }
.spa-services .spa-option__bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.spa-services .spa-option__prices { display: flex; min-width: 0; flex-direction: column; }
.spa-services .spa-option__price-line { display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px; }
.spa-services .spa-option__price { color: #80661e; font-size: 27px; font-weight: 700; line-height: 1.3; }
.spa-services .spa-option__old-price { color: #867e72; font-size: 14px; }
.spa-services .spa-option__secondary { margin-top: 4px; color: var(--spa-muted); font-size: 12px; overflow-wrap: anywhere; }
.spa-services .spa-service-grid--combo { grid-auto-rows: 1fr; }
.spa-services .spa-treatment--combo .spa-treatment__body { min-height: 320px; }
.spa-services .spa-combo__content { flex: 1; min-height: 120px; margin-bottom: 18px; color: var(--spa-muted); font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.spa-services .spa-combo__content > :last-child { margin-bottom: 0; }
.spa-services .spa-combo__content ul { margin: 0; padding-left: 20px; }
.spa-services .spa-combo__content li + li { margin-top: 5px; }
.spa-services .spa-combo__content .spa-combo__items { margin: 0; padding: 0; list-style: none; }
.spa-services .spa-combo__items li { display: flex; align-items: baseline; gap: 8px; }
.spa-services .spa-combo__items i { flex-shrink: 0; color: #80661e; }
.spa-services .spa-combo__items a { color: var(--spa-ink); text-decoration: underline; text-decoration-color: #d6cbb8; text-underline-offset: 4px; }
.spa-services .spa-combo__items a:hover { color: #80661e; }
.spa-services .spa-model__combos { padding: 45px 0 55px; background: var(--spa-cream); }
.spa-services .spa-model__combos h2 { margin: 0 0 24px; font-size: 30px; line-height: 1.35; }
.spa-services .spa-combo__content img { max-width: 100%; height: auto; }
.spa-services .spa-treatment--combo .spa-treatment__options { margin-top: 0; }
.spa-services .spa-treatment--combo .spa-option__bottom { align-items: flex-end; }
.spa-services .spa-combo__saving { align-self: flex-start; margin-top: 4px; padding: 0 7px; border-radius: 20px; background: var(--spa-cream); color: #80661e; font-size: 13px; font-weight: 700; }
.spa-services .spa-combo__meta,
.spa-services .spa-treatment__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-top: 4px; }
.spa-services .spa-combo__duration,
.spa-services .spa-card-duration { display: inline-flex; align-items: center; gap: 5px; color: var(--spa-muted); font-size: 14px; line-height: 1.5; }
.spa-services .spa-combo__meta .spa-combo__saving { margin-top: 0; }
.spa-services .spa-help { padding: 65px 0 70px; border-top: 1px solid #eae0c9; background: #f3ecd9; text-align: center; }
.spa-services .spa-addons { padding: 56px 0; background: #fff; }
.spa-services .spa-addons h2 { margin: 0 0 25px; font-size: 32px; line-height: 1.3; }
.spa-services .spa-addons .spa-service-grid { gap: 12px; }
.spa-services .spa-addon { display: flex; min-width: 0; flex-direction: column; padding: 18px 16px; border: 1px solid #e7e3db; border-radius: 7px; background: #fff; box-shadow: 0 2px 3px #29241f0a; }
.spa-services .spa-addon h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.35; overflow-wrap: anywhere; }
.spa-services .spa-addon .spa-treatment__duration { margin-bottom: 8px; }
.spa-services .spa-addon__description { margin: 0 0 10px; color: var(--spa-muted); font-size: 15px; overflow-wrap: anywhere; white-space: pre-line; }
.spa-services .spa-addon__price { margin: auto 0 0; color: #80661e; font-size: 15px; font-weight: 700; }
.spa-services .spa-addon__pricing { margin-top: auto; }
.spa-services .spa-help .spa-eyebrow { color: #80661e; }
.spa-services .spa-help h2 { margin: 0 0 16px; font-size: 32px; }
.spa-services .spa-help p { max-width: 640px; margin: 0 auto 25px; color: var(--spa-muted); }
.spa-services .spa-help__actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 22px; }
.spa-services .spa-help__phone { color: var(--spa-ink); font-weight: 600; text-decoration: none; }
.spa-services .spa-empty { padding-top: 70px; padding-bottom: 70px; text-align: center; }
.spa-service-page #web-to-top { z-index: 980; }
.spa-service-page #hb-footer { background: #fcfaf5; }
.spa-service-page .hb-footerbar { background: #f0ebe0; }
.spa-services a:focus-visible,
.spa-service-page .spa-header-book:focus-visible { outline: 3px solid #80661e; outline-offset: 4px; }
@media (max-width: 991.98px) {
    .spa-service-page #web-nav > .container { gap: 12px; }
    .spa-service-page #web-nav .navbar-nav { margin: 12px 0 !important; gap: 2px; }
    .spa-service-page #web-nav .spa-header-book { margin-bottom: 8px; }
    .spa-services .spa-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .spa-services .spa-container { width: calc(100% - 36px); }
    .spa-service-page #web-title { font-size: 29px; }
    .spa-services .spa-hero { padding: 35px 0 40px; }
    .spa-services .spa-breadcrumb { margin-bottom: 25px; }
    .spa-services .spa-hero__intro { font-size: 16px; }
    .spa-services .spa-category-link { padding: 10px 15px; font-size: 13px; }
    .spa-services .spa-category { padding: 35px 0; }
    .spa-services .spa-addons { padding: 35px 0; }
    .spa-services .spa-addons h2 { font-size: 27px; }
    .spa-services .spa-category h2 { font-size: 27px; }
    .spa-services .spa-category__heading { gap: 10px; }
    .spa-services .spa-category__about { font-size: 12px; }
    .spa-services .spa-service-grid { grid-template-columns: 1fr; gap: 20px; }
    .spa-services .spa-help { padding: 45px 0; }
    .spa-services .spa-help h2 { font-size: 28px; }
}
