/* ------------------------------------------------------------------
   Hand-made tweaks that sit on top of the Medicoz theme CSS.
   Keep customisations here rather than editing the theme files, so
   they stay easy to find.
   ------------------------------------------------------------------ */

/* Logo size -------------------------------------------------------- */
/* The theme caps the header logo at 55px tall. The artwork is 600x225,
   so it has plenty of resolution to go larger; the header's top row is
   ~126px tall, which leaves room. Adjust the max-height values below to
   taste - width follows automatically to keep the aspect ratio. */

.medicoz_header .site-header__header-one .navbar-brand img,
.site-header .navbar-brand img.main-logo {
  max-height: 85px;
  height: auto;
  width: auto;
}

/* tablet */
@media (max-width: 991px) {
  .medicoz_header .site-header__header-one .navbar-brand img,
  .site-header .navbar-brand img.main-logo {
    max-height: 72px;
  }
}

/* phones - keep it clear of the burger menu */
@media (max-width: 767px) {
  .medicoz_header .site-header__header-one .navbar-brand img,
  .site-header .navbar-brand img.main-logo {
    max-height: 58px;
  }
}

/* Doctor cards ----------------------------------------------------- */
/* The theme's name tag is a 100px white box sized to the text, which
   covers a chunk of the photo and grows on hover. Make it a slim bar
   that spans the full width of the photo, sitting on its bottom edge. */

.team5 .team5_single img {
  display: block;
  width: 100%;
  height: auto;
}

.team5 .team5_doctor-name,
.team5 .team5_single:hover .team5_doctor-name {
  float: none;
  width: 100%;
  min-width: 0;
  height: auto;
  padding: 14px 16px;
  text-align: center;
  background: rgba(255, 255, 255, 0.94);
  border-top: 3px solid #00329d;
}

.team5 .team5_doctor-name h3,
.team5 .team5_doctor-name h3 a {
  font-size: 20px;
  margin: 0;
}

/* empty subtitle and social row - drop them so the bar stays slim */
.team5 .team5_doctor-name p:empty,
.team5 .team5_single:hover .team5_social-doc {
  display: none;
}

/* The theme zeroes the column padding, so the photos touch. Put a
   gutter back between them; the row's negative margin keeps the outer
   edges lined up with the rest of the page. */
.team5 .row {
  margin-left: -12px;
  margin-right: -12px;
}

.team5 .col-lg-4.col-md-4.col-xs-12 {
  padding-left: 12px;
  padding-right: 12px;
}

/* Patient reviews carousel ------------------------------------------ */
/* The reviews vary a lot in length. Stretch every card to the height of
   the tallest one so the row stays even, and push the quote mark to the
   right now that there is no reviewer photo beside the heading. */

.happy-slider .owl-stage {
  display: flex;
}

.happy-slider .owl-item {
  display: flex;
}

.happy-slider .happy-single-slider {
  width: 100%;
  min-height: 0;
}

/* the theme forces avatars to 106px; these are smaller, generic ones */
.happy-slider .happy-slider-title img.review-avatar {
  width: 64px !important;
  height: 64px !important;
  flex: 0 0 64px;
}

.happy-slider .quote {
  margin-left: auto;
  font-size: 30px;
  line-height: 1;
  color: #d9dee8;
}

/* Our Team page cards (.home_team) ---------------------------------- */
/* A different theme card from the home page: grey box, big name that
   wraps, uneven heights. Match the home page look instead - white card,
   slim name bar under the photo, equal heights across a row. */

.home_team .row {
  display: flex;
  flex-wrap: wrap;
}

.home_team .row > [class*="col-"] {
  display: flex;
}

.home_team .doc-box {
  display: flex;
  flex-direction: column;
  float: none;
  padding-bottom: 0;
  background: #fff;
  border: 1px solid #e6e8ec;
}

.home_team .product-box {
  float: none;
  margin-bottom: 0;
}

.home_team .product-box img {
  display: block;
  width: 100%;
  height: auto;
}

.home_team .doc-box h3 {
  margin: 0;
  margin-top: auto;
  padding: 14px 16px;
  border-top: 3px solid #00329d;
  font-size: 20px;
  line-height: 1.3;
}

/* empty role line, and the hover overlay that only holds an empty
   social-links list (it just darkens the photo) */
.home_team .doc-box h6:empty,
.home_team .product-box .pro-text {
  display: none;
}

/* Privacy policy "current as of" date (accreditation requirement) --- */

.sm-policy-date {
  width: 100%;
  margin: 0 0 18px;
  font-size: 16px;
  color: #08172e;
  text-align: center;
}

/* Home: where to get care when the clinic is closed ----------------- */
/* Sits under the "Have any questions" phone number in the services
   band. Three rows: clinic hours, after hours / public holidays (13
   SICK), and emergencies (000), the last one flagged in brand pink. */

/* Lined up with the "Have any questions" row above it: the theme insets
   that row's text 100px inside the 1140px container on desktop (the
   button sits a matching distance from the right), and 15px at tablet
   width and below. */
.sm-care-guide {
  box-sizing: border-box;
  width: 100%;
  max-width: 940px;
  margin: 45px auto 0;
  padding: 26px 30px;
  background: #fff;
  border-top: 4px solid #00b3ad;
  box-shadow: 0 4px 18px rgba(8, 23, 46, 0.08);
}

.sm-care-guide h3 {
  margin: 0 0 16px;
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #08172e;
}

.sm-care-guide ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sm-care-guide li {
  padding: 14px 16px;
  background: #f4f7fb;
  border-left: 4px solid #00329d;
  font-size: 15px;
  line-height: 1.55;
  color: #3b4452;
}

.sm-care-guide li.sm-care-emergency {
  border-left-color: #de2068;
}

.sm-care-guide .sm-care-when {
  display: block;
  margin-bottom: 4px;
  font-weight: 700;
  color: #08172e;
}

.sm-care-guide a {
  font-weight: 700;
  color: #00329d;
  white-space: nowrap;
}

.sm-care-guide .sm-care-emergency a {
  color: #de2068;
}

@media (max-width: 1024px) {
  .sm-care-guide {
    width: auto;
    max-width: none;
    margin: 40px 15px 0;
  }
}

@media (max-width: 991px) {
  .sm-care-guide ul {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .sm-care-guide {
    margin-top: 30px;
    padding: 20px 18px;
  }
}

/* Home: MyMedicare promotion ---------------------------------------- */

.sm-mymedicare {
  margin-top: 70px;
  padding: 70px 0;
  background: #f2f8f4;
}

/* the page wrapper is boxed, so round the panel rather than let it
   look clipped */
@media (min-width: 1200px) {
  .sm-mymedicare {
    border-radius: 10px;
  }
}

.sm-mymedicare__inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 48px;
  align-items: center;
}

.sm-eyebrow {
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #00b3ad;
}

.sm-mymedicare__logo {
  display: block;
  width: 220px;
  height: auto;
  margin-bottom: 20px;
}

.sm-mymedicare h2 {
  margin: 0 0 16px;
  font-family: "Poppins", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  color: #0b4f25;
}

.sm-mymedicare p {
  font-size: 16px;
  line-height: 1.65;
  color: #3b4452;
}

.sm-mymedicare__cta {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 22px;
}

.sm-mymedicare__qr {
  flex: 0 0 auto;
  padding: 8px;
  background: #fff;
  border: 1px solid #d5e3da;
  border-radius: 8px;
}

.sm-mymedicare__qr img {
  display: block;
  width: 132px;
  height: 132px;
}

.sm-mymedicare .sm-mymedicare__scan {
  margin: 0 0 12px;
  font-weight: 600;
  color: #08172e;
}

.sm-btn {
  display: inline-block;
  padding: 12px 26px;
  background: #00329d;
  border-radius: 4px;
  font-weight: 600;
  color: #fff;
}

.sm-btn:hover,
.sm-btn:focus {
  background: #00b3ad;
  color: #fff;
  text-decoration: none;
}

.sm-mymedicare__photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

@media (max-width: 991px) {
  .sm-mymedicare__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .sm-mymedicare h2 {
    font-size: 26px;
  }
}

@media (max-width: 480px) {
  .sm-mymedicare {
    padding: 48px 0;
  }

  .sm-mymedicare__cta {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Home: partners & providers logos ----------------------------------- */

.sm-partners {
  padding: 60px 0 70px;
  background: #fff;
}

.sm-partners h2 {
  margin: 0 0 32px;
  font-family: "Poppins", sans-serif;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  color: #08172e;
}

.sm-partners__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sm-partners__list a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 150px;
  padding: 20px 28px;
  background: #fff;
  border: 1px solid #dcdfe4;
  transition: box-shadow 0.2s, border-color 0.2s;
}

.sm-partners__list a:hover,
.sm-partners__list a:focus {
  border-color: #00b3ad;
  box-shadow: 0 4px 16px rgba(8, 23, 46, 0.1);
}

.sm-partners__list img {
  display: block;
  max-width: 100%;
  max-height: 80px;
  width: auto;
  height: auto;
}

@media (max-width: 767px) {
  .sm-partners h2 {
    font-size: 26px;
  }

  .sm-partners__list {
    grid-template-columns: 1fr;
  }

  .sm-partners__list a {
    height: 120px;
  }
}
