/* 
Theme Name: comfortsmiles
Theme URI: https://www.keystride.com/
Description: A Dental Care Website 
Version:1.0
Author: Keystride
Author URI: https://www.keystride.com/
*/


/* Font converter */

@font-face {
  font-family: 'Galano Grotesque Regular';
  src: url('assets/fonts/GalanoGrotesque-Regular.eot');
  src: url('assets/fonts/GalanoGrotesque-Regular.eot?#iefix') format('embedded-opentype'),
    url('assets/fonts/GalanoGrotesque-Regular.woff2') format('woff2'),
    url('assets/fonts/GalanoGrotesque-Regular.woff') format('woff'),
    url('assets/fonts/GalanoGrotesque-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: 'Galano Grotesque Light';
  src: url('assets/fonts/GalanoGrotesque-Light.eot');
  src: url('assets/fonts/GalanoGrotesque-Light.eot?#iefix') format('embedded-opentype'),
    url('assets/fonts/GalanoGrotesque-Light.woff2') format('woff2'),
    url('assets/fonts/GalanoGrotesque-Light.woff') format('woff'),
    url('assets/fonts/GalanoGrotesque-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}


/* 1. Base Font Settings */
html {
  font-size: 16px;
  /* Default base */
  font-weight: 400;
  line-height: 1.6;
}

body {
  font-family: 'Mulish', sans-serif;
  color: #000;
  margin: 0;
  padding: 0;
}


h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Sorts Mill Goudy', serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
}

/* 3. Headings and Paragraph Styles */
h1 {
  font-size: 2.25rem;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 1.75rem;
}

h4 {
  font-size: 1.625rem;
}

h5 {
  font-size: 1.44rem;
}

h6 {
  font-size: 1.2rem;
}

p {
  font-size: 1.063rem;
  font-weight: 400;
}

a {
  font-weight: 400;
  text-decoration: none;
}

/* a:hover {
  color: #D27546;
} */

li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}

li>b {
  font-weight: 600;
}

.btn {
  font-size: 1rem;
  font-weight: 400;
  padding: 10px 30px;
  border-radius: 0px;
  border: none;
  transition: background 0.3s;
  font-family: 'Galano Grotesque Regular', sans-serif;
}

.btn:focus,
.btn:focus-visible,
.btn:active {
  box-shadow: none;
  border: none;
  outline: none;
}

.btn.btn--icon>i {
  margin-left: 15px;
}

.btn-primary {
  background: #197475;
  color: #fff;
  transition: 0.3s ease 0.1s, color 0.3s ease 0.1s;
  text-align: center;
  border: 1px solid transparent;
}

.btn-primary:hover {
  background: transparent !important;
  color: #197475;
  border: 1px solid #197475;
}

.cx-txt {
  font-family: 'Galano Grotesque Regular', sans-serif;
}

/* .btn-secondary:hover {
  background: #D27546 !important;
  color: #fff;
} */

.btn-transparent.btn:hover {
  color: #000;
}

.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary:active:focus {
  background: #D27546 !important;
  color: #fff;
  box-shadow: none !important;
}

.btn-secondary {
  background: transparent;
  color: #3C8C80;
  border: 1px solid #3C8C80;
  transition: 0.3s ease 0.1s, color 0.3s ease 0.1s;
  justify-content: center;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:focus-visible,
.btn-secondary:focus:active {
  background-color: #3C8C80;
  color: #fff;
}


form input,
form select,
form textarea {
  width: 100%;
  border: 1px solid #acacac;
  padding: 10px 10px;
  margin-bottom: 10px;
  background: transparent;
  font-size: 16px;
  font-weight: 400;
  color: #000;
}

form input:focus-visible,
form select:focus-visible,
form textarea:focus-visible {
  outline: none;
}

form input::placeholder,
form textarea::placeholder {
  font-size: 16px;
  font-weight: 400;
  color: #CACACA;
}

form p.lable {
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 5px;
  color: black;
}

form .submit-btn p {
  opacity: 1;
  margin-bottom: 0;
}

form option {
  font-size: 16px;
}

form input[type="submit"] {
  width: auto;
  font-size: 20px;
  background: #3E7B89;
  color: white;
  margin-bottom: 0;
  padding: 10px 40px;
  box-shadow: none;
  outline: none;
  border: none;
}

form input[type="submit"]:hover {
  background: #3E7B89;
  color: #fff;
}

h3.special-fonts {
  font-size: 3.125rem;
  font-weight: 300;
}

.text-justified {
  text-align: justify;
}

/*end*/

.bg-lightgray {
  background-color: #f0f5e9;
}

.bg-lightestgray {
  background-color: #fafafa;
}

.bg-darkgray {
  background-color: #c4c4c4;
}

.bg-darkestgray {
  background-color: #544e4c;
}

.bg-F8F4EF {
  background: #F5F5F5;
}

.bg-F6F1EB {
  background-color: #f0f5e9;
}

.bg-F8F4EF {
  background: #F5F5F5;
}

.bg-custom {
  background-color: #e3cbb2 !important;
}

.border-gray {
  border-color: #d1d1d1 !important;
}

.text-black {
  color: #000;
}

.fs-14 {
  font-size: 14px;
}

/*header*/
.header-top {
  background: #F3EEE8;
}

.comfortsmiles-nav {
  background: #F3EEE8;
}

/* Sticky position on scroll */
.comfortsmiles-header.is-sticky {
  position: fixed;
  top: 0;
  background: #fff;
  width: 100%;
  z-index: 999999;
}

.comfortsmiles-header.is-sticky .comfortsmiles-nav {
  top: 0px;
}

.comfortsmiles-header.is-sticky.is-sticky-full .comfortsmiles-nav {
  top: 51px;
}

.header-top.hide-header-top {
  display: none !important;
}

/*sticky*/
/* Smooth animation */
.main-nav.sticky {
  /* position: absolute;
  top: 90px; */
  width: 100%;
  z-index: 999999;
}

header,
.main-nav {
  transition: transform 0.3s ease, top 0.3s ease;
}

/* Sticky header on scroll up */
header.sticky-up {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transform: translateY(0);
}

/* Sticky nav when scrolling down */
.main-nav.sticky-down {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}

/* Sticky nav below header on scroll up */
.main-nav.sticky-below-header {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 999;
}

/* Hide header when scrolling down */
header.hide {
  transform: translateY(-100%);
}

/*sticky ends*/

/* General Dropdown Styling */
#menu-main-menu {
  width: 100%;
  justify-content: space-between;
}

.navbar-nav>li {
  position: relative;
}

.navbar-nav .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 250px;
  background-color: #F3EEE8;
  z-index: 1000;
  padding: 0;
  list-style: none;
}

.navbar-nav .sub-menu li a {
  padding: 20px;
}

.navbar-nav .sub-menu li:hover>a {
  background: #d275463b;
  padding: 20px;
}

.navbar-nav .sub-menu .sub-menu {
  top: 0;
  left: 100%;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  margin-left: 0;
}

/* Menu Links */
.navbar-nav .menu-item>a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 10px;
  color: #000;
  font-weight: 400;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.3s ease;
}

.navbar-nav .menu-item.current-menu-item>a {
  font-weight: 800;
}

.navbar-nav .menu-item>a:hover {
  /* background-color: #f2f2f2; */
  color: #000;
}

/* FontAwesome Angle Icons */
.navbar-nav .menu-item-has-children>a::after {
  content: "\f107";
  /* angle-down */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: 10px;
  display: inline-block;
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}

.navbar-nav>.menu-item>a {
  padding: 5px 20px;
}

.navbar-nav>.menu-item>a:hover {
  color: #48A79980;
}

/* Deep nested: angle-right */
.navbar-nav .menu-item-has-children .menu-item-has-children>a::after {
  content: "\f107";
  /* angle-down */
  margin-left: auto;
}

ul#menu-menu-1 {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.menu-item a {
  color: #000;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.5px;
  transition: color 0.3s ease;
  text-decoration: none !important;
  font-family: 'Galano Grotesque Regular', sans-serif;
}

.menu-item-has-children {
  position: relative;
}

ul.sub-menu li a {
  font-size: 14px;
}

ul.sub-menu li a:hover {
  font-size: 14px !important;
}

ul.sub-menu {
  background-color: transparent;
}

ul.sub-menu .menu-item a {
  margin-left: 0;
  margin-bottom: 0px;
  border-bottom: 0.5px solid #bdbdbd;
}

.menu-item-has-children {
  position: relative;
}

ul.sub-menu li a {
  font-size: 14px;
}

.menu-items {
  background-color: #f0f0f0;
  padding: 10px 0;
}

.menu-items .current-menu-item a {
  color: #000 !important;
  font-weight: 700;
}

.menu-items li a:hover {
  color: #000 !important;
  font-weight: 700;
  font-size: 16px;
}

/* General Dropdown Styling */
/*header*/

/* Popup */
#rebrandModal .modal-dialog {
  max-width: 650px;
}

#rebrandModal .modal-content {
  border-radius: 0;
  background: rgba(248, 244, 239, 1);
}

#rebrandModal h4 strong {
  font-weight: 500 !important;
  color: #D27546;
}

#rebrandModal p strong {
  font-weight: 800 !important;
}

#rebrandModal .max-w-5 {
  width: 550px;
}

#rebrandModal .btn-welcome {
  width: 150px;
}

#rebrandModal .badge {
  position: absolute;
  left: -10px;
  display: inline-block;
  background: #D27546;
  color: white;
  padding: 10px 0px;
  font-family: monospace;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  width: 160px;
  height: 50px;
  border-radius: 0;
  line-height: 16px;
  margin-bottom: 0;
}

#rebrandModal .btn-close {
  position: absolute;
  right: 10px;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%239C3E00'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e");
  background-size: 16px;
  background-repeat: no-repeat;
  background-position: center center;
  top: 15%;
}

#rebrandModal .btn-close:focus {
  outline: none;
  box-shadow: none;
}

/*banner*/


.banner-overlay-content {
   max-width: 900px;
  margin: 0 auto;
}
.banner-overlay-content .btn {
  margin-top: 10px;
}
.front__page_banner_custom .banner-overlay-content {
  display: flex;
  flex-direction: column;   /* stack items vertically */
  align-items: center;      /* center horizontally */
  text-align: center;
  gap: 15px;
}
.front__page_banner_custom {
  text-align: center;
}


.banner-overlay {
  position: absolute;
  /* background: rgba(0, 0, 0, 0.3); */
  background: linear-gradient(to right,
      rgba(0, 0, 0, 0.5) 0%,
      rgba(0, 0, 0, 0.5) 40%,
      rgba(0, 0, 0, 0) 100%);
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.banner-title {
  color: #000;
  font-weight: 300;
}

.home .banner-subtitle,
.page-template-template-about-us .banner-subtitle {
  max-width: fit-content;
}

.banner-subtitle {
  font-size: 1rem;
  color: #000;
  font-weight: 400;
}

.page-template-template-about-us .banner-overlay-content,
.page-template-template-contact .banner-overlay-content,
.page-template-template-services-level2 .banner-overlay-content {
  text-align: center;
}

.page-template-template-about-us .banner-subtitle {
  margin: 0 auto;
  display: block;
}

.page-template-template-services .banner-overlay-content .btn,
.page-template-template-services-level1 .banner-overlay-content .btn,
.page-template-template-services-level2 .banner-overlay-content .btn {
 
}

.page-template-template-contact .banner-overlay-content .btn{
   display: none !important;
}

/*banner*/

/*hs section*/
/* First card big image */
.higlighted-service-section .service-img-large {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Two small cards images */
.higlighted-service-section .service-img-small {
  width: 260px;
  height: 100%;
  object-fit: cover;
}

.higlighted-service-section .service-box {
  background: #FFFDFA;
  padding: 0;
  justify-content: center;
  height: 100%;
}

.higlighted-service-section .service-card-text {
  background: #f7f5f2;
  padding: 30px;
}

.learn-more-link {
  font-size: 14px;
  display: inline-block;
  text-decoration: underline;
  color: #000;
  font-family: 'Galano Grotesque Light', sans-serif;
}

.learn-more-link:hover {
  color: #D27546;
}

/*hs section*/
/* our service section */
.all-service-link {
  font-size: 14px;
  margin-top: 15px;
  display: inline-block;
  text-decoration: underline;
  color: #000;
  font-family: 'Galano Grotesque Light', sans-serif;
}

.our-services-grid .owl-dots {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.our-services-grid .owl-stage {
  margin-bottom: 40px;
}

.our-services-grid .owl-dot span {
  width: 120px;
  height: 2px;
  background: #D6D6D6;
  display: block;
  margin: 0 6px;
  transition: all 0.3s ease;
  border-radius: 0;
}

.our-services-grid .owl-dot.active span {
  background: #000;
  height: 2px;
  width: 140px;
}

.three-line-text {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Meet our Dentist */
.section-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 2rem;
  font-weight: 400;
  color: #000;
  position: relative;
}



.doctor-img {
  width: 100%;
  object-fit: cover;
  border-radius: 0;
}

/* Meet our Dentist Ends */

/* Easy finanving */
.easy-financing-section img {
  /* height: 60px;
  padding: 10px;
  border: 2px solid #000;
  width: 180px; */
}

.easy-financing-section img {
  border: 2px solid #F8F4EF;
}

.easy-financing-section img:hover {
  border: 2px solid #000;
}

/* Testimonial Section */
/* Make carousel items equal height */
.testimonial-carousel .owl-stage {
  display: flex;
}

.testimonial-carousel .owl-item {
  display: flex;
  height: auto !important;
}

.testimonial-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Testimonial Section  Ends*/

.why-us-wrapper {
  background: #F8F4EF;
  right: 70px;
  max-width: 500px;
}

/* Our service page */
/* New Our Service Sections Starts */
.service-item {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: none;
  font-size: 1.1rem;
  color: #777;
  padding: 0.75rem 0;
  border-bottom: 1px solid #eee;
}

.service-item:hover {
  color: #000;
}

.service-item.active {
  color: #000;
  font-weight: 500;
  border-bottom: 1px solid #878787;
}

.image-wrapper img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  /* border-radius: 30px; */
}

/* Remove any focus outlines or borders */
.service-item:focus,
.service-item:active,
.service-item:focus-visible {
  outline: none;
  border: none;
  box-shadow: none;
}

/* .services-content-box {
  border-radius: 30px;
  border: 1px solid #C8C8C8;
} */

/*services section*/
/* New Our Service Sections Ends */

/*intro section*/
.feature-grid .feature-box {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.feature-box img {
  width: 48px;
  height: 48px;
  margin-bottom: 15px;
}

.feature-box p {
  margin: 0;
  font-size: 15px;
  color: #222;
}

.feature-item {
  padding-bottom: 40px;
}

.feature-text {
  padding: 0 0px 0 40px;
  font-weight: 400;
}

.feature-text p {
  font-size: 1.25rem;
}

/*intro section*/

/*services section*/
.image-wrapper img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}

/* 
.services-content-box {
  border-radius: 30px;
  border: 1px solid #c8c8c8;
} */

.active-page {
  color: #D27546;
}

/* wrapper */
.service-menu-carousel {
  --mask: 45px;
  /* reserved space for arrows */
  position: relative;
}

/* stage + nav layering */
.service-menu-carousel .owl-stage-outer {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  padding: 0 10px;
}

/* add padding only if nav is active */
.service-menu-carousel:not(:has(.owl-nav.disabled)) .owl-stage-outer {
  padding: 0 var(--mask);
}

/* overlays (masks) */
.service-menu-carousel:has(.owl-prev:not(.disabled))::before,
.service-menu-carousel:has(.owl-next:not(.disabled))::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--mask);
  background: #fff;
  z-index: 2;
  pointer-events: none;
}

/* Show overlay only if has-prev */
.service-menu-carousel.has-prev .owl-stage-outer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 45px;
  height: 100%;
  background: #fff;
  z-index: 2;
}

/* Show overlay only if has-next */
.service-menu-carousel.has-next .owl-stage-outer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 45px;
  height: 100%;
  background: #fff;
  z-index: 2;
}

.service-menu-carousel:has(.owl-prev:not(.disabled))::before {
  left: 0;
}

.service-menu-carousel:has(.owl-next:not(.disabled))::after {
  right: 0;
}

.service-menu-carousel .owl-prev.disabled,
.service-menu-carousel .owl-next.disabled {
  cursor: auto;
}

/* nav wrapper */
.service-menu-carousel .owl-nav {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  /* only buttons clickable */
}

/* buttons */
.service-menu-carousel .owl-nav button {
  pointer-events: all;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 0;
  font-size: 20px;
  background: #f0f5e9;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}

/* position buttons inside padding */
.service-menu-carousel .owl-prev {
  position: absolute;
  left: 8px;
}

.service-menu-carousel .owl-next {
  position: absolute;
  right: 8px;
}

/* hover + icons */
.service-menu-carousel .owl-nav button span {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #000;
}

.service-menu-carousel .owl-nav button:hover {
  background: #f0f5e9;
}

.service-menu-carousel .owl-nav button:hover span {
  color: #D27546;
}

.service-menu-carousel .owl-item a::after {
  content: "|";
  margin: 0 8px;
  color: #6c757d;
}

.service-menu-carousel .owl-item:last-child a::after {
  content: "";
  /* remove from last item */
}




#rebrandModalfinance .modal-dialog {
  max-width: 940px;
}

#rebrandModalfinance {
  background: rgba(255, 255, 255, 0.7);
  z-index: 9999999;
}


/*answers*/
.answers-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
  /* THIS ensures space between buttons */
}

.answers-buttons a {
  justify-content: center;
  align-items: center;
  display: flex;
  width: 300px;
  padding: 15px 10px;
  box-sizing: border-box;
}

/*answers*/

/*insta/fb widget*/
.insta-fb-widget {
  border: 10px solid #48A79980;
  padding: 0;
}

.ti-widget[data-wkey="feed-instagram"][data-style="custom-style"][data-widget-type="social"] {
  margin-bottom: 0 !important;
}

.ti-widget[data-wkey="feed-instagram"] .ti-nav-loadmore {
  display: none !important;
}

.ti-widget[data-wkey="feed-instagram"] .ti-nav-loadmore .ti-btn {
  background: #544e4c !important;
  color: #fff !important;
}

.ti-widget[data-wkey="feed-instagram"][data-style="custom-style"][data-widget-type="social"] .ti-widget-header .ti-header-btn .ti-btn,
.ti-widget[data-wkey="feed-instagram"][data-style="custom-style"][data-widget-type="social"] .ti-widget-header .ti-header-btn .ti-btn:hover {
  background: #544e4c !important;
  color: #fff !important;
  outline: none !important;
}

/*insta/fb widget*/

/*ssj*/
.ssj h3 {
  color: #ffffff;
  font-weight: 600;
  font-size: 56px;
  line-height: 64px;
  letter-spacing: 0.2px;
  vertical-align: middle;
  color: #fff;
  text-align: left;
}

.ssj p {
  color: rgba(255, 255, 255, 0.7);
}

/*ssj*/

/*footer*/
.home .footer .border-bottom {
  border-top: 1px solid #d1d1d1 !important;
}
.footer .border-bottom {
  border-top: 1px solid #d1d1d1 !important;
}
.footer {
  background: #fff;
}

.footer h6 {
  font-family: 'Galano Grotesque Light';
  font-size: 1.2rem;
  font-weight: 300;
}

.footer p {
  font-family: 'Galano Grotesque Light';
  font-weight: 300;
}

.footer form .signup-updates .form-control:focus {
  box-shadow: none;
}

.footer form .signup-updates .form-control::placeholder {
  color: #d5baa8;
}

.footer form .signup-updates .form-control {
  border-radius: 0;
}

.footer form .signup-updates input[type="submit"] {
  border-radius: 0;
  width: 120px;
  margin: 0 auto;
  font-size: 1rem;
  text-align: center;
  padding: 0.375rem 0.75rem;
  height: 36px;
  box-sizing: border-box;
  color: #D27546;
  width: 80px;
  transition: background 0.3s ease 0.1s, color 0.3s ease 0.1s;
}

.footer form .signup-updates input[type="submit"]:hover {
  background: #d78a52 !important;
  color: #fff !important;
}

.footer form .signup-updates p {
  margin-bottom: 0;
}

.footer .hours {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer .hour-row {
  display: flex;
  align-items: center;
  font-family: 'Galano Grotesque Light';
  font-weight: 300;
  color: #000;
}

.footer .hour-row .day {
  min-width: 80px;
  flex-shrink: 0;
  color: #000;
}

.footer .hour-row .colon {
  margin: 0 10px;
  flex-shrink: 0;
}

.footer .hour-row .time {
  flex: 1;
}

.footer-menu {
  text-align: center;
  margin: 15px 0;
}

.footer-menu .current-menu-item a {
  font-weight: 600;
}

.footer-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.footer-nav li {
  display: inline-block;
}

.footer-nav a {
  color: #000;
  text-decoration: none;
  font-weight: 300;
  font-size: 15px;
  letter-spacing: 0.2px;
  transition: color 0.3s ease;
  font-family: 'Galano Grotesque Light';
}

.footer-nav a::after {
  content: " +";
  margin-left: 3px;
  color: #000;
  font-weight: 600;
}

.footer-nav a:hover:after,
.footer-nav a:hover {
  color: #48A79980;
}

.service-nav {
  list-style: none;
  padding-left: 0;
}

.service-nav li a {
  font-family: 'Galano Grotesque Light';
  font-weight: 300;
}

.service-nav li a:hover {
  color: #48A79980;
}

#scrollToTopBtn {
  position: fixed;
  width: 50px;
  height: 50px;
  bottom: 30px;
  right: 15px;
  background-color: #48A79980;
  color: white;
  border-radius: 50%;
  font-size: 18px;
  z-index: 9999;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#scrollToTopBtn.show {
  opacity: 1;
  visibility: visible;
}

/*Thank You*/
.thank-you-page {
  text-align: center;
  padding: 150px 0px 50px 0;
}

.thank-you-page h1 {
  color: #3E7B89;
}

.thank-you-page .btn-primary {
  background-color: #3E7B89;
  border-radius: 10px;
  color: #fff;
}

.thank-you-page .btn-primary:hover {
  background-color: #fff;
  color: #3E7B89;
}

.thank-you-page .content {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.thank-you-page .content img {
  width: 100%;
  height: auto;
  max-width: 590px;
  margin: 25px 0;
}

/*404*/
.error-404 {
  text-align: center;
  padding: 150px 0px 50px 0;
}

.error-404 h1 {
  color: #949494;
  font-weight: 600;
}

.error-404 h2 {
  color: #b0b6c5;
}

.error-404 .btn-primary {
  background-color: #D27546;
  border-radius: 10px;
  color: #fff;
}

.error-404 .btn-primary:hover {
  background-color: #D27546;
}

.error-404 img {
  width: 100%;
  height: auto;
  max-width: 590px;
  margin: 0 0 25px 0;
}

/*footer*/

/*About*/
.about-section .container {
  display: flex;
  gap: 58px;
}

.about-left {
  flex: 1 1 45%;
}

.about-left small {
  font-size: 14px;
  color: #555;
  display: block;
  margin-bottom: 8px;
}

.about-left h2 {
  font-size: 28px;
  margin-bottom: 16px;
}

.about-left p {
  font-size: 16px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 20px;
}

.about-left img {
  width: 100%;
  border-radius: 12px;
  display: block;
}

.about-right {
  flex: 1 1 45%;
  background-color: #544e4c;
  color: #fff;
  padding: 24px;
  border-radius: 12px;
}

.about-right small.from-us {
  font-size: 14px;
  color: #ccc;
  display: block;
  margin-bottom: 12px;
  text-align: right;
}

.about-right p {
  margin-bottom: 16px;
  color: #fff;
}

/*about*/

/*faq*/
.faq-section h2 {
  font-size: 40px;
  font-weight: 300;
  margin-bottom: 30px;
}

.faq-item {
  border-bottom: 1px solid #ddd;
}

.faq-item:last-child {
  border-bottom: none;
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border: none;
  background: transparent;
  padding: 20px 0;
  font-size: 24px;
  font-weight: 400;
  cursor: pointer;
  color: #bababa;
  /* Default color */
  transition: color 0.3s ease;
}

.faq-question:not(.collapsed) {
  color: #000;
  /* Active color */
}

.faq-answer {
  /* display: none; */
  /* padding: 0 0 20px 0; */
  padding: 0;
  font-size: 18px;
}

.faq-question:not(.collapsed) .arrow {
  transform: rotate(180deg);
}

.arrow {
  width: 36px;
  height: 36px;
  transition: transform 0.3s ease;
}

.faq-question {
  outline: none;
  border: none;
}

.faq-question:focus {
  outline: none;
  border: none;
  box-shadow: none;
}

/*faq*/

/* sis services */
.sis-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sis-content {
  background: #FFFDFA;
  flex-direction: column;
  justify-content: space-between;
}

.sis-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* sis services */

/*stats grid*/
.stats-grid {
  border: 1px solid #544e4c;
  border-radius: 1.5rem;
  padding: 2rem;
  margin-bottom: 70px;
}

.stat-item {
  padding: 1.5rem 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  position: relative;
}

.stat-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 60%;
  background-color: #e5e7eb;
}

.stat-number {
  font-size: 60px;
  font-weight: 500;
  color: black;
  line-height: 1;
}

.stat-label {
  font-size: 20px;
  color: black;
  font-weight: 300;
  line-height: 1.4;
}

/*stats grid*/

/*blog*/
.blog-wrapper a,
.blog-wrapper a:hover {
  text-decoration: none !important;
}

.card-img-top {
  object-fit: cover;
}

.card {
  background: transparent;
}

.rounded-20px {
  border-radius: 20px;
}

.blog-wrapper h2 {
  font-weight: 600;
  font-size: 40px;
  line-height: 45px;
  letter-spacing: 0.2px;
  width: 60%;
}

.blog-wrapper p {
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.2px;
  color: #fff;
}

.blog-wrapper .card-title {
  font-weight: 600;
  font-size: 24px;
  line-height: 28px;
  letter-spacing: 0.2px;
  color: rgba(0, 0, 0, 1);
}

.blog-wrapper .card-text {
  font-weight: 300;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.2px;
  color: #000;
}

.page-numbers>li {
  display: inline-block;
}

.page-numbers {
  padding: 5px 15px;
  margin: 0 0.25rem;
  color: #313131;
  text-decoration: none;
  flex-direction: row;
  display: flex;
  list-style: none;
  justify-content: center;
}

.page-numbers:hover {
  color: #D27546;
}

.page-numbers .current {
  background-color: #FFFDFA;
  color: #313131;
  border-color: #FFFDFA;
  border-radius: 5px;
}

.page-numbers .current:hover {
  background-color: #313131;
  border-color: #313131;
  color: #fff;
}

.angled-arrow {
  transform: rotate(-30deg);
  display: inline-block;
}

.blogs-post-single .publish-date {
  color: #000;
}

.blogs-post-single p,
.blogs-post-single li {
  font-weight: 300;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0;
  color: #393939;
}

.blogs-post-single li {
  margin-bottom: 10px;
}

.blogs-post-single li:last-child {
  margin-bottom: 0;
}

.blogs-post-single h1 strong,
.blogs-post-single h2 strong {
  font-weight: 600 !important;
}

.blogs-post-single h2 {
  font-weight: 600;
  font-size: 35px;
  line-height: 45px;
  letter-spacing: 0.2px;
  color: #000;
}

.blogs-post-single h3 {
  font-size: 1.75rem;

  font-weight: 400;
  letter-spacing: 0;
  color: #000;
}

.blogs-post-single h4 {
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0;
  color: #000;
}

.blogs-post-single .card-content {
  font-weight: 300;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0.2px;
  color: #000;
}

.blogs-post-single .btn-link {
  color: #000;
  text-decoration: none;
}

.blogs-post-single .btn-link a,
.blogs-post-single .btn-link:hover a {
  color: #000;
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
  line-height: 20px;
}

/*blog*/

/*candidate section*/
.candidate-section h2 {
  font-weight: 500;
  margin-bottom: 20px;
}

.candidate-section p {
  text-align: center;
  color: #000;
  max-width: 800px;
  margin: 0 auto 40px auto;
}

.candidate-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 40px;
}

.candidate-content .image img {
  max-width: 400px;
  width: 100%;
  border-radius: 8px;
}

.candidate-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.candidate-content ul li {
  font-size: 16px;
  margin-bottom: 16px;
  position: relative;
  padding-left: 24px;
}

.candidate-content ul li:before {
  content: "•";
  position: absolute;
  left: 0;
  font-size: 24px;
  line-height: 1;
}

.content-section.border-top {
  border-top: 1px solid #ddd;
}

/*candidate section*/

/*content section*/
.content-section.border-top {
  border-top: 1px solid #ddd;
}

/*content section*/

.ssj iframe,
.contact-section iframe {
}

.ssj .wpcf7 form.invalid .wpcf7-response-output,
.ssj .wpcf7 form.unaccepted .wpcf7-response-output,
.ssj .wpcf7 form.payment-required .wpcf7-response-output,
.ssj .wpcf7 form .wpcf7-response-output {
  color: #fff;
}

/*bordered wrapper*/
.bordered-wrapper {
  border: 1px solid #313131;
  padding: 20px;
}

.grecaptcha-badge {
  display: none;
}

.care-credit-wrapper h4 {
  font-weight: 400;
  font-size: 24px;
  line-height: 100%;
  letter-spacing: 0;
}

.care-credit-wrapper p {
  font-weight: 400;
  font-style: italic;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0;
  vertical-align: middle;
}

.care-credit-wrapper {
  background: #F5F5F5;
}

.care-credit-wrapper img {
  border: 1.5px solid #fff;
}

.care-credit-wrapper img:hover {
  border: 1.5px solid #313131;
}

.payment-option-wrapper {
  border: 1px solid #f0f5e9;
  border-radius: 20px;
}

.care-credit-text {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0;
  vertical-align: middle;
}

.page-template-template-contact .journey-form .submit-btn p {
  margin-bottom: 0;
}

.dentist-divider {
  color: #313131;
  margin: 10px 0 20px;
}

.page-template-template-contact .payment-option-wrapper .care-credit-wrapper h4 {
  font-weight: 400;
  font-size: 40px;
  line-height: 50px;
  letter-spacing: 0.2px;
  text-align: center;
}

.product-service-wrap {
  background: #F5F5F5;
}

.product-service-wrap img {
  width: 28px;
  margin-right: 10px;
}

.product-service-wrap .servicename {
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  color: #000;
}

.product-service-wrap h4 {
  font-weight: 400;
  font-size: 24px;
  line-height: 28px;
  letter-spacing: 0.2px;
  text-align: center;
  color: #000;
}

.contact-section .contact-text {
  text-align: left;

  font-weight: 400;
  font-size: 22px;
  line-height: 28px;
  letter-spacing: 0.2px;
}

.contact-section .contact-img img {
  width: 120px;
  height: 120px;
}

.footer .wpcf7-not-valid-tip,
.footer .wpcf7 form.invalid .wpcf7-response-output,
.footer .wpcf7 form.unaccepted .wpcf7-response-output,
.footer .wpcf7 form.payment-required .wpcf7-response-output,
.footer .wpcf7 form.sent .wpcf7-response-output {
  font-size: 13px;
  margin: 10px 0;
}

.contact-section .payment-option-wrapper .care-credit-wrapper p {
  font-style: normal;
  font-weight: 300;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0;
  text-align: center;
}

.section10.bg-white .wpcf7-not-valid-tip {
  text-align: left;
}

.section10.bg-white .journey-form .wpcf7 form.sent .wpcf7-response-output,
.section10.bg-white .wpcf7 form.invalid .wpcf7-response-output,
.section10.bg-white .wpcf7 form.unaccepted .wpcf7-response-output,
.section10.bg-white .wpcf7 form.payment-required .wpcf7-response-output {
  color: #000 !important;
  margin: 15px 0;
}

.section10.bg-white .journey-form option {
  background-color: #fff;
}

.section10.bg-white .journey-form input,
.section10.bg-white .journey-form select,
.section10.bg-white .journey-form textarea {
  color: #000;
}

.section10.bg-white .journey-form input::placeholder,
.section10.bg-white .journey-form textarea::placeholder,
.section10.bg-white .journey-form select {
  color: #cacaca;
}

.section10.bg-white .journey-form select option {
  color: #000;
}

.section10.bg-white .col-md-4 p {
  color: #000;
  opacity: 1;
}

.section10.bg-white .journey-form p.lable {
  color: #000;
  opacity: 1;
  text-align: left;
}

.section10.bg-white p.desc {
  color: #000;
}

.section10.bg-white .journey-form p {
  text-align: left;
}

.section10.bg-white .journey-form input.contact-form-btn {
  background: #3E7B89 !important;
  color: #FFFDFA;
  transition: background 0.3s ease 0.1s, color 0.3s ease 0.1s;
}

.section10.bg-white .journey-form input.contact-form-btn:hover {
  background: #FFFDFA !important;
  color: #3E7B89 !important;
  border: 1px solid #3E7B89;
}

.circle-button-white {
  width: 55px;
  height: 55px;
  border: 1.5px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.circle-button-white .arrow-icon {
  width: 35px;
  height: 35px;
  transition: transform 0.6s ease;
}

.circle-button {
  width: 40px;
  height: 40px;
  border: 1.5px solid #000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.circle-button .arrow-icon {
  width: 20px;
  height: 20px;
  transition: transform 0.6s ease;
}

.circle-button:hover .arrow-icon,
.circle-button-white:hover .arrow-icon {
  transform: rotate(360deg);
}

/*owl carousel*/
.consultation-section {
  overflow: hidden;
}

.consultation-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 auto;
}

.consultation-wrapper:before {
  content: "";
  position: absolute;
  left: 190px;
  right: 0;
  top: 50%;
  height: 4px;
  background-color: #555;
  border-radius: 2px;
  z-index: 0;
}

.consultation-label:before {
  content: "";
  position: absolute;
  left: 180px;
  top: 50.5%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-color: #555;
  border-radius: 50%;
  z-index: 1;
}

.consultation-label h3 {
  font-size: 20px;
  color: #333;
  margin: 0 0 10px;
  font-weight: 400;
}

.consultation-label h2 {
  font-size: 36px;
  margin: 0;
  font-weight: 500;
  letter-spacing: 0.4;
  line-height: 150%;
}

.owl-nav .consultation-arrow {
  display: inline-block;
  width: 40px;
  height: 40px;
  background: #544e4c;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
}

.owl-nav .consultation-arrow:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.951 12.332C15.5083 12.7745 15.5083 13.4921 15.951 13.9348L21.6748 19.6587C21.7528 19.7367 21.7528 19.8633 21.6748 19.9415L15.951 25.6653C15.5083 26.1079 15.5083 26.8255 15.951 27.2681C16.3935 27.7107 17.1111 27.7107 17.5536 27.2681L23.2775 21.5443C24.2408 20.5809 24.2408 19.0191 23.2775 18.0559L17.5536 12.332C17.1111 11.8893 16.3935 11.8893 15.951 12.332Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.consultation-container {
  position: relative;
  background: #F8F4EF;
  border: 1px solid #313131;
  border-radius: 20px;
  margin: 0 auto;
  padding: 20px 20px 20px 130px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 70%;
}

.consultation-image {
  position: absolute;
  top: 50%;
  left: -80px;
  transform: translateY(-50%);
  width: 200px;
  height: 200px;
  flex-shrink: 0;
}

.consultation-content {
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.consultation-content h2 {
  font-size: 28px;
  font-weight: 400;
  margin: 0 0 15px;
  display: flex;
  align-items: center;
}

.consultation-content .number {
  font-size: 96px;
  font-weight: 600;
  margin-right: 15px;
}

.consultation-content p {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  font-weight: 300;
}

.consultation-arrow {
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  background: #544e4c;
  border-radius: 50%;
  cursor: pointer;
  z-index: 2;
}

.consultation-arrow:before {
  content: ">";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 20px;
}

/*owl carousel*/

.about-us-meet-ourdentist .dentist-card:last-child .row {
  margin-bottom: 0 !important;
}

.patient-form-text p,
.patient-form-text h2 {
  text-align: left;
}

.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
  transition: all 0.4s ease;
  transform: rotate(0deg);
  width: 30px;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg"><line x1="1" y1="26" x2="26" y2="1" stroke="rgba(0, 0, 0, 0.5)" stroke-width="2"/><line x1="1" y1="1" x2="26" y2="26" stroke="rgba(0, 0, 0, 0.5)" stroke-width="2"/></svg>');
  transition: all 0.4s ease;
  transform: rotate(90deg);
  width: 25px;
}

.blogs-post-single .title-container {
  color: #000;
  border-radius: 20px;
  background: rgba(204, 204, 204, 0.5);
}

.blogs-post-single .img-container img {
  border-radius: 20px;
}
/* =========================
   LIMA styles classes)
   ========================= */

/* new header */
/* =========================
   LIMA HEADER (new classes)
   ========================= */

/* Header wrapper */
.lima-header {
  background: white; /* matches your old .header-top bg */
}

/* replaces .header-top */
.lima-header-top {
  background: white;
  position: relative;
}

/* Sticky position on scroll (replaces .comfortsmiles-header.is-sticky) */
.lima-header.is-sticky {
  position: fixed;
  top: 0;
  background: #fff;
  width: 100%;
  z-index: 999999;
}

/* hide header-top when needed (replaces .header-top.hide-header-top) */
.lima-header-top.hide-header-top {
  display: none !important;
}

/* Smooth animation (kept same behavior) */
.lima-header,
.lima-main-nav {
  transition: transform 0.3s ease, top 0.3s ease;
}

/* Sticky header on scroll up (replaces header.sticky-up) */
.lima-header.sticky-up {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transform: translateY(0);
}

/* Hide header when scrolling down (replaces header.hide) */
.lima-header.hide {
  transform: translateY(-100%);
}

/* Logo block (replaces .logo) */
.lima-logo img {
  max-height: 70px; /* adjust if needed */
  width: auto;
  height: auto;
  display: inline-block;
}

/* Mobile contact bar (replaces .mobile-contact-bar) */
.lima-mobile-contact-bar {
  background: white;
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

/* Mobile contact items (replaces .contact-item) */
.lima-contact-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lima-contact-item i {
  color: black;
  font-size: 15px;
}

.lima-contact-item a,
.lima-contact-item span {
  color: #000;
  font-size: 14px;
  font-family: 'Galano Grotesque Regular', sans-serif;
  text-decoration: none;
}

/* Main nav wrapper (replaces .main-nav.sticky) */
.lima-main-nav.sticky {
  width: 100%;
  z-index: 999999;
}

/* Sticky nav when scrolling down (replaces .main-nav.sticky-down) */
.lima-main-nav.sticky-down {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}

/* Sticky nav below header on scroll up (replaces .main-nav.sticky-below-header) */
.lima-main-nav.sticky-below-header {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 999;
}

/* Nav background (replaces .comfortsmiles-nav) */
.lima-nav {
  background: white;
}

/* Keep your existing menu layout rules intact */
.lima-nav #menu-main-menu {
  width: 100%;
  justify-content: space-between;
}

/* If your logo sits too high/low compared to menu, adjust these */
@media (min-width: 992px) {
  .lima-logo {
    padding: 10px 0;
  }
}

/* Home Page Services */
/* ===========================
   Highlighted Services (all)
   Reference-style component
   =========================== */

.lima-feature-card {
  background: #fff;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 26px;
}

.lima-featire-card__img {
  max-width: 610px;
  max-height: 600px;
}

.lima-feature-card__img img {
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: cover;
  display: block;
}

/* Right side content should sit at the bottom */
.lima-feature-card__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;   /* bottom align all content */
  height: 100%;               /* important so flex-end has space */
  padding: 10px 10px 0;
  text-align: left;           /* ensures no center text */
}

/* Make sure the grid row stretches so the content can align bottom */
.lima-feature-card {
  align-items: stretch;
}

.lima-feature-card__dash {
  width: 40px;
  height: 3px;
  background: #313131;
  display: inline-block;
  margin-bottom: 14px;
}

.lima-feature-card__title {
  margin: 0 0 14px 0;
}

.lima-feature-card__text {
  margin-bottom: 18px;
}

.lima-feature-card__divider {
  display: block;
  height: 1px;
  background: rgba(0,0,0,0.35);
  margin-top: 22px;
}

/* Responsive */
@media (max-width: 991px) {
  .lima-feature-card {
    grid-template-columns: 1fr;
    padding: 18px;
    gap: 16px;
  }

  .lima-feature-card__img img {
    max-height: 320px;
  }

  .lima-feature-card__content {
    padding: 8px 6px 0;
  }
}

/* Our Services TC */
 /* Only for this "Our Services" grid (matches screenshot style) */
.lima-services-grid {
  padding: 40px 0;
}

.lima-services-title {
  margin-bottom: 22px;
}

.lima-service-tile {
  display: block;
  position: relative;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  overflow: hidden;
  text-decoration: none;
}

.lima-service-tile__img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}

.lima-service-tile__label {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  font-size: 13px;
  color: #222;
  background: rgba(255,255,255,0.65);
  padding: 4px 8px;
}

.lima-services-more {
  margin-top: 18px;
}

.lima-services-more a {
  color: #000;
  text-decoration: underline;
  font-size: 14px;
  font-family: 'Galano Grotesque Light', sans-serif;
}

/* Meet Our Dentists (matches screenshot style) */
.lima-dentist-card {
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}

.lima-dentist-card__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  background: #ddd;
}

/* Bottom translucent strip */
.lima-dentist-card__overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 18px 12px 14px;
  text-align: center;

  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(2px);
}

.lima-dentist-card__name {
  color: #fff;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 400;
}

.lima-dentist-card__role {
  color: rgba(255, 255, 255, 0.75);
  font-size: 12px;
  margin-top: 4px;
  font-family: 'Galano Grotesque Light', sans-serif;
}

/* SEO section like screenshot: small center gap + teal borders + 700px height */
.lima-seo-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;                 /* small gap between left and right */
  background: transparent;   /* so the gap shows */
}

/* Left block */
.lima-seo-card__left {
  border: 1px solid #3E7B89;
  background: #fff;
  padding: 26px 26px 18px;

  display: flex;
  flex-direction: column;
  height: 700px;             /* requested height */
}

/* Keep CTA at the bottom */
.lima-seo-card__cta {
  margin-top: auto;
}

/* Right block */
.lima-seo-card__right {
  background: #fff;
  height: 700px;             /* match left height */
  overflow: hidden;
}

.lima-seo-card__right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Responsive */
@media (max-width: 991px) {
  .lima-seo-card {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .lima-seo-card__left,
  .lima-seo-card__right {
    height: auto;
  }

  .lima-seo-card__right img {
    height: 320px;
  }
}

.bg-F5F5F5 {
  background-color: #F5F5F5;
}

/* about us meet the doctors section */
.about-us-meet-ourdentist h2{
  font-size: 34px;
}


.meet-dentist-item{
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 44px;
  align-items: start;
  padding: 28px 0;
}



.meet-dentist-item__img img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.meet-dentist-item__name{
  font-size: 22px;
  margin: 0 0 14px;
}

.meet-dentist-item__desc{
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 18px;
}

.meet-dentist-item__link{
  font-size: 12px;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}

@media (max-width: 767px){
  .meet-dentist-item{
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .meet-dentist-item__img{
    max-width: 360px;
  }
}

/* Services */
/* Desktop: heading spacing */
.services-right-title{
  margin-bottom: 18px;
}

/* Desktop: thumbnails row */
.services-thumbs{
  gap: 16px;
  margin-bottom: 22px;
  overflow-x: auto;
  padding-bottom: 8px;
}

.services-thumb{
  border: 0;
  padding: 0;
  background: transparent;
  width: 140px;
  height: 92px;
  flex: 0 0 auto;
  opacity: .65;
}

.services-thumb.active{
  opacity: 1;
}

.services-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Desktop: details layout (image left, content right) */
.service-detail{
  display: grid;
  grid-template-columns: 440px 1fr;
  gap: 28px;
  align-items: start;
}

.service-detail .image-wrapper img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.services-fullwidth{
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
  margin: 0;
}

/* Our Services styles */
/* Prevent horizontal overflow (the common cause of the right push) */
.services-section{
  overflow-x: hidden;
}

/* Bigger thumbnails */
.services-thumbs{
  display: flex;
  gap: 14px;
  margin-top: 16px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}

.services-thumb{
  padding: 0;
  border: 0;
  background: transparent;
  line-height: 0;
}

.services-thumb img{
  width: 140px;   /* wider */
  height: 90px;   /* taller */
  object-fit: cover;
  display: block;
}

/* Make the main image area wider */
.service-detail{
  display: grid;
  grid-template-columns: 460px 1fr; /* increase left column */
  gap: 22px;
  align-items: start;
}

@media (max-width: 767px){
  .service-detail{
    grid-template-columns: 1fr;
  }
  .services-thumbs{
    overflow-x: auto;
    flex-wrap: nowrap;
  }
}

/* banner */
/* Banner wrapper (NOTE: class name corrected to match your markup) */
.front_page_banner_custom{
  width: 100%;
  position: relative;
}

.front_page_banner_custom img{
  display: block;     /* removes image whitespace gap */
  width: 100%;
  height: auto;
}

/* Full-width bar overlayed on image */
.front_page_banner_custom .banner-contact-bar{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 10;
  background: rgba(255,255,255,0.75); /* like screenshot */
  backdrop-filter: blur(2px);          /* optional */
}

/* Icons inside the bar */
.front_page_banner_custom .banner-contact-bar .banner-icon{
  color: #D27546;
  font-size: 15px;
}

/* Ensure mobile spacing is clean */
@media (max-width: 575px){
  .front_page_banner_custom .banner-contact-bar .d-flex{
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
  }
}

/* Testimoials */
/* Testimonials */
/* Testimonials layout: quotes in one div, heading+carousel in another */
.lima-testimonial-layout{
  display: flex;
  align-items: flex-start;
  gap: 28px;
}

/* Quotes block (separate div) */
.lima-testimonial-quotes{
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
  margin-top: 4px;
}

.lima-testimonial-header__quote{
  width: 42px;
  height: auto;
  display: block;
}

/* Content block (heading + carousel) */
.lima-testimonial-content{
  flex: 1 1 auto;
}

.lima-testimonial-header__title{
  margin: 18px 0px;
}

/* Now that everything is inside the same content div,
   no manual left margins needed */
.lima-testimonial-slide__text{
  margin: 0 0 22px 10px;
  line-height: 1.8;
}
.lima-testimonial-header__quotes{
  display: flex;
    gap: 10px;

}

.lima-testimonial-slide__author{
  margin-left: 10px;
  font-size: 20px;
}

@media (max-width: 767px){
  .lima-testimonial-layout{
    gap: 16px;
  }
}

/* Banner text*/
.banner-text {
  font-weight: 400;
  font-size: 24px;
  text-decoration: underline;
  text-decoration-color: #197475;
  color: #197475;
}


/* Banner container */
.banner-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}


.service-card h5 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}

.service-card p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}


.service-card__image {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.service-card__desc {
      font-size: 1rem;
    color: #000;
    text-align: left;
}

/* ==============================
   CONTENT SECTIONS
============================== */
.periodontist-sections {
  background-color: #fff;
}

.content-section {
  padding: 2rem 0;
  border-bottom: 1px solid #f0f0f0;
}

.content-section:last-child {
  border-bottom: none;
}

.content-section__heading {
  font-size: 1.6rem;
  color: #1a1a1a;
  margin-bottom: 1rem;
}

.content-section__text {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.8;
}

.content-section__image {
  width: 100%;
  height: 400px;
  object-fit: cover;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.my-80{
  margin-top: 60px !important;
  margin-bottom: 60px !important;
}
.pt-40{
  padding-top: 4rem !important;
}
.btn--icon {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    min-width: 405px;
}


/* Photo Gallery Section */
.photo-gallery-section {
  background: #fafafa;
}

.photo-gallery-title {
  font-size: 2rem;
}
.photo-gallery-carousel {
  position: relative;
}

/* NAV WRAPPER */
.photo-gallery-carousel .owl-nav {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  z-index: 999;
  pointer-events: none;
}

/* BUTTONS */
.photo-gallery-carousel .owl-nav button.owl-prev,
.photo-gallery-carousel .owl-nav button.owl-next {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  font-size: 0;
  pointer-events: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-color: transparent;
}
.services-grid-clean h2 {
  font-family: serif;
  font-size: 28px;
}

/* CARD */
.service-card-clean {
  text-decoration: none;
}

/* IMAGE WRAPPER */
.service-image {
  position: relative;
  overflow: hidden;
}

/* IMAGE */
.service-image img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}


/* OVERLAY STRIP (FULL WIDTH) */
.service-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;

  background: rgba(255, 255, 255, 0); /* hidden initially */
  backdrop-filter: blur(0px);

  transition: 
    background 0.4s ease 0.15s,
    backdrop-filter 0.4s ease 0.15s;
  z-index: 1;
}
/* DEFAULT STATE */
.service-label {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 13px;
  color: #333;
  z-index: 2;

  /* smooth animation */
  transition: 
    transform 0.5s ease,
    top 0.5s ease,
    left 0.5s ease,
    font-size 0.5s ease,
    color 0.3s ease;
}

/* HOVER STATE */
.service-card-clean:hover .service-overlay {
  left: 50%;
  transform: translateX(-50%) scale(1.1);
  font-size: 13px;
  color: #000;
  background: #FFFFFF4D;
backdrop-filter: blur(30px);
  height: 32px;
}
.service-card-clean:hover .service-label {
  left: 50%;
  transform: translateX(-50%) scale(1.1);
  font-size: 13px;
  color: #000;
}
/* VIEW MORE */
.view-more {
  display: inline-block;
  margin-top: 10px;
  font-size: 14px;
  text-decoration: underline;
  color: #000;
}