/* Pharmacy Theme Design Tokens & Presentation Layer */
:root {
  --tfc-font-sans: 'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --tfc-font-fallback: 'Open Sans', sans-serif;
  --tfc-primary: #008a64;
  --tfc-primary-hover: #04382c;
  --tfc-primary-strong: #04382c;
  --tfc-primary-tint: #e6f7f1;
  --tfc-banner: #e6f7f1;
  --tfc-dark: #04382c;
  --tfc-muted: #3a5f53;
  --tfc-hairline: #e0ece6;
  --tfc-border-mint: #d8f1e7;
  --tfc-surface: #f4fbf8;
  --tfc-surface-alt: #d8f1e7;
  --tfc-green: #22c197;
  --tfc-accent: #22c197;
  --tfc-accent-hover: #0f9f7d;
  --tfc-gradient-cta: linear-gradient(120deg, #22c197, #008a64);
  --tfc-gradient-hero: linear-gradient(165deg, #e2f7ef 0%, #f1fbf7 48%, #e9f6f2 100%);
  --tfc-gradient-dark: linear-gradient(155deg, #04382c 0%, #008a64 52%, #22c197 100%);
  --tfc-radius-sm: 8px;
  --tfc-radius-md: 12px;
  --tfc-radius-lg: 16px;
  --tfc-radius-full: 9999px;
  --tfc-shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --tfc-shadow-md: 0 4px 14px rgba(4,56,44,0.08);
}

html, body {
  /* overflow-x: hidden (not clip) forces overflow-y to auto on BOTH elements,
     turning html and body into two separate scroll containers and breaking
     `position: sticky` for the header. `clip` prevents the same horizontal
     bleed without creating a scroll container. */
  overflow-x: clip;
  max-width: 100%;
}

/* WordPress wraps the header template part in a <header class="wp-block-
   template-part"> box that is only as tall as the banner + header (~117px).
   A `position: sticky` child can only stay stuck while scrolling through its
   parent's box, so the sticky main header was un-sticking after ~45px of
   scroll. `display: contents` removes that wrapper from layout so the sticky
   header's containing block becomes the full-height page wrapper instead. */
header.wp-block-template-part {
  display: contents;
}

:where(body) {
  -webkit-font-smoothing: antialiased;
  font-family: var(--tfc-font-sans);
  color: var(--tfc-dark);
  background: #ffffff;
}

:where(.pharmacy-header, .pharmacy-footer, .pharmacy-section, .pharmacy-main) { box-sizing: border-box; }
:where(.pharmacy-header *, .pharmacy-footer *, .pharmacy-section *) { box-sizing: border-box; }

:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 2px solid var(--tfc-primary);
  outline-offset: 3px;
}

/* Announcement Top Banner */
.tfc-announcement-bar {
  background: #ffffff;
  border-bottom: 1px solid var(--tfc-hairline);
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  color: var(--tfc-muted);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  text-align: center;
  box-sizing: border-box;
  max-width: 100%;
}
.tfc-announcement-bar strong {
  color: var(--tfc-dark);
  font-weight: 600;
}
.tfc-announcement-bar a {
  color: var(--tfc-primary);
  font-weight: 600;
  text-decoration: none;
}
.tfc-announcement-bar a:hover {
  text-decoration: underline;
}

/* Sticky Main Navigation Header */
.pharmacy-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding-block: 0.9rem;
  border-bottom: 1px solid var(--tfc-hairline);
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}
.pharmacy-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: nowrap !important;
  width: 100%;
}
.pharmacy-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}
.pharmacy-brand .wp-block-site-title {
  margin: 0;
  font-weight: 700;
  font-size: 1.45rem;
  letter-spacing: -0.02em;
}
.pharmacy-brand .wp-block-site-title a {
  color: var(--tfc-primary);
  text-decoration: none;
}

/* Header Navigation Links */
.pharmacy-header .wp-block-navigation {
  margin-inline-start: auto;
  font-family: var(--tfc-font-sans);
  flex: 1 1 auto;
  min-width: 0;
}
.pharmacy-header .wp-block-navigation__container {
  flex-wrap: nowrap;
  gap: 0.15rem;
}
.pharmacy-header .wp-block-navigation .wp-block-navigation-item {
  flex: 0 0 auto;
}
.pharmacy-header .wp-block-navigation .wp-block-navigation-item__content {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--tfc-dark);
  padding: 0.5rem 0.85rem;
  white-space: nowrap;
  border-radius: var(--tfc-radius-sm);
  transition: color 0.15s ease, background 0.15s ease;
}
.pharmacy-header .wp-block-navigation .wp-block-navigation-item__content:hover {
  color: var(--tfc-primary);
  background: var(--tfc-primary-tint);
}
.pharmacy-header .wp-block-navigation__submenu-container {
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-md);
  padding: 0.75rem;
  box-shadow: var(--tfc-shadow-md);
  background: #ffffff;
}

/* ==========================================================================
   Mega Menu Navigation Styles (Online Doctor & Shop)
   ========================================================================== */

:root {
  /* Legacy mega-menu token names, mapped to the Pharmacy Theme palette. */
  --tmom-purple-deep: var(--tfc-primary);
  --tmom-purple-strong: var(--tfc-primary-hover);
  --tmom-purple-muted: #3a5f53;
  --tmom-purple-light: var(--tfc-primary-tint);
  --tmom-purple-soft: #e6f7f1;
  --tmom-purple-border: var(--tfc-hairline);
  --tmom-slate-200: #e0ece6;
  --tmom-slate-700: #04382c;
  --tmom-radius-md: 8px;
  --tmom-radius-lg: 12px;
  --tmom-radius-2xl: 16px;
}

.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item {
  /* Anchor the panel to the full header, not a link near the screen edge. */
  position: static !important;
}

/* The core Navigation block keeps several ancestors `position: relative`
   (the <ul> container, the responsive dialog/container, and the <nav> itself),
   so the absolute panel above was still positioning against one of those
   narrower boxes instead of the full-width `.pharmacy-header`. Desktop-only:
   strip position from every ancestor between the item and the header so
   `.pharmacy-header` (position: sticky) becomes the containing block. */
@media (min-width: 901px) {
  .pharmacy-header .wp-block-navigation__container,
  .pharmacy-header .wp-block-navigation__responsive-container,
  .pharmacy-header .wp-block-navigation__responsive-container-content,
  .pharmacy-header .wp-block-navigation__responsive-dialog,
  .pharmacy-header nav.wp-block-navigation {
    position: static !important;
  }
}

.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item:hover,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item:focus-within,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item.is-menu-open {
  z-index: 999999 !important;
}

/* 1. DEFAULT CLOSED STATE: STRICTLY INVISIBLE & ZERO HITBOX */
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item > .wp-block-navigation__submenu-container,
.wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
  display: grid !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  top: 100% !important;
  margin-top: 0 !important;
  background: #ffffff !important;
  border: 1px solid var(--tmom-slate-200) !important;
  border-radius: var(--tmom-radius-2xl) !important;
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0,0,0,0.03) !important;
  padding: 0 !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
  transform: translateY(6px) !important;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s !important;
}

/* 2. OPEN STATE: WHEN HOVERED OR FOCUSED */
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item:focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item.is-menu-open > .wp-block-navigation__submenu-container {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  height: auto !important;
  overflow: visible !important;
  padding: 24px 28px !important;
  z-index: 999999 !important;
  transform: translateY(0) !important;
}

/* Online Doctor Mega Menu dimensions & placement */
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item:not(.tmom-shop-mega):hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item:not(.tmom-shop-mega):focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item:not(.tmom-shop-mega).is-menu-open > .wp-block-navigation__submenu-container {
  min-width: 0 !important;
  max-width: calc(100vw - 32px) !important;
  width: min(860px, calc(100vw - 32px)) !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px 24px !important;
  right: auto !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* Shop Mega Menu dimensions & placement (anchored to Shop) */
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item.tmom-shop-mega:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item.tmom-shop-mega:focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item.tmom-shop-mega.is-menu-open > .wp-block-navigation__submenu-container {
  min-width: 0 !important;
  max-width: calc(100vw - 32px) !important;
  width: min(520px, calc(100vw - 32px)) !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px 24px !important;
  right: auto !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* Hover bridge: ONLY active when the menu is actively open */
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item:hover > .wp-block-navigation__submenu-container::before,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item:focus-within > .wp-block-navigation__submenu-container::before,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item.is-menu-open > .wp-block-navigation__submenu-container::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -18px !important;
  left: 0 !important;
  right: 0 !important;
  height: 20px !important;
  background: transparent !important;
  pointer-events: auto !important;
}

/* 3. Mega Menu Category Columns */
.wp-block-navigation .wp-block-navigation-item.tmom-mega-col {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-self: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-sizing: border-box !important;
  height: auto !important;
}

/* 4. Category Heading / Title - STRICTLY NO FLEX GROW (FIXES THE GAPS!) */
.wp-block-navigation-item.tmom-mega-col > .wp-block-navigation-item__content,
.wp-block-navigation-item.tmom-mega-col > a.wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-col > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-col > a.wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-col > button.wp-block-navigation-item__content {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--tmom-purple-deep) !important;
  background: transparent !important;
  padding: 0 0 8px 0 !important;
  margin: 0 0 10px 0 !important;
  border-bottom: 2px solid var(--tmom-purple-border) !important;
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
  pointer-events: none !important;
  cursor: default !important;
}

/* Hide arrow button inside column headers */
.wp-block-navigation-item.tmom-mega-col > button,
.wp-block-navigation-item.tmom-mega-col .wp-block-navigation__submenu-icon {
  display: none !important;
}

/* Column Inner Link List - ALWAYS VISIBLE and NEVER shifts or resizes on hover */
.wp-block-navigation-item.tmom-mega-col > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.tmom-mega-col .wp-block-navigation__submenu-container,
.wp-block-navigation-item.tmom-mega-col:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.tmom-mega-col:not(:hover) > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.tmom-mega-col[aria-expanded="false"] > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.tmom-mega-col[aria-expanded="true"] > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.tmom-mega-col:not(.is-menu-open) > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.tmom-mega-col.is-menu-open > .wp-block-navigation__submenu-container {
  display: flex !important;
  flex-direction: column !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  gap: 3px !important;
  list-style: none !important;
  transform: none !important;
  transition: none !important;
  box-sizing: border-box !important;
}

/* Treatment Items inside Column */
.wp-block-navigation-item.tmom-mega-col .wp-block-navigation-item {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-sizing: border-box !important;
}

.wp-block-navigation-item.tmom-mega-col .wp-block-navigation-item__content,
.wp-block-navigation-item.tmom-mega-col a.wp-block-navigation-item__content {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  padding: 8px 10px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--tmom-slate-700) !important;
  border-radius: var(--tmom-radius-md) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.35 !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  background: transparent !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transform: none !important;
  box-sizing: border-box !important;
}

.wp-block-navigation-item.tmom-mega-col .wp-block-navigation-item__content:hover,
.wp-block-navigation-item.tmom-mega-col a.wp-block-navigation-item__content:hover {
  background: var(--tmom-purple-light) !important;
  color: var(--tmom-purple-deep) !important;
  transform: none !important;
}

/* Mega Menu Footer Link (View All Treatments Directory) */
.wp-block-navigation .wp-block-navigation-item.tmom-mega-footer-link,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item > .wp-block-navigation__submenu-container > li:last-child {
  grid-column: 1 / -1 !important;
  border-top: 1px solid var(--tmom-slate-200) !important;
  margin-top: 6px !important;
  padding-top: 12px !important;
  list-style: none !important;
}

.wp-block-navigation .wp-block-navigation-item.tmom-mega-footer-link .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item > .wp-block-navigation__submenu-container > li:last-child .wp-block-navigation-item__content {
  color: var(--tmom-purple-deep) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  justify-content: center !important;
  background: var(--tmom-purple-light) !important;
  border-radius: var(--tmom-radius-lg) !important;
  padding: 10px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.2s ease !important;
}

.wp-block-navigation .wp-block-navigation-item.tmom-mega-footer-link .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item > .wp-block-navigation__submenu-container > li:last-child .wp-block-navigation-item__content:hover {
  background: var(--tmom-purple-soft) !important;
  color: var(--tmom-purple-deep) !important;
  transform: none !important;
}

@media (max-width: 900px) {
  .wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item > .wp-block-navigation__submenu-container,
  .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
    grid-template-columns: repeat(2, 1fr) !important;
    min-width: 0 !important;
    width: min(520px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

@media (max-width: 580px) {
  .wp-block-navigation .wp-block-navigation-item.tmom-mega-menu-item > .wp-block-navigation__submenu-container,
  .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

/* Header Actions (Search, Login, Cart) */
.pharmacy-header-actions {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  flex: 0 0 auto;
  white-space: nowrap;
}
.tfc-header-auth-link {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--tfc-dark);
  text-decoration: none;
  padding: 0.5rem 0.85rem;
  border-radius: var(--tfc-radius-sm);
  transition: background 0.15s ease, color 0.15s ease;
}
.tfc-header-auth-link:hover {
  background: var(--tfc-surface-alt);
  color: var(--tfc-primary);
}

/* Sliding / Expandable Search */
.tfc-search-box {
  display: flex;
  align-items: center;
  position: relative;
}
.tfc-search-box input[type="search"] {
  background: var(--tfc-surface-alt);
  border: 1px solid transparent;
  border-radius: var(--tfc-radius-full);
  padding: 0.45rem 1rem 0.45rem 2.25rem;
  font-size: 0.875rem;
  width: 170px;
  transition: width 0.25s ease, border-color 0.2s ease, background 0.2s ease;
  outline: none;
}
.tfc-search-box input[type="search"]:focus {
  width: 240px;
  background: #ffffff;
  border-color: var(--tfc-primary);
  box-shadow: 0 0 0 3px rgba(0, 138, 100, 0.12);
}
.tfc-search-box .tfc-search-icon {
  position: absolute;
  left: 0.8rem;
  color: var(--tfc-muted);
  pointer-events: none;
  font-size: 0.875rem;
}

/* Cart Trigger Pill */
.tfc-cart-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--tfc-surface-alt);
  color: var(--tfc-dark);
  text-decoration: none;
  padding: 0.45rem 0.9rem;
  border-radius: var(--tfc-radius-full);
  font-size: 0.875rem;
  font-weight: 600;
  transition: background 0.2s ease, color 0.2s ease;
}
.tfc-cart-pill:hover {
  background: #d8f1e7;
  color: var(--tfc-primary);
}
.tfc-cart-badge {
  background: var(--tfc-primary);
  color: #ffffff;
  border-radius: var(--tfc-radius-full);
  padding: 0.15rem 0.45rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
}

/* Hero Section */
.pharmacy-hero {
  padding-block: clamp(3rem, 6vw, 5.5rem);
  background: linear-gradient(180deg, #f0f6fc 0%, #ffffff 100%);
  border-bottom: 1px solid var(--tfc-hairline);
}
.pharmacy-hero h1 {
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--tfc-dark);
  margin-block: 0.75rem 1.25rem;
}
.pharmacy-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tfc-primary);
  background: #ffffff;
  padding: 0.35rem 0.85rem;
  border-radius: var(--tfc-radius-full);
  border: 1px solid var(--tfc-hairline);
}
.pharmacy-eyebrow.has-text-align-center {
  margin-left: auto;
  margin-right: auto;
}
.pharmacy-lead {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--tfc-muted);
  max-width: 52ch;
}

/* Quality / Confidence Badge */
.tfc-quality-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-full);
  font-size: 0.875rem;
  margin-block-start: 1rem;
}
.tfc-stars {
  display: inline-flex;
  gap: 3px;
}
.tfc-star {
  background: #00b67a;
  color: white;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}

/* Treatment / Condition Cards */
.pharmacy-card {
  padding: 1.75rem;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  background: #ffffff;
  box-shadow: var(--tfc-shadow-sm);
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.pharmacy-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--tfc-shadow-md);
  border-color: #cbd5e1;
}
.pharmacy-card h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--tfc-dark);
  margin-block: 0.5rem 0.5rem;
}
.pharmacy-card p {
  color: var(--tfc-muted);
  font-size: 0.9375rem;
  line-height: 1.5;
  flex-grow: 1;
}
.tfc-card-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-block-start: 1.25rem;
  padding-block-start: 1rem;
  border-top: 1px solid var(--tfc-hairline);
}
.tfc-price-tag {
  font-size: 0.875rem;
  color: var(--tfc-muted);
}
.tfc-price-tag strong {
  font-size: 1.15rem;
  color: var(--tfc-dark);
  font-weight: 700;
}
.tfc-btn-consult {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  background: var(--tfc-primary);
  color: #ffffff;
  padding: 0.55rem 1.15rem;
  border-radius: var(--tfc-radius-full);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.15s ease;
}
.tfc-btn-consult:hover {
  background: var(--tfc-primary-hover);
  color: #ffffff;
}

/* 3-Step Journey Section */
.pharmacy-step-box {
  padding: 2rem;
  border-radius: var(--tfc-radius-lg);
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  box-shadow: var(--tfc-shadow-sm);
  text-align: left;
}
.pharmacy-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--tfc-radius-full);
  background: var(--tfc-primary-tint);
  color: var(--tfc-primary);
  font-weight: 700;
  font-size: 1.125rem;
  margin-block-end: 1rem;
}

/* Trust / Regulatory Badges Bar */
.tfc-trust-bar {
  background: var(--tfc-surface);
  border-top: 1px solid var(--tfc-hairline);
  border-bottom: 1px solid var(--tfc-hairline);
  padding-block: 2.5rem;
}
.tfc-trust-item {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.tfc-trust-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--tfc-radius-full);
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tfc-primary);
  font-size: 1.25rem;
  flex-shrink: 0;
}
.tfc-trust-item h4 {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--tfc-dark);
  margin: 0 0 0.2rem 0;
}
.tfc-trust-item p {
  font-size: 0.8125rem;
  color: var(--tfc-muted);
  margin: 0;
}

/* Modern Footer */
.pharmacy-footer {
  background: #ffffff;
  border-top: 1px solid var(--tfc-hairline);
  padding-block: 4.5rem 2rem;
  font-size: 0.875rem;
}
.pharmacy-footer h2,
.pharmacy-footer h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--tfc-dark);
  margin-block-end: 1.25rem;
  letter-spacing: -0.01em;
}
.pharmacy-footer p {
  color: var(--tfc-muted);
  line-height: 1.6;
}
.pharmacy-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pharmacy-footer li {
  margin-block-end: 0.65rem;
}
.pharmacy-footer a {
  color: var(--tfc-muted);
  text-decoration: none;
  transition: color 0.15s ease;
}
.pharmacy-footer a:hover {
  color: var(--tfc-primary);
  text-decoration: underline;
}
.pharmacy-footer-bottom {
  border-top: 1px solid var(--tfc-hairline);
  margin-block-start: 3.5rem;
  padding-block-start: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.8125rem;
  color: var(--tfc-muted);
}
.tfc-regulatory-block {
  background: var(--tfc-surface);
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-md);
  padding: 1.25rem;
  margin-block-end: 2rem;
  font-size: 0.8125rem;
  color: var(--tfc-muted);
  line-height: 1.6;
}

.tfc-section-heading {
  font-size: clamp(1.625rem, 4vw, 2.25rem);
  font-weight: 700;
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  line-height: 1.25;
}

/* Responsive Overrides */
@media (max-width: 1120px) {
  .tfc-search-box {
    display: none;
  }
}

@media (max-width: 960px) {
  .pharmacy-header-row {
    gap: 0.75rem;
  }
  .pharmacy-header .wp-block-navigation .wp-block-navigation-item__content {
    padding: 0.4rem 0.55rem;
    font-size: 0.875rem;
  }
  .tfc-announcement-bar {
    font-size: 0.75rem;
    gap: 0.75rem;
  }
  .tfc-search-box input[type="search"] {
    width: 110px;
    font-size: 0.8125rem;
    padding-left: 2rem;
  }
  .tfc-search-box input[type="search"]:focus {
    width: 140px;
  }
  .tfc-header-auth-link {
    padding: 0.4rem 0.6rem;
    font-size: 0.875rem;
  }
  .tfc-cart-pill {
    padding: 0.4rem 0.75rem;
    font-size: 0.8125rem;
  }
}

@media (max-width: 768px) {
  .pharmacy-hero h1 {
    font-size: clamp(1.75rem, 5vw, 2.25rem);
  }
  .pharmacy-footer-bottom {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 640px) {
  .pharmacy-header {
    padding-block: 0.65rem;
  }
  .pharmacy-header-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .pharmacy-brand {
    order: 1 !important;
    flex: 0 0 auto !important;
  }
  .pharmacy-brand .wp-block-site-title {
    font-size: 1.15rem;
  }
  .tfc-search-box {
    display: none !important;
  }
  .pharmacy-header-actions {
    order: 2 !important;
    margin-left: auto !important;
    gap: 0.5rem !important;
    flex: 0 0 auto !important;
  }
  .tfc-header-auth-link {
    display: none !important;
  }
  .tfc-cart-pill {
    padding: 0.35rem 0.65rem;
    font-size: 0.8125rem;
  }
  .tfc-cart-pill span:last-child {
    display: none !important;
  }
  .pharmacy-header .wp-block-navigation {
    order: 3 !important;
    margin-inline-start: 0 !important;
    flex: 0 0 auto !important;
  }
  .pharmacy-header .wp-block-navigation__responsive-container-open {
    padding: 0.25rem !important;
    margin: 0 !important;
  }
  .tfc-announcement-bar {
    font-size: 0.75rem;
    gap: 0.5rem;
    padding-inline: 0.5rem;
  }
  .tfc-announcement-bar span:first-child,
  .tfc-announcement-bar span:nth-child(2) {
    display: none !important;
  }
  .pharmacy-section {
    padding-inline: 1rem !important;
    padding-block: 2rem !important;
  }
  .wp-block-group.alignwide,
  .wp-block-group.alignfull {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .tmom-grouped-directory {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .tmom-directory-modern-wrap {
    padding-inline: 0 !important;
    padding-block: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .tmom-dir-header h1 {
    font-size: clamp(1.5rem, 5vw, 2rem);
    line-height: 1.25;
    word-break: break-word;
  }
  .tfc-section-heading {
    font-size: clamp(1.5rem, 5vw, 1.875rem);
    word-break: break-word;
  }
}

/* Hero Clinics List */
.tfc-hero-clinic-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  background: var(--tfc-surface);
  border: 1px solid var(--tfc-hairline);
  text-decoration: none;
  color: var(--tfc-dark);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.tfc-hero-clinic-item:hover {
  border-color: var(--tfc-primary);
  background: #f0f6fc;
}
.tfc-hero-clinic-title {
  font-weight: 600;
  font-size: 0.9375rem;
}
.tfc-hero-clinic-price {
  font-size: 0.8125rem;
  color: var(--tfc-primary);
  font-weight: 600;
}

/* Treatment Grid Fallback Styles */
.tfc-treatments-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}
.tfc-card-header-badge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
.tfc-card-pill {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--tfc-primary);
  background: var(--tfc-primary-tint);
  padding: 0.2rem 0.6rem;
  border-radius: var(--tfc-radius-full);
}
.tfc-price-tag-none {
  font-size: 0.8125rem;
  color: var(--tfc-muted);
  font-weight: 500;
}
.tfc-empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 3rem;
  border: 1px dashed var(--tfc-hairline);
  border-radius: var(--tfc-radius-md);
  color: var(--tfc-muted);
}

/* ==========================================================================
   Treatment Module Directory Theme Integration
   ========================================================================== */
.tmom-directory-modern-wrap {
  box-sizing: border-box;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: 1.5rem;
  padding-block: 2.5rem 4rem;
}

/* Directory Header */
.tmom-dir-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 2.5rem auto;
}
.tmom-dir-header h1 {
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 700;
  color: var(--tfc-dark);
  margin-block: 0.75rem 0.5rem;
  letter-spacing: -0.02em;
}
.tmom-dir-header p {
  font-size: 1.0625rem;
  color: var(--tfc-muted);
  line-height: 1.6;
  margin: 0;
}

/* Category Navigation Bar */
.tmom-directory-group-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-bottom: 3rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--tfc-hairline);
}
.tmom-directory-group-nav a {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 1rem;
  border-radius: var(--tfc-radius-full);
  background: var(--tfc-surface);
  border: 1px solid var(--tfc-hairline);
  color: var(--tfc-dark);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.15s ease;
}
.tmom-directory-group-nav a:hover,
.tmom-directory-group-nav a:focus-visible {
  border-color: var(--tfc-primary);
  background: var(--tfc-primary-tint);
  color: var(--tfc-primary);
}

/* Group Sections */
.tmom-directory-groups {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
.tmom-directory-group {
  scroll-margin-top: 80px;
}
.tmom-directory-group-heading {
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--tfc-hairline);
}
.tmom-directory-group-heading h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--tfc-dark);
  margin: 0 0 0.25rem 0;
}
.tmom-directory-group-heading p {
  font-size: 0.9375rem;
  color: var(--tfc-muted);
  margin: 0;
}

/* Grid Layout & Cards */
.tmom-group-treatment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
.tmom-group-treatment-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.125rem;
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-md);
  text-decoration: none !important;
  color: var(--tfc-dark);
  box-shadow: var(--tfc-shadow-sm);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  min-height: 84px;
  box-sizing: border-box;
}
.tmom-group-treatment-link:hover,
.tmom-group-treatment-link:focus-visible {
  border-color: var(--tfc-primary);
  box-shadow: var(--tfc-shadow-md);
  transform: translateY(-2px);
}
.tmom-group-treatment-link img {
  width: 56px;
  height: 56px;
  border-radius: var(--tfc-radius-sm);
  object-fit: cover;
  flex-shrink: 0;
  background: var(--tfc-surface);
}
.tmom-group-treatment-copy {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1 1 auto;
  min-width: 0;
}
.tmom-group-treatment-copy strong {
  font-size: 1rem;
  font-weight: 600;
  color: var(--tfc-dark);
  line-height: 1.35;
}
.tmom-group-treatment-copy small {
  font-size: 0.8125rem;
  color: var(--tfc-muted);
  line-height: 1.45;
}
.tmom-group-treatment-arrow {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: var(--tfc-radius-full);
  background: var(--tfc-primary-tint);
  color: var(--tfc-primary);
  font-weight: 700;
  flex-shrink: 0;
  margin-left: auto;
  transition: background 0.15s ease, color 0.15s ease;
}
.tmom-group-treatment-link:hover .tmom-group-treatment-arrow {
  background: var(--tfc-primary);
  color: #ffffff;
}

/* Responsive Grid */
@media (max-width: 960px) {
  .tmom-group-treatment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .tmom-directory-modern-wrap {
    padding-inline: 1rem;
    padding-block: 2rem 3rem;
  }
  .tmom-group-treatment-grid {
    grid-template-columns: 1fr;
    gap: 0.875rem;
  }
  .tmom-group-treatment-link {
    padding: 0.875rem;
  }
  .tmom-group-treatment-link img {
    width: 48px;
    height: 48px;
  }
  .tmom-directory-groups {
    gap: 2.5rem;
  }
}

/* ==========================================================================
   Treatment Module Patient Consultation / RAF UI Theme Integration
   ========================================================================== */

/* 1. App Scoping & Container */
.tmom-patient-app {
  font-family: var(--tfc-font-sans);
  color: var(--tfc-dark);
  --tmom-consultation-accent: var(--tfc-primary);
  --tmom-consultation-accent-hover: var(--tfc-primary-hover);
  --tmom-consultation-shadow: rgba(0, 138, 100, 0.25);
  --tmom-progress-gradient: linear-gradient(90deg, #22c197 0%, #008a64 100%);
}

/*
 * Treatment landing pages and fallback consultation screens use these shared
 * plugin button classes, rather than the RAF form button classes below.
 * Keep this visual integration in the theme so the module remains portable.
 */
.tmom-treatment-module .tmom-btn-primary,
.tmom-treatment-module .tmom-clean-btn-dark {
  background: var(--tfc-primary) !important;
  background-image: none !important;
  color: #ffffff !important;
  border-color: var(--tfc-primary) !important;
  box-shadow: 0 2px 10px rgba(0, 138, 100, 0.25) !important;
  font-family: var(--tfc-font-sans) !important;
}

.tmom-treatment-module .tmom-btn-primary:hover,
.tmom-treatment-module .tmom-clean-btn-dark:hover {
  background: var(--tfc-primary-hover) !important;
  background-image: none !important;
  border-color: var(--tfc-primary-hover) !important;
  box-shadow: 0 4px 14px rgba(0, 138, 100, 0.3) !important;
  color: #ffffff !important;
}

.tmom-patient-app.tmom-consultation-standalone,
.tmom-patient-app.tmom-choose-treatment-page {
  max-width: 1280px;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5rem;
  box-sizing: border-box;
}

/* Back Link to Treatment */
.tmom-consultation-backlink,
.tmom-consultation-backlink a,
.tmom-consultation-backlink .tmom-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--tfc-primary);
  text-decoration: none;
  margin-block-end: 1.5rem;
  transition: color 0.15s ease;
}
.tmom-consultation-backlink:hover,
.tmom-consultation-backlink a:hover,
.tmom-consultation-backlink .tmom-back-link:hover {
  color: var(--tfc-primary-hover);
  text-decoration: underline;
}

/* 2. Top Stepped Progress Header Bar */
.tmom-stepper-header-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-block-end: 2.25rem;
  padding: 1rem 1.75rem;
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  box-shadow: var(--tfc-shadow-sm);
  box-sizing: border-box;
}

.tmom-step-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  opacity: 0.65;
  transition: opacity 0.2s ease;
}
.tmom-step-nav-item.active,
.tmom-step-nav-item.completed {
  opacity: 1;
}

.tmom-step-icon {
  width: 32px;
  height: 32px;
  border-radius: var(--tfc-radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 700;
  background: var(--tfc-surface-alt);
  color: var(--tfc-muted);
  flex-shrink: 0;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.tmom-step-nav-item.completed .tmom-step-icon {
  background: var(--tfc-primary);
  color: #ffffff;
}

.tmom-step-nav-item.active .tmom-step-icon {
  background: var(--tfc-primary);
  color: #ffffff;
  box-shadow: 0 0 0 4px var(--tfc-primary-tint);
}

.tmom-step-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--tfc-muted);
  font-family: var(--tfc-font-sans);
}
.tmom-step-nav-item.completed .tmom-step-text {
  color: var(--tfc-dark);
}
.tmom-step-nav-item.active .tmom-step-text {
  color: var(--tfc-primary);
  font-weight: 700;
}

.tmom-step-line {
  flex: 0 1 50px;
  height: 2px;
  background: var(--tfc-hairline);
  transition: background 0.2s ease;
}
.tmom-step-line.active {
  background: var(--tfc-primary);
}

/* 3. Main Headings */
.tmom-raf-page-heading {
  margin-block-end: 1.75rem;
}
.tmom-raf-main-title {
  font-family: var(--tfc-font-sans) !important;
  font-size: clamp(1.75rem, 3.5vw, 2.35rem) !important;
  font-weight: 700 !important;
  color: var(--tfc-dark) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.2 !important;
  margin-block: 0 0.5rem !important;
}
.tmom-raf-main-subtitle {
  font-family: var(--tfc-font-sans) !important;
  font-size: 0.95rem !important;
  color: var(--tfc-muted) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* 4. Accordion Step Cards */
.tmom-raf-steps-container {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.tmom-raf-step-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  overflow: hidden;
  box-shadow: var(--tfc-shadow-sm);
  transition: box-shadow 0.15s ease;
}

.tmom-raf-step-card.active {
  border-color: var(--tfc-primary) !important;
  box-shadow: var(--tfc-shadow-md);
}

.tmom-step-card-header {
  padding: 1.15rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
  background: #ffffff;
  user-select: none;
  transition: background 0.15s ease;
}
.tmom-step-card-header:hover {
  background: var(--tfc-surface);
}

.tmom-step-num-badge {
  width: 32px;
  height: 32px;
  border-radius: var(--tfc-radius-full);
  background: var(--tfc-primary);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
  flex-shrink: 0;
}

.tmom-step-title {
  font-family: var(--tfc-font-sans) !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  color: var(--tfc-dark) !important;
  margin: 0 !important;
}
.tmom-step-desc {
  font-family: var(--tfc-font-sans) !important;
  font-size: 0.875rem !important;
  color: var(--tfc-muted) !important;
  line-height: 1.5 !important;
  margin: 0.25rem 0 0 0 !important;
}

.tmom-step-toggle-arrow {
  font-size: 1.125rem;
  color: var(--tfc-muted);
  transition: transform 0.2s ease, color 0.2s ease;
}
.tmom-raf-step-card.active .tmom-step-toggle-arrow {
  transform: rotate(180deg);
  color: var(--tfc-primary);
}

.tmom-step-card-body {
  padding: 0 1.5rem 1.75rem 1.5rem;
  border-top: 1px solid var(--tfc-hairline);
}

/* 5. Question Items & Badges */
.tmom-step-questions-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-top: 1.25rem;
}

.tmom-question-block {
  background: #ffffff;
  border-bottom: 1px solid var(--tfc-hairline);
  padding-bottom: 1.25rem;
}
.tmom-question-block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.tmom-q-badge {
  background: var(--tfc-primary-tint);
  color: var(--tfc-primary);
  font-weight: 700;
  font-size: 0.8125rem;
  width: 24px;
  height: 24px;
  border-radius: var(--tfc-radius-full);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.tmom-q-title {
  font-family: var(--tfc-font-sans) !important;
  font-size: 0.9688rem !important;
  font-weight: 600 !important;
  color: var(--tfc-dark) !important;
  line-height: 1.45 !important;
  display: block;
}
.tmom-q-desc {
  font-size: 0.875rem;
  color: var(--tfc-muted);
  line-height: 1.55;
  margin-top: 0.35rem;
}

/* 6. Pill Button Toggles (Yes / No) */
.tmom-pill-toggle-group {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 0.6rem;
}

.tmom-pill-btn {
  background: #ffffff;
  border: 1.5px solid var(--tfc-hairline);
  color: var(--tfc-dark);
  padding: 8px 26px;
  border-radius: var(--tfc-radius-full);
  font-size: 0.9375rem;
  font-weight: 600;
  font-family: var(--tfc-font-sans);
  cursor: pointer;
  transition: all 0.18s ease;
  outline: none;
  box-sizing: border-box;
}
.tmom-pill-btn:hover {
  background: var(--tfc-primary-tint);
  border-color: var(--tfc-primary);
  color: var(--tfc-primary);
}
.tmom-pill-toggle-group .tmom-pill-btn.active,
.tmom-pill-btn.active,
.tmom-pill-btn.active:hover,
.tmom-pill-btn.active:focus {
  background: var(--tfc-primary) !important;
  background-color: var(--tfc-primary) !important;
  border-color: var(--tfc-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0, 138, 100, 0.25) !important;
  transition: none !important;
}

/* 7. Form Controls (Text, Textarea, Select) */
.tmom-input-text,
.tmom-input-select,
.tmom-input-textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-sm);
  font-family: var(--tfc-font-sans);
  font-size: 0.9375rem;
  background: #ffffff;
  color: var(--tfc-dark);
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.tmom-input-text:focus,
.tmom-input-select:focus,
.tmom-input-textarea:focus {
  outline: none;
  border-color: var(--tfc-primary);
  box-shadow: 0 0 0 3px rgba(0, 138, 100, 0.15);
}

/* 8. Choice Cards (Vertical Radios & Checkboxes) */
.tmom-choice-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: #ffffff;
  border: 1.5px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-sm);
  cursor: pointer;
  transition: all 0.18s ease;
}
.tmom-choice-card:hover {
  background: var(--tfc-primary-tint);
  border-color: var(--tfc-primary);
}
.tmom-choice-card input:checked ~ .tmom-choice-label {
  font-weight: 700;
  color: var(--tfc-primary);
}
.tmom-choice-label {
  font-size: 0.9375rem;
  color: var(--tfc-dark);
}

/* 9. Nested Expansions & Consent Cards */
.tmom-nested-expansion {
  background: var(--tfc-surface);
  border: 1.5px dashed #cbd5e1;
  border-radius: var(--tfc-radius-md);
  padding: 14px 18px;
  margin-top: 10px;
}
.tmom-nested-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--tfc-primary);
  margin-bottom: 6px;
}
.tmom-nested-q-title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--tfc-dark);
  margin-bottom: 4px;
}
.tmom-nested-q-desc {
  font-size: 0.8125rem;
  color: var(--tfc-muted);
  margin-bottom: 8px;
}

.tmom-consent-checkbox-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: var(--tfc-primary-tint);
  border: 1.5px solid #cbd5e1;
  border-radius: var(--tfc-radius-sm);
  cursor: pointer;
}
.tmom-consent-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--tfc-dark);
}

/* 10. Inline Clinical Alerts (Preserving Safety Red/Amber) */
.tmom-inline-stop-alert {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-left: 4px solid #dc2626;
  border-radius: var(--tfc-radius-sm);
  padding: 12px 16px;
  margin-top: 10px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.tmom-stop-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: #991b1b;
  line-height: 1.5;
}

.tmom-inline-warn-alert {
  background: #fffbeb;
  border: 1px solid #fef3c7;
  border-left: 4px solid #d97706;
  border-radius: var(--tfc-radius-sm);
  padding: 12px 16px;
  margin-top: 10px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.tmom-warn-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: #92400e;
  line-height: 1.5;
}

/* 11. Step Actions Footer & Buttons */
.tmom-step-actions-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--tfc-hairline);
  gap: 1rem;
}

.tmom-btn-step-prev {
  background: #ffffff;
  border: 1.5px solid var(--tfc-hairline);
  color: var(--tfc-muted);
  padding: 10px 22px;
  border-radius: var(--tfc-radius-full);
  font-family: var(--tfc-font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.tmom-btn-step-prev:hover {
  background: var(--tfc-surface);
  border-color: #cbd5e1;
  color: var(--tfc-dark);
}

.tmom-btn-step-next,
.tmom-btn-step-continue {
  background: var(--tfc-primary) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 11px 26px !important;
  border-radius: var(--tfc-radius-full) !important;
  font-family: var(--tfc-font-sans) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(0, 138, 100, 0.25) !important;
  transition: background 0.15s ease, transform 0.15s ease !important;
}
.tmom-btn-step-next:hover,
.tmom-btn-step-continue:hover {
  background: var(--tfc-primary-hover) !important;
  transform: translateY(-1px) !important;
}
.tmom-btn-step-next:disabled,
.tmom-btn-step-continue:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

.tmom-btn-submit-consultation {
  background: var(--tfc-green) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 12px 28px !important;
  border-radius: var(--tfc-radius-full) !important;
  font-family: var(--tfc-font-sans) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(0, 182, 122, 0.25) !important;
  transition: background 0.15s ease, transform 0.15s ease !important;
}
.tmom-btn-submit-consultation:hover {
  background: #009e6a !important;
  transform: translateY(-1px) !important;
}
.tmom-btn-submit-consultation:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  filter: grayscale(0.2) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* 12. Right Sticky Sidebar Cards */
.tmom-consultation-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  position: sticky;
  top: 90px;
}

.tmom-sidebar-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  padding: 1.5rem 1.25rem;
  box-shadow: var(--tfc-shadow-sm);
}

.tmom-sidebar-title {
  font-family: var(--tfc-font-sans) !important;
  font-size: 1.0625rem !important;
  font-weight: 700 !important;
  color: var(--tfc-dark) !important;
  margin: 0 0 0.85rem 0 !important;
}

.tmom-progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--tfc-muted);
  margin-bottom: 0.5rem;
}
.tmom-progress-percent {
  color: var(--tfc-primary);
  font-weight: 700;
}

.tmom-progress-track {
  width: 100%;
  height: 8px;
  background: var(--tfc-hairline);
  border-radius: var(--tfc-radius-full);
  overflow: hidden;
}
.tmom-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--tfc-primary), var(--tfc-primary-hover));
  border-radius: var(--tfc-radius-full);
  transition: width 0.35s ease;
}

.tmom-trust-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.tmom-trust-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8438rem;
  color: var(--tfc-muted);
}
.tmom-trust-icon {
  font-size: 1rem;
  flex-shrink: 0;
}

.tmom-help-text {
  font-size: 0.8438rem !important;
  color: var(--tfc-muted) !important;
  line-height: 1.5 !important;
  margin: 0 0 0.85rem 0 !important;
}
.tmom-help-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--tfc-primary);
  text-decoration: none;
}
.tmom-help-link:hover {
  color: var(--tfc-primary-hover);
  text-decoration: underline;
}

/* 13. Guest Authentication Gate */
.tmom-auth-gate {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  padding: 1.75rem;
  margin-top: 1.5rem;
  box-shadow: var(--tfc-shadow-sm);
}
.tmom-auth-gate-title {
  font-family: var(--tfc-font-sans);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--tfc-dark);
  margin: 0 0 0.5rem 0;
}
.tmom-auth-gate-intro {
  font-size: 0.875rem;
  color: var(--tfc-muted);
  margin-bottom: 1.25rem;
}
.tmom-auth-tabs {
  display: flex;
  gap: 1rem;
  border-bottom: 1px solid var(--tfc-hairline);
  margin-bottom: 1.25rem;
}
.tmom-auth-tab {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 0.5rem 0.25rem;
  font-family: var(--tfc-font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--tfc-muted);
  cursor: pointer;
}
.tmom-auth-tab.active {
  color: var(--tfc-primary);
  border-bottom-color: var(--tfc-primary);
}
.tmom-auth-submit {
  background: var(--tfc-primary) !important;
  color: #ffffff !important;
  border-radius: var(--tfc-radius-full) !important;
  padding: 10px 24px !important;
  font-family: var(--tfc-font-sans) !important;
  font-weight: 600 !important;
}
.tmom-auth-submit:hover {
  background: var(--tfc-primary-hover) !important;
}

/* 14. Unlocked Prescription Medicines Grid */
#tmom-unlocked-medicines {
  margin-top: 2rem;
}
.tmom-success-banner {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-left: 4px solid var(--tfc-green);
  border-radius: var(--tfc-radius-sm);
  padding: 12px 18px;
  font-size: 0.9375rem;
  color: #166534;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
/* ==========================================================================
   TFC TREATMENT SINGLE PAGE SUITE (Matching The Family Chemist Aesthetics)
   ========================================================================== */

/* Top Trust Bar & Breadcrumbs */
.tfc-treatment-top-bar {
  margin-bottom: 1.5rem;
}
.tfc-treatment-top-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: var(--tfc-radius-md);
  padding: 10px 20px;
  margin-bottom: 1rem;
  font-size: 0.85rem;
  color: #475569;
}
.tfc-treatment-top-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.tfc-treatment-top-item .tfc-trust-icon {
  font-size: 1.1rem;
}
.tfc-treatment-top-item strong {
  color: #0f172a;
  font-weight: 700;
}
.tfc-treatment-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: #64748b;
  padding: 4px 2px;
}
.tfc-treatment-breadcrumbs a {
  color: #64748b;
  text-decoration: none;
  transition: color 0.15s ease;
}
.tfc-treatment-breadcrumbs a:hover {
  color: #0f172a;
  text-decoration: underline;
}
.tfc-bc-sep {
  color: #cbd5e1;
  font-size: 1rem;
}
.tfc-bc-current {
  color: #0f172a;
  font-weight: 600;
}

/* Treatment Clean Hero */
.tmom-treatment-clean-hero {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 44px 40px;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 40px;
  align-items: center;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.04);
  margin-bottom: 2.75rem;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}
.tfc-hero-badges-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.tmom-clean-pill-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 9999px;
  letter-spacing: 0.01em;
}
.tfc-hero-price-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #eff6ff;
  color: #1e40af;
  border: 1px solid #bfdbfe;
  font-size: 0.8125rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 9999px;
}
.tfc-hero-price-pill strong {
  font-weight: 800;
  color: #1d4ed8;
}

/* Keep the treatment hero badges on one shared baseline. The module's
   default clinical badge has a bottom margin, which nudges it upward beside
   the price badge. */
.tmom-treatment-clean-hero .tfc-hero-badges-row > .tmom-clean-pill-badge,
.tmom-treatment-clean-hero .tfc-hero-badges-row > .tfc-hero-price-pill {
  height: 38px;
  min-height: 38px;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  box-sizing: border-box;
}
.tmom-clean-hero-title {
  font-family: var(--tfc-font-sans) !important;
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 16px 0 !important;
}
.tmom-clean-hero-desc {
  font-size: 1.05rem !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  margin: 0 0 24px 0 !important;
  max-width: 620px;
}
.tmom-clean-cta-row {
  margin-bottom: 24px;
}
.tmom-clean-btn-dark {
  background: #0f172a !important;
  color: #ffffff !important;
  border: none !important;
  padding: 14px 28px !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  border-radius: var(--tfc-radius-full) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.15) !important;
}
.tmom-clean-btn-dark:hover {
  background: #1e293b !important;
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.25) !important;
  color: #ffffff !important;
}
.tmom-clean-trust-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 20px;
  padding-top: 20px;
  border-top: 1px solid #e2e8f0;
}
.tmom-clean-trust-item {
  font-size: 0.85rem;
  font-weight: 600;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tmom-clean-hero-media {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tmom-clean-hero-img {
  width: 100%;
  max-height: 320px;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

/* Section Header Badges */
.tfc-section-pill {
  display: inline-block;
  background: #f1f5f9;
  color: #475569;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 12px;
  border-radius: 9999px;
  margin-bottom: 8px;
}
.tmom-med-section-header {
  margin-bottom: 2rem;
  text-align: left;
}
.tmom-med-section-header h2 {
  font-size: 1.875rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em !important;
  margin: 4px 0 8px 0 !important;
}
.tmom-med-section-header p {
  color: #64748b;
  font-size: 1rem;
  margin: 0;
  max-width: 700px;
}

/* Available Prescription Treatments Grid */
.tmom-med-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.75rem;
  margin-bottom: 3rem;
}
.tmom-med-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease;
  position: relative;
  overflow: hidden;
}
.tmom-med-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.09);
  border-color: #cbd5e1;
}
.tmom-med-card-top {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.tmom-med-details-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.tmom-med-details-link:focus-visible {
  outline: 3px solid #1e5bb8;
  outline-offset: 4px;
  border-radius: 10px;
}
.tmom-med-details-link:hover .tmom-med-title {
  color: #1e5bb8;
}
.tmom-med-details-cta {
  display: inline-block;
  margin: 0 0 1.25rem;
  color: #1e5bb8;
  font-size: 0.85rem;
  font-weight: 700;
}
.tmom-med-badge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 14px;
}
.tfc-med-type-badge {
  background: #f1f5f9;
  color: #334155;
  font-size: 0.725rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.tfc-med-proven-badge {
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #dcfce7;
  font-size: 0.725rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 9999px;
}
.tmom-med-image {
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  border: 1px solid #f1f5f9;
  border-radius: 14px;
  margin-bottom: 1.25rem;
  overflow: hidden;
  padding: 16px;
}
.tmom-med-image img {
  max-height: 168px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}
.tmom-med-card:hover .tmom-med-image img {
  transform: scale(1.04);
}
.tmom-med-title {
  font-family: var(--tfc-font-sans);
  font-size: 1.2rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  margin: 0 0 8px 0;
}
.tmom-med-price-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 12px;
}
.tfc-price-from-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #64748b;
}
.tmom-med-price {
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1;
}
.tmom-med-price .amount {
  color: #0f172a;
}
.tfc-med-checklist {
  list-style: none;
  padding: 0;
  margin: 0 0 14px 0;
  font-size: 0.825rem;
  color: #475569;
}
.tfc-med-checklist li {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.tfc-med-checklist li span {
  color: #16a34a;
  font-weight: 800;
}
.tmom-med-desc {
  font-size: 0.85rem;
  line-height: 1.5;
  color: #64748b;
  margin: 0 0 1.25rem 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tmom-med-card-bottom {
  margin-top: auto;
  padding-top: 10px;
}
.tmom-med-card .tmom-clean-btn-dark {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* How The Clinical Service Works (4 steps) */
.tfc-treatment-how-it-works {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 44px 36px;
  margin-bottom: 3rem;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.02);
}
.tfc-hiw-header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 36px auto;
}
.tfc-hiw-header h2 {
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em !important;
  margin: 6px 0 10px 0 !important;
}
.tfc-hiw-header p {
  color: #64748b;
  font-size: 1rem;
  margin: 0;
  line-height: 1.55;
}
.tfc-hiw-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.tfc-hiw-card {
  background: #f8fafc;
  border: 1px solid #f1f5f9;
  border-radius: 18px;
  padding: 24px 20px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.tfc-hiw-card:hover {
  transform: translateY(-3px);
  border-color: #cbd5e1;
}
.tfc-hiw-step-badge {
  background: #0f172a;
  color: #ffffff;
  font-size: 0.725rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 9999px;
  margin-bottom: 14px;
}
.tfc-hiw-icon {
  font-size: 2rem;
  margin-bottom: 12px;
}
.tfc-hiw-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 8px 0;
}
.tfc-hiw-card p {
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.55;
  margin: 0;
}

/* Treatment FAQs Accordion */
.tfc-treatment-faqs {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 44px 36px;
  margin-bottom: 3rem;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.02);
}
.tfc-faqs-header {
  margin-bottom: 28px;
  text-align: left;
}
.tfc-faqs-header h2 {
  font-size: 1.875rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em !important;
  margin: 6px 0 8px 0 !important;
}
.tfc-faqs-header p {
  color: #64748b;
  font-size: 1rem;
  margin: 0;
}
.tfc-accordion {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.tfc-accordion-item {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.tfc-accordion-item:hover {
  border-color: #cbd5e1;
}
.tfc-accordion-trigger {
  width: 100%;
  background: #f8fafc;
  border: none;
  padding: 18px 22px;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  font-family: var(--tfc-font-sans);
  transition: background 0.15s ease;
}
.tfc-accordion-trigger:hover {
  background: #f1f5f9;
}
.tfc-accordion-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
}
.tfc-accordion-icon {
  font-size: 1.35rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1;
}
.tfc-accordion-trigger[aria-expanded="true"] .tfc-icon-plus {
  display: none;
}
.tfc-accordion-trigger[aria-expanded="true"] .tfc-icon-minus {
  display: inline;
}
.tfc-accordion-trigger[aria-expanded="false"] .tfc-icon-plus {
  display: inline;
}
.tfc-accordion-trigger[aria-expanded="false"] .tfc-icon-minus {
  display: none;
}
.tfc-accordion-content {
  padding: 20px 24px;
  font-size: 0.95rem;
  color: #475569;
  line-height: 1.65;
  background: #ffffff;
  border-top: 1px solid #f1f5f9;
}
.tfc-accordion-content p {
  margin: 0;
}

/* Regulated Care Safety Charter */
.tfc-treatment-safety-charter {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 40px 36px;
  margin-bottom: 3rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
}
.tfc-charter-inner {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  gap: 36px;
  align-items: center;
}
.tfc-charter-badge {
  display: inline-block;
  background: #eff6ff;
  color: #1e40af;
  border: 1px solid #bfdbfe;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 9999px;
  margin-bottom: 12px;
}
.tfc-charter-left h2 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 12px 0 !important;
}
.tfc-charter-left p {
  color: #475569;
  font-size: 0.95rem;
  line-height: 1.65;
  margin: 0 0 20px 0;
}
.tfc-charter-pillars {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tfc-pillar-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.9rem;
  color: #334155;
}
.tfc-pillar-check {
  color: #16a34a;
  font-weight: 800;
  font-size: 1.1rem;
  line-height: 1.2;
}
.tfc-charter-seal-box {
  background: #ffffff;
  border: 2px solid #e2e8f0;
  border-radius: 20px;
  padding: 28px 24px;
  text-align: center;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}
.tfc-seal-icon {
  font-size: 2.75rem;
  margin-bottom: 8px;
}
.tfc-seal-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #0f172a;
}
.tfc-seal-num {
  font-size: 0.95rem;
  font-weight: 700;
  color: #0284c7;
  margin: 4px 0 6px 0;
}
.tfc-seal-sub {
  font-size: 0.8rem;
  color: #64748b;
  margin-bottom: 14px;
}
.tfc-seal-verified {
  display: inline-block;
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
  font-size: 0.775rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 9999px;
}

/* Consultation Bottom Action Card */
.tmom-consultation-cta-card {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
  border: none !important;
  border-radius: 24px !important;
  padding: 36px 40px !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18) !important;
  margin-bottom: 2rem !important;
}
.tmom-consultation-cta-card h3 {
  color: #ffffff !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
}
.tmom-consultation-cta-card p {
  color: #cbd5e1 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}
.tmom-consultation-cta-card .tmom-btn-primary {
  background: #0284c7 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 14px 28px !important;
  border-radius: var(--tfc-radius-full) !important;
  box-shadow: 0 4px 16px rgba(2, 132, 199, 0.35) !important;
  transition: all 0.2s ease !important;
}
.tmom-consultation-cta-card .tmom-btn-primary:hover {
  background: #0369a1 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(2, 132, 199, 0.5) !important;
}

/* The CTA markup carries its own dark inline text colours, so use a more
   specific theme rule to maintain contrast on the navy card. */
html body .pharmacy-main .tmom-consultation-cta-card h3,
html body .pharmacy-treatment-content .tmom-consultation-cta-card h3 {
  color: #ffffff !important;
  border: 0 !important;
}

html body .pharmacy-main .tmom-consultation-cta-card p,
html body .pharmacy-treatment-content .tmom-consultation-cta-card p {
  color: #e2e8f0 !important;
}

/* The account welcome title is an h2 (not an h3); WooCommerce's account
   heading rule was therefore still overriding its intended white contrast. */
html body .tfc-dashboard-welcome-banner h2.tfc-dashboard-title {
  color: #ffffff !important;
  border: 0 !important;
  padding: 0 !important;
}

html body .tfc-dashboard-welcome-banner p.tfc-dashboard-subtitle {
  color: #f1f5f9 !important;
}

/* Final CTA contrast safeguard for treatment templates and shortcode output. */
html body .tmom-consultation-cta-card h3,
html body .tmom-consultation-cta-card h3[style],
html body .tmom-consultation-cta-card p,
html body .tmom-consultation-cta-card p[style] {
  color: #ffffff !important;
}

html body .tmom-consultation-cta-card p,
html body .tmom-consultation-cta-card p[style] {
  color: #e2e8f0 !important;
}

/* Responsive Adjustments for Treatment Single */
@media (max-width: 1024px) {
  .tfc-hiw-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 860px) {
  .tmom-treatment-clean-hero {
    grid-template-columns: 1fr;
    padding: 28px 22px;
    gap: 24px;
  }
  .tmom-clean-hero-title {
    font-size: 2rem !important;
  }
  .tfc-charter-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width: 640px) {
  .tfc-hiw-grid {
    grid-template-columns: 1fr;
  }
  .tfc-treatment-top-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 16px;
  }
  .tmom-med-grid {
    grid-template-columns: 1fr;
  }
  .tfc-treatment-how-it-works,
  .tfc-treatment-faqs,
  .tfc-treatment-safety-charter {
    padding: 28px 18px;
    border-radius: 18px;
  }
}

/* 15. Mobile & Responsive Layout Adjustments */
@media (max-width: 960px) {
  .tmom-consultation-grid-layout {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .tmom-consultation-sidebar {
    position: static;
    top: auto;
  }
}

@media (max-width: 640px) {
  .tmom-patient-app.tmom-consultation-standalone,
  .tmom-patient-app.tmom-choose-treatment-page {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-inline: 0 !important;
  }

  #tmom-consultation-section,
  .tmom-consultation-stepped-wrapper {
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    margin: 10px 0 30px 0 !important;
  }

  .tmom-stepper-header-bar {
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none;
    white-space: nowrap !important;
    padding: 10px 14px !important;
    margin-bottom: 1.5rem !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    border-radius: var(--tfc-radius-md) !important;
  }
  .tmom-stepper-header-bar::-webkit-scrollbar {
    display: none;
  }

  .tmom-step-nav-item {
    flex: 0 0 auto !important;
    gap: 6px !important;
  }
  .tmom-step-icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 0.75rem !important;
  }
  .tmom-step-text {
    font-size: 0.8125rem !important;
  }
  .tmom-step-line {
    flex: 0 0 20px !important;
    min-width: 20px !important;
  }

  .tmom-step-card-header {
    padding: 1rem 1.15rem;
    gap: 0.75rem;
  }
  .tmom-step-card-body {
    padding: 0 1.15rem 1.25rem 1.15rem;
  }

  .tmom-pill-toggle-group {
    display: flex !important;
    width: 100% !important;
    gap: 8px !important;
  }
  .tmom-pill-btn {
    flex: 1 1 0 !important;
    text-align: center !important;
    padding: 11px 16px !important;
    min-height: 44px !important;
  }

  .tmom-step-actions-footer {
    display: flex !important;
    flex-direction: column-reverse !important;
    align-items: stretch !important;
    width: 100% !important;
    box-sizing: border-box !important;
    gap: 10px !important;
  }
  .tmom-step-actions-footer > * {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .tmom-btn-step-next,
  .tmom-btn-submit-consultation {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 12px 18px !important;
  }

  /* Guided question controls must keep their width styling without forcing a
     display value: the questionnaire script toggles them at each question. */
  .tmom-guided-question-nav .tmom-btn-step-prev,
  .tmom-guided-question-nav .tmom-guided-q-next {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 12px 18px !important;
  }

}

/* ==========================================================================
   THE FAMILY CHEMIST AUTHENTIC THEME & COMPONENT STYLES
   ========================================================================== */

/* Top Announcement Banner */
.tfc-top-banner {
  background-color: var(--tfc-banner, #e6f7f1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  padding: 6px 16px;
  position: relative;
  z-index: 1001;
  font-family: var(--tfc-font-sans);
}
.tfc-top-banner-inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tfc-banner-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.tfc-banner-pill-img {
  width: 54px;
  height: 38px;
  object-fit: contain;
  display: inline-block;
}
.tfc-banner-text {
  font-size: 0.9375rem;
  color: var(--tfc-dark, #222222);
  display: inline-flex;
  align-items: center;
  position: relative;
  min-height: 24px;
}
.tfc-banner-rotator {
  position: relative;
  overflow: hidden;
}
.tfc-banner-slide {
  display: none;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
}
.tfc-banner-slide.is-active {
  display: inline-block;
  opacity: 1;
  transform: translateY(0);
}
.tfc-banner-slide.is-leaving {
  display: inline-block;
  opacity: 0;
  transform: translateY(-6px);
}
.tfc-banner-text strong {
  font-weight: 700;
}
.tfc-banner-cta {
  color: var(--tfc-dark, #222222);
  text-decoration: underline;
  margin-left: 6px;
  white-space: nowrap;
  font-weight: 500;
  transition: opacity 0.2s ease;
}
.tfc-banner-cta:hover {
  opacity: 0.75;
}
.tfc-banner-arrow {
  display: inline-block;
  transition: transform 0.2s ease;
}
.tfc-banner-cta:hover .tfc-banner-arrow {
  transform: translateX(3px);
}

/* Sticky Main Navigation Header */
.tfc-main-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--tfc-hairline, #E5E7EB);
  padding: 10px 0;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.03);
}
.tfc-header-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.tfc-header-left {
  display: flex;
  align-items: center;
}
.tfc-header-logo-link {
  display: inline-block;
  text-decoration: none;
}
.tfc-main-logo {
  height: 38px;
  width: auto;
  display: block;
}
.tfc-brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.tfc-brand-cross-icon {
  height: 40px;
  width: auto;
  display: block;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.tfc-brand-lockup:hover .tfc-brand-cross-icon {
  transform: scale(1.05);
}
.tfc-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.tfc-brand-the {
  display: none;
}
.tfc-brand-title {
  font-family: var(--tfc-font-sans);
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--tfc-primary-strong, #04382c);
  letter-spacing: -0.025em;
  white-space: nowrap;
  text-transform: capitalize;
}
.tfc-header-right {
  display: flex;
  align-items: center;
  gap: 18px;
}
.tfc-user-greeting {
  font-family: var(--tfc-font-sans);
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--tfc-dark, #222222);
  text-decoration: none;
  transition: color 0.15s ease;
}
.tfc-user-greeting:hover {
  color: var(--tfc-primary, #008a64);
  text-decoration: underline;
}
.tfc-header-search {
  position: relative;
  display: flex;
  align-items: center;
}
.tfc-search-inline-form {
  display: none;
}
.tfc-search-toggle-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--tfc-surface-alt, #F2F2F2);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, transform 0.15s ease;
  padding: 0;
}
.tfc-search-toggle-btn:hover {
  background-color: #E2E2E2;
  transform: scale(1.05);
}
.tfc-header-cart {
  display: flex;
  align-items: center;
}
.tfc-cart-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  color: var(--tfc-dark, #222222);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.tfc-cart-btn:hover {
  transform: scale(1.05);
}
.tfc-cart-badge {
  position: absolute;
  top: -4px;
  right: -6px;
  background-color: var(--tfc-primary, #008a64);
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 700;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.tfc-hamburger-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s ease;
}
.tfc-hamburger-btn:hover {
  transform: scale(1.05);
}

/* Off-canvas Navigation Drawer */
.tfc-nav-drawer {
  position: fixed;
  inset: 0;
  z-index: 2000;
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0.3s ease;
}
.tfc-nav-drawer.is-active {
  visibility: visible;
  pointer-events: auto;
}
.tfc-nav-drawer-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.tfc-nav-drawer.is-active .tfc-nav-drawer-overlay {
  opacity: 1;
}
.tfc-nav-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 360px;
  max-width: 88vw;
  background: #ffffff;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 24px;
  box-sizing: border-box;
}
.tfc-nav-drawer.is-active .tfc-nav-drawer-panel {
  transform: translateX(0);
}
.tfc-nav-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--tfc-hairline, #E5E7EB);
  margin-bottom: 20px;
}
.tfc-drawer-logo {
  height: 32px;
  width: auto;
}
.tfc-drawer-close {
  background: none;
  border: none;
  font-size: 2rem;
  line-height: 1;
  color: var(--tfc-dark, #222222);
  cursor: pointer;
  padding: 0 4px;
}
.tfc-drawer-shop-action {
  margin-bottom: 24px;
}
.tfc-drawer-shop-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 13px 18px;
  background: #113c59;
  color: #ffffff !important;
  border-radius: 12px;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: -0.01em;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(17, 60, 89, 0.18);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}
.tfc-drawer-shop-btn:hover {
  background: #0d2e44;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(17, 60, 89, 0.28);
  color: #ffffff !important;
}
.tfc-drawer-shop-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.tfc-drawer-shop-icon {
  flex-shrink: 0;
  stroke: #2dd4bf;
  transition: transform 0.2s ease;
}
.tfc-drawer-shop-btn:hover .tfc-drawer-shop-icon {
  transform: scale(1.1);
}
.tfc-drawer-shop-arrow {
  font-size: 1.15rem;
  line-height: 1;
  color: #a5f3fc;
  transition: transform 0.2s ease;
}
.tfc-drawer-shop-btn:hover .tfc-drawer-shop-arrow {
  transform: translateX(4px);
  color: #ffffff;
}

.tfc-drawer-section {
  margin-bottom: 24px;
}
.tfc-drawer-heading {
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--tfc-muted, #6B7280);
  margin: 0 0 12px;
}
.tfc-drawer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tfc-drawer-links li {
  margin-bottom: 10px;
}
.tfc-drawer-links a {
  font-size: 0.95rem;
  color: var(--tfc-dark, #222222);
  text-decoration: none;
  font-weight: 500;
  display: block;
  transition: color 0.15s ease;
}
.tfc-drawer-links a:hover {
  color: var(--tfc-primary, #008a64);
}
.tfc-drawer-treatments-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 340px;
  overflow-y: auto;
  padding-right: 6px;
}
.tfc-drawer-treatments-list::-webkit-scrollbar {
  width: 4px;
}
.tfc-drawer-treatments-list::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 4px;
}
.tfc-drawer-treatments-list::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
.tfc-drawer-treatments-list li {
  margin-bottom: 2px;
}
.tfc-drawer-treatments-list a {
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 0.92rem;
  color: var(--tfc-dark, #222222);
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.tfc-drawer-treatments-list a:hover {
  background-color: #e6f7f1;
  color: var(--tfc-primary, #008a64);
  transform: translateX(4px);
}

/* Treatment Groups Accordion in Navigation Drawer */
.tfc-drawer-groups-accordion {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}
.tfc-drawer-group {
  border: 1px solid var(--tfc-hairline, #E5E7EB);
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.2s ease;
  background: #ffffff;
}
.tfc-drawer-group[open] {
  border-color: #cbd5e1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.tfc-drawer-group-summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--tfc-dark, #1e293b);
  cursor: pointer;
  background: #fafafa;
  user-select: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.tfc-drawer-group-summary::-webkit-details-marker {
  display: none;
}
.tfc-drawer-group-summary:hover {
  background: #f1f5f9;
  color: var(--tfc-primary, #008a64);
}
.tfc-drawer-group[open] .tfc-drawer-group-summary {
  background: #e6f7f1;
  color: var(--tfc-primary, #008a64);
  border-bottom: 1px solid #e2e8f0;
}
.tfc-drawer-group-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.tfc-drawer-group-count {
  font-size: 0.75rem;
  font-weight: 700;
  background: #e2e8f0;
  color: #475569;
  padding: 2px 8px;
  border-radius: 10px;
  min-width: 14px;
  text-align: center;
}
.tfc-drawer-group[open] .tfc-drawer-group-count {
  background: var(--tfc-primary, #008a64);
  color: #ffffff;
}
.tfc-drawer-chevron {
  transition: transform 0.2s ease;
  stroke: currentColor;
}
.tfc-drawer-group[open] .tfc-drawer-chevron {
  transform: rotate(180deg);
}
.tfc-drawer-group-links {
  padding: 8px 6px 10px 10px;
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: #ffffff;
}
.tfc-drawer-treatment-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 10px;
  border-radius: 6px;
  font-size: 0.88rem;
  color: #334155;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.tfc-drawer-treatment-link:hover {
  background: #f0f7fc;
  color: var(--tfc-primary, #008a64);
  transform: translateX(4px);
}
.tfc-drawer-arrow {
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.15s ease, transform 0.15s ease;
  stroke: currentColor;
}
.tfc-drawer-treatment-link:hover .tfc-drawer-arrow {
  opacity: 1;
  transform: translateX(0);
}
.tfc-drawer-all-treatments-cta {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed var(--tfc-hairline, #E5E7EB);
}
.tfc-drawer-all-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--tfc-primary, #008a64);
  text-decoration: none;
}
.tfc-drawer-all-link:hover {
  text-decoration: underline;
}

.tfc-treatment-badge-pill {
  display: inline-flex;
  align-items: center;
  background: #e6f7f1;
  color: var(--tfc-primary-strong, #04382c);
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  border: 1px solid #d0e4f2;
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */
.tfc-hero-section {
  background: #ffffff;
  padding: 36px 0 44px;
  position: relative;
  overflow: hidden;
  font-family: var(--tfc-font-sans);
}
.tfc-hero-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 40px;
  align-items: center;
}
.tfc-hero-content {
  padding-right: 12px;
}
.tfc-hero-title {
  font-size: clamp(2.25rem, 4.2vw, 3.25rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--tfc-dark, #222222);
  margin: 0 0 12px;
}
.tfc-hero-affordable {
  color: var(--tfc-primary, #008a64);
  font-weight: 800;
}
.tfc-hero-subtitle-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.tfc-hero-subtitle {
  font-size: 1.15rem;
  color: var(--tfc-muted, #6B7280);
  font-weight: 500;
}
.tfc-hero-heart {
  width: 24px;
  height: auto;
  display: inline-block;
}
.tfc-hero-heart.wp-block-image {
  margin: 0;
}

.tfc-hero-description {
  max-width: 580px;
  margin: 0 0 20px;
  color: var(--tfc-muted, #6B7280);
  font-size: 1.05rem;
  line-height: 1.6;
}

/* Hero Pill Search Bar */
.tfc-hero-search-wrapper {
  margin-bottom: 12px;
  max-width: 580px;
  width: 100%;
}
.tfc-hero-search-form {
  display: flex;
  align-items: center;
  background: var(--tfc-surface-alt, #F2F2F2);
  border-radius: var(--tfc-radius-full, 9999px);
  padding: 5px 8px 5px 22px;
  border: 1px solid transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.tfc-hero-search-form:focus-within {
  background-color: #ffffff;
  border-color: var(--tfc-primary, #008a64);
  box-shadow: 0 0 0 3px rgba(0, 138, 100, 0.15);
}
.tfc-hero-search-form .wp-block-search__inside-wrapper {
  display: flex;
  align-items: center;
  background: var(--tfc-surface-alt, #F2F2F2);
  border-radius: var(--tfc-radius-full, 9999px);
  padding: 5px 8px 5px 22px;
  border: 1px solid transparent;
}
.tfc-hero-search-form .wp-block-search__input {
  border: 0;
  background: transparent;
  min-width: 0;
  padding: 8px 0;
}
.tfc-hero-search-form .wp-block-search__button {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 9px;
}
.tfc-hero-search-input {
  border: none;
  background: transparent;
  font-size: 1rem;
  font-family: inherit;
  color: var(--tfc-dark, #222222);
  outline: none;
  width: 100%;
  padding: 8px 0;
}
.tfc-hero-search-input::placeholder {
  color: #888888;
}
.tfc-hero-search-submit {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s ease;
}
.tfc-hero-search-submit:hover {
  transform: scale(1.08);
}

/* NHS Prescriptions Card */
.tfc-nhs-card {
  border: 1.5px solid #d8f1e7;
  border-radius: 18px;
  padding: 22px 24px;
  background: #ffffff;
  max-width: 580px;
  width: 100%;
  box-shadow: 0 4px 18px rgba(4, 56, 44, 0.07);
  margin-top: 10px;
  margin-bottom: 22px;
  position: relative;
  overflow: hidden;
}
.tfc-nhs-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #008a64 0%, #22c197 100%);
}
.tfc-nhs-card-lead {
  font-size: 1.05rem;
  color: var(--tfc-dark, #222222);
  margin: 0 0 8px;
  line-height: 1.4;
}
.tfc-nhs-card-lead strong {
  font-weight: 700;
}
.tfc-nhs-card-description {
  margin: 0 0 16px;
  color: var(--tfc-muted, #6B7280);
  font-size: 0.92rem;
  line-height: 1.55;
}
.tfc-nhs-card-action {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.tfc-btn-switch-today {
  background: var(--tfc-primary-strong, #04382c);
  color: #ffffff;
  font-weight: 600;
  font-size: 0.95rem;
  padding: 11px 24px;
  border-radius: 8px;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.15s ease;
  display: inline-block;
}
.tfc-btn-switch-today:hover {
  background: #0f9f7d;
  transform: translateY(-1px);
}
.tfc-nhs-logo-wrap {
  display: flex;
  align-items: center;
}
.tfc-nhs-providing-logo {
  height: 40px;
  width: auto;
  object-fit: contain;
}

/* Hero 5-Photo Mosaic Grid */
.tfc-hero-media {
  position: relative;
  width: 100%;
}
.tfc-mosaic-grid {
  display: flex;
  gap: 8px;
  width: 100%;
  max-width: 580px;
  margin: 0 auto;
}
.tfc-mosaic-col-left {
  flex: 0 0 59%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tfc-mosaic-col-right {
  flex: 0 0 calc(41% - 8px);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tfc-mosaic-item {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #eef2f6;
}
.tfc-mosaic-item.wp-block-image {
  margin: 0;
}
.tfc-mosaic-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 12px;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.tfc-mosaic-item.hover-zoom:hover img {
  transform: scale(1.04);
}
.tfc-mosaic-dad {
  height: 220px;
}
.tfc-mosaic-row-split {
  display: flex;
  gap: 8px;
  height: 185px;
}
.tfc-mosaic-box,
.tfc-mosaic-clinician {
  flex: 1;
  height: 100%;
}
.tfc-mosaic-woman {
  height: 295px;
}
.tfc-mosaic-food {
  height: 110px;
}

/* Floating Social Media Bar */
.tfc-floating-social-bar {
  position: fixed;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tfc-social-circle-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #e2e8f0;
}
.tfc-social-circle-btn img {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  object-fit: contain !important;
}
.tfc-social-circle-btn:hover {
  transform: scale(1.15);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  background: #f8fafc;
}

/* ==========================================================================
   TRUST BADGES BAR
   ========================================================================== */
.tfc-trust-bar-section {
  background-color: var(--tfc-primary-tint, #e6f7f1);
  border-top: 1px solid #dce8f0;
  border-bottom: 1px solid #dce8f0;
  padding: 16px 0;
  font-family: var(--tfc-font-sans);
}
.tfc-trust-bar-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 24px;
}
.tfc-trust-badge-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.tfc-trust-badge-img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.tfc-trust-star-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tfc-trust-badge-text {
  font-size: 0.95rem;
  color: var(--tfc-dark, #222222);
}
.tfc-trust-bold {
  font-weight: 700;
}

/* ==========================================================================
   GENERAL SECTION LAYOUT
   ========================================================================== */
.tfc-section {
  padding: 60px 0;
  font-family: var(--tfc-font-sans);
}
.tfc-section-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
}
.tfc-section-header {
  margin-bottom: 36px;
}
.tfc-section-title {
  font-size: clamp(1.85rem, 3.2vw, 2.5rem);
  font-weight: 800;
  color: var(--tfc-dark, #222222);
  margin: 0 0 10px;
  letter-spacing: -0.02em;
}
.tfc-section-subtitle {
  font-size: 1.05rem;
  color: var(--tfc-muted, #6B7280);
  margin: 0;
  max-width: 680px;
  line-height: 1.5;
}
.tfc-highlight-blue {
  color: var(--tfc-primary, #008a64);
}

/* ==========================================================================
   POPULAR TREATMENTS CATEGORY PILL CARDS
   ========================================================================== */
.tfc-popular-treatments-section {
  background: #ffffff;
}
.tfc-catbtn-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 14px;
}
.tfc-catbtn-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline, #E5E7EB);
  border-radius: 14px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  color: var(--tfc-dark, #222222);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.tfc-catbtn-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  border-color: var(--tfc-primary, #008a64);
}
.tfc-catbtn-title {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--tfc-dark, #222222);
}
.tfc-catbtn-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.tfc-catbtn-img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  transition: transform 0.2s ease;
}
.tfc-catbtn-card:hover .tfc-catbtn-img {
  transform: scale(1.08);
}
.tfc-catbtn-chevron {
  transition: transform 0.2s ease;
}
.tfc-catbtn-card:hover .tfc-catbtn-chevron {
  transform: translateX(3px);
  stroke: var(--tfc-primary, #008a64);
}

/* ==========================================================================
   EVERYDAY HEALTH AND BEAUTY (PRODUCT CARDS)
   ========================================================================== */
.tfc-everyday-health-section {
  background: #fafbfc;
  border-top: 1px solid var(--tfc-hairline, #E5E7EB);
  border-bottom: 1px solid var(--tfc-hairline, #E5E7EB);
}
.tfc-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 22px;
}
.tfc-product-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline, #E5E7EB);
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tfc-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}
.tfc-product-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.tfc-product-card-media {
  height: 180px;
  background: #fdfdfd;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  border-bottom: 1px solid #f2f4f7;
}
.tfc-product-card-media img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}
.tfc-product-card-body {
  padding: 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.tfc-product-card-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--tfc-dark, #222222);
  margin: 0 0 6px;
  line-height: 1.35;
}
.tfc-product-card-subtitle {
  font-size: 0.8125rem;
  color: var(--tfc-muted, #6B7280);
  margin-bottom: auto;
}
.tfc-product-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid #f5f5f5;
}
.tfc-product-card-price {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--tfc-dark, #222222);
}
.tfc-product-cart-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--tfc-surface-alt, #F2F2F2);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tfc-dark, #222222);
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.15s ease;
}
.tfc-product-cart-btn:hover {
  background: var(--tfc-primary, #008a64);
  color: #ffffff;
  transform: scale(1.08);
}

/* ==========================================================================
   PROMOTIONAL BANNER CARD
   ========================================================================== */
.tfc-promo-banner-section {
  padding: 30px 0;
  background: #ffffff;
}
.tfc-promo-banner-card {
  background: linear-gradient(135deg, #f2f7f4 0%, #e7f2eb 100%);
  border: 1px solid #cce3d3;
  border-radius: 16px;
  padding: 28px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.tfc-promo-tag {
  display: inline-block;
  background: #22c197;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 10px;
  border-radius: 9999px;
  margin-bottom: 8px;
}
.tfc-promo-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e3a2b;
  margin: 0 0 6px;
}
.tfc-promo-terms {
  font-size: 0.8125rem;
  color: #557262;
  margin: 0;
}
.tfc-btn-promo {
  background: #254a35;
  color: #ffffff;
  font-weight: 600;
  font-size: 0.9375rem;
  padding: 12px 26px;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, transform 0.15s ease;
}
.tfc-btn-promo:hover {
  background: #1a3324;
  transform: translateY(-1px);
}

/* ==========================================================================
   HOW IT WORKS (4 QUICK & EASY STEPS)
   ========================================================================== */
.tfc-badge-pill {
  display: inline-block !important;
  background: #ddf5ec !important;
  color: #008a64 !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  padding: 6px 14px !important;
  border-radius: 7px !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  width: fit-content !important;
}

.tfc-badge-pill-white {
  background: #ffffff !important;
  color: #008a64 !important;
  box-shadow: 0 2px 8px rgba(0, 138, 100, 0.08) !important;
}

.tfc-how-it-works-section {
  background: #ffffff !important;
  padding: clamp(48px, 6vw, 84px) 0 !important;
  box-sizing: border-box !important;
}

.tfc-how-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.tfc-how-grid {
  display: grid !important;
  grid-template-columns: 1fr 1.15fr !important;
  gap: clamp(36px, 6vw, 72px) !important;
  align-items: flex-start !important;
}

.tfc-how-left {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.tfc-how-headline {
  margin: 16px 0 0 0 !important;
  font-family: var(--tfc-font-sans, system-ui, -apple-system, sans-serif) !important;
  font-size: clamp(2.1rem, 3.8vw, 2.65rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: #04382c !important;
  text-wrap: pretty !important;
}

.tfc-btn-started {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 24px !important;
  background: linear-gradient(120deg, #22c197, #008a64) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 1.0625rem !important;
  padding: 15px 28px !important;
  border-radius: 11px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(0, 138, 100, 0.25) !important;
  transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease !important;
}

.tfc-btn-started:hover {
  filter: brightness(0.94) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(0, 138, 100, 0.35) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.tfc-how-trust-note {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 20px !important;
  font-size: 0.9375rem !important;
  color: #3a5f53 !important;
  font-weight: 600 !important;
}

.tfc-how-trust-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background: #e6f7f1 !important;
  color: #008a64 !important;
  display: grid !important;
  place-items: center !important;
  flex-shrink: 0 !important;
}

.tfc-how-right {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.tfc-how-step-row {
  display: flex !important;
  gap: 20px !important;
  align-items: flex-start !important;
}

.tfc-how-step-num {
  flex: 0 0 56px !important;
  width: 56px !important;
  height: 56px !important;
  background: #ddf5ec !important;
  border-radius: 18px 18px 18px 5px !important;
  display: grid !important;
  place-items: center !important;
  color: #008a64 !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  user-select: none !important;
}

.tfc-how-step-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  padding-top: 2px !important;
}

.tfc-how-step-title {
  margin: 0 !important;
  font-family: var(--tfc-font-sans, system-ui, -apple-system, sans-serif) !important;
  font-size: 1.25rem !important;
  font-weight: 900 !important;
  color: #04382c !important;
  letter-spacing: -0.02em !important;
}

.tfc-how-step-desc {
  margin: 0 !important;
  font-size: 0.9688rem !important;
  line-height: 1.6 !important;
  color: #3a5f53 !important;
  max-width: 58ch !important;
}

/* ==========================================================================
   HEALTH SHOP (SHOP BY CATEGORY)
   ========================================================================== */
.tfc-health-shop-section {
  background: linear-gradient(170deg, #e2f7ef 0%, #f3fbf8 60%, #eaf7f3 100%) !important;
  padding: clamp(48px, 6vw, 76px) 0 !important;
  box-sizing: border-box !important;
}

.tfc-health-shop-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.tfc-health-shop-header-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  margin: 14px 0 26px 0 !important;
}

.tfc-health-shop-headline {
  margin: 0 !important;
  font-family: var(--tfc-font-sans, system-ui, -apple-system, sans-serif) !important;
  font-size: clamp(2rem, 3.4vw, 2.35rem) !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: #04382c !important;
  text-wrap: pretty !important;
}

.tfc-health-shop-all-link {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #008a64 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
}

.tfc-health-shop-all-link:hover {
  color: #0f9f7d !important;
  transform: translateX(3px) !important;
  text-decoration: none !important;
}

.tfc-health-shop-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.tfc-shop-cat-card {
  background: #ffffff !important;
  border: 1px solid #e0ece6 !important;
  border-radius: 18px !important;
  padding: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  box-sizing: border-box !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important;
}

.tfc-shop-cat-card:hover {
  border-color: #0f9f7d !important;
  box-shadow: 0 10px 28px rgba(0, 138, 100, 0.14) !important;
  transform: translateY(-4px) !important;
}

.tfc-shop-cat-img-wrap {
  position: relative !important;
  height: 165px !important;
  border-radius: 13px !important;
  overflow: hidden !important;
  background: #d8f1e7 !important;
  display: block !important;
  text-decoration: none !important;
}

.tfc-shop-cat-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tfc-shop-cat-card:hover .tfc-shop-cat-img {
  transform: scale(1.05) !important;
}

.tfc-shop-cat-img-placeholder {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  color: #008a64 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  border: 1.5px dashed #a3dac4 !important;
  border-radius: 13px !important;
}

.tfc-shop-cat-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 2px 4px !important;
  flex: 1 1 auto !important;
}

.tfc-shop-cat-title {
  margin: 0 !important;
  font-family: var(--tfc-font-sans, system-ui, -apple-system, sans-serif) !important;
  font-size: 1.125rem !important;
  font-weight: 800 !important;
  color: #04382c !important;
  letter-spacing: -0.02em !important;
}

.tfc-shop-cat-desc {
  margin: 0 !important;
  font-size: 0.9063rem !important;
  color: #3a5f53 !important;
  line-height: 1.45 !important;
}

.tfc-shop-cat-btn {
  margin: 2px 3px 4px !important;
  background: linear-gradient(120deg, #22c197, #008a64) !important;
  color: #ffffff !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  text-align: center !important;
  padding: 12px 16px !important;
  border-radius: 11px !important;
  display: block !important;
  text-decoration: none !important;
  transition: filter 0.2s ease, transform 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(0, 138, 100, 0.18) !important;
}

.tfc-shop-cat-btn:hover {
  filter: brightness(0.94) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

@media (max-width: 900px) {
  .tfc-how-grid {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  .tfc-health-shop-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   MEDICAL PROFESSIONALS TEAM GRID
   ========================================================================== */
.tfc-team-section {
  background: #fafbfc;
  border-top: 1px solid var(--tfc-hairline, #E5E7EB);
  border-bottom: 1px solid var(--tfc-hairline, #E5E7EB);
}
.tfc-team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.tfc-team-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline, #E5E7EB);
  border-radius: 16px;
  padding: 24px 20px;
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tfc-team-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}
.tfc-team-avatar {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  margin: 0 auto 16px;
  overflow: hidden;
  border: 3px solid var(--tfc-primary-tint, #e6f7f1);
}
.tfc-team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tfc-team-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--tfc-dark, #222222);
  margin: 0 0 6px;
}
.tfc-team-role {
  font-size: 0.88rem;
  color: var(--tfc-muted, #6B7280);
  margin: 0 0 8px;
  line-height: 1.35;
}
.tfc-team-gphc {
  font-size: 0.8125rem;
  color: var(--tfc-primary, #008a64);
  text-decoration: none;
  font-weight: 600;
}
.tfc-team-gphc:hover {
  text-decoration: underline;
}

/* Gutenberg versions of the editable homepage cards retain the original layout. */
.tfc-steps-grid.wp-block-columns,
.tfc-team-grid.wp-block-columns,
.tfc-regulatory-grid.wp-block-columns,
.tfc-reviews-grid.wp-block-columns,
.tfc-rewards-grid.wp-block-columns {
  margin-bottom: 0;
}
.tfc-step-card > *,
.tfc-team-card > *,
.tfc-regulatory-card > *,
.tfc-review-card > *,
.tfc-rewards-card > * {
  margin-top: 0;
}
.tfc-regulatory-card > .wp-block-image {
  flex: 0 0 36px;
  margin: 0;
}
.tfc-regulatory-card > .wp-block-image img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.tfc-regulatory-content {
  min-width: 0;
  flex: 1 1 0;
}
.tfc-regulatory-content > .wp-block-shortcode {
  margin: -4px 0 8px;
  font-weight: 700;
  color: var(--tfc-dark, #222222);
}
.tfc-team-card .tfc-team-gphc a {
  color: inherit;
  text-decoration: none;
}
.tfc-team-card .tfc-team-gphc a:hover {
  text-decoration: underline;
}

/* ==========================================================================
   REGULATORY STANDARDS GRID
   ========================================================================== */
.tfc-regulatory-section {
  background: #ffffff;
}
.tfc-regulatory-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.tfc-regulatory-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline, #E5E7EB);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.tfc-regulatory-icon img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.tfc-regulatory-content h4 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--tfc-dark, #222222);
}
.tfc-regulatory-content p {
  font-size: 0.88rem;
  color: var(--tfc-muted, #6B7280);
  line-height: 1.5;
  margin: 0 0 10px;
}
.tfc-regulatory-content a {
  font-size: 0.88rem;
  color: var(--tfc-primary, #008a64);
  font-weight: 600;
  text-decoration: none;
}
.tfc-regulatory-content a:hover {
  text-decoration: underline;
}

/* ==========================================================================
   PATIENT REVIEWS
   ========================================================================== */
.tfc-reviews-section {
  background: #fafbfc;
  border-top: 1px solid var(--tfc-hairline, #E5E7EB);
  border-bottom: 1px solid var(--tfc-hairline, #E5E7EB);
}
.tfc-trustpilot-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.tfc-trustpilot-score {
  font-size: 1.05rem;
  color: var(--tfc-dark, #222222);
}
.tfc-trustpilot-stars {
  display: flex;
  gap: 3px;
}
.tfc-tp-star {
  background: #00b67a;
  color: #ffffff;
  width: 22px;
  height: 22px;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
}
.tfc-trustpilot-source {
  font-size: 0.88rem;
  color: var(--tfc-muted, #6B7280);
}
.tfc-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.tfc-review-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline, #E5E7EB);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
}
.tfc-review-stars {
  color: #00b67a;
  letter-spacing: 2px;
  font-size: 1.1rem;
  margin-bottom: 12px;
}
.tfc-review-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--tfc-dark, #222222);
  margin: 0 0 8px;
}
.tfc-review-text {
  font-size: 0.92rem;
  color: var(--tfc-muted, #6B7280);
  line-height: 1.5;
  margin: 0 0 16px;
  flex: 1;
}
.tfc-review-author {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid #f2f2f2;
  font-size: 0.88rem;
}
.tfc-review-avatar,
figure.tfc-review-avatar {
  margin: 0 !important;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
}
.tfc-review-avatar img,
figure.tfc-review-avatar img {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block;
}
.tfc-review-author-info {
  flex: 1;
  min-width: 0;
}
.tfc-verified-badge {
  color: #00b67a;
  font-weight: 600;
}

/* ==========================================================================
   REWARDS AND GUARANTEES
   ========================================================================== */
.tfc-rewards-section {
  background: #ffffff;
}
.tfc-rewards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.tfc-rewards-card {
  background: var(--tfc-primary-tint, #e6f7f1);
  border: 1px solid #d4e5f2;
  border-radius: 18px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
}
.tfc-rewards-badge {
  display: inline-block;
  background: var(--tfc-primary, #008a64);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 3px 12px;
  border-radius: 9999px;
  margin-bottom: 12px;
  align-self: flex-start;
}
.tfc-rewards-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--tfc-dark, #222222);
  margin: 0 0 10px;
}
.tfc-rewards-desc {
  font-size: 0.95rem;
  color: #4b5a6e;
  line-height: 1.55;
  margin: 0 0 18px;
  flex: 1;
}
.tfc-rewards-link {
  color: var(--tfc-primary, #008a64);
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
}
.tfc-rewards-link:hover {
  text-decoration: underline;
}

/* ==========================================================================
   COMPREHENSIVE FOOTER
   ========================================================================== */
.tfc-footer-root {
  background: #ffffff;
  border-top: 1px solid var(--tfc-hairline, #E5E7EB);
  font-family: var(--tfc-font-sans);
}
.tfc-footer-top-strip {
  background: var(--tfc-surface-alt, #F2F2F2);
  padding: 20px 0;
  border-bottom: 1px solid var(--tfc-hairline, #E5E7EB);
}
.tfc-footer-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
}
.tfc-footer-top-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}
.tfc-footer-contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.tfc-contact-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid var(--tfc-hairline, #E5E7EB);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: var(--tfc-primary, #008a64);
}
.tfc-contact-label {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--tfc-muted, #6B7280);
}
.tfc-contact-val {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--tfc-dark, #222222);
  text-decoration: none;
}
.tfc-footer-main {
  padding: 50px 0;
}
.tfc-footer-cols {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.3fr;
  gap: 36px;
}
.tfc-footer-logo {
  height: 36px;
  width: auto;
  margin-bottom: 16px;
}
.tfc-footer-about {
  font-size: 0.88rem;
  color: var(--tfc-muted, #6B7280);
  line-height: 1.5;
  margin: 0 0 16px;
}
.tfc-footer-reg-box {
  background: #f8fafc;
  border: 1px solid var(--tfc-hairline, #E5E7EB);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 0.8125rem;
  color: #555;
  line-height: 1.45;
}
.tfc-footer-heading {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--tfc-dark, #222222);
  margin: 0 0 18px;
}
.tfc-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tfc-footer-links li {
  margin-bottom: 10px;
}
.tfc-footer-links a {
  font-size: 0.88rem;
  color: var(--tfc-muted, #6B7280);
  text-decoration: none;
  transition: color 0.15s ease;
}
.tfc-footer-links a:hover {
  color: var(--tfc-primary, #008a64);
  text-decoration: underline;
}
.tfc-footer-links .wp-block-navigation__container {
  align-items: flex-start;
  gap: 0;
}
.tfc-footer-links .wp-block-navigation-item {
  margin-bottom: 10px;
}
.tfc-footer-links .wp-block-navigation-item__content {
  font-size: 0.88rem;
  color: var(--tfc-muted, #6B7280);
  text-decoration: none;
}
.tfc-footer-links .wp-block-navigation-item__content:hover {
  color: var(--tfc-primary, #008a64);
  text-decoration: underline;
}
.tfc-footer-root .wp-block-shortcode {
  margin: 0;
}
.tfc-contact-info .wp-block-shortcode,
.tfc-contact-info .wp-block-shortcode a {
  color: var(--tfc-dark, #222222);
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
}
.tfc-editable-hours {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  font-size: 0.85rem;
  color: var(--tfc-muted, #6B7280);
}
.tfc-editable-hours li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 0;
}
.tfc-editable-hours span {
  color: var(--tfc-dark, #222222);
  font-weight: 600;
}
.tfc-opening-table {
  width: 100%;
  font-size: 0.85rem;
  color: var(--tfc-muted, #6B7280);
  margin-bottom: 14px;
  border-collapse: collapse;
}
.tfc-opening-table td {
  padding: 4px 0;
}
.tfc-opening-table td:last-child {
  text-align: right;
  font-weight: 600;
  color: var(--tfc-dark, #222222);
}
.tfc-footer-pharmacist-badge {
  background: var(--tfc-primary-tint, #e6f7f1);
  border: 1px solid #dce8f0;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 0.8125rem;
  color: var(--tfc-dark, #222222);
  line-height: 1.4;
}
.tfc-footer-bottom {
  border-top: 1px solid var(--tfc-hairline, #E5E7EB);
  padding: 20px 0;
  background: #fdfdfd;
}
.tfc-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 0.8125rem;
  color: var(--tfc-muted, #6B7280);
}
.tfc-footer-copy {
  margin: 0;
}
.tfc-footer-legal-links {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.tfc-footer-legal-links a {
  color: var(--tfc-muted, #6B7280);
  text-decoration: none;
}
.tfc-footer-legal-links a:hover {
  color: var(--tfc-primary, #008a64);
  text-decoration: underline;
}

/* ==========================================================================
   GLOBAL LAYOUT UNCONSTRAINED RULES (FIX NARROWED CONTENT)
   ========================================================================== */
html body .pharmacy-main,
html body .pharmacy-front,
html body .tfc-page-fullwidth,
html body .wp-site-blocks > main {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

html body .pharmacy-main > *,
html body .pharmacy-front > *,
html body .tfc-hero-section,
html body .tfc-trust-bar-section,
html body .tfc-section,
html body .tfc-footer-root {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* pharmacy-main always fills the full viewport width (layout:default in templates) */
html body .pharmacy-main {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Ensure inner content wrappers stretch comfortably to 1320px matching home page */
html body .tfc-hero-container,
html body .tfc-trust-bar-container,
html body .tfc-section-container,
html body .tfc-header-container,
html body .tfc-footer-container,
html body .pharmacy-treatment-content,
html body .tmom-patient-app,
html body .tmom-treatment-layout,
html body .tmom-treatment-module,
html body .tmom-grouped-directory,
html body .tmom-consultation-stepped-wrapper,
html body .woocommerce-cart .woocommerce,
html body .woocommerce-checkout .woocommerce,
html body .woocommerce-account .woocommerce,
html body .wc-block-checkout,
html body .wp-block-woocommerce-checkout,
html body .wc-block-cart,
html body .wp-block-woocommerce-cart,
html body .wp-block-woocommerce-page-content-wrapper,
html body .pharmacy-main > :where(.wp-block-post-title, .wp-block-post-content, .entry-content, article),
html body .pharmacy-main:not(.pharmacy-front) > :where(.wp-block-post-title, .wp-block-post-content, .entry-content, article) {
  max-width: 1320px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* Treatment Page full expansion inside container */
html body .pharmacy-treatment-content .tmom-patient-app,
html body .pharmacy-treatment-content .tmom-treatment-layout,
html body .pharmacy-treatment-content .tfc-treatment-top-bar,
html body .pharmacy-treatment-content .tmom-treatment-clean-hero,
html body .pharmacy-treatment-content .tmom-treatment-medicine-preview,
html body .pharmacy-treatment-content .tfc-treatment-how-it-works,
html body .pharmacy-treatment-content .tfc-treatment-faqs,
html body .pharmacy-treatment-content .tfc-treatment-safety-charter,
html body .pharmacy-treatment-content .tmom-consultation-cta-card {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Standard page titles */
html body .pharmacy-main:not(.pharmacy-front) > h1.wp-block-post-title {
  font-family: var(--tfc-font-sans);
  font-size: 2.35rem !important;
  font-weight: 800 !important;
  color: #1a365d !important;
  letter-spacing: -0.025em !important;
  line-height: 1.2 !important;
  margin-top: 48px !important;
  margin-bottom: 24px !important;
  padding-bottom: 18px !important;
  border-bottom: 2px solid #e6f7f1 !important;
}

/* Standard page content typography & clinical structure */
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content {
  font-family: var(--tfc-font-sans);
  font-size: 1rem;
  line-height: 1.75;
  color: #334155;
  padding-bottom: 72px !important;
}
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content p.has-large-font-size {
  font-size: 1.12rem !important;
  line-height: 1.75 !important;
  color: #1e293b !important;
  font-weight: 500 !important;
  margin-bottom: 32px !important;
  padding: 18px 22px !important;
  background: #f0f7ff !important;
  border-left: 4px solid #008a64 !important;
  border-radius: 0 10px 10px 0 !important;
}
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content h2 {
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin-top: 36px !important;
  margin-bottom: 14px !important;
  padding-bottom: 6px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content h3 {
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  margin-top: 24px !important;
  margin-bottom: 10px !important;
}
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content p {
  margin-bottom: 16px !important;
  color: #475569 !important;
  line-height: 1.75 !important;
}
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content ul,
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content ol {
  margin-bottom: 24px !important;
  padding-left: 24px !important;
  color: #475569 !important;
}
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content li {
  margin-bottom: 8px !important;
  line-height: 1.65 !important;
}
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 24px 0 32px 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content th {
  background-color: #f8fafc !important;
  color: #1e293b !important;
  font-weight: 700 !important;
  text-align: left !important;
  padding: 14px 18px !important;
  border-bottom: 2px solid #e2e8f0 !important;
  font-size: 0.92rem !important;
}
html body .pharmacy-main:not(.pharmacy-front) .wp-block-post-content td {
  padding: 14px 18px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  color: #475569 !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
}

/* Single blog posts (focused reading width) */
html body.single-post .pharmacy-main > :where(.wp-block-post-content, .entry-content) {
  max-width: 860px !important;
}

/* ==========================================================================
   COMPREHENSIVE RESPONSIVENESS ACROSS ALL PAGES
   ========================================================================== */

/* Tablet (max-width: 1080px) */
@media (max-width: 1080px) {
  .tfc-hero-container {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .tfc-hero-content {
    padding-right: 0;
    max-width: 100%;
  }
  .tfc-hero-search-wrapper,
  .tfc-nhs-card {
    max-width: 100%;
  }
  .tfc-mosaic-grid {
    max-width: 620px;
    margin: 0 auto;
  }
  .tfc-steps-grid,
  .tfc-team-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .tfc-footer-cols {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
  .tfc-floating-social-bar {
    display: none;
  }
}

/* Small Tablet / Large Mobile (max-width: 840px) */
@media (max-width: 840px) {
  .tfc-catbtn-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .tfc-product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .tfc-regulatory-grid,
  .tfc-reviews-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
  .tfc-header-container {
    padding: 0 16px !important;
  }
  .tfc-main-logo {
    height: 32px;
  }
  .tfc-user-greeting {
    display: none;
  }
  .tfc-header-right {
    gap: 12px;
  }
  .tfc-top-banner {
    padding: 6px 12px;
  }
  .tfc-banner-pill-img {
    width: 44px;
    height: 30px;
  }
  .tfc-banner-text {
    font-size: 0.8125rem;
  }

  .tfc-hero-section {
    padding: 24px 0 32px;
  }
  .tfc-hero-container {
    padding: 0 16px !important;
    gap: 28px;
  }
  .tfc-hero-title {
    font-size: clamp(1.85rem, 7vw, 2.35rem);
    line-height: 1.15;
    margin-bottom: 12px;
  }
  .tfc-hero-subtitle-row {
    margin-bottom: 20px;
    gap: 8px;
  }
  .tfc-hero-subtitle {
    font-size: 1.1rem;
  }
  .tfc-hero-heart {
    width: 22px;
  }

  .tfc-hero-search-wrapper {
    margin-bottom: 24px;
  }
  .tfc-hero-search-form {
    padding: 4px 6px 4px 18px;
  }
  .tfc-hero-search-input {
    font-size: 0.95rem;
  }

  .tfc-nhs-card {
    padding: 18px 18px;
    border-radius: 14px;
  }
  .tfc-nhs-card-lead {
    font-size: 0.95rem;
    margin-bottom: 14px;
  }
  .tfc-nhs-card-action {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .tfc-btn-switch-today {
    padding: 9px 18px;
    font-size: 0.875rem;
  }
  .tfc-nhs-providing-logo {
    height: 32px;
  }

  /* Photo Mosaic Grid Mobile Scaling */
  .tfc-mosaic-grid {
    max-width: 100%;
    gap: 6px;
  }
  .tfc-mosaic-col-left {
    gap: 6px;
  }
  .tfc-mosaic-col-right {
    gap: 6px;
  }
  .tfc-mosaic-item {
    border-radius: 10px;
  }
  .tfc-mosaic-item img {
    border-radius: 10px;
  }
  .tfc-mosaic-dad {
    height: 155px;
  }
  .tfc-mosaic-row-split {
    height: 125px;
    gap: 6px;
  }
  .tfc-mosaic-woman {
    height: 200px;
  }
  .tfc-mosaic-food {
    height: 80px;
  }

  /* Trust Badges Strip 2x2 grid on mobile */
  .tfc-trust-bar-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px 16px !important;
    padding: 0 16px !important;
  }
  .tfc-trust-badge-item {
    font-size: 0.8125rem;
    gap: 8px;
  }
  .tfc-trust-badge-img {
    width: 22px;
    height: 22px;
  }
  .tfc-trust-star-icon svg {
    width: 18px;
    height: 18px;
  }

  /* Category Buttons on Mobile */
  .tfc-catbtn-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .tfc-catbtn-card {
    padding: 12px 16px;
    border-radius: 12px;
  }
  .tfc-catbtn-title {
    font-size: 0.95rem;
  }
  .tfc-catbtn-img {
    width: 30px;
    height: 30px;
  }

  /* Section Spacing */
  .tfc-section {
    padding: 40px 0;
  }
  .tfc-section-container {
    padding: 0 16px !important;
  }
  .tfc-section-header {
    margin-bottom: 24px;
  }
  .tfc-section-title {
    font-size: 1.65rem;
  }
  .tfc-section-subtitle {
    font-size: 0.95rem;
  }

  /* Product Grid Mobile */
  .tfc-product-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .tfc-product-card-media {
    height: 160px;
  }

  /* Promo Banner Mobile */
  .tfc-promo-banner-card {
    padding: 22px 20px;
    flex-direction: column;
    align-items: flex-start;
    border-radius: 14px;
    gap: 16px;
  }
  .tfc-promo-title {
    font-size: 1.1rem;
  }

  /* Steps & Team & Rewards Mobile */
  .tfc-steps-grid,
  .tfc-team-grid,
  .tfc-rewards-grid,
  .tfc-footer-cols {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .tfc-step-card,
  .tfc-team-card,
  .tfc-rewards-card {
    padding: 20px 18px;
    border-radius: 14px;
  }

  /* Footer Mobile */
  .tfc-footer-top-strip {
    padding: 16px 0;
  }
  .tfc-footer-container {
    padding: 0 16px !important;
  }
  .tfc-footer-top-grid {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .tfc-footer-main {
    padding: 36px 0;
  }
  .tfc-footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .tfc-footer-legal-links {
    flex-direction: column;
    gap: 8px;
  }
}

/* ==========================================================================
   WOOCOMMERCE & CLINICAL RESPONSIVE PAGES
   ========================================================================== */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
  padding-top: 28px;
  padding-bottom: 48px;
}

/* Responsive WooCommerce Cart Table */
.woocommerce table.shop_table_responsive thead {
  display: table-header-group;
}
@media (max-width: 768px) {
  .woocommerce table.shop_table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
  }
}

/* ==========================================================================
   Single Product Page - Clinical The Family Chemist Aesthetic
   ========================================================================== */

.woocommerce-breadcrumb {
  font-size: 0.875rem;
  color: #64748b;
  margin: 16px 0 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.woocommerce-breadcrumb a {
  color: #113c59;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s ease;
}
.woocommerce-breadcrumb a:hover {
  color: #0f766e;
  text-decoration: underline;
}

/* ==========================================================================
   Single Product Page - Bulletproof 2-Column Clinical Layout
   ========================================================================== */

html body.single-product div.product,
html body.woocommerce.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 480px) minmax(0, 1fr) !important;
  column-gap: 72px !important;
  row-gap: 48px !important;
  align-items: center !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 16px 24px 60px !important;
  float: none !important;
  box-sizing: border-box !important;
}

/* WooCommerce outputs its breadcrumb before the centred product grid. Keep it
   in the same content column instead of leaving it against the viewport edge. */
html body.single-product .woocommerce-breadcrumb {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto 16px !important;
  padding: 16px 24px 0 !important;
  box-sizing: border-box !important;
}

html body.single-product div.product::before,
html body.single-product div.product::after {
  display: none !important;
}

html body.single-product div.product div.images,
html body.woocommerce div.product div.images {
  grid-column: 1 / 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  align-self: center !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 36px 32px !important;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 420px !important;
  box-sizing: border-box !important;
}

html body.single-product div.product div.images .woocommerce-product-gallery__wrapper {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
}

html body.single-product div.product div.images .woocommerce-product-gallery__image {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body.single-product div.product div.images img {
  width: 100% !important;
  max-height: 400px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 12px !important;
  transition: transform 0.2s ease !important;
}

html body.single-product div.product div.images:hover img {
  transform: scale(1.02) !important;
}

html body.single-product div.product div.images .flex-control-thumbs {
  display: flex !important;
  gap: 12px !important;
  margin-top: 16px !important;
  padding: 0 !important;
  list-style: none !important;
  justify-content: center !important;
}

html body.single-product div.product div.images .flex-control-thumbs li {
  border: 2px solid #e2e8f0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.15s ease !important;
}

html body.single-product div.product div.images .flex-control-thumbs li.flex-active,
html body.single-product div.product div.images .flex-control-thumbs li:hover {
  border-color: #0f766e !important;
}

html body.single-product div.product div.summary,
html body.woocommerce div.product div.summary {
  grid-column: 2 / 3 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  align-self: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

html body.single-product div.product .woocommerce-tabs,
html body.single-product div.product .tfc-product-process-section,
html body.single-product div.product .related.products,
html body.single-product div.product .upsells.products {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
}

@media (max-width: 860px) {
  html body.single-product div.product,
  html body.woocommerce.single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 16px !important;
    align-items: start !important;
  }
  html body.single-product div.product div.images,
  html body.single-product div.product div.summary {
    grid-column: 1 / -1 !important;
    position: static !important;
    align-self: auto !important;
  }
}


/* Top Bar: Badges & Trust Rating */
.tfc-single-product-top-bar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
}
.tfc-single-product-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.tfc-treatment-ref-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #f1f5f9;
  color: #113c59;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 9999px;
  text-decoration: none;
  border: 1px solid #e2e8f0;
  transition: all 0.15s ease;
}
.tfc-treatment-ref-badge:hover {
  background: #e2e8f0;
  color: #0f766e;
}
.tfc-pom-pill {
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 9999px;
  letter-spacing: 0.02em;
}
.tfc-pom-pill.is-pom {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}
.tfc-pom-pill.is-p {
  background: #f0fdfa;
  color: #0f766e;
  border: 1px solid #99f6e4;
}
.tfc-proven-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #f0fdf4;
  color: #15803d;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 9999px;
  border: 1px solid #bbf7d0;
}
.tfc-single-product-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: #475569;
}
.tfc-single-product-rating .tfc-stars {
  color: #00b67a;
  letter-spacing: 2px;
  font-size: 1rem;
}
.tfc-single-product-rating .tfc-rating-score {
  font-weight: 700;
  color: #0f172a;
}
.tfc-gphc-chip {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #334155;
  margin-left: 6px;
}

/* Title & Price */
.single-product .product_title {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 2.25rem !important;
  font-weight: 800 !important;
  color: #113c59 !important;
  line-height: 1.25 !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.02em !important;
}
.single-product p.price {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: #0f766e !important;
  margin: 0 0 18px 0 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  line-height: 1 !important;
}
.single-product p.price del {
  font-size: 1.15rem !important;
  color: #94a3b8 !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}
.single-product p.price ins {
  text-decoration: none !important;
  color: #0f766e !important;
}

.single-product .woocommerce-product-details__short-description {
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  margin-bottom: 24px !important;
}

/* ==========================================================================
   Product Form & Variations (Bulletproof Vertical Stack & Horizontal Actions)
   ========================================================================== */

/* Base form: variable products stack vertically; simple products stay inline row */
.single-product form.cart {
  margin: 22px 0 28px 0 !important;
  padding: 0 !important;
}
.single-product form.cart.variations_form {
  display: block !important;
  width: 100% !important;
}
.single-product form.cart:not(.variations_form) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
}

/* Variations Table: clean full-width field rows */
.single-product table.variations {
  display: table !important;
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 0 20px 0 !important;
  border: none !important;
  background: transparent !important;
}
.single-product table.variations tbody {
  display: block !important;
  width: 100% !important;
}
.single-product table.variations tr {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-bottom: 16px !important;
  width: 100% !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}
.single-product table.variations th.label {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  text-align: left !important;
  width: 100% !important;
}
.single-product table.variations th.label label {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  display: block !important;
}
.single-product table.variations td.value {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  width: 100% !important;
}
.single-product table.variations td.value select {
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  padding: 0 40px 0 16px !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  background-color: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  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='%2364748b' 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") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px 16px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}
.single-product table.variations td.value select:focus {
  border-color: #0f766e !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.12) !important;
}
.single-product table.variations td.value a.reset_variations {
  display: inline-block !important;
  margin-top: 6px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  text-decoration: underline !important;
  transition: color 0.15s ease !important;
}
.single-product table.variations td.value a.reset_variations:hover {
  color: #dc2626 !important;
}

/* Single Variation Wrapper & Action Controls */
.single-product .single_variation_wrap {
  width: 100% !important;
  margin-top: 18px !important;
}
.single-product .woocommerce-variation-price {
  margin-bottom: 16px !important;
}
.single-product .woocommerce-variation-price .price {
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  color: #0f766e !important;
  margin: 0 !important;
}
.single-product .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
}

/* Quantity Box */
.single-product .quantity {
  flex-shrink: 0 !important;
  margin: 0 !important;
}
.single-product .quantity input.qty {
  width: 76px !important;
  height: 52px !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 12px !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  color: #0f172a !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s ease !important;
  padding: 0 6px !important;
}
.single-product .quantity input.qty:focus {
  border-color: #0f766e !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.12) !important;
}

/* Primary Add to Cart Button */
.single-product .single_add_to_cart_button {
  flex: 1 !important;
  height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #113c59 !important;
  color: #ffffff !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  padding: 0 32px !important;
  border-radius: 12px !important;
  border: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 14px rgba(17, 60, 89, 0.22) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.single-product .single_add_to_cart_button:hover {
  background: #0d2e44 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(17, 60, 89, 0.32) !important;
}
.single-product .single_add_to_cart_button:active {
  transform: translateY(0) !important;
}

/* Consultation CTA Button (Prescription / Controlled Items) */
.single-product .cart.tmom-request-treatment {
  width: 100% !important;
  margin: 20px 0 28px !important;
}
.single-product .cart.tmom-request-treatment a.button {
  width: 100% !important;
  height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #113c59 !important;
  color: #ffffff !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  padding: 0 32px !important;
  border-radius: 12px !important;
  border: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 14px rgba(17, 60, 89, 0.22) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.single-product .cart.tmom-request-treatment a.button:hover {
  background: #0d2e44 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(17, 60, 89, 0.32) !important;
}


/* Trust Benefits Card on Product */
.tfc-product-trust-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 24px;
}
.tfc-dispatch-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #ecfdf5;
  border-bottom: 1px solid #a7f3d0;
  padding: 12px 18px;
}
.tfc-lightning-icon {
  font-size: 1.25rem;
  color: #059669;
}
.tfc-dispatch-copy strong {
  display: block;
  font-size: 0.88rem;
  color: #065f46;
}
.tfc-dispatch-copy span {
  font-size: 0.8rem;
  color: #047857;
}
.tfc-product-benefits-list {
  list-style: none;
  padding: 14px 18px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.tfc-product-benefits-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.tfc-check-icon {
  width: 20px;
  height: 20px;
  background: #dcfce7;
  color: #15803d;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 2px;
}
.tfc-product-benefits-list li div strong {
  display: block;
  font-size: 0.88rem;
  color: #0f172a;
  line-height: 1.3;
}
.tfc-product-benefits-list li div span {
  font-size: 0.8rem;
  color: #64748b;
  line-height: 1.3;
}

/* Product Meta */
.single-product .product_meta {
  font-size: 0.85rem;
  color: #64748b;
  border-top: 1px solid #e2e8f0;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.single-product .product_meta span {
  display: inline-block;
}
.single-product .product_meta a {
  color: #113c59;
  text-decoration: none;
  font-weight: 500;
}
.single-product .product_meta a:hover {
  text-decoration: underline;
  color: #0f766e;
}

/* Clinical How It Works 4-Step Grid */
.tfc-product-process-section {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 36px 28px;
  margin: 40px 0;
}
.tfc-product-process-header {
  text-align: center;
  margin-bottom: 28px;
}
.tfc-product-process-header h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f172a;
  margin: 8px 0 0;
}
.tfc-product-process-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}
.tfc-process-step-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 24px 20px;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tfc-process-step-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.08);
}
.tfc-step-num {
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 0.9rem;
  font-weight: 800;
  color: #cbd5e1;
}
.tfc-step-icon {
  font-size: 2rem;
  margin-bottom: 12px;
}
.tfc-process-step-card h4 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 8px;
}
.tfc-process-step-card p {
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
}

/* Product Tabs & Clean Structured Panels */
.woocommerce-tabs.wc-tabs-wrapper {
  margin: 48px 0 36px 0 !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.04) !important;
}
.woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 0 !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 0 16px !important;
  margin: 0 !important;
  list-style: none !important;
  overflow-x: auto !important;
}
.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-tabs ul.tabs li a {
  display: flex !important;
  align-items: center !important;
  padding: 16px 24px !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  text-decoration: none !important;
  border-bottom: 3px solid transparent !important;
  transition: all 0.15s ease !important;
  white-space: nowrap !important;
  margin-bottom: -1px !important;
}
.woocommerce-tabs ul.tabs li.active a {
  color: #113c59 !important;
  background: #ffffff !important;
  border-bottom: 3px solid #0f766e !important;
  font-weight: 700 !important;
}
.woocommerce-tabs ul.tabs li a:hover {
  color: #113c59 !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel {
  background: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 36px 40px !important;
  font-size: 0.98rem !important;
  line-height: 1.7 !important;
  color: #334155 !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child {
  display: none !important; /* Avoid repeating duplicate "Description" tab header */
}
.woocommerce-tabs .woocommerce-Tabs-panel h2 {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 28px 0 12px 0 !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel h2:first-of-type {
  margin-top: 0 !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel p {
  margin: 0 0 16px 0 !important;
  color: #475569 !important;
  line-height: 1.7 !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel ul {
  padding-left: 20px !important;
  margin-bottom: 24px !important;
  color: #475569 !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel ul li {
  margin-bottom: 8px !important;
  line-height: 1.6 !important;
}

/* Attributes Table in Additional Information Tab */
.woocommerce table.shop_attributes {
  border: 1px solid #e2e8f0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  width: 100% !important;
  margin-top: 16px !important;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  border: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 14px 20px !important;
  font-size: 0.95rem !important;
}
.woocommerce table.shop_attributes th {
  background: #f8fafc !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  width: 180px !important;
  text-transform: capitalize !important;
}
.woocommerce table.shop_attributes td {
  color: #475569 !important;
  font-style: normal !important;
  background: #ffffff !important;
}
.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td {
  border-bottom: none !important;
}
.woocommerce table.shop_attributes td p {
  padding: 0 !important;
  margin: 0 !important;
}

/* Pricing Table in Description Tab (e.g. table.prod-opt) */
.woocommerce-tabs .woocommerce-Tabs-panel table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 24px 0 !important;
  background: #ffffff !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel table th,
.woocommerce-tabs .woocommerce-Tabs-panel table td {
  padding: 14px 20px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-right: 1px solid #e2e8f0 !important;
  font-size: 0.95rem !important;
  text-align: left !important;
  color: #334155 !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel table tr td:last-child,
.woocommerce-tabs .woocommerce-Tabs-panel table tr th:last-child {
  border-right: none !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel table tr:last-child td {
  border-bottom: none !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel table thead tr td,
.woocommerce-tabs .woocommerce-Tabs-panel table thead tr th,
.woocommerce-tabs .woocommerce-Tabs-panel table tr:first-child td {
  background: #f1f5f9 !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

/* Related Products Section */
.single-product .related.products {
  margin-top: 56px !important;
  padding-top: 40px !important;
  border-top: 1px solid #e2e8f0 !important;
  width: 100% !important;
}
.single-product .related.products > h2 {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: #113c59 !important;
  margin: 0 0 24px 0 !important;
  letter-spacing: -0.02em !important;
}
.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
@media (max-width: 1024px) {
  .single-product .related.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 540px) {
  .single-product .related.products ul.products {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================================================
   Shop Page / Product Catalog Grid (Symmetrical, Premium Clinical Layout)
   ========================================================================== */

/* Page Background & Container Centering */
html body.woocommerce-shop,
html body.post-type-archive-product,
html body.tax-product_cat,
html body.tax-product_tag {
  background-color: #f8fafc !important;
}

html body.woocommerce-shop .pharmacy-main,
html body.post-type-archive-product .pharmacy-main,
html body.tax-product_cat .pharmacy-main,
html body.tax-product_tag .pharmacy-main,
html body.single-product .pharmacy-main,
html body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) .pharmacy-main {
  background-color: #f8fafc !important;
  padding-top: 36px !important;
  padding-bottom: 72px !important;
  min-height: 60vh !important;
  box-sizing: border-box !important;
}


/* Constrain shop content to max 1320px centered with 24px padding */
html body.woocommerce-shop .pharmacy-main > .content-area,
html body.post-type-archive-product .pharmacy-main > .content-area,
html body.tax-product_cat .pharmacy-main > .content-area,
html body.tax-product_tag .pharmacy-main > .content-area,
html body.woocommerce-shop #primary,
html body.post-type-archive-product #primary,
html body.tax-product_cat #primary,
html body.woocommerce-shop .site-main,
html body.post-type-archive-product .site-main {
  max-width: 1320px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* Breadcrumbs */
.woocommerce-breadcrumb {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.86rem !important;
  color: #64748b !important;
  margin: 0 0 16px 0 !important;
}
.woocommerce-breadcrumb a {
  color: #008a64 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
}
.woocommerce-breadcrumb a:hover {
  color: #113c59 !important;
  text-decoration: underline !important;
}

/* Shop Header Title */
.woocommerce-products-header {
  margin-bottom: 24px !important;
}
.woocommerce-products-header__title.page-title {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 2.15rem !important;
  font-weight: 800 !important;
  color: #113c59 !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.2 !important;
}

/* Results Count & Ordering Toolbar */
.woocommerce-result-count {
  float: left !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: #64748b !important;
  margin: 10px 0 24px 0 !important;
  line-height: 1.4 !important;
}
.woocommerce-ordering {
  float: right !important;
  margin: 0 0 24px 0 !important;
}
.woocommerce-ordering select.orderby,
.woocommerce-ordering select {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  background-color: #ffffff !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 10px !important;
  padding: 10px 38px 10px 14px !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 16px !important;
  outline: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.woocommerce-ordering select:hover,
.woocommerce-ordering select:focus {
  border-color: #008a64 !important;
  box-shadow: 0 0 0 3px rgba(0, 138, 100, 0.15) !important;
}

/* Main Shop Product Grid (Symmetrical 3-Columns) */
html body.woocommerce ul.products,
html body.woocommerce-page ul.products,
html body.woocommerce .tfc-shop-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin: 0 0 48px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  clear: both !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

html body.woocommerce ul.products::before,
html body.woocommerce ul.products::after {
  display: none !important;
}

/* Product Card */
html body.woocommerce ul.products li.product,
html body.woocommerce-page ul.products li.product {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease !important;
  position: relative !important;
  overflow: hidden !important;
}

html body.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.09) !important;
  border-color: #cbd5e1 !important;
}

html body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  text-decoration: none !important;
  color: inherit !important;
}

/* Prevent Twemoji SVG Replacement from ballooning to 200px */
html body.woocommerce ul.products li.product img.emoji,
html body.woocommerce-page ul.products li.product img.emoji,
html body img.emoji {
  display: inline !important;
  width: 1.15em !important;
  height: 1.15em !important;
  min-height: unset !important;
  max-height: 1.15em !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  vertical-align: -0.15em !important;
}

/* Framed Symmetrical Product Image Backdrop (Target only thumbnail, never emoji) */
html body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img:not(.emoji),
html body.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail {
  width: 100% !important;
  height: 200px !important;
  max-height: 200px !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  margin: 0 0 14px 0 !important;
  padding: 16px !important;
  background: #f8fafc !important; /* Clean soft neutral frame */
  border-radius: 12px !important;
  border: 1px solid #f1f5f9 !important;
  box-sizing: border-box !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body.woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link > img:not(.emoji),
html body.woocommerce ul.products li.product:hover img.attachment-woocommerce_thumbnail {
  transform: scale(1.04) !important;
}

html body.woocommerce ul.products li.product .tfc-loop-med-description {
  margin: 0 0 14px !important;
  color: #64748b !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
}

/* Clinical Badge in Product Cards (e.g. Prescription Required) */
html body.woocommerce ul.products li.product .tmom-badge,
html body.woocommerce ul.products li.product .tmom-badge-rx,
.tmom-badge-rx {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border: 1px solid #bfdbfe !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 9999px !important;
  margin: 0 0 10px 0 !important;
  align-self: flex-start !important;
  line-height: 1.2 !important;
  width: fit-content !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}

/* 2-Line Title Clamping for 100% Symmetrical Heights Across All Cards */

html body.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.98rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  line-height: 1.4 !important;
  margin: 0 0 10px 0 !important;
  height: 2.8em !important; /* Locks title to exactly 2 lines so cards stay 100% symmetrical */
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  text-overflow: ellipsis !important;
  transition: color 0.15s ease !important;
}

html body.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
  color: #008a64 !important;
}

/* Price Styling */
html body.woocommerce ul.products li.product .price {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #0f766e !important;
  margin: 0 0 14px 0 !important;
  margin-top: auto !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  line-height: 1 !important;
}
html body.woocommerce ul.products li.product .price del {
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
}
html body.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
}

/* Add to Cart Button */
html body.woocommerce ul.products li.product .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 44px !important;
  background: linear-gradient(120deg, #22c197, #008a64) !important;
  color: #ffffff !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  border-radius: 12px !important;
  padding: 0 16px !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  margin-top: auto !important;
  transition: filter 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

html body.woocommerce ul.products li.product .button:hover {
  background: linear-gradient(120deg, #22c197, #008a64) !important;
  filter: brightness(0.93) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(0, 138, 100, 0.28) !important;
  color: #ffffff !important;
}
html body.woocommerce ul.products li.product .button:active {
  transform: translateY(0) !important;
}

/* View Cart link that appears after AJAX Add to Cart */
html body.woocommerce ul.products li.product a.added_to_cart {
  display: block !important;
  margin-top: 8px !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  color: #0f766e !important;
  text-align: center !important;
  text-decoration: underline !important;
}

/* Pagination: Modern, Centered, Symmetrical */
.woocommerce-pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 48px 0 64px 0 !important;
  clear: both !important;
  width: 100% !important;
}
.woocommerce-pagination ul.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
.woocommerce-pagination ul.page-numbers li {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  border: 1.5px solid #e2e8f0 !important;
  background: #ffffff !important;
  color: #1e293b !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}
.woocommerce-pagination ul.page-numbers li span.current {
  background: #113c59 !important;
  color: #ffffff !important;
  border-color: #113c59 !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(17, 60, 89, 0.2) !important;
}
.woocommerce-pagination ul.page-numbers li span.dots {
  border: none !important;
  background: transparent !important;
  color: #94a3b8 !important;
  min-width: 24px !important;
  box-shadow: none !important;
}
.woocommerce-pagination ul.page-numbers li a:hover {
  background: #f0fdfa !important;
  border-color: #0f766e !important;
  color: #0f766e !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(15, 118, 110, 0.12) !important;
}

/* Responsive Grid Breakpoints */
@media (max-width: 1120px) {
  html body.woocommerce ul.products,
  html body.woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
  }
}
@media (max-width: 820px) {
  html body.woocommerce ul.products,
  html body.woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
  .woocommerce-products-header__title.page-title {
    font-size: 1.75rem !important;
  }
  .woocommerce-result-count,
  .woocommerce-ordering {
    float: none !important;
    width: 100% !important;
  }
}
@media (max-width: 520px) {
  html body.woocommerce ul.products,
  html body.woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-pagination ul.page-numbers {
    gap: 4px !important;
  }
  .woocommerce-pagination ul.page-numbers li a,
  .woocommerce-pagination ul.page-numbers li span {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    font-size: 0.85rem !important;
  }
}

/* ==========================================================================
   Checkout Page - Trust-Focused Layout
   ========================================================================== */

/* Responsive 2-Column Checkout Layout */
@media (min-width: 992px) {
  .woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: 1.25fr 0.95fr;
    gap: 40px;
    align-items: start;
  }
  .woocommerce-checkout #customer_details {
    width: 100% !important;
    float: none !important;
  }
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .woocommerce-checkout-review-order {
    position: sticky;
    top: 100px;
    width: 100% !important;
    float: none !important;
  }
}

@media (max-width: 991px) {
  .woocommerce-checkout form.checkout {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
}

/* Form Sections */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 28px;
  margin-bottom: 24px;
  box-shadow: 0 4px 16px -2px rgba(15, 23, 42, 0.04);
}
.woocommerce-checkout h3 {
  font-family: "Work Sans", system-ui, -apple-system, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  margin-top: 0;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1.5px solid #f1f5f9;
}

/* Input Fields */
.woocommerce form .form-row {
  margin-bottom: 16px;
}
.woocommerce form .form-row label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1e293b;
  margin-bottom: 6px;
  display: block;
}
.woocommerce form input.input-text,
.woocommerce form select,
.woocommerce form textarea {
  width: 100%;
  border: 1.5px solid #cbd5e1;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 0.95rem;
  color: #0f172a;
  background: #ffffff;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.woocommerce form input.input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
  border-color: #0f766e;
  outline: none;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15);
}

/* Order Review Box */
.woocommerce-checkout #order_review_heading {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 16px;
}
.woocommerce-checkout-review-order {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.06);
}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table {
  border: none !important;
  margin-bottom: 20px;
}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td {
  border-color: #f1f5f9 !important;
  padding: 12px 8px;
  font-size: 0.92rem;
}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table th {
  font-weight: 700;
  color: #0f172a;
}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .order-total th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .order-total td {
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f766e;
  border-top: 2px solid #e2e8f0 !important;
}

/* Payment Methods */
#payment {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 18px !important;
  margin-bottom: 20px;
}
#payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}
#payment ul.payment_methods li {
  padding: 10px 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
}
#payment ul.payment_methods li label {
  cursor: pointer;
  margin-left: 6px;
}
#payment div.payment_box {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 0.85rem !important;
  color: #475569 !important;
  margin: 8px 0 12px !important;
}

/* Place Order Button */
#place_order {
  background: #113c59 !important;
  color: #ffffff !important;
  font-family: "Work Sans", system-ui, -apple-system, sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  padding: 18px 24px !important;
  border-radius: 9999px !important;
  width: 100% !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(17, 60, 89, 0.25) !important;
  cursor: pointer;
  transition: all 0.2s ease !important;
  text-align: center;
}
#place_order:hover {
  background: #0d2e44 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(17, 60, 89, 0.35) !important;
}

/* Clinical Safety Reassurance */
.tfc-checkout-clinical-assurance {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  padding: 14px 16px;
  margin-top: 16px;
}
.tfc-assurance-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
}
.tfc-assurance-text strong {
  display: block;
  font-size: 0.88rem;
  font-weight: 700;
  color: #166534;
  margin-bottom: 2px;
}
.tfc-assurance-text p {
  font-size: 0.8rem;
  color: #15803d;
  margin: 0;
  line-height: 1.4;
}

/* Treatment Page Consultation Form */
.pharmacy-treatment-content {
  padding-top: 30px;
  padding-bottom: 60px;
}

/* ==========================================================================
   WooCommerce Block Checkout — Wider Order Summary Card
   ========================================================================== */

/* WooCommerce Blocks may add its own max-width; we manage width via the
   pharmacy-main > wc-block-checkout chain above (max-width: 1320px) */
.wp-block-woocommerce-checkout.alignwide,
.wp-block-woocommerce-checkout.alignfull {
  max-width: 100% !important;
}

/* Widen order summary sidebar (right-hand "Order summary" card) */
@media (min-width: 992px) {
  .wc-block-checkout__sidebar {
    min-width: 400px !important;
    width: 400px !important;
    flex-shrink: 0 !important;
  }
  .wc-block-checkout__main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

@media (max-width: 991px) {
  .wc-block-checkout__sidebar {
    width: 100% !important;
    min-width: unset !important;
  }
  html body .wc-block-checkout,
  html body .wp-block-woocommerce-checkout {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* /* ==========================================================================
   ALIGNMENT & GEOMETRY HARMONIZATION OVERRIDES (BLOCK GAP / CORE RESETS)
   ========================================================================== */

/* 1. Universal reset of Gutenberg block-gap top margins on all grid/row children */
:root :where(.is-layout-flow) > .tfc-steps-grid,
:root :where(.is-layout-flow) > .tfc-regulatory-grid,
:root :where(.is-layout-flow) > .tfc-reviews-grid,
:root :where(.is-layout-flow) > .tfc-rewards-grid,
:root :where(.is-layout-flow) > .tfc-team-grid,
:root :where(.is-layout-flow) > .tfc-mosaic-grid,
:root :where(.is-layout-flow) > .tfc-top-banner,
:root :where(.is-layout-flow) > .tfc-main-header,
.tfc-top-banner > *,
.tfc-top-banner-inner > *,
.tfc-banner-content > *,
.tfc-main-header > *,
.tfc-header-container > *,
.tfc-header-left > *,
.tfc-header-right > *,
.tfc-header-user,
.tfc-header-search,
.tfc-header-cart,
.tfc-header-nav-toggle,
.tfc-mosaic-grid > *,
.tfc-mosaic-col > *,
.tfc-mosaic-row-split > *,
.tfc-trust-bar-container > *,
.tfc-catbtn-grid > *,
.tfc-steps-grid > *,
.tfc-steps-grid > .tfc-step-card,
.tfc-team-grid > *,
.tfc-team-grid > .tfc-team-card,
.tfc-regulatory-grid > *,
.tfc-regulatory-grid > .tfc-regulatory-card,
.tfc-reviews-grid > *,
.tfc-reviews-grid > .tfc-review-card,
.tfc-rewards-grid > *,
.tfc-rewards-grid > .tfc-rewards-card {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 2. Top Announcement Banner Alignment */
.tfc-top-banner {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  background-color: var(--tfc-banner, #e6f7f1) !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
.tfc-top-banner-inner {
  max-width: 1320px !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.tfc-banner-content {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  height: 40px !important;
  margin: 0 auto !important;
}
.tfc-banner-pill-img {
  width: 44px !important;
  height: 26px !important;
  object-fit: contain !important;
  display: block !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}
.tfc-banner-rotator,
.tfc-banner-text {
  display: flex !important;
  align-items: center !important;
  height: 40px !important;
  line-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.tfc-banner-slide {
  font-size: 0.9375rem !important;
  height: 40px !important;
  line-height: 40px !important;
  margin: 0 !important;
}
.tfc-banner-slide.is-active {
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
  line-height: 40px !important;
}
.tfc-banner-cta {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 6px !important;
  gap: 4px !important;
  line-height: 1 !important;
}

/* 3. Main Header Alignment & Heights */
.tfc-main-header {
  height: auto !important;
  min-height: 72px !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e0ece6 !important;
  padding: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
}
.tfc-header-container {
  max-width: 1320px !important;
  width: 100% !important;
  height: 72px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}
.tfc-header-left {
  height: 72px !important;
  display: flex !important;
  align-items: center !important;
}
.tfc-header-logo-link {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
.tfc-brand-lockup {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  height: 42px !important;
}
.tfc-brand-cross-icon {
  width: 42px !important;
  height: 42px !important;
  display: block !important;
  object-fit: contain !important;
  margin: 0 !important;
}
.tfc-brand-title {
  font-size: 1.35rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}
.tfc-header-center {
  flex: 1 1 auto !important;
  max-width: 480px !important;
  margin: 0 clamp(16px, 3vw, 40px) !important;
  display: flex !important;
  align-items: center !important;
  height: 72px !important;
}
.tfc-header-search-form {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 42px !important;
  background: #f4fbf8 !important;
  border: 1.5px solid #d8f1e7 !important;
  border-radius: 9999px !important;
  padding: 3px 5px 3px 18px !important;
  box-sizing: border-box !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.tfc-header-search-form:focus-within {
  background-color: #ffffff !important;
  border-color: #008a64 !important;
  box-shadow: 0 0 0 3px rgba(0, 138, 100, 0.15) !important;
}
.tfc-header-search-input {
  flex: 1 1 auto !important;
  border: none !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: 0.885rem !important;
  font-weight: 500 !important;
  color: #04382c !important;
  outline: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  line-height: normal !important;
  box-sizing: border-box !important;
}
.tfc-header-search-input::placeholder {
  color: #6b8f84 !important;
  font-size: 0.845rem !important;
  font-weight: 400 !important;
}
.tfc-header-search-submit {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: #008a64 !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.tfc-header-search-submit:hover {
  background: #04382c !important;
  transform: scale(1.05) !important;
}
.tfc-header-search-submit svg {
  display: block !important;
  stroke: #ffffff !important;
}
.tfc-header-right .tfc-header-search {
  display: none !important;
}
.tfc-header-right {
  height: 72px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  margin: 0 !important;
}
.tfc-header-user,
.tfc-header-search,
.tfc-header-cart,
.tfc-header-nav-toggle {
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  vertical-align: middle !important;
}
.tfc-user-greeting {
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  line-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
}
.tfc-search-toggle-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background-color: var(--tfc-surface-alt, #F2F2F2) !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
.tfc-cart-btn {
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
.tfc-hamburger-btn {
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

/* 4. Hero Section & Symmetrical 4-Image Grid */
.tfc-hero-section {
  padding: 8px 0 44px !important;
  background: #edf8f4 !important;
}
.tfc-hero-search-wrapper {
  display: none !important;
}

/* New Hero Content (Feel better, faster) */
.tfc-hero-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.tfc-hero-headline {
  font-family: var(--tfc-font-sans, system-ui, -apple-system, sans-serif) !important;
  font-size: clamp(2.85rem, 5vw, 4.3rem) !important;
  font-weight: 800 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
  color: #04382c !important;
  margin: 0 0 20px 0 !important;
}

.tfc-hero-headline-accent {
  color: #1bb082 !important;
  display: inline-block !important;
}

.tfc-hero-subtext {
  font-family: var(--tfc-font-sans, system-ui, -apple-system, sans-serif) !important;
  font-size: clamp(1.05rem, 1.35vw, 1.25rem) !important;
  line-height: 1.55 !important;
  color: #2b5447 !important;
  max-width: 480px !important;
  margin: 0 0 28px 0 !important;
}

.tfc-hero-action-row {
  margin: 0 0 24px 0 !important;
  display: flex !important;
  align-items: center !important;
}

.tfc-btn-start-consultation {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #1bb082 !important;
  color: #ffffff !important;
  font-family: var(--tfc-font-sans, system-ui, -apple-system, sans-serif) !important;
  font-size: 1.0625rem !important;
  font-weight: 700 !important;
  padding: 15px 32px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  box-shadow: 0 0 0 4px rgba(27, 176, 130, 0.22) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}

.tfc-btn-start-consultation:hover {
  background: #008a64 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 138, 100, 0.32) !important;
}

.tfc-btn-arrow {
  font-size: 1.15rem !important;
  transition: transform 0.2s ease !important;
}

.tfc-btn-start-consultation:hover .tfc-btn-arrow {
  transform: translateX(4px) !important;
}

.tfc-hero-trustpilot-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 0 0 16px 0 !important;
  font-size: 0.9375rem !important;
  color: #04382c !important;
}

.tfc-tp-brand {
  font-weight: 800 !important;
  color: #04382c !important;
  margin: 0 !important;
  font-size: 0.9688rem !important;
}

.tfc-tp-stars-box {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  background: #00b67a !important;
  padding: 4px 7px !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.tfc-tp-star {
  color: #ffffff !important;
  line-height: 1 !important;
}

.tfc-tp-link {
  color: #04382c !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  margin: 0 !important;
}

.tfc-tp-link u {
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.tfc-hero-gphc-badge {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 !important;
}

.tfc-gphc-icon {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #1bb082 !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.tfc-gphc-icon::before {
  content: '' !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

.tfc-gphc-text {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  color: #04382c !important;
  margin: 0 !important;
  letter-spacing: -0.01em !important;
}

/* Category Cards Strip (5 Cards) */
.tfc-hero-categories-strip {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 36px auto 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.tfc-hero-categories-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.tfc-cat-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  aspect-ratio: 1.12 / 1 !important;
  min-height: 175px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  padding: 16px !important;
  text-decoration: none !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: #0d382d !important;
  box-shadow: 0 4px 16px rgba(4, 56, 44, 0.08) !important;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s ease, border-color 0.28s ease !important;
}

.tfc-cat-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(34, 193, 151, 0.5) !important;
  box-shadow: 0 12px 28px rgba(4, 56, 44, 0.2) !important;
}

.tfc-cat-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  z-index: 1 !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tfc-cat-card:hover .tfc-cat-img {
  transform: scale(1.06) !important;
}

.tfc-cat-overlay {
  position: absolute !important;
  inset: 0 !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(8, 38, 30, 0.1) 0%, rgba(6, 32, 25, 0.4) 45%, rgba(4, 24, 18, 0.88) 100%) !important;
  z-index: 2 !important;
  pointer-events: none !important;
  transition: background 0.3s ease !important;
}

.tfc-cat-card:hover .tfc-cat-overlay {
  background: linear-gradient(180deg, rgba(8, 38, 30, 0.06) 0%, rgba(6, 32, 25, 0.32) 40%, rgba(4, 24, 18, 0.93) 100%) !important;
}

.tfc-cat-label-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  width: 100% !important;
  position: relative !important;
  z-index: 3 !important;
  margin-top: auto !important;
}

.tfc-cat-title {
  font-family: var(--tfc-font-sans, system-ui, -apple-system, sans-serif) !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  letter-spacing: -0.01em !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55) !important;
}

.tfc-cat-arrow {
  color: #22c197 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transition: transform 0.22s ease, color 0.22s ease !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}

.tfc-cat-card:hover .tfc-cat-arrow {
  transform: translateX(4px) !important;
  color: #38e2b5 !important;
}

.tfc-hero-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 40px !important;
  align-items: center !important;
}
.tfc-hero-media {
  position: relative !important;
  width: 100% !important;
}
.tfc-mosaic-grid {
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 580px !important;
  height: 413px !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}
.tfc-mosaic-col-left {
  flex: 0 0 59% !important;
  width: 59% !important;
  max-width: 59% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  height: 413px !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}
.tfc-mosaic-col-right {
  flex: 0 0 calc(41% - 8px) !important;
  width: calc(41% - 8px) !important;
  max-width: calc(41% - 8px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  height: 413px !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}
.tfc-mosaic-grid figure.tfc-mosaic-item,
.tfc-mosaic-grid .tfc-mosaic-item,
.tfc-mosaic-item {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: #eef2f6 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-sizing: border-box !important;
}
.tfc-mosaic-grid figure.tfc-mosaic-item img,
.tfc-mosaic-grid .tfc-mosaic-item img,
.tfc-mosaic-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 12px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.tfc-mosaic-item.hover-zoom:hover img {
  transform: scale(1.04) !important;
}
.tfc-mosaic-dad {
  height: 220px !important;
  width: 100% !important;
  flex: 0 0 220px !important;
  margin: 0 !important;
}
.tfc-mosaic-box {
  height: 185px !important;
  width: 100% !important;
  flex: 0 0 185px !important;
  margin: 0 !important;
}
.tfc-mosaic-woman {
  height: 295px !important;
  width: 100% !important;
  flex: 0 0 295px !important;
  margin: 0 !important;
}
.tfc-mosaic-food {
  height: 110px !important;
  width: 100% !important;
  flex: 0 0 110px !important;
  margin: 0 !important;
}
@media (max-width: 600px) {
  .tfc-mosaic-grid {
    height: 286px !important;
    gap: 6px !important;
  }
  .tfc-mosaic-col-left,
  .tfc-mosaic-col-right {
    height: 286px !important;
    gap: 6px !important;
  }
  .tfc-mosaic-dad {
    height: 155px !important;
    flex: 0 0 155px !important;
  }
  .tfc-mosaic-box {
    height: 125px !important;
    flex: 0 0 125px !important;
  }
  .tfc-mosaic-woman {
    height: 200px !important;
    flex: 0 0 200px !important;
  }
  .tfc-mosaic-food {
    height: 80px !important;
    flex: 0 0 80px !important;
  }
}

/* 5. Trust Bar Vertical & Horizontal Alignment */
.tfc-trust-bar-section {
  background-color: var(--tfc-primary-tint, #e6f7f1) !important;
  border-top: 1px solid #dce8f0 !important;
  border-bottom: 1px solid #dce8f0 !important;
  padding: 16px 0 !important;
}
.tfc-trust-bar-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-around !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}
.tfc-trust-badge-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}
.tfc-trust-badge-item figure.tfc-trust-badge-img,
.tfc-trust-badge-img {
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.tfc-trust-badge-img img {
  width: 26px !important;
  height: 26px !important;
  object-fit: contain !important;
  display: block !important;
}
.tfc-trust-star-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}
.tfc-trust-badge-text {
  font-size: 0.95rem !important;
  line-height: 1.3 !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

/* 6. Popular Treatments Dynamic Category Buttons */
.tfc-popular-treatments-section .tfc-section-container {
  max-width: 1400px !important;
}
.tfc-catbtn-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: 74px !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
}
/* WordPress can add <br> nodes while rendering a Shortcode block. They must
   not become empty CSS Grid cells between treatment cards. */
.tfc-catbtn-grid br {
  display: none !important;
}
@media (max-width: 1120px) {
  .tfc-catbtn-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}
@media (max-width: 780px) {
  .tfc-catbtn-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}
@media (max-width: 520px) {
  .tfc-catbtn-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 68px !important;
    gap: 10px !important;
  }
}
@media (max-width: 340px) {
  .tfc-catbtn-grid {
    grid-template-columns: 1fr !important;
  }
}
.tfc-catbtn-card {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #ffffff !important;
  border: 1px solid var(--tfc-hairline, #E5E7EB) !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  min-height: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  color: var(--tfc-dark, #222222) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  gap: 8px !important;
}
.tfc-catbtn-card:hover {
  border-color: var(--tfc-primary, #008a64) !important;
  box-shadow: 0 4px 14px rgba(4, 56, 44, 0.08) !important;
  transform: translateY(-2px) !important;
}
.tfc-catbtn-title {
  font-size: 0.825rem !important;
  font-weight: 600 !important;
  color: var(--tfc-dark, #222222) !important;
  line-height: 1.25 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  min-height: 0 !important;
  margin: 0 !important;
  word-break: break-word !important;
}
.tfc-catbtn-right {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.tfc-catbtn-img {
  width: 24px !important;
  height: 24px !important;
  object-fit: contain !important;
  display: block !important;
  transition: transform 0.2s ease !important;
}
.tfc-catbtn-card:hover .tfc-catbtn-img {
  transform: scale(1.08) !important;
}
.tfc-catbtn-chevron {
  width: 12px !important;
  height: 12px !important;
  flex-shrink: 0 !important;
  transition: transform 0.2s ease !important;
}
.tfc-catbtn-card:hover .tfc-catbtn-chevron {
  transform: translateX(2px) !important;
  stroke: var(--tfc-primary, #008a64) !important;
}

/* 7. How It Works Symmetrical Cards */
.tfc-steps-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin-top: 0 !important;
}
@media (max-width: 1024px) {
  .tfc-steps-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .tfc-steps-grid {
    grid-template-columns: 1fr !important;
  }
}
.tfc-steps-grid > .tfc-step-card,
.tfc-step-card {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 28px 22px !important;
  border-radius: 16px !important;
}
.tfc-step-card h3,
.tfc-step-card h4,
.tfc-step-title {
  margin: 0 0 8px 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}
.tfc-step-desc {
  flex-grow: 1 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  line-height: 1.5 !important;
}

/* 8. Medical Team Symmetrical Cards */
.tfc-team-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin-top: 0 !important;
}
@media (max-width: 1024px) {
  .tfc-team-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .tfc-team-grid {
    grid-template-columns: 1fr !important;
  }
}
.tfc-team-grid > .tfc-team-card,
.tfc-team-card {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

/* 9. Regulatory Cards Perfect Top Alignment & Symmetry */
.tfc-regulatory-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
  margin-top: 0 !important;
}
@media (max-width: 900px) {
  .tfc-regulatory-grid {
    grid-template-columns: 1fr !important;
  }
}
.tfc-regulatory-grid > .tfc-regulatory-card,
.tfc-regulatory-card {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  padding: 24px !important;
  border-radius: 16px !important;
}
.tfc-regulatory-icon,
.tfc-regulatory-card figure.tfc-regulatory-icon {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0 !important;
}
.tfc-regulatory-icon img {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain !important;
  display: block !important;
}
.tfc-regulatory-content {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  flex: 1 1 auto !important;
}
.tfc-regulatory-content h4 {
  margin: 0 0 8px 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}
.tfc-regulatory-content p {
  margin: 0 0 10px 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* 10. Reviews Cards Perfect Top Alignment & Symmetry */
.tfc-reviews-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin-top: 0 !important;
}
@media (max-width: 900px) {
  .tfc-reviews-grid {
    grid-template-columns: 1fr !important;
  }
}
.tfc-reviews-grid > .tfc-review-card,
.tfc-review-card {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 24px !important;
  border-radius: 16px !important;
}
.tfc-review-stars {
  margin: 0 0 12px 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}
.tfc-review-title {
  margin: 0 0 8px 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}
.tfc-review-text {
  margin: 0 0 16px 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  flex-grow: 1 !important;
}
.tfc-review-author {
  margin-top: auto !important;
  margin-block-start: auto !important;
  margin-bottom: 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid #f2f2f2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}
.tfc-review-avatar {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
  width: 44px !important;
  height: 44px !important;
}
.tfc-review-avatar img {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08) !important;
}
.tfc-review-author-info {
  flex: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.tfc-review-author-info p,
.tfc-review-author p {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.35 !important;
  color: #222222 !important;
}
.tfc-verified-badge {
  color: #00b67a !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  margin-left: 4px !important;
  display: inline-block !important;
}

/* 11. Rewards & Guarantees Symmetrical Cards */
.tfc-rewards-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
  margin-top: 0 !important;
}
@media (max-width: 768px) {
  .tfc-rewards-grid {
    grid-template-columns: 1fr !important;
  }
}
.tfc-rewards-grid > .tfc-rewards-card,
.tfc-rewards-card {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

/* 12. Pre-Footer Contact Bar Perfect Vertical Baseline Alignment */
.tfc-footer-top-strip {
  background: var(--tfc-surface-alt, #F2F2F2) !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--tfc-hairline, #E5E7EB) !important;
}
.tfc-footer-top-strip .tfc-footer-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}
.tfc-footer-top-grid {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  gap: 24px !important;
  width: 100% !important;
}
:root :where(.is-layout-flow) > .tfc-footer-top-grid,
:root :where(.is-layout-flow) > .tfc-footer-contact-item,
:root :where(.is-layout-flow) > .tfc-contact-info,
.tfc-footer-top-grid > *,
.tfc-footer-contact-item > *,
.tfc-contact-info > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.tfc-footer-contact-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding: 0 !important;
}
.tfc-contact-icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid var(--tfc-hairline, #E5E7EB) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
  color: var(--tfc-primary, #008a64) !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}
.tfc-contact-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding: 0 !important;
}
.tfc-contact-label {
  display: block !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--tfc-muted, #6B7280) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding: 0 !important;
}
.tfc-contact-val,
a.tfc-contact-val,
span.tfc-contact-val {
  display: block !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--tfc-dark, #222222) !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding: 0 !important;
}
a.tfc-contact-val:hover {
  color: var(--tfc-primary, #008a64) !important;
}
@media (max-width: 768px) {
  .tfc-footer-top-grid {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
}

/* ==========================================================================
   Search Page & Search Results (Clinical, Symmetrical Card Grid)
   ========================================================================== */

/* Search Page Main Container */
html body.search .pharmacy-main,
.tfc-search-page-main {
  background-color: #f8fafc !important;
  padding-top: 40px !important;
  padding-bottom: 80px !important;
  min-height: 65vh !important;
  box-sizing: border-box !important;
}

html body.search .pharmacy-main > *,
.tfc-search-page-main > * {
  max-width: 1320px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* Search Header & Query Title */
.tfc-search-header-container,
html body.search .pharmacy-main .wp-block-query-title {
  margin-bottom: 24px !important;
}

html body.search h1.wp-block-query-title,
.tfc-search-title {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 2.25rem !important;
  font-weight: 800 !important;
  color: #113c59 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.2 !important;
  margin: 0 0 20px 0 !important;
}

/* Modern Clinical Search Bar */
html body.search .wp-block-search,
.tfc-search-page-bar {
  max-width: 720px !important;
  margin: 0 0 44px 0 !important;
}

html body.search .wp-block-search .wp-block-search__inside-wrapper,
.tfc-search-page-bar .wp-block-search__inside-wrapper {
  display: flex !important;
  align-items: center !important;
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 9999px !important;
  padding: 6px 8px 6px 20px !important;
  box-shadow: 0 4px 16px -2px rgba(15, 23, 42, 0.06) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

html body.search .wp-block-search .wp-block-search__inside-wrapper:focus-within,
.tfc-search-page-bar .wp-block-search__inside-wrapper:focus-within {
  border-color: #0f766e !important;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15), 0 8px 20px rgba(15, 23, 42, 0.08) !important;
}

html body.search .wp-block-search input.wp-block-search__input,
.tfc-search-page-bar input.wp-block-search__input {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.05rem !important;
  color: #0f172a !important;
  width: 100% !important;
  padding: 8px 12px 8px 0 !important;
  box-shadow: none !important;
}

html body.search .wp-block-search input.wp-block-search__input::placeholder,
.tfc-search-page-bar input.wp-block-search__input::placeholder {
  color: #94a3b8 !important;
}

html body.search .wp-block-search button.wp-block-search__button,
.tfc-search-page-bar button.wp-block-search__button {
  background: #113c59 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 12px 24px !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(17, 60, 89, 0.2) !important;
  flex-shrink: 0 !important;
}

html body.search .wp-block-search button.wp-block-search__button:hover,
.tfc-search-page-bar button.wp-block-search__button:hover {
  background: #0d2e44 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(17, 60, 89, 0.3) !important;
}

html body.search .wp-block-search button.wp-block-search__button svg,
.tfc-search-page-bar button.wp-block-search__button svg {
  fill: currentColor !important;
  width: 18px !important;
  height: 18px !important;
}

/* Symmetrical 3-Column Results Grid */
.pharmacy-posts ul.wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 48px 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 980px) {
  .pharmacy-posts ul.wp-block-post-template {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .pharmacy-posts ul.wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}

/* Symmetrical Card Frame */
.pharmacy-posts ul.wp-block-post-template li.wp-block-post {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
}

.pharmacy-posts ul.wp-block-post-template li.wp-block-post:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
  border-color: #cbd5e1 !important;
}

/* Featured Image (if present) */
.pharmacy-posts .wp-block-post-featured-image {
  margin: 0 0 16px 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #f8fafc !important;
  border: 1px solid #f1f5f9 !important;
  max-height: 180px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.pharmacy-posts .wp-block-post-featured-image img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.pharmacy-posts ul.wp-block-post-template li.wp-block-post:hover .wp-block-post-featured-image img {
  transform: scale(1.04) !important;
}

/* Clinical Date / Badge */
.pharmacy-posts .wp-block-post-date {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  color: #0f766e !important;
  background: #f0fdfa !important;
  border: 1px solid #ccfbf1 !important;
  padding: 4px 10px !important;
  border-radius: 9999px !important;
  width: fit-content !important;
  margin-bottom: 12px !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}

/* Post Title */
.pharmacy-posts h2.wp-block-post-title {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #113c59 !important;
  line-height: 1.35 !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.015em !important;
}

.pharmacy-posts h2.wp-block-post-title a {
  color: #113c59 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.pharmacy-posts h2.wp-block-post-title a:hover {
  color: #0f766e !important;
}

/* Excerpt & CTA Area */
.pharmacy-posts .wp-block-post-excerpt {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  justify-content: space-between !important;
  margin: 0 !important;
}

.pharmacy-posts .wp-block-post-excerpt__excerpt {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  color: #64748b !important;
  margin: 0 0 20px 0 !important;
  flex-grow: 1 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Action CTA Button */
.pharmacy-posts .wp-block-post-excerpt__more-text {
  margin: 0 !important;
  margin-top: auto !important;
}

.pharmacy-posts .wp-block-post-excerpt__more-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  height: 42px !important;
  background: #f1f5f9 !important;
  color: #113c59 !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border: 1px solid #e2e8f0 !important;
  box-sizing: border-box !important;
}

.pharmacy-posts .wp-block-post-excerpt__more-link:hover {
  background: #113c59 !important;
  color: #ffffff !important;
  border-color: #113c59 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(17, 60, 89, 0.18) !important;
}

/* Pagination on Search Results */
.pharmacy-posts nav.wp-block-query-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 36px 0 0 0 !important;
  padding: 24px 0 0 0 !important;
  border-top: 1px solid #e2e8f0 !important;
  width: 100% !important;
}

.pharmacy-posts nav.wp-block-query-pagination .wp-block-query-pagination-numbers {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.pharmacy-posts nav.wp-block-query-pagination a,
.pharmacy-posts nav.wp-block-query-pagination span.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.pharmacy-posts nav.wp-block-query-pagination span.page-numbers.current {
  background: #113c59 !important;
  color: #ffffff !important;
  border-color: #113c59 !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(17, 60, 89, 0.2) !important;
}

.pharmacy-posts nav.wp-block-query-pagination a:hover {
  background: #f1f5f9 !important;
  color: #113c59 !important;
  border-color: #cbd5e1 !important;
}

/* No Results Card */
.pharmacy-posts .wp-block-query-no-results {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 48px 32px !important;
  text-align: center !important;
  box-shadow: 0 4px 16px -2px rgba(15, 23, 42, 0.04) !important;
  margin: 20px 0 !important;
}

.pharmacy-posts .wp-block-query-no-results p {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.05rem !important;
  color: #64748b !important;
  margin: 0 !important;
}

/* ==========================================================================
   MOBILE RESPONSIVENESS FIX (HEADER / BANNER / HERO)
   The "Alignment & Geometry Harmonization" block above hard-codes fixed
   desktop-only dimensions with !important and no media queries, which
   silently overrides the responsive rules defined earlier in this file for
   the announcement banner, the sticky header and the hero grid. These rules
   restore mobile behaviour by re-asserting responsive values inside media
   queries placed after that block, so they win the cascade at small widths.
   ========================================================================== */

/* Hero: collapse the two-column grid before it can crush the text column */
@media (max-width: 1080px) {
  .tfc-hero-container {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .tfc-hero-content {
    max-width: 100% !important;
  }
  .tfc-mosaic-grid {
    max-width: 480px !important;
    margin: 0 auto !important;
  }
  .tfc-hero-categories-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .tfc-hero-categories-strip {
    padding: 0 16px !important;
    margin-top: 24px !important;
  }
  .tfc-hero-categories-grid {
    display: flex !important;
    overflow-x: auto !important;
    gap: 12px !important;
    padding-bottom: 8px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .tfc-cat-card {
    flex: 0 0 170px !important;
    min-height: 155px !important;
    scroll-snap-align: start !important;
  }
  .tfc-hero-headline {
    font-size: 2.5rem !important;
  }
}

/* Sticky header: fit logo + icons + hamburger inside small viewports */
@media (max-width: 768px) {
  .tfc-main-header {
    height: auto !important;
    min-height: 64px !important;
    padding: 8px 0 !important;
  }
  .tfc-header-container {
    flex-wrap: wrap !important;
    height: auto !important;
    padding: 0 16px 8px 16px !important;
    gap: 8px 0 !important;
  }
  .tfc-header-left {
    order: 1 !important;
    height: 42px !important;
  }
  .tfc-header-right {
    order: 2 !important;
    height: 42px !important;
    gap: 10px !important;
  }
  .tfc-header-center {
    order: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 4px 0 0 0 !important;
  }
  .tfc-header-search-form {
    height: 38px !important;
  }
  .tfc-brand-cross-icon {
    width: 32px !important;
    height: 32px !important;
  }
  .tfc-brand-title {
    font-size: 1.05rem !important;
  }
  .tfc-header-user,
  .tfc-user-greeting {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .tfc-header-container {
    padding: 0 12px !important;
  }
  .tfc-header-right {
    gap: 6px !important;
  }
  .tfc-brand-title {
    font-size: 0.95rem !important;
  }
}

/* Announcement banner: let the rotating message wrap instead of being clipped */
@media (max-width: 640px) {
  .tfc-top-banner {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    padding: 8px 12px !important;
  }
  .tfc-top-banner-inner,
  .tfc-banner-content {
    height: auto !important;
  }
  .tfc-banner-content {
    flex-wrap: wrap !important;
    text-align: center !important;
  }
  .tfc-banner-pill-img {
    display: none !important;
  }
  .tfc-banner-rotator,
  .tfc-banner-text {
    height: auto !important;
    line-height: 1.4 !important;
    white-space: normal !important;
  }
  .tfc-banner-slide {
    height: auto !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    font-size: 0.8125rem !important;
    text-align: center !important;
  }
  .tfc-banner-slide.is-active {
    height: auto !important;
    line-height: 1.4 !important;
  }
  .tfc-banner-cta {
    white-space: nowrap !important;
  }
}

/* ==========================================================================
   PHARMACY THEME: WOOCOMMERCE PATIENT PORTAL & ACCOUNT STYLES
   ========================================================================== */

/* Account Container & Layout */
.woocommerce-account .pharmacy-main {
  padding-top: 1.5rem;
  padding-bottom: 3.5rem;
}

/* Hide redundant post title on logged-out auth screen */
body.woocommerce-account:not(.logged-in) .wp-block-post-title {
  display: none !important;
}

/* Page title for logged-in account portal */
body.woocommerce-account.logged-in .wp-block-post-title {
  font-size: 1.85rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--tfc-dark) !important;
  margin-bottom: 1.5rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid var(--tfc-hairline) !important;
}

/* Wrapper Layout */
.tfc-myaccount-wrapper {
  display: flex !important;
  align-items: flex-start !important;
  gap: 2rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Force override WooCommerce default float layout */
.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none !important;
  width: 280px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  background: #ffffff !important;
  border: 1px solid var(--tfc-hairline) !important;
  border-radius: var(--tfc-radius-lg) !important;
  box-shadow: var(--tfc-shadow-sm) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 960px) {
  .tfc-myaccount-wrapper {
    flex-direction: column !important;
    gap: 1.5rem !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
  }
}

/* Navigation Card & Patient Profile Header */
.tfc-account-user-card {
  padding: 1.35rem 1.25rem;
  background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
  border-bottom: 1px solid var(--tfc-hairline);
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.tfc-account-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--tfc-primary-tint);
  color: var(--tfc-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.95rem;
  border: 1.5px solid rgba(0, 138, 100, 0.2);
  flex-shrink: 0;
}

.tfc-account-user-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.tfc-account-user-name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--tfc-dark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.tfc-account-user-email {
  font-size: 0.78rem;
  color: var(--tfc-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}

.tfc-account-user-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.7rem;
  font-weight: 600;
  color: #15803D;
  background: #EFFDF2;
  padding: 1px 7px;
  border-radius: 9999px;
  margin-top: 4px;
  width: fit-content;
}

.tfc-account-menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0.5rem !important;
}

.tfc-account-menu li {
  list-style: none !important;
  margin: 2px 0 !important;
  padding: 0 !important;
}

.tfc-account-menu li a {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.7rem 0.85rem !important;
  border-radius: var(--tfc-radius-md) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  color: #4B5563 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  box-sizing: border-box !important;
}

.tfc-account-menu li a:hover {
  color: var(--tfc-primary) !important;
  background: var(--tfc-primary-tint) !important;
}

.tfc-account-menu li.is-active a {
  color: var(--tfc-primary) !important;
  background: var(--tfc-primary-tint) !important;
  font-weight: 600 !important;
}

.tfc-nav-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  color: inherit !important;
  flex-shrink: 0 !important;
}

.tfc-nav-text {
  flex: 1 1 auto !important;
}

.tfc-nav-chevron {
  font-size: 1.15rem !important;
  opacity: 0.4 !important;
  transition: transform 0.15s ease, opacity 0.15s ease !important;
  line-height: 1 !important;
}

.tfc-account-menu li a:hover .tfc-nav-chevron,
.tfc-account-menu li.is-active a .tfc-nav-chevron {
  transform: translateX(2px) !important;
  opacity: 0.9 !important;
}

.tfc-account-menu li.woocommerce-MyAccount-navigation-link--customer-logout {
  border-top: 1px solid var(--tfc-hairline) !important;
  margin-top: 0.5rem !important;
  padding-top: 0.5rem !important;
}

.tfc-account-menu li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: #DC2626 !important;
  background: #FEF2F2 !important;
}

/* Dashboard Hub */
.tfc-dashboard-hub {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.tfc-dashboard-welcome-banner {
  background: linear-gradient(155deg, #04382c 0%, #008a64 52%, #22c197 100%);
  color: #ffffff;
  border-radius: var(--tfc-radius-lg);
  padding: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  box-shadow: 0 8px 24px rgba(4, 56, 44, 0.16);
  position: relative;
  overflow: hidden;
}

.tfc-dashboard-welcome-content {
  flex: 1 1 auto;
}

.tfc-dashboard-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 9999px;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tfc-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c197;
  display: inline-block;
  box-shadow: 0 0 6px #22c197;
}

.tfc-dashboard-title {
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  margin: 0 0 0.5rem !important;
  color: #ffffff !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
}

.tfc-dashboard-subtitle {
  font-size: 0.9375rem !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  line-height: 1.5 !important;
  max-width: 580px !important;
}

.tfc-btn-logout-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #ffffff !important;
  padding: 0.5rem 1.1rem;
  border-radius: var(--tfc-radius-full);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.15s ease;
  white-space: nowrap;
}

.tfc-btn-logout-pill:hover {
  background: rgba(255, 255, 255, 0.28);
  transform: translateY(-1px);
}

@media (max-width: 680px) {
  .tfc-dashboard-welcome-banner {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.5rem;
  }
}

/* WooCommerce/block-theme heading and paragraph rules can be more specific
   than the dashboard component styles. Reassert the welcome hero contrast. */
html body.woocommerce-account .tfc-dashboard-welcome-banner .tfc-dashboard-title {
  color: #ffffff !important;
  border: 0 !important;
  padding: 0 !important;
}

html body.woocommerce-account .tfc-dashboard-welcome-banner .tfc-dashboard-subtitle {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Dashboard Quick Action Cards */
.tfc-dashboard-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

@media (max-width: 680px) {
  .tfc-dashboard-cards-grid {
    grid-template-columns: 1fr;
  }
}

.tfc-dashboard-card {
  display: flex !important;
  gap: 1.15rem !important;
  background: #ffffff !important;
  border: 1px solid var(--tfc-hairline) !important;
  border-radius: var(--tfc-radius-lg) !important;
  padding: 1.4rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: var(--tfc-shadow-sm) !important;
  box-sizing: border-box !important;
}

.tfc-dashboard-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(0, 138, 100, 0.35) !important;
  box-shadow: 0 8px 24px rgba(4, 56, 44, 0.1) !important;
}

.tfc-card-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: var(--tfc-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tfc-card-icon-wrap.is-blue {
  background: var(--tfc-primary-tint);
  color: var(--tfc-primary);
}

.tfc-card-icon-wrap.is-green {
  background: #EFFDF2;
  color: #15803D;
}

.tfc-card-icon-wrap.is-purple {
  background: #F3E8FF;
  color: #7E22CE;
}

.tfc-card-icon-wrap.is-sky {
  background: #E0F2FE;
  color: #0369A1;
}

.tfc-card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.tfc-card-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--tfc-dark) !important;
  margin: 0 0 0.35rem !important;
  line-height: 1.3 !important;
}

.tfc-card-copy {
  font-size: 0.85rem !important;
  color: var(--tfc-muted) !important;
  line-height: 1.45 !important;
  margin: 0 0 0.85rem !important;
  flex: 1 1 auto;
}

.tfc-card-action {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--tfc-primary);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: auto;
}

.tfc-card-arrow {
  transition: transform 0.15s ease;
}

.tfc-dashboard-card:hover .tfc-card-arrow {
  transform: translateX(3px);
}

/* Dashboard Assurance Strip */
.tfc-dashboard-assurance-card {
  background: #F8FAFC;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  padding: 1.4rem 1.6rem;
  display: flex;
  align-items: flex-start;
  gap: 1.15rem;
}

.tfc-assurance-badge-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: var(--tfc-shadow-sm);
}

.tfc-assurance-content h4 {
  margin: 0 0 0.25rem !important;
  font-size: 0.975rem !important;
  font-weight: 700 !important;
  color: var(--tfc-dark) !important;
}

.tfc-assurance-content p {
  margin: 0 0 0.65rem !important;
  font-size: 0.85rem !important;
  color: var(--tfc-muted) !important;
  line-height: 1.45 !important;
}

.tfc-assurance-gphc {
  display: inline-block;
  background: var(--tfc-primary-tint);
  color: var(--tfc-primary);
  font-weight: 600;
  font-size: 0.75rem;
  padding: 2px 8px;
  border-radius: 9999px;
  margin-left: 6px;
}

.tfc-assurance-contact-links {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.tfc-assurance-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.825rem;
  font-weight: 600;
  color: var(--tfc-primary);
  text-decoration: none;
}

.tfc-assurance-link:hover {
  text-decoration: underline;
}

/* Authentication & Login Screen */
.tfc-auth-container {
  width: 100%;
  margin: 2rem 0 4rem;
  box-sizing: border-box;
}

.tfc-auth-container.single-form {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

.tfc-auth-container.has-registration .tfc-auth-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
  align-items: stretch;
}

@media (max-width: 860px) {
  .tfc-auth-container.has-registration .tfc-auth-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.tfc-auth-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  padding: 2.25rem 2rem;
  box-shadow: 0 8px 30px rgba(4, 56, 44, 0.08);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

@media (max-width: 520px) {
  .tfc-auth-card {
    padding: 1.5rem 1.2rem;
  }
}

.tfc-auth-header {
  text-align: center;
  margin-bottom: 1.75rem;
}

.tfc-auth-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--tfc-primary-tint);
  color: var(--tfc-primary);
  font-size: 0.78rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 9999px;
  margin-bottom: 0.75rem;
}

.tfc-auth-badge.is-green {
  background: #EFFDF2;
  color: #15803D;
}

.tfc-auth-title {
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  color: var(--tfc-dark) !important;
  margin: 0 0 0.4rem !important;
  letter-spacing: -0.02em !important;
}

.tfc-auth-desc {
  font-size: 0.875rem !important;
  color: var(--tfc-muted) !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}

/* Modern Forms */
.tfc-modern-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.tfc-form-group {
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
}

.tfc-label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.35rem;
}

.tfc-form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--tfc-dark);
  margin-bottom: 0.35rem;
}

.tfc-form-label .required {
  color: #EF4444;
  margin-left: 2px;
}

.tfc-input-wrapper {
  position: relative;
  width: 100%;
}

.tfc-form-input,
.tfc-modern-form input[type="text"],
.tfc-modern-form input[type="email"],
.tfc-modern-form input[type="password"],
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"],
.tfc-address-edit-form input[type="text"],
.tfc-address-edit-form input[type="email"],
.tfc-address-edit-form input[type="tel"] {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid var(--tfc-hairline) !important;
  border-radius: var(--tfc-radius-md) !important;
  font-family: var(--tfc-font-sans) !important;
  font-size: 0.9375rem !important;
  color: var(--tfc-dark) !important;
  background: #ffffff !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
  box-sizing: border-box !important;
}

.tfc-form-input:focus,
.tfc-modern-form input:focus,
.woocommerce-EditAccountForm input:focus,
.tfc-address-edit-form input:focus {
  outline: none !important;
  border-color: var(--tfc-primary) !important;
  box-shadow: 0 0 0 3px var(--tfc-primary-tint) !important;
}

.tfc-forgot-link {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--tfc-primary);
  text-decoration: none;
}

.tfc-forgot-link:hover {
  text-decoration: underline;
}

.tfc-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  color: #4B5563;
  cursor: pointer;
  user-select: none;
  margin: 0.25rem 0;
}

.tfc-checkbox-input {
  width: 17px;
  height: 17px;
  border-radius: 4px;
  accent-color: var(--tfc-primary);
  cursor: pointer;
  margin: 0;
}

.tfc-btn-submit {
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: var(--tfc-primary) !important;
  color: #ffffff !important;
  padding: 0.8rem 1.5rem !important;
  border-radius: var(--tfc-radius-full) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(0, 138, 100, 0.22) !important;
  text-decoration: none !important;
  margin-top: 0.5rem !important;
  box-sizing: border-box !important;
}

.tfc-btn-submit:hover {
  background: var(--tfc-primary-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(0, 138, 100, 0.28) !important;
}

.tfc-btn-submit.is-secondary {
  background: #1F2937 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
}

.tfc-btn-submit.is-secondary:hover {
  background: #111827 !important;
}

.tfc-auth-footer-trust {
  margin-top: 1.5rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--tfc-hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.78rem;
  color: var(--tfc-muted);
  text-align: center;
}

.tfc-auth-links-row {
  margin-top: 1rem;
  text-align: center;
}

.tfc-back-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--tfc-primary);
  text-decoration: none;
}

.tfc-back-link:hover {
  text-decoration: underline;
}

/* Endpoint Sections */
.tfc-endpoint-section {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

.tfc-endpoint-header {
  border-bottom: 1px solid var(--tfc-hairline);
  padding-bottom: 1.15rem;
  margin-bottom: 0.5rem;
}

.tfc-endpoint-title {
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: var(--tfc-dark) !important;
  margin: 0 0 0.35rem !important;
  letter-spacing: -0.01em !important;
}

.tfc-endpoint-subtitle {
  font-size: 0.875rem !important;
  color: var(--tfc-muted) !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}

/* Orders Table Card */
.tfc-table-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  box-shadow: var(--tfc-shadow-sm);
  overflow-x: auto;
  box-sizing: border-box;
}

table.woocommerce-orders-table {
  width: 100% !important;
  border-collapse: collapse !important;
  text-align: left !important;
  margin: 0 !important;
}

table.woocommerce-orders-table th {
  background: #F8FAFC !important;
  padding: 0.9rem 1.15rem !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: #4B5563 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-bottom: 1px solid var(--tfc-hairline) !important;
  border-top: none !important;
}

table.woocommerce-orders-table td,
table.woocommerce-orders-table tbody th {
  padding: 1.15rem !important;
  font-size: 0.9375rem !important;
  border-bottom: 1px solid var(--tfc-hairline) !important;
  border-top: none !important;
  vertical-align: middle !important;
  color: var(--tfc-dark) !important;
}

table.woocommerce-orders-table tr:last-child td,
table.woocommerce-orders-table tr:last-child th {
  border-bottom: none !important;
}

table.woocommerce-orders-table tbody tr:hover td {
  background: #FAFCFF !important;
}

.tfc-order-number-link {
  font-weight: 700;
  color: var(--tfc-primary);
  text-decoration: none;
  font-size: 0.95rem;
}

.tfc-order-number-link:hover {
  text-decoration: underline;
}

.tfc-hash {
  opacity: 0.5;
  margin-right: 1px;
}

.tfc-order-date {
  color: var(--tfc-muted);
  font-size: 0.85rem;
}

/* Status Pill Badges */
.tfc-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 9999px;
  text-transform: capitalize;
  white-space: nowrap;
}

.tfc-status-bullet {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.tfc-status-completed {
  background: #EFFDF2;
  color: #15803D;
}
.tfc-status-completed .tfc-status-bullet {
  background: #22C55E;
}

.tfc-status-processing {
  background: #EFF6FF;
  color: #1D4ED8;
}
.tfc-status-processing .tfc-status-bullet {
  background: #3B82F6;
}

.tfc-status-on-hold {
  background: #FEFCE8;
  color: #A16207;
}
.tfc-status-on-hold .tfc-status-bullet {
  background: #EAB308;
}

.tfc-status-pending,
.tfc-status-pending-payment {
  background: #FFF7ED;
  color: #C2410C;
}
.tfc-status-pending .tfc-status-bullet,
.tfc-status-pending-payment .tfc-status-bullet {
  background: #F97316;
}

.tfc-status-cancelled,
.tfc-status-refunded,
.tfc-status-failed {
  background: #F3F4F6;
  color: #4B5563;
}
.tfc-status-cancelled .tfc-status-bullet,
.tfc-status-refunded .tfc-status-bullet,
.tfc-status-failed .tfc-status-bullet {
  background: #9CA3AF;
}

.tfc-order-total-cell {
  display: flex;
  flex-direction: column;
}

.tfc-order-total-price {
  font-size: 0.9375rem;
  color: var(--tfc-dark);
  font-weight: 700;
}

.tfc-order-items-count {
  font-size: 0.78rem;
  color: var(--tfc-muted);
}

.tfc-btn-view-order,
.woocommerce-orders-table .button.view {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--tfc-primary-tint) !important;
  color: var(--tfc-primary) !important;
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  padding: 0.4rem 0.9rem !important;
  border-radius: var(--tfc-radius-full) !important;
  text-decoration: none !important;
  border: 1px solid rgba(0, 138, 100, 0.2) !important;
  transition: all 0.15s ease !important;
}

.tfc-btn-view-order:hover,
.woocommerce-orders-table .button.view:hover {
  background: var(--tfc-primary) !important;
  color: #ffffff !important;
}

/* Empty State Card */
.tfc-empty-state-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  padding: 3.25rem 2rem;
  text-align: center;
  box-shadow: var(--tfc-shadow-sm);
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

.tfc-empty-icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--tfc-primary-tint);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.15rem;
}

.tfc-empty-icon.is-sky {
  background: #E0F2FE;
}

.tfc-empty-title {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--tfc-dark) !important;
  margin: 0 0 0.4rem !important;
}

.tfc-empty-desc {
  font-size: 0.9rem !important;
  color: var(--tfc-muted) !important;
  max-width: 480px !important;
  margin: 0 0 1.5rem !important;
  line-height: 1.5 !important;
}

.tfc-btn-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--tfc-primary) !important;
  color: #ffffff !important;
  padding: 0.75rem 1.65rem !important;
  border-radius: var(--tfc-radius-full) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(0, 138, 100, 0.2) !important;
}

.tfc-btn-cta:hover {
  background: var(--tfc-primary-hover) !important;
  transform: translateY(-1px) !important;
}

/* Addresses Page */
.tfc-addresses-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

@media (max-width: 720px) {
  .tfc-addresses-grid {
    grid-template-columns: 1fr;
  }
}

.tfc-address-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  padding: 1.6rem;
  box-shadow: var(--tfc-shadow-sm);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.tfc-address-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.15rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--tfc-hairline);
}

.tfc-address-title-lockup {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.tfc-address-icon-wrap {
  width: 34px;
  height: 34px;
  border-radius: var(--tfc-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tfc-address-icon-wrap.is-blue {
  background: var(--tfc-primary-tint);
  color: var(--tfc-primary);
}

.tfc-address-icon-wrap.is-green {
  background: #EFFDF2;
  color: #15803D;
}

.tfc-address-heading {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--tfc-dark) !important;
  margin: 0 !important;
}

.tfc-btn-edit-address {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--tfc-primary);
  background: var(--tfc-primary-tint);
  padding: 0.35rem 0.8rem;
  border-radius: var(--tfc-radius-full);
  text-decoration: none;
  transition: all 0.15s ease;
}

.tfc-btn-edit-address:hover {
  background: var(--tfc-primary);
  color: #ffffff;
}

.tfc-formatted-address {
  font-style: normal !important;
  font-size: 0.9375rem !important;
  line-height: 1.6 !important;
  color: #374151 !important;
}

.tfc-address-empty-text {
  color: var(--tfc-muted) !important;
  font-size: 0.875rem !important;
  margin: 0 0 0.85rem !important;
}

.tfc-btn-add-address {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.825rem;
  font-weight: 600;
  color: var(--tfc-primary);
  background: #ffffff;
  border: 1.5px dashed var(--tfc-primary);
  padding: 0.45rem 0.9rem;
  border-radius: var(--tfc-radius-md);
  text-decoration: none;
  transition: all 0.15s ease;
}

.tfc-btn-add-address:hover {
  background: var(--tfc-primary-tint);
}

/* Form Cards (Edit Account & Edit Address) */
.tfc-form-card {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  padding: 1.75rem 2rem;
  box-shadow: var(--tfc-shadow-sm);
  margin-bottom: 1.5rem;
  box-sizing: border-box;
}

@media (max-width: 600px) {
  .tfc-form-card {
    padding: 1.25rem 1rem;
  }
}

.tfc-card-section-header {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: 1.35rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--tfc-hairline);
}

.tfc-section-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--tfc-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tfc-section-icon.is-blue {
  background: var(--tfc-primary-tint);
  color: var(--tfc-primary);
}

.tfc-section-icon.is-purple {
  background: #F3E8FF;
  color: #7E22CE;
}

.tfc-card-section-title {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--tfc-dark) !important;
  margin: 0 0 0.2rem !important;
}

.tfc-card-section-desc {
  font-size: 0.825rem !important;
  color: var(--tfc-muted) !important;
  margin: 0 !important;
}

.tfc-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.15rem;
}

.tfc-form-grid .form-row-wide {
  grid-column: 1 / -1;
}

@media (max-width: 640px) {
  .tfc-form-grid {
    grid-template-columns: 1fr;
  }
}

.tfc-form-select {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid var(--tfc-hairline) !important;
  border-radius: var(--tfc-radius-md) !important;
  font-family: var(--tfc-font-sans) !important;
  font-size: 0.9375rem !important;
  color: var(--tfc-dark) !important;
  background: #ffffff !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.tfc-form-select:focus {
  outline: none !important;
  border-color: var(--tfc-primary) !important;
  box-shadow: 0 0 0 3px var(--tfc-primary-tint) !important;
}

.tfc-field-help {
  display: block;
  font-size: 0.78rem;
  color: var(--tfc-muted);
  margin-top: 0.35rem;
}

.tfc-form-submit-wrap {
  margin-top: 1.25rem;
  display: flex;
  justify-content: flex-end;
}

.tfc-form-submit-wrap .tfc-btn-submit {
  width: auto !important;
  min-width: 190px !important;
}

/* Edit Address Fields Grid */
.tfc-address-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.15rem;
}

.tfc-address-fields-grid .form-row-wide,
.tfc-address-fields-grid p:not(.form-row-first):not(.form-row-last) {
  grid-column: 1 / -1;
}

@media (max-width: 640px) {
  .tfc-address-fields-grid {
    grid-template-columns: 1fr;
  }
}

/* View Order Screen */
.tfc-order-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.tfc-order-updates-card {
  margin-bottom: 1.5rem;
}

.tfc-notes-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.tfc-note-item {
  padding: 0.85rem 1rem;
  background: #F8FAFC;
  border-radius: var(--tfc-radius-md);
  border: 1px solid var(--tfc-hairline);
}

.tfc-note-date {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--tfc-muted);
  display: block;
  margin-bottom: 0.25rem;
}

.tfc-note-content p {
  margin: 0 !important;
  font-size: 0.875rem !important;
  color: var(--tfc-dark) !important;
}

.tfc-order-details-wrapper {
  background: #ffffff;
  border: 1px solid var(--tfc-hairline);
  border-radius: var(--tfc-radius-lg);
  padding: 1.75rem 2rem;
  box-shadow: var(--tfc-shadow-sm);
  box-sizing: border-box;
}

.tfc-order-details-wrapper h2 {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--tfc-dark) !important;
  margin-bottom: 1rem !important;
}

/* WooCommerce Alert & Notice Polish */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 0.9rem 1.25rem !important;
  border-radius: var(--tfc-radius-md) !important;
  margin-bottom: 1.5rem !important;
  font-size: 0.9rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  box-sizing: border-box !important;
}

.woocommerce-message {
  background: #EFFDF2 !important;
  border: 1px solid #BBF7D0 !important;
  border-left: 4px solid #22C55E !important;
  color: #166534 !important;
}

.woocommerce-info {
  background: #EFF6FF !important;
  border: 1px solid #BFDBFE !important;
  border-left: 4px solid #3B82F6 !important;
  color: #1E40AF !important;
}

.woocommerce-error {
  background: #FEF2F2 !important;
  border: 1px solid #FECACA !important;
  border-left: 4px solid #EF4444 !important;
  color: #991B1B !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.woocommerce-error li {
  list-style: none !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
  background: #ffffff !important;
  color: var(--tfc-dark) !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: var(--tfc-radius-full) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
  background: #F3F4F6 !important;
}

/* Healthcare & Clinical Verification Section */
.tfc-healthcare-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.15rem;
}

.tfc-healthcare-grid .form-row,
.tfc-healthcare-grid p {
  margin: 0 !important;
}

.tfc-healthcare-grid .form-row-wide,
.tfc-healthcare-grid p.form-row-wide {
  grid-column: 1 / -1;
}

@media (max-width: 640px) {
  .tfc-healthcare-grid {
    grid-template-columns: 1fr;
  }
}

.tfc-healthcare-grid input[type="date"],
.tfc-healthcare-grid select,
.tfc-healthcare-grid input[type="tel"] {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid var(--tfc-hairline) !important;
  border-radius: var(--tfc-radius-md) !important;
  font-family: var(--tfc-font-sans) !important;
  font-size: 0.9375rem !important;
  color: var(--tfc-dark) !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

.tfc-healthcare-grid input[type="date"]:focus,
.tfc-healthcare-grid select:focus,
.tfc-healthcare-grid input[type="tel"]:focus {
  outline: none !important;
  border-color: var(--tfc-primary) !important;
  box-shadow: 0 0 0 3px var(--tfc-primary-tint) !important;
}

/* Search belongs in the homepage hero. Keep the header control as an icon
   that focuses that field instead of expanding an awkward inline input. */
html body .tfc-header-search .tfc-search-inline-form {
  display: none !important;
}

html body .tfc-hero-search-wrapper .tfc-hero-search-form {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html body .tfc-hero-search-submit svg {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
}

html body .tfc-contact-icon svg {
  display: block !important;
  width: 19px !important;
  height: 19px !important;
  flex: 0 0 19px !important;
}

/* ==========================================================================
   ENHANCED HERO CONTENT & PRESCRIPTION CARD
   ========================================================================== */

/* 1. Hero Eyebrow Trust Pill */
html body .tfc-hero-eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 16px !important;
}
html body .tfc-hero-eyebrow-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #eef6fc !important;
  color: #1e3a5f !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  padding: 5px 13px !important;
  border-radius: 9999px !important;
  border: 1px solid #c9e0f2 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
html body .tfc-pulse-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #10b981 !important;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7) !important;
  animation: tfcPulse 2s infinite !important;
  flex-shrink: 0 !important;
}
@keyframes tfcPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  }
  70% {
    box-shadow: 0 0 0 6px rgba(16, 185, 129, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}
html body .tfc-hero-eyebrow-rating {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.8125rem !important;
  color: #475569 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
html body .tfc-hero-eyebrow-rating .tfc-stars {
  color: #f59e0b !important;
  letter-spacing: 1px !important;
  font-size: 0.875rem !important;
}

/* 2. Hero Quick Tags */
html body .tfc-hero-quick-tags {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-bottom: 22px !important;
  max-width: 580px !important;
}
html body .tfc-quick-tags-label {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin: 0 !important;
}
html body .tfc-quick-tags-list {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}
html body .tfc-tag-chip {
  display: inline-block !important;
  font-size: 0.775rem !important;
  font-weight: 500 !important;
  color: #008a64 !important;
  background: #f0f7ff !important;
  border: 1px solid #d0e4f7 !important;
  padding: 3px 11px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}
html body .tfc-tag-chip:hover {
  background: #008a64 !important;
  color: #ffffff !important;
  border-color: #008a64 !important;
  transform: translateY(-1px) !important;
}

/* 3. Prescription Card Header Badge & Time */
html body .tfc-card-header-badge {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
html body .tfc-card-pill {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #1e40af !important;
  background: #eff6ff !important;
  border: 1px solid #dbeafe !important;
  padding: 3px 10px !important;
  border-radius: 6px !important;
  margin: 0 !important;
}
html body .tfc-card-time {
  font-size: 0.8125rem !important;
  color: #64748b !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

/* 4. Prescription Card Action Area */
html body .tfc-nhs-card-action {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-bottom: 16px !important;
}
html body .tfc-nhs-card-action > .wp-block-buttons {
  margin: 0 !important;
}
html body .tfc-nhs-card-action > .tfc-treatment-badge-wrap {
  margin: 0 !important;
}
html body .tfc-treatment-badge-pill {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.825rem !important;
  font-weight: 600 !important;
  color: #065f46 !important;
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  padding: 8px 14px !important;
  border-radius: 9999px !important;
  margin: 0 !important;
}

/* 5. Prescription Card 2-Column Trust Panels Row */
html body .tfc-card-trust-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding-top: 14px !important;
  border-top: 1px solid #e2e8f0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
html body .tfc-card-trust-panel {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border: 1px solid #d9e7f1 !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  color: var(--tfc-primary-strong, #04382c) !important;
  box-sizing: border-box !important;
  min-height: 60px !important;
  margin: 0 !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}
html body .tfc-card-trust-panel:hover {
  background: #f1f7fc !important;
  border-color: #bcd4e8 !important;
}
html body .tfc-card-trust-panel svg,
html body .tfc-card-trust-panel .tfc-trust-icon,
html body .tfc-card-trust-panel .tfc-trust-icon img {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
  margin: 0 !important;
  color: #008a64 !important;
  object-fit: contain !important;
}
html body .tfc-card-trust-text {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}
html body .tfc-trust-title {
  color: #1f3853 !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
html body .tfc-trust-sub {
  color: #64748b !important;
  font-size: 0.725rem !important;
  line-height: 1.3 !important;
  margin: 2px 0 0 !important;
}

/* 6. Hero Bottom Social Proof Stats Strip */
html body .tfc-hero-stats-bar {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  max-width: 580px !important;
  width: 100% !important;
  padding-top: 4px !important;
  box-sizing: border-box !important;
}
html body .tfc-hero-stat-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  border-left: 2px solid #cbd5e1 !important;
  padding-left: 12px !important;
  margin: 0 !important;
}
html body .tfc-stat-number {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #1e293b !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  letter-spacing: -0.02em !important;
}
html body .tfc-stat-label {
  font-size: 0.75rem !important;
  color: #64748b !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  margin: 3px 0 0 !important;
}

/* Responsive adjustments */
@media (max-width: 640px) {
  html body .tfc-card-trust-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  html body .tfc-hero-stats-bar {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
  html body .tfc-hero-stat-item {
    padding-left: 8px !important;
  }
  html body .tfc-stat-number {
    font-size: 1.15rem !important;
  }
  html body .tfc-stat-label {
    font-size: 0.7rem !important;
  }
}
@media (max-width: 440px) {
  html body .tfc-hero-stats-bar {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  html body .tfc-hero-stat-item {
    border-left: 3px solid #008a64 !important;
    padding-left: 10px !important;
  }
}

/* Keep large-screen shop, treatment and consultation rails aligned with the
   header's 1320px logo-to-menu rail. The Treatment Module defaults these
   application wrappers to 1240px, which leaves a visible inset on desktop. */
@media (min-width: 1081px) {
  html body .pharmacy-treatment-content .tmom-patient-app,
  html body .pharmacy-treatment-content .tmom-consultation-stepped-wrapper,
  html body .pharmacy-main .tmom-patient-app,
  html body .pharmacy-main .tmom-consultation-stepped-wrapper {
    width: 100% !important;
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* The outer post-content rail already supplies the header-matching 24px
     gutter. Do not add a second gutter to the clinical app itself. */
  html body .pharmacy-treatment-content .tmom-patient-app,
  html body .pharmacy-treatment-content .tmom-consultation-stepped-wrapper,
  html body .pharmacy-main .tmom-patient-app,
  html body .pharmacy-main .tmom-consultation-stepped-wrapper,
  html body.woocommerce-shop .pharmacy-main .woocommerce,
  html body.post-type-archive-product .pharmacy-main .woocommerce {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Keep a visible breathing space between the consultation panel border and
     its stepper/question cards. */
  html body .pharmacy-treatment-content .tmom-consultation-stepped-wrapper,
  html body .pharmacy-main .tmom-consultation-stepped-wrapper {
    padding: 36px 24px 32px !important;
  }

  html body.woocommerce-shop .pharmacy-main > *,
  html body.post-type-archive-product .pharmacy-main > * {
    max-width: 1320px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Everyday Health product cards: reserve the same title space and anchor the
   treatment buttons to a shared bottom line even when one product title wraps. */
html body .tfc-everyday-health-section ul.products {
  align-items: stretch !important;
}

html body .tfc-everyday-health-section ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 470px !important;
}

html body .tfc-everyday-health-section ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

html body .tfc-everyday-health-section ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.8em !important;
}

html body .tfc-everyday-health-section ul.products li.product > a.button,
html body .tfc-everyday-health-section ul.products li.product > .button {
  margin-top: auto !important;
}

html body .tfc-everyday-health-section ul.products li.product > p.tmom-request-treatment {
  margin: auto 0 0 !important;
  padding: 0 !important;
}

html body .tfc-everyday-health-section ul.products li.product > p.tmom-request-treatment .button {
  margin-top: 0 !important;
}

/* Centre the review stars and rating copy on one clean baseline. */
html body .tfc-trustpilot-summary {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

html body .tfc-trustpilot-stars {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

html body .tfc-tp-star {
  line-height: 1 !important;
}

html body .tfc-trustpilot-score {
  display: flex !important;
  align-items: center !important;
  min-height: 22px !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

/* ==========================================================================
   Horizontal Navigation Bar & Mega Menu
   ========================================================================== */

.tfc-nav-strip-wrap {
  width: 100% !important;
  border-top: 1px solid #e0ece6 !important;
  background: #ffffff !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.tfc-nav-strip-container {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
}

.tfc-nav-bar {
  display: flex !important;
  align-items: center !important;
  gap: clamp(0px, 0.35vw, 4px) !important;
  flex-wrap: wrap !important;
  font-family: var(--tfc-font-sans, system-ui, -apple-system, sans-serif) !important;
  font-size: 0.9688rem !important;
  font-weight: 700 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.tfc-nav-link {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  color: #04382c !important;
  padding: 13px clamp(8px, 1.05vw, 15px) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  border-bottom: 3px solid transparent !important;
  text-decoration: none !important;
  transition: color 0.15s ease, border-color 0.15s ease !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  background: none !important;
  cursor: pointer !important;
}

.tfc-nav-link:hover,
.tfc-nav-item:hover > .tfc-nav-link,
.tfc-nav-item.is-open > .tfc-nav-link,
.tfc-nav-link:focus-visible {
  color: #008a64 !important;
  border-bottom-color: #0f9f7d !important;
  text-decoration: none !important;
  outline: none !important;
}

.tfc-nav-chevron-icon-wrap {
  display: inline-grid !important;
  place-items: center !important;
  color: #0f9f7d !important;
  transition: transform 0.2s ease !important;
  line-height: 1 !important;
}

.tfc-nav-chevron-icon {
  width: 13px !important;
  height: 13px !important;
  display: block !important;
}

.tfc-nav-item:hover .tfc-nav-chevron-icon-wrap,
.tfc-nav-item.is-open .tfc-nav-chevron-icon-wrap {
  transform: rotate(180deg) !important;
}

.tfc-nav-item {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Mega Menu Dropdown (Full Width Container) */
.tfc-mega-dropdown {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 100% !important;
  width: 100% !important;
  background: #ffffff !important;
  border-top: 1px solid #e0ece6 !important;
  box-shadow: 0 22px 44px rgba(4, 56, 44, 0.12) !important;
  z-index: 999 !important;
  display: none;
}

.tfc-mega-dropdown.is-open {
  display: block !important;
}

@media (min-width: 992px) {
  .tfc-mega-dropdown.is-hover-active,
  .tfc-mega-dropdown:hover {
    display: block !important;
  }
}

.tfc-mega-dropdown-inner {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 24px clamp(16px, 3vw, 24px) !important;
  display: flex !important;
  gap: 0 !important;
  min-height: 290px !important;
  box-sizing: border-box !important;
}

.tfc-mega-categories {
  flex: 0 0 280px !important;
  min-width: 250px !important;
  border-right: 1px solid #e0ece6 !important;
  padding-right: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  box-sizing: border-box !important;
}

.tfc-mega-cat-btn {
  border: 0 !important;
  cursor: pointer !important;
  font-family: inherit !important;
  text-align: left !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 11px 14px !important;
  border-radius: 10px !important;
  font-size: 0.9688rem !important;
  font-weight: 700 !important;
  background: transparent !important;
  color: #04382c !important;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.tfc-mega-cat-btn:hover,
.tfc-mega-cat-btn.is-active,
.tfc-mega-cat-btn:focus-visible {
  background: #e6f7f1 !important;
  color: #008a64 !important;
  outline: none !important;
}

.tfc-mega-cat-name {
  flex: 1 1 auto !important;
}

.tfc-mega-cat-arrow {
  display: grid !important;
  place-items: center !important;
  color: #8fd0b8 !important;
  transition: color 0.15s ease, transform 0.15s ease !important;
  flex-shrink: 0 !important;
}

.tfc-mega-cat-btn:hover .tfc-mega-cat-arrow,
.tfc-mega-cat-btn.is-active .tfc-mega-cat-arrow {
  color: #008a64 !important;
  transform: translateX(2px) !important;
}

.tfc-mega-panels {
  padding: 4px 0 4px 34px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.tfc-mega-panel {
  display: none !important;
}

.tfc-mega-panel.is-active {
  display: block !important;
  animation: tfcMegaPanelFade 0.2s ease-out !important;
}

@keyframes tfcMegaPanelFade {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.tfc-mega-panel-heading {
  font-size: 0.7813rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: #008a64 !important;
  margin-bottom: 16px !important;
}

.tfc-mega-treatments-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  gap: 4px 32px !important;
}

.tfc-mega-treatment-link {
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: #04382c !important;
  padding: 8px 0 !important;
  text-decoration: none !important;
  transition: color 0.15s ease, transform 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.4 !important;
}

.tfc-mega-treatment-link:hover,
.tfc-mega-treatment-link:focus-visible {
  color: #008a64 !important;
  transform: translateX(3px) !important;
  text-decoration: none !important;
}

/* Mega Menu Footer */
.tfc-mega-footer {
  border-top: 1px solid #e0ece6 !important;
  background: #f4fbf8 !important;
  width: 100% !important;
}

.tfc-mega-footer-inner {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 14px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  box-sizing: border-box !important;
}

.tfc-mega-footnote {
  font-size: 0.9063rem !important;
  color: #3a5f53 !important;
  font-weight: 500 !important;
}

.tfc-mega-all-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(120deg, #22c197, #008a64) !important;
  color: #ffffff !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  padding: 11px 22px !important;
  border-radius: 11px !important;
  text-decoration: none !important;
  transition: filter 0.15s ease, transform 0.15s ease !important;
  box-shadow: 0 4px 14px rgba(0, 138, 100, 0.22) !important;
}

.tfc-mega-all-btn:hover {
  filter: brightness(0.94) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Simple Dropdown Menus (Travel Clinic & Pharmacy Services) */
.tfc-dropdown-menu {
  position: absolute !important;
  left: 0 !important;
  top: 100% !important;
  min-width: 260px !important;
  background: #ffffff !important;
  border: 1px solid #e0ece6 !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 40px rgba(4, 56, 44, 0.16) !important;
  padding: 8px !important;
  z-index: 1000 !important;
  display: none !important;
  flex-direction: column !important;
  gap: 2px !important;
  box-sizing: border-box !important;
}

.tfc-nav-item-has-dropdown:hover .tfc-dropdown-menu,
.tfc-nav-item-has-dropdown.is-open .tfc-dropdown-menu,
.tfc-nav-item-has-dropdown:focus-within .tfc-dropdown-menu {
  display: flex !important;
  animation: tfcMegaPanelFade 0.2s ease-out !important;
}

.tfc-dropdown-link {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  color: #04382c !important;
  padding: 11px 14px !important;
  border-radius: 9px !important;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  display: block !important;
}

.tfc-dropdown-link:hover,
.tfc-dropdown-link:focus-visible {
  background: #e6f7f1 !important;
  color: #008a64 !important;
  text-decoration: none !important;
}

/* Responsive Navigation Bar Visibility */
@media (max-width: 991px) {
  .tfc-nav-strip-wrap {
    display: none !important;
  }
  .tfc-header-nav-toggle {
    display: flex !important;
  }
}

@media (min-width: 992px) {
  .tfc-header-nav-toggle {
    display: none !important;
  }
}

/* ==========================================================================
   Hero News Marquee Ticker
   ========================================================================== */
.tfc-news-ticker-wrapper {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto 36px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 10 !important;
}

.tfc-news-ticker-pill {
  background: rgba(255, 255, 255, 0.7) !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  border-radius: 12px !important;
  padding: 7px 0 !important;
  overflow: hidden !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  display: flex !important;
  align-items: center !important;
  box-shadow: 0 4px 20px rgba(4, 56, 44, 0.05) !important;
}

.tfc-news-ticker-icon {
  flex: 0 0 auto !important;
  padding: 0 14px 0 16px !important;
  color: #008a64 !important;
  display: grid !important;
  place-items: center !important;
}

.tfc-news-ticker-viewport {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  mask-image: linear-gradient(to right, transparent, black 16px, black calc(100% - 16px), transparent) !important;
  -webkit-mask-image: linear-gradient(to right, transparent, black 16px, black calc(100% - 16px), transparent) !important;
}

.tfc-news-ticker-track {
  display: flex !important;
  width: max-content !important;
  align-items: center !important;
  animation: tfc-marquee var(--tfc-marquee-duration, 50s) linear infinite !important;
  will-change: transform !important;
}

.tfc-news-ticker-track:hover,
.tfc-news-ticker-track:focus-within {
  animation-play-state: paused !important;
}

.tfc-news-ticker-group {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.tfc-news-ticker-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 22px !important;
  font-size: 0.7813rem !important;
  font-weight: 700 !important;
  color: #04382c !important;
  white-space: nowrap !important;
  letter-spacing: -0.01em !important;
  line-height: 1 !important;
}

.tfc-news-ticker-bullet {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #22c197 !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

@keyframes tfc-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@media (max-width: 768px) {
  .tfc-news-ticker-wrapper {
    padding: 10px 16px 0 16px !important;
    margin-bottom: 24px !important;
  }
}

/* ==========================================================================
   Shop Page: Sidebar Filters & Search Bar (Shop.dc.html Design)
   ========================================================================== */

.tfc-shop-page-wrapper {
  background: #f8fcfa;
  min-height: 80vh;
  padding-bottom: 70px;
}

/* Breadcrumb Bar */
.tfc-shop-breadcrumb-bar {
  background: #f4fbf8;
  border-bottom: 1px solid #e0ece6;
  padding: 15px 0;
  margin-bottom: 28px;
}

.tfc-shop-breadcrumb-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 0.9063rem;
  color: #3a5f53;
}

.tfc-breadcrumb-link {
  color: #3a5f53;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.15s;
}

.tfc-breadcrumb-link:hover {
  color: #008a64;
  text-decoration: none;
}

.tfc-breadcrumb-link.is-current {
  color: #04382c;
  font-weight: 800;
}

.tfc-breadcrumb-sep {
  color: #8fb3a5;
  font-size: 0.85rem;
}

.tfc-breadcrumb-current {
  color: #04382c;
  font-weight: 800;
}

/* Shop Layout Container */
.tfc-shop-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  gap: 32px;
  align-items: flex-start;
  position: relative;
}

/* Sidebar */
.tfc-shop-sidebar {
  flex: 0 0 272px;
  width: 272px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 130px;
  z-index: 25;
}

.tfc-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 2px 2px 4px 2px;
}

.tfc-filter-title {
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #04382c;
}

.tfc-sidebar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tfc-filter-clear-link {
  border: 0;
  cursor: pointer;
  background: transparent;
  font-size: 0.875rem;
  font-weight: 800;
  color: #008a64;
  text-decoration: none;
  padding: 0;
  transition: color 0.15s;
}

.tfc-filter-clear-link:hover {
  color: #0f9f7d;
  text-decoration: underline;
}

.tfc-sidebar-close-btn {
  display: none;
}

/* Filter Card */
.tfc-filter-card {
  background: #ffffff;
  border: 1px solid #e0ece6;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 2px 10px rgba(4, 56, 44, 0.02);
}

.tfc-filter-card-heading {
  font-size: 0.7813rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #00714f;
  margin-bottom: 2px;
}

/* Category Filter List */
.tfc-filter-cat-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tfc-filter-cat-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 0.9063rem;
  font-weight: 600;
  color: #04382c;
  text-decoration: none;
  background: transparent;
  border: 1.5px solid transparent;
  transition: all 0.15s ease-in-out;
  box-sizing: border-box;
}

.tfc-filter-cat-btn:hover {
  background: #f4fbf8;
  color: #008a64;
  text-decoration: none;
}

.tfc-filter-cat-btn.is-active {
  background: #e6f7f1;
  color: #008a64;
  font-weight: 800;
  border-color: #c2e8d9;
}

.tfc-cat-badge {
  font-size: 0.7813rem;
  font-weight: 700;
  color: #3a5f53;
  background: #eef6f2;
  padding: 2px 8px;
  border-radius: 20px;
  line-height: 1.4;
  transition: all 0.15s ease-in-out;
}

.tfc-filter-cat-btn.is-active .tfc-cat-badge {
  background: #008a64;
  color: #ffffff;
}

/* Price Range Slider */
.tfc-price-slider-box {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tfc-price-range-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  background: #d8f1e7;
  border-radius: 6px;
  outline: none;
  accent-color: #0f9f7d;
  cursor: pointer;
  margin: 6px 0;
}

.tfc-price-range-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #008a64;
  border: 2.5px solid #ffffff;
  box-shadow: 0 2px 6px rgba(0, 138, 100, 0.4);
  cursor: pointer;
  transition: transform 0.15s, background 0.15s;
}

.tfc-price-range-slider::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  background: #0f9f7d;
}

.tfc-price-slider-labels {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8438rem;
  color: #3a5f53;
}

.tfc-price-slider-current {
  font-size: 0.875rem;
  color: #04382c;
}

.tfc-price-slider-current strong {
  font-weight: 800;
  color: #008a64;
}

/* Checkboxes */
.tfc-filter-checkbox-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tfc-filter-check-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #04382c;
  cursor: pointer;
  user-select: none;
  margin: 0;
}

.tfc-filter-checkbox {
  width: 18px;
  height: 18px;
  accent-color: #0f9f7d;
  cursor: pointer;
  margin: 0;
}

/* Need Advice Callout Card */
.tfc-advice-callout-card {
  background: linear-gradient(155deg, #04382c 0%, #008a64 52%, #22c197 100%);
  border-radius: 16px;
  padding: 22px;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: 0 10px 24px rgba(4, 56, 44, 0.12);
}

.tfc-advice-title {
  font-size: 1.0625rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
}

.tfc-advice-text {
  font-size: 0.9063rem;
  line-height: 1.55;
  color: #dbf4ea;
  margin: 0;
}

.tfc-advice-btn {
  margin-top: 6px;
  background: #ffffff;
  color: #04382c;
  font-size: 0.9063rem;
  font-weight: 800;
  text-align: center;
  padding: 12px;
  border-radius: 11px;
  text-decoration: none;
  transition: all 0.15s ease-in-out;
  display: block;
}

.tfc-advice-btn:hover {
  background: #e6f7f1;
  text-decoration: none;
  color: #008a64;
  transform: translateY(-1px);
}

/* Main Content Area */
.tfc-shop-main {
  flex: 1 1 540px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Mobile Filter Trigger Bar */
.tfc-mobile-filter-bar {
  display: none;
}

/* Search Bar Card */
.tfc-shop-search-card {
  background: #ffffff;
  border: 2px solid #d8f1e7;
  border-radius: 14px;
  padding: 4px 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-shadow: 0 2px 8px rgba(4, 56, 44, 0.02);
}

.tfc-shop-search-card:focus-within {
  border-color: #0f9f7d;
  box-shadow: 0 0 0 4px rgba(15, 159, 125, 0.12);
}

.tfc-shop-search-form {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  width: 100%;
}

.tfc-shop-search-icon {
  display: grid;
  place-items: center;
  color: #008a64;
  flex: 0 0 auto;
}

.tfc-shop-search-input {
  flex: 1 1 0%;
  min-width: 0;
  border: 0 !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  color: #04382c;
  padding: 11px 0 !important;
  margin: 0 !important;
}

.tfc-shop-search-input::placeholder {
  color: #7b9e92;
  font-weight: 500;
}

.tfc-search-clear-btn {
  border: 0;
  cursor: pointer;
  background: #e6f7f1;
  color: #008a64;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: all 0.15s;
  flex-shrink: 0;
}

.tfc-search-clear-btn:hover {
  background: #d8f1e7;
  color: #04382c;
  transform: scale(1.06);
}

.tfc-search-clear-btn.is-hidden {
  display: none !important;
}

/* Toolbar (Count + Sort) */
.tfc-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 2px 0;
}

.tfc-shop-result-count p.woocommerce-result-count,
.tfc-shop-result-count .woocommerce-result-count {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.9375rem !important;
  color: #3a5f53 !important;
}

.tfc-shop-result-count strong {
  color: #04382c;
  font-weight: 800;
}

.tfc-shop-sort-group {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.tfc-sort-label {
  font-size: 0.875rem;
  font-weight: 700;
  color: #3a5f53;
}

.tfc-sort-pills {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

.tfc-sort-pill {
  font-size: 0.8438rem;
  font-weight: 700;
  color: #04382c;
  background: #ffffff;
  border: 1.5px solid #d8f1e7;
  border-radius: 20px;
  padding: 6px 14px;
  text-decoration: none;
  transition: all 0.15s ease-in-out;
  line-height: 1.35;
}

.tfc-sort-pill:hover {
  border-color: #008a64;
  color: #008a64;
  background: #f4fbf8;
  text-decoration: none;
}

.tfc-sort-pill.is-active {
  background: #008a64;
  color: #ffffff;
  border-color: #008a64;
}

/* Active Filters Bar */
.tfc-active-filters-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  background: #eef8f4;
  border: 1px solid #d8f1e7;
  border-radius: 12px;
  padding: 10px 16px;
}

.tfc-active-filters-label {
  font-size: 0.8125rem;
  font-weight: 800;
  color: #00714f;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tfc-active-chips-list {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1 1 auto;
}

.tfc-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #ffffff;
  border: 1px solid #c2e8d9;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #04382c;
  text-decoration: none;
  transition: all 0.15s;
}

.tfc-filter-chip:hover {
  background: #fff5f5;
  border-color: #ef5350;
  color: #d32f2f;
  text-decoration: none;
}

.tfc-chip-remove {
  font-size: 1.1rem;
  line-height: 0.9;
  color: #8fb3a5;
  transition: color 0.15s;
}

.tfc-filter-chip:hover .tfc-chip-remove {
  color: #d32f2f;
}

.tfc-clear-all-chip {
  margin-left: auto;
  font-size: 0.8125rem;
  font-weight: 800;
  color: #008a64;
  text-decoration: underline;
  transition: color 0.15s;
}

.tfc-clear-all-chip:hover {
  color: #0f9f7d;
}

/* Empty / No products card */
.tfc-no-products-found-card {
  background: #ffffff;
  border: 1.5px dashed #d8f1e7;
  border-radius: 20px;
  padding: 48px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.tfc-no-products-icon {
  font-size: 2.5rem;
}

.tfc-no-products-title {
  font-size: 1.35rem;
  font-weight: 900;
  color: #04382c;
  margin: 0;
}

.tfc-no-products-text {
  font-size: 0.9375rem;
  color: #3a5f53;
  max-width: 40ch;
  margin: 0;
  line-height: 1.5;
}

.tfc-no-products-reset-btn {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(120deg, #22c197, #008a64);
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 800;
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  transition: filter 0.15s;
}

.tfc-no-products-reset-btn:hover {
  filter: brightness(0.93);
  text-decoration: none;
  color: #ffffff;
}

/* Pagination */
.tfc-shop-pagination-wrap {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

.tfc-shop-pagination-wrap .woocommerce-pagination ul {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.tfc-shop-pagination-wrap .woocommerce-pagination ul li {
  border: 0 !important;
  float: none !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tfc-shop-pagination-wrap .woocommerce-pagination ul li .page-numbers {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  border: 1.5px solid #d8f1e7 !important;
  background: #ffffff !important;
  color: #04382c !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.15s !important;
}

.tfc-shop-pagination-wrap .woocommerce-pagination ul li .page-numbers:hover {
  border-color: #008a64 !important;
  background: #f4fbf8 !important;
  color: #008a64 !important;
}

.tfc-shop-pagination-wrap .woocommerce-pagination ul li span.current {
  background: #008a64 !important;
  border-color: #008a64 !important;
  color: #ffffff !important;
}

/* Product Cards Grid in Shop */
.tfc-shop-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

.tfc-shop-main ul.products li.product {
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1px solid #e0ece6 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s !important;
  box-shadow: 0 2px 8px rgba(4, 56, 44, 0.03) !important;
}

.tfc-shop-main ul.products li.product:hover {
  border-color: #0f9f7d !important;
  box-shadow: 0 16px 36px rgba(0, 138, 100, 0.12) !important;
  transform: translateY(-3px) !important;
}

.tfc-shop-main ul.products li.product .woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  padding: 16px 16px 0 16px !important;
  text-decoration: none !important;
  flex: 1 0 auto !important;
}

.tfc-shop-main ul.products li.product img.attachment-woocommerce_thumbnail {
  width: 100% !important;
  height: 190px !important;
  object-fit: contain !important;
  background: #f4fbf8 !important;
  border-radius: 14px !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  transition: transform 0.25s ease-in-out !important;
}

.tfc-shop-main ul.products li.product:hover img.attachment-woocommerce_thumbnail {
  transform: scale(1.03) !important;
}

html body.woocommerce .tfc-shop-main ul.products li.product .woocommerce-loop-product__title,
.tfc-shop-main ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--tfc-font-sans, "Work Sans", system-ui, sans-serif) !important;
  font-size: 1.0625rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  color: #04382c !important;
  margin: 12px 0 8px 0 !important;
  height: auto !important;
  min-height: 2.8em !important;
  max-height: none !important;
  overflow: visible !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  text-overflow: unset !important;
  word-break: break-word !important;
  transition: color 0.15s !important;
}

html body.woocommerce .tfc-shop-main ul.products li.product:hover .woocommerce-loop-product__title,
.tfc-shop-main ul.products li.product:hover .woocommerce-loop-product__title {
  color: #008a64 !important;
}

html body.woocommerce .tfc-shop-main ul.products li.product .price,
.tfc-shop-main ul.products li.product .price {
  font-size: 1.25rem !important;
  font-weight: 900 !important;
  color: #04382c !important;
  margin: auto 0 14px 0 !important;
  margin-top: auto !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

.tfc-shop-main ul.products li.product .price del {
  font-size: 0.9063rem !important;
  color: #5a7d70 !important;
  font-weight: 600 !important;
}

.tfc-shop-main ul.products li.product .price ins {
  text-decoration: none !important;
  color: #04382c !important;
}

.tfc-shop-main ul.products li.product .button,
.tfc-shop-main ul.products li.product a.button {
  margin: 0 16px 16px 16px !important;
  background: linear-gradient(120deg, #22c197, #008a64) !important;
  color: #ffffff !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  border: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: filter 0.15s, transform 0.15s !important;
}

.tfc-shop-main ul.products li.product .button:hover,
.tfc-shop-main ul.products li.product a.button:hover {
  filter: brightness(0.93) !important;
  color: #ffffff !important;
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 992px) {
  .tfc-shop-container {
    flex-direction: column;
    gap: 20px;
    padding: 0 16px;
  }

  .tfc-mobile-filter-bar {
    display: block;
    width: 100%;
  }

  .tfc-mobile-filter-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 18px;
    border-radius: 12px;
    background: #008a64;
    color: #ffffff;
    font-size: 0.9375rem;
    font-weight: 800;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 138, 100, 0.25);
    position: relative;
  }

  .tfc-active-filter-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c197;
    position: absolute;
    right: 18px;
  }

  .tfc-shop-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 320px;
    max-width: 86vw;
    background: #ffffff;
    z-index: 10000;
    padding: 24px 20px 40px 20px;
    overflow-y: auto;
    box-shadow: 6px 0 30px rgba(4, 56, 44, 0.22);
    transform: translateX(-105%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .tfc-shop-sidebar.is-open {
    transform: translateX(0);
  }

  .tfc-sidebar-close-btn {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #eef6f2;
    border: 0;
    font-size: 1.4rem;
    color: #04382c;
    cursor: pointer;
    line-height: 1;
  }

  .tfc-shop-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(4, 56, 44, 0.5);
    backdrop-filter: blur(4px);
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.25s;
  }

  .tfc-shop-backdrop.is-active {
    display: block;
    opacity: 1;
  }

  .tfc-shop-main ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
}

@media (max-width: 580px) {
  .tfc-shop-main ul.products {
    grid-template-columns: 1fr !important;
  }

  .tfc-shop-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .tfc-shop-sort-group {
    width: 100%;
    justify-content: space-between;
  }
}

/* Active Nav Link */
.tfc-nav-link.is-active {
  color: #008a64 !important;
  border-bottom-color: #0f9f7d !important;
}

/* Header & Nav Shop Button */
.tfc-header-shop-action {
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

.tfc-header-shop-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: linear-gradient(120deg, #008a64, #006b4e) !important;
  color: #ffffff !important;
  padding: 0 16px !important;
  height: 38px !important;
  border-radius: 999px !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 2px 8px rgba(0, 138, 100, 0.25) !important;
  transition: all 0.2s ease !important;
}

.tfc-header-shop-btn:hover {
  background: linear-gradient(120deg, #04382c, #008a64) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(0, 138, 100, 0.35) !important;
  text-decoration: none !important;
}

.tfc-header-shop-icon {
  stroke: #ffffff !important;
  flex-shrink: 0 !important;
}

.tfc-nav-item-shop .tfc-nav-link {
  background: #e6f7f1 !important;
  color: #008a64 !important;
  font-weight: 800 !important;
  padding: 7px 15px !important;
  border-radius: 8px !important;
  margin: 5px 0 !important;
  border-bottom: 2px solid transparent !important;
  transition: all 0.2s ease !important;
}

.tfc-nav-item-shop .tfc-nav-link:hover,
.tfc-nav-item-shop.is-open .tfc-nav-link,
.tfc-nav-item-shop .tfc-nav-link.is-active {
  background: #008a64 !important;
  color: #ffffff !important;
  border-bottom-color: transparent !important;
}

.tfc-nav-item-shop .tfc-nav-link:hover .tfc-nav-chevron-icon-wrap,
.tfc-nav-item-shop.is-open .tfc-nav-link .tfc-nav-chevron-icon-wrap,
.tfc-nav-item-shop .tfc-nav-link.is-active .tfc-nav-chevron-icon-wrap {
  color: #ffffff !important;
}

@media (max-width: 680px) {
  .tfc-header-shop-btn span {
    display: none !important;
  }
  .tfc-header-shop-btn {
    padding: 0 !important;
    width: 38px !important;
    justify-content: center !important;
  }
}

/* ==========================================================================
   Online Prescribing Clinic Carousel Section
   ========================================================================== */
.tfc-online-clinic-section {
  background: linear-gradient(155deg, #04382c 0%, #008a64 52%, #22c197 100%) !important;
  padding: clamp(36px, 5.5vw, 68px) clamp(16px, 3.5vw, 32px) !important;
  position: relative !important;
  overflow: hidden !important;
  color: #ffffff !important;
}

.tfc-online-clinic-container {
  max-width: 1340px !important;
  margin: 0 auto !important;
  position: relative !important;
}

.tfc-online-clinic-badge-wrap {
  margin-bottom: 18px !important;
}

.tfc-online-clinic-badge {
  display: inline-block !important;
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: #e8f8f1 !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  padding: 6px 14px !important;
  border-radius: 7px !important;
  letter-spacing: 0.01em !important;
}

.tfc-online-clinic-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  margin-bottom: 28px !important;
}

.tfc-online-clinic-title {
  margin: 0 !important;
  font-size: clamp(1.85rem, 3.2vw, 2.35rem) !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.18 !important;
}

.tfc-online-clinic-all-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.tfc-online-clinic-all-link:hover {
  opacity: 0.9 !important;
  transform: translateX(4px) !important;
  text-decoration: none !important;
  color: #ffffff !important;
}

.tfc-online-clinic-slider {
  position: relative !important;
  width: 100% !important;
}

.tfc-clinic-viewport {
  overflow: hidden !important;
  border-radius: 18px !important;
  position: relative !important;
  width: 100% !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

.tfc-clinic-track {
  display: flex !important;
  gap: 20px !important;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important;
  will-change: transform !important;
  width: 100% !important;
}

.tfc-clinic-card {
  flex: 0 0 calc((100% - 60px) / 4) !important;
  min-width: 250px !important;
  max-width: 325px !important;
  height: 330px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  display: block !important;
  text-decoration: none !important;
  background: #d8f1e7 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  cursor: pointer !important;
}

.tfc-clinic-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.24) !important;
  text-decoration: none !important;
}

.tfc-clinic-card-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, #d3eee3 0%, #b8e2d4 100%) !important;
}

.tfc-clinic-card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

.tfc-clinic-card:hover .tfc-clinic-card-img {
  transform: scale(1.06) !important;
}

.tfc-clinic-card-placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  color: #007756 !important;
  opacity: 0.65 !important;
}

.tfc-clinic-placeholder-icon {
  width: 42px !important;
  height: 42px !important;
  stroke: #007756 !important;
}

.tfc-clinic-placeholder-label {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #044b39 !important;
}

.tfc-clinic-card-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(to top, rgba(4, 38, 32, 0.92) 0%, rgba(4, 38, 32, 0.45) 50%, rgba(4, 38, 32, 0.05) 100%) !important;
}

.tfc-clinic-card-content {
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 3 !important;
  pointer-events: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  color: #ffffff !important;
}

.tfc-clinic-card-name {
  font-size: 1.0625rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.25 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

.tfc-clinic-card-arrow {
  color: #5fe0b8 !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  transition: transform 0.25s ease !important;
  flex-shrink: 0 !important;
}

.tfc-clinic-card:hover .tfc-clinic-card-arrow {
  transform: translateX(5px) !important;
}

.tfc-clinic-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  margin-top: 28px !important;
}

.tfc-clinic-btn {
  border: 0 !important;
  cursor: pointer !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  transition: background 0.2s ease, transform 0.2s ease, opacity 0.2s ease !important;
  padding: 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
}

.tfc-clinic-btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.35) !important;
  transform: scale(1.06) !important;
}

.tfc-clinic-btn:disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
}

.tfc-clinic-dots {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.tfc-clinic-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, 0.35) !important;
  border: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.tfc-clinic-dot.is-active {
  width: 28px !important;
  background: #ffffff !important;
  border-radius: 6px !important;
}

.tfc-clinic-dot:hover:not(.is-active) {
  background: rgba(255, 255, 255, 0.65) !important;
}

@media (max-width: 1100px) {
  .tfc-clinic-card {
    flex: 0 0 calc((100% - 40px) / 3) !important;
  }
}

@media (max-width: 780px) {
  .tfc-clinic-card {
    flex: 0 0 calc((100% - 20px) / 2) !important;
    height: 300px !important;
  }
}

@media (max-width: 520px) {
  .tfc-clinic-card {
    flex: 0 0 calc(85vw - 20px) !important;
    min-width: 230px !important;
    height: 280px !important;
  }
}

/* ==========================================================================
   POPULAR PRODUCTS THIS WEEK (MATCHING SS1 DESIGN)
   ========================================================================== */

.tfc-popular-products-section {
  background: #ffffff !important;
  padding: clamp(36px, 5vw, 64px) clamp(16px, 3vw, 24px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.tfc-popular-products-container {
  max-width: 1340px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

.tfc-popular-badge-wrap {
  margin-bottom: 14px !important;
}

.tfc-popular-badge {
  display: inline-block !important;
  background: #ddf5ec !important;
  color: #008a64 !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  padding: 6px 14px !important;
  border-radius: 7px !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
}

.tfc-popular-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  margin-bottom: 28px !important;
}

.tfc-popular-title {
  margin: 0 !important;
  font-size: clamp(1.75rem, 3.5vw, 2.25rem) !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: #04382c !important;
  line-height: 1.15 !important;
  text-wrap: pretty !important;
}

.tfc-popular-all-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #008a64 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.tfc-popular-all-link:hover {
  color: #04382c !important;
  text-decoration: underline !important;
}

.tfc-popular-all-link svg {
  transition: transform 0.2s ease !important;
}

.tfc-popular-all-link:hover svg {
  transform: translateX(4px) !important;
}

/* Slider Track */
.tfc-popular-slider {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  padding: 4px 2px 20px 2px !important;
}

.tfc-popular-track {
  display: flex !important;
  gap: 20px !important;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform !important;
  box-sizing: border-box !important;
}

/* Product Card */
.tfc-popular-card {
  flex: 0 0 calc((100% - 60px) / 4) !important;
  min-width: 260px !important;
  background: #ffffff !important;
  border: 1px solid #e0ece6 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important;
}

.tfc-popular-card:hover {
  border-color: #0f9f7d !important;
  box-shadow: 0 14px 34px rgba(0, 138, 100, 0.14) !important;
  transform: translateY(-4px) !important;
}

/* Card Image Area */
.tfc-popular-image-wrap {
  position: relative !important;
  height: 230px !important;
  background: #f4fbf8 !important;
  border-bottom: 1px dashed #d1e5dd !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  overflow: hidden !important;
}

.tfc-popular-card-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(120deg, #22c197, #008a64) !important;
  color: #ffffff !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  padding: 6px 11px !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  box-shadow: 0 2px 8px rgba(0, 138, 100, 0.25) !important;
}

.tfc-popular-wishlist-btn {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 3 !important;
  border: 0 !important;
  cursor: pointer !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #008a64 !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 4px 12px rgba(4, 56, 44, 0.12) !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
}

.tfc-popular-wishlist-btn:hover {
  background: #e6f7f1 !important;
  transform: scale(1.08) !important;
  color: #008a64 !important;
}

.tfc-popular-wishlist-btn.is-active {
  color: #e53e3e !important;
}

.tfc-popular-wishlist-btn.is-active svg {
  fill: #e53e3e !important;
  stroke: #e53e3e !important;
}

.tfc-popular-image-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  text-decoration: none !important;
}

.tfc-popular-img {
  max-height: 180px !important;
  max-width: 85% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transition: transform 0.3s ease !important;
}

.tfc-popular-card:hover .tfc-popular-img {
  transform: scale(1.04) !important;
}

.tfc-popular-placeholder {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  color: #8daea1 !important;
}

.tfc-popular-placeholder-text {
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  color: #7d9e92 !important;
}

/* Card Body */
.tfc-popular-body {
  padding: 18px 18px 20px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  flex: 1 !important;
  background: #ffffff !important;
}

.tfc-popular-brand {
  font-size: 0.7813rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: #008a64 !important;
  line-height: 1.2 !important;
}

.tfc-popular-card-title {
  font-size: 1.0625rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  color: #04382c !important;
  text-decoration: none !important;
  text-wrap: pretty !important;
  min-height: 2.7em !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  transition: color 0.2s ease !important;
}

.tfc-popular-card-title:hover {
  color: #008a64 !important;
}

.tfc-popular-size {
  font-size: 0.875rem !important;
  color: #3a5f53 !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

.tfc-popular-reviews {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.8438rem !important;
  color: #3a5f53 !important;
}

.tfc-popular-stars {
  color: #0f9f7d !important;
  letter-spacing: 0.1em !important;
}

.tfc-popular-price-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 9px !important;
  margin-top: 4px !important;
}

.tfc-popular-price,
.tfc-popular-price .woocommerce-Price-amount {
  font-size: 1.375rem !important;
  font-weight: 900 !important;
  color: #04382c !important;
  line-height: 1 !important;
}

.tfc-popular-was-price,
.tfc-popular-was-price .woocommerce-Price-amount {
  font-size: 0.9063rem !important;
  color: #5a7d70 !important;
  text-decoration: line-through !important;
  font-weight: 600 !important;
}

.tfc-popular-stock {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  color: #008a64 !important;
  margin-bottom: 4px !important;
}

.tfc-popular-stock.is-out-of-stock {
  color: #c53030 !important;
}

.tfc-popular-stock-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #22c197 !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

.tfc-popular-stock.is-out-of-stock .tfc-popular-stock-dot {
  background: #e53e3e !important;
}

/* Card Button */
.tfc-popular-action-btn {
  margin-top: auto !important;
  border: 0 !important;
  cursor: pointer !important;
  font-family: inherit !important;
  background: linear-gradient(120deg, #22c197, #008a64) !important;
  color: #ffffff !important;
  font-size: 0.9688rem !important;
  font-weight: 800 !important;
  padding: 13px 16px !important;
  border-radius: 11px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 138, 100, 0.18) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.tfc-popular-action-btn:hover {
  filter: brightness(0.93) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(0, 138, 100, 0.28) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.tfc-popular-action-btn:active {
  transform: translateY(0) !important;
}

.tfc-popular-action-btn.added {
  background: #005a42 !important;
}

.tfc-popular-action-btn.loading {
  opacity: 0.75 !important;
  cursor: wait !important;
}

/* Controls */
.tfc-popular-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-top: 30px !important;
}

.tfc-popular-nav-btn {
  border: 0 !important;
  cursor: pointer !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: #e6f7f1 !important;
  color: #008a64 !important;
  display: grid !important;
  place-items: center !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
}

.tfc-popular-nav-btn:hover:not(:disabled) {
  background: #d8f1e7 !important;
  transform: scale(1.05) !important;
}

.tfc-popular-nav-btn:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

.tfc-popular-dots {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
}

.tfc-popular-dot {
  border: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #d1e5dd !important;
  transition: all 0.25s ease !important;
}

.tfc-popular-dot.is-active {
  width: 24px !important;
  border-radius: 4px !important;
  background: #008a64 !important;
}

.tfc-popular-dot:hover:not(.is-active) {
  background: #a9cfc1 !important;
}

/* Responsive Media Queries */
@media (max-width: 1120px) {
  .tfc-popular-card {
    flex: 0 0 calc((100% - 40px) / 3) !important;
  }
}

@media (max-width: 780px) {
  .tfc-popular-card {
    flex: 0 0 calc((100% - 20px) / 2) !important;
  }
  .tfc-popular-header {
    margin-bottom: 20px !important;
  }
}

@media (max-width: 520px) {
  .tfc-popular-card {
    flex: 0 0 85% !important;
    min-width: 240px !important;
  }
  .tfc-popular-image-wrap {
    height: 200px !important;
  }
}

/* ==========================================================================
   CUSTOMER REVIEWS (MATCHING SS1 DESIGN WITH REAL PHOTOS)
   ========================================================================== */

.tfc-cr-section {
  background: linear-gradient(155deg, #04382c 0%, #008a64 52%, #22c197 100%) !important;
  padding: clamp(38px, 5vw, 64px) clamp(16px, 3vw, 24px) !important;
  color: #ffffff !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.tfc-cr-container {
  max-width: 1340px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

.tfc-cr-badge-wrap {
  margin-bottom: 16px !important;
}

.tfc-cr-badge {
  display: inline-block !important;
  background: rgba(255, 255, 255, 0.16) !important;
  color: #e8f8f1 !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  padding: 6px 14px !important;
  border-radius: 7px !important;
  letter-spacing: 0.02em !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

.tfc-cr-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  margin-bottom: 30px !important;
}

.tfc-cr-header-left {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.tfc-cr-title {
  margin: 0 !important;
  font-size: clamp(1.8rem, 3.5vw, 2.25rem) !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
  text-wrap: pretty !important;
}

.tfc-cr-trustpilot-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.tfc-cr-stars-group {
  display: flex !important;
  gap: 3px !important;
  align-items: center !important;
}

.tfc-cr-star-box {
  width: 24px !important;
  height: 24px !important;
  background: #0f9f7d !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 2px !important;
}

.tfc-cr-star-box.small {
  width: 20px !important;
  height: 20px !important;
}

.tfc-cr-score-text {
  font-size: 0.9688rem !important;
  color: #dbf4ea !important;
  line-height: 1.2 !important;
}

.tfc-cr-score-text strong {
  color: #ffffff !important;
  font-weight: 800 !important;
}

.tfc-cr-score-text u {
  color: #ffffff !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.tfc-cr-all-link {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: all 0.2s ease !important;
}

.tfc-cr-all-link:hover {
  color: #d1f4e7 !important;
  text-decoration: underline !important;
}

.tfc-cr-all-link svg {
  transition: transform 0.2s ease !important;
}

.tfc-cr-all-link:hover svg {
  transform: translateX(4px) !important;
}

/* Reviews Grid */
.tfc-cr-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

.tfc-cr-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 13px !important;
  box-shadow: 0 10px 28px rgba(4, 56, 44, 0.16) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  box-sizing: border-box !important;
}

.tfc-cr-card:hover {
  box-shadow: 0 18px 40px rgba(4, 56, 44, 0.28) !important;
  transform: translateY(-4px) !important;
}

.tfc-cr-card-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.tfc-cr-verified {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  color: #008a64 !important;
}

.tfc-cr-card-title {
  font-size: 1.0313rem !important;
  font-weight: 800 !important;
  color: #04382c !important;
  line-height: 1.35 !important;
  text-wrap: pretty !important;
}

.tfc-cr-card-body {
  margin: 0 !important;
  font-size: 0.9375rem !important;
  line-height: 1.6 !important;
  color: #3a5f53 !important;
}

.tfc-cr-card-author {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: auto !important;
  padding-top: 14px !important;
  border-top: 1px solid #f0f6f3 !important;
}

.tfc-cr-author-img {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 2px solid #e6f7f1 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
  flex-shrink: 0 !important;
}

.tfc-cr-author-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.tfc-cr-author-name {
  font-size: 0.9063rem !important;
  font-weight: 800 !important;
  color: #04382c !important;
  line-height: 1.2 !important;
}

.tfc-cr-author-when {
  font-size: 0.8125rem !important;
  color: #5a7d70 !important;
}

/* Responsive Grid */
@media (max-width: 1120px) {
  .tfc-cr-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .tfc-cr-grid {
    grid-template-columns: 1fr !important;
  }
  .tfc-cr-header {
    margin-bottom: 22px !important;
  }
}
