/*
  Royal Horizon shared theme
  Keeps the generated pages visually aligned while Tailwind CDN remains in use.
*/
:root {
  --rh-primary: #005a1e;
  --rh-primary-700: #004417;
  --rh-primary-container: #1c7430;
  --rh-secondary: #795917;
  --rh-secondary-soft: #fdd183;
  --rh-secondary-fixed: #ffdea8;
  --rh-cream: #f6fbf1;
  --rh-cream-soft: #f1f5eb;
  --rh-surface: #ffffff;
  --rh-surface-high: #e5eae0;
  --rh-text: #181d17;
  --rh-muted: #40493e;
  --rh-outline: #bfcabb;
  --rh-shadow: 0 24px 60px -24px rgba(0, 40, 10, 0.34);
  --rh-shadow-soft: 0 20px 50px -18px rgba(0, 43, 10, 0.18);
  --rh-header-height: 76px;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--rh-cream);
  color: var(--rh-text);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.75;
}

.bg-background,
.bg-surface {
  background-color: var(--rh-cream) !important;
}

.bg-primary {
  background-color: var(--rh-primary) !important;
}

.bg-secondary {
  background-color: var(--rh-secondary) !important;
}

.text-primary {
  color: var(--rh-primary) !important;
}

.text-secondary {
  color: var(--rh-secondary) !important;
}

.text-on-surface,
.text-on-background {
  color: var(--rh-text) !important;
}

.text-on-surface-variant {
  color: var(--rh-muted) !important;
}

.text-on-primary,
.text-on-secondary {
  color: #fff !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-display-lg,
.font-headline-lg,
.font-headline-md,
.font-headline-sm {
  font-family: "Cormorant Garamond", Georgia, serif;
  letter-spacing: -0.018em;
}

.text-display-lg {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(3.5rem, 8vw, 7rem);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.03em;
}

.text-headline-lg {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.65rem, 4.8vw, 4.75rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.025em;
}

.text-headline-md {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.text-headline-sm {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.55rem, 2.1vw, 2rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.012em;
}

.text-body-lg {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
}

.text-body-md {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
}

.text-label-lg {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 20px;
}

.font-body-md,
.font-body-lg,
.font-label-lg,
input,
select,
textarea,
button {
  font-family: "Montserrat", system-ui, sans-serif;
}

.font-display-lg,
.font-headline-lg,
.font-headline-md,
.font-headline-sm,
.font-serif {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

h1.font-display-lg,
.font-display-lg.text-display-lg {
  font-size: clamp(3.5rem, 8vw, 7rem);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.03em;
}

h2,
.font-headline-lg,
.font-headline-md {
  text-wrap: balance;
}

p {
  line-height: 1.75;
}

section p,
main p {
  max-width: 70ch;
}

blockquote,
.italic.font-headline-lg,
.italic.font-headline-md,
.italic.font-headline-sm,
p.italic {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  letter-spacing: -0.015em;
}

.px-margin-mobile {
  padding-left: 20px;
  padding-right: 20px;
}

.py-section-gap {
  padding-top: 120px;
  padding-bottom: 120px;
}

.gap-gutter {
  gap: 32px;
}

.max-w-container-max {
  max-width: 1280px;
}

a,
button,
input,
select,
textarea,
summary {
  outline-color: var(--rh-secondary);
}

img {
  max-width: 100%;
}

::selection {
  background: var(--rh-secondary-soft);
  color: #271900;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
  line-height: 1;
  vertical-align: middle;
}
