/*
 * HealthBuddha Practitioner Detail Page v4
 * Scoped production stylesheet derived from the approved standalone prototype.
 * Everything is namespaced under #hb-practitioner-pdp to avoid leaking into the WordPress theme.
 */
#hb-practitioner-pdp {
      --primary: #687561;
      --secondary: #3d3d3c;
      --accent: #e07a5f;
      --star-gold: #fbbc04;
      --star-gold-deep: #f9ab00;
      --white: #ffffff;
      --bg: #fcf1ee;
      --bg-soft: #fff9f7;
      --text-muted: rgba(61, 61, 60, .67);
      --line: rgba(104, 117, 97, .12);
      --shadow: 0 16px 40px rgba(28, 86, 42, .08);
      --shadow-lg: 0 28px 80px rgba(28, 86, 42, .11);
      --primary-font: "El Messiri", serif;
      --secondary-font: "Outfit", sans-serif;
      --container: 1320px;
      --transition: all .35s ease;
      --header-height: 90px;
      --content-radius: 24px;
}

#hb-practitioner-pdp .d-none {
      display: none !important;
}

#hb-practitioner-pdp * {
      box-sizing: border-box;
}

#hb-practitioner-pdp {
      scroll-behavior: smooth;
}

#hb-practitioner-pdp {
      margin: 0;
      padding-top: var(--header-height);
      overflow-x: hidden;
      background: #fff;
      color: var(--secondary);
      font-family: var(--secondary-font);
      font-size: 18px;
      line-height: 1.65;
}

#hb-practitioner-pdp img {
      display: block;
      max-width: 100%;
}

#hb-practitioner-pdp a {
      color: inherit;
      text-decoration: none;
      transition: var(--transition);
}

#hb-practitioner-pdp button {
      font: inherit;
}

#hb-practitioner-pdp h1,
#hb-practitioner-pdp h2,
#hb-practitioner-pdp h3,
#hb-practitioner-pdp h4,
#hb-practitioner-pdp h5,
#hb-practitioner-pdp h6 {
      margin: 0;
      font-family: var(--primary-font);
      color: var(--primary);
}

#hb-practitioner-pdp p {
      margin: 0;
      color: var(--text-muted);
}

#hb-practitioner-pdp .container {
      width: min(calc(100% - 40px), var(--container));
      margin-inline: auto;
}

#hb-practitioner-pdp .section {
      position: relative;
      padding: 96px 0;
}

#hb-practitioner-pdp .section--soft {
      background: #fff;
}

#hb-practitioner-pdp .section--blush {
      background: var(--bg);
}

#hb-practitioner-pdp .anchor-offset {
      scroll-margin-top: 122px;
}

#hb-practitioner-pdp .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: var(--accent);
      font-size: 13px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 2px;
      text-transform: uppercase;
}

#hb-practitioner-pdp .eyebrow::before {
      /*content: "";*/
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--accent);
}

#hb-practitioner-pdp .section-head {
      max-width: 860px;
      margin: 0 auto 46px;
      text-align: center;
}

#hb-practitioner-pdp .section-title {
      margin-top: 14px;
      color: var(--primary);
      font-size: clamp(40px, 4.2vw, 56px);
      font-weight: 500;
      line-height: 1.1;
      letter-spacing: -.35px;
}

#hb-practitioner-pdp .section-intro {
      max-width: 720px;
      margin: 18px auto 0;
      font-size: 18px;
      line-height: 1.75;
}

#hb-practitioner-pdp .btn-theme,
#hb-practitioner-pdp .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 50px;
      padding: 12px 24px;
      border-radius: 7px;
      font-size: 16px;
      font-weight: 600;
      letter-spacing: .2px;
      transition: var(--transition);
}

#hb-practitioner-pdp .btn-theme {
      border: 1px solid var(--accent);
      background: var(--accent);
      color: #fff;
}

#hb-practitioner-pdp .btn-theme:hover {
      background: var(--primary);
      border-color: var(--primary);
      color: #fff;
}

#hb-practitioner-pdp .btn-outline {
      border: 1px solid rgba(104, 117, 97, .22);
      background: rgba(255, 255, 255, .74);
      color: var(--primary);
}

#hb-practitioner-pdp .btn-outline:hover {
      background: var(--primary);
      border-color: var(--primary);
      color: #fff;
}

/* ======================================================
       Header
    ====================================================== */

#hb-practitioner-pdp .site-header {
      position: fixed;
      inset: 0 0 auto 0;
      z-index: 999;
      height: var(--header-height);
      background: rgba(255, 255, 255, .96);
      border-bottom: 1px solid rgba(224, 122, 95, .14);
      backdrop-filter: blur(14px);
      transition: var(--transition);
}

#hb-practitioner-pdp .site-header.is-scrolled {
      box-shadow: 0 10px 30px rgba(0, 0, 0, .07);
}

#hb-practitioner-pdp .site-header-inner {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
}

#hb-practitioner-pdp .site-logo img {
      width: 220px;
      height: auto;
}

#hb-practitioner-pdp .site-nav {
      display: flex;
      align-items: center;
      gap: 28px;
}

#hb-practitioner-pdp .site-nav a:not(.btn-theme) {
      color: var(--secondary);
      font-size: 14px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: .5px;
}

#hb-practitioner-pdp .site-nav a:not(.btn-theme):hover {
      color: var(--accent);
}

/* ======================================================
       Hero
    ====================================================== */

#hb-practitioner-pdp .hero {
      position: relative;
      overflow: hidden;
      padding: 78px 0 100px;
      background: var(--bg);
}

#hb-practitioner-pdp .booking-section::before {
      content: "";
      position: absolute;
      right: -160px;
      top: -180px;
      width: 430px;
      height: 430px;
      border-radius: 50%;
      background: rgba(104, 117, 97, .07);
      pointer-events: none;
}

#hb-practitioner-pdp .hero-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
      gap: 72px;
      align-items: center;
      min-height: 650px;
}

#hb-practitioner-pdp .hero-copy {
      max-width: 790px;
}

#hb-practitioner-pdp .hero-kicker {
      margin-bottom: 19px;
}

#hb-practitioner-pdp .hero-title {
      max-width: 780px;
      color: var(--primary);
      font-size: 54px;
      font-weight: 600;
      line-height: 1.04;
      letter-spacing: -.8px;
}

#hb-practitioner-pdp .hero-positioning {
      max-width: 780px;
      margin-top: 22px;
      color: var(--secondary);
      font-size: 22px;
      font-weight: 600;
      line-height: 1.4;
}

#hb-practitioner-pdp .hero-description {
      max-width: 680px;
      margin-top: 18px;
      font-size: 18px;
      line-height: 1.78;
}

#hb-practitioner-pdp .hero-proof-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-top: 34px;
}

#hb-practitioner-pdp .hero-proof {
      position: relative;
      overflow: hidden;
      min-height: 100px;
      padding: 18px 16px;
      border: 1px solid rgba(104, 117, 97, .09);
      border-radius: 12px;
      background: rgba(255, 255, 255, .70);
      box-shadow: 0 14px 34px rgba(28, 86, 42, .035);
}

#hb-practitioner-pdp .hero-proof strong {
      display: block;
      color: var(--primary);
      font-size: 27px;
      font-weight: 700;
      line-height: 1.05;
}

#hb-practitioner-pdp .hero-proof .star-row span {
      color: orange;
}

#hb-practitioner-pdp .hero-proof span {
      display: block;
      color: #3d3d3d;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.4;
      text-transform: initial;
}

#hb-practitioner-pdp .hero-trust-row {
      display: flex;
      flex-wrap: wrap;
      gap: 9px 10px;
      margin-top: 22px;
}

#hb-practitioner-pdp .trust-badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 36px;
      padding: 8px 11px;
      border: 1px solid rgba(104, 117, 97, .10);
      border-radius: 999px;
      background: rgba(255, 255, 255, .60);
      color: rgba(61, 61, 60, .72);
      font-size: 13px;
      font-weight: 600;
}

#hb-practitioner-pdp .trust-badge .iconify {
      color: var(--accent);
      font-size: 17px;
}

#hb-practitioner-pdp .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 30px;
}

#hb-practitioner-pdp .hero-visual {
      position: relative;
      max-width: 510px;
      margin-left: auto;
      padding: 15px;
      border: 1px solid rgba(104, 117, 97, .09);
      border-radius: 26px;
      background: #fff;
      box-shadow: 0 30px 90px rgba(28, 86, 42, .14);
}

#hb-practitioner-pdp .hero-image {
      overflow: hidden;
      border-radius: 21px;
      background: var(--bg);
      aspect-ratio: 4 / 5;
}

#hb-practitioner-pdp .hero-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
}

#hb-practitioner-pdp .verified-pill {
      position: absolute;
      top: 34px;
      right: -16px;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 9px;
      padding: 11px 15px;
      border-radius: 999px;
      background: var(--primary);
      color: #fff;
      box-shadow: 0 18px 45px rgba(28, 86, 42, .20);
      font-size: 14px;
      font-weight: 600;
}

#hb-practitioner-pdp .verified-pill .iconify {
      font-size: 21px;
}

/* ======================================================
       In-page navigation + sticky conversion bar
    ====================================================== */

#hb-practitioner-pdp .page-menu-section {
      position: relative;
      z-index: 30;
      margin-top: -27px;
      /* padding-bottom: 40px; */
}

#hb-practitioner-pdp .page-menu {
      width: fit-content;
      max-width: 100%;
      margin: 0 auto;
      padding: 9px;
      border: 1px solid rgba(104, 117, 97, .10);
      border-radius: 999px;
      background: rgba(255, 255, 255, .95);
      box-shadow: 0 18px 55px rgba(28, 86, 42, .07);
      backdrop-filter: blur(14px);
}

#hb-practitioner-pdp .page-menu-links {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 3px;
}

#hb-practitioner-pdp .page-menu-link,
#hb-practitioner-pdp .sticky-menu-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      padding: 10px 15px;
      border-radius: 999px;
      color: rgba(61, 61, 60, .70);
      font-size: 14px;
      font-weight: 700;
      line-height: 1;
      white-space: nowrap;
}

#hb-practitioner-pdp .page-menu-link:hover,
#hb-practitioner-pdp .page-menu-link.is-active,
#hb-practitioner-pdp .sticky-menu-link:hover,
#hb-practitioner-pdp .sticky-menu-link.is-active {
      background: rgba(224, 122, 95, .10);
      color: var(--accent);
}

#hb-practitioner-pdp .sticky-menu {
      position: fixed;
      left: 50%;
      bottom: 22px;
      z-index: 9999;
      width: calc(100% - 40px);
      max-width: 1080px;
      transform: translate(-50%, 125%);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: transform .35s ease, opacity .35s ease, visibility .35s ease;
}

#hb-practitioner-pdp .sticky-menu.is-visible {
      transform: translate(-50%, 0);
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
}

#hb-practitioner-pdp .sticky-menu-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 9px;
      border: 1px solid rgba(104, 117, 97, .12);
      border-radius: 999px;
      background: rgba(255, 255, 255, .96);
      box-shadow: 0 24px 75px rgba(28, 86, 42, .18);
      backdrop-filter: blur(18px);
}

#hb-practitioner-pdp .sticky-menu-links {
      display: flex;
      align-items: center;
      gap: 2px;
      min-width: 0;
      overflow: hidden;
}

#hb-practitioner-pdp .sticky-menu-cta {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 12px 22px;
      border-radius: 999px;
      background: var(--accent);
      color: #fff;
      font-size: 14px;
      font-weight: 700;
      box-shadow: 0 14px 35px rgba(224, 122, 95, .28);
}

#hb-practitioner-pdp .sticky-menu-cta:hover {
      background: var(--primary);
      color: #fff;
}

#hb-practitioner-pdp .mobile-booking-bar {
      display: none;
      position: fixed;
      left: 12px;
      right: 12px;
      bottom: 14px;
      z-index: 9999;
      transform: translateY(125%);
      opacity: 0;
      visibility: hidden;
      transition: .35s ease;
}

#hb-practitioner-pdp .mobile-booking-bar.is-visible {
      transform: translateY(0);
      opacity: 1;
      visibility: visible;
}

#hb-practitioner-pdp .mobile-booking-bar a {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 56px;
      border-radius: 999px;
      background: var(--accent);
      color: #fff;
      font-size: 16px;
      font-weight: 700;
      box-shadow: 0 18px 50px rgba(224, 122, 95, .32);
}

/* ======================================================
       How I Can Help — unified condition cards
    ====================================================== */

#hb-practitioner-pdp .focus-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
      align-items: stretch;
      max-width: 1100px;
      margin-inline: auto;
}

#hb-practitioner-pdp .focus-card {
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      min-height: 100%;
      border: 1px solid rgba(104, 117, 97, .10);
      border-radius: 25px;
      background: rgba(255, 255, 255, .92);
      box-shadow: 0 22px 64px rgba(28, 86, 42, .055);
}

#hb-practitioner-pdp .focus-card::after {
      content: "";
      position: absolute;
      left: 32px;
      right: 32px;
      bottom: 0;
      height: 2px;
      background: linear-gradient(to right, var(--accent), rgba(104, 117, 97, .22), transparent);
      opacity: .42;
}

#hb-practitioner-pdp .focus-icon img {
      aspect-ratio: 1/1;
      object-fit: cover;
      width: 100%;
      height: 100%;
}

#hb-practitioner-pdp .focus-card h3 {
      color: var(--primary);
      font-size: 31px;
      font-weight: 500;
      line-height: 1.18;
      padding: 25px;
      text-align: center;
}

#hb-practitioner-pdp .focus-description {
      margin-top: 16px;
      color: rgba(61, 61, 60, .70);
      font-size: 17px;
      line-height: 1.72;
}

#hb-practitioner-pdp .focus-tests {
      margin-top: 28px;
      padding-top: 23px;
      border-top: 1px solid rgba(104, 117, 97, .10);
}

#hb-practitioner-pdp .focus-tests-label {
      display: block;
      margin-bottom: 15px;
      color: var(--accent);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 1.35px;
      line-height: 1.25;
      text-transform: uppercase;
}

#hb-practitioner-pdp .focus-tests ul {
      list-style: none;
      margin: 0;
      padding: 0;
}

#hb-practitioner-pdp .focus-tests li {
      display: flex;
      align-items: flex-start;
      gap: 9px;
      margin-bottom: 10px;
      color: rgba(61, 61, 60, .74);
      font-size: 15.5px;
      line-height: 1.45;
}

#hb-practitioner-pdp .focus-tests li:last-child {
      margin-bottom: 0;
}

#hb-practitioner-pdp .focus-tests .iconify {
      flex: 0 0 auto;
      margin-top: 2px;
      color: var(--accent);
      font-size: 18px;
}

/* ======================================================
       Booking variants — one renders at a time
    ====================================================== */

#hb-practitioner-pdp .booking-section {
      background: var(--bg);
      padding-top: 0;
}

#hb-practitioner-pdp .booking-iframe-grid {
      display: grid;
      grid-template-columns: minmax(340px, 600px) minmax(0, 1fr);
      gap: 30px;
      align-items: stretch;
}

#hb-practitioner-pdp .booking-side-panel,
#hb-practitioner-pdp .booking-fallback {
      position: relative;
      overflow: hidden;
      background: var(--primary);
      color: #fff;
      box-shadow: 0 28px 80px rgba(28, 86, 42, .14);
}

#hb-practitioner-pdp .booking-side-panel {
      min-height: 500px;
      border-radius: 28px;
}

#hb-practitioner-pdp .booking-side-panel::before,
#hb-practitioner-pdp .booking-fallback::before {
      content: "";
      position: absolute;
      left: -85px;
      top: -85px;
      width: 210px;
      height: 210px;
      border-radius: 50%;
      background: rgba(224, 122, 95, .20);
}

#hb-practitioner-pdp .booking-side-panel::after,
#hb-practitioner-pdp .booking-fallback::after {
      content: "";
      position: absolute;
      right: -120px;
      bottom: -130px;
      width: 330px;
      height: 330px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .09);
}

#hb-practitioner-pdp .booking-side-inner {
      position: relative;
      z-index: 2;
      height: 100%;
      display: flex;
      flex-direction: column;
      padding: 44px 40px;
}

#hb-practitioner-pdp .booking-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 18px;
      color: #ffc5b8;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 2px;
      text-transform: uppercase;
}

#hb-practitioner-pdp .booking-eyebrow::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--accent);
}

#hb-practitioner-pdp .booking-side-panel h2,
#hb-practitioner-pdp .booking-fallback h2 {
      color: #fff;
      font-size: clamp(40px, 4vw, 52px);
      font-weight: 500;
      line-height: 1.08;
}

#hb-practitioner-pdp .booking-side-panel p,
#hb-practitioner-pdp .booking-fallback p {
      max-width: 540px;
      margin-top: 20px;
      color: rgba(255, 255, 255, .79);
      font-size: 17px;
      line-height: 1.75;
}

#hb-practitioner-pdp .booking-mini-profile {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-top: 30px;
      padding: 13px;
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: 17px;
      background: rgba(255, 255, 255, .07);
}

#hb-practitioner-pdp .booking-mini-profile img {
      width: 62px;
      height: 62px;
      border-radius: 13px;
      object-fit: cover;
      object-position: top center;
}

#hb-practitioner-pdp .booking-mini-profile strong {
      display: block;
      color: #fff;
      font-size: 17px;
}

#hb-practitioner-pdp .booking-mini-profile span {
      display: block;
      margin-top: 3px;
      color: rgba(255, 255, 255, .66);
      font-size: 14px;
}

#hb-practitioner-pdp .booking-reassurance {
      display: grid;
      gap: 11px;
      margin-top: auto;
      padding-top: 34px;
}

#hb-practitioner-pdp .booking-reassurance div {
      display: flex;
      align-items: flex-start;
      gap: 9px;
      min-height: 52px;
      padding: 13px 15px;
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: 13px;
      background: rgba(255, 255, 255, .07);
      color: rgba(255, 255, 255, .88);
      font-size: 15px;
}

#hb-practitioner-pdp .booking-reassurance .iconify {
      flex: 0 0 auto;
      margin-top: 3px;
}

#hb-practitioner-pdp .booking-frame-card {
      overflow: hidden;
      min-height: 500px;
      border: 1px solid rgba(104, 117, 97, .10);
      border-radius: 28px;
      background: #fff;
      box-shadow: 0 28px 80px rgba(28, 86, 42, .09);
}

#hb-practitioner-pdp .booking-frame-card iframe {
      display: block;
      width: 100%;
      height: 585px;
      border: 0;
      background: #fff;
}

#hb-practitioner-pdp .booking-fallback {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
      gap: 52px;
      align-items: center;
      min-height: 520px;
      padding: 58px 64px;
      border-radius: 30px;
}

#hb-practitioner-pdp .booking-fallback-copy,
#hb-practitioner-pdp .booking-fallback-proof {
      position: relative;
      z-index: 2;
}

#hb-practitioner-pdp .booking-fallback-copy .btn-theme {
      margin-top: 30px;
      min-height: 56px;
}

#hb-practitioner-pdp .booking-fallback-proof {
      display: grid;
      gap: 13px;
}

#hb-practitioner-pdp .booking-proof-item {
      display: flex;
      align-items: center;
      gap: 12px;
      min-height: 66px;
      padding: 16px 18px;
      border: 1px solid rgba(255, 255, 255, .16);
      border-radius: 16px;
      background: rgba(255, 255, 255, .07);
      color: rgba(255, 255, 255, .90);
      font-size: 16px;
      font-weight: 500;
}

#hb-practitioner-pdp .booking-proof-item .iconify {
      font-size: 21px;
}

#hb-practitioner-pdp .booking-variant[hidden] {
      display: none !important;
}

/* ======================================================
       Reviews
    ====================================================== */

#hb-practitioner-pdp .reviews-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 28px;
      align-items: end;
      max-width: 1160px;
      margin: 0 auto 38px;
}

#hb-practitioner-pdp .reviews-head-copy .section-title {
      margin-top: 14px;
}

#hb-practitioner-pdp .rating-summary {
      min-width: 240px;
      padding: 20px 22px;
      border: 1px solid rgba(104, 117, 97, .10);
      border-radius: 22px;
      background: rgba(252, 241, 238, .68);
      text-align: right;
}

#hb-practitioner-pdp .rating-summary strong {
      display: block;
      color: var(--primary);
      font-family: var(--primary-font);
      font-size: 43px;
      font-weight: 500;
      line-height: 1;
}

#hb-practitioner-pdp .rating-stars {
      margin-top: 8px;
      color: var(--accent);
      font-size: 18px;
      letter-spacing: 1px;
}

#hb-practitioner-pdp .rating-summary span {
      display: block;
      margin-top: 7px;
      color: rgba(61, 61, 60, .60);
      font-size: 14px;
      font-weight: 600;
}

#hb-practitioner-pdp .review-grid {
      max-width: 1160px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
}

#hb-practitioner-pdp .review-card {
      position: relative;
      overflow: hidden;
      min-height: 300px;
      padding: 27px;
      border: 1px solid rgba(104, 117, 97, .10);
      border-radius: 25px;
      background: rgba(255, 255, 255, .94);
      box-shadow: 0 24px 72px rgba(28, 86, 42, .055);
}

#hb-practitioner-pdp .review-source {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: var(--accent);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 1px;
      text-transform: uppercase;
}

#hb-practitioner-pdp .review-stars {
      margin-top: 15px;
      color: var(--accent);
      letter-spacing: 2px;
}

#hb-practitioner-pdp .review-card p {
      margin-top: 17px;
      color: rgba(61, 61, 60, .75);
      font-size: 16px;
      line-height: 1.72;
}

#hb-practitioner-pdp .review-author {
      display: block;
      margin-top: 22px;
      color: var(--secondary);
      font-size: 14px;
      font-weight: 700;
}

#hb-practitioner-pdp .reviews-action {
      margin-top: 30px;
      text-align: center;
}

/* ======================================================
       Optional video gallery
    ====================================================== */

#hb-practitioner-pdp .video-gallery[hidden] {
      display: none !important;
}

#hb-practitioner-pdp .optional-video-link {
      display: none !important;
}

#hb-practitioner-pdp .video-grid {
      display: grid;
      grid-template-columns: 1.25fr .75fr;
      gap: 20px;
}

#hb-practitioner-pdp .video-feature,
#hb-practitioner-pdp .video-small {
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(104, 117, 97, .10);
      border-radius: 24px;
      background: linear-gradient(135deg, #e1e8df, #f7e5e0);
}

#hb-practitioner-pdp .video-feature {
      min-height: 520px;
}

#hb-practitioner-pdp .video-stack {
      display: grid;
      gap: 20px;
}

#hb-practitioner-pdp .video-small {
      min-height: 250px;
}

#hb-practitioner-pdp .video-placeholder {
      position: absolute;
      inset: 0;
      display: grid;
      place-items: center;
      padding: 30px;
      text-align: center;
      color: var(--primary);
}

#hb-practitioner-pdp .video-play {
      width: 70px;
      height: 70px;
      margin: 0 auto 16px;
      border-radius: 50%;
      background: #fff;
      display: grid;
      place-items: center;
      color: var(--accent);
      font-size: 31px;
      box-shadow: var(--shadow);
}

#hb-practitioner-pdp .video-placeholder strong {
      display: block;
      font-size: 20px;
}

#hb-practitioner-pdp .video-placeholder span {
      display: block;
      margin-top: 7px;
      color: var(--text-muted);
      font-size: 14px;
}

/* ======================================================
       Meet practitioner — bio + quote + credentials
    ====================================================== */

#hb-practitioner-pdp .meet-grid {
      display: grid;
      grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
      gap: 62px;
      align-items: start;
      max-width: 1180px;
      margin: 0 auto;
}

#hb-practitioner-pdp .meet-image-wrap {
      overflow: hidden;
      border-radius: 25px;
      background: var(--bg);
      aspect-ratio: 4 / 5;
}

#hb-practitioner-pdp .meet-image-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
}

#hb-practitioner-pdp .practitioner-quote {
      position: relative;
      margin-top: 24px;
      padding: 7px 0 4px 23px;
      border-left: 3px solid var(--accent);
}

/* 
    .practitioner-quote::before {
      content: "“";
      position: absolute;
      top: -7px;
      left: 15px;
      transform: translateX(-100%);
      color: rgba(224,122,95,.27);
      font-family: var(--primary-font);
      font-size: 62px;
      line-height: 1;
    } */

#hb-practitioner-pdp .practitioner-quote blockquote {
      margin: 0;
      color: var(--primary);
      font-family: var(--primary-font);
      font-size: 25px;
      line-height: 1.42;
}

#hb-practitioner-pdp .practitioner-quote cite {
      display: block;
      margin-top: 12px;
      color: rgba(61, 61, 60, .58);
      font-size: 14px;
      font-style: normal;
      font-weight: 600;
}

#hb-practitioner-pdp .meet-copy .section-title {
      margin-top: 14px;
}

#hb-practitioner-pdp .meet-hook {
      margin-top: 20px;
      color: var(--secondary);
      font-size: 24px;
      font-weight: 600;
      line-height: 1.45;
}

#hb-practitioner-pdp .meet-body {
      display: grid;
      gap: 17px;
      margin-top: 22px;
}

#hb-practitioner-pdp .meet-body p {
      font-size: 17px;
      line-height: 1.82;
}

#hb-practitioner-pdp .credentials {
      margin-top: 30px;
      padding-top: 24px;
      border-top: 1px solid rgba(104, 117, 97, .12);
      text-align: center;
}

#hb-practitioner-pdp .credentials-label {
      color: rgba(61, 61, 60, .56);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 1.35px;
      text-transform: uppercase;
}

#hb-practitioner-pdp .credential-logos {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 16px;
}

#hb-practitioner-pdp .credential-logo {
      min-width: 105px;
      padding: 13px 15px;
      border: 1px solid rgba(104, 117, 97, .12);
      border-radius: 13px;
      background: #fff;
      color: var(--primary);
      font-family: var(--primary-font);
      font-size: 21px;
      font-weight: 600;
      text-align: center;
}

#hb-practitioner-pdp .meet-cta {
      margin-top: 28px;
}

#hb-practitioner-pdp .meet-cta p {
      max-width: 520px;
      margin-top: 10px;
      font-size: 14px;
}

/* ======================================================
   HOW IT WORKS
====================================================== */

#hb-practitioner-pdp .hb-pdp-steps {
      width: 100%;
      max-width: 1120px;
      margin: 34px auto 0;

      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));

      border-top: 1px solid rgba(104, 117, 97, 0.14);
      border-bottom: 1px solid rgba(104, 117, 97, 0.14);

      text-align: center;
}


/* Individual step */
#hb-practitioner-pdp .hb-pdp-step {
      display: block;
      position: relative;

      visibility: visible;
      opacity: 1;

      padding: 35px 30px;

      background: transparent;
}


/* Divider */
#hb-practitioner-pdp .hb-pdp-step+.hb-pdp-step {
      border-left: 1px solid rgba(104, 117, 97, 0.14);
}


/* Number */
#hb-practitioner-pdp .hb-pdp-step-number {
      display: block;

      margin: 0;

      color: var(--accent);

      font-family: var(--primary-font);
      font-size: 42px;
      font-weight: 500;
      line-height: 1;
}


/* Heading */
#hb-practitioner-pdp .hb-pdp-step h3 {
      display: block;

      margin: 15px 0 0;

      color: var(--primary);

      font-family: var(--primary-font);
      font-size: 24px;
      font-weight: 700;
      line-height: 1.2;
}


/* Description */
#hb-practitioner-pdp .hb-pdp-step p {
      display: block;

      margin: 10px 0 0;

      color: rgba(61, 61, 60, 0.72);

      font-family: var(--secondary-font);
      font-size: 16px;
      font-weight: 400;
      line-height: 1.65;
}


/* ======================================================
   TABLET / MOBILE
====================================================== */

@media (max-width: 991.98px) {

      #hb-practitioner-pdp .hb-pdp-steps {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp .hb-pdp-step+.hb-pdp-step {
            border-left: 0;
            border-top: 1px solid rgba(104, 117, 97, 0.14);
      }

}


@media (max-width: 767.98px) {

      #hb-practitioner-pdp .hb-pdp-steps {
            margin-top: 25px;
      }

      #hb-practitioner-pdp .hb-pdp-step {
            padding: 28px 15px;
      }

      #hb-practitioner-pdp .hb-pdp-step-number {
            font-size: 50px;
      }

      #hb-practitioner-pdp .hb-pdp-step h3 {
            font-size: 25px;
      }

}

/* ======================================================
       Dynamic location layouts
    ====================================================== */

#hb-practitioner-pdp .locations-grid {
      max-width: 1240px;
      margin: 0 auto;
}

#hb-practitioner-pdp .location-item {
      overflow: hidden;
      border: 1px solid rgba(104, 117, 97, .10);
      background: rgba(255, 255, 255, .95);
      box-shadow: 0 24px 72px rgba(28, 86, 42, .065);
}

#hb-practitioner-pdp .location-map {
      overflow: hidden;
      background: #f2f1ed;
}

#hb-practitioner-pdp .location-map iframe {
      display: block;
      width: 100%;
      height: 100%;
      border: 0;
}

#hb-practitioner-pdp .location-info {
      position: relative;
}

#hb-practitioner-pdp .location-type {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      margin-bottom: 11px;
      color: var(--accent);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 1.15px;
      text-transform: uppercase;
}

#hb-practitioner-pdp .location-title {
      color: var(--primary);
      font-size: 29px;
      font-weight: 500;
      line-height: 1.16;
}

#hb-practitioner-pdp .location-address {
      margin-top: 9px;
      color: rgba(61, 61, 60, .66);
      font-size: 15.5px;
      line-height: 1.55;
}

#hb-practitioner-pdp .locations-grid.layout-single .location-item {
      display: grid;
      grid-template-columns: minmax(0, 1.14fr) minmax(340px, .86fr);
      min-height: 440px;
      border-radius: 30px;
}

#hb-practitioner-pdp .locations-grid.layout-single .location-map {
      min-height: 440px;
}

#hb-practitioner-pdp .locations-grid.layout-single .location-info {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 46px;
      background: linear-gradient(135deg, rgba(252, 241, 238, .58), #fff);
}

#hb-practitioner-pdp .locations-grid.layout-single .location-title {
      font-size: 40px;
}

#hb-practitioner-pdp .locations-grid.layout-single .location-address {
      font-size: 18px;
}

#hb-practitioner-pdp .locations-grid.layout-even {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px;
      max-width: 1120px;
}

#hb-practitioner-pdp .locations-grid.layout-even .location-item {
      border-radius: 27px;
}

#hb-practitioner-pdp .locations-grid.layout-even .location-map {
      height: 285px;
}

#hb-practitioner-pdp .locations-grid.layout-even .location-info {
      padding: 27px 29px 30px;
}

#hb-practitioner-pdp .locations-grid.layout-triple {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 22px;
}

#hb-practitioner-pdp .locations-grid.layout-triple .location-item {
      border-radius: 25px;
}

#hb-practitioner-pdp .locations-grid.layout-triple .location-map {
      height: 230px;
}

#hb-practitioner-pdp .locations-grid.layout-triple .location-info {
      padding: 23px 23px 27px;
}

#hb-practitioner-pdp .locations-grid.layout-triple .location-title {
      font-size: 27px;
}

/* ======================================================
       FAQs
    ====================================================== */

#hb-practitioner-pdp .faq-list {
      max-width: 980px;
      margin: 0 auto;
      border-top: 1px solid rgba(104, 117, 97, .14);
}

#hb-practitioner-pdp .faq-list details {
      border-bottom: 1px solid rgba(104, 117, 97, .14);
}

#hb-practitioner-pdp .faq-list summary {
      list-style: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 24px 0;
      color: var(--primary);
      font-family: var(--primary-font);
      font-size: 25px;
      line-height: 1.3;
}

#hb-practitioner-pdp .faq-list summary::-webkit-details-marker {
      display: none;
}

#hb-practitioner-pdp .faq-list summary::after {
      content: "+";
      color: var(--accent);
      font-family: var(--secondary-font);
      font-size: 28px;
      font-weight: 400;
}

#hb-practitioner-pdp .faq-list details[open] summary::after {
      content: "−";
}

#hb-practitioner-pdp .faq-list details p {
      max-width: 820px;
      padding: 0 0 24px;
      font-size: 16.5px;
      line-height: 1.75;
}

/* ======================================================
       Related practitioners
    ====================================================== */

#hb-practitioner-pdp .related-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
}

#hb-practitioner-pdp .related-card {
      position: relative;
      overflow: hidden;
      border-radius: 20px;
      background: var(--primary);
      aspect-ratio: 4 / 5.25;
      box-shadow: 0 18px 50px rgba(28, 86, 42, .08);
}

#hb-practitioner-pdp .related-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
}

#hb-practitioner-pdp .related-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(31, 38, 29, .80), rgba(31, 38, 29, 0) 60%);
}

#hb-practitioner-pdp .related-meta {
      position: absolute;
      z-index: 2;
      left: 18px;
      right: 18px;
      bottom: 18px;
      color: #fff;
}

#hb-practitioner-pdp .related-meta h3 {
      color: #fff;
      font-family: var(--secondary-font);
      font-size: 20px;
      font-weight: 600;
      line-height: 1.25;
}

#hb-practitioner-pdp .related-meta p {
      margin-top: 5px;
      color: rgba(255, 255, 255, .76);
      font-size: 14px;
}

/* ======================================================
       Footer
    ====================================================== */

#hb-practitioner-pdp .site-footer {
      padding: 50px 0;
      background: var(--primary);
      color: #fff;
}

#hb-practitioner-pdp .footer-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
}

#hb-practitioner-pdp .footer-inner img {
      width: 210px;
}

#hb-practitioner-pdp .footer-inner p {
      color: rgba(255, 255, 255, .72);
      font-size: 14px;
}

/* ======================================================
       Responsive
    ====================================================== */

@media (max-width: 1199.98px) {
      #hb-practitioner-pdp .site-nav a:not(.btn-theme) {
            display: none;
      }

      #hb-practitioner-pdp .hero-grid {
            grid-template-columns: minmax(0, 1fr) 420px;
            gap: 42px;
      }

      #hb-practitioner-pdp .hero-proof-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      #hb-practitioner-pdp .focus-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      #hb-practitioner-pdp .focus-card:last-child {
            grid-column: 1 / -1;
            max-width: calc(50% - 12px);
      }

      #hb-practitioner-pdp .booking-iframe-grid {
            grid-template-columns: 390px minmax(0, 1fr);
            gap: 24px;
      }

      #hb-practitioner-pdp .review-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      #hb-practitioner-pdp .review-card:last-child {
            grid-column: 1 / -1;
      }

      #hb-practitioner-pdp .locations-grid.layout-triple {
            grid-template-columns: repeat(2, minmax(0, 1fr));
      }
}

@media (max-width: 991.98px) {
      #hb-practitioner-pdp {
            --header-height: 78px;
      }

      #hb-practitioner-pdp .section {
            padding: 74px 0;
      }

      #hb-practitioner-pdp .hero {
            padding: 62px 0 62px;
      }

      #hb-practitioner-pdp .hero-grid {
            grid-template-columns: 1fr;
            min-height: auto;
      }

      #hb-practitioner-pdp .hero-copy {
            max-width: 100%;
      }

      #hb-practitioner-pdp .hero-visual {
            max-width: 560px;
            margin: 0;
      }

      #hb-practitioner-pdp .focus-grid {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp .focus-card:last-child {
            grid-column: auto;
            max-width: none;
      }

      #hb-practitioner-pdp .booking-iframe-grid,
      #hb-practitioner-pdp .booking-fallback,
      #hb-practitioner-pdp .meet-grid {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp .booking-side-panel {
            min-height: auto;
      }

      #hb-practitioner-pdp .booking-side-inner {
            min-height: 520px;
      }

      #hb-practitioner-pdp .booking-fallback {
            gap: 36px;
      }

      #hb-practitioner-pdp .reviews-head {
            grid-template-columns: 1fr;
            align-items: start;
      }

      #hb-practitioner-pdp .rating-summary {
            max-width: 280px;
            text-align: left;
      }

      #hb-practitioner-pdp .video-grid {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp .meet-grid {
            gap: 36px;
      }

      #hb-practitioner-pdp .steps {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp .step+.step {
            border-left: 0;
            border-top: 1px solid rgba(104, 117, 97, .14);
      }

      #hb-practitioner-pdp .locations-grid.layout-single .location-item {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp .locations-grid.layout-single .location-map {
            min-height: 320px;
      }

      #hb-practitioner-pdp .locations-grid.layout-even,
      #hb-practitioner-pdp .locations-grid.layout-triple {
            grid-template-columns: 1fr;
            max-width: 720px;
      }

      #hb-practitioner-pdp .related-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      #hb-practitioner-pdp .sticky-menu {
            display: none;
      }

      #hb-practitioner-pdp .mobile-booking-bar {
            display: block;
      }
}

@media (max-width: 767.98px) {
      #hb-practitioner-pdp {
            font-size: 16px;
      }

      #hb-practitioner-pdp .container {
            width: min(calc(100% - 28px), var(--container));
      }

      #hb-practitioner-pdp .section {
            padding: 58px 0 64px;
      }

      #hb-practitioner-pdp .anchor-offset {
            scroll-margin-top: 92px;
      }

      #hb-practitioner-pdp .site-logo img {
            width: 185px;
      }

      #hb-practitioner-pdp .site-nav .btn-theme {
            display: none;
      }

      #hb-practitioner-pdp .hero {
            padding: 24px 0 54px;
      }

      #hb-practitioner-pdp .hero-grid {
            gap: 30px;
      }

      #hb-practitioner-pdp .hero-visual {
            order: 1;
            max-width: 100%;
            padding: 10px;
            border-radius: 20px;
      }

      #hb-practitioner-pdp .hero-copy {
            order: 2;
      }

      #hb-practitioner-pdp .hero-image {
            border-radius: 16px;
            aspect-ratio: 4 / 4.9;
      }

      #hb-practitioner-pdp .verified-pill {
            top: 18px;
            right: 18px;
            padding: 9px 12px;
            font-size: 13px;
      }

      #hb-practitioner-pdp .hero-title {
            font-size: 38px;
            line-height: 1.1;
      }

      #hb-practitioner-pdp .hero-positioning {
            margin-top: 17px;
            font-size: 21px;
            line-height: 1.42;
      }

      #hb-practitioner-pdp .hero-description {
            font-size: 16px;
      }

      #hb-practitioner-pdp .hero-proof-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin-top: 27px;
      }

      #hb-practitioner-pdp .hero-proof {
            min-height: 88px;
            padding: 15px 13px;
            border-radius: 15px;
      }

      #hb-practitioner-pdp .hero-proof strong {
            font-size: 23px;
      }

      #hb-practitioner-pdp .hero-proof span {
            font-size: 10px;
      }

      #hb-practitioner-pdp .hero-trust-row {
            gap: 7px;
      }

      #hb-practitioner-pdp .trust-badge {
            font-size: 12px;
      }

      #hb-practitioner-pdp .hero-actions {
            display: grid;
      }

      #hb-practitioner-pdp .hero-actions .btn-theme,
      #hb-practitioner-pdp .hero-actions .btn-outline {
            width: 100%;
      }

      #hb-practitioner-pdp .page-menu-section {
            margin-top: -19px;
            padding-bottom: 25px;
      }

      #hb-practitioner-pdp .page-menu {
            width: auto;
            margin-inline: 14px;
            padding: 7px;
            border-radius: 16px;
      }

      #hb-practitioner-pdp .page-menu-links {
            justify-content: flex-start;
            overflow-x: auto;
            scrollbar-width: none;
      }

      #hb-practitioner-pdp .page-menu-links::-webkit-scrollbar {
            display: none;
      }

      #hb-practitioner-pdp .page-menu-link {
            min-height: 39px;
            padding: 9px 12px;
            font-size: 13px;
      }

      #hb-practitioner-pdp .section-head {
            margin-bottom: 31px;
            text-align: left;
      }

      #hb-practitioner-pdp .section-title {
            font-size: 36px;
            line-height: 1.14;
      }

      #hb-practitioner-pdp .section-intro {
            margin-left: 0;
            font-size: 16px;
      }

      #hb-practitioner-pdp .focus-grid {
            gap: 15px;
      }

      #hb-practitioner-pdp .focus-card {
            padding: 24px 21px 23px;
            border-radius: 21px;
      }

      #hb-practitioner-pdp .focus-card::after {
            left: 21px;
            right: 21px;
      }

      #hb-practitioner-pdp .focus-icon {
            width: 56px;
            height: 56px;
            margin-bottom: 20px;
            border-radius: 15px;
            font-size: 28px;
      }

      #hb-practitioner-pdp .focus-card h3 {
            font-size: 26px;
      }

      #hb-practitioner-pdp .focus-description {
            margin-top: 13px;
            font-size: 16px;
      }

      #hb-practitioner-pdp .focus-tests {
            margin-top: 23px;
            padding-top: 20px;
      }

      #hb-practitioner-pdp .booking-side-panel,
      #hb-practitioner-pdp .booking-frame-card,
      #hb-practitioner-pdp .booking-fallback {
            border-radius: 22px;
      }

      #hb-practitioner-pdp .booking-side-inner {
            min-height: auto;
            padding: 34px 24px;
      }

      #hb-practitioner-pdp .booking-side-panel h2,
      #hb-practitioner-pdp .booking-fallback h2 {
            font-size: 37px;
      }

      #hb-practitioner-pdp .booking-frame-card {
            min-height: 630px;
      }

      #hb-practitioner-pdp .booking-frame-card iframe {
            height: 630px;
      }

      #hb-practitioner-pdp .booking-fallback {
            padding: 36px 24px;
      }

      #hb-practitioner-pdp .booking-fallback-copy .btn-theme {
            width: 100%;
      }

      #hb-practitioner-pdp .reviews-head {
            margin-bottom: 29px;
      }

      #hb-practitioner-pdp .rating-summary {
            width: 100%;
            max-width: none;
            padding: 18px;
            text-align: left;
      }

      #hb-practitioner-pdp .review-grid {
            grid-template-columns: 1fr;
            gap: 14px;
      }

      #hb-practitioner-pdp .review-card:last-child {
            grid-column: auto;
      }

      #hb-practitioner-pdp .review-card {
            min-height: auto;
            padding: 22px 20px;
            border-radius: 21px;
      }

      #hb-practitioner-pdp .meet-grid {
            gap: 28px;
      }

      #hb-practitioner-pdp .meet-left {
            order: 1;
      }

      #hb-practitioner-pdp .meet-copy {
            order: 2;
      }

      #hb-practitioner-pdp .meet-image-wrap {
            border-radius: 21px;
      }

      #hb-practitioner-pdp .practitioner-quote {
            margin-top: 20px;
      }

      #hb-practitioner-pdp .practitioner-quote blockquote {
            font-size: 22px;
      }

      #hb-practitioner-pdp .meet-hook {
            font-size: 21px;
      }

      #hb-practitioner-pdp .meet-body p {
            font-size: 16px;
            line-height: 1.76;
      }

      #hb-practitioner-pdp .credential-logo {
            min-width: calc(50% - 6px);
      }

      #hb-practitioner-pdp .steps {
            margin-top: 25px;
      }

      #hb-practitioner-pdp .step {
            padding: 28px 0;
      }

      #hb-practitioner-pdp .step-number {
            font-size: 50px;
      }

      #hb-practitioner-pdp .step h3 {
            font-size: 25px;
      }

      #hb-practitioner-pdp .locations-grid.layout-single .location-item,
      #hb-practitioner-pdp .locations-grid.layout-even .location-item,
      #hb-practitioner-pdp .locations-grid.layout-triple .location-item {
            border-radius: 21px;
      }

      #hb-practitioner-pdp .locations-grid.layout-single .location-map,
      #hb-practitioner-pdp .locations-grid.layout-even .location-map,
      #hb-practitioner-pdp .locations-grid.layout-triple .location-map {
            height: 230px;
            min-height: 230px;
      }

      #hb-practitioner-pdp .locations-grid.layout-single .location-info,
      #hb-practitioner-pdp .locations-grid.layout-even .location-info,
      #hb-practitioner-pdp .locations-grid.layout-triple .location-info {
            padding: 21px 19px 24px;
      }

      #hb-practitioner-pdp .locations-grid.layout-single .location-title,
      #hb-practitioner-pdp .locations-grid.layout-even .location-title,
      #hb-practitioner-pdp .locations-grid.layout-triple .location-title {
            font-size: 26px;
      }

      #hb-practitioner-pdp .faq-list summary {
            padding: 21px 0;
            font-size: 21px;
      }

      #hb-practitioner-pdp .related-grid {
            gap: 11px;
      }

      #hb-practitioner-pdp .related-meta {
            left: 13px;
            right: 13px;
            bottom: 13px;
      }

      #hb-practitioner-pdp .related-meta h3 {
            font-size: 16px;
      }

      #hb-practitioner-pdp .related-meta p {
            font-size: 12px;
      }

      #hb-practitioner-pdp .footer-inner {
            flex-direction: column;
            align-items: flex-start;
      }
}

@media (max-width: 420px) {
      #hb-practitioner-pdp .hero-title {
            font-size: 34px;
      }

      #hb-practitioner-pdp .hero-proof-grid {
            grid-template-columns: 1fr 1fr;
      }

      #hb-practitioner-pdp .section-title {
            font-size: 33px;
      }

      #hb-practitioner-pdp .focus-card h3 {
            font-size: 24px;
      }

      #hb-practitioner-pdp .booking-side-panel h2,
      #hb-practitioner-pdp .booking-fallback h2 {
            font-size: 34px;
      }
}

/* ======================================================
       Final finishing pass — proof, review, variant previews
    ====================================================== */

#hb-practitioner-pdp {
      font-synthesis: none;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
}

#hb-practitioner-pdp .hero-copy,
#hb-practitioner-pdp .reviews-head-copy,
#hb-practitioner-pdp .meet-copy {
      min-width: 0;
}

/* Google-led proof system */

#hb-practitioner-pdp .hero-proof-grid {
      grid-template-columns: minmax(250px, 1.45fr) repeat(2, minmax(150px, .78fr));
      gap: 14px;
      align-items: stretch;
}

#hb-practitioner-pdp .hero-proof {
      min-height: auto;
      padding: 19px 18px;
      display: flex;
      flex-direction: column;
      justify-content: center;
}

#hb-practitioner-pdp .hero-proof--google {
      background: rgba(255, 255, 255, .90);
      border-color: rgba(104, 117, 97, .12);
}

#hb-practitioner-pdp .google-proof-topline,
#hb-practitioner-pdp .rating-summary-brand {
      display: flex;
      align-items: center;
      gap: 9px;
}

#hb-practitioner-pdp .google-mark,
#hb-practitioner-pdp .rating-summary-brand .iconify {
      flex: 0 0 auto;
      font-size: 20px;
}

#hb-practitioner-pdp .google-proof-label,
#hb-practitioner-pdp .rating-summary-brand span {
      color: rgba(61, 61, 60, .64);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .55px;
      text-transform: uppercase;
}

#hb-practitioner-pdp .google-proof-rating-row,
#hb-practitioner-pdp .rating-summary-score-row {
      display: flex;
      align-items: center;
      gap: 13px;
      margin-top: 8px;
}

#hb-practitioner-pdp .hero-proof--google strong {
      font-family: var(--primary-font);
      font-size: 22px;
      font-weight: 600;
      color: var(--secondary);
}

#hb-practitioner-pdp .star-row,
#hb-practitioner-pdp .review-stars {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      color: var(--star-gold);
      font-family: Arial, sans-serif;
      line-height: 1;
      letter-spacing: 0;
      text-shadow: 0 1px 0 rgba(0, 0, 0, .025);
}

#hb-practitioner-pdp .star-row {
      font-size: 19px;
}

#hb-practitioner-pdp .star-row--large {
      font-size: 21px;
}

#hb-practitioner-pdp .google-proof-reviews {
      color: #3d3d3d;
      font-size: 13px !important;
      font-weight: 500 !important;
      line-height: 1.3 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
      margin-top: 0 !important;
}

#hb-practitioner-pdp .hero-proof--metric strong {
      font-family: var(--primary-font);
      font-size: 34px;
      font-weight: 600;
}

#hb-practitioner-pdp .hero-proof--metric span {
      margin-top: 8px;
}

/* Review finishing */

#hb-practitioner-pdp .reviews-head {
      align-items: center;
}

#hb-practitioner-pdp .reviews-intro {
      max-width: 700px;
      margin-top: 16px;
      font-size: 17px;
      line-height: 1.72;
}

#hb-practitioner-pdp .rating-summary--google {
      min-width: 292px;
      padding: 22px 24px;
      background: rgba(255, 255, 255, .92);
      border-color: rgba(104, 117, 97, .12);
      text-align: left;
      box-shadow: 0 18px 45px rgba(28, 86, 42, .045);
}

#hb-practitioner-pdp .rating-summary-score-row strong {
      font-size: 48px;
      color: var(--secondary);
      font-weight: 600;
}

#hb-practitioner-pdp .rating-summary-count {
      margin-top: 8px !important;
      color: rgba(61, 61, 60, .60) !important;
      font-size: 14px !important;
      font-weight: 500 !important;
}

#hb-practitioner-pdp .review-card {
      display: flex;
      flex-direction: column;
      min-height: 320px;
}

#hb-practitioner-pdp .review-card-topline {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      min-height: 26px;
}

#hb-practitioner-pdp .review-source {
      color: var(--primary);
      letter-spacing: .65px;
}

#hb-practitioner-pdp .review-source--google {
      color: rgba(61, 61, 60, .70);
}

#hb-practitioner-pdp .review-source .iconify {
      flex: 0 0 auto;
      font-size: 18px;
}

#hb-practitioner-pdp .review-stars {
      flex: 0 0 auto;
      margin-top: 0;
      font-size: 17px;
}

#hb-practitioner-pdp .review-card p {
      flex: 1 1 auto;
}

#hb-practitioner-pdp .review-author {
      padding-top: 2px;
}

/* Visible layout previews */

#hb-practitioner-pdp .booking-layouts-head {
      margin-bottom: 40px;
}

#hb-practitioner-pdp .booking-layout-preview,
#hb-practitioner-pdp .location-layout-preview {
      position: relative;
}

#hb-practitioner-pdp .booking-layout-preview+.booking-layout-preview {
      margin-top: 78px;
      padding-top: 78px;
      border-top: 1px solid rgba(104, 117, 97, .12);
}

#hb-practitioner-pdp .layout-preview-label {
      display: inline-flex;
      align-items: center;
      min-height: 34px;
      margin-bottom: 20px;
      padding: 8px 12px;
      border: 1px solid rgba(104, 117, 97, .12);
      border-radius: 999px;
      background: var(--bg-soft);
      color: var(--primary);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .65px;
      text-transform: uppercase;
}

#hb-practitioner-pdp .booking-fallback {
      grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
}

/* Location preview finishing */

#hb-practitioner-pdp .location-showcase {
      background: linear-gradient(180deg, #fff 0%, rgba(252, 241, 238, .55) 100%);
}

#hb-practitioner-pdp .location-layout-preview .locations-grid {
      width: 100%;
}

#hb-practitioner-pdp .locations-grid.layout-single {
      max-width: 1080px;
}

#hb-practitioner-pdp .locations-grid.layout-single .location-item {
      overflow: hidden;
      box-shadow: 0 28px 84px rgba(28, 86, 42, .08);
}

#hb-practitioner-pdp .locations-grid.layout-even .location-item,
#hb-practitioner-pdp .locations-grid.layout-triple .location-item {
      transition: transform .25s ease, box-shadow .25s ease;
}

#hb-practitioner-pdp .locations-grid.layout-even .location-item:hover,
#hb-practitioner-pdp .locations-grid.layout-triple .location-item:hover {
      transform: translateY(-3px);
      box-shadow: 0 28px 78px rgba(28, 86, 42, .085);
}

#hb-practitioner-pdp .location-item--virtual {
      background: linear-gradient(135deg, rgba(252, 241, 238, .82), rgba(255, 255, 255, .98));
}

#hb-practitioner-pdp .location-map--virtual {
      display: grid;
      place-items: center;
      background:
            radial-gradient(circle at 20% 20%, rgba(224, 122, 95, .12), transparent 28%),
            linear-gradient(135deg, #f7efec, #eef2ec);
}

#hb-practitioner-pdp .virtual-location-visual {
      min-height: 230px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 28px;
      text-align: center;
}

#hb-practitioner-pdp .virtual-location-visual .iconify {
      font-size: 50px;
      color: var(--accent);
}

#hb-practitioner-pdp .virtual-location-visual strong {
      margin-top: 13px;
      color: var(--primary);
      font-family: var(--primary-font);
      font-size: 27px;
      font-weight: 500;
}

#hb-practitioner-pdp .virtual-location-visual span {
      margin-top: 5px;
      color: rgba(61, 61, 60, .60);
      font-size: 14px;
}

/* Responsive finishing */

@media (max-width: 1199.98px) {
      #hb-practitioner-pdp .hero-proof-grid {
            grid-template-columns: 1.35fr repeat(2, minmax(140px, .8fr));
      }

      #hb-practitioner-pdp .review-card-topline {
            align-items: flex-start;
            flex-direction: column;
            gap: 10px;
      }
}

@media (max-width: 991.98px) {
      #hb-practitioner-pdp .hero-proof-grid {
            grid-template-columns: 1.35fr 1fr 1fr;
      }

      #hb-practitioner-pdp .booking-layout-preview+.booking-layout-preview,
      #hb-practitioner-pdp .location-layout-preview+.location-layout-preview {
            margin-top: 58px;
            padding-top: 58px;
      }

      #hb-practitioner-pdp .locations-grid.layout-single .location-item {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp .locations-grid.layout-single .location-map {
            min-height: 320px;
      }

      #hb-practitioner-pdp .locations-grid.layout-even,
      #hb-practitioner-pdp .locations-grid.layout-triple {
            grid-template-columns: 1fr;
            max-width: 720px;
      }

      #hb-practitioner-pdp .locations-grid.layout-even .location-map,
      #hb-practitioner-pdp .locations-grid.layout-triple .location-map {
            height: 300px;
      }

      #hb-practitioner-pdp .virtual-location-visual {
            min-height: 300px;
      }
}

@media (max-width: 767.98px) {
      #hb-practitioner-pdp .hero-proof-grid {
            grid-template-columns: 1fr 1fr;
      }

      #hb-practitioner-pdp .hero-proof--google {
            grid-column: 1 / -1;
      }

      #hb-practitioner-pdp .hero-proof {
            min-height: 108px;
            border-radius: 17px;
      }

      #hb-practitioner-pdp .google-proof-rating-row {
            justify-content: flex-start;
      }

      #hb-practitioner-pdp .rating-summary--google {
            width: 100%;
            min-width: 0;
      }

      #hb-practitioner-pdp .review-card-topline {
            flex-direction: row;
            align-items: center;
      }

      #hb-practitioner-pdp .review-source {
            max-width: 70%;
      }

      #hb-practitioner-pdp .layout-preview-label {
            white-space: normal;
            line-height: 1.35;
      }

      #hb-practitioner-pdp .booking-layout-preview+.booking-layout-preview,
      #hb-practitioner-pdp .location-layout-preview+.location-layout-preview {
            margin-top: 46px;
            padding-top: 46px;
      }

      #hb-practitioner-pdp .booking-fallback {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp .locations-grid.layout-single .location-map,
      #hb-practitioner-pdp .locations-grid.layout-even .location-map,
      #hb-practitioner-pdp .locations-grid.layout-triple .location-map {
            height: 230px;
            min-height: 230px;
      }

      #hb-practitioner-pdp .virtual-location-visual {
            min-height: 230px;
      }
}

@media (max-width: 479.98px) {
      #hb-practitioner-pdp .hero-proof-grid {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp .hero-proof--google {
            grid-column: auto;
      }

      #hb-practitioner-pdp .google-proof-rating-row,
      #hb-practitioner-pdp .rating-summary-score-row {
            flex-wrap: wrap;
      }

      #hb-practitioner-pdp .review-card-topline {
            align-items: flex-start;
            flex-direction: column;
      }

      #hb-practitioner-pdp .review-source {
            max-width: 100%;
      }
}

/* ======================================================
       Final refinement — simplified hero, trust tooltips,
       booking social proof and live-site FAQ structure
    ====================================================== */

#hb-practitioner-pdp .hero-proof-grid--simplified {
      grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(155px, .825fr));
      max-width: 820px;
      gap: 14px;
}

#hb-practitioner-pdp .hero-proof-grid--simplified .hero-proof {
      min-height: 112px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      border: solid 1px #e079604d;
}

#hb-practitioner-pdp .hero-proof--patients,
#hb-practitioner-pdp .hero-proof--visits {
      background:
            radial-gradient(circle at 100% 0%, rgba(224, 122, 95, .09), transparent 42%),
            rgba(255, 255, 255, .76);
}

#hb-practitioner-pdp .hero-proof--visits {
      background:
            radial-gradient(circle at 100% 0%, rgba(104, 117, 97, .10), transparent 42%),
            rgba(255, 255, 255, .76);
}

#hb-practitioner-pdp .hero-trust-row {
      display: none;
}

#hb-practitioner-pdp .hero-trust-icons {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 19px;
}

#hb-practitioner-pdp .trust-icon-button {
      position: relative;
      width: 42px;
      height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      border: 1px solid rgba(104, 117, 97, .13);
      border-radius: 50%;
      background: rgba(255, 255, 255, .74);
      color: var(--accent);
      box-shadow: 0 9px 24px rgba(28, 86, 42, .035);
      cursor: pointer;
      transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

#hb-practitioner-pdp .trust-icon-button .iconify {
      font-size: 19px;
}

#hb-practitioner-pdp .trust-icon-button:hover,
#hb-practitioner-pdp .trust-icon-button:focus-visible,
#hb-practitioner-pdp .trust-icon-button.is-open {
      transform: translateY(-2px);
      border-color: rgba(224, 122, 95, .30);
      background: #fff;
      outline: none;
}

#hb-practitioner-pdp .trust-icon-button::after {
      content: attr(data-tooltip);
      position: absolute;
      left: 50%;
      bottom: calc(100% + 12px);
      z-index: 20;
      width: max-content;
      max-width: 230px;
      padding: 8px 11px;
      border-radius: 8px;
      background: var(--secondary);
      color: #fff;
      font-size: 12.5px;
      font-weight: 600;
      line-height: 1.3;
      white-space: nowrap;
      box-shadow: 0 12px 30px rgba(0, 0, 0, .13);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translate(-50%, 6px);
      transition: .2s ease;
}

#hb-practitioner-pdp .trust-icon-button::before {
      content: "";
      position: absolute;
      left: 50%;
      bottom: calc(100% + 7px);
      z-index: 21;
      width: 9px;
      height: 9px;
      background: var(--secondary);
      opacity: 0;
      visibility: hidden;
      transform: translateX(-50%) rotate(45deg);
      transition: .2s ease;
}

#hb-practitioner-pdp .trust-icon-button:hover::after,
#hb-practitioner-pdp .trust-icon-button:hover::before,
#hb-practitioner-pdp .trust-icon-button:focus-visible::after,
#hb-practitioner-pdp .trust-icon-button:focus-visible::before,
#hb-practitioner-pdp .trust-icon-button.is-open::after,
#hb-practitioner-pdp .trust-icon-button.is-open::before {
      opacity: 1;
      visibility: visible;
}

#hb-practitioner-pdp .trust-icon-button:hover::after,
#hb-practitioner-pdp .trust-icon-button:focus-visible::after,
#hb-practitioner-pdp .trust-icon-button.is-open::after {
      transform: translate(-50%, 0);
}

/* Booking proof: one meaningful proof block, not repeated checklist cards */

#hb-practitioner-pdp .booking-reassurance,
#hb-practitioner-pdp .booking-proof-item {
      display: none !important;
}

#hb-practitioner-pdp .booking-social-proof {
      position: relative;
      z-index: 2;
      border: 1px solid rgba(255, 255, 255, .16);
      background: rgba(255, 255, 255, .075);
      color: #fff;
      backdrop-filter: blur(7px);
}

#hb-practitioner-pdp .booking-social-proof--compact {
      margin-top: auto;
      padding: 22px;
      border-radius: 18px;
}

#hb-practitioner-pdp .booking-social-proof--feature {
      min-height: 300px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 34px;
      border-radius: 24px;
}

#hb-practitioner-pdp .booking-social-proof-topline {
      display: flex;
      align-items: center;
      gap: 9px;
      color: rgba(255, 255, 255, .78);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .9px;
      text-transform: uppercase;
}

#hb-practitioner-pdp .booking-social-proof-topline .iconify {
      flex: 0 0 auto;
      width: 20px;
      height: 20px;
}

#hb-practitioner-pdp .booking-social-proof-rating {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 15px;
}

#hb-practitioner-pdp .booking-social-proof-rating strong {
      color: #fff;
      font-family: var(--primary-font);
      font-size: 36px;
      font-weight: 600;
      line-height: 1;
}

#hb-practitioner-pdp .booking-social-proof .star-row {
      font-size: 19px;
}

#hb-practitioner-pdp .booking-review-quote {
      max-width: 520px !important;
      margin-top: 22px !important;
      color: rgba(255, 255, 255, .94) !important;
      font-family: var(--primary-font);
      font-size: 24px !important;
      font-weight: 500;
      line-height: 1.45 !important;
}

#hb-practitioner-pdp .booking-social-proof--compact .booking-review-quote {
      font-size: 20px !important;
}

#hb-practitioner-pdp .booking-review-source {
      display: block;
      margin-top: 15px;
      color: rgba(255, 255, 255, .60);
      font-size: 13px;
      font-weight: 600;
}

/* Live-site FAQ class structure */

#hb-practitioner-pdp .section-faqs {
      position: relative;
      z-index: 1;
      background: linear-gradient(180deg, #fff 0%, rgba(252, 241, 238, .48) 100%);
}

#hb-practitioner-pdp .faq-layout-row {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      margin-inline: -15px;
}

#hb-practitioner-pdp .faq-copy-col,
#hb-practitioner-pdp .faq-image-col {
      position: relative;
      width: 100%;
      padding-inline: 15px;
}

#hb-practitioner-pdp .faq-copy-col {
      flex: 0 0 66.666667%;
      max-width: 66.666667%;
      padding-right: 48px;
}

#hb-practitioner-pdp .faq-image-col {
      flex: 0 0 33.333333%;
      max-width: 33.333333%;
      padding-left: 48px;
}

#hb-practitioner-pdp .section-faqs .section-title {
      margin-top: 8px;
      margin-bottom: 22px;
      text-align: left;
}

#hb-practitioner-pdp .section-faqs .eyebrow {
      margin-bottom: 4px;
}

#hb-practitioner-pdp .faq-accordion .card {
      border: 0;
      border-bottom: 1px solid rgba(104, 117, 97, .14);
      border-radius: 0;
      background: transparent;
}

#hb-practitioner-pdp .faq-accordion .card:last-child {
      border-bottom: 0;
}

#hb-practitioner-pdp .faq-accordion .card-header {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
}

#hb-practitioner-pdp .faq-accordion .card-header h3 {
      margin: 0;
}

#hb-practitioner-pdp .faq-accordion .card-header button {
      position: relative;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      padding: 22px 0;
      border: 0;
      background: transparent;
      color: var(--accent);
      font-family: var(--primary-font);
      font-size: 26px;
      font-weight: 500;
      line-height: 1.3;
      text-align: left;
      cursor: pointer;
}

#hb-practitioner-pdp .faq-accordion .card-header button.collapsed {
      color: var(--primary);
}

#hb-practitioner-pdp .faq-accordion .card-header button .iconify {
      flex: 0 0 auto;
      width: 32px;
      height: 32px;
      padding: 5px;
      border: 1px solid currentColor;
      border-radius: 50%;
      transform: rotate(0deg);
      transition: transform .28s ease, color .28s ease;
}

#hb-practitioner-pdp .faq-accordion .card-header button.collapsed .iconify {
      transform: rotate(45deg);
}

#hb-practitioner-pdp .faq-accordion .card-body {
      padding: 0 56px 24px 0;
      color: var(--text-muted);
      font-size: 17px;
      line-height: 1.75;
}

#hb-practitioner-pdp .faq-accordion .card-body p {
      max-width: 760px;
}

#hb-practitioner-pdp .collapse {
      display: none;
}

#hb-practitioner-pdp .collapse.show {
      display: block;
}

#hb-practitioner-pdp .image-faq {
      position: sticky;
      top: 116px;
      overflow: hidden;
      border-radius: 15px;
      background: var(--bg);
      box-shadow: 0 20px 58px rgba(28, 86, 42, .07);
}

#hb-practitioner-pdp .image-faq img {
      width: 100%;
      min-height: 500px;
      height: 100%;
      object-fit: cover;
}

@media (max-width: 1199.98px) {
      #hb-practitioner-pdp .hero-proof-grid--simplified {
            grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(145px, 1fr));
            max-width: 740px;
      }

      #hb-practitioner-pdp .faq-copy-col {
            padding-right: 28px;
      }

      #hb-practitioner-pdp .faq-image-col {
            padding-left: 28px;
      }
}

@media (max-width: 991.98px) {
      #hb-practitioner-pdp .hero-proof-grid--simplified {
            grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(140px, 1fr));
            max-width: 760px;
      }

      #hb-practitioner-pdp .booking-social-proof--feature {
            min-height: auto;
      }

      #hb-practitioner-pdp .faq-layout-row {
            flex-direction: column-reverse;
      }

      #hb-practitioner-pdp .faq-copy-col,
      #hb-practitioner-pdp .faq-image-col {
            flex: 0 0 100%;
            max-width: 100%;
            padding-inline: 15px;
      }

      #hb-practitioner-pdp .faq-image-col {
            margin-bottom: 34px;
      }

      #hb-practitioner-pdp .image-faq {
            position: static;
            max-width: 620px;
      }

      #hb-practitioner-pdp .image-faq img {
            min-height: 320px;
            max-height: 440px;
      }
}

@media (max-width: 767.98px) {
      #hb-practitioner-pdp .hero-proof-grid--simplified {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
      }

      #hb-practitioner-pdp .hero-proof-grid--simplified .hero-proof--google {
            grid-column: 1 / -1;
      }

      #hb-practitioner-pdp .hero-proof-grid--simplified .hero-proof {
            min-height: 104px;
      }

      #hb-practitioner-pdp .hero-trust-icons {
            margin-top: 16px;
      }

      #hb-practitioner-pdp .trust-icon-button {
            width: 40px;
            height: 40px;
      }

      #hb-practitioner-pdp .trust-icon-button::after {
            white-space: normal;
            min-width: 150px;
            text-align: center;
      }

      #hb-practitioner-pdp .booking-social-proof--compact,
      #hb-practitioner-pdp .booking-social-proof--feature {
            padding: 22px 20px;
            border-radius: 18px;
      }

      #hb-practitioner-pdp .booking-review-quote,
      #hb-practitioner-pdp .booking-social-proof--compact .booking-review-quote {
            font-size: 20px !important;
      }

      #hb-practitioner-pdp .faq-accordion .card-header button {
            padding: 19px 0;
            font-size: 22px;
      }

      #hb-practitioner-pdp .faq-accordion .card-header button .iconify {
            width: 29px;
            height: 29px;
      }

      #hb-practitioner-pdp .faq-accordion .card-body {
            padding: 0 42px 20px 0;
            font-size: 16px;
      }

      #hb-practitioner-pdp .image-faq img {
            min-height: 260px;
            max-height: 340px;
      }
}

@media (max-width: 520px) {
      #hb-practitioner-pdp .hero-proof-grid--simplified {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp .hero-proof-grid--simplified .hero-proof--google {
            grid-column: auto;
      }

      #hb-practitioner-pdp .hero-proof-grid--simplified .hero-proof {
            min-height: auto;
      }

      #hb-practitioner-pdp .hero-proof--patients,
      #hb-practitioner-pdp .hero-proof--visits {
            max-width: none;
      }
}

#hb-practitioner-pdp .hero-languages {
      display: flex;
      align-items: center;
      gap: 9px;
      margin-top: 22px;
      color: var(--text-muted);
      font-size: 15px;
      font-weight: 500;
}

#hb-practitioner-pdp .hero-languages .iconify {
      color: var(--accent);
      font-size: 20px;
}

#hb-practitioner-pdp .hero-languages strong {
      color: var(--secondary);
      font-weight: 600;
}

#hb-practitioner-pdp .hero-proof.hero-proof--google {
      display: grid;
      grid-template-columns: 30px auto;
}

#hb-practitioner-pdp .google-proof-rating-row {
      display: block;
}

#hb-practitioner-pdp .hero-proof .star-row span {
      font-size: 12px;
}

#hb-practitioner-pdp .inner-google {
      display: grid;
      grid-template-columns: auto auto;
}

#hb-practitioner-pdp .hero-actions .btn-theme {
      font-size: 18px;
}

#hb-practitioner-pdp .hero-reassurance {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 18px;
      justify-content: center;
      padding-bottom: 25px;
}

#hb-practitioner-pdp .hero-reassurance-item {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      text-transform: capitalize;
      font-weight: 600;

      & svg {
            color: #df7a60;
      }
}

#hb-practitioner-pdp .credentials-label {
      text-align: center;
}

#hb-practitioner-pdp .credential-logos {
      justify-content: center;
}

#hb-practitioner-pdp .text-center {
      text-align: center;
}

#hb-practitioner-pdp .hero-proof.hero-proof--google {
      padding: 3px 15px 5px;
      border-radius: 6px;
}

#hb-practitioner-pdp #practitioner-modalities {
      background: #788572;
      color: #fff;
}

#hb-practitioner-pdp #practitioner-modalities .modalities-heading {
      max-width: 860px;
      margin: 0 auto 52px;
      text-align: center;
}

#hb-practitioner-pdp #practitioner-modalities .eyebrow {
      color: rgba(255, 255, 255, 0.72);
}

#hb-practitioner-pdp #practitioner-modalities .eyebrow::before {
      background: var(--accent);
}

#hb-practitioner-pdp #practitioner-modalities .modalities-heading h2 {
      margin-top: 16px;
      color: #fff;
      font-family: var(--primary-font);
      font-size: 52px;
      font-weight: 500;
      line-height: 1.12;
}

#hb-practitioner-pdp #practitioner-modalities .modalities-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      max-width: 1120px;
      margin: 0 auto;
}

#hb-practitioner-pdp #practitioner-modalities .modality-item {
      min-height: 250px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 34px 24px;
      text-align: center;
      border-right: 1px solid rgba(255, 255, 255, 0.18);
      border-bottom: 1px solid rgba(255, 255, 255, 0.18);
      transition: background 0.3s ease;
}

/* Remove right border for last column */

#hb-practitioner-pdp #practitioner-modalities .modality-item:nth-child(3n) {
      border-right: 0;
}

/* Remove bottom border for last row */

#hb-practitioner-pdp #practitioner-modalities .modality-item:nth-last-child(-n + 3) {
      border-bottom: 0;
}

#hb-practitioner-pdp #practitioner-modalities .modality-item:hover {
      background: rgba(255, 255, 255, 0.04);
}

#hb-practitioner-pdp #practitioner-modalities .modality-icon {
      width: 86px;
      height: 86px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 22px;
}

#hb-practitioner-pdp #practitioner-modalities .modality-icon img {
      max-width: 68px;
      max-height: 68px;
      object-fit: contain;
      filter: brightness(0) invert(1);
      opacity: 0.95;
      transition: transform 0.3s ease, opacity 0.3s ease;
}

#hb-practitioner-pdp #practitioner-modalities .modality-item:hover .modality-icon img {
      transform: scale(1.06);
      opacity: 1;
}

#hb-practitioner-pdp #practitioner-modalities .modality-item h3 {
      max-width: 290px;
      margin: 0;
      color: #fff;
      font-family: var(--secondary-font);
      font-size: 22px;
      font-weight: 500;
      line-height: 1.45;
}

/* Tablet */

@media (max-width: 991.98px) {
      #hb-practitioner-pdp #practitioner-modalities .modalities-heading h2 {
            font-size: 42px;
      }

      #hb-practitioner-pdp #practitioner-modalities .modalities-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      #hb-practitioner-pdp #practitioner-modalities .modality-item {
            border-right: 1px solid rgba(255, 255, 255, 0.18);
            border-bottom: 1px solid rgba(255, 255, 255, 0.18);
      }

      #hb-practitioner-pdp #practitioner-modalities .modality-item:nth-child(3n) {
            border-right: 1px solid rgba(255, 255, 255, 0.18);
      }

      #hb-practitioner-pdp #practitioner-modalities .modality-item:nth-child(2n) {
            border-right: 0;
      }

      #hb-practitioner-pdp #practitioner-modalities .modality-item:nth-last-child(-n + 3) {
            border-bottom: 1px solid rgba(255, 255, 255, 0.18);
      }

      #hb-practitioner-pdp #practitioner-modalities .modality-item:nth-last-child(-n + 2) {
            border-bottom: 0;
      }
}

/* Mobile */

@media (max-width: 767.98px) {
      #hb-practitioner-pdp #practitioner-modalities .modalities-heading {
            margin-bottom: 34px;
            text-align: left;
      }

      #hb-practitioner-pdp #practitioner-modalities .modalities-heading h2 {
            font-size: 34px;
            line-height: 1.15;
      }

      #hb-practitioner-pdp #practitioner-modalities .modalities-grid {
            grid-template-columns: 1fr;
      }

      #hb-practitioner-pdp #practitioner-modalities .modality-item {
            min-height: 160px;
            padding: 24px 20px;
            border-right: 0 !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
      }

      #hb-practitioner-pdp #practitioner-modalities .modality-item:last-child {
            border-bottom: 0 !important;
      }

      #hb-practitioner-pdp #practitioner-modalities .modality-icon {
            width: 72px;
            height: 72px;
            margin-bottom: 16px;
      }

      #hb-practitioner-pdp #practitioner-modalities .modality-icon img {
            max-width: 56px;
            max-height: 56px;
      }

      #hb-practitioner-pdp #practitioner-modalities .modality-item h3 {
            font-size: 16px;
      }
}

/* Production integration overrides */
#hb-practitioner-pdp {
      margin: 0;
      padding: 0;
      width: 100%;
      overflow: clip;
      background: #fff;
      color: var(--secondary);
      font-family: var(--secondary-font);
      font-size: 18px;
      line-height: 1.65;
}

#hb-practitioner-pdp .site-header,
#hb-practitioner-pdp .site-footer {
      display: none !important;
}

#hb-practitioner-pdp .hero-reassurance-item svg {
      color: #df7a60;
}

#hb-practitioner-pdp .page-menu-links {
      overflow-x: auto;
      scrollbar-width: none;
}

#hb-practitioner-pdp .page-menu-links::-webkit-scrollbar {
      display: none;
}

#hb-practitioner-pdp .sticky-menu-links {
      overflow-x: auto;
      scrollbar-width: none;
}

#hb-practitioner-pdp .sticky-menu-links::-webkit-scrollbar {
      display: none;
}

#hb-practitioner-pdp .credential-logo {
      height: auto;
      padding: 14px 14px;
      line-height: 1.2;
}

#hb-practitioner-pdp .credential-logo strong {
      display: block;
      color: var(--primary);
      font-size: 21px;
}

#hb-practitioner-pdp .credential-logo small {
      display: block;
      margin-top: 4px;
      color: var(--text-muted);
      font-size: 11px;
      font-family: var(--secondary-font);
      font-weight: 500;
}

#hb-practitioner-pdp .location-map--virtual {
      display: flex;
      align-items: stretch;
      justify-content: stretch;
}

#hb-practitioner-pdp .virtual-location-visual {
      width: 100%;
}

#hb-practitioner-pdp .review-card p {
      white-space: normal;
}

#hb-practitioner-pdp .video-container {
      position: relative;
      aspect-ratio: 16/9;
      overflow: hidden;
      border-radius: 20px;
      background: #111;
}

#hb-practitioner-pdp .video-container iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
}

#hb-practitioner-pdp .video-title {
      margin-top: 12px;
      color: var(--primary);
      font-size: 17px;
      font-weight: 600;
}

#hb-practitioner-pdp .hb-pdp-empty-note {
      text-align: center;
      color: var(--text-muted);
}

#hb-practitioner-pdp .booking-layout-preview[hidden],
#hb-practitioner-pdp section[hidden] {
      display: none !important;
}

#hb-practitioner-pdp .booking-frame-card iframe {
      min-height: 585px;
}

#hb-practitioner-pdp .focus-card-link {
      display: flex;
      flex-direction: column;
      height: 100%;
}

#hb-practitioner-pdp .focus-card-link:hover h3 {
      color: var(--accent);
}

#hb-practitioner-pdp .modality-item a {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      color: inherit;
}

#hb-practitioner-pdp .hb-pdp-profile-visits {
      margin-top: 14px;
      color: var(--text-muted);
      font-size: 13px;
      font-weight: 600;
}

#hb-practitioner-pdp .hb-pdp-profile-visits .iconify {
      margin-right: 5px;
      color: var(--accent);
      vertical-align: -3px;
}

#hb-practitioner-pdp .faq-accordion .card-body {
      display: none;
}

#hb-practitioner-pdp .faq-accordion .card.is-open .card-body {
      display: block;
}

#hb-practitioner-pdp .faq-accordion .card.is-open .card-header button {
      color: var(--accent);
}

#hb-practitioner-pdp .faq-accordion .card.is-open .card-header button .iconify {
      transform: rotate(0deg);
}

#hb-practitioner-pdp .faq-accordion .card:not(.is-open) .card-header button .iconify {
      transform: rotate(45deg);
}

#hb-practitioner-pdp .booking-fallback .btn-theme {
      margin-top: 30px;
      min-height: 56px;
}

#hb-practitioner-pdp .hero-positioning a {
      color: inherit;
}

@media (max-width: 767.98px) {
      #hb-practitioner-pdp {
            font-size: 16px;
      }

      #hb-practitioner-pdp .booking-frame-card iframe {
            min-height: 630px;
      }

      #hb-practitioner-pdp .credential-logo {
            min-width: calc(50% - 6px);
      }
}

/* Dynamic-count production refinements */
#hb-practitioner-pdp .video-grid--single {
      grid-template-columns: 1fr;
      max-width: 900px;
      margin-inline: auto;
}

#hb-practitioner-pdp .video-feature .video-container {
      min-height: 520px;
      height: 100%;
      aspect-ratio: auto;
}

#hb-practitioner-pdp .video-small .video-container {
      min-height: 250px;
      height: 100%;
      aspect-ratio: auto;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
      #hb-practitioner-pdp .focus-card:last-child {
            grid-column: auto;
            max-width: none;
      }

      #hb-practitioner-pdp .focus-card:last-child:nth-child(odd) {
            grid-column: 1 / -1;
            max-width: calc(50% - 12px);
            justify-self: center;
            width: 100%;
      }
}

@media (max-width: 991.98px) {

      #hb-practitioner-pdp .video-feature .video-container,
      #hb-practitioner-pdp .video-small .video-container {
            min-height: 0;
            aspect-ratio: 16 / 9;
      }
}