/* Lightfull Psychology Design System */
body, .site {
  background-color: #FAFAF7 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  color: #2B2B28 !important;
  line-height: 1.7 !important;
  font-size: 16.5px !important;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6,.entry-title,.wp-block-heading,.kadence-title .entry-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  color: #2B2B28 !important;
  letter-spacing: -0.01em;
}
h1,.entry-title { font-size: 2.8rem !important; letter-spacing: -0.02em; }
h2 { font-size: 1.8rem !important; }
h3 { font-size: 1.25rem !important; }
.entry-content p,.entry-content li { color: #5A5A55; line-height: 1.7; }
.entry-content a:not(.wp-block-button__link) { color: #5E7E6E; text-decoration: none; }
.entry-content a:not(.wp-block-button__link):hover { color: #4D6A5C; }
.entry-content-wrap,.content-container { max-width: 780px !important; margin: 0 auto; }
.wp-block-button__link,.entry-content .wp-block-button__link {
  background-color: #5E7E6E !important; color: #FFF !important;
  border-radius: 4px !important; padding: 0.85rem 2rem !important;
  font-size: 0.9rem !important; letter-spacing: 0.03em;
  text-transform: uppercase; border: none !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}
.wp-block-button__link:hover { background-color: #4D6A5C !important; color: #FFF !important; }
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important; border: 1.5px solid #5E7E6E !important; color: #5E7E6E !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #5E7E6E !important; color: #FFF !important;
}
.wp-block-separator { border-color: #DDD9D0 !important; opacity: 1; }
.site-header {
  background: rgba(250,250,247,0.95) !important;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid #DDD9D0 !important; box-shadow: none !important;
}
.site-branding .site-title,.site-branding 
.header-navigation .header-menu-container > ul > li > a,.header-navigation a {
  font-size: 0.85rem !important; color: #5A5A55 !important;
  letter-spacing: 0.03em; text-transform: uppercase;
}
.header-navigation a:hover { color: #2B2B28 !important; }
.site-footer {
  background: #2B2B28 !important; color: rgba(255,255,255,0.75) !important;
}
.site-footer a { color: rgba(255,255,255,0.85) !important; }
.site-footer h2,.site-footer h3,.site-footer h4,.site-footer .widget-title { color: #FFF !important; }
.site-footer p { color: rgba(255,255,255,0.75) !important; }
.entry-hero-container-inner { padding: 4rem 0 1.5rem !important; }
.wp-block-columns { gap: 1.5rem; }
.wp-block-column { border-radius: 6px; }

/* === ALIGNMENT & CONSISTENCY FIXES === */

/* Ensure all page content is left-aligned by default */
.entry-content, .entry-content p, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content ul, .entry-content ol {
  text-align: left !important;
}

/* Hero/page title section - centered on home, left on inner pages */
.home .entry-hero-container-inner,
.home .entry-content > .wp-block-heading:first-of-type {
  text-align: center;
}

/* Center buttons when in a buttons block */
.wp-block-buttons {
  justify-content: flex-start;
}

/* Home page hero centered */
body.home .entry-content > p:first-of-type,
body.page-id-630 .entry-content > .wp-block-heading:first-of-type,
body.page-id-630 .entry-content > p:first-of-type {
  text-align: center !important;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

body.page-id-630 .wp-block-buttons {
  justify-content: center;
}

/* Consistent list styling */
.entry-content ul, .entry-content ol {
  padding-left: 1.5rem;
}

.entry-content li {
  margin-bottom: 0.5rem;
}

/* Consistent spacing between sections */
.entry-content .wp-block-separator {
  margin: 3rem 0 !important;
}

.entry-content h2 {
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}

.entry-content h3 {
  margin-top: 1.5rem !important;
  margin-bottom: 0.75rem !important;
}

/* Strong/bold styling */
.entry-content strong {
  color: #2B2B28;
  font-weight: 600;
}

/* Fee blocks styling */
.entry-content p strong:first-child {
  display: inline;
}

/* Smooth scrollbar and transitions */
html { scroll-behavior: smooth; }

/* Remove any Kadence default padding that looks off */
.content-style-unboxed .entry-content-wrap {
  padding: 0 !important;
}

/* Page title styling */
.kadence-title .entry-title {
  font-size: 2.6rem !important;
  font-weight: 400 !important;
  margin-bottom: 0.5rem !important;
}

/* Improve mobile responsiveness */
@media (max-width: 768px) {
  h1, .entry-title { font-size: 2rem !important; }
  h2 { font-size: 1.5rem !important; }
  h3 { font-size: 1.1rem !important; }
  .entry-content-wrap { padding: 0 1rem !important; }
}

/* === TYPOGRAPHIC LOGO === */
.site-branding .brand,
.site-branding .site-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 1.3rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em;
  color: #2B2B28 !important;
  text-decoration: none !important;
}
.site-branding .site-description {
  display: none;
}
.site-branding .custom-logo-link,
.site-branding img.custom-logo {
  display: none !important;
}

/* ============================================
   LOGO — "Psychology" in sage green
   ============================================ */
.site-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  font-size: 1.15rem !important;
  letter-spacing: 0.02em;
}

/* ============================================
   HIDE "Home" PAGE TITLE ON HOMEPAGE
   ============================================ */
.home .entry-header,
.home .wp-block-post-title,
body.page-id-630 .entry-header,
body.page-id-630 .entry-title {
  display: none !important;
}

/* ============================================
   FEES TABLE — Quiet luxury (Michelin-style)
   No borders, no grid. Just clean lines.
   ============================================ */
.entry-content table,
.entry-content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  border: none !important;
  margin: 1.5rem 0;
}
.entry-content table thead th,
.entry-content .wp-block-table thead th {
  color: #8A8A82;
  font-weight: 400;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: left;
  padding: 0.8rem 0;
  border: none !important;
  border-bottom: 1px solid #DDD9D0 !important;
  background: transparent !important;
}
.entry-content table td,
.entry-content .wp-block-table td {
  text-align: left;
  padding: 1rem 0;
  border: none !important;
  border-bottom: 1px solid #DDD9D0 !important;
  font-size: 1rem;
  color: #2B2B28;
  background: transparent !important;
}
.entry-content table td:last-child,
.entry-content .wp-block-table td:last-child {
  text-align: right;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.15rem;
}
.entry-content table thead th:last-child,
.entry-content .wp-block-table thead th:last-child {
  text-align: right;
}
/* Remove any Kadence table styling overrides */
.wp-block-table table,
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: transparent !important;
}
.wp-block-table figcaption {
  color: #8A8A82;
  font-size: 0.9rem;
}

/* ============================================
   FOOTER — Quiet luxury per prototype
   ============================================ */
.site-footer {
  background: #2B2B28 !important;
  color: rgba(255,255,255,0.6) !important;
  padding: 5rem 0 3rem !important;
  font-size: 0.9rem;
  line-height: 1.7;
}
.site-footer .footer-widget-area {
  background: transparent !important;
}
.site-footer a {
  color: rgba(255,255,255,0.8) !important;
  text-decoration: none;
}
.site-footer a:hover {
  color: #fff !important;
}
.site-footer h3,
.site-footer .widget-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  color: #fff !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  margin-bottom: 0.5rem !important;
}
.site-footer .site-info {
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  margin-top: 3rem !important;
  padding-top: 1.5rem !important;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.4) !important;
}
.site-footer .site-info a {
  color: rgba(255,255,255,0.5) !important;
}

/* ============================================
   LOGO STRIP — Greyscale, muted, prototype style
   ============================================ */
.logo-strip-section {
  background: #F3F1EC;
  padding: 3rem 0;
}
.logo-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.5rem;
  padding: 1rem 0;
}
.logo-strip svg {
  height: 32px;
  width: auto;
  opacity: 0.45;
  filter: grayscale(100%);
  transition: all 0.3s;
}
.logo-strip svg:hover {
  opacity: 0.8;
  filter: grayscale(0%);
}
.logo-strip-label {
  text-align: center;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #8A8A82;
  margin-bottom: 1.5rem;
}

/* ============================================
   NAV REFINEMENTS
   ============================================ */
.main-navigation .menu-item a {
  font-size: 0.8rem !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

p.site-title::after,
.site-title::after {
  content: "Psychology";
  color: #5E7E6E;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  font-size: 1.15rem;
  letter-spacing: 0.02em;
}

/* ============================================
   TWO-TONE LOGO
   ============================================ */
.site-branding .site-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  font-size: 1.15rem !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  color: transparent !important;
  position: relative !important;
  display: inline-block !important;
}
.site-branding .site-title::after {
  content: "Lightfull Psychology";
  position: absolute;
  left: 0;
  top: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  font-size: 1.15rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
  background: linear-gradient(to right, #3D3229 0%, #3D3229 45%, #5E7E6E 45%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ============================================
   HEADER — Single row, frosted glass, prototype style
   ============================================ */
.site-header {
  background: rgba(250,250,247,0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(0,0,0,0.04) !important;
  padding: 0 !important;
}
.site-header .site-header-row-container-inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
}
/* Compact nav items */
.header-navigation .menu > li > a {
  padding: 0.8rem 0.9rem !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #2B2B28 !important;
}
.header-navigation .menu > li > a:hover {
  color: #5E7E6E !important;
}
/* Book button styling */
.header-navigation .menu > li:last-child > a,
.header-navigation .menu > li > a[href*="book"] {
  color: #5E7E6E !important;
  font-weight: 600 !important;
}

/* ============================================
   FOOTER — Force Kadence to show widget content
   ============================================ */
.site-footer .footer-widget-area-inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
}
.site-footer .footer-widget-area .widget {
  color: rgba(255,255,255,0.6) !important;
}
.site-footer .footer-widget-area .widget p {
  color: rgba(255,255,255,0.6) !important;
}
.site-footer .footer-widget-area .widget a {
  color: rgba(255,255,255,0.8) !important;
}
.site-footer .footer-widget-area .widget a:hover {
  color: #fff !important;
}
/* Hide "Powered by Kadence" or restyle */
.site-info a[href*="kadence"] {
  opacity: 0.3;
}

/* Footer top row - dark background */
.site-top-footer-wrap {
  background: #2B2B28 !important;
  padding: 60px 0 40px !important;
}
.site-top-footer-wrap .widget p,
.site-top-footer-wrap .widget {
  color: rgba(255,255,255,0.6) !important;
  font-size: 14px;
  line-height: 1.7;
}
.site-top-footer-wrap .widget strong {
  color: rgba(255,255,255,0.9) !important;
}
.site-top-footer-wrap .widget a {
  color: rgba(255,255,255,0.7) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
.site-top-footer-wrap .widget a:hover {
  color: rgba(255,255,255,1) !important;
}
/* Footer bottom row */
.site-bottom-footer-wrap {
  background: #252522 !important;
  padding: 20px 0 !important;
}
.site-bottom-footer-wrap,
.site-bottom-footer-wrap .footer-html {
  color: rgba(255,255,255,0.35) !important;
  font-size: 12px !important;
}
/* Header — frosted glass, compact, prototype match */
.site-header {
  background: rgba(250, 250, 247, 0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid #DDD9D0 !important;
  box-shadow: none !important;
}
.site-header .site-header-row-container-inner {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}
/* Nav links — compact, clean */
.header-navigation .header-menu-container > ul > li > a {
  font-size: 0.88rem !important;
  color: #5A5A55 !important;
  letter-spacing: 0.01em;
  padding: 0.4rem 0 !important;
}
.header-navigation .header-menu-container > ul > li > a:hover {
  color: #2B2B28 !important;
}
.header-navigation .header-menu-container > ul {
  gap: 1.8rem !important;
}
/* Book CTA in nav */
.header-navigation .menu-item a[href*="book"] {
  background: #5E7E6E !important;
  color: #fff !important;
  padding: 0.45rem 1.2rem !important;
  border-radius: 4px !important;
  font-size: 0.85rem !important;
}
.header-navigation .menu-item a[href*="book"]:hover {
  background: #4D6A5C !important;
}
/* Dropdown menus */
.header-navigation ul ul {
  background: rgba(250, 250, 247, 0.98) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid #DDD9D0 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
  border-radius: 4px !important;
}
.header-navigation ul ul li a {
  font-size: 0.85rem !important;
  color: #5A5A55 !important;
  padding: 0.5rem 1.2rem !important;
}
.header-navigation ul ul li a:hover {
  color: #2B2B28 !important;
  background: rgba(94,126,110,0.06) !important;
}

/* === SPACING & LAYOUT FIXES === */
/* Reduce excessive content area margins */
.content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 1.5rem !important;
  padding-bottom: 2rem !important;
}
/* Tighten hero/title section */
.entry-hero__inner {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}
.entry-hero {
  margin-bottom: 0 !important;
}
/* Block spacing within content */
.entry-content > * + * {
  margin-top: 1.5rem !important;
}
.entry-content > .wp-block-heading + * {
  margin-top: 0.75rem !important;
}
.entry-content > * + .wp-block-heading {
  margin-top: 2.5rem !important;
}
.entry-content > .wp-block-separator {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}
/* Entry content wrap */
.entry-content-wrap {
  padding-top: 1.5rem !important;
  padding-bottom: 2rem !important;
}
/* Image blocks */
.wp-block-image {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}
.wp-block-image.alignwide img,
.wp-block-image.alignfull img {
  border-radius: 8px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
}
.wp-block-image.is-style-rounded img {
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
/* Buttons */
.wp-block-buttons {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
/* Lists */
.entry-content ul, .entry-content ol {
  margin-top: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}
/* Columns */
.wp-block-columns {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
/* Home page hero - tighter spacing */
.home .entry-content-wrap {
  padding-top: 0 !important;
}
.home .entry-hero {
  display: none !important;
}

/* === HEADER BOOK BUTTON FIX === */
.site-header .header-navigation .header-menu-container ul li.menu-item a[href*="book"],
.site-header .header-navigation .menu-item-678 > a,
.header-navigation .menu-item a[href*="book"],
nav.header-navigation a[href*="book"] {
  background: #5E7E6E !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-radius: 4px !important;
  padding: 0.4rem 1.2rem !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.03em !important;
  transition: background 0.2s ease !important;
}
.site-header .header-navigation .menu-item a[href*="book"]:hover,
nav.header-navigation a[href*="book"]:hover {
  background: #4D6B5C !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* === HEADER NAV COMPACT === */
.header-navigation .header-menu-container > ul > li > a {
  font-size: 0.72rem !important;
  letter-spacing: 0.03em !important;
  padding: 0 0.45rem !important;
  color: #5A5A55 !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}
.header-navigation .header-menu-container > ul {
  gap: 0 !important;
  flex-wrap: nowrap !important;
}
.site-branding .site-title {
  font-size: 1rem !important;
}
.site-branding .site-title::after {
  font-size: 1rem !important;
}
/* Force book button inline and smaller */
.header-navigation .menu-item-678 > a {
  font-size: 0.7rem !important;
  padding: 0.35rem 0.9rem !important;
}

/* Make the whole header a single flex row */
.site-header-row .site-header-row-container-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
/* Logo smaller */
.site-branding .site-title {
  font-size: 1.05rem !important;
}
.site-branding .site-title::after {
  font-size: 1.05rem !important;
}

/* === VISUAL BREAKS FOR TEXT-HEAVY PAGES === */
/* Pull quote styling */
.wp-block-pullquote {
  border-left: 3px solid #5E7E6E !important;
  border-top: none !important;
  border-bottom: none !important;
  border-right: none !important;
  padding: 1.5rem 2rem !important;
  margin: 2.5rem 0 !important;
  background: rgba(94,126,110,0.04) !important;
}
.wp-block-pullquote blockquote p {
  font-family: Georgia, serif !important;
  font-size: 1.15rem !important;
  font-style: italic !important;
  color: #3D3229 !important;
  line-height: 1.6 !important;
}
/* Group block as callout */
.wp-block-group.has-background {
  border-radius: 8px !important;
  padding: 2rem !important;
  margin: 2rem 0 !important;
}
/* Separator styling */
.wp-block-separator {
  border-color: #DDD9D0 !important;
  opacity: 0.6 !important;
}
/* Better paragraph readability */
.entry-content p {
  line-height: 1.75 !important;
  max-width: 720px;
}
.entry-content .wp-block-heading {
  margin-top: 2.5rem !important;
  color: #2B2B28 !important;
}
.entry-content h2 {
  font-family: Georgia, serif !important;
  font-weight: 400 !important;
}

/* === HIDE DUPLICATE PAGE HERO TITLES === */
.entry-hero {
  display: none !important;
}

/* === FOOTER MATCHES HEADER === */
/* Branding text in footer matches header Georgia serif */
.site-top-footer-wrap .widget p strong,
.site-top-footer-wrap .widget strong {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.15rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  color: rgba(255,255,255,0.85) !important;
}
/* Footer widget headings match header nav uppercase style */
.site-top-footer-wrap .widget-title,
.site-top-footer-wrap h3 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: rgba(255,255,255,0.5) !important;
  font-weight: 400 !important;
  margin-bottom: 1.2rem !important;
}
/* Footer links match header nav clean style */
.site-top-footer-wrap a {
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.02em !important;
  transition: color 0.2s ease !important;
}
.site-top-footer-wrap a:hover {
  color: rgba(255,255,255,0.9) !important;
}
/* Footer body text cleaner */
.site-top-footer-wrap .widget p {
  font-size: 0.88rem !important;
  line-height: 1.7 !important;
  letter-spacing: 0.01em !important;
}
/* Bottom footer matches */
.site-bottom-footer-wrap {
  font-size: 0.75rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* === HIDE HERO TITLE SECTION SITEWIDE === */
.entry-hero {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* === MOBILE RESPONSIVENESS === */
@media (max-width: 768px) {
  /* Reduce heading sizes on mobile */
  h1, .entry-title { font-size: 1.8rem !important; }
  h2 { font-size: 1.3rem !important; }
  h3 { font-size: 1.1rem !important; }
  
  /* Tighter content spacing on mobile */
  .entry-content { padding: 0 1rem !important; }
  .entry-content > * + * { margin-top: 1rem !important; }
  
  /* Pull quotes smaller on mobile */
  .wp-block-pullquote { padding: 1rem 1.2rem !important; font-size: 1rem !important; }
  .wp-block-pullquote blockquote p { font-size: 1rem !important; }
  
  /* Images full width on mobile */
  .wp-block-image.alignwide { margin-left: -1rem !important; margin-right: -1rem !important; }
  .wp-block-image.alignwide img { border-radius: 0 !important; }
  
  /* Footer columns stack properly */
  .site-top-footer-inner-wrap { flex-direction: column !important; gap: 2rem !important; padding: 2rem 1.5rem !important; }
  
  /* Body text readable on mobile */
  .entry-content p { font-size: 0.95rem !important; line-height: 1.7 !important; }
}

/* ===================== BLOG ARCHIVE STYLING ===================== */

/* Widen the blog archive grid to use full content width */
.blog .site-main > .kadence-posts-list,
.archive .site-main > .kadence-posts-list {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 2rem 2rem 3rem !important;
  gap: 2.5rem !important;
}

/* Blog page title */
.blog .entry-hero-layout,
.blog .entry-hero {
  display: none !important;
}

/* Card styling */
.blog .loop-entry,
.archive .loop-entry {
  background: #fff !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  transition: box-shadow 0.3s ease, transform 0.2s ease !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  border: 1px solid rgba(61,50,41,0.06) !important;
}

.blog .loop-entry:hover,
.archive .loop-entry:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
  transform: translateY(-2px) !important;
}

/* Content wrapper inside cards */
.blog .loop-entry .entry-content-wrap,
.archive .loop-entry .entry-content-wrap {
  padding: 1.8rem 1.5rem !important;
}

/* Category label styling */
.blog .loop-entry .entry-taxonomies,
.archive .loop-entry .entry-taxonomies {
  margin-bottom: 0.6rem !important;
}

.blog .loop-entry .entry-taxonomies a,
.archive .loop-entry .entry-taxonomies a {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #5E7E6E !important;
  text-decoration: none !important;
  background: rgba(94,126,110,0.08) !important;
  padding: 0.2rem 0.6rem !important;
  border-radius: 2px !important;
  display: inline-block !important;
}

/* Post title in archive cards — THIS IS THE KEY FIX */
.blog .loop-entry h2.entry-title,
.archive .loop-entry h2.entry-title {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.15rem !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #2B2B28 !important;
  margin: 0 0 0.6rem !important;
  letter-spacing: -0.01em !important;
}

.blog .loop-entry h2.entry-title a,
.archive .loop-entry h2.entry-title a {
  color: #2B2B28 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.blog .loop-entry h2.entry-title a:hover,
.archive .loop-entry h2.entry-title a:hover {
  color: #5E7E6E !important;
}

/* Excerpt styling */
.blog .loop-entry .entry-summary,
.archive .loop-entry .entry-summary {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.85rem !important;
  line-height: 1.6 !important;
  color: rgba(43,43,40,0.65) !important;
  margin: 0 0 1rem !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Date / meta styling */
.blog .loop-entry .entry-meta,
.archive .loop-entry .entry-meta {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.72rem !important;
  color: rgba(43,43,40,0.4) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding-top: 0.8rem !important;
  border-top: 1px solid rgba(61,50,41,0.06) !important;
}

.blog .loop-entry .entry-meta a,
.archive .loop-entry .entry-meta a {
  color: rgba(43,43,40,0.4) !important;
  text-decoration: none !important;
}

/* Read more link */
.blog .loop-entry .entry-actions,
.archive .loop-entry .entry-actions {
  margin-top: 0.8rem !important;
}

.blog .loop-entry .entry-actions a,
.archive .loop-entry .entry-actions a {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  color: #5E7E6E !important;
  text-decoration: none !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

/* Blog archive mobile responsive */
@media (max-width: 768px) {
  .blog .site-main > .kadence-posts-list,
  .archive .site-main > .kadence-posts-list {
    padding: 1rem !important;
    gap: 1.5rem !important;
  }
  .blog .loop-entry h2.entry-title,
  .archive .loop-entry h2.entry-title {
    font-size: 1.05rem !important;
  }
}

/* ===================== END BLOG ARCHIVE STYLING ===================== */
/* Hide author name in blog archive (solo practice) */
.blog .loop-entry .entry-meta .entry-author,
.archive .loop-entry .entry-meta .entry-author {
  display: none !important;
}
.blog .loop-entry .entry-meta .posted-by,
.archive .loop-entry .entry-meta .posted-by {
  display: none !important;
}
/* Also hide the separator dot after author */
.blog .loop-entry .entry-meta .entry-author + .meta-sep,
.archive .loop-entry .entry-meta .entry-author + .meta-sep,
.blog .loop-entry .entry-meta .posted-by + .meta-sep,
.archive .loop-entry .entry-meta .posted-by + .meta-sep {
  display: none !important;
}

/* Widen blog content container */
.blog .content-container.site-container,
.archive .content-container.site-container {
  max-width: 1200px !important;
  width: 100% !important;
}

/* Ensure grid columns expand properly */
.blog .kadence-posts-list.grid-lg-col-3,
.archive .kadence-posts-list.grid-lg-col-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

/* Prevent cards from stretching too tall — align to start */
.blog .kadence-posts-list,
.archive .kadence-posts-list {
  align-items: start !important;
}

/* ===================== PROFESSIONAL TIMELINE ===================== */
.professional-timeline {
  position: relative !important;
  padding-left: 2.5rem !important;
  margin-top: 2rem !important;
}

/* Vertical sage green line */
.professional-timeline::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 2px !important;
  background: linear-gradient(to bottom, #5E7E6E, rgba(94,126,110,0.15)) !important;
}

/* Timeline milestone headings */
.professional-timeline h3 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  color: #2B2B28 !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 0.3rem !important;
  margin-top: 1.8rem !important;
  position: relative !important;
}

/* Dot on the timeline */
.professional-timeline h3::before {
  content: '' !important;
  position: absolute !important;
  left: -2.65rem !important;
  top: 0.45em !important;
  width: 8px !important;
  height: 8px !important;
  background: #5E7E6E !important;
  border-radius: 50% !important;
  border: 2px solid #FAFAF7 !important;
  box-shadow: 0 0 0 1px #5E7E6E !important;
}

.professional-timeline h3:first-of-type {
  margin-top: 0 !important;
}

/* Timeline detail text */
.professional-timeline p.timeline-detail,
.professional-timeline p {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
  color: rgba(43,43,40,0.7) !important;
  margin-bottom: 0 !important;
}

/* Mobile timeline */
@media (max-width: 768px) {
  .professional-timeline {
    padding-left: 1.8rem !important;
  }
  .professional-timeline h3::before {
    left: -1.95rem !important;
    width: 6px !important;
    height: 6px !important;
  }
}
/* ===================== END TIMELINE ===================== */

/* ===================== PRESS BAR ===================== */
.press-bar {
  padding: 1.5rem 2rem !important;
  margin: 0 auto 1rem !important;
  text-align: center !important;
}

.press-bar-label {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(43,43,40,0.35) !important;
  margin-bottom: 0.4rem !important;
}

.press-bar-outlets {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  color: rgba(43,43,40,0.45) !important;
  line-height: 1.8 !important;
}
/* ===================== END PRESS BAR ===================== */

/* APA Presidential Citation — Ogilvy Hero Treatment */
.apa-citation-hero {
  background: #2B2B28 !important;
  padding: 4rem 3.5rem !important;
  margin: 3rem 0 !important;
  position: relative !important;
  overflow: hidden !important;
}
.apa-citation-hero::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 4px !important;
  height: 100% !important;
  background: #5E7E6E !important;
}
.apa-citation-label {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: #5E7E6E !important;
  margin-bottom: 1.5rem !important;
}
.apa-citation-headline {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 2.2rem !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  color: #FAFAF7 !important;
  margin-bottom: 1.5rem !important;
  max-width: 700px !important;
}
.apa-citation-detail {
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  color: rgba(250,250,247,0.6) !important;
  max-width: 600px !important;
}

/* Booking CTA styling for service pages */
.book-cta-inline {
  display: inline-block !important;
  background: #2B2B28 !important;
  color: #FAFAF7 !important;
  padding: 0.85rem 2.2rem !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: none !important;
  transition: background 0.3s ease !important;
}
.book-cta-inline:hover {
  background: #5E7E6E !important;
  color: #FAFAF7 !important;
  text-decoration: none !important;
}

/* Mobile responsive for APA hero */
@media (max-width: 768px) {
  .apa-citation-hero {
    padding: 2.5rem 2rem !important;
  }
  .apa-citation-headline {
    font-size: 1.6rem !important;
  }
}

/* Professional Endorsement Block */
.endorsement-block {
  max-width: 700px !important;
  margin: 2.5rem auto 3rem auto !important;
  padding: 2.5rem 2rem !important;
  text-align: center !important;
  position: relative !important;
}
.endorsement-block::before {
  content: '\201C' !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 3.5rem !important;
  color: #5E7E6E !important;
  opacity: 0.4 !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  line-height: 1 !important;
}
.endorsement-quote {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
  color: #3D3229 !important;
  font-style: italic !important;
  margin-bottom: 1.2rem !important;
  padding-top: 1.5rem !important;
}
.endorsement-attribution {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #8A8A82 !important;
}
.endorsement-source {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.08em !important;
  color: #AEAEA6 !important;
  margin-top: 0.3rem !important;
}

/* ===== Lightfull Visual Improvements (April 2026) ===== */

/* Fix therapy room images that are too light/overexposed */
.wp-image-829,
.wp-image-831 {
  filter: brightness(0.78) contrast(1.15) saturate(1.2);
}

/* Subtle section dividers for tranquil feel */
.entry-content hr.wp-block-separator {
  border: none;
  border-top: 1px solid rgba(94, 126, 110, 0.15);
  margin: 2.5em auto;
  max-width: 120px;
}

/* Free consultation callout boxes */
.entry-content div[style*="border-left:3px solid #5E7E6E"]:hover {
  background-color: #F5F5F0 !important;
}

/* Soften heading spacing */
.entry-content h2.wp-block-heading {
  margin-top: 2.5em;
  letter-spacing: -0.01em;
}

/* Improve link styling */
.entry-content a:not(.wp-block-button__link) {
  text-decoration-color: rgba(94, 126, 110, 0.3);
  text-underline-offset: 3px;
}
.entry-content a:not(.wp-block-button__link):hover {
  text-decoration-color: #5E7E6E;
}


/* Subtle section background alternation for tranquil feel */
.entry-content .wp-block-heading:nth-of-type(even) {
  position: relative;
}
.entry-content > *:nth-child(even) {
  /* Subtle alternation handled via section blocks */
}

/* Alternating background sections for service pages */
.entry-content-wrap {
  position: relative;
}

/* Style callout boxes with subtle warmth */
.entry-content div[style*="border-left:3px solid #5E7E6E"] {
  border-radius: 4px;
  transition: background-color 0.2s ease;
}

/* Add breathing room between major sections */
.entry-content .wp-block-heading + .wp-block-heading {
  margin-top: 1em;
}

/* Subtle warm background for even h2 sections */
.entry-content h2.wp-block-heading {
  padding-top: 2em;
  border-top: 1px solid rgba(94, 126, 110, 0.08);
}
.entry-content h2.wp-block-heading:first-of-type {
  border-top: none;
  padding-top: 0;
}

/* FAQ sections get a warm background */
.entry-content h3.wp-block-heading {
  padding: 12px 0 4px 0;
}

/* Warm alternating bands via nth-of-type on h2 sections */
.entry-content h2.wp-block-heading:nth-of-type(even) ~ p,
.entry-content h2.wp-block-heading:nth-of-type(even) ~ ul,
.entry-content h2.wp-block-heading:nth-of-type(even) ~ ol {
  /* These get picked up by the section coloring */
}


/* == LP: header CTA tighten == */
#menu-item-678 > a {
  font-size: 10.5px !important;
  padding: 4px 11px !important;
  letter-spacing: 0.6px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  border-radius: 3px !important;
}
#menu-item-678 > a:hover {
  filter: brightness(1.05);
}

/* === LF-NAV-ONELINE-FIX:start === */
/* Lightfull — keep the top nav on ONE line */

/* 1. Stop header row from wrapping (logo + nav stay on ONE row) */
#main-header,
#main-header .site-header-upper-inner-wrap,
#main-header .site-main-header-wrap,
#main-header .site-header-row-container-inner,
#main-header .site-header-inner-wrap {
  flex-wrap: nowrap !important;
}

/* 2. Menu nowrap + tighter inter-item padding */
#main-header .header-navigation .menu,
#main-header .header-navigation .menu-container {
  flex-wrap: nowrap !important;
}
#main-header .header-navigation .menu > li > a {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

/* 3. CTA button a little more compact */
#main-header .header-navigation .menu > li:last-child > a,
#main-header .header-navigation .header-button,
#main-header .header-button-wrap a {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

/* 4. 13–14" laptops: shave a hair more */
@media (max-width: 1440px) {
  #main-header .header-navigation .menu > li > a {
    font-size: 0.95em !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
}

/* 5. Just above the mobile breakpoint */
@media (max-width: 1100px) and (min-width: 1025px) {
  #main-header .header-navigation .menu > li > a {
    font-size: 0.9em !important;
  }
}
/* === LF-NAV-ONELINE-FIX:end === */
