/*
Theme Name: Community Clinic
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/


/* Provider template: tweak breadcrumb vertical spacing */
body.single-provider #breadcrumbs {
    margin-top: 0.5rem !important;       /* or 0 if you want it snug under the top H1 */
    margin-bottom: 1rem !important;
}

/* Contact page only (replace 525 with actual ID if needed) */
body.page-id-525 #breadcrumbs {
    margin-top: 1.25rem !important;
}

h2.bold-weight,
.bold-weight h2 {
    font-weight: 600 !important;
}

.nectar-cta[data-using-bg=true] .text {
    text-transform: uppercase !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
}

/* ABOUT stats: make spacing consistent between number/+ and label */
.about-stats-row .wpb_column .wpb_wrapper > * {
    margin-bottom: 0.25rem !important;  /* consistent small gap between stacked elements */
}

.about-stats-row .wpb_column .wpb_wrapper > *:last-child {
    margin-bottom: 0 !important;        /* no extra gap after the label */
}

/* Location Pages - Providers Pages - Service Pages */
.single-location .heading-title, .single-provider .heading-title, .single-service .heading-title, .location-page-filter-hide{
	display: none;
}
/*.single-location .container-wrap, .single-provider .container-wrap, .single-service .container-wrap{
	padding-top: 0px !important;
}*/

body.single-provider .nectar-global-section.before-footer{
	padding-top: 0 !important;
  }

.row, div.clear {
    padding-bottom: 0px !important;
}

body:not(.page):not(.single-post):not(.single-portfolio) .nectar-global-section.before-footer {
    padding-top: 40px !important;
}

body.single-provider .wp-block-group.has-background,
body.single-provider .wp-block-group.has-background .wp-block-group__inner-container {
    overflow: visible !important;
}

/* ==========================================================
   Search & Filter Grid Styling (CSS-only Hover CTA)
   ========================================================== */
.sf-card{
	background: #134960;
	border-radius: 15px;
}
/* ---- Grid (4-column responsive) ---- */
.sf-grid{
	display:grid;
	gap:24px;
}
.sf-grid--4{
	grid-template-columns:repeat(4, minmax(0, 1fr));
}
@media (max-width: 1024px){
	.sf-grid--4{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
	.sf-grid--4{ grid-template-columns:1fr; }
}

/* ---- Card ---- */
.sf-card{ margin:0; }
.sf-card__link{
	display:block;
	text-decoration:none;
}

/* ---- Media tile ---- */
.sf-card__media{
	position:relative;
	width:100%;
	padding-top:75%; /* 4:3 tile; change to 100% for square */
	background-size:cover;
	background-position:center;
	border-radius:15px;
	overflow:hidden;
	transition:transform 0.45s ease;
}

/* Gradient overlay */
.sf-card__media::before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(
		to top,
		rgba(0,0,0,.65),
		rgba(0,0,0,0) 60%
	);
	pointer-events:none;
}

/* ---- Title ---- */
.sf-card__title{
	position:absolute;
	left:14px;
	bottom:14px;
	margin:0;
	padding:0;
	color:#fff;
	font-size:18px;
	line-height:1.2;
	z-index:2;

	display:inline-block; /* shrink to text width */

	transform:translateY(0);
	transition:transform 0.35s ease;
}

/* Underline (exact title width) */
.sf-card__title::after{
	content:"";
	display:block;
	width:100%;
	height:2px;
	background:#fff;
	margin-top:6px;
	opacity:0.85;

	transform:scaleX(0);
	transform-origin:left;
	transition:transform 0.35s ease;
}

/* CTA (CSS-only) */
.sf-card__title::before{
	content:"View →";
	display:block;
	margin-top:6px;

	font-size:13px;
	font-weight:500;
	letter-spacing:0.04em;
	text-transform:uppercase;

	opacity:0;
	transform:translateY(6px);
	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
	transition-delay:0.05s;
}

/* ---- Hover + Focus ---- */
.sf-card__link:hover .sf-card__title,
.sf-card__link:focus-visible .sf-card__title{
	transform:translateY(-10px);
}

.sf-card__link:hover .sf-card__title::after,
.sf-card__link:focus-visible .sf-card__title::after{
	transform:scaleX(1);
}

.sf-card__link:hover .sf-card__title::before,
.sf-card__link:focus-visible .sf-card__title::before{
	opacity:1;
	transform:translateY(0);
}

/* Subtle image zoom */
.sf-card__link:hover .sf-card__media,
.sf-card__link:focus-visible .sf-card__media{
	transform:scale(1.04);
}

/* ---- Pagination / no results ---- */
.sf-pagination{ margin-top:28px; }
.sf-no-results{ margin:18px 0; }

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce){
	.sf-card__media,
	.sf-card__title,
	.sf-card__title::before,
	.sf-card__title::after{
		transition:none;
	}
}






/*---- Fluid Type Scale CSS ---- */
/* Universal variables - work in all browsers */
:root {
  --leading-tight: 1.1;
  --leading-normal: 1.2;
  --leading-relaxed: 1.4;

  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-loose: 0.03em;
}

/* Dynamic resize for browsers that support clamp  */
@supports (font-size: clamp(1rem, 1vi, 1rem)) {
  :root {
    --fs-sm: clamp(0.78rem, 0.22vw + 0.72rem, 0.9rem);
    --fs-base: clamp(0.88rem, 0.45vw + 0.76rem, 1.13rem);
    --fs-md: clamp(0.98rem, 0.77vw + 0.79rem, 1.41rem);
    --fs-lg: clamp(1.11rem, 1.18vw + 0.81rem, 1.76rem);
    --fs-xl: clamp(1.25rem, 1.73vw + 0.81rem, 2.2rem);
    --fs-xxl: clamp(1.4rem, 2.45vw + 0.79rem, 2.75rem);
    --fs-xxxl: clamp(1.58rem, 3.38vw + 0.73rem, 3.43rem);
  }
}

/* Fallback For browsers that don't support clamp */
@supports not (font-size: clamp(1rem, 1vi, 1rem)) {
  :root {
    --fs-sm: 0.78rem;
    --fs-base: 0.88rem;
    --fs-md: 0.98rem;
    --fs-lg: 1.11rem;
    --fs-xl: 1.25rem;
    --fs-xxl: 1.4rem;
    --fs-xxxl: 1.58rem;
  }
  @media screen and (min-width: 1280px) {
    :root {
      --fs-sm: 0.9rem;
      --fs-base: 1.13rem;
      --fs-md: 1.41rem;
      --fs-lg: 1.76rem;
      --fs-xl: 2.2rem;
      --fs-xxl: 2.75rem;
      --fs-xxxl: 3.43rem;
    }
  }
}


/* eyebrow headline */
.eyebrow,
.eyebrow * {
  font-weight: 800;
  letter-spacing: var(--tracking-loose);
  text-transform: uppercase;
  font-size: 15px;
}

/* Font size utility classes */
.fs-sm,
.fs-sm > * {
  font-size: var(--fs-sm);
}

.fs-base,
.fs-base > * {
  font-size: var(--fs-base);
}

.fs-md,
.fs-md > * {
  font-size: var(--fs-md);
}

.fs-lg,
.fs-lg > * {
  font-size: var(--fs-lg);
}

.fs-xl,
.fs-xl > * {
  font-size: var(--fs-xl);
  line-height: 1.2em;
}

@media (max-width: 1024px) {
	/* Common Salient header wrappers – loosen the overflow */
	.page-header-wrap,
	.page-header-no-bg,
	.nectar-split-heading,
	.nectar-split-heading .heading-line {
	  overflow: visible !important;
	}
  }

.fs-xxl,
.fs-xxl > * {
  font-size: var(--fs-xxl);
  line-height: 1.2em;
}

.fs-xxxl,
.fs-xxxl > * {
  font-size: var(--fs-xxxl);
}

/* Leading (line height) utility classes */
.leading-tight,
.leading-tight > * {
  line-height: var(--leading-tight);
}

.leading-normal,
.leading-normal > * {
  line-height: var(--leading-normal);
}

.leading-relaxed,
.leading-relaxed > * {
  line-height: var(--leading-relaxed);
}

/* Tracking (letter spacing) utility classes */
.tracking-tight,
.tracking-tight > * {
  letter-spacing: var(--tracking-tight);
}

.tracking-normal,
.tracking-normal > * {
  letter-spacing: var(--tracking-normal);
}

.tracking-loose,
.tracking-loose > * {
  letter-spacing: var(--tracking-loose);
}

/*---- END Fluid Type Scale CSS ---- */


/* Balance text wrap */
.balance,
.balance > * {
  text-wrap-style: balance;
}