/* ============================================
   THEME OVERRIDE — Full visual redesign
   New palette: warm burgundy / terracotta / sand
   Typography: Outfit + Source Serif 4
   ============================================ */

:root {
  --t-primary: #722f37;
  --t-primary-hover: #5c262d;
  --t-primary-light: #a84a3d;
  --t-accent: #c45c3e;
  --t-sand: #d4a574;
  --t-cream: #e8dcc4;
  --t-bg-light: #faf6f0;
  --t-dark: #2d1810;
  --t-dark-2: #4a2c28;
  --t-text: #2d1810;
  --t-text-muted: #5c4a42;
  --t-white: #ffffff;
  --t-radius: 12px;
  --t-radius-lg: 20px;
  --t-shadow: 0 4px 24px rgba(45, 24, 16, 0.08);
  --t-shadow-hover: 0 8px 32px rgba(45, 24, 16, 0.12);
}

/* Typography */
.u-body,
body.u-body {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: var(--t-text) !important;
  background-color: var(--t-bg-light) !important;
  line-height: 1.65 !important;
  letter-spacing: 0.01em !important;
}

.u-text-1, .u-text-2, .u-text-3, .u-text-4, .u-text-5, .u-text-6, .u-text-7, .u-text-8,
h1, h2, h3, h4, .u-section-1 .u-text-1, .u-section-2 .u-text-1, .u-section-3 .u-text-1,
.u-section-4 .u-text-1, .u-section-5 .u-text-1, .u-section-6 .u-text-1, .u-section-7 .u-text-1 {
  font-family: 'Source Serif 4', Georgia, serif !important;
  color: var(--t-dark) !important;
  letter-spacing: -0.02em !important;
}

.u-section-1 .u-text-1 {
  font-size: clamp(1.75rem, 4vw, 2.75rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

h2.u-text-1, .u-section-7 .u-text-1 {
  font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
  font-weight: 600 !important;
}

h3.u-text-1, .u-section-2 .u-text-1, .u-section-3 .u-text-1, .u-section-4 .u-text-1,
.u-section-5 .u-text-1, .u-section-6 .u-text-1 {
  font-size: clamp(1.35rem, 2.5vw, 2rem) !important;
  font-weight: 600 !important;
}

/* Header */
.u-header,
header.u-header,
.u-palette-1-light-2.u-header {
  background: var(--t-dark) !important;
  border: none !important;
  padding: 1rem 0 !important;
  box-shadow: var(--t-shadow) !important;
}

.u-header .u-sheet {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

.u-logo-image {
  max-height: 48px !important;
  width: auto !important;
  filter: brightness(0) invert(1);
}

.u-nav-link {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
  padding: 10px 18px !important;
  border-radius: var(--t-radius) !important;
  transition: background 0.2s, color 0.2s !important;
}

.u-nav-link:hover,
.u-text-hover-white:hover {
  color: var(--t-cream) !important;
  background: rgba(255,255,255,0.08) !important;
}

.u-text-grey-90 {
  color: var(--t-cream) !important;
}

.u-text-active-white {
  color: var(--t-white) !important;
}

/* Sections — backgrounds */
.u-palette-1-light-3,
section.u-palette-1-light-3,
.u-section-1.u-palette-1-light-3,
.u-section-3.u-palette-1-light-3,
.u-section-5.u-palette-1-light-3,
.u-section-7.u-palette-1-light-3 {
  background: linear-gradient(135deg, #f5efe6 0%, var(--t-bg-light) 100%) !important;
}

.u-color-scheme-u10.u-white,
.u-white.u-section-2,
.u-white.u-section-4,
.u-white.u-section-6 {
  background: var(--t-white) !important;
  box-shadow: 0 1px 0 rgba(45,24,16,0.06) inset;
}

.u-section-2 .u-list-item,
.u-section-2 .u-container-layout-3,
.u-section-2 .u-container-layout-4 {
  background: var(--t-white) !important;
  border-radius: var(--t-radius) !important;
  padding: 1.5rem !important;
  box-shadow: var(--t-shadow) !important;
  border: 1px solid rgba(45,24,16,0.06) !important;
}

.u-palette-1-base.u-section-8 {
  background: linear-gradient(160deg, var(--t-primary) 0%, var(--t-dark-2) 100%) !important;
}

/* Footer */
.u-footer,
footer.u-footer,
.u-palette-1-dark-3.u-footer {
  background: var(--t-dark) !important;
  color: var(--t-cream) !important;
  padding: 3rem 0 2rem !important;
}

.u-footer .u-sheet {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
}

.u-footer h3 {
  font-family: 'Source Serif 4', serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--t-cream) !important;
  margin-bottom: 0.75rem !important;
  text-transform: none !important;
}

.u-footer .u-text-1,
.u-footer .u-text-2,
.u-footer span,
.u-footer p {
  color: rgba(232, 220, 196, 0.9) !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}

.u-footer a.u-btn {
  display: inline-block !important;
  margin: 0.4rem 0.5rem 0.4rem 0 !important;
  padding: 0.5rem 1rem !important;
  border-radius: var(--t-radius) !important;
  border: 1px solid rgba(232,220,196,0.4) !important;
  color: var(--t-cream) !important;
  font-weight: 500 !important;
  transition: background 0.2s, border-color 0.2s !important;
}

.u-footer a.u-btn:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: var(--t-cream) !important;
  color: var(--t-white) !important;
}

/* Buttons */
.u-btn,
.u-button-style,
.u-btn-1,
.u-btn-submit {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  border-radius: var(--t-radius) !important;
  padding: 0.85rem 1.75rem !important;
  border: none !important;
  box-shadow: var(--t-shadow) !important;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s !important;
}

.u-btn:hover,
.u-button-style:hover,
.u-btn-1:hover,
.u-hover-palette-1-dark-1:hover {
  transform: translateY(-1px) !important;
  box-shadow: var(--t-shadow-hover) !important;
}

.u-palette-1-base.u-btn-1,
.u-button-style.u-palette-1-base,
.u-btn-submit {
  background: var(--t-primary) !important;
  color: var(--t-white) !important;
}

.u-palette-1-base.u-btn-1:hover,
.u-button-style.u-palette-1-base:hover {
  background: var(--t-primary-hover) !important;
  color: var(--t-white) !important;
}

/* Form */
.u-form-1 .u-input,
.u-form-1 input,
.u-form-1 textarea {
  border-radius: var(--t-radius) !important;
  border: 1px solid var(--t-cream) !important;
  padding: 0.75rem 1rem !important;
  font-family: 'Outfit', sans-serif !important;
  background: var(--t-white) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

.u-form-1 .u-input:focus,
.u-form-1 input:focus,
.u-form-1 textarea:focus {
  outline: none !important;
  border-color: var(--t-primary) !important;
  box-shadow: 0 0 0 3px rgba(114,47,55,0.15) !important;
}

.u-section-8 .u-text-1 {
  color: var(--t-white) !important;
}

/* Links in content */
.u-btn-1.u-button-link,
.u-btn-2.u-button-link,
a.u-button-link {
  color: var(--t-primary-light) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

a.u-button-link:hover {
  color: var(--t-primary) !important;
}

.u-text-palette-1-dark-3 {
  color: var(--t-dark) !important;
}

/* Images */
.u-image {
  border-radius: var(--t-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--t-shadow) !important;
}

/* Sheet / container */
.u-sheet {
  max-width: 1140px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Palette overrides (nicepage palette-1 mapping) */
.u-palette-1-dark-3,
.u-body.u-palette-1-dark-3,
section.u-palette-1-dark-3:before,
.u-palette-1-dark-3 > .u-container-layout:before,
.u-footer.u-palette-1-dark-3,
.u-table-alt-palette-1-dark-3 tr:nth-child(even) {
  background-color: var(--t-dark) !important;
  color: var(--t-cream) !important;
}

.u-palette-1-dark-2,
.u-body.u-palette-1-dark-2,
section.u-palette-1-dark-2:before {
  background-color: var(--t-dark-2) !important;
  color: var(--t-cream) !important;
}

.u-palette-1-dark-1,
.u-body.u-palette-1-dark-1,
.u-palette-1-base,
.u-body.u-palette-1-base,
section.u-palette-1-base:before,
.u-button-style.u-palette-1-base,
.u-button-style.u-palette-1-dark-1 {
  background-color: var(--t-primary) !important;
  color: var(--t-white) !important;
}

.u-palette-1,
.u-body.u-palette-1 {
  background-color: var(--t-primary-light) !important;
  color: var(--t-white) !important;
}

.u-palette-1-light-1,
.u-body.u-palette-1-light-1 {
  background-color: var(--t-sand) !important;
  color: var(--t-dark) !important;
}

.u-palette-1-light-2,
.u-body.u-palette-1-light-2,
.u-header.u-palette-1-light-2 {
  background-color: var(--t-dark) !important;
  color: var(--t-cream) !important;
}

.u-palette-1-light-3,
.u-body.u-palette-1-light-3,
section.u-palette-1-light-3:before {
  background-color: var(--t-bg-light) !important;
  color: var(--t-text) !important;
}

/* Text color classes */
.u-text-palette-1-dark-3,
.u-text-1.u-text-default {
  color: var(--t-dark) !important;
}

.u-text-active-palette-1-base,
.u-text-hover-palette-1-light-1,
.u-text-hover-palette-2-base {
  color: var(--t-cream) !important;
}

/* Mobile menu */
.u-sidenav,
.u-menu-overlay {
  background: var(--t-dark) !important;
}

.u-nav-2 .u-nav-link {
  color: var(--t-cream) !important;
}

/* Contact / footer email link */
.u-footer .__cf_email__,
.u-footer a[data-cfemail] {
  color: var(--t-sand) !important;
}

.u-footer a[href^="mailto"]:hover,
.u-footer .u-text-2 a:hover {
  color: var(--t-white) !important;
}

/* Section spacing and layout */
.u-section-1 .u-sheet-1,
.u-section-2 .u-sheet-1,
.u-section-3 .u-sheet-1,
.u-section-4 .u-sheet-1,
.u-section-5 .u-sheet-1,
.u-section-6 .u-sheet-1,
.u-section-7 .u-sheet-1,
.u-section-8 .u-sheet-1 {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

@media (min-width: 768px) {
  .u-section-1 .u-sheet-1 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
  .u-section-2 .u-sheet-1,
  .u-section-3 .u-sheet-1,
  .u-section-4 .u-sheet-1,
  .u-section-5 .u-sheet-1,
  .u-section-6 .u-sheet-1,
  .u-section-7 .u-sheet-1 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
  .u-section-8 .u-sheet-1 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
}

/* List/card items on index */
.u-list-1 .u-repeater-item .u-container-layout {
  border-radius: var(--t-radius) !important;
}

/* Body text color fallback */
.u-section-2 .u-text-2,
.u-section-2 .u-text-4,
.u-section-2 .u-text-6,
.u-section-2 .u-text-8,
.u-section-3 .u-text-2,
.u-section-3 .u-text-3,
.u-section-4 .u-text-2,
.u-section-4 .u-text-4,
.u-section-4 .u-text-6,
.u-section-4 .u-text-8,
.u-section-5 .u-text-2,
.u-section-5 .u-text-3,
.u-section-6 .u-text-2,
.u-section-6 .u-text-4,
.u-section-6 .u-text-6,
.u-section-6 .u-text-8,
.u-section-7 .u-text-2 {
  color: var(--t-text) !important;
}

.u-section-2 .u-text-3,
.u-section-2 .u-text-5,
.u-section-2 .u-text-7,
.u-section-4 .u-text-3,
.u-section-4 .u-text-5,
.u-section-4 .u-text-7,
.u-section-6 .u-text-3,
.u-section-6 .u-text-5,
.u-section-6 .u-text-7 {
  color: var(--t-primary) !important;
}
