/*
Theme Name: Hospa
Theme URI: https://themes.hibootstrap.com/hospa/
Author: HiBootstrap
Author URI: https://hibootstrap.com
Description: Hospa - Doctor, Medical & Healthcare WordPress Theme
Version: 2.2
License: GNU General Public License v2.0
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hospa
Tags: custom-menu, sticky-post, featured-images, threaded-comments, translation-ready
*/

/* Vision Works: opaque navigation in normal page flow. */
#masthead:has(.elementor-5243) {
  position: relative;
  z-index: 1000;
}
#masthead .elementor-5243 .optional-header-with-position-absolute {
  position: relative;
  inset: auto;
}
#masthead .elementor-5243 #navbar {
  background: #ffffff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* Vision Works: match the top bar to the navigation and footer on wide screens. */
@media (min-width: 1400px) {
  #masthead .elementor-5243 .top-header-wrap-area > .container-fluid {
    max-width: 1320px;
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
  }
}

/* Keep replacement brand marks within the homepage's existing portrait boxes. */
.elementor-3606 .elementor-element-8947b12 .image {
  flex: 0 0 55px;
  width: 55px;
}
.elementor-3606 .elementor-element-8947b12 .image img {
  width: 55px;
  height: 55px;
  object-fit: contain;
}
.elementor-3606 .elementor-element-b8334b2 .info .image {
  flex: 0 0 68px;
  width: 68px;
}
.elementor-3606 .elementor-element-b8334b2 .info .image img {
  width: 68px;
  height: 68px;
  object-fit: contain;
}

/* Vision Works homepage: use the navigation palette throughout existing widgets. */
body.page-id-3606 {
  --optionalColorThree: var(--mainColor);
  --bs-link-color-rgb: 90, 195, 207;
  --bs-link-hover-color-rgb: 2, 13, 43;
  --bs-focus-ring-color: rgba(90, 195, 207, 0.25);
  --vw-pale-teal: #E6F5F7;
  --vw-pale-yellow: #FFF6CF;
  --vw-surface: #F0F4F8;
}

/* Colour-only button overrides keep each widget's existing dimensions. */
.elementor-3606 .default-btn {
  background-color: var(--optionalColor) !important;
  border-color: var(--optionalColor) !important;
  color: #000000 !important;
}
.elementor-3606 .default-btn:hover,
.elementor-3606 .default-btn:focus-visible,
.elementor-3606 .ech-services-card:hover .services-btn .default-btn {
  background-color: var(--mainColor) !important;
  border-color: var(--mainColor) !important;
  color: var(--whiteColor) !important;
}
.elementor-3606 .default-btn i {
  color: inherit;
}

/* Keep service-button text black in normal, hover and focus states. */
body.page-id-3606 .elementor-3606 .elementor-element.elementor-element-b35f8da .ech-services-card .services-btn .default-btn {
  color: #000000 !important;
}
.elementor-3606 .eye-care-hospital-slider-info,
.elementor-3606 .ech-about-image .wrap-quote,
.elementor-3606 .ech-review-lft .review-wrap.wrap-two {
  background-color: var(--vw-pale-teal);
}
.elementor-3606 .eye-care-hospital-slider-info li h3 i,
.elementor-3606 .eye-care-hospital-slider-info li .h3 i {
  color: var(--mainColor);
}
.elementor-3606 .eye-care-hospital-slider-info li .link-btn {
  color: var(--blackColor);
}
.elementor-3606 .eye-care-hospital-slider-info li .link-btn:hover {
  color: var(--mainColor);
}
.elementor-3606 .ech-about-image .counter-wrap,
.elementor-3606 .ech-review-lft .review-wrap {
  background-color: var(--vw-pale-yellow);
}
.elementor-3606 .ech-about-image .counter-wrap {
  box-shadow: 0 4px 30px 0 rgba(2, 13, 43, 0.1);
}
.elementor-3606 .ech-about-content .sub,
.elementor-3606 .section-title .sub,
.elementor-3606 .ech-review-lft .sub,
.elementor-3606 .ech-funfact-card h3,
.elementor-3606 .ech-funfact-card .sub {
  color: var(--blackColor);
}
.elementor-3606 .eye-care-hospital-slider-item::after {
  background-color: rgba(2, 13, 43, 0.58);
}
.elementor-3606 .ech-video-image .video-btn i,
.elementor-3606 .mc-appointment-info .arrow-btn a i {
  background-color: var(--optionalColor);
  color: #000000;
}
.elementor-3606 .ech-video-image .video-btn:hover i,
.elementor-3606 .ech-video-image .video-btn:focus-visible i,
.elementor-3606 .mc-appointment-info .arrow-btn a:hover i,
.elementor-3606 .mc-appointment-info .arrow-btn a:focus-visible i {
  background-color: var(--mainColor);
  color: var(--whiteColor);
}
.elementor-3606 .mc-appointment-form {
  background-color: var(--vw-surface);
}
.elementor-3606 .mc-appointment-form > h1 {
  color: rgba(90, 195, 207, 0.28);
}
.elementor-3606 .mc-appointment-form .form-wrap .form-group .form-control {
  background-color: var(--whiteColor);
  color: var(--blackColor);
}
.elementor-3606 .mc-appointment-form .form-wrap .form-group .form-control::placeholder {
  color: var(--paragraph);
}
.elementor-3606 .mc-appointment-form .form-wrap .form-group .form-control:focus {
  box-shadow: 0 0 0 2px rgba(90, 195, 207, 0.5);
}
.elementor-3606 .mc-appointment-info {
  background-color: var(--vw-pale-teal);
}
.elementor-3606 .mc-appointment-info .info .icon i {
  color: var(--mainColor);
}

/* Match every homepage text button to the navigation's pill shape. */
body.page-id-3606 .elementor-3606 .default-btn {
  border-radius: 50px;
}

/* Keep hero text, carousel arrows and the information panel on the nav grid. */
@media (min-width: 992px) {
  .elementor-3606 .eye-care-hospital-slider-area {
    --vw-hero-container: 960px;
    --vw-hero-gutter: 12px;
  }
  .elementor-3606 .eye-care-hospital-slider-item > .container-fluid {
    max-width: var(--vw-hero-container);
    padding-left: var(--vw-hero-gutter);
    padding-right: var(--vw-hero-gutter);
  }
  .elementor-3606 .eye-care-hospital-slider-button {
    left: calc((100% - var(--vw-hero-container)) / 2 + var(--vw-hero-gutter));
  }
  .elementor-3606 .eye-care-hospital-slider-info {
    right: calc((100% - var(--vw-hero-container)) / 2 + var(--vw-hero-gutter));
  }
}
@media (min-width: 1200px) {
  .elementor-3606 .eye-care-hospital-slider-area {
    --vw-hero-container: 1140px;
  }
}
@media (min-width: 1400px) {
  .elementor-3606 .eye-care-hospital-slider-area {
    --vw-hero-container: 1320px;
  }
}

/* Vision Works: align shared breadcrumb banners with the navigation container. */
.page-banner-area {
  --vw-breadcrumb-container: 100%;
}
body .page-banner-area > .container-fluid {
  width: 100%;
  max-width: var(--vw-breadcrumb-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
  padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
}
body .page-banner-area .page-banner-inner {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 576px) {
  .page-banner-area {
    --vw-breadcrumb-container: 540px;
  }
}
@media (min-width: 768px) {
  .page-banner-area {
    --vw-breadcrumb-container: 720px;
  }
}
@media (min-width: 992px) {
  .page-banner-area {
    --vw-breadcrumb-container: 960px;
  }
}
@media (min-width: 1200px) {
  .page-banner-area {
    --vw-breadcrumb-container: 1140px;
  }
}
@media (min-width: 1400px) {
  .page-banner-area {
    --vw-breadcrumb-container: 1320px;
  }
}

/* Vision Works / About Overview (#480): scoped layout repair, 2026-10-13. */
.elementor-480 {
  --vw-ink: #020D2B;
  --vw-teal: #5AC3CF;
  --vw-teal-text: #267985;
  --vw-surface: #E6F5F7;
  --vw-space: 80px;
  --optionalColorThree: #5AC3CF;
}
/* Remove the unrelated demo doctors strip; retain the shared breadcrumb. */
body.page-id-480 .page-banner-image { display: none; }
body.page-id-480 .page-banner-inner {
  margin-top: 0 !important;
  padding: 40px 60px !important;
  border-radius: 20px !important;
  background-color: #F0F4F8;
}
body.page-id-480 .page-banner-inner .phone-btn .icon { background-color: #5AC3CF; }
body.page-id-480 .page-banner-inner .phone-btn span,
body.page-id-480 .page-banner-inner .phone-btn span a { color: #020D2B; }
body.page-id-480 .page-banner-inner .content .list a { color: #267985; }
/* First content box: the original artwork only, without the widget overlay. */
.elementor-480 .solution-inner {
  width: 100%; height: auto; min-height: 0;
  aspect-ratio: 16 / 5;
  padding: 0 !important;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: transparent;
  border-radius: 20px;
  overflow: hidden;
}
.elementor-480 .solution-inner::before,
.elementor-480 .solution-inner::after,
.elementor-480 .solution-inner .content { display: none !important; }
/* One section rhythm and heading scale, confined to this page's widgets. */
.elementor-480 .about-area { padding: var(--vw-space) 0 0 !important; }
.elementor-480 .testimonial-area { padding: var(--vw-space) 0 !important; }
.elementor-480 .about-more-area,
.elementor-480 .why-choose-us-area { padding: 0 0 var(--vw-space) !important; }
.elementor-480 .about-content h2,
.elementor-480 .testimonial-top-content h2,
.elementor-480 .about-more-content h2,
.elementor-480 .section-title h2 {
  color: var(--vw-ink); font-size: 38px; line-height: 1.25;
  margin-bottom: 20px; letter-spacing: -0.6px;
}
.elementor-480 .testimonial-top-content h2 span { color: var(--vw-teal-text); }
.elementor-480 .about-content > .sub,
.elementor-480 .testimonial-top-content > .sub,
.elementor-480 .about-more-content > .sub,
.elementor-480 .section-title > .sub {
  color: var(--vw-teal-text); font-size: 12px;
  line-height: 1.5; margin-bottom: 12px;
}
.elementor-480 .about-content p,
.elementor-480 .about-more-content p,
.elementor-480 .why-choose-us-card p,
.elementor-480 .testimonial-lft-content .testimonial-card p {
  font-size: 16px; line-height: 1.75; color: #465166;
}
.elementor-480 .about-area > .container > .row,
.elementor-480 .testimonial-area > .container > .row,
.elementor-480 .about-more-area > .container > .row { --bs-gutter-x: 48px; }
/* Story photo: no floating badges or extra image-side offsets. */
.elementor-480 .about-image.wrap-one { margin: 0; padding: 0; }
.elementor-480 .about-image > img {
  display: block; width: 100%; max-height: 480px;
  height: auto; object-fit: contain; border-radius: 20px !important;
}
.elementor-480 .about-image .counter-wrap { display: none; }
.elementor-480 .about-content.wrap-two .list { margin: 20px 0; }
.elementor-480 .about-content.wrap-two .list li {
  font-size: 15px; line-height: 1.5; margin-bottom: 14px;
}
.elementor-480 .about-content .list li i { color: var(--vw-teal); flex-shrink: 0; }
/* Values: aligned image pairs and matching panels, not a loose collage. */
.elementor-480 .testimonial-top-content { max-width: none; margin: 0 0 36px; }
.elementor-480 .testimonial-top-content h2 { margin-bottom: 0; }
.elementor-480 .testimonial-area > .container > .row { align-items: flex-start !important; }
.elementor-480 .testimonial-lft-content,
.elementor-480 .testimonial-rght-content { margin: 0; padding: 0; min-width: 0; }
.elementor-480 .testimonial-lft-content > .image,
.elementor-480 .testimonial-rght-content > .image { margin: 0 0 24px; }
.elementor-480 .testimonial-lft-content > .image > img,
.elementor-480 .testimonial-rght-content > .image > img {
  display: block; width: 100%; height: 340px;
  object-fit: cover; object-position: center 35%; border-radius: 20px !important;
}
.elementor-480 .testimonial-lft-content .testimonial-card,
.elementor-480 .testimonial-rght-content .info-box {
  background-color: var(--vw-surface); border-radius: 20px;
  width: 100%; max-width: none; min-height: 248px;
  padding: 32px; box-shadow: none;
}
.elementor-480 .testimonial-lft-content .testimonial-card .info {
  margin-top: 24px; padding-right: 100px;
}
.elementor-480 .testimonial-lft-content .testimonial-card .info img {
  width: 44px; height: 44px; max-width: 44px; object-fit: contain; flex-shrink: 0;
}
.elementor-480 .testimonial-lft-content .testimonial-card .info .title { min-width: 0; margin-left: 12px; }
.elementor-480 .testimonial-lft-content .testimonial-card .info .title h3 { font-size: 13px; letter-spacing: 0.6px; }
.elementor-480 .testimonial-lft-content .testimonial-card .info .title span { font-size: 13px; }
.elementor-480 .testimonial-lft-content .testimonial-slider .owl-nav { right: 24px; bottom: 24px; }
.elementor-480 .testimonial-lft-content .testimonial-slider .owl-nav button i {
  width: 40px; height: 40px; line-height: 40px;
  background-color: #fff; border-color: #BFDDE2; color: var(--vw-ink);
}
.elementor-480 .testimonial-lft-content .testimonial-slider .owl-nav button i:hover { background-color: #FFD33B; }
.elementor-480 .testimonial-rght-content .info-box { align-items: center; }
.elementor-480 .testimonial-rght-content .info-box .icon { flex: 0 0 64px; width: 64px; height: 64px; }
.elementor-480 .testimonial-rght-content .info-box .icon i { color: var(--vw-teal-text); font-size: 32px; }
.elementor-480 .testimonial-rght-content .info-box .title { max-width: none; min-width: 0; }
.elementor-480 .testimonial-rght-content .info-box .title h3 { font-size: 22px; line-height: 1.45; }
.elementor-480 .testimonial-rght-content .info-box .title > span { color: var(--vw-teal-text); }
.elementor-480 .testimonial-shape,
.elementor-480 .testimonial-rght-content .rating-box { display: none; }
/* More Choice: undo the demo's -295px overlap and give the copy its full column. */
.elementor-480 .about-more-image { padding: 0; margin: 0; }
.elementor-480 .about-more-image > img {
  display: block; width: 100%; height: 440px;
  object-fit: cover; object-position: 60% center; border-radius: 20px !important;
}
.elementor-480 .about-more-content { padding: 0; margin: 0; }
.elementor-480 .about-more-content .wrap { padding-left: 20px; border-left-color: var(--vw-teal); }
.elementor-480 .about-more-content .inner-more-content { margin: 20px 0 0 !important; }
.elementor-480 .about-more-content .inner-more-content > .row { margin: 0; }
.elementor-480 .about-more-content .inner-more-content > .row > .col-lg-4 {
  flex: 0 0 100%; width: 100%; max-width: 100%; padding: 0;
}
.elementor-480 .about-more-content p { margin-bottom: 16px; }
.elementor-480 .about-more-content p:last-child { margin-bottom: 0; }
/* Community images are photographs, not 80px icons. Keep the three cards aligned. */
.elementor-480 .why-choose-us-area .section-title { margin-bottom: 36px; max-width: 780px; }
.elementor-480 .why-choose-us-area .row > .col-lg-4 { display: flex; }
.elementor-480 .why-choose-us-card {
  display: flex; flex-direction: column; width: 100%; margin-bottom: 0;
}
.elementor-480 .why-choose-us-card > img {
  display: block; width: 100% !important; height: 240px !important;
  object-fit: cover; object-position: center;
  border-radius: 20px !important; margin-bottom: 24px;
}
.elementor-480 .why-choose-us-card h3 { font-size: 24px; line-height: 1.4; max-width: none; margin-bottom: 16px; }
.elementor-480 .why-choose-us-card p { max-width: none; margin-bottom: 20px; flex: 1; }
.elementor-480 .why-choose-us-card .link-btn,
.elementor-480 .testimonial-rght-content .info-box .title .link-btn {
  align-self: flex-start; color: var(--vw-teal-text); font-size: 15px; font-weight: 600;
}
.elementor-480 .link-btn:focus-visible,
.elementor-480 .testimonial-slider button:focus-visible { outline: 2px solid #267985; outline-offset: 4px; }
@media (min-width: 992px) {
  .elementor-480 .why-choose-us-card h3 { min-height: 2.8em; }
}
@media (max-width: 1199px) {
  .elementor-480 { --vw-space: 64px; }
  .elementor-480 .about-image.wrap-one { max-width: 620px; margin: 0 auto 32px; }
  .elementor-480 .about-content h2,
  .elementor-480 .testimonial-top-content h2,
  .elementor-480 .about-more-content h2,
  .elementor-480 .section-title h2 { font-size: 32px; }
  .elementor-480 .testimonial-area > .container > .row,
  .elementor-480 .about-more-area > .container > .row { --bs-gutter-x: 32px; }
  .elementor-480 .testimonial-lft-content .testimonial-card,
  .elementor-480 .testimonial-rght-content .info-box { padding: 24px; min-height: 260px; }
}
@media (max-width: 991px) {
  body.page-id-480 .page-banner-inner { padding: 32px !important; }
  .elementor-480 .testimonial-area > .container > .row,
  .elementor-480 .about-more-area > .container > .row,
  .elementor-480 .why-choose-us-area .row { row-gap: 32px; }
  .elementor-480 .about-more-image > img { height: auto; max-height: 440px; }
  .elementor-480 .testimonial-lft-content .testimonial-card,
  .elementor-480 .testimonial-rght-content .info-box { min-height: 0; }
  .elementor-480 .about-more-content { margin-top: 0; }
}
@media (max-width: 767px) {
  .elementor-480 { --vw-space: 48px; }
  body.page-id-480 .page-banner-inner { padding: 24px !important; }
  .elementor-480 .solution-inner { border-radius: 16px; }
  .elementor-480 .about-content h2,
  .elementor-480 .testimonial-top-content h2,
  .elementor-480 .about-more-content h2,
  .elementor-480 .section-title h2 { font-size: 28px; letter-spacing: -0.3px; }
  .elementor-480 .about-area > .container > .row,
  .elementor-480 .testimonial-area > .container > .row,
  .elementor-480 .about-more-area > .container > .row { --bs-gutter-x: 24px; }
  .elementor-480 .about-image.wrap-one { margin-bottom: 28px; }
  .elementor-480 .testimonial-lft-content > .image > img,
  .elementor-480 .testimonial-rght-content > .image > img { height: 280px; }
  .elementor-480 .testimonial-top-content,
  .elementor-480 .why-choose-us-area .section-title { margin-bottom: 28px; }
  .elementor-480 .testimonial-lft-content .testimonial-card,
  .elementor-480 .testimonial-rght-content .info-box { padding: 24px; }
  .elementor-480 .testimonial-rght-content .info-box .icon { flex-basis: 48px; width: 48px; height: 48px; }
  .elementor-480 .testimonial-rght-content .info-box .title { margin-left: 16px; }
  .elementor-480 .testimonial-rght-content .info-box .title h3 { font-size: 20px; }
  .elementor-480 .why-choose-us-card h3 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-480 *, .elementor-480 *::before, .elementor-480 *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
/* End Vision Works About Overview layout repair. */
