/* Manila58 V3.2.51 — independent therapist page; scoped to this plugin. */
#m58-v3251, #m58-v3251 * {box-sizing:border-box}
#m58-v3251 {--m58-t:#007c88;--m58-deep:#123d44;--m58-muted:#779095;max-width:690px;width:100%;margin:0 auto 28px;padding:0 0 105px;color:#1c3438;background:#fff;font-family:inherit;overflow:hidden}
#m58-v3251 h1,#m58-v3251 h2,#m58-v3251 h3,#m58-v3251 p{margin:0}
#m58-v3251 button{cursor:pointer;font-family:inherit}
#m58-v3251 .m58-v3251-topbar {display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:8px;padding:13px 18px;background:#fff;min-height:54px}
#m58-v3251 .m58-v3251-topbar strong {font-size:15px;color:var(--m58-deep);text-align:center;white-space:nowrap;font-weight:750}
#m58-v3251 .m58-v3251-topbar a {display:flex;gap:3px;align-items:center;font-size:14px;font-weight:650;color:var(--m58-deep)!important;text-decoration:none!important;white-space:nowrap}
#m58-v3251 .m58-v3251-back {justify-self:start}
#m58-v3251 .m58-v3251-back:first-letter {font-size:24px}
#m58-v3251 .m58-v3251-share{justify-self:end;border:1px solid #d8e8e8;background:#f6faf9;border-radius:50%;height:36px;width:36px;font-size:23px;line-height:1;color:#286b70;padding:0}
#m58-v3251 .m58-v3251-hero {margin:0;background:#eaf4f2}
#m58-v3251 .m58-v3251-hero-stage{position:relative;overflow:hidden;min-height:330px;max-height:560px;height:min(112vw,480px);background:linear-gradient(140deg,#e6f4f3,#b5ddd8);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab}
#m58-v3251 .m58-v3251-hero-stage.is-dragging{cursor:grabbing}
#m58-v3251 .m58-v3251-hero-image{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 30%;border:0!important;margin:0!important;padding:0!important;max-width:none!important;will-change:transform,opacity;transition:transform .24s cubic-bezier(.22,.8,.24,1),opacity .24s ease;backface-visibility:hidden;-webkit-user-drag:none}
#m58-v3251 .m58-v3251-hero-stage:after{content:"";position:absolute;bottom:0;left:0;right:0;height:27%;background:linear-gradient(transparent,rgba(12,44,43,.25));pointer-events:none}
#m58-v3251 .m58-v3251-hero-prev,#m58-v3251 .m58-v3251-hero-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(255,255,255,.86)!important;color:#235c63!important;border:0!important;border-radius:50%!important;width:36px;height:36px;font-size:25px;font-weight:400;padding:0!important;line-height:1}
#m58-v3251 .m58-v3251-hero-prev{left:13px}#m58-v3251 .m58-v3251-hero-next{right:13px}
#m58-v3251 .m58-v3251-photo-counter{position:absolute;bottom:17px;right:18px;z-index:2;color:#fff;background:rgba(17,37,38,.55);padding:6px 12px;font-size:12px;border-radius:13px;line-height:1}
#m58-v3251 .m58-v3251-no-photo{min-height:260px;display:flex;align-items:center;justify-content:center;text-align:center;color:#659093;font-size:14px;background:linear-gradient(135deg,#e9f5f4,#d8edeb)}
#m58-v3251 .m58-v3251-summary{padding:23px 20px 26px;border-bottom:9px solid #f5f7f7}
#m58-v3251 .m58-v3251-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
#m58-v3251 .m58-v3251-name-row h1{font-size:26px;line-height:1.25;overflow-wrap:anywhere;color:#13343a;font-weight:800}
#m58-v3251 .m58-v3251-new{padding:5px 10px;font-size:11px;color:#71888b;background:#eef5f5;border-radius:99px;white-space:nowrap}
#m58-v3251 .m58-v3251-rating{font-size:18px;color:#dd9b30;margin:8px 0 15px}
#m58-v3251 .m58-v3251-rating small{font-size:12px;color:#728b8a}
#m58-v3251 .m58-v3251-trust{display:flex;gap:11px;align-items:center;background:#f4f9f7;border:1px solid #dbeae4;border-radius:16px;margin:17px 0;padding:14px 16px}
#m58-v3251 .m58-v3251-trust.is-pending{background:#fff9ed;border-color:#f2e5c7}
#m58-v3251 .m58-v3251-shield{display:flex;align-items:center;justify-content:center;font-size:20px;width:34px;height:34px;min-width:34px;background:#d6f2e2;color:#168557;border-radius:12px;font-weight:900}
#m58-v3251 .is-pending .m58-v3251-shield{background:#fff0cd;color:#a47420}
#m58-v3251 .m58-v3251-trust strong{font-size:14px;font-weight:800;color:#1a664a}
#m58-v3251 .m58-v3251-trust.is-pending strong{color:#966e21}
#m58-v3251 .m58-v3251-trust p{font-size:12px;color:#668884;margin-top:3px;line-height:1.5}
#m58-v3251 .m58-v3251-bio{margin:20px 0 0}
#m58-v3251 .m58-v3251-bio h2{font-size:15px;color:#213f45;font-weight:800;margin-bottom:9px}
#m58-v3251 .m58-v3251-bio p{font-size:14px;color:#526d71;line-height:1.8;overflow-wrap:anywhere}
#m58-v3251 .m58-v3251-certs{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
#m58-v3251 .m58-v3251-services,#m58-v3251 .m58-v3251-reviews{padding:25px 20px 23px;border-bottom:9px solid #f5f7f7}
#m58-v3251 .m58-v3251-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:17px}
#m58-v3251 .m58-v3251-heading h2{font-size:19px;font-weight:850;color:#173e42}
#m58-v3251 .m58-v3251-heading small,#m58-v3251 .m58-v3251-heading span{font-size:11px;color:#8b999a}
#m58-v3251 .m58-v3251-service{padding:17px;background:linear-gradient(125deg,#f6f8f7,#f0f7f5);border:1px solid #e5eeea;border-radius:17px;margin-bottom:12px;min-width:0}
#m58-v3251 .m58-v3251-service h3{font-size:15px;font-weight:750;color:#223f43}
#m58-v3251 .m58-v3251-duration{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
#m58-v3251 .m58-v3251-duration span{background:#fff;border:1px solid #e3e9e6;color:#586e70;border-radius:99px;padding:5px 14px;font-size:12px}
#m58-v3251 .m58-v3251-service-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:10px}
#m58-v3251 .m58-v3251-service-bottom strong{font-size:20px;color:#143d44;font-weight:850}
#m58-v3251 .m58-v3251-reserve{background:#007b87!important;color:#fff!important;padding:9px 24px!important;font-size:13px!important;line-height:1.3!important;font-weight:750!important;min-height:38px!important;border:0!important;border-radius:24px!important;box-shadow:0 4px 10px rgba(0,123,135,.14)}
#m58-v3251 .m58-v3251-reserve:focus-visible,#m58-v3251 button:focus-visible{outline:3px solid #9ad4d6;outline-offset:2px}
#m58-v3251 .m58-v3251-disabled{background:#e9eeee;color:#718a8b;border-radius:99px;padding:8px 11px;font-size:12px}
#m58-v3251 .m58-v3251-review-score{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;align-items:center;padding:20px 15px;background:#f7faf8;border-radius:16px;border:1px solid #e3edeb}
#m58-v3251 .m58-v3251-score strong{font-size:27px;color:#15373c;font-weight:800}
#m58-v3251 .m58-v3251-score strong small{font-size:14px;color:#789096}
#m58-v3251 .m58-v3251-score span{font-size:11px;color:#80918d}
#m58-v3251 .m58-v3251-stars{color:#daa02d;font-size:16px;letter-spacing:1px;margin:4px 0}
#m58-v3251 .m58-v3251-bars{display:flex;flex-direction:column;gap:7px}
#m58-v3251 .m58-v3251-bar{display:grid;grid-template-columns:31px minmax(0,1fr) 35px;gap:6px;align-items:center;font-size:11px;color:#678180}
#m58-v3251 .m58-v3251-bar div{height:6px;border-radius:99px;background:#e2eae8;overflow:hidden}
#m58-v3251 .m58-v3251-bar i{display:block;height:100%;background:#e1b353;border-radius:99px}
#m58-v3251 .m58-v3251-bar small{text-align:right;font-size:11px}
#m58-v3251 .m58-v3251-empty{font-size:13px;color:#93a2a1;padding:16px;background:#f6f9f8;border-radius:12px;text-align:center}
#m58-v3251 .m58-v3251-disclaimer{padding:15px 20px 24px;font-size:12px;color:#6d898a;background:#f0f7f6;margin:15px 20px 20px!important;border-radius:12px}
#m58-v3251 .m58-v3213-reviews {margin-top:14px}
#m58-v3251 .m58-v3226-fixed-nav {z-index:999}
.m58-v3251-missing {margin:20px auto;padding:26px 17px;max-width:600px;border-radius:18px;background:#eef8f7;text-align:center;color:#28595f}
.m58-v3251-missing p{margin-bottom:12px}
.m58-v3251-missing a {color:#007b87;font-weight:700}
@media(max-width:540px){
  #m58-v3251{max-width:none;padding-bottom:115px;margin:0 auto 0;border-radius:0}
  #m58-v3251 .m58-v3251-hero-stage{height:106vw;max-height:500px;min-height:295px}
  #m58-v3251 .m58-v3251-topbar{padding:9px 12px;min-height:48px}
  #m58-v3251 .m58-v3251-summary{padding:19px 16px}
  #m58-v3251 .m58-v3251-name-row h1{font-size:23px}
  #m58-v3251 .m58-v3251-services,#m58-v3251 .m58-v3251-reviews{padding:22px 15px}
  #m58-v3251 .m58-v3251-review-score{grid-template-columns:100px minmax(0,1fr);gap:10px;padding:15px 12px}
  #m58-v3251 .m58-v3251-score strong{font-size:23px}
}
@media(prefers-reduced-motion:reduce){#m58-v3251 button{transition:none!important}}
/* Category list: full-card link navigates to own detail screen; booking button remains clickable. */
#m58-v24 #m58-v24-results > details.m58-v24-result > summary.m58-v3221-toggle {position:relative!important}
#m58-v24 #m58-v24-results > details.m58-v24-result > summary.m58-v3221-toggle > a.m58-v3251-open-link {
  display:block!important;position:absolute!important;inset:0!important;z-index:2!important;
  background:transparent!important;text-decoration:none!important;border:0!important;
  border-radius:inherit;cursor:pointer;
}
#m58-v24 #m58-v24-results > details.m58-v24-result > summary.m58-v3221-toggle .m58-v3223-cta-wrap{position:relative!important;z-index:3!important}
#m58-v24 #m58-v24-results > details.m58-v24-result > summary.m58-v3221-toggle .m58-v3223-book-now{position:relative!important;z-index:4!important}
#m58-v24 #m58-v24-results > details.m58-v24-result > summary.m58-v3221-toggle::after{
  transform:rotate(-45deg)!important;pointer-events:none!important;top:16px!important
}

/* V3.2.53 Three selectable standard durations per service */
#m58-v3251 .m58-v3251-duration button.m58-v3253-tier {
  appearance:none!important;
  border:1px solid #dae8e5!important;
  background:#fff!important;
  color:#496e72!important;
  border-radius:24px!important;
  padding:7px 12px!important;
  font-size:12px!important;
  line-height:1.25!important;
  min-height:34px!important;
  font-weight:680!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}
#m58-v3251 .m58-v3251-duration button.m58-v3253-tier[aria-pressed="true"] {
  color:#fff!important;
  background:#007b87!important;
  border-color:#007b87!important;
  box-shadow:0 3px 9px rgba(0,123,135,.15)!important;
}
#m58-v3251 .m58-v3251-duration button.m58-v3253-tier:active{transform:scale(.97)}
#m58-v3251 .m58-v3251-duration button.m58-v3253-tier:focus-visible{outline:3px solid #75c4c9;outline-offset:2px}
@media(max-width:355px){#m58-v3251 .m58-v3251-duration{gap:5px}#m58-v3251 .m58-v3251-duration button.m58-v3253-tier{font-size:11px!important;padding:7px 10px!important}}
@media(prefers-reduced-motion:reduce){#m58-v3251 .m58-v3251-duration button.m58-v3253-tier{transition:none!important}}

/* V3.2.54: One basket and one booking action, with multiple distinct services. */
#m58-v3251 .m58-v3251-service.is-booked{
  background:linear-gradient(120deg,#effaf8,#eaf8f5)!important;
  border-color:#8fc9bd!important;
  box-shadow:0 5px 18px rgba(0,123,135,.085)!important;
}
#m58-v3251 .m58-v3251-service.is-booked .m58-v3254-select{
  background:#26885b!important;
  border-color:#26885b!important;
  color:#fff!important;
  min-width:43px!important;
  padding:8px 14px!important;
  font-size:20px!important;
}
#m58-v3251 .m58-v3251-service .m58-v3254-select{min-width:71px!important;transition:background .16s ease, transform .16s ease!important;}
#m58-v3251.m58-v3254-has-cart{padding-bottom:230px!important}
.m58-v3254-cart, .m58-v3254-cart *{box-sizing:border-box}
.m58-v3254-cart{
  position:fixed!important;
  z-index:99990!important;
  left:50%!important;
  bottom:0!important;
  transform:translateX(-50%)!important;
  width:min(100%,660px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px))!important;
  border:1px solid #d7e9e7!important;
  border-bottom:0!important;
  border-radius:18px 18px 0 0!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 -6px 25px rgba(9,62,66,.10)!important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  color:#153e43!important;
}
.m58-v3254-cart .m58-v3254-cart-info{display:flex;flex-direction:column;gap:1px;min-width:0}
.m58-v3254-cart .m58-v3254-cart-info span{font-size:13px;font-weight:650;color:#526f75}
.m58-v3254-cart .m58-v3254-cart-info strong{font-size:24px;line-height:1.22;font-weight:850;color:#143e44}
.m58-v3254-cart .m58-v3254-cart-info small{font-size:10px;color:#80969a}
.m58-v3254-cart .m58-v3254-checkout{
  padding:13px 21px!important;
  min-height:46px!important;
  min-width:126px!important;
  border:0!important;
  border-radius:13px!important;
  background:#007b87!important;
  color:#fff!important;
  box-shadow:0 5px 12px rgba(0,123,135,.19)!important;
  font-size:15px!important;
  font-weight:750!important;
  cursor:pointer!important;
}
.m58-v3254-cart .m58-v3254-checkout:disabled{opacity:.45!important;cursor:not-allowed!important;box-shadow:none!important}
.m58-v3254-cart .m58-v3254-checkout:focus-visible{outline:3px solid #7bc1c4;outline-offset:2px}
#m58-booking-modal .m58-v3254-modal-summary{padding:13px 14px;background:#edf8f7;border:1px solid #d2e9e7;border-radius:14px;color:#194b51;margin-bottom:10px}
#m58-booking-modal .m58-v3254-modal-summary>strong{font-size:15px}
#m58-booking-modal .m58-v3254-modal-summary ul{padding:0;margin:9px 0!important;list-style:none!important;display:grid;gap:7px}
#m58-booking-modal .m58-v3254-modal-summary li{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#m58-booking-modal .m58-v3254-modal-total{font-size:17px;font-weight:800;border-top:1px solid #d3e7e6;padding-top:9px;margin-top:8px}
#m58-booking-modal .m58-v3254-modal-summary small{display:block;color:#648689;font-size:11px;margin-top:5px}
#m58-booking-modal .m58-booking-modal__body label[hidden],#m58-booking-modal .m58-v3253-booking-quote[hidden]{display:none!important}
@media(max-width:380px){
 .m58-v3254-cart{padding:10px 12px!important;gap:9px!important}
 .m58-v3254-cart .m58-v3254-checkout{min-width:106px!important;padding:12px 14px!important;font-size:14px!important}
 .m58-v3254-cart .m58-v3254-cart-info strong{font-size:22px}
}
@media(prefers-reduced-motion:reduce){#m58-v3251 .m58-v3254-select{transition:none!important}}

/* V3.2.57: Full-screen black viewer for the featured portrait on therapist profile.
   Never crop a photo to fill the frame; empty areas above and below stay black. */
.m58-v3257-viewer[hidden]{display:none!important}
.m58-v3257-viewer,.m58-v3257-viewer *{box-sizing:border-box!important}
.m58-v3257-viewer{
  position:fixed!important;inset:0!important;z-index:2147483646!important;
  display:flex!important;flex-direction:column!important;
  width:100vw!important;height:100vh!important;height:100dvh!important;
  margin:0!important;padding:0!important;background:#000!important;
  color:#fff!important;opacity:1!important;isolation:isolate!important;
  max-width:none!important;max-height:none!important;
}
.m58-v3257-viewer-header{
  flex:0 0 auto!important;display:flex!important;align-items:center!important;
  justify-content:flex-end!important;min-height:62px!important;
  padding:calc(9px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) 9px 16px!important;
  background:#000!important;
}
.m58-v3257-viewer button{
  cursor:pointer!important;-webkit-appearance:none!important;appearance:none!important;
  color:#fff!important;background:#181818!important;border:1px solid #484848!important;
  box-shadow:none!important;border-radius:50%!important;line-height:1!important;
  padding:0!important;margin:0!important;font-family:inherit!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.m58-v3257-close{width:44px!important;height:44px!important;font-size:30px!important}
.m58-v3257-photo-stage{
  flex:1 1 0!important;min-height:0!important;min-width:0!important;width:100%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;background:#000!important;position:relative!important;
}
.m58-v3257-photo-stage img{
  display:block!important;width:100%!important;height:100%!important;max-width:100%!important;
  max-height:100%!important;min-width:0!important;min-height:0!important;
  object-fit:contain!important;object-position:center center!important;
  background:#000!important;border:0!important;border-radius:0!important;
  padding:0!important;margin:0!important;box-shadow:none!important;
  -webkit-user-select:none!important;user-select:none!important;
}
.m58-v3257-viewer-controls{
  flex:0 0 auto!important;min-height:70px!important;display:flex!important;
  align-items:center!important;justify-content:center!important;gap:32px!important;
  padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px))!important;
  background:#000!important;
}
.m58-v3257-viewer-controls button{width:45px!important;height:45px!important;font-size:31px!important}
.m58-v3257-viewer button:disabled{opacity:.25!important;cursor:default!important}
.m58-v3257-viewer-controls button[hidden]{display:none!important}
.m58-v3257-counter{font-size:13px!important;color:#e5e5e5!important;min-width:40px!important;text-align:center!important}
.m58-v3257-viewer button:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important}
#m58-v3251 .m58-v3251-hero-image{cursor:zoom-in!important}

@media(prefers-reduced-motion:reduce){#m58-v3251 .m58-v3251-hero-image{transition:none!important}}


/* V3.2.70 - Native Safari scroll snap. No JS touch interception. */
.m58-v3270-viewer .m58-v3257-photo-stage{
  display:flex!important;align-items:stretch!important;justify-content:stretch!important;
  position:relative!important;overflow:hidden!important;background:#000!important;
}
.m58-v3270-viewer .m58-v3270-scroll{
  display:block!important;position:relative!important;
  flex:1 1 100%!important;min-width:0!important;min-height:0!important;
  width:100%!important;height:100%!important;
  overflow-x:auto!important;overflow-y:hidden!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  touch-action:pan-x!important;
  -webkit-user-select:none!important;user-select:none!important;
  background:#000!important;cursor:grab!important;
}
.m58-v3270-viewer .m58-v3270-scroll::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.m58-v3270-viewer .m58-v3270-track{
  display:flex!important;align-items:stretch!important;
  width:100%!important;min-width:100%!important;height:100%!important;
  margin:0!important;padding:0!important;gap:0!important;
  background:#000!important;
}
.m58-v3270-viewer .m58-v3270-slide{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 100%!important;box-sizing:border-box!important;
  width:100%!important;height:100%!important;
  overflow:hidden!important;background:#000!important;
  scroll-snap-align:center!important;scroll-snap-stop:always!important;
  margin:0!important;padding:0!important;
}
.m58-v3270-viewer .m58-v3270-slide img{
  display:block!important;flex:0 1 100%!important;
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center center!important;
  border:0!important;padding:0!important;margin:0!important;
  pointer-events:none!important;-webkit-user-drag:none!important;
  -webkit-touch-callout:none!important;
  background:#000!important;
}
@media(prefers-reduced-motion:reduce){
 .m58-v3270-viewer .m58-v3270-scroll{scroll-behavior:auto!important}
}
