/* ─── Tokens ──────────────────────────────────────────────── */
:root {
  --background: 220 20% 98%;
  --foreground: 222 47% 11%;
  --card: 0 0% 100%;
  --primary: 216 100% 22%;
  --primary-foreground: 0 0% 100%;
  --primary-light: 216 45% 94%;
  --primary-tint: 205 70% 72%;
  --accent: 140 61% 28%;
  /* #1D7239 dark green (was 196 100% 46% / #00ACEB) */
  --accent-foreground: 0 0% 100%;
  --muted: 220 20% 96%;
  --muted-foreground: 220 10% 46%;
  --destructive: 0 75% 48%;
  --destructive-soft: 0 80% 96%;
  --border: 220 15% 90%;
  --info: 199 88% 50%;
  --warning: 42 95% 55%;
  --surface: 220 30% 96%;
  --surface-warm: 38 40% 97%;
  --radius: 8px;
  --shadow-sm: 0 1px 2px 0 hsl(216 100% 22% / 0.05);
  --shadow-md: 0 4px 12px -2px hsl(216 100% 22% / 0.08);
  --shadow-lg: 0 14px 40px -12px hsl(216 100% 22% / 0.25);
  --shadow-menu: 0 24px 48px -16px hsl(216 100% 22% / 0.25);
  --font-sans: "Inter", system-ui, -apple-system, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  /* clip prevents horizontal scroll without creating a scroll container that breaks sticky */
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
}

/* Astra applies `body { overflow-x: hidden }`, which turns <body> into a scroll
   container and disables position: sticky on the header. `clip` stops horizontal
   scroll the same way without the scroll-container side effect. `html body` outranks
   the parent's plain `body` rule, so this wins regardless of source/inline order. */
html body {
  overflow-x: clip;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-sans);
  font-weight: 400;
  color: hsl(var(--foreground));
  background: hsl(var(--background));
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
}

/* Suppress the parent theme's default link-hover recolour WITHOUT !important, so
   components can still define their own hover text colour (they win on specificity).
   Was `color: inherit !important`, which silently defeated every component hover. */
button:hover,
a:hover,
a:focus {
  color: inherit;
}

a.btn-primary:hover,
.hs-btn--accent:hover,
.nhl-booking-button a:hover {
  color: #fff !important;
}

.nhl-booking-button {
  /* background-color: hsl(var(--accent)) !important; */
}

.single-speciality footer {
  margin-top: -28px;
}

/* Page Width */
.nk-care-centre,
.international-patients-page {
  max-width: 100%;
  margin: 0 auto;
}

/* ─── Font Awesome 7 Pro (Regular) ────────────────────────── */
@font-face {
  font-family: "FA Pro";
  src: url("../fonts/Font Awesome 7 Pro-Regular-400.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.fa {
  font-family: "FA Pro";
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  display: inline-block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ref_supporting_documents .wpforms-uploader {
  background-color: rgba(0, 177, 233, 0.1) !important;
}

input::placeholder {
  color: #94a3b8 !important;
}

.ref_name_container .wpforms-field-medium {
  max-width: 100% !important;
}

.referral-form__toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between;
  gap: 1rem !important;
  padding: 1.1rem !important;
  margin-top: 1rem !important;
  align-items: center;

  border-radius: 12px !important;
  border: 1px solid rgba(0, 177, 233, 0.25) !important;
  background: rgba(0, 177, 233, 0.1) !important;
}

.referral-form__toggle h3 {
  color: #0f172a !important;
  font-family: Inter;
  font-size: 14.5px !important;
  font-style: normal;
  font-weight: 600 !important;
  line-height: 18.85px;
  margin: 0;
}

.referral-form__toggle p {
  color: #475569;
  font-family: Inter;
  font-size: 13px !important;
  font-style: normal;
  font-weight: 400 !important;
  line-height: 20.15px !important;
  margin-bottom: 0 !important;
}

.referral-form__switch {
  position: relative !important;
  width: 47px !important;
  height: 22px !important;
}

.referral-form__switch-input {
  opacity: 0 !important;
  position: absolute !important;
}

.referral-form__switch-slider {
  position: absolute !important;
  inset: 0;
  border-radius: 999px !important;
  background: #ccc !important;
  cursor: pointer;
}

.referral-form__switch-slider::before {
  content: "";
  position: absolute !important;
  width: 16px !important;
  height: 16px !important;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #fff !important;
  transition: 0.3s;
}

.referral-form__switch-input:checked+.referral-form__switch-slider {
  background: #0056a6 !important;
}

.referral-form__switch-input:checked+.referral-form__switch-slider::before {
  transform: translateX(24px);
}

div.wpforms-container-full .wpforms-form .wpforms-field-divider {
  margin: 0 !important;
  border-top-width: 0 !important;
}

#wpforms-40846-field_16 {
  padding-top: 0 !important;
}

.wpforms-submit {
  font-weight: 700 !important;
}

.referral-form__toggle-title {
  margin: 0 !important;
}

.entry-content>.wp-block-group {
  padding-top: 0 !important;
}

.referral-form__toggle-title {
  margin: 0 !important;
}

.referral-form__checkbox {
  display: flex !important;
  gap: 0.75rem !important;
  align-items: center !important;
  margin: 1.5rem 0 !important;
  margin-left: 0 !important;
}

.prose_terms {
  color: #1d7239 !important;
  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.referral-form__checkbox label {
  color: #002c6d !important;
  font-size: 16px !important;
  font-style: normal;
  font-weight: 600 !important;
  line-height: 26px;
  font-weight: 600 !important;
  padding-left: 0 !important;
}

.wpforms-submit {
  font-weight: 600 !important;
}

.wpforms-field-divider h3 {
  margin-bottom: 0 !important;
  font-size: 16px !important;
}

input[type="search"] {
  box-shadow: none !important;
}

footer {
  color: #f1f8fccc !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

footer hr {
  background-color: #f1f8fc1a !important;
}

.category-articles-and-news .e-atomic-element {
  display: flex !important;
  flex-direction: column !important;
}

.category-articles-and-news .elementor-element-3169e7b {
  display: none !important;
}

.category-articles-and-news .e-paragraph-base a {
  background-color: green;
  padding: 8px 8px !important;
  color: #fff !important;
  border-radius: 8px;
}

.story-dark__cta a:hover {
  color: #fff !important;
}

/**
 * UNIFY WOOCOMMERCE SHOP PAGE
 * Price + Add to Cart button on same line
 * Equal‑height product cards, button width stays natural
 */
.astra-shop-summary-wrap .price {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  font-weight: 700;
}

.astra-shop-summary-wrap .button {
  display: inline-block;
  vertical-align: middle;
  margin-top: 30px !important;
  padding: 8px 14px;
  font-size: 15px !important;
  line-height: 1.4;
  width: 170px !important;
  min-width: 170px !important;
  text-align: center;
  box-sizing: border-box;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.astra-shop-summary-wrap .button.product_type_variable {
  display: inline-block;
}

.astra-shop-summary-wrap .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.products li.product {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.astra-shop-summary-wrap {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-top: 15px;
}

.astra-shop-summary-wrap .ast-woo-product-category,
.astra-shop-summary-wrap .ast-loop-product__link {
  flex-shrink: 0;
}

.astra-shop-summary-wrap .price,
.astra-shop-summary-wrap .button {
  margin-top: auto;
}

.astra-shop-thumbnail-wrap {
  overflow: hidden;
}

.astra-shop-thumbnail-wrap img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}

#nhl_translate .gt-selected .gt-current-lang {
  padding: 6px 13px;
}

#nhl_translate img {
  width: 26px !important;
}

#nhl_translate .gt-lang-code {
  font-size: 16px !important;
}

@media (max-width: 768px) {
  .astra-shop-summary-wrap .price {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 4px;
  }

  .astra-shop-summary-wrap .button {
    display: inline-block;
    padding: 5px 12px;
    font-size: 12px;
    width: 170px !important;
    min-width: 170px !important;
  }

  .astra-shop-thumbnail-wrap img {
    height: 180px;
  }
}

#fkcart-floating-toggler {
  top: 70% !important;
}

.terms-conditions {
  text-decoration: underline !important;
  font-size: 16px;
  color: hsl(var(--accent)) !Important;
}

.ps-care-centre {
  background-color: #001e701f !important;
  border-radius: 999px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  display: flex !important;
  width: fit-content;
  padding: 4px 12px;
}

.ps-para {
  font-size: 15px !important;
}

.ps-author-name,
.ps-heading {
  color: #002d70 !important;
}

.ps-heading,
.ps-main-paragraph {
  text-align: center !important;
}

.ps-main-paragraph {
  font-size: 1rem !important;
}

.ps-heading {
  margin-bottom: 0 !important;
}