
:root{
  --ths-ui-accent:#c7a56a;
  --ths-ui-accent-2:#b98a4a;
  --ths-ui-title:#3b2a1f;
  --ths-ui-text:#5f5145;
  --ths-ui-muted:#8b7a6b;
  --ths-ui-border:rgba(114,84,56,.12);
  --ths-ui-border-soft:rgba(114,84,56,.08);
  --ths-ui-card:#ffffff;
  --ths-ui-soft:#fbf7f2;
  --ths-ui-shadow:0 10px 30px rgba(44,30,20,.05);
  --ths-ui-shadow-soft:0 8px 22px rgba(44,30,20,.04);
  --ths-ui-radius-lg:24px;
  --ths-ui-radius-md:18px;
}

.ths-price-menu,
.ths-vc__card,
.ths-hero__content{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Banner / hero */
.ths-hero__badge{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,225,140,.22);
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  backdrop-filter:blur(8px);
}
.ths-hero__title{
  font-family:var(--ths-font-heading, "Playfair Display", serif);
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.08;
}
.ths-hero__desc,
.ths-hero__subtitle{
  font-family:var(--ths-font-body, "Inter Tight", sans-serif);
  color:rgba(255,248,236,.92);
  line-height:1.65;
}
.ths-hero__actions a,
.ths-hero__buttons a{
  border-radius:999px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

/* Price menu */
.ths-price-menu{
  border-radius:var(--ths-ui-radius-lg);
}
.ths-price-menu__title,
.ths-price-group__title,
.ths-price-item__name{
  font-family:var(--ths-font-heading, "Playfair Display", serif);
  color:var(--ths-ui-title);
}
.ths-price-menu__title{
  font-weight:700;
  letter-spacing:.01em;
}
.ths-price-group__title{
  letter-spacing:.08em;
}
.ths-price-item,
.ths-price-item__media{
  border-radius:var(--ths-ui-radius-md);
}
.ths-price-item{
  border-color:var(--ths-ui-border);
}
.ths-price-item__name{
  font-size:clamp(20px,1.45vw,24px);
  line-height:1.18;
}
.ths-price-item__desc,
.ths-price-item__excerpt,
.ths-price-menu__empty{
  font-family:var(--ths-font-body, "Inter Tight", sans-serif);
  color:var(--ths-ui-text);
  line-height:1.7;
}
.ths-price-item__price,
.ths-price-item__sale,
.ths-price-item__promo{
  color:var(--ths-ui-accent-2);
  font-weight:700;
}
.ths-price-item__cta .button,
.ths-price-item__actions .button,
.ths-price-item__actions a{
  border-radius:999px;
}

/* Services grid bridge / ths-services runtime */
.ths-services-grid .ths-services__item,
.ths-services-grid .ths-service-card,
.ths-services-grid .ths-services__card{
  background:var(--ths-ui-card);
  border:1px solid var(--ths-ui-border-soft);
  border-radius:var(--ths-ui-radius-md);
  box-shadow:var(--ths-ui-shadow-soft);
  overflow:hidden;
}
.ths-services-grid .ths-services__title,
.ths-services-grid .ths-service-card__title,
.ths-services-grid .ths-services__name{
  font-family:var(--ths-font-heading, "Playfair Display", serif);
  color:var(--ths-ui-title);
  line-height:1.18;
}
.ths-services-grid .ths-services__excerpt,
.ths-services-grid .ths-service-card__excerpt,
.ths-services-grid .ths-services__text{
  font-family:var(--ths-font-body, "Inter Tight", sans-serif);
  color:var(--ths-ui-text);
  line-height:1.68;
}
.ths-services-grid .ths-services__item .button,
.ths-services-grid .ths-service-card .button,
.ths-services-grid .ths-services__card .button{
  border-radius:999px;
}

/* Voucher contact */
.ths-vc{
  padding-top:54px;
  padding-bottom:40px;
}
.ths-vc__card{
  border-radius:var(--ths-ui-radius-lg);
}
.ths-vc__title,
.ths-vc__contactTitle,
.ths-vc__voucherTitle{
  font-family:var(--ths-font-heading, "Playfair Display", serif);
  color:var(--ths-ui-title);
  font-weight:700;
  letter-spacing:.01em;
}
.ths-vc__subtitle,
.ths-vc__contactText,
.ths-vc__note,
.ths-vc__appText{
  font-family:var(--ths-font-body, "Inter Tight", sans-serif);
  color:var(--ths-ui-text);
  line-height:1.68;
}
.ths-vc__eyebrow,
.ths-vc__contactEyebrow{
  color:var(--ths-ui-accent-2);
}
.ths-vc__timePill,
.ths-vc__action,
.ths-vc__apps a,
.ths-vc__form button,
.ths-vc__button{
  border-radius:999px;
}

/* Mobile refinement */
@media (max-width: 820px){
  .ths-price-menu{
    border-radius:18px;
    padding:18px;
  }
  .ths-price-item,
  .ths-vc__card{
    border-radius:18px;
  }
  .ths-vc{
    padding-top:42px;
    padding-bottom:30px;
  }
  .ths-hero__title{
    line-height:1.12;
  }
}

/* PHASE 1 MOBILE PATCH */
@media(max-width:768px){
  .booking-layout{display:flex!important;flex-direction:column!important;}
  .booking-right{position:relative!important;top:auto!important;}
  .summary-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;z-index:999;padding:12px;}
  .service-chip{font-size:16px!important;padding:10px 14px!important;margin:4px;}
}
