/*
Theme Name: Lake Shore Animal Hospital
@copyright 2026 LSAH
Theme URI: https://lakeshorevets.com/
Description: A custom Genesis child theme for the Lake Shore Animal Hospital, version 2026.
Author: Vicki Jarvis
Author URI: https://VickiJarvis.com/
Template: genesis
Version: 1.0.0
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: LSAH-2026
Requires at least: 5.4
Requires PHP: 5.6
*/


/* =========================================================
   1) Sitewide base + variables
   ========================================================= */

:root {
	--lsv-text: #14231e;
	--lsv-accent: #7d8c7f;
	--lsv-muted: #677569;
	--lsv-bg: #ffffff;
	--lsv-border: #e6ece9;

	--utility-bg: #333333;
	--utility-text: #ffffff;
	--utility-underline: #7d8c7f;

	--wrap-max: 1200px;
	--wrap-pad: 24px;
	--utility-h: 50px;

	/* used by modal scroll-lock compensation */
	--lsv-scrollbar-comp: 0px;
}

/* Remove default outlines (note: consider adding custom focus styles later) */
:focus { outline: none !important; }

html { font-size: 100%; }

body {
	font-size: 18px;
	color: var(--lsv-text);
	line-height: 1.55;
	background: var(--lsv-bg);
}

body > div { font-size: 1rem; }

.site-inner {
	clear: both;
	padding-top: 0px;
}

/* Common wrappers */
.site-header .wrap,
.nav-primary .wrap,
.nav-secondary .wrap {
	max-width: var(--wrap-max);
	padding: 0;
	margin-inline: auto;
}

/* Headings + links */
h1, h2, h3, h4, h5, h6 {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	color: var(--lsv-accent);
	margin-block-start: 0;
	margin-block-end: 0;
}

h2.section-title {
	text-align: center;
	font-size: 2rem;
	margin: 2.5rem 0 1.5rem;
	color: var(--lsv-accent);
}

p { margin-bottom: 1rem; }

a { color: var(--lsv-muted); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }

/* Divider polish */
.wp-block-separator, hr {
	border-top: 1px solid rgba(0, 0, 0, 0.04);
	border-bottom: none;
	color: rgba(0, 0, 0, 0.04);
}


/* =========================================================
   2) Sticky wrapper (utility + header)
   ========================================================= */

.lsv-sticky-wrap {
	position: sticky;
	top: var(--adminbar-offset, 0px);
	z-index: 9999;
	background: var(--lsv-bg);
	transition: box-shadow .18s ease, background-color .18s ease;
}

.lsv-sticky-wrap.is-stuck {
	box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
}


/* =========================================================
   3) Utility bar
   ========================================================= */

.lsv-utility-bar {
	background: var(--utility-bg);
	color: var(--utility-text);
	padding-bottom: .2rem;
	position: relative;
	z-index: 2;
}

.lsv-utility-bar .lsv-utility-inner {
	max-width: var(--wrap-max);
	padding-inline: var(--wrap-pad);
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
	min-height: var(--utility-h);
}

.lsv-utility-bar .utility-actions {
	display: flex;
	gap: .75rem 1rem;
	align-items: center;
}

.lsv-utility-bar .utility-nav .menu {
	display: flex;
	align-items: center;
	gap: .75rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: .95rem;
}

/* Animated underline for utility links */
.lsv-utility-bar .utility-nav a,
.lsv-utility-bar .util-link {
	position: relative;
	display: inline-block;
	padding: .5rem 1rem;
	line-height: 1;
	color: var(--utility-text);
	text-decoration: none;
	background-image: linear-gradient(var(--utility-underline), var(--utility-underline));
	background-position: 0 calc(100% - 2px);
	background-size: 0% 2px;
	background-repeat: no-repeat;
	transition: background-size .25s ease, color .15s ease;
}

.lsv-utility-bar .utility-nav a:hover,
.lsv-utility-bar .utility-nav a:focus,
.lsv-utility-bar .util-link:hover,
.lsv-utility-bar .util-link:focus {
	background-size: 100% 2px;
	color: var(--utility-underline);
}


/* =========================================================
   4) Header (logo + primary nav)
   ========================================================= */

.site-header {
	background: #ffffff;
	border-bottom: 1px solid var(--lsv-border);
	min-height: fit-content;
}

.lsv-header-inner {
	max-width: var(--wrap-max);
	padding-inline: var(--wrap-pad);
	margin-inline: auto;

	display: flex;
	align-items: flex-end;
	gap: 2rem;

	padding-top: 0px;
	padding-bottom: 0;
}

/* Remove outlines for logo interactions */
.custom-logo-link,
.custom-logo-link:focus,
.custom-logo-link:hover,
.custom-logo-link:active,
.custom-logo-link img,
.custom-logo-link img:focus-visible,
.custom-logo-link img:hover,
.custom-logo-link img:active,
.custom-logo-link:focus-visible img,
.custom-logo-link:hover img,
.custom-logo-link:active img,
.lsv-header-inner:focus-visible {
	outline: none !important;
}

/* Logo + site title */
.lsv-header-inner .custom-logo-link,
.lsv-header-inner .lsv-site-title {
	display: inline-flex;
	align-items: flex-end;
	text-decoration: none;
	opacity: 0;
	transform: translateY(6px);
	animation: lsv-logo-reveal .45s ease-out forwards;
	animation-delay: .20s;
	background: #ffffff;
	padding: 0px 8px;
	border-radius: 6px;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.12));
}

/* Pull logo upward to overlap utility bar */
.lsv-header-inner .custom-logo-link {
	margin-top: -40px;
	z-index: 99;
	background-color: #ffffff;
	border: thin solid #ffffff;
}

.lsv-header-inner .custom-logo {
	max-height: 120px;
	width: auto;
	display: block;
	transition: max-height .18s ease;
}

.lsv-site-title {
	font-weight: 700;
	font-size: 1.35rem;
	color: var(--lsv-text);
}

.lsv-header-inner .lsv-primary-nav {
	margin-left: 3rem;
	flex: 1;
	opacity: 0;
	transform: translateY(6px);
	animation: lsv-nav-reveal .4s ease-out forwards;
	animation-delay: .18s;
	margin-bottom: 12px;
}

.lsv-header-inner .lsv-primary-nav .genesis-nav-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0;
	font-size: 1.02rem;
	line-height: 1;
}

.lsv-header-inner .lsv-primary-nav .genesis-nav-menu > li {
	position: relative;
	margin: 0 .5rem;
}

.lsv-header-inner .lsv-primary-nav a {
	display: block;
	padding: 1rem 1rem;
	text-decoration: none;
	color: var(--lsv-text);
	font-weight: 600;
	border-radius: .5rem;
	transition: background-color .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
}

.lsv-header-inner .lsv-primary-nav .current-menu-item > a,
.lsv-header-inner .lsv-primary-nav a:hover,
.lsv-header-inner .lsv-primary-nav a:focus {
	background: rgba(47, 107, 79, .04);
	color: var(--lsv-accent);
	transform: translateY(-1px);
	border: thin solid var(--lsv-accent);
}

/* Submenus */
.lsv-header-inner .lsv-primary-nav .sub-menu {
	min-width: 240px;
	background: #fff;
	border: 1px solid var(--lsv-border);
	border-radius: .5rem;
	padding: .35rem;
}

.lsv-header-inner .lsv-primary-nav .sub-menu a {
	padding: .6rem .75rem;
	font-weight: 500;
}

/* Sticky shrink behavior */
.lsv-sticky-wrap.is-stuck .lsv-header-inner {
	min-height: 72px;
	padding-top: 16px;
}

.lsv-sticky-wrap.is-stuck .lsv-header-inner .custom-logo-link {
	margin-top: -16px;
}

.lsv-sticky-wrap.is-stuck .custom-logo {
	max-height: 80px;
}

/* Header reveal animations */
@keyframes lsv-logo-reveal {
	to { opacity: 1; transform: translateY(0); }
}
@keyframes lsv-nav-reveal {
	to { opacity: 1; transform: translateY(0); }
}


/* =========================================================
   5) Global components (buttons + motion)
   ========================================================= */

.home .lsv-btn, .wp-block-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.6rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	border: 1px solid transparent;
	transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.home .lsv-btn-primary,
.wp-block-button a {
	background: var(--lsv-accent);
	color: #fff;
	box-shadow: 0 6px 18px rgba(0,0,0,0.18);
}

.home .lsv-btn-primary:hover,
.home .lsv-btn-primary:focus,
.wp-block-button a:hover {
	background: #5d6c5f;
	transform: translateY(-1px);
	box-shadow: 0 10px 26px rgba(0,0,0,0.22);
	text-decoration: none;
	color: #fff;
}

.home .lsv-btn-ghost {
	background: transparent;
	color: var(--lsv-accent);
	border-color: var(--lsv-accent);
}

.home .lsv-btn-ghost:hover,
.home .lsv-btn-ghost:focus {
	background: rgba(47,107,79,0.06);
	text-decoration: none;
}

/* Grow-on-scroll reveal — slower, calmer */
.lsv-reveal-grow {
	opacity: 0;
	transform: translateY(18px) scale(0.95);
	transform-origin: center;
	transition:
		opacity .85s ease,
		transform 1.05s cubic-bezier(.16, 1, .3, 1);
	will-change: transform, opacity;
}

.lsv-reveal-grow.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
	.lsv-reveal-grow {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}


/* =========================================================
   6) Full-width band system (Home + About + anywhere)
   ========================================================= */

/* Use these on Gutenberg Group blocks:
   - gray-bands (background)
   - white-bands (no gray, just spacing consistency)
*/
.gray-bands {
	background: #e1e1e1;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
	border-top: 1px solid rgba(0,0,0,0.04);
	border-bottom: 1px solid rgba(0,0,0,0.04);
}
.gray-bands .wp-block-separator {
	margin: 0;
}

.white-bands {
	background: transparent;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
}

/* Constrain content inside the band */
.gray-bands > .wp-block-group__inner-container,
.gray-bands > .wrap,
.white-bands > .wp-block-group__inner-container,
.white-bands > .wrap {
	max-width: var(--wrap-max);
	margin-inline: auto;
	padding: 2rem var(--wrap-pad);
}

/* Remove Gutenberg default spacing that can create odd gaps */
.gray-bands .wp-block-group,
.gray-bands .wp-block-columns,
.white-bands .wp-block-group,
.white-bands .wp-block-columns {
	margin-top: 2.5rem;
	margin-bottom: 2rem;
}




/* =========================================================
   7) Home page styles (ordered like the Home HTML)
   ========================================================= */

/* 7.1) Intro band wrapper (full width) */
.home .lsv-home-intro-band {
	background: #e1e1e1;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
}

.home .lsv-home-intro-band > .wp-block-group__inner-container,
.home .lsv-home-intro-band > .wrap {
	max-width: var(--wrap-max);
	margin-inline: auto;
	padding: 3rem var(--wrap-pad) 3.5rem;
}

.home .lsv-home-intro-band .wp-block-group,
.home .lsv-home-intro-band .wp-block-columns {
	margin-top: 0;
	margin-bottom: 0;
}

/* 7.2) Intro section */
.home .lsv-intro {
	background: #e1e1e1;
	padding: 3.5rem 1.5rem;
	border-top: 1px solid rgba(0,0,0,0.04);
	border-bottom: 1px solid rgba(0,0,0,0.04);
}

.home .lsv-intro-inner {
	max-width: var(--wrap-max);
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
	align-items: flex-start;
}

.home .lsv-intro-text { flex: 1 1 520px; }

.home .lsv-intro h2 {
	font-size: 2.1rem;
	margin-bottom: 1rem;
	color: var(--lsv-accent);
}

.home .lsv-intro p {
	margin-bottom: 1rem;
	color: var(--lsv-text);
}

/* 7.3) “Our Core Services” mini block inside intro */
.home .lsv-home-serv-band { margin-top: 1.25rem; }

.home .lsv-home-serv-band .wp-block-group__inner-container {
	padding: 2rem var(--wrap-pad) 2rem;
}

/* 7.4) Intro buttons */
.home .lsv-intro-btns {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.75rem;
}

/* 7.5) Services images band (full width) */
.home .lsv-home-serv-imgs-band {
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
	max-width: 100vw;
}

.home .home-serv-block {
	margin: 0;
	padding: 0;
	gap: 0rem;
}

.home .home-serv-block .wp-block-cover {
	padding: 0;
	border: 3px solid #ffffff;
}

/* Title overlay area */
.home .lsv-home-serv-imgs-band .wp-block-cover__inner-container {
	padding: 1em;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.7) 0%,
		rgba(0, 0, 0, 0.6) 25%,
		rgba(0, 0, 0, 0) 100%
	);
}

.home .lsv-home-serv-p {
	color: #ffffff;
	font-size: 1.2rem;
	font-weight: 600;
	text-shadow: 0 2px 8px rgba(0,0,0,0.9);
}

.home .home-serv-block .wp-block-cover.lsv-serv-card {
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.home .home-serv-block .wp-block-cover.lsv-serv-card:hover,
.home .home-serv-block .wp-block-cover.lsv-serv-card:focus-within {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}

.home .home-serv-block .wp-block-cover.lsv-serv-card:hover img,
.home .home-serv-block .wp-block-cover.lsv-serv-card:focus-within img {
	filter: brightness(0.8);
}

/* 7.6) Services modal */
.lsv-service-modal[hidden] { display: none; }

.lsv-service-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	opacity: 0;
	pointer-events: none;
	transition: opacity .32s ease;
}

.lsv-service-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
	opacity: 0;
	transition: opacity .38s ease;
}

.lsv-service-modal__dialog {
	position: relative;
	z-index: 1;
	background: #ffffff;
	border-radius: 18px;
	max-width: 600px;
	width: min(90vw, 600px);
	padding: 2rem 2.25rem 2.25rem;
	box-shadow: 0 24px 60px rgba(0,0,0,0.4);
	border: 1px solid rgba(255,255,255,0.8);

	opacity: 0;
	transform: translateY(16px) scale(0.94);
	transform-origin: center;
	transition:
		opacity .38s ease,
		transform .46s cubic-bezier(.2,.9,.2,1);
	will-change: transform, opacity;
}

.lsv-service-modal__title {
	font-family: "Montserrat", sans-serif;
	font-size: 1.4rem;
	margin-bottom: 0.75rem;
	color: var(--lsv-text);
}

.lsv-service-modal__body {
	margin: 0 0 1.25rem;
	font-size: 0.98rem;
	line-height: 1.6;
	color: var(--lsv-muted);
}

.lsv-service-modal__link {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 1.4rem;
	border-radius: 999px;
	background: var(--lsv-accent);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
	border: 1px solid var(--lsv-accent);
	font-weight: 600;
	font-size: 0.9rem;
	color: #fff;
	text-decoration: none;
}

.lsv-service-modal__link:hover,
.lsv-service-modal__link:focus {
	background: #5d6c5f;
	transform: translateY(-1px);
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.22);
	text-decoration: none;
	color: #fff;
}

.lsv-service-modal__close {
	position: absolute;
	top: 0.75rem;
	right: 0.9rem;
	border: none;
	background: transparent;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
	color: var(--lsv-muted);
}

.lsv-service-modal__close:hover,
.lsv-service-modal__close:focus { color: var(--lsv-text); }

.lsv-service-modal.is-open {
	opacity: 1;
	pointer-events: auto;
}

.lsv-service-modal.is-open .lsv-service-modal__backdrop { opacity: 1; }

.lsv-service-modal.is-open .lsv-service-modal__dialog {
	opacity: 1;
	transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
	.lsv-service-modal,
	.lsv-service-modal__backdrop,
	.lsv-service-modal__dialog {
		transition: none !important;
		transform: none !important;
	}
}

body.lsv-modal-open {
	overflow: hidden;
	padding-right: var(--lsv-scrollbar-comp, 0px);
}

/* Location */
.lsv-home-location {
	padding-top: 2.5em;
	padding-bottom: 2.5em;
}

/* Trusted care band */
.home .lsv-home-trusted-band {
	background: #e1e1e1;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
}

.home .lsv-home-trusted-band > .wp-block-group__inner-container {
	max-width: var(--wrap-max);
	margin-inline: auto;
	padding: 3rem var(--wrap-pad) 3.5rem;
}

.home .lsv-home-trusted-band .wp-block-columns,
.home .lsv-home-trusted-band .wp-block-group {
	margin-top: 0;
	margin-bottom: 0;
}

.home .lsv-home-trusted-band .wp-block-column {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.home .lsv-home-trusted-band .wp-block-buttons { margin-top: 1.25rem; }

.home .lsv-trusted-photo {
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 18px 45px rgba(0,0,0,.18);
	transform: translateY(0);
	transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.home .lsv-trusted-photo:hover {
	transform: translateY(-4px);
	box-shadow: 0 26px 60px rgba(0,0,0,.22);
}

.home .lsv-trusted-photo img {
	transition: transform .35s ease, filter .35s ease;
}

.home .lsv-trusted-photo:hover img {
	transform: scale(1.03);
	filter: contrast(1.05) saturate(1.05);
}

/* Testimonials band */
.home .lsv-home-testimonials-band {
	background: #e1e1e1;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
}

.home .lsv-home-testimonials-band > .wp-block-group__inner-container {
	max-width: var(--wrap-max);
	margin-inline: auto;
	padding: 3rem var(--wrap-pad) 3.25rem;
}


/* =========================================================
   8) About page styles (match Home vibe)
   ========================================================= */

.lsv-why-group, .lsv-about-meet-the-team-group {
  max-width: var(--wrap-max);
  margin-inline: auto;
  padding-block: clamp(2.7rem, 4vw, 5rem);
}


/* Heading */
.lsv-why-group h2,
.lsv-why-group .lsv-about-why-h2{
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

/* Left column feature rows */
.lsv-why-group .wp-block-column:first-child p{
  margin: 0 0 1rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--lsv-text);
  max-width: 42rem;
}

.lsv-why-group .wp-block-column:first-child p:last-of-type{
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.lsv-why-group .wp-block-column:first-child p strong{
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  color: var(--lsv-accent);
  margin-bottom: .25rem;
}

 
.lsv-why-group .wp-block-cover img, .wp-block-cover img{
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

/* Optional hover polish */
.lsv-why-group .wp-block-cover img:hover{
  transform: translateY(-4px);
  box-shadow: 0 26px 60px rgba(0,0,0,.22);
  filter: contrast(1.03) saturate(1.03);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}




/* =========================================================
   9) Footer (sitewide)
   ========================================================= */

.site-footer {
	background: #ffffff;
	padding: 2rem 1rem;
	font-size: .9rem;
	color: var(--lsv-muted);
	text-align: center;
}

.site-footer a { color: var(--lsv-accent); }
.site-footer a:hover { text-decoration: underline; }

/* Footer Widgets band */
#genesis-footer-widgets.footer-widgets {
	background: #e1e1e1;
	border-top: 10px solid #667761;

	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
}

/* Constrain + layout */
#genesis-footer-widgets.footer-widgets > .wrap {
	max-width: var(--wrap-max);
	margin-inline: auto;
	padding: 2.25rem var(--wrap-pad) 2.5rem;
	background: transparent;

	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
}

/* Remove clearfix pseudo-elements that become grid items */
#genesis-footer-widgets > .wrap::before,
#genesis-footer-widgets > .wrap::after {
	content: none !important;
	display: none !important;
}

/* Each column */
#genesis-footer-widgets .footer-widget-area {
	min-width: 0;
	min-height: 240px;
	margin: 0;

	background: rgba(255,255,255,0.85);
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 16px;
	padding: 1.1rem 1.25rem;
	box-shadow: 0 10px 22px rgba(0,0,0,0.06);

	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

/* Logo column: center content */
#genesis-footer-widgets .footer-widgets-1 {
	display: flex;
	align-items: center;
	justify-content: center;
}

#genesis-footer-widgets .footer-widgets-1 img {
	max-width: 170px;
	height: auto;
	display: block;
}

/* Titles */
#genesis-footer-widgets .widget-title,
#genesis-footer-widgets .widgettitle {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	color: var(--lsv-accent);
	font-size: 1.1rem;
	margin: 0 0 .6rem;
	line-height: 1.2;
}

/* Text + links */
#genesis-footer-widgets p,
#genesis-footer-widgets a,
#genesis-footer-widgets li {
	color: var(--lsv-text);
	font-size: .98rem;
	line-height: 1.6;
}

#genesis-footer-widgets a {
	color: var(--lsv-muted);
	text-decoration: none;
}

#genesis-footer-widgets a:hover,
#genesis-footer-widgets a:focus {
	text-decoration: underline;
	color: var(--lsv-accent);
}

/* Link list spacing */
#genesis-footer-widgets .footer-widgets-4 p { margin: 0 0 .5rem; }

/* Boarding link under footer widgets */
.lsv-footer-board-link {
	max-width: var(--wrap-max);
	margin: 0 auto;
	padding: 0.75rem var(--wrap-pad) 2rem;
	text-align: center;
}

.lsv-footer-board-link a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--lsv-accent);
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
}

.lsv-footer-board-link img {
	height: 100px;
	width: auto;
	opacity: 0.95;
}

.lsv-footer-board-link a:hover,
.lsv-footer-board-link a:focus {
	text-decoration: underline;
}



.team-slide-title h4{color:#ffffff !important;}


/*Services Page Adjustments*/
.collapseomatic {
    background-position: center left;
    padding: 4px 0 4px 17px;
    display: block;
	font-weight:600;
}
.collapseomatic_content {
	
}
.lsv-services-column {   
background-color:#e1e1e1;
    padding: 10px;
}
/* Services section: give cards a soft stage */
.white-bands {
  padding: 40px 0;
}

.white-bands .wp-block-columns {
  gap: 28px; /* space between cards */
}

/* The actual cards */
.white-bands .lsv-services-column {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  padding: 22px 22px 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

/* Card hover */
.white-bands .lsv-services-column:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 38px rgba(0,0,0,0.12);
  border-color: rgba(0,0,0,0.12);
}

/* Tighten headings + intro text inside cards */
.white-bands .lsv-services-column h5 {
  margin: 0 0 6px;
}

.white-bands .lsv-services-column p.has-small-font-size {
  margin: 0 0 14px;
  opacity: 0.85;
}

/* What to Expect: cards layout */
.lsv-what-to-expect {
  gap: 28px;
  align-items: stretch;
}

/* Optional: give the whole section a soft tray background */
.lsv-what-to-expect {
  background: #f4f5f6;
  padding: 48px 0;
  margin: 0;
}

/* Make each column a card */
.lsv-what-to-expect > .wp-block-column {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  padding: 26px 24px 22px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

/* Hover polish */
.lsv-what-to-expect > .wp-block-column:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 38px rgba(0,0,0,0.12);
  border-color: rgba(0,0,0,0.12);
}

/* Headings inside the cards */
.lsv-what-to-expect h3 {
  margin: 0 0 14px;
  letter-spacing: 0.04em;
}

/* Text spacing */
.lsv-what-to-expect p {
  margin: 0 0 14px;
  line-height: 1.6;
}

.lsv-what-to-expect p:last-child {
  margin-bottom: 0;
}

/* Links (CareCredit) */
.lsv-what-to-expect a {
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
/* =========================================================
   Master Slider: Testimonials type scaling fix
   ========================================================= */

/* Baseline: bump the tiny 10px layers */
.ms-testimonials-1 .ms-slide-layers .ms-layer{
  font-size: 18px !important;
  line-height: 1.6 !important;
}

/* Name + stars block */
.ms-testimonials-1 .msp-cn-2-26,
.ms-testimonials-1 .msp-cn-2-32,
.ms-testimonials-1 .msp-cn-2-36,
.ms-testimonials-1 .msp-cn-2-38,
.ms-testimonials-1 .msp-cn-2-24,
.ms-testimonials-1 .msp-cn-2-28,
.ms-testimonials-1 .msp-cn-2-30{
  font-size: 16px !important;
  line-height: 1.35 !important;
  text-align: center !important;
  max-width: 300px !important;
  left: 0 !important;
}

/* Review body text */
.ms-testimonials-1 .msp-cn-2-27,
.ms-testimonials-1 .msp-cn-2-33,
.ms-testimonials-1 .msp-cn-2-37,
.ms-testimonials-1 .msp-cn-2-39,
.ms-testimonials-1 .msp-cn-2-25,
.ms-testimonials-1 .msp-cn-2-29,
.ms-testimonials-1 .msp-cn-2-31,
.ms-testimonials-1 .msp-cn-2-35{
  font-size: 18px !important;
  line-height: 1.65 !important;
  width: min(92%, 720px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
  padding-left: .5rem !important;
  padding-right: .5rem !important;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Button: make it feel intentional */
.ms-testimonials-1 .ms-btn{
  font-size: 14px !important;
  padding: 10px 14px !important;
  border-radius: 999px;
}

.ms-testimonials-1 {
  position: relative;
}

/* Give the whole slider a predictable “card” feel */
.ms-testimonials-1 .master-slider {
  margin-inline: auto;
}

/* Center all text layers visually */
.ms-testimonials-1 .ms-slide-layers,
.ms-testimonials-1 .ms-layer {
  text-align: center;
}

/* --- Name/stars block + Quote block --- */
/* These are your review layers (examples: msp-cn-2-26, 2-27, 2-32, 2-33, etc.) */
.ms-testimonials-1 [class*="msp-cn-2-"]{
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin-left: 0 !important;
  right: auto !important;
}

/* Quote text blocks often have fixed widths like 625px/1000px inline */
.ms-testimonials-1 .ms-layer[class*="msp-cn-2-"][style*="width"]{
  width: min(92vw, 46rem) !important; /* mobile-friendly, desktop capped */
  max-width: 92vw !important;
  line-height: 1.45;
  white-space: normal;
}

/* Make the quote sit comfortably below the name/stars */
.ms-testimonials-1 .ms-layer[class*="msp-cn-2-27"],
.ms-testimonials-1 .ms-layer[class*="msp-cn-2-33"],
.ms-testimonials-1 .ms-layer[class*="msp-cn-2-39"],
.ms-testimonials-1 .ms-layer[class*="msp-cn-2-37"],
.ms-testimonials-1 .ms-layer[class*="msp-cn-2-31"],
.ms-testimonials-1 .ms-layer[class*="msp-cn-2-25"],
.ms-testimonials-1 .ms-layer[class*="msp-cn-2-29"],
.ms-testimonials-1 .ms-layer[class*="msp-cn-2-35"]{
  padding-inline: 1rem;
}

/* --- Button positioning (Read More Reviews) --- */
/* The button lives inside .ms-btn-container with inline left/bottom */
.ms-testimonials-1 .ms-btn-container{
  left: 50% !important;
  transform: translateX(-50%) !important;
  right: auto !important;
  width: auto !important;
  text-align: center;
}

/* Prevent the button from looking “wonky” */
.ms-testimonials-1 .ms-btn-container .ms-btn{
  display: inline-block;
  width: auto !important;
  border-radius: 999px;
  padding: .65rem 1rem !important;
  line-height: 1.1 !important;
}

 .team-slider {
    display: flex;
  }
  .lsv-about-meet-the-team-group .meet-the-team {
    display: none;
  }
