/*
 * Homepage Specific Stylesheet
 *
 * Contains styles exclusively for the homepage sections.
 */

/* ==========================================================================
   HOMEPAGE - GENERAL LAYOUT
   ========================================================================== */
.home main {
  max-width: 100%;
  margin: unset;
}

.home .entry-content {
  padding-left: 0;
  padding-right: 0;
  width: 100vw !important;
  overflow-x: hidden !important;
}

.home h1.wp-block-heading::after {
  content: none;
  display: initial;
  width: auto;
  height: auto;
  background-color: transparent;
  margin: 0;
}

.home section.alignfull {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.home .wp-block-columns.is-not-stacked-on-mobile {
  display: flex;
  gap: var(--wp--preset--spacing--40); /* 1rem */
}

.home .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  min-width: 300px;
  scroll-snap-align: start;
}

/* ==========================================================================
   HOMEPAGE - HERO SECTION
   ========================================================================== */

.home .hero {
  gap: 0 !important;
}

.home .wp-block-columns.hero {
  gap: 32px;
}

.home .homepage-hero-content {
  padding: 0 56px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.home .hero h1 {
  font-size: var(--wp--preset--font-size--large) !important; /* 38px */
  line-height: 1.2 !important;
}

.home .hero .wp-block-button > a.wp-block-button__link:hover {
  color: var(--wp--preset--color--primary-alt-accent) !important;
  outline-color: var(--wp--preset--color--primary-alt-accent) !important;
  text-decoration: none;
}

/* Responsive Hero Styles */
@media (max-width: 1280px) {
  .home-hero-banner {
	margin: 16px !important;
  }
}

@media (max-width: 1023px) {
  .home .homepage-hero-content {
	padding: 0 32px;
  }
  .home-hero-banner {
	margin: 0 !important;
  }
}

@media screen and (max-width: 781px) {
  .home .hero .wp-block-cover {
	border-top-right-radius: 20px !important;
	border-bottom-left-radius: 0 !important;
  }
}

@media screen and (min-width: 1024px) {
  .home .hero h1 {
	font-size: 56px !important;
	line-height: 1 !important;
  }
}

@media screen and (min-width: 1360px) {
  .home .hero h1 {
	font-size: 72px !important;
  }
}

/* ==========================================================================
   HOMEPAGE - SERVICES SECTION
   ========================================================================== */

.home .services .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  min-width: 300px !important;
  margin-bottom: 32px;
}

.home .services .services-card h3 {
  font-size: var(--wp--preset--font-size--custom-2) !important; /* 20px */
}

.home .services .services-card p {
  font-size: var(--wp--preset--font-size--small) !important; /* 14px */
}

.home .services .service-with-bkgr {
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);
  border-radius: 20px;
}

/* Responsive Services Styles */
@media (max-width: 540px) {
  .home .services .services-card {
	min-height: 351px !important;
  }
  .home .services .services-content {
	padding-top: 32px !important;
  }
}

@media (min-width: 541px) {
  .home .services .services-content {
	padding-top: 32px !important;
  }
}

@media (min-width: 541px) and (max-width: 1023px) {
  .home .services .services-card {
	min-height: 381px !important;
  }
}

@media (min-width: 541px) and (max-width: 1279px) {
  .home .services .services-column {
	gap: 24px !important;
  }
}

@media (max-width: 630px) {
  .home .services h2 {
	font-weight: var(--wp--custom--font-weight--semi-bold); /* 600 */
	line-height: 1.2;
	letter-spacing: -0.28px;
	font-size: var(--wp--preset--font-size--custom-3);
  }
  .home .services h2 br {
	display: none;
  }
}

@media (min-width: 768px) {
  .home .services .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
	min-width: 360px !important;
  }
  .home .services .services-card h3 {
	font-size: var(--wp--preset--font-size--custom-2) !important; /* 20px */
  }
  .home .services .services-card p {
	font-size: var(--wp--preset--font-size--small) !important; /* 14px */
  }
}

@media (max-width: 1023px) {
  .home .services .services-column {
	gap: 16px !important;
  }
}

@media (max-width: 1024px) {
  .home .services {
	width: 100% !important;
	padding-top: 32px !important;
	padding-bottom: 24px !important;
	margin: 0 !important;
  }
}

@media (min-width: 1280px) {
  .home .services {
	padding-top: 64px !important;
	padding-bottom: 56px !important;
  }
}

@media (max-width: 1330px) {
  .home .services h2 {
	letter-spacing: -1px;
	font-size: var(--wp--preset--font-size--large);
  }
  .home .services .wp-block-columns.is-not-stacked-on-mobile {
	overflow-x: scroll;
	scrollbar-width: none;
  }
  .home .services .wp-block-columns.is-not-stacked-on-mobile::-webkit-scrollbar {
	display: none;
  }
  .home .services .service-with-bkgr {
	box-shadow: 0 2.93px 8.78px 0 rgba(0, 0, 0, 0.05);
	border-radius: 16px;
  }
}

@media (min-width: 1360px) {
  .home .services .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
	min-width: 410px !important;
  }
  .home .services .services-card h3 {
	font-size: var(--wp--preset--font-size--medium) !important; /* 28px */
  }
  .home .services .services-card p {
	font-size: var(--wp--preset--font-size--custom-2) !important; /* 20px */
  }
  .home .services .services-card p > a {
	font-size: var(--wp--preset--font-size--base) !important; /* 16px */
  }
}

/* ==========================================================================
   HOMEPAGE - CLINICS SECTION
   ========================================================================== */

.home .clinics {
  padding-bottom: 40px;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.home .clinics-columns {
  gap: 30px !important;
}

.home .clinics .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  margin-bottom: 0 !important;
  min-width: 0 !important;
}

.home .clinics .clinics-card {
  border-radius: 20px !important;
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  flex-direction: column;
}

.home .clinics .wp-block-column {
  display: flex;
  align-items: stretch;
}

.home .clinics .clinics-seo-text {
  min-height: 67px;
}

.home .clinics .clinic-locate {
  align-items: flex-start;
}

.home .clinics .clinic-locate a,
.home .clinics .clinic-locate a:visited {
  color: var(--wp--preset--color--custom-black-242424);
}

.home .clinics .clinic-locate a:hover,
.home .clinics .wp-block-button.is-style-outline .wp-block-button__link:hover {
  color: var(--wp--preset--color--primary-alt-accent) !important;
}

.home .clinics .wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: var(--wp--preset--color--primary-alt-accent) !important;
  outline-color: var(--wp--preset--color--primary-alt-accent) !important;
}

/* Responsive Clinics Styles */
@media (max-width: 540px) {
  .home .clinics {
	padding-top: 32px !important;
	padding-bottom: 32px !important;
  }
  .home .clinics-columns {
	margin-top: 16px !important;
	gap: 16px !important;
  }
  .home .clinics .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
	min-width: 300px !important;
  }
  .home .clinics .clinics-card {
	border-radius: 10px !important;
  }
  .home .clinics .clinic-text {
	padding: 16px !important;
  }
  .home .clinics .clinics-seo-text {
	min-height: 100px;
  }
}

@media (min-width: 541px) and (max-width: 1024px) {
  .home .clinics {
	padding-top: 64px !important;
	padding-bottom: 64px !important;
  }
  .home .clinics-columns {
	margin-top: 32px !important;
	gap: 24px !important;
  }
  .home .clinics .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
	min-width: 470px !important;
  }
  .home .clinics .clinics-card {
	border-radius: 16px !important;
  }
}

@media (max-width: 1330px) {
  .home .clinics .wp-block-columns.is-not-stacked-on-mobile {
	overflow-x: scroll;
	scrollbar-width: none;
  }
  .home .clinics .wp-block-columns.is-not-stacked-on-mobile::-webkit-scrollbar {
	display: none;
  }
}

/* ==========================================================================
   HOMEPAGE - TESTIMONIALS SECTION
   ========================================================================== */

.home .testimonials .wp-block-columns {
  gap: 30px !important;
}

.home .testimonials .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  padding-bottom: 0 !important;
}

.home .testimonials .testimonial-card {
  justify-content: flex-start;
  width: auto !important;
  height: auto !important;
  padding: 24px 32px !important;
}

.home .testimonials figure.testimonial-thumbnail {
  display: flex;
  align-items: center;
}

.home .testimonial-card .testimonial-header {
  display: flex;
  flex-direction: row;
  gap: var(--wp--preset--spacing--40); /* 16px */
  margin: 0 !important;
}

.home .testimonial-card .testimonial-meta p {
  margin: 2px 0;
}

.home .testimonial-card .testimonial-name {
  font-style: normal;
  font-weight: var(--wp--custom--font-weight--medium); /* 500 */
  line-height: 1.2;
  font-size: var(--wp--preset--font-size--custom-1);
}

.home .testimonial-card .testimonial-clinic {
  font-style: normal;
  font-weight: var(--wp--custom--font-weight--medium); /* 500 */
  letter-spacing: 0.24px;
  line-height: 1.2;
  font-size: var(--wp--preset--font-size--x-small);
  color: var(--wp--preset--color--custom-black-lighter-61605-f);
}

.home .testimonials .testimonial-card .testimonial-text {
  color: var(--wp--preset--color--custom-black-242424);
  line-height: 1.4;
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 4;
  -webkit-line-clamp: 4;
}

.home .reviews-per-clinic .review-link {
  color: var(--wp--preset--color--custom-black-242424) !important;
}

.home .reviews-per-clinic .review-link:hover {
  color: var(--wp--preset--color--primary-alt-accent) !important;
}

.home .reviews-per-clinic .review-link:first-child {
  border-right: 1px solid var(--wp--preset--color--custom-div-trans-black-0-15-1);
  padding-right: 13px;
}

.home .reviews-per-clinic .review-link:last-child {
  padding-left: 15px;
}

.home .reviews-per-clinic.mobile {
  text-align: center;
}

/* Responsive Testimonial Styles */
@media (max-width: 479px) {
  .home .reviews-per-clinic.mobile .review-link {
	display: block;
	text-align: center;
  }
}

@media (max-width: 540px) {
  .home .testimonials.wp-block-group {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 16px !important;
	padding-right: 16px !important;
  }
  .home .testimonial-card {
	width: auto !important;
	padding: 16px 20px !important;
  }
}

@media (min-width: 541px) and (max-width: 1279px) {
  .home .testimonials.wp-block-group {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
  }
  .home .testimonials .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
	min-width: 360px !important;
  }
}

@media (max-width: 1330px) {
  .home .testimonials .wp-block-columns.is-not-stacked-on-mobile {
	gap: 20px !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow-x: auto;
  }
  .home .testimonials .testimonial-card .testimonial-text {
	margin-top: 0 !important;
	font-size: var(--wp--preset--font-size--base) !important;
	line-clamp: 4;
	-webkit-line-clamp: 4;
  }
}

/* ==========================================================================
   HOMEPAGE - HOW-TO STEPS SECTION
   ========================================================================== */

.home .howto .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  min-width: 410px !important;
  min-height: 460px !important;
  margin-bottom: 32px;
}

.home .recovery-columns {
  gap: 30px !important;
}

.home .recovery-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}

/* Responsive How-to Styles */
@media (max-width: 540px) {
  .home .howto {
	padding-top: 32px !important;
	padding-bottom: 32px !important;
  }
  .home .howto .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
	min-width: 330px !important;
  }
  .home .recovery-columns {
	margin-top: 16px !important;
	gap: 16px !important;
  }
  .home .recovery-card {
	border-radius: 10px !important;
  }
  .home .recovery-text {
	padding: 16px !important;
  }
  .home .recovery-mobile-buttons {
	gap: 16px;
	padding-top: 28px !important;
	margin-top: 28px !important;
	margin-left: 16px !important;
	margin-right: 16px !important;
  }
  .home .recovery-mobile-buttons .wp-block-button {
	width: 100%;
  }
}

@media (min-width: 541px) and (max-width: 1024px) {
  .home .howto {
	padding-top: 64px !important;
	padding-bottom: 64px !important;
  }
  .home .howto .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
	min-width: 335px !important;
  }
  .home .recovery-columns {
	margin-top: 32px !important;
	gap: 20px !important;
  }
  .home .recovery-card {
	border-radius: 16px !important;
  }
  .home .recovery-text {
	padding: 20px !important;
  }
  .home .recovery-mobile-buttons {
	gap: 16px !important;
  }
}

@media (min-width: 545px) and (max-width: 1279px) {
  .home .recovery-mobile-buttons {
	margin-left: 24px !important;
	margin-right: 24px !important;
  }
}

@media (max-width: 1330px) {
  .home .howto .wp-block-columns.is-not-stacked-on-mobile {
	overflow-x: scroll;
	scrollbar-width: none;
  }
  .home .howto .wp-block-columns.is-not-stacked-on-mobile::-webkit-scrollbar {
	display: none;
  }
}

/* ==========================================================================
   HOMEPAGE - BLOG SECTION
   ========================================================================== */

.home .blog article img {
  height: auto !important;
}

.home .blog article h2 > a,
.home .blog article h3 a {
  color: var(--wp--preset--color--custom-black-242424) !important;
}

.home .blog article h3:hover a {
  color: var(--wp--preset--color--primary) !important;
  text-decoration: none;
}

.home .blog .wp-block-button.readmore {
  border: 2px solid var(--wp--preset--color--custom-black-242424);
  border-radius: 100px;
}

.home .blog .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  min-width: 410px !important;
  margin-bottom: 32px;
}

.home .blog .wp-block-query ul {
  list-style: none;
  padding-inline-start: 0;
  unicode-bidi: unset;
}

.home .blog li.wp-block-post {
  display: block;
  unicode-bidi: unset;
}

.home .blog li.wp-block-post > .wp-block-group {
  padding: 0 !important;
}

.home .blog .wp-block-read-more {
  display: block;
  width: 100%;
}

.home .blog .wp-block-read-more img {
  vertical-align: text-bottom;
  position: absolute;
  right: 32px;
}

.home .blog .recover-card {
  overflow: hidden;
}

/* Responsive Blog Section Styles */
@media (max-width: 1059px) {
  .home .blog .intro-grid {
	display: block;
  }
}

@media (max-width: 1330px) {
  .home .blog .wp-block-columns.is-not-stacked-on-mobile {
	overflow-x: scroll;
	scrollbar-width: none;
  }
  .home .blog .wp-block-columns.is-not-stacked-on-mobile::-webkit-scrollbar {
	display: none;
  }
}

@media (max-width: 540px) {
  .home .blog .recovery-columns {
	padding-left: 16px !important;
	padding-right: 16px !important;
  }
  .home .blog .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
	min-width: 310px !important;
  }
  .home .blog .blog-post-content h3 {
	font-size: var(--wp--preset--font-size--custom-2) !important; /* 20px */
	margin-top: 8px !important;
  }
  .home .blog .blog-post-content {
	padding-bottom: 12px !important;
  }
}

@media (min-width: 541px) and (max-width: 1279px) {
  .home .blog .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
	min-width: 360px !important;
  }
  .home .blog .recovery-columns {
	padding-left: 24px !important;
	padding-right: 24px !important;
  }
  .home .blog .blog-post-content {
	padding-bottom: 12px !important;
  }
  .home .blog .blog-post-content h3 {
	font-size: var(--wp--preset--font-size--medium) !important; /* 28px */
	margin-top: 12px !important;
  }
}

@media (max-width: 1024px) {
  .home .blog {
	padding-top: 32px !important;
	padding-bottom: 32px !important;
  }
}

/* ==========================================================================
   HOMEPAGE - FAQ SECTION
   ========================================================================== */

.home .faq summary {
  background-color: var(--wp--preset--color--tertiary) !important;
  color: var(--wp--preset--color--custom-black-242424) !important;
  padding: 16px;
  margin-block-start: var(--wp--preset--spacing--x-small);
  border-radius: 8px !important;
  position: relative;
  cursor: pointer;
}

.home .faq .wp-block-details:first-child {
  border-radius: 8px !important;
}

/* Hide default triangle */
.home .faq summary::marker,
.home .faq summary::-webkit-details-marker {
  content: '' !important;
  display: none;
}

/* Closed state icon */
.home .faq summary::after {
  content: "\f347";
  font-family: dashicons;
  position: absolute;
  right: 20px;
}

/* Open state icon */
.home .faq .wp-block-details[open] > summary::after {
  content: "\f343";
}

/* Paragraphs inside open details */
.home .faq .wp-block-details p {
  padding: 0 16px;
  margin-block-start: var(--wp--preset--spacing--small);
}

.home .faq .wp-block-details[open] {
  padding-block-end: var(--wp--preset--spacing--medium);
}

/* Responsive FAQ Styles */
@media screen and (max-width: 799px) {
  .home .faq h2 {
	font-weight: var(--wp--custom--font-weight--semi-bold); /* 600 */
	font-size: var(--wp--preset--font-size--custom-3); /* 24px */
	letter-spacing: -0.28px;
	text-align: left;
  }
}

@media screen and (min-width: 800px) {
  .home .faq h2 {
	font-weight: var(--wp--custom--font-weight--regular); /* 400 */
	font-size: var(--wp--preset--font-size--large); /* 38px */
	letter-spacing: -1px;
  }
}
