
h1, h2, h3, h4, h5, h6 {
  letter-spacing: -0.02em;
}

button {
  font: inherit;
  color: inherit;
  transition: background 0.2s var(--ease), border-color 0.2s var(--ease), color 0.2s var(--ease),
    box-shadow 0.2s var(--ease), opacity 0.2s var(--ease), transform 0.2s var(--ease);
}

button * {
  transition: color 0.2s var(--ease), opacity 0.2s var(--ease), transform 0.2s var(--ease);
}

/* Shared primary-action button: used site-wide wherever a page needs a
   solid call-to-action button (booking form submit, price sheet's Request
   to Book/Apply, etc.), so it belongs in the globally-loaded base sheet
   rather than a single page's stylesheet. */
.btn-primary {
  width: 100%;
  padding: 16px 32px;
  border: none;
  border-radius: var(--radius-md);
  background: var(--accent);
  color: var(--accent-contrast);
  font: inherit;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s var(--ease);
}

.btn-primary:hover {
  background: var(--dusk-deep);
}

.btn-primary:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.btn-primary:disabled:hover {
  background: var(--accent);
}

a {
  color: inherit;
  text-decoration: none;
}

:focus-visible {
  outline: 2px solid var(--dusk-glow);
  outline-offset: 3px;
  border-radius: 4px;
}

.icon {
  width: 1em;
  height: 1em;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

/* ============================================================
   Headline accent: one Playfair Display bold-italic phrase inside an
   otherwise-Inter headline, editorial-style. Playfair's default tracking
   reads loose at display sizes in bold italic, so it gets tighter tracking
   scoped to this class only; the rest of the site's existing (regular
   weight, upright) --font-serif usage elsewhere is untouched.
   ============================================================ */
.headline-accent {
  font-family: var(--font-display);
  font-weight: 700;
  font-style: italic;
  letter-spacing: -0.015em;
}

/* ============================================================
   Scrollbar: thin brass thumb floating over a transparent track
   (no visible track/rail), applied globally so the page scrollbar and
   every internally-scrolling panel (field panels, price sheet, photo
   tour nav) match. The thumb "floats" via a transparent border +
   background-clip: padding-box; that inset gives it room to sit clear
   of the edge instead of spanning the full scrollbar width like a
   default rail-filling thumb. Firefox has no track/floating-inset
   equivalent, so it just gets a thin colored thumb on a transparent
   track via scrollbar-color. ---- */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--ink-rgb), 0.35) transparent;
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  background-color: rgba(var(--ink-rgb), 0.28);
  border-radius: var(--radius-pill);
  border: 3px solid transparent;
  background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
  background-color: rgba(var(--dusk-glow-rgb), 0.6);
}

