/* ══════════════════════════════════════════════
   JUSTIN BOTES — FULL CUSTOM CSS
   Paste this into: Appearance → Customize → Additional CSS
══════════════════════════════════════════════ */

/* ─── GOOGLE FONTS ────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

/* ─── COLOUR VARIABLES ────────────────────────────── */
:root {
  --bg:       #110f0d;
  --bg-mid:   #1c1815;
  --surface:  #221e1a;
  --border:   #3a322b;
  --terra:    #b8724a;
  --terra-lt: #d4906a;
  --cream:    #e8dfd2;
  --muted:    #9a8f84;
  --faint:    #5a524c;
}

/* ─── GRAIN TEXTURE OVERLAY ───────────────────────── */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");
  opacity: 0.04;
  pointer-events: none;
  z-index: 9999;
}

/* ─── BODY ────────────────────────────────────────── */
body {
  background-color: var(--bg) !important;
  color: var(--cream) !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

/* ─── HEADINGS ────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 300 !important;
  color: var(--cream) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}
h1 { font-size: clamp(44px, 6vw, 72px) !important; }
h2 { font-size: clamp(30px, 4vw, 52px) !important; }
h3 { font-size: clamp(20px, 2vw, 28px) !important; }

/* ─── ITALIC EMPHASIS (terracotta accent) ─────────── */
em, i {
  font-style: italic !important;
  color: var(--terra-lt) !important;
}

/* ─── PARAGRAPHS ──────────────────────────────────── */
p {
  color: var(--muted) !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
  font-weight: 300 !important;
}

/* ─── LINKS ───────────────────────────────────────── */
a {
  color: var(--terra) !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}
a:hover { color: var(--terra-lt) !important; }

/* ─── BUTTONS ─────────────────────────────────────── */
.wp-block-button__link,
.kb-btn, .kadence-button,
.wp-block-button .wp-block-button__link {
  background-color: var(--terra) !important;
  color: var(--bg) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 16px 40px !important;
  border: none !important;
  transition: background 0.3s, transform 0.3s !important;
}
.wp-block-button__link:hover,
.kb-btn:hover, .kadence-button:hover {
  background-color: var(--terra-lt) !important;
  transform: translateY(-2px) !important;
  color: var(--bg) !important;
}

/* ─── NAVIGATION ──────────────────────────────────── */
.site-header, header.site-header {
  background-color: rgba(17,15,13,0.95) !important;
  border-bottom: 1px solid var(--border) !important;
  backdrop-filter: blur(8px) !important;
}
.main-navigation a, header nav a,
.site-header .nav-link {
  color: var(--muted) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}
.main-navigation a:hover, header nav a:hover {
  color: var(--cream) !important;
}

/* ─── SECTION BACKGROUNDS ─────────────────────────── */
.wp-block-group, .kb-section,
section, .entry-content, .site-content {
  background-color: var(--bg) !important;
}

/* ─── CARD / BLOCK SURFACES ───────────────────────── */
.wp-block-column, .kb-column,
.wp-block-group.has-background {
  transition: background 0.4s ease !important;
}

/* ─── CARD HOVER — left border accent ────────────── */
.wp-block-column:hover,
.kb-column:hover {
  border-left: 2px solid var(--terra) !important;
}

/* ─── CTA SECTION — warm radial glow ─────────────── */
.wp-block-group.cta-section,
section.cta-section {
  position: relative;
  overflow: hidden;
}
.wp-block-group.cta-section::before,
section.cta-section::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 700px; height: 700px;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse, rgba(184,114,74,0.1) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ─── SCROLL REVEAL — initial state ──────────────── */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ─── HERO IMAGE OVERLAY ──────────────────────────── */
.hero-image-wrap img,
.wp-block-cover img {
  filter: saturate(0.6) brightness(0.7) !important;
  transition: filter 1.5s ease !important;
}

/* ─── TESTIMONIAL QUOTES ──────────────────────────── */
blockquote, .wp-block-quote {
  font-family: 'Cormorant Garamond', serif !important;
  font-style: italic !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  color: var(--cream) !important;
  border-left: none !important;
  padding: 0 !important;
  line-height: 1.65 !important;
  opacity: 0.85 !important;
}
blockquote cite, .wp-block-quote cite {
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--faint) !important;
  font-style: normal !important;
}

/* ─── FOOTER ──────────────────────────────────────── */
.site-footer {
  background-color: var(--bg) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--muted) !important;
}
.site-footer a { color: var(--muted) !important; }
.site-footer a:hover { color: var(--cream) !important; }

/* ─── HORIZONTAL RULES / DIVIDERS ─────────────────── */
hr, .wp-block-separator {
  border-color: var(--border) !important;
  opacity: 1 !important;
}

/* ─── SMALL LABEL / EYEBROW TEXT ──────────────────── */
.eyebrow, .label-text, .section-label {
  font-size: 11px !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--terra) !important;
  font-family: 'Jost', sans-serif !important;
}