/* ----------------------------------------------------------------
	mtm: Theme
-----------------------------------------------------------------*/


:root,.not-dark {
	--cnvs-themecolor: #2c4662;
	--cnvs-themecolor-rgb: 44, 70, 98;


	--cnvs-themecolor-2: #5581b0;
	--cnvs-themecolor-2-rgb: 85, 129, 176;

	--cnvs-color-yellow: #4c9bf3;

	--cnvs-primary-font: 'DM Sans', Sans-Serif;
	--cnvs-body-font: 'Rubik', sans-serif;

	--cnvs-section-bg: #e9f1f9;
}

/* Sup CSS */
.shape-divider-fill {
	fill: var(--bs-white);
}

#content {
	background-color: var(--bs-white);
}

.dark {
	--cnvs-header-bg: var(--cnvs-themecolor-darker);
	--cnvs-header-sticky-bg: transparent;
	--cnvs-footer-bg: var(--cnvs-themecolor-darker);
}

#header {
	--cnvs-primary-menu-font: var(--cnvs-body-font);
	--cnvs-primary-menu-font-weight: 600;
	--cnvs-primary-menu-color: var(--cnvs-contrast-800);
	--cnvs-primary-menu-hover-color: var(--cnvs-contrast-1000);
	--cnvs-primary-menu-tt:	none;
	--cnvs-primary-menu-ls:	0;
	--cnvs-primary-menu-font-size: 1rem;
	--cnvs-header-misc-icons-size: 1.5rem;
}

.is-expanded-menu .menu-link {
	--cnvs-primary-menu-padding-x: 20px;
}

.slider-element {
	margin-top: -1px;
	background-color: var(--cnvs-themecolor-darker);
}

#header-wrap .container {
	background-color: var(--cnvs-themecolor);
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    --bs-gutter-x: 40px;
}


/* Orig CSS */
.hero-diagonal {
	position: absolute;
	width: 100%;
	height: 50%;
	left: 0;
	bottom: 0;
	clip-path: polygon(0 82%, 100% 0, 100% 100%, 0% 100%);
	background-color: var(--cnvs-themecolor);;
}

.iconlist li i {
	--cnvs-iconlist-size: 1.5rem;
	--cnvs-iconlist-offset: 4px;
	font-size: var(--cnvs-iconlist-size);
}

.header-misc-element,
.header-misc-icon {
	margin: 0 12px;
}




.slider-element {
	margin-top: -1px;
}

.bg-color-2,
.h-bg-color-2:hover {
	background-color: rgba(var(--cnvs-themecolor-2-rgb), var(--bs-bg-opacity, 1)) !important;
}

.bg-color-2[class*=bg-opacity-],
.h-bg-color-2[class*=bg-opacity-]:hover {
	background-color: rgba(var(--cnvs-themecolor-2-rgb), var(--bs-bg-opacity, 1)) !important;
}

.color-2,
.h-color-2:hover {
	color: rgba(var(--cnvs-themecolor-2-rgb), var(--bs-text-opacity, 1)) !important;
}

.color-yellow,
.h-color-yellow:hover {
	color: var(--cnvs-color-yellow) !important;
}

#header {
	--cnvs-primary-menu-font-size: 1.125rem;
	--cnvs-primary-menu-font-weight: 400;
	--cnvs-primary-menu-tt: none;
	--cnvs-primary-menu-ls: 0;
	--cnvs-primary-menu-hover-color: var(--cnvs-themecolor-2);
}

.hero-card {
	position: absolute;
	bottom: 10%;
}
#top-bar {
    background-color: #3c77ac91 !important;}
.top-links-item > a {
    padding: 2px !important;}


@media (max-width: 991.98px) {
	.hero-card {
		position: relative;
		transform: none !important;
		margin-top: 20px;
		width: max-content !important;
	}
	  #logo { max-width: 160px !important; }
	  #logo img.logo-default,
	  #logo img.logo-dark {
	    height: auto !important;
	    width: auto !important;
	    max-height: 100% !important;   /* tweak as needed */
	    max-width: 160px !important;
	    object-fit: contain;
	  }
}

.bootstrap-select {
	position: relative;
    flex: 1 1 auto;
    width: 1% !important;
    min-width: 0;
}

.dropdown-menu {
	width: max-content;
	min-width: max-content;
}

.bootstrap-select .btn-light {
	--bs-btn-active-bg: transparent;
	--bs-btn-bg: transparent;
	--bs-btn-hover-bg: transparent;
	--bs-btn-border-width: 0;
	--bs-btn-focus-box-shadow: none;
}

.bootstrap-select .dropdown-toggle:focus {
	outline: 0 !important;
}

.bootstrap-select .dropdown-item:hover,
.bootstrap-select .dropdown-item:focus,
.bootstrap-select .dropdown-item.selected {
	background-color: var(--cnvs-section-bg);
	color: #111;
}

.hand-mobile-img {
	--cnvs-hand-mobile-img-size: 180px;
	--cnvs-hand-mobile-img-right: 0px;
    position: absolute;
	width: var(--cnvs-hand-mobile-img-size);
    height: var(--cnvs-hand-mobile-img-size);
    top: calc(-1 * var(--cnvs-hand-mobile-img-size));
    right: var(--cnvs-hand-mobile-img-right);
    z-index: -1;
	object-fit: contain;
}

@media (min-width: 992px) {
	.hand-mobile-img {
		--cnvs-hand-mobile-img-size: 280px;
		--cnvs-hand-mobile-img-right: 100px;
	}
}

.slider-gradient-bg {
	background-image: linear-gradient(90deg, #26434d29, #FDFAEF);
}




.services-categories .services-category-item a:hover {
	background-color: var(--cnvs-themecolor);
	color: rgba(255,255,255,0.6);
}

.services-categories .services-category-item a:hover h4 {
	color: #FFF;
}

#categories-tab.nav-pills {
	--bs-nav-pills-link-active-bg: var(--cnvs-themecolor);
	gap: 10px;
}

#categories-tab .nav-link:not(.active) {
	background-color: var(--cnvs-themecolor-2);
}

.underliner {
    --cnvs-underliner-size: 50%;
	--cnvs-underliner-color: var(--cnvs-themecolor-2-rgb);
	--cnvs-underliner-opacity: 1;
}

.doctor-lists h4 {
	font-size: 1.125rem;
}

.doctor-lists small {
	font-size: 0.925rem;
	opacity: 0.7;
}

.widget-img::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 80%;
	left: 0;
	bottom: 0;
	z-index: -1;
	background-color: var(--cnvs-themecolor);
	border-radius: 12px;
}

/* ===============================
   JS-FREE: Centered, auto-fit nav
   =============================== */

/* Make the nav measure itself for container queries */
@media (min-width: 992px) {
  #header .header-row {
    display: flex;
    align-items: center;
  }

  /* Critical: nav owns remaining space, can shrink */
  #header nav.primary-menu {
    flex: 1 1 auto;
    min-width: 0;
    container-type: inline-size; /* enables @container below */
  }

  /* Center the items in the available nav space */
  #header nav.primary-menu .menu-container {
    display: flex;
    align-items: center;
    justify-content: center;      /* <-- centered */
    flex-wrap: nowrap;            /* prefer one line */
    gap: clamp(8px, 1.2vw, 18px); /* responsive spacing */
    min-width: 0;
  }

  /* Base responsive sizing via clamp() */
  #header nav.primary-menu .menu-link {
    white-space: nowrap;
    font-size: clamp(0.90rem, 0.55vw + 0.65rem, 1.125rem);
    padding-inline: clamp(10px, 1.2vw, 20px);
    letter-spacing: 0; /* keep your var if you use one */
  }

  /* If it still gets tight, progressively shrink based on the nav’s own width */
  @container (max-width: 820px) {
    #header nav.primary-menu .menu-container { gap: clamp(6px, 1vw, 14px); }
    #header nav.primary-menu .menu-link { font-size: clamp(0.85rem, 0.45vw + 0.62rem, 1.05rem);
                                          padding-inline: clamp(8px, 1vw, 16px); }
  }

  @container (max-width: 700px) {
    #header nav.primary-menu .menu-container { gap: clamp(4px, 0.8vw, 12px); }
    #header nav.primary-menu .menu-link { font-size: clamp(0.80rem, 0.4vw + 0.58rem, 1rem);
                                          padding-inline: clamp(6px, 0.8vw, 14px); }
  }

  /* Last resort: allow a neat two-line wrap, still centered */
  @container (max-width: 560px) {
    #header nav.primary-menu .menu-container {
      flex-wrap: wrap;
      row-gap: 4px;
    }
  }
}
