:root {
  --ths-font-heading: "Playfair Display", Georgia, serif;
  --ths-font-body: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --ths-text-color: #2b2b2b;
  --ths-text-muted: #6f6a63;
  --ths-accent: #c5a46d;

  --ths-space-2xs: 0.25rem;
  --ths-space-xs: 0.5rem;
  --ths-space-sm: 0.75rem;
  --ths-space-md: 1rem;
  --ths-space-lg: 1.5rem;
  --ths-space-xl: 2rem;

  --ths-line-tight: 1.25;
  --ths-line-body: 1.65;
  --ths-shadow-text: 0 0 0 rgba(0,0,0,0.01);
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea {
  font-family: var(--ths-font-body);
  color: var(--ths-text-color);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-size: 15px;
  line-height: var(--ths-line-body);
  letter-spacing: 0.01em;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.section-title,
.banner h1,
.banner h2,
.ths-heading,
.ths-section-title,
.ths-title,
.ths-price-menu-title,
.ths-service-title,
.ths-footer-title {
  font-family: var(--ths-font-heading);
  color: var(--ths-text-color);
  line-height: var(--ths-line-tight);
  letter-spacing: 0.015em;
  text-shadow: var(--ths-shadow-text);
}

h1, .ths-heading.is-xl { font-size: clamp(2rem, 3vw, 3rem); font-weight: 600; }
h2, .ths-heading.is-lg { font-size: clamp(1.65rem, 2.5vw, 2.35rem); font-weight: 600; }
h3, .ths-heading.is-md { font-size: clamp(1.3rem, 2vw, 1.75rem); font-weight: 600; }
h4, h5, h6, .ths-heading.is-sm { font-weight: 600; }

p, li, .ths-text, .ths-body, .ths-desc, .ths-content, .ths-service-desc {
  font-family: var(--ths-font-body);
  line-height: var(--ths-line-body);
  letter-spacing: 0.01em;
}

small, .ths-label, .ths-meta, .ths-subheading, .ths-eyebrow, .ths-kicker {
  font-family: var(--ths-font-body);
  font-size: 0.825rem;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ths-accent);
}

.ths-price,
.price,
.amount,
.woocommerce-Price-amount,
.ths-service-price,
.ths-price-menu-price {
  font-family: var(--ths-font-body);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ths-accent);
}

.ths-heading + .ths-text,
.ths-section-title + .ths-text,
.ths-title + .ths-text {
  margin-top: var(--ths-space-sm);
}

.ths-stack-xs > * + * { margin-top: var(--ths-space-xs); }
.ths-stack-sm > * + * { margin-top: var(--ths-space-sm); }
.ths-stack-md > * + * { margin-top: var(--ths-space-md); }
.ths-stack-lg > * + * { margin-top: var(--ths-space-lg); }

.ths-card-copy,
.ths-service-copy,
.ths-price-copy {
  display: grid;
  gap: var(--ths-space-sm);
}

@media (max-width: 849px) {
  body { font-size: 14.5px; }
  .ths-subheading,
  .ths-label,
  .ths-meta,
  .ths-eyebrow,
  .ths-kicker {
    letter-spacing: 0.1em;
  }
}



:root {
  --ths-text-heading: #17324d;
  --ths-text-body: #6f6258;
  --ths-text-accent: #b78645;
  --ths-btn-font-size: clamp(0.92rem, 0.22vw + 0.88rem, 1rem);
  --ths-btn-line-height: 1.22;
  --ths-btn-letter-spacing: 0.01em;
}

body,
button,
input,
select,
textarea {
  color: var(--ths-text-body);
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.section-title,
.banner h1,
.banner h2,
.ths-heading,
.ths-section-title,
.ths-title,
.ths-price-menu-title,
.ths-service-title,
.ths-footer-title {
  color: var(--ths-text-heading);
}

small, .ths-label, .ths-meta, .ths-subheading, .ths-eyebrow, .ths-kicker {
  color: var(--ths-text-accent);
}

button,
.button,
a.button,
a.ux-button,
.ux-button,
.ths-button,
.ths-vc__button,
.ths-vc__action,
.ths-price-item__actions .button,
.ths-services-grid .button,
.ths-hero__actions a,
.ths-hero__buttons a {
  font-size: var(--ths-btn-font-size);
  line-height: var(--ths-btn-line-height);
  letter-spacing: var(--ths-btn-letter-spacing);
  white-space: normal;
  text-wrap: balance;
}

@media (max-width: 820px) {
  :root {
    --ths-btn-font-size: clamp(0.84rem, 1.8vw + 0.48rem, 0.95rem);
    --ths-btn-line-height: 1.18;
  }
}

/* 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;}
}
