
.bs-skip-link{
  position:fixed;
  z-index:2147483647;
  top:12px;
  left:12px;
  padding:11px 16px;
  border-radius:12px;
  background:#1A2F3B;
  color:#fff;
  font:600 .9rem/1.2 "Inter",Arial,sans-serif;
  text-decoration:none;
  transform:translateY(-180%);
  transition:transform .18s ease;
}
.bs-skip-link:focus{transform:translateY(0)}

html[data-kinara-scheduling-mode="appointments"] [data-programmes-filter],
html[data-kinara-scheduling-mode="programmes"] .bs-professionals-block,
html[data-kinara-scheduling-mode="programmes"] [data-appointments-filter]{display:none!important}

.bs-view-switch{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:min(100%,820px);
  margin:-12px auto 0;
  padding:7px;
  border:1px solid rgba(74,124,133,.22);
  border-radius:24px;
  background:rgba(255,255,255,.66);
  box-shadow:0 18px 48px rgba(26,47,59,.08);
  backdrop-filter:blur(10px);
}
.bs-view-switch__link{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  min-height:70px;
  padding:12px 16px;
  border:1px solid transparent;
  border-radius:18px;
  color:#4A7C85;
  font-family:"Inter",Arial,sans-serif;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.bs-view-switch__link:hover{
  border-color:rgba(74,124,133,.28);
  background:rgba(255,255,255,.78);
  transform:translateY(-1px);
}
.bs-view-switch__link[aria-current="page"]{
  border-color:rgba(74,124,133,.34);
  background:#fff;
  color:#1A2F3B;
  box-shadow:0 10px 26px rgba(26,47,59,.11);
}
.bs-view-switch__icon{
  display:grid;
  flex:0 0 42px;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:14px;
  background:#D4E2E6;
  color:#1A2F3B;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.02em;
}
.bs-view-switch__link[aria-current="page"] .bs-view-switch__icon{background:#1A2F3B;color:#fff}
.bs-view-switch__link span:last-child{display:grid;gap:3px;min-width:0}
.bs-view-switch__link strong{font-family:"Montserrat",Arial,sans-serif;font-size:.96rem;font-weight:600;line-height:1.2}
.bs-view-switch__link small{color:#6F8991;font-size:.76rem;line-height:1.3}
.bs-view-summary{
  width:min(100%,760px);
  margin:15px auto 0;
  color:#6F8991;
  font:500 .88rem/1.55 "Inter",Arial,sans-serif;
  text-align:center;
}
#bsSchedulingResults{scroll-margin-top:24px}

.bs-professional-card--profile[data-view-professional]{cursor:pointer}
.bs-professional-card--profile[data-view-professional]:focus-visible,
.bs-view-switch__link:focus-visible,
.bs-primary-btn:focus-visible,
.bs-secondary-btn:focus-visible,
.bs-know-more:focus-visible,
.bs-filter-panel select:focus-visible{
  outline:3px solid rgba(74,124,133,.48)!important;
  outline-offset:3px!important;
}
.bs-professional-card--profile[data-view-professional]:focus-visible{
  border-color:#4A7C85!important;
  box-shadow:0 0 0 5px rgba(74,124,133,.14),0 24px 58px rgba(26,47,59,.15)!important;
}
.bs-image-view-btn{pointer-events:none;white-space:nowrap}
.bs-provider-card.is-deep-linked{
  border-color:#4A7C85!important;
  box-shadow:0 0 0 6px rgba(74,124,133,.16),0 24px 58px rgba(26,47,59,.15)!important;
  animation:kinaraDeepLinkPulse 1.2s ease 1;
}
@keyframes kinaraDeepLinkPulse{
  0%,100%{transform:translateY(0)}
  45%{transform:translateY(-4px)}
}

html[data-kinara-scheduling-mode]{max-width:100%;overflow-x:clip}
html[data-kinara-scheduling-mode] body{max-width:100%;overflow-x:clip}
.bs-carousel-dots{min-height:30px!important;gap:2px!important}
.bs-carousel-dots button{
  position:relative;
  width:28px!important;
  height:28px!important;
  min-height:28px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.bs-carousel-dots button::before{
  content:"";
  position:absolute;
  inset:50% auto auto 50%;
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(74,124,133,.30);
  transform:translate(-50%,-50%);
}
.bs-carousel-dots button.active{transform:none!important}
.bs-carousel-dots button.active::before{background:#1A2F3B;transform:translate(-50%,-50%) scale(1.3)}
.bs-carousel-dots button:focus-visible{outline:2px solid #4A7C85;outline-offset:-3px}
.bs-payment-progress__panel p{
  display:block!important;
  margin:4px 0 0;
  color:#6F8991;
  font:500 .88rem/1.5 "Inter",Arial,sans-serif;
  text-align:center;
}

html[data-kinara-scheduling-mode="appointments"] .bs-filter-panel{max-width:820px!important}
html[data-kinara-scheduling-mode="programmes"] .bs-filter-panel{max-width:820px!important}
html[data-kinara-scheduling-mode="programmes"] .bs-offer-filter{margin-top:5px}

@media(max-width:640px){
  .bs-view-switch{grid-template-columns:1fr;width:100%;border-radius:21px}
  .bs-view-switch__link{min-height:62px;padding:10px 13px;border-radius:15px}
  .bs-view-switch__icon{flex-basis:38px;width:38px;height:38px;border-radius:12px}
  .bs-view-summary{padding:0 8px}
}
@media(prefers-reduced-motion:reduce){
  .bs-skip-link,.bs-view-switch__link{transition:none}
  .bs-view-switch__link:hover{transform:none}
  .bs-provider-card.is-deep-linked{animation:none}
}
@supports not (overflow:clip){
  html[data-kinara-scheduling-mode],html[data-kinara-scheduling-mode] body{overflow-x:hidden}
}

    /* v5.8.7 — compact circular professional cards, callback form and booking footer */
    .bs-professional-grid-static{align-items:stretch}
    .bs-professional-card--rich{position:relative!important;display:flex!important;flex-direction:column;align-items:center;min-height:0!important;margin-top:50px;padding:54px 14px 14px!important;overflow:visible!important;border-radius:18px!important;background:var(--surface);box-shadow:0 12px 34px rgba(48,69,63,.08)}
    .bs-professional-card--rich .bs-provider-media{position:absolute!important;top:-48px;left:50%;transform:translateX(-50%);width:100px!important;height:100px!important;min-height:100px!important;aspect-ratio:1!important;border:6px solid var(--surface);border-radius:50%!important;overflow:hidden!important;background:#E8D5B5;box-shadow:0 10px 28px rgba(48,69,63,.16);z-index:2}
    .bs-professional-card--rich .bs-provider-photo,.bs-professional-card--rich .bs-provider-initials{width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:1!important;border-radius:50%!important;object-fit:cover!important;object-position:center 24%!important;font-size:1.75rem!important}
    .bs-professional-card--rich .bs-provider-media__overlay{border-radius:50%;background:rgba(36,59,53,.28)}
    .bs-professional-card--rich .bs-image-view-btn{font-size:.7rem;padding:6px 9px;min-height:0}
    .bs-professional-card--rich .bs-professional-content{width:100%;padding:0!important;text-align:center;gap:6px!important}
    .bs-professional-card--rich .bs-professional-content h3{text-align:center;font-size:1.2rem}
    .bs-professional-card--rich .bs-professional-title,.bs-professional-card--rich .bs-professional-specialities,.bs-professional-card--rich .bs-professional-experience{text-align:center}
    .bs-professional-card--rich .bs-professional-experience{-webkit-line-clamp:3;font-size:.84rem;line-height:1.45;margin:2px auto 4px;max-width:40ch}
    .bs-professional-card--rich .bs-professional-facts{display:flex!important;flex-wrap:wrap;justify-content:center;width:100%;margin:5px 0 8px;gap:6px}
    .bs-professional-card--rich .bs-professional-facts span{display:flex!important;align-items:center;gap:4px;min-height:30px;padding:5px 8px;font-size:.72rem}.bs-professional-card--rich .bs-professional-facts strong{font-size:.62rem}
    .bs-professional-card--rich .bs-professional-fee{width:100%;padding-top:8px}
    .bs-professional-card--rich .bs-professional-card-actions{width:100%;margin-top:8px}
    .bs-credential-layout{align-items:center}
    .bs-credential-layout .bs-provider-photo,.bs-credential-layout .bs-provider-initials{width:104px!important;height:104px!important;border-radius:50%!important;object-fit:cover}
    .bs-professional-service-description{margin-top:6px;color:var(--ink);font-family:var(--font-copy);font-size:.9rem;line-height:1.5}
    .bs-professional-voice{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
    .bs-professional-voice strong{color:var(--wine);font-size:.88rem}
    .bs-professional-voice audio{width:100%;height:38px}
    .bs-help-callback{align-items:start}
    .bs-help-callback__intro{min-width:0}
    .bs-help-callback__toggle{justify-self:end;white-space:nowrap}
    .bs-callback-form{grid-column:1/-1;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:13px;border-top:1px solid var(--line)}
    .bs-callback-form[hidden]{display:none!important}
    .bs-callback-form .bs-field{text-align:left}
    .bs-callback-status{margin:0;padding:9px 11px;border-radius:9px;background:var(--care);color:var(--wine);font-size:.86rem;text-align:center}
    .bs-callback-status.is-error{background:#fff2f0;color:#8b3e35}
    .bs-callback-submit{width:min(100%,300px)!important;justify-self:center}
    .bs-booking-footer{display:grid!important;grid-template-columns:1fr!important;justify-items:center;gap:10px;width:100%;padding-top:2px}
    .bs-booking-footer .bs-submit-note{width:100%;max-width:none;margin:0;text-align:center;line-height:1.5}
    .bs-booking-legal{display:flex;justify-content:center;align-items:center;gap:8px 14px;flex-wrap:wrap;width:100%;font-size:.76rem}
    .bs-booking-legal a{color:var(--wine);text-underline-offset:3px}
    .bs-booking-footer .bs-security-check{grid-column:auto}
    .bs-booking-footer .bs-booking-status{width:100%}
    .bs-booking-footer #bsSubmitBooking{width:min(100%,360px)!important;min-height:48px;justify-self:center}
    @media(max-width:760px){.bs-callback-form{grid-template-columns:1fr 1fr}.bs-help-callback__toggle{justify-self:stretch}.bs-professional-card--rich{margin-top:48px;padding-top:52px!important}.bs-professional-card--rich .bs-provider-media{width:96px!important;height:96px!important;min-height:96px!important;top:-46px}}
    @media(max-width:520px){.bs-callback-form{grid-template-columns:1fr}.bs-professional-card--rich .bs-professional-facts{grid-template-columns:1fr 1fr}}


    /* v5.8.8 — unified centred card shelves and larger circular professional portraits */
    /* v5.8.9 — callback preferred language, optional note and callback deep-link support */
    /* v5.8.10 — modal layering/history fix + View professional from One-on-One bundles */
    :root{
      --bs-public-card-width:350px;
      --bs-public-card-gap:20px;
      --bs-professional-portrait:128px;
    }

    /* One layout contract for every public catalogue card type. */
    .bs-professional-grid-static,
    .bs-offer-grid{
      display:flex!important;
      flex-flow:row wrap!important;
      justify-content:center!important;
      align-items:stretch!important;
      gap:var(--bs-public-card-gap)!important;
      width:100%!important;
      overflow:visible!important;
      padding:0!important;
    }

    .bs-professional-grid-static > .bs-professional-card--rich,
    .bs-offer-grid > .bs-provider-card{
      flex:0 1 var(--bs-public-card-width)!important;
      width:min(100%,var(--bs-public-card-width))!important;
      max-width:var(--bs-public-card-width)!important;
      min-width:0!important;
    }

    /* Keep cards in the same row visually balanced even when copy lengths differ. */
    .bs-offer-grid > .bs-provider-card{
      align-self:stretch!important;
      height:auto!important;
    }
    .bs-offer-grid > .bs-provider-card .bs-provider-body{
      min-height:0;
    }

    /* Professional portrait: still circular, but large enough to be useful. */
    .bs-professional-card--rich{
      margin-top:66px!important;
      padding:72px 16px 16px!important;
    }
    .bs-professional-card--rich .bs-provider-media{
      top:-62px!important;
      width:var(--bs-professional-portrait)!important;
      height:var(--bs-professional-portrait)!important;
      min-height:var(--bs-professional-portrait)!important;
      border-width:6px!important;
      border-radius:50%!important;
    }
    .bs-professional-card--rich .bs-provider-photo,
    .bs-professional-card--rich .bs-provider-initials{
      width:100%!important;
      height:100%!important;
      aspect-ratio:1!important;
      border-radius:50%!important;
      object-fit:cover!important;
      object-position:center 24%!important;
      font-size:2rem!important;
    }

    /* Service visuals retain a useful landscape ratio while sharing the same card width. */
    .bs-offer-grid .bs-service-photo,
    .bs-offer-grid .bs-service-visual{
      width:100%!important;
      height:auto!important;
      min-height:0!important;
      aspect-ratio:16/9!important;
      object-fit:cover!important;
    }

    /* Tablet/phone: cards become a horizontal, snap-scrolling shelf. */
    @media(max-width:760px){
      .bs-professional-grid-static,
      .bs-offer-grid{
        flex-flow:row nowrap!important;
        justify-content:flex-start!important;
        align-items:stretch!important;
        gap:14px!important;
        overflow-x:auto!important;
        overflow-y:visible!important;
        overscroll-behavior-inline:contain;
        scroll-snap-type:x mandatory;
        scroll-padding-inline:10px;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:thin;
        padding:2px 10px 14px!important;
      }

      .bs-professional-grid-static > .bs-professional-card--rich,
      .bs-offer-grid > .bs-provider-card{
        flex:0 0 84vw!important;
        width:84vw!important;
        min-width:280px!important;
        max-width:340px!important;
        scroll-snap-align:center;
        scroll-snap-stop:normal;
      }

      .bs-professional-card--rich{
        margin-top:64px!important;
        padding-top:70px!important;
      }
      .bs-professional-card--rich .bs-provider-media{
        top:-60px!important;
        width:122px!important;
        height:122px!important;
        min-height:122px!important;
      }
    }

    @media(max-width:360px){
      .bs-professional-grid-static > .bs-professional-card--rich,
      .bs-offer-grid > .bs-provider-card{
        flex-basis:86vw!important;
        width:86vw!important;
        min-width:260px!important;
      }
    }

    /* v5.8.11 — department spacing + Programme professional discovery */
    .bs-speciality-group{
      gap:24px!important;
    }
    .bs-speciality-heading{
      position:relative;
      z-index:3;
      margin-bottom:4px;
    }
    .bs-speciality-group .bs-professional-grid-static{
      padding-top:10px!important;
    }
    .bs-programme-card-actions{
      display:grid!important;
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
      gap:9px!important;
    }
    .bs-programme-card-actions .bs-primary-btn{
      grid-column:1/-1;
    }
    .bs-programme-manager__action{
      min-width:104px;
      min-height:36px;
      padding:0 11px;
      white-space:nowrap;
    }
    [data-programme-professionals-section]{
      scroll-margin-top:84px;
    }
    @media(max-width:760px){
      .bs-speciality-group{gap:22px!important}
      .bs-speciality-group .bs-professional-grid-static{padding-top:12px!important}
      .bs-programme-card-actions{grid-template-columns:1fr!important}
      .bs-programme-card-actions .bs-primary-btn{grid-column:auto}
    }



    /* v5.8.12 — department overlap guard + fixed section navigation. */
    .bs-speciality-group{
      position:relative;
      padding-bottom:52px!important;
    }
    .bs-speciality-group:last-child{
      padding-bottom:0!important;
    }
    .bs-speciality-group + .bs-speciality-group{
      margin-top:10px!important;
    }
    .bs-speciality-heading{
      isolation:isolate;
    }

    /* Fixed navigator stays independent of page scrolling and remains collapsed until requested. */
    .bs-section-navigator{
      position:fixed;
      top:50%;
      right:14px;
      z-index:44;
      display:flex;
      align-items:center;
      gap:9px;
      transform:translateY(-50%);
      pointer-events:none;
    }
    .bs-section-navigator[hidden]{display:none!important}
    .bs-section-navigator__toggle,
    .bs-section-navigator__panel{pointer-events:auto}
    .bs-section-navigator__toggle{
      min-width:48px;
      min-height:48px;
      padding:0 13px!important;
      border:1px solid rgba(74,124,133,.30)!important;
      border-radius:999px!important;
      background:rgba(255,255,255,.96)!important;
      color:var(--wine)!important;
      box-shadow:0 12px 30px rgba(26,47,59,.14)!important;
      backdrop-filter:blur(10px);
      font-size:.78rem;
      font-weight:850;
    }
    .bs-section-navigator__panel{
      order:-1;
      width:min(260px,calc(100vw - 92px));
      max-height:min(68dvh,560px);
      overflow:auto;
      padding:10px;
      border:1px solid rgba(74,124,133,.24);
      border-radius:18px;
      background:rgba(255,255,255,.97);
      box-shadow:0 18px 50px rgba(26,47,59,.18);
      backdrop-filter:blur(12px);
    }
    .bs-section-navigator__panel[hidden]{display:none!important}
    .bs-section-navigator__head{
      position:sticky;
      top:-10px;
      z-index:2;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin:-2px -2px 7px;
      padding:8px 8px 9px;
      background:rgba(255,255,255,.97);
      border-bottom:1px solid var(--line);
    }
    .bs-section-navigator__head strong{
      color:var(--wine);
      font:700 .83rem/1.2 "Montserrat",Arial,sans-serif;
      letter-spacing:.02em;
    }
    .bs-section-navigator__close{
      width:32px;
      min-width:32px;
      min-height:32px;
      padding:0!important;
      border-radius:50%!important;
      box-shadow:none!important;
      font-size:1.08rem;
    }
    .bs-section-navigator__links{display:grid;gap:4px}
    .bs-section-navigator__link{
      width:100%;
      min-height:38px;
      padding:8px 10px!important;
      border:0!important;
      border-radius:10px!important;
      background:transparent!important;
      box-shadow:none!important;
      color:var(--ink)!important;
      font-size:.82rem;
      font-weight:700;
      line-height:1.25;
      text-align:left;
    }
    .bs-section-navigator__link:hover,
    .bs-section-navigator__link:focus-visible{
      background:var(--care)!important;
      color:var(--wine)!important;
      transform:none!important;
    }
    .bs-section-navigator__link[data-nav-depth="1"]{
      padding-left:22px!important;
      color:var(--muted)!important;
      font-weight:650;
    }
    .bs-section-navigator__link[data-nav-depth="1"]::before{
      content:"—";
      margin-right:7px;
      color:var(--rose);
    }
    #bsProfessionalsTitle,
    #bsServicesTitle,
    .bs-speciality-group,
    .bs-service-section{
      scroll-margin-top:28px;
    }
    @media(max-width:760px){
      .bs-speciality-group{padding-bottom:46px!important}
      .bs-speciality-group:last-child{padding-bottom:0!important}
      .bs-section-navigator{right:8px}
      .bs-section-navigator__toggle{min-width:44px;min-height:44px;padding:0 10px!important;font-size:.74rem}
      .bs-section-navigator__panel{width:min(250px,calc(100vw - 74px));max-height:62dvh}
    }

    /* v5.8.10 — page-level modal layering, visible close controls and nested profile action */
    .bs-modal[data-page-level-overlay="true"]{
      position:fixed!important;
      inset:0!important;
      z-index:2147483500!important;
      width:100vw!important;
      height:100dvh!important;
      max-width:none!important;
      margin:0!important;
      overflow:auto!important;
      overscroll-behavior:contain;
      isolation:isolate;
    }
    #bsProfessionalModal[data-page-level-overlay="true"]{z-index:2147483600!important;}
    .bs-modal[data-page-level-overlay="true"] .bs-modal__panel{
      position:relative!important;
      z-index:1!important;
      margin:auto!important;
    }
    .bs-modal[data-page-level-overlay="true"] .bs-modal__header{
      position:sticky!important;
      top:0!important;
      z-index:20!important;
      padding-top:max(14px,env(safe-area-inset-top))!important;
      background:rgba(248,244,236,.98)!important;
      -webkit-backdrop-filter:blur(12px);
      backdrop-filter:blur(12px);
    }
    .bs-modal[data-page-level-overlay="true"] .bs-modal__close{
      position:relative!important;
      z-index:25!important;
      display:grid!important;
      place-items:center!important;
      flex:0 0 44px!important;
      width:44px!important;
      height:44px!important;
      min-height:44px!important;
      padding:0!important;
      border:1px solid rgba(79,111,99,.28)!important;
      border-radius:50%!important;
      background:#fff!important;
      color:#30453F!important;
      box-shadow:0 7px 20px rgba(48,69,63,.14)!important;
      font-size:1.65rem!important;
      font-weight:500!important;
      line-height:1!important;
    }
    .bs-modal[data-page-level-overlay="true"] .bs-modal__close:hover{background:#DDE9E2!important;border-color:#789987!important;}
    .bs-selected-provider-actions{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin:2px 0 10px;}
    .bs-view-professional-inline{display:inline-flex;align-items:center;justify-content:center;width:auto!important;min-height:40px;padding:0 14px;border-color:rgba(79,111,99,.28);color:var(--wine);background:#fff;}
    .bs-view-professional-inline::before{content:"◯";margin-right:7px;font-size:.78rem;line-height:1;}
    @media(max-width:640px){
      .bs-modal[data-page-level-overlay="true"]{padding:8px!important;align-items:start!important;}
      .bs-modal[data-page-level-overlay="true"] .bs-modal__panel{width:100%!important;max-height:calc(100dvh - 16px)!important;}
      .bs-modal[data-page-level-overlay="true"] .bs-modal__header{padding-left:12px!important;padding-right:10px!important;}
      .bs-modal[data-page-level-overlay="true"] .bs-modal__close{flex-basis:46px!important;width:46px!important;height:46px!important;min-height:46px!important;}
    }
