p {
  color: var(--text-light);
}

.carousel-content {
  min-height: 350px;
}

.card-text {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: black;
  color: rgb(33, 37, 41);
}

.shadow_nhs {
  box-shadow: 0 0.5rem 1rem rgba(0, 94, 184, 0.15) !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 69, 184, 0.7) !important;
}

.shadow_private {
  box-shadow: 0 0.5rem 1rem rgba(0, 52, 31, 0.15) !important;
  box-shadow: 0rem 0.5rem 1rem rgba(0, 100, 25, 0.7) !important;
}

.carousel-card {
  width: 80%;
  xxmargin-left: 10px;
  xxmargin-right: 10px;
	xxbackground-color: #e8f5eed9;
  background-color: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  margin: auto;
  margin-top: 8%;
	padding: 30px;
	border-radius: 20px;
}

.carousel-control-next, .carousel-control-prev {
	width: 50px;
}

:root {
  --green-dark: #1a4a2e;
  --green-mid: #2d7a4f;
  --green-bright: #3a9e63;
  --green-light: #e8f5ee;
  --green-pale: #f3faf6;
  --green-skel01: #00854f;
  --gold: #F7C600;
  --gold-light: #fef9ed;
  --cream: #fdfaf4;
  --charcoal: #1c2b22;
  --text: #2c3e30;
  --text-light: #5a7063;
  --white: #ffffff;
  --nhs-dblue: #003087;
  --nhs-blue: #005EB8;
  --nhs-light: #e8f0f9;
  --shadow-sm: 0 2px 12px rgba(26,74,46,0.08);
  --shadow-md: 0 8px 32px rgba(26,74,46,0.12);
  --shadow-lg: 0 20px 60px rgba(26,74,46,0.16);
  --radius: 16px;
  --radius-sm: 8px;
}

.btn-green-light {
  --bs-btn-color: var(--green-dark);
  --bs-btn-bg: var(--green-light);
  --bs-btn-border-color: var(--green-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--green-dark);
  --bs-btn-hover-border-color: var(--green-dark);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #009E5E;
  --bs-btn-active-border-color: #009E5E;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.btn-skel01 {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--green-skel01);
  --bs-btn-border-color: var(--green-skel01);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #009E5E;
  --bs-btn-hover-border-color: #009156;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #009E5E;
  --bs-btn-active-border-color: #009E5E;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.btn-nhs01 {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--nhs-blue);
  --bs-btn-border-color: var(--nhs-blue);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--nhs-dblue);
  --bs-btn-hover-border-color: var(--nhs-dblue);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--nhs-dblue);
  --bs-btn-active-border-color: var(--nhs-dblue);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.card-type.nhs {
  font-size: 0.8em;
  display: inline-flex;
  padding: 2px 8px;
  background-color: var(--nhs-blue);
  color: white;
  border-radius: 8px;
  margin-bottom: 5px;
}

.card-type.priv {
  font-size: 0.8em;
  display: inline-flex;
  padding: 2px 8px;
  background-color: var(--green-skel01);
  color: white;
  border-radius: 8px;
  margin-bottom: 5px;
}



a {
  color: var(--green-skel01);
  text-decoration: none;
}

a:hover {
  color: #05cf7d;
  text-decoration-line: underline;
}



.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--green-light); color: var(--green-dark);
  font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; padding: 6px 14px; border-radius: 99px;
  margin-bottom: 24px;
}
.hero-eyebrow span { width: 6px; height: 6px; border-radius: 50%; background: var(--green-bright); flex-shrink: 0; }

/* hidden by filter */
.service-card.hidden { display: none; }

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}

.service-card {
    transition: all 0.5s ease;
}

.service-card:hover {
    xxtransform: translateY(-8px);
    transform: scale(1.03) !important;
    xxbox-shadow: 8px 8px 20px #d1d1d1, -8px -8px 20px #ffffff;
}

.about-year {
  xxfont-family: 'Playfair Display', serif;
  font-size: 4.5rem;
  font-weight: 700;
  color: var(--green-bright);
  color: #54D288;
  line-height: 1;
  margin-bottom: 8px;
  margin-left: -10px;
}

.about-main-box {
  background: var(--green-skel01);
  border-radius: 24px;
  padding: 48px;
  color: white;
  position: relative;
  overflow: hidden;
  xxmargin: 10px;
}

.about-side-boxes {
  position: absolute;
  right: -30px;
  top: 30px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.about-mini {
  background: var(--green-light);
  border-radius: 14px;
  border: solid 1px var(--green-dark);
  padding: 16px 20px;
  box-shadow: var(--shadow-md);
  text-align: center;
  min-width: 130px;
  margin-top: 20px;
  margin-bottom: 10px;
  margin-left: -30px;
  margin-right: -30px;
  z-index: 2;
}

.about-mini .num {
  xxfont-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--green-mid);
}

.about-mini .lbl {
  font-size: 0.75rem;
  color: var(--text-light);
  margin-top: 2px;
}

.about-content {
  xxmargin-top: 20px;
}

.about-content p {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--text-light);
  margin-bottom: 20px;
}

.values-list {
  margin-top: 30px;
  list-style-image: url('img/pill-icon.png');
  xxlist-style-type: square;
}

.values-list li {
  font-size: 0.95rem;
  color: var(--text);
}

.values-list li::marker {
  color: var(--green-skel01);
}

.value-icon {
  width: 34px; height: 34px; border-radius: 10px;
  background: var(--green-light); color: var(--green-dark);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; flex-shrink: 0; margin-top: 1px;
}

.test1 {
    background-color: cyan;
    border: 1px solid black;
    padding: 20px;
  }


.contact-info {
    margin-bottom: 20px;
  }

.contact-icon {
    border-radius: 10px;
    background: var(--green-light);
    color: var(--green-skel01);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.1rem;
    flex-shrink: 0;
    border: 1px solid;
    max-width: 52px;
    max-height: 52px;
  }

.contact-row {
    margin-left: 0px;
  }

.contact-detail-text {
    padding-left: 20px;;
  }

.contact-detail-text a {
    xxtext-decoration: none;
  }

.contact-detail-text a:hover {
    xxtext-decoration: underline;
  }

.section-title {
    xxfont-family: 'Playfair Display', serif;
    font-size: clamp(1.5rem, 3.5vw, 3rem);
    font-weight: 600; 
    color: var(--green-skel01); 
    line-height: 1.2;
    margin-bottom: 16px;
  }

.section-subtitle {
    font-size: 1.05rem;
    color: var(--text-light);
    max-width: 540px;
    line-height: 1.7;
    margin-bottom: 20px;
  }

#googlemap {
    border-radius: 20px;
    overflow: hidden;
  }

.social-links {
	xxbackground: var(--green-light);
	xxborder: 1px solid var(--green-skel01);
	border-radius: var(--radius);
	xxpadding: 0px 40px;
	display: flex;
	align-items: center;
	xxjustify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-top: 50px;
}

.social-icon {
	max-height: 70px;
	padding-right: 2px;
}

.navbar {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.05rem;
  xxbackground: rgba(240, 240, 240, 0.9) !important;
  box-shadow: 0rem 0.5rem 1rem rgba(0, 100, 25, 0.7) !important;
  box-shadow: 0rem 0.2rem 0.9rem rgba(0, 100, 25, 0.3) !important;
}

.nav-link, .nav-link:hover, .nav-link:focus {
  color: var(--green-skel01);
}

.dropdown-item {
  font-size: 0.8rem;
  color: var(--green-skel01);
}


body {
  margin-top: 110px;
}

html {
  scroll-padding-top: 110px;
}

.navbar-brand img {
  max-width: 320px;
}

#info-top h1{
  color: var(--green-skel01);
  font-size: 3rem;
}

#info-top p {
  color: var(--text-light);
  font-size: 1.5rem;
}

.key-tag {
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 6px 14px;
  background: var(--green-light);
  border: var(--green-mid) 1px solid;
  border: var(--bs-gray-400) 1px solid;
  color: var(--green-dark);
  gap: 8px;
}


/* --------------------- */
/* Pharmacy First styles */
/* --------------------- */

.xext-bg-skel01 {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--green-light); color: var(--green-dark);
  color: var(--green-dark);
  font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; padding: 6px 14px; border-radius: 99px;
}

/* condition chips */
.condition-grid { 
  display: grid; 
  grid-template-columns: repeat(2, 1fr); 
  gap: 10px; 
  xxmargin: 16px 0; 
}

.condition-chip {
  background: white; 
  border: 1px solid rgba(45,122,79,0.12);
  border-radius: 10px; 
  padding: 12px 16px;
  display: flex; 
  align-items: start; 
  gap: 10px;
  box-shadow: var(--shadow-sm);
}

.cond-icon { 
  font-size: 1.5rem; 
  color: var(--blue-nhs);
  color: var(--green-skel01);
  padding-top: 5px;
}
.cond-name { font-size: 0.86rem; font-weight: 600; color: var(--charcoal); }
.cond-age { font-size: 0.74rem; color: var(--text-light); margin-top: 1px; }
.cond-desc { font-size: 0.74rem; color: var(--text-light); margin-top: 1px; }

/* ── CONTENT COMPONENTS ── */
.section-label-small {
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--green-mid); margin-bottom: 10px;
  display: flex; align-items: center; gap: 8px;
}
.section-label-small::before { content: ''; display: block; width: 20px; height: 2px; background: var(--green-mid); }

/* CTA strip */
.cta-strip {
  xxbackground: var(--green-skel01);
  background: var(--green-light);
  border: 1px solid var(--green-skel01);
  border-radius: var(--radius);
  padding: 36px 40px;
  display: flex; 
  align-items: center; 
  xxjustify-content: space-between;
  justify-content: left;
  gap: 24px; 
  flex-wrap: wrap;
  margin-top: 30px;
}

.cta-strip h3 { 
  xxfont-family: 'Playfair Display', serif; 
  font-size: 1.4rem; 
  color: var(--green-dark);; 
}

.cta-strip p { 
  font-size: 0.88rem; 
  color: rgba(0,0,0,0.7); 
  margin-top: 4px; 
}

.cta-actions { 
  display: flex; 
  gap: 12px; 
  flex-wrap: wrap; 
}

.cta-strip-text {
  padding-right: 40px;
}

.btn-white {
  background: white; 
  color: var(--green-skel01);
  padding: 12px 24px; 
  border-radius: 99px;
  font-size: 0.9rem; 
  font-weight: 700; 
  text-decoration: none;
  display: inline-flex; 
  align-items: center; 
  gap: 7px;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}


/* --------------------- */
/* Travel Clinic styles */
/* --------------------- */

.text-bg-lgold {
  xxdisplay: inline-flex;
  xxalign-items: center;
  xxgap: 8px;
  background: var(--gold-light) !important;
  border: gold 1px solid;
  xxcolor: var(--green-dark);
  xxletter-spacing: 0.08em;
  xxtext-transform: uppercase;
}

/* vaccine chips */
.vaccine-grid { 
  display: grid; 
  grid-template-columns: repeat(2, 1fr); 
  gap: 10px; 
  xxmargin: 16px 0; 
}

.vaccine-chip {
  background: white; 
  border: 1px solid rgba(45,122,79,0.12);
  border-radius: 10px; 
  padding: 20px 16px;
  display: flex; 
  align-items: start; 
  gap: 10px;
  box-shadow: var(--shadow-sm);
}

.vaccine-icon { 
  font-size: 1.5rem; 
  color: var(--blue-nhs);
  color: var(--green-skel01);
  xxpadding-top: 5px;
}
.vaccine-name { font-size: 0.86rem; font-weight: 600; color: var(--charcoal); }

/* info cards */
.info-card {
  background: white;
  border-radius: var(--radius-sm);
  padding: 22px 24px;
  box-shadow: var(--shadow-sm);
  border: 1px solid rgba(45,122,79,0.08);
  margin-bottom: 16px;
}
.info-card h4 {
  xxfont-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  color: var(--charcoal);
  margin-bottom: 8px;
}
.info-card p {
  font-size: 0.88rem;
  color: var(--text-light);
  line-height: 1.65;
}

.service_heading {
  font-size: 2.5em;
  font-weight: 600;
  text-shadow: 1px 1px 2px #ddd;
}

.service_heading.nhs {
  color: var(--nhs-blue);
}

.service_heading.priv {
  color: var(--green-skel01);
}

.gold-card {
  background: var(--gold-light);
  border-radius: var(--radius-sm);
  border: 1px solid rgba(201,168,76,0.25);
  padding: 22px 24px;
  margin-bottom: 16px;
}

.gold-card h4 {
  xxfont-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  color: var(--charcoal);
  margin-bottom: 8px;
}

.gold-card p {
	font-size: 0.88rem;
	color: #6b5520;
	line-height: 1.65;
}

.travel-icon {
  font-size: 1.2rem; 
  color: var(--green-skel01);
}


/* --------------------- */
/* Contraception styles */
/* --------------------- */

.contra-icon {
  font-size: 1.2rem; 
  color: var(--green-skel01);
  margin-right: 10px;
}


/* --------------------- */
/* Blood Pressure styles */
/* --------------------- */

.bp-status {
  display: flex;
  gap: 10px;
  xxalign-items: center;
  align-items: baseline;
  font-size: 0.88rem; 
  padding-bottom: 15px;
  padding-left: 15px;
}

.bp-icon {
  color: var(--green-skel01);
  font-weight: bold;
  line-height: 1.5;
	xxmargin-right: 8px;
	xxmargin-left: -30px;
}

.light-text {
  color: var(--text-light);
}


/* --------------------- */
/* Ear Clinic styles */
/* --------------------- */

.ear-status {
  display: flex;
  gap: 10px;
  xxalign-items: center;
  align-items: baseline;
  font-size: 0.9rem; 
  padding-bottom: 15px;
  padding-left: 15px;
}

.ear-icon {
  color: var(--green-skel01);
	margin-right: 5px;
	margin-left: -30px;
  font-weight: bold;
  xxwidth: 15px;
}

.ear-list-group-item {
	xmargin-left: 40px;
}


/* ------------- */
/* MEDIA QUERIES */
/* ------------- */

@media (min-width: 400px) {

}

@media (max-width: 1199.98px) {
  
  .navbar {
    font-size: 0.8rem;
    letter-spacing: 0.01rem;
  }

  .dropdown-item {
    font-size: 0.7rem;
  }

}


@media (max-width: 991.98px) {
  
  .services-grid {
    /* for small and medium screens 2 column services */
    grid-template-columns: repeat(2, 1fr);
  }

  .about-side-boxes { position: static;
    flex-direction: row;
    margin-top: 16px;
  }

  .about-mini {
    padding: 16px 20px;
    min-width: 90px;
    margin-top: 20px;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
  }

  .about-content {
    margin-top: 20px;
  }

  .navbar {
    xxfont-size: 0.7rem;
  }

  .dropdown-item {
    xxfont-size: 0.6rem;
  }

  .carousel-top {
    padding-top: 6rem !important;
  }

  .condition-grid { 
    grid-template-columns: 1fr; 
  }

  .cta-strip-text {
    padding-right: 120px;
  }


}


/* for mobiles */
@media (max-width: 767.98px) {
  .cta-strip-text {
    padding-right: 40px;
  }

}



/* for mobiles */
@media (max-width: 575.98px) {

  .hero-eyebrow {
    font-size: 0.6rem; font-weight: 600; letter-spacing: 0.08em;
    text-transform: uppercase; padding: 6px 14px; border-radius: 99px;
    margin-bottom: 14px;
  }

  #xtop-section {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  
  #carousel-top {
    padding-right: 8px !important;
    padding-left: 8px !important;
    xxpadding-top: 3rem !important;
  }

  .xxcarousel-inner {
    border-radius: 0px !important;
  }

  .btn {
    font-size: 0.8rem;
  }

  .services-grid {
    /* for mobile screens 1 column services */
    grid-template-columns: 1fr;
  }

  .vaccine-grid { 
    grid-template-columns: 1fr;
  }

  .edge-to-edge-mobile {
    xxmargin-right: -12px; /* Counteracts Bootstrap row negative margin */
    xxmargin-left: -12px;  /* Counteracts Bootstrap row negative margin */
    xxwidth: calc(100% + 24px); /* Forces full width expansion */
    margin-right: calc(-0.5 * var(--bs-gutter-x)); /* Counteracts Bootstrap row negative margin */
    margin-left: calc(-0.5 * var(--bs-gutter-x));  /* Counteracts Bootstrap row negative margin */
    width: calc(100% - calc(-1 * var(--bs-gutter-x)) ); /* Forces full width expansion */
    border-radius: 0 !important; /* Removes rounded corners on mobile if any */
  }

  #top-section {
    xxpadding-top: 0 !important;
  }
  
  .navbar {
  }

  .navbar-brand img {
    max-width: 220px;
  }

  body {
    margin-top: 79px;
  }
  
  html {
    scroll-padding-top: 79px;
  }

  #info-top h1{
    font-size: revert;
  }

  #info-top p {
    font-size: revert;
  }

  .carousel-control-next, .carousel-control-prev {
    width: 30px;
  }

  .carousel-card {
    margin-left:  15%;
    margin-right: 15%;
    margin-top: 8%;
    padding: 22px;
  }

  .carousel-indicators {
    margin-bottom: 0.5rem;
  }

  .cta-strip-text {
    padding-right: 0px;
  }

  .social-icon {
    max-height: 60px;
  }

}

