/* ════════════════════════════════════════════════════════════════
   BLUE RIDGE RESILIENCE THERAPY — translated from old site styles.css
   Typography: Cormorant Garamond (display) + Inter (body)
   Palette: warm shell, plum, clay
   ════════════════════════════════════════════════════════════════ */

/* ─── DESIGN TOKENS (from old site) ─── */
:root {
  --shell:      #EFE8DC;
  --shell-deep: #E4DCC9;
  --milk:       #F8F3E7;
  --clay:       #D3673E;
  --clay-dk:    #A84C27;
  --clay-soft:  #E8A07F;
  --plum:       #4A2C1E;
  --ink:        #231812;
  --mid:        #5B4A3F;
  --muted:      #8C7D70;
  --moss:       #4E5A3E;
  --rule:       rgba(35, 24, 18, 0.14);
  --rule-soft:  rgba(35, 24, 18, 0.07);
  --display:    'Cormorant Garamond', Georgia, serif;
  --body:       'Inter', system-ui, -apple-system, sans-serif;
  --hero-figure-radius: 280px 280px 40px 40px;
}

/* ─── BASE TYPOGRAPHY ─── */
body, .wp-site-blocks {
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink);
  background: var(--shell);
  letter-spacing: -0.005em;
}

::selection { background: var(--clay); color: var(--milk); }

/* ─── HIDE PAGE TITLE + DIVIDER ON ALL CUSTOM-BUILT PAGES ─── */
.page .wp-block-post-title,
body.page .entry-title { display: none !important; }
.page .wp-block-separator { display: none !important; }

/* ─── HEADER ─── */
.wp-block-template-part header,
.wp-site-blocks > header,
header.wp-block-template-part {
  background-color: rgba(239, 232, 220, 0.95) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--rule-soft);
  padding: 18px 40px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

/* Site title */
.wp-block-site-title a {
  font-family: var(--display) !important;
  font-style: italic !important;
  font-weight: 500 !important;
  color: var(--plum) !important;
  font-size: 26px !important;
  text-decoration: none !important;
  letter-spacing: 0.005em !important;
  line-height: 1.1 !important;
}

/* Navigation */
.wp-block-navigation { gap: 28px !important; }
.wp-block-navigation .wp-block-navigation-item__content {
  font-family: var(--body) !important;
  font-size: 14px !important;
  color: var(--mid) !important;
  font-weight: 400 !important;
  padding: 6px 0 !important;
  position: relative !important;
  transition: color 0.2s !important;
}
.wp-block-navigation .wp-block-navigation-item__content::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: var(--clay);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.wp-block-navigation .wp-block-navigation-item__content:hover {
  color: var(--plum) !important;
}
.wp-block-navigation .wp-block-navigation-item__content:hover::after {
  transform: scaleX(1);
}
.wp-block-navigation .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
  color: var(--plum) !important;
}
.wp-block-navigation .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content::after {
  transform: scaleX(1);
}

/* Hide hamburger on desktop */
@media (min-width: 600px) {
  .wp-block-navigation__responsive-container-open { display: none !important; }
}

/* ─── HEADINGS ─── */
.wp-site-blocks h1,
.wp-site-blocks h2,
.wp-site-blocks h3,
.wp-site-blocks h4 {
  font-family: var(--display);
  font-weight: 400;
  line-height: 1;
  color: var(--plum);
  letter-spacing: -0.01em;
}

/* ─── BUTTONS ─── */
.wp-block-button .wp-block-button__link {
  font-family: var(--body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: var(--plum) !important;
  color: var(--milk) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 15px 26px !important;
  letter-spacing: 0.01em !important;
  transition: background 0.3s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}
.wp-block-button .wp-block-button__link:hover {
  background: var(--clay-dk) !important;
}

/* Outline button variant */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--plum) !important;
  border: 1px solid rgba(35, 24, 18, 0.28) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--plum) !important;
  color: var(--milk) !important;
  border-color: var(--plum) !important;
}

/* ─── HERO PHOTO ARCH ─── */
.kate-hero-photo img,
.wp-block-image.kate-hero-photo img {
  border-radius: var(--hero-figure-radius) !important;
  object-fit: cover;
  object-position: center 20%;
}
.kate-hero-photo {
  position: relative;
  z-index: 1;
}
.kate-hero-photo::after {
  content: '';
  position: absolute;
  inset: 20px -20px -20px 20px;
  border: 2px solid var(--clay);
  border-radius: var(--hero-figure-radius);
  z-index: -1;
  pointer-events: none;
}

/* ─── OFFICE / WORK PHOTO ─── */
.kate-office-photo img,
.kate-plant-photo img {
  border-radius: 24px !important;
}

/* ─── KICKER / EYEBROW LABELS ─── */
.kicker, .eyebrow-label {
  font-family: var(--body);
  font-size: 11.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--clay-dk);
  font-weight: 500;
}

/* ─── FULL-WIDTH SECTIONS ─── */
.wp-site-blocks .alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}

/* ─── HIDE DEFAULT WORDPRESS FOOTER ─── */
.wp-block-template-part footer,
.wp-site-blocks > footer,
footer.wp-block-template-part {
  display: none !important;
}


/* ─── PAGE BACKGROUND (no plum bleed) ─── */
html, body, .wp-site-blocks { background: var(--shell); }

/* ─── HEADER FULL WIDTH FIX ─── */
.wp-block-template-part header,
.wp-site-blocks > header,
header.wp-block-template-part {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Constrain header content to a centered max-width */
header.wp-block-template-part > .wp-block-group,
.wp-site-blocks > header > .wp-block-group {
  max-width: 1440px !important;
  margin: 0 auto !important;
}


/* ─── HIDE JETPACK SHARING + LIKE + COMMENT BLOCKS ─── */
.sharedaddy,
.sd-block,
.jp-relatedposts,
#jp-post-flair,
.sharing-hidden,
.entry-footer { display: none !important; }
.post-comments,
.comments-area { display: none !important; }


/* ─── HEADER POLISH (Phase 2 refinements) ─── */

/* Tighten the site header and make it sticky with an opaque bg on scroll */
.brr-site-header,
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(239, 232, 220, 0.92); /* shell, translucent */
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid rgba(74, 44, 30, 0.08);
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

/* Wordmark: smaller, refined brand mark instead of headline-sized */
.brr-wordmark,
.brr-site-header .wp-block-site-title,
header .wp-block-site-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.35rem !important;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.005em;
  line-height: 1.1;
}
.brr-wordmark a,
.brr-site-header .wp-block-site-title a,
header .wp-block-site-title a {
  color: #4A2C1E !important;
  text-decoration: none !important;
}

/* Primary nav links */
.brr-primary-nav .wp-block-navigation-item__content,
header .wp-block-navigation a {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
  color: #4A2C1E !important;
  text-decoration: none !important;
  transition: color .18s ease;
}
header .wp-block-navigation a:hover {
  color: #A84C27 !important;
}

/* Active-page underline marker (matches the orange accent style) */
header .current-menu-item > a::after,
header .current_page_item > a::after {
  content: "";
  display: block;
  height: 2px;
  background: #A84C27;
  margin-top: 4px;
  border-radius: 2px;
}

/* ─── SCHEDULE CTA PILL ─── */
header .brr-nav-cta a,
header li.brr-nav-cta > a,
header .wp-block-navigation-item.brr-nav-cta a {
  background: #A84C27 !important;
  color: #F8F3E7 !important;
  padding: 0.55rem 1.15rem !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.02em;
  box-shadow: 0 1px 0 rgba(74,44,30,0.08), 0 6px 14px -10px rgba(168,76,39,0.55);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
header .brr-nav-cta a:hover,
header li.brr-nav-cta > a:hover {
  background: #8E3D1F !important;
  color: #F8F3E7 !important;
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(74,44,30,0.08), 0 10px 20px -10px rgba(168,76,39,0.7);
}
header .brr-nav-cta.current-menu-item > a::after,
header .brr-nav-cta.current_page_item > a::after { display: none !important; }

/* Give content below the sticky header some breathing room when jump-linking */
main { scroll-padding-top: 80px; }


/* ─── HEADER LAYOUT FIX (Contact page added — keep nav on one line) ─── */
/* Prevent wordmark from wrapping and keep nav single-line */
header .brr-wordmark,
header .wp-block-site-title {
  white-space: nowrap;
  flex-shrink: 0;
}
header .wp-block-navigation,
header .brr-primary-nav {
  flex-wrap: nowrap !important;
}
header .wp-block-navigation .wp-block-navigation__container {
  flex-wrap: nowrap !important;
}

/* Slightly tighten nav gap to fit 5 items + CTA on one row */
header .wp-block-navigation > .wp-block-navigation__container,
header .wp-block-navigation ul {
  gap: 1.5rem !important;
}

/* Make nav links slightly smaller so everything fits */
@media (min-width: 1024px) {
  .brr-primary-nav .wp-block-navigation-item__content,
  header .wp-block-navigation a:not(.brr-nav-cta a) {
    font-size: 0.88rem !important;
  }
}

/* ─── CTA OUTLINE BUTTON (Contact page bottom band) ─── */
/* The "Email instead" outlined button on dark plum needs visible border + text */
.wp-block-button.is-style-outline a.wp-block-button__link {
  border-style: solid !important;
}


/* Force individual nav items to never wrap their own text */
header .wp-block-navigation-item__content,
header .wp-block-navigation a {
  white-space: nowrap !important;
}


/* ─── BUTTON COLOR ENFORCEMENT (Contact page) ─── */
/* The theme's wp-element-button style is overriding inline background colors.
   Force clay-orange backgrounds where we explicitly set them. */
a.wp-block-button__link[style*="A84C27"] {
  background-color: #A84C27 !important;
  color: #F8F3E7 !important;
}
a.wp-block-button__link[style*="A84C27"]:hover {
  background-color: #8E3D1F !important;
}

/* Outline button on dark plum: "Email instead" */
.wp-block-button.is-style-outline a.wp-block-button__link {
  background-color: transparent !important;
  border-style: solid !important;
  border-width: 1px !important;
}
.wp-block-button.is-style-outline a.wp-block-button__link[style*="D6A98C"] {
  border-color: #D6A98C !important;
  color: #F8F3E7 !important;
}
.wp-block-button.is-style-outline a.wp-block-button__link[style*="D6A98C"]:hover {
  background-color: rgba(214, 169, 140, 0.12) !important;
  border-color: #F8F3E7 !important;
}


/* ─── CTA BUTTON CLASSES (typography/padding moved here so block markup stays validator-clean) ─── */
.wp-block-button.brr-cta-pill a.wp-block-button__link {
  padding: 0.95rem 2rem !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  background-color: #A84C27 !important;
  color: #F8F3E7 !important;
  box-shadow: 0 1px 0 rgba(74,44,30,0.08), 0 8px 18px -12px rgba(168,76,39,0.55);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.wp-block-button.brr-cta-pill a.wp-block-button__link:hover {
  background-color: #8E3D1F !important;
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(74,44,30,0.08), 0 12px 22px -12px rgba(168,76,39,0.7);
}

.wp-block-button.brr-cta-outline a.wp-block-button__link {
  padding: 0.9rem 1.85rem !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  background-color: transparent !important;
  border-style: solid !important;
  border-width: 1px !important;
  border-color: #D6A98C !important;
  color: #F8F3E7 !important;
  transition: background .18s ease, border-color .18s ease;
}
.wp-block-button.brr-cta-outline a.wp-block-button__link:hover {
  background-color: rgba(214, 169, 140, 0.12) !important;
  border-color: #F8F3E7 !important;
}


/* === Claude tweaks: Kate body left-align + banner CTA visibility === */
.brt-kate-body, .brt-kate-body p {
  text-align: left !important;
}

.brt-banner-cta .wp-block-button__link,
.brt-banner-cta a.wp-block-button__link {
  background-color: #EFE8DC !important;
  color: #4A2C1E !important;
}
.brt-banner-cta .wp-block-button__link:hover,
.brt-banner-cta a.wp-block-button__link:hover {
  background-color: #F8F3E7 !important;
  color: #4A2C1E !important;
}


/* === Claude tweaks: sticky header polish === */
header.wp-block-template-part{
  position: sticky;
  top: 0;
  z-index: 100;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 1px 0 rgba(35,24,18,0.06), 0 6px 18px rgba(35,24,18,0.05);
  box-sizing: border-box;
  overflow-x: clip;
}

/* === Claude tweaks: header fit (mid-width) === */
@media (min-width: 783px) and (max-width: 1200px){
  .brr-site-header{ box-sizing: border-box !important; column-gap: 14px !important; }
  .brr-site-header .wp-block-navigation{ column-gap: clamp(8px, 1.1vw, 15px) !important; flex-wrap: nowrap !important; }
  .brr-site-header .wp-block-navigation .wp-block-navigation-item__content{ font-size: 14px !important; white-space: nowrap !important; }
  .brr-site-header .brr-wordmark, .brr-site-header .brr-wordmark a{ font-size: clamp(15px, 1.5vw, 20px) !important; white-space: nowrap !important; line-height: 1.15 !important; }
  .brr-site-header .wp-block-button__link{ padding-left: 13px !important; padding-right: 13px !important; font-size: 14px !important; white-space: nowrap !important; }
}

/* === Claude tweaks: reserve scrollbar gutter (kills 100vw full-bleed h-scroll; keeps sticky) === */
html{ scrollbar-gutter: stable; }

/* === Claude tweaks: soft CTA on dark band (Individual Therapy) === */
.brt-soft-cta .wp-block-button__link,
.brt-soft-cta a.wp-block-button__link {
  background-color: #EFE8DC !important;
  color: #4A2C1E !important;
}
.brt-soft-cta .wp-block-button__link:hover,
.brt-soft-cta a.wp-block-button__link:hover {
  background-color: #F8F3E7 !important;
  color: #4A2C1E !important;
}


/* === Claude tweaks: who-card equal size + visible border === */
.who-section .wp-block-columns { align-items: stretch !important; }
.who-section .wp-block-column { display: flex !important; }
.who-card {
  height: 100% !important;
  width: 100% !important;
  border-color: #D6A98C !important;
  border-width: 1.5px !important;
  border-style: solid !important;
}


/* === Claude tweaks: concern-item equal size + visible border === */
.addresses-section .wp-block-columns { align-items: stretch !important; }
.addresses-section .wp-block-column { display: flex !important; }
.concern-item {
  min-height: 98px !important;
  height: 100% !important;
  width: 100% !important;
  border-color: #D6A98C !important;
  border-width: 1.5px !important;
  border-style: solid !important;
}


/* === Claude tweaks: Couples step + stat cards (equal size + contrast border) === */
/* Step cards: equal height + visible terracotta border */
.brt-step-card { display:flex; flex-direction:column; }
.wp-block-column:has(> .brt-step-card) { display:flex !important; }
.brt-step-card {
  height: 100% !important;
  width: 100% !important;
  min-height: 250px !important;
  border-color: #D6A98C !important;
  border-width: 1.5px !important;
  border-style: solid !important;
}
/* Stat cards: equal height on the dark band */
.wp-block-column:has(> .brt-stat-card), .wp-block-column:has(.brt-stat-card) { }
.brt-stat-card {
  height: 100% !important;
  min-height: 185px !important;
}


/* === Claude tweaks: About Kate pills + photo inset === */
/* Quality pills: contrasting terracotta border */
.brt-quality-pill {
  border-color: #D6A98C !important;
  border-width: 1.5px !important;
  border-style: solid !important;
}
/* About-me photos: keep grid inset from the left edge on narrower screens */
.brt-about-photos { max-width: 100%; }
@media (max-width: 1180px) {
  .brt-about-photos { flex-wrap: nowrap; }
  .brt-about-photos > .wp-block-column { min-width: 0; }
  .brt-about-photos img { width: 100%; height: auto; }
}

/* === Claude tweaks: Rates pricing cards + pay pills === */
.brt-price-card{border-color:#D6A98C !important;border-width:1.5px !important;border-style:solid !important;border-radius:24px !important;}
.brt-pay-pill{border-color:#D6A98C !important;border-width:1.5px !important;border-style:solid !important;}

/* === Claude tweaks: Contact info cards === */
.brt-contact-card{border-color:#D6A98C !important;border-width:1.5px !important;border-style:solid !important;border-radius:24px !important;height:100% !important;}
.wp-block-columns:has(.brt-contact-card){align-items:stretch !important;}

/* === Claude tweaks: Contact card link === */
.brt-contact-card a{color:#A84C27 !important;text-decoration-color:rgba(168,76,39,0.5) !important;text-underline-offset:2px;}


/* EQUAL CARD HEIGHTS - How we meet (In Person / Online) */
.wp-block-column:has(> .tele-card){display:flex;}
.wp-block-column > .tele-card{height:100%;}


/* EQUAL PRICE CARD HEIGHTS - Session fees (Individual / Couples) */
.wp-block-column:has(> .brt-price-card){display:flex;}
.wp-block-column > .brt-price-card{height:100%;}


/* MOBILE HEADER FIX — shrink wordmark so the menu button stays on screen (added 2026-06-12) */
@media (max-width: 599px) {
  /* the desktop full-width breakout + 40px padding shifts content off-screen on phones */
  header.wp-block-template-part {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .wp-site-blocks .brr-site-header.alignfull,
  .brr-site-header {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .brr-site-header > .wp-block-group {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .brr-site-header h1.wp-block-site-title,
  .brr-site-header h1.wp-block-site-title a,
  header .wp-block-site-title a {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }
  .brr-site-header h1.wp-block-site-title,
  header .wp-block-site-title {
    flex-shrink: 1 !important;
    min-width: 0 !important;
  }
  /* closing headline is inline-styled at 88px; the word "connection." overflows phones */
  .closing-headline {
    font-size: clamp(40px, 14vw, 56px) !important;
    line-height: 1.05 !important;
  }
  /* safety net: never allow sideways scroll on phones */
  html, body { overflow-x: clip; }
}


/* WARM FILTER — homepage couples photo, match site palette (added 2026-06-12) */
img[src*="czNmcy1wcml2YXRlL3Jhd3BpeGVsX2ltYWdlcy93ZWJzaXRlX2NvbnRlbnQvbHIvcHgxNDE4OTY2LWltYWdlLWt3dnh5aXlvLmpwZw.webp"] {
  filter: sepia(0.30) saturate(0.95) brightness(1.08) contrast(0.97);
}