/* Fonts */
@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");

/*==== Default Style :: Start ====*/
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
strong,
i,
ol,
ul,
li,
form,
label,
footer,
header,
menu,
nav,
section {
  margin: 0;
  padding: 0;
}

:root {
  --primary-bg: #06b6b4;
  --primary-text: #212b36;
  --hover-accent: #09b2b5;
}

body {
  overflow-x: hidden;
  font-family: "Public Sans", sans-serif;
}
main {
  overflow-x: hidden;
}
ol,
ul {
  list-style: none;
}

a {
  text-decoration: none;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}

p,
span {
  font-size: 16px;
  line-height: 26px;
}

button:focus,
a:focus,
input:focus,
textarea:focus,
select:focus {
  outline: none;
}

/* Container */
.container {
  max-width: 1520px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
/*==== Default Style :: End ====*/

/* ============================================================================
                                Navbar Part Start
  ============================================================================ */
/* Navbar */
nav.navbar {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #fff;
  transition: box-shadow 0.2s ease;
}
nav.navbar.shadow {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.nav-inner {
  width: 100%;
  padding: 16px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.navbar_logo {
  width: 230px;

  img {
    word-break: 100%;
    max-width: 100%;
    height: auto;
  }
}

/* Nav links */
.nav-links {
  display: flex;
  gap: 40px;
  list-style: none;
  align-items: center;
  font-size: 18px;
}
.nav-links a {
  padding: 6px 2px;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
  color: var(--primary-text);
}
.nav-links a:hover {
  color: var(--primary-bg);
  border-bottom-color: var(--primary-bg);
}
.nav-links a.active {
  color: var(--primary-bg);
  border-bottom-color: var(--primary-bg);
}

/* Right-side buttons */
.nav-actions {
  display: flex;
  gap: 18px;
  align-items: center;
}

/* Cart icon + badge */
.cart {
  position: relative;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
}
.cart svg {
  width: 22px;
  height: 22px;
}
.cart-badge {
  position: absolute;
  top: -6px;
  left: 18px;
  background: var(--primary-bg);
  color: white;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  border-radius: 50%;
}

/* Account button */
.account-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--primary-bg);
  color: white;
  cursor: pointer;
  border: 1px solid transparent;
  font-size: 16px;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.account-btn:hover {
  background: transparent;
  color: var(--hover-accent);
  border-color: var(--primary-bg);
}
.account-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* Dropdown */
.dropdown {
  position: relative;
}
.dropdown-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 160px;
  background: white;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  padding: 8px 6px;
  display: none;
  z-index: 1000;
}
.dropdown-menu.show {
  display: block;
}
.dropdown-item {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  color: var(--primary-text);
}
.dropdown-item:hover {
  background: #f3f4f6;
  color: var(--primary-bg);
}
.dropdown-item svg {
  width: 20px;
  height: 20px;
}
/* ============================================================================
                                Navbar Part End
  ============================================================================ */

/* ============================================================================
                                Footer Part Start
  ============================================================================ */
.footer-bg {
  background-color: #09b2b5;
  color: white;
  padding-top: 68px;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 40px;
  padding: 48px 0;
}

.footer-logo-section {
  grid-column: span 2;
  max-width: 250px;
}

.footer-logo-wrapper {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.footer-logo {
  width: 100%;
  max-width: 100%;
}

.footer-description {
  margin-top: 1rem;
}

.social-icons {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

.social-icon {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border: 1px solid white;
  border-radius: 50%;
  transition: all 0.3s ease;
  cursor: pointer;
  transition: all linear 0.3s;
}

.social-icon i {
  color: #fff;
  transition: all linear 0.3s;
}

.social-icon:hover i {
  color: var(--primary-bg);
}

.social-icon:hover {
  background-color: white;
  color: #101828;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.footer-section h6 {
  font-size: 1.125rem;
  font-weight: 600;
}

.footer-section ul {
  list-style: none;
  padding: 0;
  margin-top: 1.5rem;
}

.footer-section li {
  margin-bottom: 1rem;
}

.footer-section a {
  color: white;
  text-decoration: none;
}

.footer-section a:hover {
  text-decoration: underline;
}

.divider {
  border: 1px solid rgba(223, 227, 232, 0.25);
}

.footer-bottom {
  padding: 2rem 0;
  text-align: center;
}
/* ============================================================================
                                Footer Part End
  ============================================================================ */

/* ============================================================================
                            Revolution Part Start
  ============================================================================ */
#revolution {
  padding: 120px 0;
}
.revolution-content {
  text-align: center;
  max-width: 60%;
  margin: 0 auto;
}
.revolution-title {
  color: #212b36;
  text-align: center;
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 64px;
}
.revolution-description {
  color: #454f5b;
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  margin-top: 20px;
}
.revolution-item-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 50px;
}
.revolution-item {
  width: 100%;
  padding: 20px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.03);
  border: 1px solid #f3f4f6;
}
.revolution-item-header {
  display: flex;
  gap: 24px;
  margin-bottom: 20px;
}
.revolution-item-number {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--primary-bg);
  display: flex;
  align-items: center;
  justify-content: center;
}
.revolution-item-number-text {
  color: #fff;
  text-align: center;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}
.revolution-item-title-text {
  color: #000;
  font-size: 32px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
}
.revolution-item-subtitle {
  width: fit-content;
  border-radius: 50px;
  padding: 8px 16px;
  background: rgba(9, 178, 181, 0.1);
  color: var(--primary-bg);
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  margin-top: 12px;
}
.revolution-item-paragraph {
  color: #4b5563;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}
.revolution-item-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
}
.revolution-item-tag {
  width: fit;
  border-radius: 50px;
  padding: 8px 16px;
  background: #f3f4f6;
  color: #4b5563;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  transition: all linear 0.3s;
  cursor: pointer;

  &:hover {
    background: rgba(9, 178, 181, 0.1);
    color: var(--primary-bg);
  }
}
/* ============================================================================
                            Revolution Part End
  ============================================================================ */

/* ============================================================================
                                Hero Part Start
  ============================================================================ */
#hero {
  background: rgba(9, 178, 181, 0.05);
  padding: 150px 0;
}

.hero-grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  align-items: center;
}

.hero-content {
  width: 50%;
}

/* Left column */
.hero-title {
  color: #303030;
  font-size: 50px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

.hero-title .accent {
  color: var(--primary-bg);
  font-size: 50px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

.hero-desc {
  color: #2f4158;
  font-size: 20px;
  margin-top: 8px;
  max-width: 700px;
}

/* Buttons row */
.hero-actions {
  display: flex;
  gap: 16px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 1px solid var(--primary-bg);
  user-select: none;
}

.btn-primary {
  background: var(--primary-bg);
  color: #fff;
}
.btn-primary:hover {
  background: transparent;
  color: var(--primary-bg);
  transform: translateY(-1px);
}

.btn-outline {
  background: transparent;
  color: var(--primary-bg);
}
.btn-outline:hover {
  background: var(--primary-bg);
  color: #fff;
  transform: translateY(-1px);
}

.btn .arrow {
  display: inline-block;
  transition: transform 0.3s ease, color 0.3s ease;
  vertical-align: middle;
}
.btn-primary:hover .arrow {
  transform: translateX(6px);
  color: var(--primary-bg);
}

.hero-image {
  width: 50%;
}

/* Image styling */
.hero-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
/* ============================================================================
                                Hero Part End
  ============================================================================ */

/* ============================================================================
                          Our Medical Experts Part Start
  ============================================================================ */

.doctors-section {
  padding-top: 112px;
  padding-bottom: 112px;
}

/* Header area */
.doctors-header {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.doctors-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.doctors-title {
  font-size: 28px; /* text-4xl approx */
  font-weight: 600;
  color: #000;
}

.doctors-sub {
  color: #6b7280;
  font-size: 18px; /* text-xl */
}

/* View All button (outline) */
.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  border-radius: 10px;
  border: 1.5px solid var(--primary-bg);
  color: var(--primary-bg);
  background: transparent;
  cursor: pointer;
  font-weight: 500;
  transition: transform 0.12s ease, background 0.18s ease, color 0.18s ease;
  font-size: 16px;
}
.btn-outline:hover {
  background: var(--primary-bg);
  color: #fff;
  transform: translateY(-2px);
}
.btn-outline:active {
  transform: scale(0.97);
}

/* Grid system: emulate 12 columns */
.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
  margin-top: 56px; /* mt-14 ~ 56px */
}

/* Card base */
.doctor-card {
  border-radius: 12px;
  overflow: hidden;
  border: 1.5px solid #f0f0f0;
  background: #fff;
  display: flex;
  flex-direction: column;
}

/* Column spans (col-span-3) */
/* We'll use helper classes col-span-3 etc, but JS adds class for each card */
.col-span-12 {
  grid-column: span 12 / span 12;
}
.col-span-6 {
  grid-column: span 6 / span 6;
}
.col-span-4 {
  grid-column: span 4 / span 4;
} /* rarely used */
.col-span-3 {
  grid-column: span 3 / span 3;
} /* default on large screens */

/* Image */
.doc-image {
  width: 100%;
  height: 300px;
  overflow: hidden;
  background: #f3f4f6;
}
.doc-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Card body */
.doc-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.doc-name {
  font-size: 20px; /* text-2xl */
  font-weight: 600;
  color: #0f172a;
}
.doc-role {
  font-size: 18px;
  color: #6b7280;
  padding-top: 6px;
  padding-bottom: 10px;
}

/* Full width booking button */
.btn-book {
  width: 100%;
  padding: 10px 14px;
  border-radius: 5px;
  background: var(--primary-bg);
  color: #fff;
  border: none;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  transition: transform 0.12s ease, background 0.12s ease;
}
.btn-book:hover {
  background: rgba(9, 178, 181, 0.9);
  transform: translateY(-2px);
}
.btn-book:active {
  transform: scale(0.98);
}
/* ============================================================================
                          Our Medical Experts Part End
  ============================================================================ */

/* ============================================================================
                              Shop Banner Part Start
  ============================================================================ */
.shop-section {
  background-color: #f0fafb;
  padding-top: 9rem;
  padding-bottom: 9rem;
}

.shop-container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 1rem;
}

.shop-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}

.shop-heading {
  color: #000000;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.2;
}

.shop-description {
  font-size: 1.25rem;
  font-weight: 400;
  color: #2f4158;
  max-width: 800px;
}
/* ============================================================================
                              Shop Banner Part End
  ============================================================================ */

/* ============================================================================
                            Test Kit Detils Part Start
  ============================================================================ */
:root {
  --primary-bg: #06b6b4;
  --text-black: #0b0b0b;
  --muted: #6b7280;
  --border-gray: #dbdbdb;
  --card-border: #f0f0f0;
  --container-max: 1160px;
}

.kit-container {
  display: flex;
  gap: 48px;
  padding: 80px 0;
  align-items: center;
  flex-wrap: wrap;
}

.kit-image-wrapper {
  width: 700px;
  height: 600px;
  overflow: hidden;
  border-radius: 8px;
  flex-shrink: 0;
}

.kit-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kit-details {
  max-width: 500px;
}

.kit-title {
  font-size: 2.5rem;
  font-weight: 600;
  color: #000;
}

.kit-description {
  font-size: 1.25rem;
  color: #6c6c6c;
  padding-top: 1rem;
}

.kit-price {
  font-size: 2.5rem;
  font-weight: 600;
  color: #000;
  padding: 20px 0;
}

.kit-features {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 32px;
}

.kit-feature-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.kit-check {
  font-size: 1.5rem;
  color: #00aeb1;
  flex-shrink: 0;
}

.kit-feature-text {
  font-size: 1.25rem;
  color: #000;
}

.kit-quantity-section {
  margin-top: 20px;
}

.kit-quantity-label {
  font-size: 1rem;
  color: #6c6c6c;
  padding-bottom: 8px;
}

.kit-quantity-controls {
  display: flex;
  align-items: center;
  gap: 20px;
}

.kit-quantity-box {
  width: 160px;
  padding: 16px;
  border: 1.5px solid #dbdbdb;
  border-radius: 100px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.kit-btn-minus,
.kit-btn-plus {
  width: 32px;
  height: 32px;
  font-size: 1.25rem;
  border-radius: 50%;
  border: 1px solid #dbdbdb;
  background-color: #fff;
  cursor: pointer;
}

.kit-btn-minus:hover,
.kit-btn-plus:hover {
  background-color: #f3f3f3;
}

#kit-quantity-value {
  font-size: 1.25rem;
  font-weight: bold;
  color: #000;
}

.kit-add-to-cart {
  background-color: #00aeb1;
  color: white;
  font-size: 1.25rem;
  font-weight: 600;
  padding: 16px 24px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  flex-grow: 1;
}

.kit-add-to-cart:hover {
  background-color: #09b2b5e6;
}

/* ============================================================================
                            Test Kit Detils Part End
  ============================================================================ */

/* ============================================================================
                  Customized Galenic Supplements Start Part Start
  ============================================================================ */

/* Page background */
.sup-page-bg {
  background-color: #fafafa;
  padding: 112px 0;
}

/* Header */
.sup-header {
  text-align: center;
  margin-bottom: 48px;
}

.sup-title {
  font-size: 3rem;
  font-weight: 700;
  color: #111927;
}

.sup-subtitle {
  font-size: 1.25rem;
  color: #454f5b;
}

/* Product grid */
.sup-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 32px;
}

/* Product card */
.sup-card {
  background-color: white;
  border: 1px solid #f0f0f0;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.sup-card-img-wrapper {
  height: 320px;
  overflow: hidden;
}

.sup-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sup-card-body {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sup-card-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #252c32;
}

.sup-card-desc {
  font-size: 1.25rem;
  color: #6c6c6c;
  padding: 12px 0 20px;
  flex-grow: 1;
}

.sup-card-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sup-card-price {
  font-size: 1.25rem;
  font-weight: 600;
  color: #00aeb1;
  text-transform: uppercase;
}

.sup-card-btn {
  font-size: 1.125rem;
  font-weight: 500;
  background-color: #00aeb1;
  color: white;
  padding: 12px 20px;
  border: none;
  cursor: pointer;
  border-radius: 6px;
}

.sup-card-btn:hover {
  background-color: #09b2b5e6;
}

/* Pagination */
.sup-pagination {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-top: 80px;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  width: fit-content;
  margin-inline: auto;
}

.sup-page-btn {
  padding: 10px 20px;
  border: none;
  cursor: pointer;
  background: white;
  color: #333;
  font-size: 1rem;
  transition: 0.3s;
}

.sup-page-btn:hover,
.sup-page-btn.active {
  background-color: #00aeb1;
  color: white;
}

/* ============================================================================
                  Customized Galenic Supplements Start Part End
  ============================================================================ */

/* ============================================================================
                Need Help Choosing the Right Solution? Part Start
  ============================================================================ */

/* Section padding */
.doc-section {
  padding: 112px 0;
}

/* Header */
.doc-header {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.doc-title {
  font-size: 2.5rem;
  font-weight: 600;
  color: #000;
}

.doc-sub-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.doc-subtext {
  font-size: 1.25rem;
  color: #6c6c6c;
}

.doc-view-btn {
  font-size: 1.125rem;
  padding: 8px 24px;
  border-radius: 10px;
  border: 1.5px solid #00aeb1;
  color: #00aeb1;
  background-color: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: 0.3s ease;
}

.doc-view-btn:hover {
  background-color: #00aeb1;
  color: white;
}

.doc-arrow {
  font-size: 1.5rem;
}

/* Grid */
.doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 32px;
  margin-top: 56px;
}

/* Doctor Card */
.doc-card {
  border: 1.5px solid #f0f0f0;
  border-radius: 12px;
  overflow: hidden;
  background-color: white;
}

.doc-card-img-wrapper {
  height: 300px;
  overflow: hidden;
}

.doc-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.doc-card-body {
  padding: 20px;
}

.doc-card-name {
  font-size: 1.5rem;
  font-weight: 600;
  color: #252c32;
}

.doc-card-role {
  font-size: 1.25rem;
  color: #6c6c6c;
  padding: 12px 0 20px;
}

.doc-book-btn {
  width: 100%;
  padding: 12px;
  background-color: #00aeb1;
  color: white;
  border: none;
  border-radius: 5px;
  font-size: 1rem;
  cursor: pointer;
}

.doc-book-btn:hover {
  background-color: #09b2b5e6;
}

/* ============================================================================
                Need Help Choosing the Right Solution? Part End
  ============================================================================ */

/* ============================================================================
                      Get Weekly Gut Health Tips Part Start
  ============================================================================ */

/* Background & section padding */
.news-section {
  background-color: #f0fafb;
  padding: 112px 0;
}

/* Centered content */
.news-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Title */
.news-title {
  font-size: 3rem;
  font-weight: 600;
  color: #111927;
  padding-bottom: 16px;
}

/* Subtext */
.news-description {
  font-size: 1.25rem;
  color: #454f5b;
}

/* Form */
.news-form {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  height: 56px;
  margin-top: 48px;
  width: 100%;
}

/* Input */
.news-input {
  height: 100%;
  padding: 0 24px;
  border: 1.5px solid #00aeb1;
  border-radius: 4px;
  font-size: 1rem;
  max-width: 390px;
  width: 100%;
  outline: none;
}

/* Button */
.news-button {
  background-color: #00aeb1;
  color: white;
  font-weight: 600;
  font-size: 1rem;
  padding: 0 28px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  height: 100%;
  transition: 0.3s ease;
}

.news-button:hover {
  background-color: #09b2b5;
}

/* ============================================================================
                      Get Weekly Gut Health Tips Part End
  ============================================================================ */

/* ============================================================================
                              Checkout Form Part Start
  ============================================================================ */
.checkout-form-section {
  padding: 80px 0;

  .checkout-form {
    padding: 40px;
    border-radius: 16px;
    background: #fbfbfb;

    .checkout-form-title {
      color: #212b36;
      font-size: 40px;
      font-style: normal;
      font-weight: 600;
      line-height: 150%;
      margin-bottom: 32px;
    }

    .checkout-form-inner {
      display: flex;
      justify-content: space-between;
      gap: 32px;

      .form-section-title {
        color: #212b36;
        font-size: 32px;
        font-weight: 500;
        margin-bottom: 32px;
      }

      .checkout-form-box {
        width: 50%;
        background: #fff;
        border-radius: 16px;
        padding: 40px;
        border: 1px solid #ececec;
        box-shadow: 0px 4px 4px 0px #fff;
      }

      .checkout-form-form {
        display: flex;
        flex-direction: column;
        gap: 24px;

        .checkout-form-group {
          display: flex;
          flex-direction: column;
          gap: 16px;

          .checkout-form-label {
            color: #212b36;
            font-size: 20px;
            font-weight: 500;
            line-height: 30px;
          }

          .checkout-form-input {
            padding: 16px 20px;
            border-radius: 8px;
            border: 1px solid #eaeaea;

            color: #000;
            font-size: 18px;
            line-height: 30px;

            &::placeholder {
              color: #9d9d9d;
            }
          }
        }
      }

      .checkout-form-right {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 32px;

        .order-total {
          display: flex;
          justify-content: space-between;

          .order-total-label {
            color: #212b36;
            font-size: 20px;
            font-weight: 500;
            line-height: 30px;
          }
          .total-price {
            color: var(--primary-bg);
            font-size: 20px;
            font-weight: 500;
            line-height: 30px;
          }
        }
      }

      .order-summary {
        display: flex;
        flex-direction: column;
        gap: 32px;

        .order-item {
          display: flex;
          justify-content: space-between;

          span {
            color: #9d9d9d;
            font-size: 20px;
          }

          .checkout-order-summary-item-heading {
            color: #212b36;
            font-size: 20px;
            font-weight: 500;
            line-height: 30px;
          }

          &.divider-line {
            padding-bottom: 24px;
            border-bottom: 1px solid #e5e5e5;
          }
        }
      }
    }

    .checkout-buttons {
      margin-top: 32px;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;

      .btn {
        color: #fff;
        background: var(--primary-bg);
        transition: all linear 0.3s;

        &:hover {
          color: var(--primary-bg);
          background: #fff;
          border: 1px solid var(--primary-bg);
        }
      }
    }
  }
}
/* ============================================================================
                              Checkout Form Part End
  ============================================================================ */

/* ============================================================================
                            Checkout Footer Part Start
  ============================================================================ */
.checkout-footer {
  border-top: 1px solid #e5e5e5;
  padding: 24px 0;

  .footer-copyright-text {
    color: #9d9d9d;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
  }
}
/* ============================================================================
                            Checkout Footer Part End
  ============================================================================ */

/* ============================================================================
                              Login Part Start
  ============================================================================ */
.login {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 100px 0 120px;

  .login-from {
    width: 100%;
    max-width: 750px;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    padding: 40px;

    .login-title {
      color: #212b36;
      font-size: 32px;
      font-weight: 500;
      line-height: 150%;
    }

    .login-form-input-wrapper {
      margin-top: 40px;
      display: flex;
      flex-direction: column;
      gap: 24px;

      .input-wrapper {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 10px;

        label {
          color: #212b36;
          font-size: 18px;
          font-style: normal;
          font-weight: 400;
          line-height: 132%;
          letter-spacing: -0.36px;
        }

        input {
          display: flex;
          padding: 15px 24px;
          justify-content: space-between;
          align-items: center;
          align-self: stretch;

          border-radius: 8px;
          border: 1px solid #e1e1e1;

          color: #5a5c5f;
          font-size: 16px;
          font-style: normal;
          font-weight: 400;
          line-height: 164%;
        }
      }

      .login-btn {
        width: 100%;
        display: flex;
        padding: 15px 24px;
        justify-content: center;
        align-items: center;
        text-align: center;

        border-radius: 8px;
        background: var(--primary-bg);
        outline: none;
        border: 1px solid transparent;

        color: #fff;
        text-align: center;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 164%;

        transition: all linear 0.3s;

        &:hover {
          background: #fff;
          color: var(--primary-bg);
          border: 1px solid var(--primary-bg);
        }
      }
    }
  }

  .login-or {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #e5e5e5;
    margin: 40px 0;
    position: relative;

    span {
      color: #b1b1b1;
      text-align: center;
      font-size: 16px;
      font-style: normal;
      font-weight: 400;
      line-height: 150%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: #fff;
      padding: 0 20px;
    }
  }

  .continue-with-google-btn {
    width: 100%;
    display: flex;
    padding: 16px 24px;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.25);
    background-color: #fff;
    cursor: pointer;
    transition: all 0.6s ease;

    color: #212b36;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 150%;

    svg {
      height: 24px;
    }

    &:hover {
      border: 1px solid var(--primary-bg);
    }
  }

  .login-form-footer {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    align-items: center;

    color: var(--primary-text);
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;

    a {
      color: var(--primary-bg);
    }
  }
}
/* ============================================================================
                              Login Part End
  ============================================================================ */

/* ============================================================================
                                Signup Part Start
  ============================================================================ */
#signup {
  display: flex;
  align-items: center;
  gap: 50px;

  .input-wrapper-row {
    display: flex;
    gap: 24px;
  }

  .signup-form-right {
    .signup-form-right-img {
      width: 100%;
      max-width: 100%;
      object-fit: contain;
    }
  }
}
/* ============================================================================
                                Signup Part End
  ============================================================================ */

/* ============================================================================
                          Medical Profile Breadcrumnb Part Start
  ============================================================================ */
.medical-profile-breadcrumb {
  width: 100%;
  padding: 100px 0 80px;

  .medical-profile-breadcrumb-wrapper {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 30px 10px;
    align-items: center;

    .medical-profile-breadcrumb-content {
      width: max-content;
      display: flex;
      align-items: center;
      gap: 10px;

      .medical-profile-breadcrumb-number {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #fff;
        border: 1px solid #eaeaea;
        color: #000;
        font-size: 20px;
        font-weight: 400;
        text-align: center;
        line-height: 40px;

        &.active {
          border-color: #eee;
          background: #eee;
          color: #000;
        }

        &.compleate {
          border-color: var(--primary-bg);
          background: var(--primary-bg);
          color: #fff;
        }
      }

      .medical-profile-breadcrumb-title {
        color: var(--primary-text);
        text-align: center;
        font-size: 18px;
        font-weight: 400;
        line-height: 112%;
      }
    }

    .medical-profile-breadcrumb-line {
      width: 20px;
      height: 1px;
      background-color: #000;
    }
  }
}
/* ============================================================================
                          Medical Profile Breadcrumnb Part End
  ============================================================================ */

/* ============================================================================
                            Account Basic Info Part Start
  ============================================================================ */
.medical-profile-form-wrapper {
  max-width: 800px;
  background: #fbfbfb;
  padding: 40px;
  border-radius: 20px;
  margin: 0 auto 120px;
  padding: 30px;
  border: 1px solid #f1efef;

  .form-step {
    padding: 60px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    gap: 32px;

    .form-title {
      color: #222;
      font-size: 26px;
      font-weight: 500;
      line-height: 150%;
    }

    .profile-upload {
      text-align: center;
      margin-bottom: 30px;

      .upload-circle {
        width: 100px;
        height: 100px;
        background: #f3f4f6;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 15px;
        cursor: pointer;

        &::hover {
          background: #e5e7eb;
        }

        .upload-icon {
          font-size: 24px;
          color: #6b7280;
        }
      }

      .upload-title {
        font-weight: bold;
        margin-bottom: 5px;
      }

      .upload-subtitle {
        font-size: 12px;
        color: #6b7280;
      }
    }

    .form-label {
      display: block;
      margin: 12px 0 10px;
      font-weight: 500;
      font-size: 14px;
    }

    .form-input {
      width: 100%;
      font-size: 14px;
      padding: 15px 24px;
      border: 1px solid #d1d5db;
      border-radius: 6px;
      outline: none;

      &:focus {
        border-color: #06b6d4;
      }
    }

    .custom-date::-webkit-calendar-picker-indicator {
      opacity: 0;
      cursor: pointer;
    }

    .custom-date {
      background: url("/assets/images/calander.svg") no-repeat right 12px center;
      background-size: 20px 20px;
    }

    .input-with-icon {
      position: relative;
      cursor: pointer;
    }

    .form-input-select {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;

      background: url("/assets/images/arrow.svg") no-repeat right 12px center;
      background-size: 16px 16px;
    }

    .calendar-icon {
      position: absolute;
      right: 10px;
      top: 8px;
      font-size: 16px;
      color: #9ca3af;
    }

    .form-buttons {
      display: flex;
      justify-content: space-between;
      gap: 30px;
      margin-top: 20px;

      .btn {
        width: 100%;
        padding: 10px 20px;
        font-size: 14px;
        font-weight: bold;
        border-radius: 6px;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;

        &:hover {
          opacity: 0.6;
        }
        &:disabled {
          opacity: 0.3;
          cursor: not-allowed;
        }
      }

      .btn-prev {
        background: #e5e7eb;
        color: #374151;
      }

      .btn-next {
        background: #06b6d4;
        color: white;
      }
    }

    .upload-circle {
      width: 100px;
      height: 100px;
      background: #f3f4f6;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 15px;
      cursor: pointer;
      position: relative;
      overflow: hidden;
    }

    .upload-circle:hover {
      background: #e5e7eb;
    }

    .upload-circle img#previewImage {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      border-radius: 50%;
    }

    .upload-icon {
      font-size: 24px;
      color: #6b7280;
      z-index: 2;
      pointer-events: none;
    }
  }

  .loader {
    border: 3px solid #f3f3f3;
    border-top: 3px solid #06b6d4;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 1s linear infinite;
    position: absolute;
    z-index: 3;
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* ============================================================================
                            Account Basic Info Part End
  ============================================================================ */

/* ============================================================================
                            Account Health Info Part Start
  ============================================================================ */
.medical-profile-form-2 {
  .form-section {
    border: 1px solid #f1efef;
    border-radius: 20px;
    padding: 40px;
    background: #fff;
    margin-bottom: 30px;
  }
}
/* ============================================================================
                            Account Health Info Part End
  ============================================================================ */

/* ============================================================================
                          Account Gastro History Part Start
  ============================================================================ */
.medical-profile-form-3 {
  .form-section {
    border: 1px solid #f1efef;
    border-radius: 20px;
    padding: 40px;
    background: #fff;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .form-subsection {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 15px;
  }

  textarea.form-input {
    min-height: 80px;
    resize: vertical;
  }

  select.form-input {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
  }
}
/* ============================================================================
                          Account Gastro History Part End
  ============================================================================ */

/* ============================================================================
                        Account Function Symptoms Part Start
  ============================================================================ */
.medical-profile-form-4 {
  .form-section {
    border: 1px solid #f1efef;
    border-radius: 20px;
    padding: 40px;
    background: #fff;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 25px;

    .symptom-scale-custom {
      display: flex;
      gap: 16px;

      .symptom-scale-custom-item {
        width: 100%;
      }
    }
  }

  .symptom-scale {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .range-input-container {
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;

    .evacuation-range-value {
      position: absolute;
      top: 50%;
      right: 10px;
      transform: translateY(-50%);
      color: #6b7280;
    }
  }

  .form-range-input {
    flex: 1;
    -webkit-appearance: none;
    height: 6px;
    background: #e5e7eb;
    border-radius: 3px;
    outline: none;

    &::-webkit-slider-thumb {
      -webkit-appearance: none;
      width: 18px;
      height: 18px;
      background: #06b6d4;
      border-radius: 50%;
      cursor: pointer;
    }

    &:focus {
      &::-webkit-slider-thumb {
        box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.2);
      }
    }
  }

  .range-value {
    min-width: 30px;
    text-align: center;
    font-weight: 500;
  }

  .scale-labels {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #6b7280;
  }

  .symptom-scale-custom-item {
    margin-bottom: 20px;

    .custom-select-wrapper {
      position: relative;

      .custom-select {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        padding-right: 40px;
        background-color: #fff;
        cursor: pointer;
      }

      .custom-select-arrow {
        position: absolute;
        top: 50%;
        right: 15px;
        transform: translateY(-50%);
        pointer-events: none;
        color: #6b7280;
        font-size: 12px;
      }
    }
  }

  .form-range-input {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    outline: none;
    background: linear-gradient(
      to right,
      #06b6d4 var(--value, 50%),
      #e5e7eb var(--value, 50%)
    );
    transition: background 0.3s ease;
  }

  .form-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: #06b6d4;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 0 0 2px #06b6d4;
    transition: background 0.3s ease;
  }

  .form-range-input::-webkit-slider-thumb:hover {
    background: #0891b2;
  }

  .form-range-input::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #06b6d4;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 0 0 2px #06b6d4;
    transition: background 0.3s ease;
  }

  .form-range-input::-moz-range-thumb:hover {
    background: #0891b2;
  }

  .form-range-input::-moz-range-track {
    height: 6px;
    border-radius: 3px;
    background: linear-gradient(
      to right,
      #06b6d4 var(--value, 50%),
      #e5e7eb var(--value, 50%)
    );
  }

  .range-value {
    min-width: 30px;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    color: #333;
  }
}
/* ============================================================================
                        Account Function Symptoms Part End
  ============================================================================ */

/* ============================================================================
                          Account Diet Profile Part Start
  ============================================================================ */
.medical-profile-form-5 {
  .form-section {
    border: 1px solid #f1efef;
    border-radius: 20px;
    padding: 40px;
    background: #fff;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 25px;

    .food-categories {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 15px;

      .food-category {
        width: 48%;
      }
    }
  }

  .radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 15px;
  }

  .radio-option {
    width: 48%;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;

    input[type="radio"] {
      display: none;

      &:checked + .radio-custom {
        border-color: #06b6d4;

        &::after {
          content: "";
          display: block;
          width: 12px;
          height: 12px;
          background: #06b6d4;
          border-radius: 50%;
          position: absolute;
          top: 2px;
          left: 2px;
        }
      }
    }

    .radio-custom {
      width: 16px;
      height: 16px;
      border: 2px solid #d1d5db;
      border-radius: 50%;
      position: relative;
      transition: all 0.2s ease;
    }
  }

  .food-category {
    display: flex;
    flex-direction: column;
    gap: 8px;

    .range-input-container {
      position: relative;

      .range-value {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        color: #6b7280;
      }
    }
  }

  .two-column-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;

    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }

  .time-input-group {
    display: flex;
    flex-direction: column;
    gap: 8px;

    .time-input {
      &::-webkit-calendar-picker-indicator {
        filter: invert(0.5);
        cursor: pointer;
      }
    }
  }

  .diet-options {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 20px;
  }

  .diet-option {
    width: 48%;
    display: flex;
    align-items: center;
    cursor: pointer;

    input[type="radio"] {
      position: absolute;
      opacity: 0;

      &:checked + .diet-option-label {
        background-color: #06b6d4;
        color: white;
        border-color: #06b6d4;
      }
    }

    .diet-option-label {
      width: 100%;
      display: inline-block;
      padding: 10px 20px;
      border: 1px solid #d1d5db;
      border-radius: 6px;
      transition: all 0.2s ease;
      font-size: 14px;
      text-align: center;

      &:hover {
        border-color: #9ca3af;
      }
    }
  }

  .time-input-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5px 20px;

    .time-input-group {
      width: 48%;
    }
  }
}
/* ============================================================================
                          Account Diet Profile Part End
  ============================================================================ */

/* ============================================================================
                            Account Lifestyle Part Start
  ============================================================================ */
.medical-profile-form-6 {
  .form-section {
    border: 1px solid #f1efef;
    border-radius: 20px;
    padding: 40px;
    background: #fff;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 25px;
  }

  .two-column-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;

    @media (max-width: 600px) {
      grid-template-columns: 1fr;
    }
  }

  .sleep-quality-rating,
  .stress-level {
    .range-input-container {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .range-labels {
      display: flex;
      justify-content: space-between;
      font-size: 12px;
      color: #6b7280;
    }
  }

  .radio-group-horizontal {
    display: flex;
    gap: 20px;
    margin-top: 10px;

    .radio-option {
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;

      input[type="radio"] {
        display: none;

        &:checked + .radio-custom {
          border-color: #06b6d4;

          &::after {
            content: "";
            display: block;
            width: 12px;
            height: 12px;
            background: #06b6d4;
            border-radius: 50%;
            position: absolute;
            top: 2px;
            left: 2px;
          }
        }
      }

      .radio-custom {
        width: 16px;
        height: 16px;
        border: 2px solid #d1d5db;
        border-radius: 50%;
        position: relative;
        transition: all 0.2s ease;
      }
    }
  }

  .conditional-field {
    margin-top: 15px;
    display: none;

    &.visible {
      display: block;
    }
  }

  .smoking-habit {
    .diet-options {
      display: flex;
      gap: 15px;
      margin-top: 10px;
      margin-bottom: 15px;
    }

    .diet-option {
      display: flex;
      align-items: center;
      cursor: pointer;

      input[type="radio"] {
        position: absolute;
        opacity: 0;

        &:checked + .diet-option-label {
          background-color: #06b6d4;
          color: white;
          border-color: #06b6d4;
        }
      }

      .diet-option-label {
        display: inline-block;
        padding: 10px 20px;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        transition: all 0.2s ease;
        font-size: 14px;

        &:hover {
          border-color: #9ca3af;
        }
      }
    }

    .conditional-field {
      margin-top: 15px;
      display: none;

      &.visible {
        display: block;
      }
    }
  }

  .form-range-input {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    outline: none;
    background: linear-gradient(
      to right,
      #06b6d4 var(--value, 50%),
      #e5e7eb var(--value, 50%)
    );
    transition: background 0.3s ease;
  }

  .form-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: #06b6d4;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 0 0 2px #06b6d4;
    transition: background 0.3s ease;
  }

  .form-range-input::-webkit-slider-thumb:hover {
    background: #0891b2;
  }

  .form-range-input::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #06b6d4;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 0 0 2px #06b6d4;
    transition: background 0.3s ease;
  }

  .form-range-input::-moz-range-thumb:hover {
    background: #0891b2;
  }

  .form-range-input::-moz-range-track {
    height: 6px;
    border-radius: 3px;
    background: linear-gradient(
      to right,
      #06b6d4 var(--value, 50%),
      #e5e7eb var(--value, 50%)
    );
  }

  .range-value {
    min-width: 30px;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    color: #333;
  }
}
/* ============================================================================
                            Account Lifestyle Part End
  ============================================================================ */

/* ============================================================================
                            Account Goals Info Part Start
  ============================================================================ */
.medical-profile-form-7 {
  .form-section {
    border: 1px solid #f1efef;
    border-radius: 20px;
    padding: 40px;
    background: #fff;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 25px;
  }

  .radio-group-horizontal {
    display: flex;
    flex-direction: column;
    gap: 10px;

    .radio-options {
      display: flex;
      gap: 20px;
    }

    .radio-option {
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;

      input[type="radio"] {
        display: none;

        &:checked + .radio-custom {
          border-color: #06b6d4;

          &::after {
            content: "";
            display: block;
            width: 12px;
            height: 12px;
            background: #06b6d4;
            border-radius: 50%;
            position: absolute;
            top: 2px;
            left: 2px;
          }
        }
      }

      .radio-custom {
        width: 16px;
        height: 16px;
        border: 2px solid #d1d5db;
        border-radius: 50%;
        position: relative;
        transition: all 0.2s ease;
      }
    }
  }

  .checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 15px;

    .checkbox-option {
      display: flex;
      align-items: center;
      gap: 10px;
      cursor: pointer;

      input[type="checkbox"] {
        position: absolute;
        opacity: 0;

        &:checked + .checkbox-custom {
          background-color: #06b6d4;
          border-color: #06b6d4;

          &::after {
            content: "";
            display: block;
            width: 12px;
            height: 12px;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
            background-size: contain;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
          }
        }
      }

      .checkbox-custom {
        width: 20px;
        height: 20px;
        border: 2px solid #d1d5db;
        border-radius: 4px;
        position: relative;
        transition: all 0.2s ease;
        flex-shrink: 0;
      }

      .checkbox-label {
        font-size: 14px;
        user-select: none;
      }

      &:hover .checkbox-custom {
        border-color: #9ca3af;
      }
    }
  }

  .objective-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;

    .objective-card {
      border: 1px solid #e5e7eb;
      border-radius: 8px;
      cursor: pointer;
      transition: all 0.2s ease;

      input[type="radio"] {
        display: none;

        &:checked + .card-content {
          color: #fff;
          border-color: var(--primary-bg);
          background-color: var(--primary-bg);

          h4,
          p,
          ul {
            color: #fff;
          }
        }
      }

      .card-content {
        border: 2px solid transparent;
        border-radius: 6px;
        padding: 30px;
        transition: inherit;

        h4 {
          color: #111827;
          margin-bottom: 8px;
          font-size: 16px;
        }

        p {
          color: #4b5563;
          font-size: 14px;
          margin-bottom: 10px;
        }

        ul {
          padding-left: 20px;
          margin: 0;
          font-size: 13px;
          color: #6b7280;
          list-style: disc;

          li {
            margin-bottom: 5px;
          }
        }
      }

      &:hover .card-content {
        border-color: #a5f3fc;
      }
    }
  }

  .secondary-objectives-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    .secondary-objective {
      width: 48%;
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      border-radius: 6px;
      transition: all 0.2s ease;

      input[type="checkbox"] {
        display: none;

        &:checked + .objective-label {
          color: var(--primary-bg);
          border-color: var(--primary-bg);
          background: transparent;
        }
      }

      .objective-label {
        display: block;
        width: 100%;
        padding: 8px 12px;
        border: 1px solid #d1d5db;
        border-radius: 4px;
        transition: inherit;
        text-align: center;
        font-size: 14px;
      }

      &:hover .objective-label {
        border-color: #9ca3af;
      }
    }
  }

  .conditional-field {
    margin-top: 15px;
    display: none;

    &.visible {
      display: block;
    }
  }

  .btn-submit {
    color: white;
    background: var(--primary-bg) !important;
  }

  .yes-no-radio-group {
    margin-bottom: 15px;

    .radio-options {
      display: flex;
      gap: 15px;
      margin-top: 10px;
    }

    .radio-option-pill {
      display: inline-block;
      cursor: pointer;

      input[type="radio"] {
        position: absolute;
        opacity: 0;

        &:checked + .radio-pill-label {
          background-color: #06b6d4;
          color: white;
          border-color: #06b6d4;
        }
      }

      .radio-pill-label {
        display: inline-block;
        padding: 10px 25px;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        transition: all 0.2s ease;
        font-size: 14px;
        font-weight: 500;

        &:hover {
          border-color: #9ca3af;
        }
      }
    }
  }

  .antibiotic-conditional-field {
    &.visible {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 16px;
    }

    .antibiotic-info-input {
      width: 48%;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
  }
}
/* ============================================================================
                            Account Goals Info Part End
  ============================================================================ */

/* ============================================================================
                          Microbiota Analysis Part Start
  ============================================================================ */
#microbiota-hero {
  padding: 148px 0;
  background-color: #f0fafb;

  .microbiota-content {
    text-align: center;

    .microbiota-heading {
      color: #212b36;
      font-size: 48px;
      font-weight: 600;
      line-height: 64px;
    }

    .microbiota-description {
      color: #2f4158;
      font-size: 20px;
      line-height: 30px;
      margin-top: 16px;
    }
  }
}
/* ============================================================================
                          Microbiota Analysis Part End
  ============================================================================ */

/* ============================================================================
                            Microbiota Path Part Start
  ============================================================================ */
#microbiota-path {
  padding: 80px 0;

  /* Microbiota Path Head */
  .microbiota-path-head {
    .microbiota-path-head-title {
      width: 100%;
      margin-bottom: 30px;

      .microbiota-path-head-title-text {
        color: var(--primary-text);
        font-size: 40px;
        font-weight: 500;
        margin-bottom: 20px;
      }
      .microbiota-path-head-title-description {
        color: #2f4158;
        font-size: 20px;
      }
    }

    .microbiota-path-head-progress {
      .microbiota-path-head-progress-text {
        display: flex;
        align-items: center;
        justify-content: space-between;

        .microbiota-path-head-progress-title,
        .microbiota-path-head-progress-percentage {
          color: var(--primary-text);
          font-size: 20px;
        }
      }

      .microbiota-path-head-progress-bar {
        width: 100%;
        height: 16px;
        border-radius: 10px;
        background: #eee;
        margin-top: 12px;
        position: relative;
        transition: all linear 0.3s;

        .microbiota-path-head-progress-bar-fill {
          position: absolute;
          top: 0;
          left: 0;
          height: 100%;
          border-radius: 10px;
          background: var(--primary-bg);
        }
      }
    }
  }

  /* Microbiota Path Body */
  .microbiota-path-body {
    /* Microbiota Path Body Title */
    .microbiota-path-body-title {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-top: 48px;

      .microbiota-path-body-title-icon {
        color: var(--primary-text);
        width: 28px;
      }
    }

    /* Microbiota Path Body Timeline */
    .microbiota-path-body-timeline {
      padding: 40px;
      margin-top: 32px;
      background: #fcfcfc;
      border-radius: 16px;
      border: 1px solid #eaeaea;

      .timeline-steps {
        display: flex;
        flex-direction: column;
        gap: 24px;

        .timeline-step {
          padding: 24px;
          border-radius: 12px;
          background: #fff;
          border: 1px solid #eaeaea;
          position: relative;
          border-left: 4px solid #eaeaea;

          &.completed {
            border-left: 4px solid #4caf50 !important;
          }

          &.in-progress {
            border-left: 4px solid #f8ab1b !important;
          }

          .step-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;

            .step-title {
              color: var(--primary-text);
              font-size: 32px;
              font-weight: 500;
              line-height: 140%;
            }

            .step-status {
              display: flex;
              align-items: center;
              gap: 8px;
              border: 1px solid #eaeaea;
              padding: 4px 12px;
              border-radius: 10px;

              &.in-progress {
                color: #f8ab1b;
                border-color: rgba(248, 171, 27, 0.2);
                background: rgba(248, 171, 27, 0.05);
              }

              &.compleated {
                color: #4caf50;
                border-color: rgba(76, 175, 79, 0.2);
                background: rgba(76, 175, 79, 0.05);
              }

              .status-text {
                font-size: 14px;
                font-weight: 500;
              }
            }
          }

          .step-description {
            color: var(--primary-text);
            font-size: 20px;
            line-height: 150%;
          }

          .step-actions {
            display: flex;
            gap: 16px;
            margin-top: 20px;

            .action-link {
              color: #fff;
              font-weight: 500;
              display: flex;
              align-items: center;
              gap: 8px;

              padding: 8px 16px;
              border-radius: 6px;
              font-size: 14px;
              border: none;
              cursor: pointer;
              background: var(--primary-bg);

              &:hover {
                opacity: 0.8;
              }
            }

            .action-tip,
            .action-video {
              color: var(--primary-bg);
              border: 1px solid var(--primary-bg);
              padding: 8px 16px;
              border-radius: 6px;
              font-size: 14px;
              font-weight: 500;
              cursor: pointer;
              background: transparent;
              display: flex;
              align-items: center;
              gap: 5px;
              transition: all linear 0.3s;

              .action-tip-icon {
                width: 16px;
              }

              &:hover {
                opacity: 0.8;
              }
            }

            .action-video {
              color: #fff;
              border: 1px solid #dfe3e8;
              background: var(--primary-bg);
              transition: all linear 0.3s;

              .action-video-icon {
                width: 16px;
              }

              &:hover {
                opacity: 0.8;
              }
            }
          }
        }
      }

      .completed .status-text {
        color: #4caf50;
      }

      .in-progress .status-text {
        color: #f8ab1b;
      }
    }
  }
}
/* ============================================================================
                            Microbiota Path Part End
  ============================================================================ */

/* ============================================================================
                                Navbar Part Start
  ============================================================================ */
/* ============================================================================
                                Navbar Part End
  ============================================================================ */
