/*
Theme Name: MindCare Child
Theme URI: https://mindcare.qodeinteractive.com/
Description: A child theme of MindCare
Author: Mikado Themes
Author URI: http://themeforest.net/user/mikado-themes
Version: 1.0.1
Text Domain: mindcare
Template: mindcare
*/
/* === Pathways BOOKING glow === */
@keyframes glowPulse {
  0%,100% {box-shadow:0 0 0 0 rgba(163,180,155,.6);filter:brightness(1);}
  50% {box-shadow:0 0 18px 6px rgba(163,180,155,.9);filter:brightness(1.12);}
}

.menu-item-183778 a {
  background-color:#95bb0f;
  color:#fff!important;
  font-weight:700;
  padding:0 20px;
  border-radius:8px;
  text-transform:uppercase;
  text-decoration:none;
  transition:all .3s ease-in-out;
  animation:glowPulse 1.6s ease-in-out infinite;
}

.menu-item-183778 a:hover {
  transform:scale(1.05);
  filter:brightness(1.1);
}







/* === Force the hero row to true full width (works in boxed themes) === */
.pcs-hero-row{
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Allow overflow so negative margins aren't clipped (covers many themes) */
.pcs-hero-row, 
.pcs-hero-row * { border-radius: 0 !important; }
.pcs-hero-row .vc_column_container, 
.pcs-hero-row .vc_column-inner{ padding-left:0 !important; padding-right:0 !important; }

/* Trimmed hero height + overlay + centered content */
.pcs-hero > .vc_column-inner{
  position: relative;
  min-height: 460px;              /* desktop height */
  display: flex; align-items: center; justify-content: center;
  padding: 0;
}
@media (max-width: 1199px){ .pcs-hero > .vc_column-inner{ min-height: 420px; } }
@media (max-width: 991px){  .pcs-hero > .vc_column-inner{ min-height: 380px; } }
@media (max-width: 767px){  .pcs-hero > .vc_column-inner{ min-height: 340px; } }

/* Legibility overlay */
.pcs-hero:before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.16) 55%, rgba(0,0,0,.22) 100%);
  pointer-events:none;
}



/* CTA */
.pcs-hero__btn{
  display:inline-block; padding:13px 22px; border-radius:999px; text-decoration:none; font-weight:700;
  background:linear-gradient(90deg,#5a7b6d,#89a66d); color:#fff; box-shadow:0 6px 20px rgba(0,0,0,.25);
}
.pcs-hero__btn:hover{ filter:brightness(1.06); }





/* ===== Pathways – Social Follow Card ===== */
:root{
  --pcs-slate:#4B5D77;
  --pcs-sage:#8AA98D;
  --pcs-ink:#1f2a33;
  --pcs-muted:#6b7a86;
  --pcs-radius:16px;
}

.pcs-social-card{
  max-width: 720px;
  margin: 6px auto 24px;
  border-radius: var(--pcs-radius);
  border: 3px solid var(--pcs-slate);
  background: #fff;
  box-shadow: 0 10px 26px rgba(75,93,119,.14);
  overflow: hidden;
}

.pcs-social-head{
  padding: 14px 18px 10px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  position: relative;
  background:
    linear-gradient(90deg, rgba(75,93,119,.08), rgba(138,169,141,.08));
}
.pcs-social-head h3{
  margin: 0 0 4px;
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
  font-weight: 900;
  color: var(--pcs-ink);
  letter-spacing:.01em;
}
.pcs-social-head p{
  margin: 0;
  color: var(--pcs-muted);
  font-size: .95rem;
}
.pcs-social-head .pcs-dot{
  position:absolute; left:12px; top:-6px;
  width:14px; height:14px; border-radius:999px;
  background: linear-gradient(90deg,var(--pcs-slate),var(--pcs-sage));
  box-shadow: 0 4px 10px rgba(0,0,0,.18);
}

/* Body area */
.pcs-social-body{
  padding: 14px 16px 16px;
  text-align: center;
}

/* Only allow overflow inside the social card area, not site-wide */
.pcs-social-card,
.pcs-social-card *{ overflow: visible; }





/* Facebook iframe reliability + centering */
.fb-page, .fb_iframe_widget, .fb_iframe_widget > span, .fb_iframe_widget iframe{
  display:block !important;
  margin: 0 auto;
  width: 100% !important;
  max-width: 420px;
  min-height: 140px !important;   /* matches data-height */
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 5;
}

/* Fallback CTA (shown if FB blocked) */
.pcs-fb-fallback{
  display:none;
  margin: 10px auto 0;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 800;
  color:#fff !important;
  text-decoration:none;
  background: linear-gradient(90deg,var(--pcs-slate),var(--pcs-sage));
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
}
.pcs-social-card.fb-fallback-on .pcs-fb-fallback{ display:inline-flex; }

/* Hover polish for the whole card */
.pcs-social-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(75,93,119,.18);
  transition: transform .2s ease, box-shadow .2s ease;
}









/* Mobile */
@media (max-width:600px){
  .fb-page, .fb_iframe_widget, .fb_iframe_widget > span, .fb_iframe_widget iframe{
    max-width: 100%;
    min-height: 120px !important;
  }
}

/* ============================
   Pathways Counseling – Our Fees Styling (Qode Layout)
   ============================ */

.qodef-pricing-table:hover {
  transform: translateY(-4px);
  border-color: #3f4f65;
  box-shadow: 0 12px 32px rgba(75, 93, 119, 0.15);
}

/* Title */
.qodef-m-title {
  font-weight: 800;
  font-size: 1.15rem;
  color: #1f2a33;
  margin-bottom: 4px;
}

/* Session duration */
.qodef-m-duration {
  color: #6b7a86;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-top: 2px;
}

/* Price */
.qodef-m-price {
  font-size: 1.8rem;
  font-weight: 900;
  color: #4B5D77;
  margin: 8px 0;
}
.qodef-m-price sup {
  font-size: 0.9rem;
  top: -0.5em;
  color: #8AA98D;
}

/* Description */
.qodef-m-content {
  color: #6b7a86;
  font-size: 0.95rem;
  margin-top: 6px;
  min-height: 45px;
}

/* CTA Button */
.qodef-pricing-table .qodef-m-footer a,
.qodef-pricing-table .pcs-btn,
.qodef-pricing-table .vc_btn3 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 10px 24px;
  margin-top: 16px;
  border-radius: 999px;
  font-weight: 700;
  color: #fff !important;
  background: linear-gradient(90deg, #4B5D77, #8AA98D);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
  text-decoration: none;
  transition: all 0.25s ease;
  border: none;
}
.qodef-pricing-table .qodef-m-footer a:hover {
  background: linear-gradient(90deg, #3f4f65, #7a977e);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
  transform: translateY(-1px);
}

/* Image box – inside the card with blue border our fees page*/
.qodef-pricing-table .qodef-m-image {
  position: relative;
  aspect-ratio: 4 / 3;
  width: 100%;
  margin: 0 0 12px;
  border-radius: 14px;
  overflow: hidden;
  border: 3px solid #4B5D77; /* Blue border on all images */
  background: #f7f8f9;
}


/* Image fills the box neatly */
.qodef-pricing-table .qodef-m-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit !important;
  border: 0 !important;
  box-shadow: none !important;
  display: block;
  margin: 0 !important;
}

/* Hover effect for image */
.qodef-pricing-table:hover .qodef-m-image {
  border-color: #3f4f65;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .qodef-pricing-table {
    margin-bottom: 18px;
    padding: 20px 16px;
  }
  .qodef-m-price {
    font-size: 1.5rem;
  }
}




/* ===== Pathways Button – Universal Style ===== */
.pcs-btn,
.btn.btn-primary,
.wp-block-button__link,
.vc_btn3.vc_btn3-shape-rounded {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: .02em;
  text-decoration: none;
  color: #ffffff !important;
  background: linear-gradient(90deg, #4B5D77, #8AA98D);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
  transition: all 0.25s ease;
  border: none;
}

/* Hover / focus effects */
.pcs-btn:hover,
.btn.btn-primary:hover,
.wp-block-button__link:hover,
.vc_btn3.vc_btn3-shape-rounded:hover {
  background: linear-gradient(90deg, #3f4f65, #7a977e);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
  transform: translateY(-1px);
}

/* Mobile sizing */
@media (max-width: 600px) {
  .pcs-btn,
  .btn.btn-primary,
  .wp-block-button__link,
  .vc_btn3.vc_btn3-shape-rounded {
    font-size: 1rem;
    padding: 10px 22px;
  }
}







/* ===== Pathways – FAB stack (Text / Call / 15-Minute) ===== */
:root{
  --safe: max(16px, env(safe-area-inset-bottom));
  --gap: 12px;

  /* One place to size everything */
  --fab-h: 56px;           /* height of EVERY button */
  --fab-radius: 999px;
  --fab-pad-x: 16px;       /* left/right padding */
  --fab-min-w: 220px;      /* keeps widths matching even if text differs */
  --fab-font: 800;
}

/* Shared look for all three */
.pcs-text-fab, .pcs-call-fab, .pcs-consult-fab{
  position: fixed;
  right: 16px;
  z-index: 2147483647 !important;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;

  height: var(--fab-h);
  min-width: var(--fab-min-w);
  padding-inline: var(--fab-pad-x);
  border-radius: var(--fab-radius);
  box-sizing: border-box;

  font-weight: var(--fab-font);
  line-height: 1;          /* prevents vertical wobble */
  white-space: nowrap;
  text-decoration: none;

  background: linear-gradient(90deg,#4B5D77,#8AA98D);
  color: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.12);
}

/* Stack order (bottom → top) */
.pcs-consult-fab{ bottom: var(--safe); }
.pcs-call-fab   { bottom: calc(var(--safe) + var(--fab-h) + var(--gap)); }
.pcs-text-fab   { bottom: calc(var(--safe) + (2 * var(--fab-h)) + (2 * var(--gap))); }

/* Optional desktop nudge */
@media (min-width: 801px){
  .pcs-text-fab, .pcs-call-fab, .pcs-consult-fab{ right: 24px; }
}

/* If any plugin injects its own small FAB sizes, force ours to win */
.pcs-text-fab *, .pcs-call-fab *, .pcs-consult-fab *{
  font-size: inherit !important;
  line-height: inherit !important;
}










/* ===== Replace “brick red” with slate #5f6d8c ===== */

/* Page title band / hero header */
.qodef-title-holder,
.qodef-title-holder .qodef-title-wrapper,
.qodef-title-holder .qodef-title-wrapper:before,
.qodef-title-holder:before {
  background: #5f6d8c !important;
  background-image: none !important;  /* kill any gradient */
}

/* Fullscreen (mobile) menu overlay */
.qodef-fullscreen-menu-holder,
.qodef-fullscreen-menu-holder .qodef-fullscreen-menu-outer,
.qodef-fullscreen-menu-holder .qodef-fullscreen-menu {
  background-color: #5f6d8c !important;
}

/* Header strip that might inherit the old color on some pages */
.qodef-page-header .qodef-menu-area,
.header_bottom,
.qodef-header-bottom {
  background-color: #5f6d8c !important;
}

/* Ensure white text on the new slate background */
.qodef-title .qodef-title-text,
.qodef-title-holder .qodef-breadcrumbs,
.qodef-fullscreen-menu-holder a {
  color: #ffffff !important;
}








/* Start with text hidden */
.qodef-e-hover-content,
.qodef-e-hover-content h4,
.qodef-e-hover-content h5,
.qodef-e-hover-content p,
.qodef-e-hover-content span {
  color: transparent;
  transition: color 0.3s ease-in-out;
}

/* Show white text on hover */
.qodef-grid-item.team:hover .qodef-e-hover-content,
.qodef-grid-item.team:hover .qodef-e-hover-content h4,
.qodef-grid-item.team:hover .qodef-e-hover-content h5,
.qodef-grid-item.team:hover .qodef-e-hover-content p,
.qodef-grid-item.team:hover .qodef-e-hover-content span {
  color: #ffffff;
}

/* Optional: background effect on hover */
.qodef-e-hover-content {
  background-color: transparent;
  padding: 10px;
  border-radius: 4px;
  transition: background-color 0.3s ease-in-out;
}

.qodef-grid-item.team:hover .qodef-e-hover-content {
  background-color: rgba(0, 0, 0, 0.5); /* semi-transparent black */
}
@keyframes flashColors {
  0% { background-color: #a9c448; }
  50% { background-color: #a9c448; }
  100% { background-color: #a9c448; }
}

@keyframes flashColors {
    0% { background-color: #a9c448; }
    50% { background-color: #a9c448; }
    100% { background-color: #A3B49B; }
}

.menu-item-123 a {
    background-color: #95bb0f;
    color: #ffffff;
    font-weight: bold;
    padding: .1px 20px;
    border-radius: 8px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    animation: flashColors 1s infinite;
}

.menu-item-123 a:hover {
    transform: scale(1.05);
}

.qodef-breadcrumbs-footer {
  text-align: center;
  padding: 20px 20px 40px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #d58f76;
}

body.error404 {
  background: url('https://pathwayscounselingsvcs.com/wp-content/uploads/2025/05/bugs-bunny.gif') no-repeat center center fixed;
  background-size: cover;
  font-family: 'Nunito Sans', sans-serif;
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100vh;
  margin: 0;
  padding: 20px;
  flex-direction: column;
}

body.error404 h1,
body.error404 h2,
body.error404 h3,
body.error404 p {
  color: #fff;
  font-weight: 800;
  text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
  font-size: 2rem;
  margin-bottom: 10px;
}

body.error404 a {
  color: #ffcc00;
  font-weight: bold;
  text-decoration: underline;
  font-size: 1.2rem;
}

@media (max-width: 768px) {
  body.error404 h1,
  body.error404 h2,
  body.error404 p {
    font-size: 1.5rem;
  }

  body.error404 a {
    font-size: 1rem;
  }
}
.custom-404-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #ffffff;
  text-shadow: 2px 2px 8px #000;
  z-index: 10;
  padding: 20px;
}

.custom-404-content h1 {
  font-size: 3em;
  font-weight: 900;
  margin-bottom: 10px;
}

.custom-404-content p {
  font-size: 1.5em;
  margin-bottom: 20px;
}

.go-home-btn {
  display: inline-block;
  padding: 15px 30px;
  background: #e00000;
  color: white;
  font-weight: bold;
  font-size: 1.2em;
  border-radius: 30px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: background 0.3s;
}

.go-home-btn:hover {
  background: #a80000;
}

.page .vc_row {
  padding-left: 60px;
  padding-right: 60px;
}

.qodef-header-logo-image.qodef--main, 

.qodef-header-logo-image.qodef--light { 

  border: 2px solid #ccc; 

  border-radius: 8px; 

  padding: 6px; 

  background-color: #ffffff; 

  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 

}

@media (max-width: 767px) {
  .page .vc_row {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
} 
@media (max-width: 1024px) {
  .page .vc_row {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
}



/* FAQ link in footer: white, Nunito Sans, normal casing, and same size as your other footer text */
#menu-item-4569 > a {
  color:        #ffffff !important;
  font-family:  'Nunito Sans', sans-serif !important;
  font-size:    1.5rem          !important;  /* adjust this up or down as needed */
  line-height:  1.4           !important;  /* keeps it nicely spaced */
  text-transform: none        !important;
}

/* Join Team area */

.footer-join-team {
  display: flex;
  justify-content: center;
  padding: 2rem 0;
}

.btn-join-team {
  position: relative;
  display: inline-flex;
  align-items: center;
  background: #a3b49b;
  color: #ffffff;               
	
	/* default text color */
  
	text-decoration: none;
  font-weight: 700;
  font-size: 1.1rem;
  padding: 0.75rem 1.75rem;
  border-radius: 50px;
  box-shadow: 0 6px 18px ;
  overflow: hidden;
  transition: background 0.3s ease, transform 0.3s ease, color 0.3s ease;
}

.btn-join-team .btn-arrow {
  display: inline-block;
  margin-left: 0.5rem;
  transition: transform 0.3s ease;
}

.btn-join-team::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: rgba(255,255,255,0.1);
  transform: skewX(-25deg);
  transition: all 0.7s ease;
	

}

.btn-join-team:hover {
  background: #4B5D77;
  color: #000000;               /* hover text color */
  transform: translateY(-3px);
}

.btn-join-team:hover .btn-arrow {
  transform: translateX(6px);
}

.btn-join-team:hover::before {
  left: 125%;
}
/* ensure all button text is white */
.btn-join-team,
.btn-join-team .btn-text,
.btn-join-team .btn-arrow {
  color: #ffffff !important;
}

/* on hover we still switch to black */
.btn-join-team:hover,
.btn-join-team:hover .btn-text,
.btn-join-team:hover .btn-arrow {
  color: #000000 !important;
}

/* Make room and align icon + text */
.btn-join-team {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;             /* space between icon and text */
  padding: 0.75rem 1.75rem;  /* adjust as needed */
}

/* Size your icon to match text height */

.btn-join-icon {
  border: 2px solid #2E8B57;     /* Sea Green border */
  border-radius: 6px;            /* soften the corners */
  padding: 4px;                  /* space between logo and border */
  background-color: #ffffff;     /* ensures a white “frame” behind transparent SVGs */
  box-shadow: 0 2px 6px rgba(0,0,0,0.1); /* gentle lift */
  width: 1.2em;                  /* keep your existing sizing */
	width: 4.2em;             /* about the same height as your text */

  height: auto;
  display: block;
}
 
/* 1) Prevent the link text from ever breaking */
ul.sub-menu li a {
  white-space: nowrap !important;
}

/* 2) Let the submenu container size itself to its content */
ul.sub-menu {
  width: auto !important;     
	
	/* override any fixed width */
  min-width: 0 !important;    
	
	/* clear out any theme min-width */
  display: inline-block;      
	
	/* allow it to expand horizontally */
/* 2) Let the submenu container size itself to its content */

/* 1) Make the whole submenu “button” light up on hover - black/gray style */
ul.sub-menu li:hover > a {
  background-color: rgba(0, 0, 0, 0.08) !important; /* light gray tint */
  color: #000000 !important;                        /* black text */
  -webkit-text-fill-color: #000000 !important;       /* Safari fix */
}

/* 2) (Optional) Add a little padding so the highlight spans the full width */
ul.sub-menu li a {
  padding: 8px 16px !important;
}

/* Active (current) page highlight - submenu version */
ul.sub-menu li.current-menu-item > a,
ul.sub-menu li.current_page_item > a,
ul.sub-menu li.current-menu-ancestor > a {
  background-color: rgba(0, 0, 0, 0.08) !important; /* light gray tint */
  color: #000000 !important;                        /* black text */
  -webkit-text-fill-color: #000000 !important;
  font-weight: bold !important;
  border-radius: 8px !important;                    /* modern corners */
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.12),
    0 1px 2px rgba(0,0,0,0.08) !important;          /* subtle 3D effect */
}

/* 1) Target the map iframe in your footer */
.site-footer iframe,
footer iframe {
  border: 2px solid #cccccc !important;   
	
	/* light gray border */
  border-radius: 8px !important;          
	/* rounded corners */
	
 box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important; /* subtle drop shadow */
}

/* 1) Pull the entire nav_menu-3 widget closer to the one above */
#nav_menu-3 {
  margin-top: 5px !important;  	
	
	/* moves this block up */
  margin-bottom: 5px !important; 
	
	/* moves the next block up */
  padding-bottom: 0 !important;   
	/* remove any extra inner padding */
}

/* 2) Tighten the space between its list items */
#nav_menu-3 ul.menu > li {
  margin-bottom: 4px !important; 
	/* shrink gap between each link */
}

/* 1) Pull the nav_menu-3 widget and its following item closer */
#nav_menu-3 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  padding-bottom: 0 !important;
}
#nav_menu-3 + .qodef-grid-item {
  margin-top: 5px !important;
}
	
/* 2) Pull the phone widget up and strip its inner margins */
#custom_html-8 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#custom_html-8 p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 1) Give the nav a 3D perspective */
nav.main-navigation {
  perspective: 800px;
}
	nav.main-navigation ul.sub-menu {
  transform-style: preserve-3d;
}
ul.sub-menu {
  transform-origin: top center;
  transform: rotateX(8deg) translateY(-10px);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  pointer-events: none; /* prevents interaction when hidden */
}

li.menu-item-has-children:hover > ul.sub-menu {
  transform: rotateX(0deg) translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/* 2) Closed dropdown panel */
ul.sub-menu {
  transform-origin: top center;
  transform: rotateX(8deg) translateY(-10px);
  background: linear-gradient(to bottom, #ffffff 0%, #f7f7f7 100%);
  border-radius: 12px !important;
  box-shadow:
    0 20px 80px rgba(0, 0, 0, 0.60),
    0 10px 30px rgba(0, 0, 0, 0.20) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* 3) Open / hover dropdown panel */
li.menu-item-has-children:hover > ul.sub-menu {
  transform: rotateX(0deg) translateY(0);
  box-shadow:
    0 40px 80px rgba(0, 0, 0, 0.30),
    0 20px 40px rgba(0, 0, 0, 0.20) !important;
}

/* 4) Link hover “pop” */
ul.sub-menu li a {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
ul.sub-menu li a:hover {
  transform: translateZ(10px);
  box-shadow:
    inset 0 0 0 2000px rgba(46, 139, 87, 0.10) !important,
    0 4px 12px rgba(0, 0, 0, 0.10) inset !important;
}

	
	/* ── Active & Parent Highlighting ── */
/* Current page (top-level) - black text + gray tint + 3D */
nav.main-navigation ul.menu li.current-menu-item > a,
nav.main-navigation ul.menu li.current_page_item > a {
  color: #000000 !important;                  /* black text */
  -webkit-text-fill-color: #000000 !important; /* Safari fix */
  font-weight: 700 !important;
  background: rgba(0,0,0,0.08) !important;     /* light gray tint */
  border-radius: 8px !important;
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.12),           /* inner shadow */
    0 1px 2px rgba(0,0,0,0.08) !important;      /* subtle drop shadow */
}
/* If you’re on a child page, highlight its parent link - black/gray 3D */
nav.main-navigation ul.menu li.current-menu-parent > a,
nav.main-navigation ul.menu li.current-menu-ancestor > a,
nav.main-navigation ul.menu li.current_page_parent > a,
nav.main-navigation ul.menu li.current_page_ancestor > a {
  color: #000000 !important;                  /* black text */
  -webkit-text-fill-color: #000000 !important; /* Safari compatibility */
  font-weight: 600 !important;
  background: rgba(0,0,0,0.06) !important;     /* softer gray tint */
  border-radius: 8px !important;
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.12),           /* inner shadow */
    0 1px 2px rgba(0,0,0,0.08) !important;      /* drop shadow */
}
	
/* Current page (sub-menu) - match black/gray 3D style */
nav.main-navigation ul.sub-menu li.current-menu-item > a,
nav.main-navigation ul.sub-menu li.current_page_item > a {
  color: #000000 !important;                  /* black text */
  -webkit-text-fill-color: #000000 !important; /* force for Safari */
  font-weight: 600 !important;
  background: rgba(0,0,0,0.08) !important;     /* light gray tint */
  border-radius: 8px !important;               /* smooth corners */
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.12),           /* inner shadow for depth */
    0 1px 2px rgba(0,0,0,0.08) !important;      /* subtle drop shadow */
}
	
/* Active/current menu items — black text + gray tint */
li.current-menu-item > a,
li.current_page_item > a,
li.current-menu-parent > a,
li.current-menu-ancestor > a,
li.current_page_parent > a,
li.current_page_ancestor > a {
  color: #000000 !important;                 /* black text */
  -webkit-text-fill-color: #000000 !important;
  font-weight: 700 !important;
  background: rgba(0, 0, 0, 0.08) !important; /* light gray chip */
  border-radius: 8px !important;              /* modern corners */
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.12),
    0 1px 2px rgba(0,0,0,0.08) !important;    /* subtle 3D */
}

	/* Active link & active submenu item - black text + gray tint + 3D */
a[aria-current="page"],
ul.sub-menu li.current-menu-item > a,
ul.sub-menu li.current_page_item > a {
  color: #000000 !important;                /* pure black text */
  -webkit-text-fill-color: #000000 !important; /* overrides Safari text fill */
  font-weight: 700 !important;
  background: rgba(0, 0, 0, 0.08) !important; /* soft gray tint */
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.12),        /* inner shadow for depth */
    0 1px 2px rgba(0,0,0,0.08);              /* subtle drop shadow */
  border-radius: 8px !important;
}

/* Active submenu link - black text + grey tint + subtle 3D */
ul.sub-menu li.current-menu-item > a,
ul.sub-menu li.current_page_item > a {
  background: rgba(0, 0, 0, 0.08) !important; /* soft gray tint */
  color: #000000 !important; /* black font */
  font-weight: 600 !important;
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.12), /* inner shadow for depth */
    0 1px 2px rgba(0,0,0,0.08);       /* subtle drop shadow */
  border-radius: 8px !important;       /* smooth corners */
}
	
@media (max-width:1024px){
  /* Mobile dropdown panel — WHITE CARD, no green */
  [class*="mobile"] ul.sub-menu{
    background: rgba(255,255,255,.85) !important;
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);

    
		
    border: 1px solid rgba(0,0,0,.06) !important; /* neutral */
    border-radius: 12px !important;
    box-shadow: 0 20px 40px rgba(0,0,0,.15), 0 10px 20px rgba(0,0,0,.10) !important;
    padding: 8px 0 !important;
  }
  [class*="mobile"] ul.sub-menu > li > a{
    color:#000 !important;                 /* black text */
    -webkit-text-fill-color:#000 !important;
    background: transparent !important;
    padding:12px 20px !important;
  }
  [class*="mobile"] ul.sub-menu > li > a:hover{
    background: rgba(0,0,0,.06) !important; /* gray hover */
    color:#000 !important;
  }
}


  /* Each link is visible by default */
  [class*="mobile"] ul.sub-menu li a {
    display: block !important;
    width: 100% !important;
    white-space: normal !important;
    word-break: break-word !important;
    background: transparent !important;
    color: #000000 !important; /* black text on white */
    padding: 12px 20px !important;
    transition: background 0.3s ease, color 0.3s ease !important;
  }

  /* Tap/hover highlight */
  [class*="mobile"] ul.sub-menu li a:active,
  [class*="mobile"] ul.sub-menu li a:hover {
    background: rgba(255, 255, 255, 0.1) !important; /* light overlay */
    color: #fff !important;
  }
}

	/* Responsive for curved monitor */
	.container {
  max-width: 1200px;      /* or ~75ch for text areas */
  margin: 0 auto;
  padding: 0 16px;
}
	
	/* EMDR Page */
	.emdr-accordion summary {
  font-size: 24px;
  font-weight: 700;
  cursor: pointer;
  outline: none;
  padding: 10px 0;
  color: #222;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all 0.3s ease;
  border-radius: 8px;
}

.emdr-accordion summary:hover {
  background-color: #f5f5f5;
  padding-left: 15px;
  color: #e00000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
	
.emdr-accordion summary {
  font-size: 24px;
  font-weight: 700;
  cursor: pointer;
  outline: none;
  padding: 10px 0;
  color: #222;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all 0.3s ease;
  border-radius: 8px;
}

.emdr-accordion summary:hover {
  background-color: #f5f5f5;
  padding-left: 15px;
  color: #000000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}


  

/* 2) MOBILE: your white card is fine; fix the hover that's turning text WHITE */
@media (max-width:1024px){
  [class*="mobile"] ul.sub-menu > li > a {
    color:#000 !important;
    -webkit-text-fill-color:#000 !important;
    background: transparent !important;
  }

  /* THIS was the culprit: it set white-on-white */
  [class*="mobile"] ul.sub-menu li a:hover,
  [class*="mobile"] ul.sub-menu li a:active {
    background: rgba(0,0,0,0.08) !important;  /* light gray hover */
    color:#000 !important;                     /* KEEP TEXT BLACK */
    -webkit-text-fill-color:#000 !important;
  }
}
/* ===== Mobile submenu: white card, black text, gray hover ===== */
@media (max-width:1024px){
  /* the open submenu (nested UL) */
  nav [class*="menu"] ul ul,
  [class*="menu"] ul ul,
  [id*="menu"] ul ul {
    background: rgba(255,255,255,0.92) !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(0,0,0,0.14) !important;
    padding: 8px !important;
    margin: 8px 10px !important;
    z-index: 10001 !important;
  }

  /* links inside the card */
  nav [class*="menu"] ul ul > li > a,
  [class*="menu"] ul ul > li > a,
  [id*="menu"]  ul ul > li > a{
    background: transparent !important;
    color:#000 !important;
    -webkit-text-fill-color:#000 !important;
    padding:12px 16px !important;
    border-radius:10px !important;
    white-space: normal !important;
    word-break: break-word !important;
    transition: background .2s ease,color .2s ease !important;
  }

  /* hover / active */
  nav [class*="menu"] ul ul > li > a:hover,
  [class*="menu"] ul ul > li > a:hover{
    background: rgba(0,0,0,.08) !important;
    color:#000 !important;
  }
  nav [class*="menu"] ul ul > li.current-menu-item > a,
  [class*="menu"] ul ul > li.current_page_item > a{
    background: rgba(0,0,0,.12) !important;
    color:#000 !important;
    font-weight:700 !important;
  }
}



/* ===== Pathways – CF7 mobile fixes (safe syntax) ===== */

/* Base form text color */
.wpcf7 form, .wpcf7-form { color: #1f2a33; }

/* Labels */
.wpcf7-form label,
.wpcf7-form .wpcf7-list-item-label {
  display: block;
  font-weight: 600;
  margin: 10px 0 6px;
  color: #1f2a33;
}

/* Inputs, selects, textareas */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #ffffff;
  color: #1f2a33;
  border: 1px solid rgba(16,24,30,.18);
  border-radius: 12px;
  padding: 12px 14px;
  line-height: 1.35;
  font-size: 16px; /* avoid iOS zoom */
  -webkit-appearance: none;
  appearance: none;
}

/* Focus */
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  border-color: #4B5D77;             /* slate */
  box-shadow: 0 0 0 3px rgba(75,93,119,.2);
  outline: none;
}

/* Placeholder */
.wpcf7-form ::placeholder { color: #6b7a86; opacity: .85; }

/* Radios / checkboxes */
.wpcf7-form .wpcf7-list-item {
  display: flex; align-items: center; gap: 10px; margin: 6px 0;
}
.wpcf7-form input[type="checkbox"],
.wpcf7-form input[type="radio"] { width: 18px; height: 18px; min-width: 18px; }

/* Submit button */
.wpcf7-form input[type="submit"],
.wpcf7-submit {
  width: 100%;
  background: linear-gradient(90deg, #4B5D77, #8AA98D); /* slate → sage */
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 14px 18px;
  font-weight: 800;
  letter-spacing: .02em;
  font-size: 16px;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
  transition: transform .15s ease, filter .15s ease, background .2s ease;
  cursor: pointer;
}
.wpcf7-form input[type="submit"]:hover { transform: translateY(-1px); filter: brightness(.96); }
.wpcf7-form input[type="submit"]:disabled { opacity:.6; cursor:not-allowed; }

/* Validation */
.wpcf7-form .wpcf7-not-valid {
  border-color: #c62828 !important;
  box-shadow: 0 0 0 2px rgba(198,40,40,.2);
}
.wpcf7-form .wpcf7-not-valid-tip {
  color: #c62828 !important; font-size: 13px; margin-top: 6px;
}
.wpcf7 form .wpcf7-response-output {
  border: 1px solid #8AA98D;
  background: #f0f5f2;
  color: #1f2a33;
  border-radius: 12px;
  padding: 10px 14px;
  margin: 12px 0 0;
}




/* Team grid – uniform headshot size */
.qodef-grid-item.team .qodef-e-media,
.qodef-grid-item.team .qodef-e-image,
.qodef-grid-item.team .qodef-e-media-image {
  position: relative !important;
  width: 100% !important;
  height: 600px !important;
  overflow: hidden !important;
  border-radius: 6px;
}
@media (max-width:1024px){
  .qodef-grid-item.team .qodef-e-media,
  .qodef-grid-item.team .qodef-e-image,
  .qodef-grid-item.team .qodef-e-media-image { height: 340px !important; }
}
@media (max-width:600px){
  .qodef-grid-item.team .qodef-e-media,
  .qodef-grid-item.team .qodef-e-image,
  .qodef-grid-item.team .qodef-e-media-image { height: 260px !important; }
}

.qodef-grid-item.team .qodef-e-media img,
.qodef-grid-item.team .qodef-e-image img,
.qodef-grid-item.team .qodef-e-media-image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
}

.qodef-grid-item.team .qodef-e-media a,
.qodef-grid-item.team .qodef-e-image a,
.qodef-grid-item.team .qodef-e-media-image a,
.qodef-grid-item.team .qodef-e-media .qodef-e-media-image,
.qodef-grid-item.team .qodef-e-image .qodef-e-media-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.qodef-grid-item.team .qodef-e-media img {
  max-width: none !important;
  max-height: none !important;
}

.qodef-grid-item.team .qodef-e-hover-content { pointer-events: none; }

/* Team grid – mobile headroom tweak */
@media (max-width:600px){
  /* a bit taller on phones */
  .qodef-grid-item.team .qodef-e-media,
  .qodef-grid-item.team .qodef-e-image,
  .qodef-grid-item.team .qodef-e-media-image {
    height: 370px !important;  /* was 260 */
  }

  /* show more top in the crop */
  .qodef-grid-item.team .qodef-e-media img,
  .qodef-grid-item.team .qodef-e-image img,
  .qodef-grid-item.team .qodef-e-media-image img {
    object-position: 50% 28% !important;
  }

  /* if any tiles use background images, bias those too */
  .qodef-grid-item.team .qodef-e-media a,
  .qodef-grid-item.team .qodef-e-image a,
  .qodef-grid-item.team .qodef-e-media-image a {
    background-position: 50% 28% !important;
  }
}


/* ===== Single Therapist — Mobile Polish Pack ===== */
@media (max-width: 820px){

  /* Room to breathe on small screens */
  body.single-team .qodef-page-inner,
  body.single-team .qodef-content .qodef-content-grid,
  body.single-team .qodef-content .qodef-grid-inner{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Stack columns cleanly and remove leftover fixed widths */
  body.single-team .qodef-team-single-holder .qodef-grid-row,
  body.single-team .qodef-team-single .qodef-grid-row{
    display:block !important;
  }
  body.single-team .qodef-grid-col-3,
  body.single-team .qodef-grid-col-4,
  body.single-team .qodef-grid-col-5,
  body.single-team .qodef-grid-col-7,
  body.single-team .qodef-grid-col-8,
  body.single-team .qodef-grid-col-9{
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Headshot: full-width card look */
  body.single-team .qodef-team-single .qodef-team-image{
    margin: 0 auto 14px !important;
    max-width: 520px;
  }
  body.single-team .qodef-team-single .qodef-team-image img{
    width: 100% !important;
    height: auto !important;
    border-radius: 12px;
    object-fit: cover;
  }

  /* Titles & positions */
  body.single-team .qodef-team-single .qodef-team-title,
  body.single-team .qodef-team-single h1{
    font-size: clamp(1.38rem, 5.2vw, 1.6rem) !important;
    line-height: 1.2 !important;
    margin: 10px 0 6px !important;
  }
  body.single-team .qodef-team-single .qodef-team-position{
    font-size: 0.98rem !important;
    opacity: .9;
    margin-bottom: 10px !important;
  }

  /* Bio text readability */
  body.single-team .qodef-team-single .qodef-team-content p{
    font-size: 1.02rem !important;
    line-height: 1.55 !important;
    margin: 0 0 12px !important;
  }
  body.single-team .qodef-team-single .qodef-team-content strong{
    font-weight: 800;
  }

  /* Contact form: big, tappable inputs */
  body.single-team .wpcf7 form p{ margin-bottom: 10px !important; }
  body.single-team .wpcf7 input[type="text"],
  body.single-team .wpcf7 input[type="email"],
  body.single-team .wpcf7 input[type="tel"],
  body.single-team .wpcf7 textarea{
    width: 100% !important;
    padding: 12px 14px !important;
    font-size: 1rem !important;
    border-radius: 10px !important;
    border: 1px solid rgba(0,0,0,.12) !important;
  }
  body.single-team .wpcf7 textarea{ min-height: 140px !important; }
  body.single-team .wpcf7 input[type="submit"]{
    width: 100%;
    padding: 12px 16px !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    letter-spacing: .02em;
  }

  /* Our IntakeQ booking CTA (if you added it earlier) */
  body.single-team .team-cta{
    margin: 18px auto 28px !important;
    padding: 18px !important;
  }
  body.single-team .team-cta__btn{ width: 100%; }

  /* Avoid overlaps with chat bubbles on the right */
  body.single-team .wpcf7,
  body.single-team .team-cta{ scroll-margin-bottom: 120px; }
}















/* CBT Quiz buttons — match brand slate→sage */
.cbt-quiz button,
.cbt-quiz input[type="button"],
.cbt-quiz .btn {
  background: linear-gradient(90deg, #4B5D77, #8AA98D) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 20px !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
  transition: transform .15s ease, filter .15s ease !important;
  display: inline-flex; align-items: center; justify-content: center;
}

.cbt-quiz button:hover,
.cbt-quiz input[type="button"]:hover,
.cbt-quiz .btn:hover {
  transform: translateY(-1px);
  filter: brightness(.96);
}

.cbt-quiz button:focus-visible,
.cbt-quiz input[type="button"]:focus-visible,
.cbt-quiz .btn:focus-visible {
  outline: 3px solid #8AA98D;
  outline-offset: 2px;
}

.cbt-quiz button:disabled,
.cbt-quiz input[type="button"]:disabled,
.cbt-quiz .btn:disabled {
  opacity: .6; cursor: not-allowed;
}

/* Optional: tighten spacing under the quiz */
.cbt-quiz button { margin-top: 10px; }




/* Map CTA: "Get Directions to Our Office" — match brand button */
#office-map .btn-directions,
.map-actions .btn-directions {
  background: linear-gradient(90deg, #4B5D77, #8AA98D) !important; /* slate → sage */
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center; justify-content: center;
  box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
  transition: transform .15s ease, filter .15s ease !important;
}
#office-map .btn-directions:hover,
.map-actions .btn-directions:hover {
  transform: translateY(-1px);
  filter: brightness(.96);
}
#office-map .btn-directions:focus-visible,
.map-actions .btn-directions:focus-visible {
  outline: 3px solid #8AA98D;
  outline-offset: 2px;
}

/* ===== Team Member Booking CTA ===== */
body.single-team .team-cta{
  text-align:center;
  margin: 36px auto 48px;
  padding: 22px;
  max-width: 680px;
  border-radius: 16px;
  background: linear-gradient(90deg,#4B5D77,#8AA98D);
  box-shadow: 0 10px 26px rgba(75,93,119,.18);
  color:#fff;
}
body.single-team .team-cta__btn{
  display:inline-block;
  padding: 12px 28px;
  background:#fff;
  color:#4B5D77;
  font-weight: 800;
  font-size: 1.05rem;
  border-radius: 999px;
  text-decoration:none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  margin-bottom: 6px;
}
body.single-team .team-cta__btn:hover{
  transform: translateY(-1px);
  background:#ececec;
  box-shadow: 0 10px 22px rgba(0,0,0,.16);
}
body.single-team .team-cta__sub{
  margin: 6px 0 0;
  font-size:.95rem;
  color:#fff;
}


/* ===== FINAL FIX PACK — wins by specificity & order ===== */

/* 0) Remove duplicate keyframes (keep ONE) */
/* (You can delete the earlier @keyframes block) */
@keyframes flashColors {
  0% { background-color: #a9c448; }
  50% { background-color: #a9c448; }
  100% { background-color: #A3B49B; }
}

/* 1) Single Therapist: widen safely and de-constraint */

/* neutralize global page padding on single-team only */
html body.single-team .page .vc_row {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* widen the main containers */
html body.single-team .qodef-page-inner,
html body.single-team .qodef-content .qodef-content-grid,
html body.single-team .qodef-content .qodef-grid,
html body.single-team .qodef-content .qodef-grid-inner {
  max-width: 1280px !important; /* 1360/1440 if you want wider */
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* convert the template row into 2 cols (photo | content) on desktop */
@media (min-width: 901px){
  html body.single-team .qodef-team-single-holder .qodef-grid-row,
  html body.single-team .qodef-team-single .qodef-grid-row{
    display: grid !important;
    grid-template-columns: minmax(320px, 480px) minmax(0, 1fr) !important;
    gap: clamp(24px, 3.2vw, 44px) !important;
    align-items: start !important;
  }
  /* relax fixed column widths if the theme sets them */
  html body.single-team .qodef-grid-col-3,
  html body.single-team .qodef-grid-col-4,
  html body.single-team .qodef-grid-col-5,
  html body.single-team .qodef-grid-col-7,
  html body.single-team .qodef-grid-col-8,
  html body.single-team .qodef-grid-col-9{
    max-width: none !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }
}

/* stack cleanly on mobile */
@media (max-width: 900px){
  html body.single-team .qodef-team-single-holder .qodef-grid-row,
  html body.single-team .qodef-team-single .qodef-grid-row{ display:block !important; }
  html body.single-team [class*="qodef-grid-col-"]{
    width:100% !important; max-width:100% !important; float:none !important;
  }
}

/* image polish (single page) */
html body.single-team .qodef-team-single .qodef-team-image{
  max-width: 520px; margin: 0 auto 14px !important;
}
html body.single-team .qodef-team-single .qodef-team-image img{
  width: 100% !important; height: auto !important; object-fit: cover; border-radius: 12px;
}

/* type + form polish (single page) */
html body.single-team .qodef-team-single .qodef-team-title,
html body.single-team .qodef-team-single h1{
  margin: 10px 0 6px !important;
  line-height: 1.22 !important;
  font-size: clamp(1.35rem, 5.2vw, 1.6rem) !important;
}
html body.single-team .qodef-team-single .qodef-team-position{
  margin-bottom: 10px !important; font-size: 1rem !important; opacity: .95;
}
html body.single-team .qodef-team-single .qodef-team-content p{
  font-size: 1.02rem !important; line-height: 1.55 !important; margin: 0 0 12px !important;
}
html body.single-team .wpcf7 input[type="text"],
html body.single-team .wpcf7 input[type="email"],
html body.single-team .wpcf7 input[type="tel"],
html body.single-team .wpcf7 textarea{
  width: 100% !important; padding: 12px 14px !important; font-size: 16px !important; border-radius: 10px !important;
}

/* 2) FB card: raise specificity so nothing else overrides */
html body .pcs-social-card{ border: 3px solid var(--pcs-slate) !important; box-shadow: 0 10px 26px rgba(75,93,119,.14) !important; }
html body .fb-page,
html body .fb_iframe_widget,
html body .fb_iframe_widget > span,
html body .fb_iframe_widget iframe{
  display:block !important; margin:0 auto; width:100% !important; max-width:420px; min-height:140px !important;
  visibility:visible !important; opacity:1 !important; position:relative; z-index:5;
}

/* 3) Keep button styles consistent in all contexts */
html body .pcs-btn,
html body .btn.btn-primary,
html body .wp-block-button__link,
html body .vc_btn3.vc_btn3-shape-rounded{
  background: linear-gradient(90deg, #4B5D77, #8AA98D) !important;
  color:#fff !important;
}

/* 4) Safety: neutralize any per-page inline “grid width” that may appear after Additional CSS */
html body.single-team [style*="max-width:1200px"],
html body.single-team [style*="max-width:1300px"]{
  max-width: 1280px !important;
}

/* 5) Optional: tiny debug pill (remove when satisfied) */
@media (max-width: 900px){
  html body.single-team::after{
    content: "single-team css active"; position: fixed; left: 8px; bottom: 8px; z-index: 999999;
    background:#4B5D77; color:#fff; font: 700 12px/1 system-ui; padding: 4px 8px; border-radius: 6px;
  }
}


/* ===== Slider Rev – TV/Laptop tuning (append) ===== */

/* 0) Put your three layers in this stack (add class pcs-hero-stack to each) */
.pcs-hero-stack > * + *{ margin-top: clamp(8px, 1.6vw, 16px); }

/* 1) Smarter fluid type with caps so 1366×768 doesn’t blow up */
.pcs-hero-h1{
  /* min 28px, fluid 4.6vw, max 56px */
  font-size: clamp(28px, 4.6vw, 56px) !important;
  line-height: 1.12 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.pcs-hero-sub{
  /* min 15px, fluid 1.8vw, max 22px */
  font-size: clamp(15px, 1.8vw, 22px) !important;
  line-height: 1.35 !important;
  opacity: .95;
}

/* 2) CTA stays readable but never huge */
.rev-btn.pcs-cta, a.pcs-cta{
  font-size: clamp(14px, 1.4vw, 18px) !important;
  padding: clamp(10px, 1.8vw, 14px) clamp(18px, 3.4vw, 28px) !important;
}

/* 3) Vertical “safe band” so content sits mid-frame across devices */
.pcs-hero-safe{
  /* add this class to the container group or each layer */
  /* keep stack in the middle 35–65% band */
  position: relative;
  top: clamp(-12vh, -8vh, -6vh);  /* gentle lift on short screens */
}

/* 4) Specific fixes for short desktops/TVs (1366×768, 1280×720, 1600×900) */
@media (max-height: 820px) and (min-width: 1024px){
  .pcs-hero-h1{ font-size: clamp(26px, 3.8vw, 48px) !important; }
  .pcs-hero-sub{ font-size: clamp(14px, 1.6vw, 20px) !important; }
  .pcs-hero-stack{ margin-top: 4px; }
}

/* 5) Ultra-wide monitors: don’t let it get tiny */
@media (min-width: 1920px){
  .pcs-hero-h1{ font-size: clamp(32px, 3.6vw, 62px) !important; }
  .pcs-hero-sub{ font-size: clamp(16px, 1.4vw, 24px) !important; }
}

/* 6) Keep the slider wrapper properly centered */
.rev_slider_wrapper, .rev_slider{
  margin: 0 auto !important;
  max-width: 100vw !important;
  left: auto !important; right: auto !important;
}
.qodef-content .rev_slider_wrapper,
.qodef-page-inner .rev_slider_wrapper{
  padding-left: 0 !important; padding-right: 0 !important;
}


/* ========= Pathways – Mobile Form Polish (<=768px) ========= */
@media (max-width: 768px){
  :root{
    --pf-ink:#1f2a33;
    --pf-muted:#6b7a86;
    --pf-bg:#ffffff;
    --pf-accent:#4B5D77;   /* slate */
    --pf-accent-2:#8AA98D; /* sage */
    --pf-error:#c62828;
    --pf-radius:14px;
    --pf-pad:14px;
  }

  /* Form wrapper */
  .wpcf7 form,
  .wpcf7-form,
  form[class*="contact"], form[class*="form"]{
    margin: 0 auto;
    max-width: 720px;
    padding: 8px 10px 18px;
    color: var(--pf-ink);
  }

  /* Normalize rows/columns from page builders */
  .wpcf7 .row, .wpcf7 .vc_row, .wpcf7 .wpb_row,
  .wpcf7-form .row, .wpcf7-form .vc_row, .wpcf7-form .wpb_row{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .wpcf7 [class*="col-"], .wpcf7-form [class*="col-"]{
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Labels */
  .wpcf7-form label,
  .wpcf7-form .wpcf7-list-item-label{
    display: block;
    font-weight: 700;
    font-size: 16px; /* prevents iOS zoom */
    margin: 12px 0 6px;
    color: var(--pf-ink);
  }

  /* Inputs, selects, textareas */
  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form input[type="url"],
  .wpcf7-form input[type="number"],
  .wpcf7-form input[type="date"],
  .wpcf7-form input[type="time"],
  .wpcf7-form input[type="password"],
  .wpcf7-form select,
  .wpcf7-form textarea{
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    font-size: 16px; /* stops iOS auto-zoom */
    line-height: 1.35;
    padding: var(--pf-pad);
    border-radius: var(--pf-radius);
    border: 1.5px solid rgba(0,0,0,.12);
    background: var(--pf-bg);
    outline: none;
    box-shadow: 0 2px 0 rgba(0,0,0,.02) inset;
  }

  /* Focus state */
  .wpcf7-form input:focus,
  .wpcf7-form select:focus,
  .wpcf7-form textarea:focus{
    border-color: var(--pf-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pf-accent) 18%, transparent);
  }

  /* Placeholder readability */
  .wpcf7-form ::placeholder{ color: var(--pf-muted); opacity: .9; }

  /* Select wrapper to avoid native chevron overlap */
  .wpcf7-form select{
    background-image:
      linear-gradient(45deg, transparent 50%, var(--pf-muted) 50%),
      linear-gradient(135deg, var(--pf-muted) 50%, transparent 50%);
    background-position:
      calc(100% - 18px) calc(50% - 3px),
      calc(100% - 12px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 40px;
  }

  /* Checkbox / radio groups */
  .wpcf7-form .wpcf7-list-item{ display:block; margin: 8px 0; }
  .wpcf7-form input[type="checkbox"],
  .wpcf7-form input[type="radio"]{
    width: 20px; height: 20px; transform: translateY(3px);
    margin-right: 8px;
  }

  /* Spacing between fields */
  .wpcf7-form p,
  .wpcf7-form .form-group{ margin: 0 0 14px; }

  /* Two-up fields collapse to single column */
  .wpcf7-form .half, .wpcf7-form .one-half,
  .wpcf7-form .col-6, .wpcf7-form .col-md-6{
    width: 100% !important;
  }

  /* Submit button */
  .wpcf7-form input[type="submit"],
  .wpcf7-submit, .wpcf7 .button, .wpcf7 button[type="submit"]{
    display: inline-flex; justify-content: center; align-items: center;
    width: 100%; min-height: 48px;
    font-weight: 800; letter-spacing: .02em;
    font-size: 16px;
    padding: 14px 16px;
    border-radius: 999px; border: 0;
    background: linear-gradient(90deg, var(--pf-accent), var(--pf-accent-2));
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.14), 0 2px 6px rgba(0,0,0,.08);
    cursor: pointer;
  }
  .wpcf7-form input[type="submit"]:hover{ filter: brightness(1.05); }
  .wpcf7-form input[type="submit"]:active{ transform: translateY(1px); }

  /* Error messages + invalid fields */
  .wpcf7-not-valid-tip{
    font-size: 13px; margin-top: 6px; color: var(--pf-error);
  }
  .wpcf7 form.invalid .wpcf7-response-output,
  .wpcf7 form.unaccepted .wpcf7-response-output{
    border: 0; margin: 8px 0 0; padding: 10px 0; color: var(--pf-error);
  }
  .wpcf7-form .wpcf7-not-valid{
    border-color: var(--pf-error) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pf-error) 16%, transparent);
  }

  /* Success message */
  .wpcf7 form.sent .wpcf7-response-output{
    border: 0; margin: 10px 0 0; padding: 10px 0;
    color: #166534; /* dark green */
  }

  /* Reduce aggressive theme margins inside cards/sections */
  .wpcf7 .wpb_content_element, .wpcf7 .vc_column-inner{
    margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
  }

  /* Prevent long labels/inputs from causing horizontal scroll */
  .wpcf7, .wpcf7-form{ overflow-wrap: anywhere; }
}

/* Optional: Light desktop cleanup (safe) */
.wpcf7-spinner{ margin-left: 8px; }


/* === Team Single polish v2 === */

/* 1) Center the CTA and keep it a consistent width */
body.single-team .team-cta{
  max-width: 640px;
  margin: 20px auto 28px;
}

/* 2) Clean, aligned meta rows (Specialty / Degrees / Certificates…) */
body.single-team .qodef-e-additional-info-item{
  display: grid !important;
  grid-template-columns: 180px 1fr; /* desktop label width */
  column-gap: 20px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
body.single-team .qodef-e-additional-info-title{
  font-weight: 700; color:#4B5D77; margin:0 !important;
}
body.single-team .qodef-e-additional-info-value{ margin:0 !important; }
body.single-team .qodef-e-additional-info-value p{
  margin:0 0 8px 0 !important; line-height:1.55;
  white-space: pre-line;            /* respect line breaks */
  padding-left: 1.2rem; text-indent: -1.2rem; /* nice hanging bullets */
}

/* 3) Mobile stack: label above value, readable spacing */
@media (max-width:800px){
  body.single-team .qodef-e-additional-info-item{
    grid-template-columns: 1fr !important; row-gap: 6px;
    padding: 10px 0 14px;
  }
}


/* === FINAL ENFORCE: identical FAB size everywhere === */
:root{
  --safe: max(16px, env(safe-area-inset-bottom));
  --gap: 12px;
  --fab-h: 56px;               /* exact height */
  --fab-w: 220px;              /* exact width */
  --fab-pad-x: 16px;
  --fab-radius: 999px;
}

/* Cover all variants (class, id, or direct IntakeQ link) */
.pcs-text-fab,
.pcs-call-fab,
.pcs-consult-fab,
#pcs-consult-fab,
a[href*="intakeq.com/booking"].pcs-consult-fab,
a[href*="intakeq.com/booking"]#pcs-consult-fab,
a[href*="intakeq.com/booking"].pcs-text-fab,   /* belts & suspenders */
a[href*="intakeq.com/booking"].pcs-call-fab{
  position: fixed;
  right: 16px;
  z-index: 2147483647 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  height: var(--fab-h) !important;
  width:  var(--fab-w) !important;  /* lock width */
  padding-inline: var(--fab-pad-x) !important;
  box-sizing: border-box !important;
  border-radius: var(--fab-radius) !important;

  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;

  background: linear-gradient(90deg,#4B5D77,#8AA98D) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.12) !important;
}

/* Kill rogue inline sizes (some pages inject width/height style attributes) */
#pcs-consult-fab[style],
.pcs-consult-fab[style],
.pcs-text-fab[style],
.pcs-call-fab[style]{
  width: var(--fab-w) !important;
  height: var(--fab-h) !important;
}

/* Stack (bottom → top) */
#pcs-consult-fab, .pcs-consult-fab{ bottom: var(--safe); }
.pcs-call-fab{  bottom: calc(var(--safe) + var(--fab-h) + var(--gap)); }
.pcs-text-fab{  bottom: calc(var(--safe) + (2 * var(--fab-h)) + (2 * var(--gap))); }

@media (min-width:801px){
  .pcs-text-fab, .pcs-call-fab, .pcs-consult-fab, #pcs-consult-fab{ right: 24px; }
}


/* ===== Pathways – Mobile & Tablet Reset Pack ===== */

/* 0) Kill horizontal scroll on small/medium screens */
@media (max-width:1199.98px){
  html, body { overflow-x: hidden; }
}

/* 1) Sane page gutters by breakpoint (no more 60px on tablets) */
@media (min-width:1200px){
  .page .vc_row { padding-inline: 48px; }
}
@media (min-width:768px) and (max-width:1199.98px){
  .page .vc_row { padding-inline: 16px !important; }
}
@media (max-width:767.98px){
  .page .vc_row { padding-inline: 8px !important; }
}

/* 2) Neutralize WPBakery full-width inline math on tablet widths (landscape or portrait) */
@media (max-width:1199.98px){
  .vc_row[data-vc-full-width="true"][style*="left"],
  .vc_row[data-vc-full-width="true"][style*="width"],
  .vc_row[data-vc-stretch-content="true"]{
    left:0 !important; right:0 !important;
    width:100% !important; max-width:100% !important;
    transform:none !important;
    margin-left:auto !important; margin-right:auto !important;
  }
  .vc_row[data-vc-full-width="true"]::before,
  .vc_row[data-vc-full-width="true"]::after{ display:none !important; }
}

/* 3) Services row: two-up on tablets, single on phones (set row class to .pcs-services-row) */
@media (min-width:768px) and (max-width:1199.98px){
  .pcs-services-row .wpb_row{ display:flex; flex-wrap:wrap; gap:24px; }
  .pcs-services-row .wpb_column.vc_col-sm-4{ flex:1 1 calc(50% - 24px) !important; float:none !important; }
  .pcs-services-row .wpb_column.vc_col-sm-4:nth-child(3){ flex-basis:100% !important; }
}
@media (max-width:767.98px){
  .pcs-services-row .wpb_row{ display:block; }
  .pcs-services-row .wpb_column{ width:100% !important; float:none !important; margin-bottom:20px; }
}

/* 4) Image safety everywhere (no squish) */
img{ max-width:100%; height:auto; }
.pcs-services-row .wpb_single_image .vc_single_image-wrapper{ display:block; aspect-ratio:16/9; overflow:hidden; }
.pcs-services-row .wpb_single_image img{ width:100%; height:100%; object-fit:cover; display:block; }

/* 5) Hide floating FABs on phones if they overlap content */
@media (max-width:767.98px){
  .pcs-text-fab, .pcs-call-fab, .pcs-consult-fab, #pcs-consult-fab{ display:none !important; }
}

/* 6) Make big headings fluid so they don't explode on tablet */
.pcs-hero__title{ font-size: clamp(26px, 5vw, 48px); line-height:1.15; }
.pcs-hero__sub{   font-size: clamp(15px, 2.2vw, 20px); line-height:1.4; }

/* 7) (IMPORTANT) Remove global overflows that cause sideways bleed */
.vc_row, .vc_row-fluid, .vc_column_container, .vc_column-inner,
.wpb_row, .wpb_wrapper, .qodef-page-inner, .qodef-page-inner > *{
  overflow: initial !important; /* was visible; that was causing bleed */
}

