/* Seansla V127 — stable responsive storefront and isolated profile dialog */
.booking-template-page,
.booking-template-page * {
  box-sizing: border-box;
}

.booking-storefront-meta,
.booking-storefront-actions,
.booking-storefront-campaign {
  width: min(100%, 520px);
  margin-left: auto;
  margin-right: auto;
}

.booking-storefront-meta {
  display: flex;
  gap: 9px;
  margin-top: 17px;
}

.booking-storefront-meta > span {
  min-width: 0;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 13px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(15,6,24,.28);
  color: #fff;
  text-align: left;
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}

.booking-storefront-meta i {
  flex: 0 0 auto;
  color: #d8b9ff;
  font-size: 15px;
}

.booking-storefront-meta b {
  min-width: 0;
  overflow: hidden;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.booking-storefront-actions {
  display: flex;
  gap: 9px;
  margin-top: 10px;
}

.booking-storefront-stat {
  min-width: 0;
  min-height: 78px;
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 10px 6px;
  border: 1px solid rgba(255,255,255,.19);
  border-radius: 16px;
  background: linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.09));
  color: #fff;
  font-family: "Maven Pro",sans-serif;
  text-align: center;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .18s ease,border-color .18s ease,background .18s ease;
}

.booking-storefront-stat:hover,
.booking-storefront-stat:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(218,185,255,.72);
  background: linear-gradient(180deg,rgba(137,58,211,.32),rgba(255,255,255,.12));
  outline: none;
}

.booking-storefront-stat i {
  color: #d9bbff;
  font-size: 17px;
  line-height: 1;
}

.booking-storefront-stat strong {
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
}

.booking-storefront-stat span {
  min-width: 0;
  overflow: hidden;
  color: rgba(255,255,255,.72);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1.2;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.booking-storefront-campaign {
  position: relative;
  min-height: 68px;
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 10px;
  padding: 11px 14px;
  overflow: hidden;
  border: 1px solid rgba(224,198,255,.6);
  border-radius: 18px;
  background: linear-gradient(135deg,#8e38e7 0%,#6418b7 56%,#46107f 100%);
  color: #fff;
  font-family: "Maven Pro",sans-serif;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 15px 34px rgba(48,4,88,.28),inset 0 1px 0 rgba(255,255,255,.17);
  transition: transform .18s ease,box-shadow .18s ease;
}

.booking-storefront-campaign::after {
  content: "";
  position: absolute;
  top: -54px;
  right: 28px;
  width: 135px;
  height: 135px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
}

.booking-storefront-campaign:hover,
.booking-storefront-campaign:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(48,4,88,.35),inset 0 1px 0 rgba(255,255,255,.2);
  outline: none;
}

.booking-storefront-campaign-icon {
  position: relative;
  z-index: 1;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: rgba(255,255,255,.16);
  font-size: 18px;
}

.booking-storefront-campaign-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 3px;
}

.booking-storefront-campaign-copy small {
  color: rgba(255,255,255,.72);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.booking-storefront-campaign-copy strong {
  overflow: hidden;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.booking-storefront-campaign-count {
  position: relative;
  z-index: 1;
  min-width: 28px;
  height: 28px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  padding: 0 7px;
  border-radius: 999px;
  background: #fff;
  color: #5b13a5;
  font-size: 10px;
  font-weight: 900;
}

.booking-storefront-campaign-arrow {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  color: rgba(255,255,255,.84);
}

.booking-storefront-info-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  color: #4d4056;
  font-family: inherit;
  cursor: pointer;
}


/* V128 isolated business content modal */
.sf-modal[hidden]{display:none!important}
.sf-modal,.sf-modal *{box-sizing:border-box}
.sf-modal{
  position:fixed;inset:0;z-index:3200;display:grid;place-items:center;
  width:100vw;height:100svh;padding:18px;overflow:hidden;opacity:0;
  font-family:"Maven Pro",sans-serif;isolation:isolate;transition:opacity .18s ease
}
.sf-modal.is-open{opacity:1}
.sf-modal__backdrop{position:absolute;inset:0;z-index:-1;width:100%;height:100%;border:0;background:rgba(18,8,26,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.sf-modal__card{
  width:min(680px,calc(100vw - 36px));max-height:calc(100svh - 36px);
  display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.75);
  border-radius:24px;background:#fff;color:#281b32;text-align:left!important;
  box-shadow:0 30px 90px rgba(22,8,31,.34);transform:translateY(10px) scale(.99);
  transition:transform .2s ease
}
.sf-modal.is-open .sf-modal__card{transform:none}
.sf-modal__header{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:72px;padding:16px 18px;border-bottom:1px solid #eee7f2;background:#fff
}
.sf-modal__heading{min-width:0}
.sf-modal__heading>span{display:block;margin-bottom:3px;color:#7a27cf;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.sf-modal__heading h2{margin:0;overflow:hidden;color:#281b32;font-size:21px;font-weight:900;letter-spacing:-.03em;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.sf-modal__close{
  width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;padding:0;
  border:1px solid #e6ddeb;border-radius:12px;background:#fff;color:#65586d;cursor:pointer
}
.sf-modal__close:hover,.sf-modal__close:focus-visible{background:#f5eff9;color:#6500c8;outline:none}
.sf-modal__body{min-width:0;min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px;background:#fff}
.sf-panel[hidden]{display:none!important}
.sf-panel{width:100%;min-width:0;display:block!important;animation:sfPanelIn .16s ease}
.sf-panel,.sf-panel *{max-width:none}
@keyframes sfPanelIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.sf-company-card{
  width:100%;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:15px;
  padding:16px;border:1px solid #e9e1ee;border-radius:18px;background:linear-gradient(145deg,#faf6fd,#fff)
}
.sf-company-card__logo{width:72px;height:72px;display:block;border:1px solid #e2d7e9;border-radius:18px;background:#fff;object-fit:cover}
.sf-company-card__copy{min-width:0}
.sf-company-card__copy>span,.sf-section-title>div>span{display:block;margin-bottom:3px;color:#7a27cf;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.sf-company-card__copy h3,.sf-section-title h3{margin:0;color:#2b1d35;font-size:18px;font-weight:900;letter-spacing:-.025em;line-height:1.2}
.sf-company-card__copy p{margin:6px 0 0;color:#75697c;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.sf-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.sf-fact{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:11px 12px;border:1px solid #ece5f1;border-radius:14px;background:#fff}
.sf-fact>i{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#f0e6f9;color:#7a27cf;font-size:16px}
.sf-fact>div{min-width:0;display:grid;gap:2px}
.sf-fact span{color:#8b7e92;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.sf-fact strong{overflow:hidden;color:#3a2d42;font-size:10px;font-weight:850;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.sf-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:18px 0 10px}
.sf-section-title--first{margin-top:0}
.sf-section-title>div{min-width:0}
.sf-section-title>b{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#f0e7f8;color:#6500c8;font-size:8px;font-weight:900}
.sf-staff-list,.sf-review-list,.sf-campaign-list{display:grid;grid-template-columns:1fr;gap:9px}
.sf-staff-card{position:relative;min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #ece5f1;border-radius:16px;background:#fff}
.sf-staff-card>img{width:52px;height:52px;display:block;border:1px solid #e4dbea;border-radius:14px;background:#f6f2f8;object-fit:cover}
.sf-staff-card__copy{min-width:0}
.sf-staff-card__copy strong{display:block;overflow:hidden;color:#33243d;font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.sf-staff-card__copy span{display:block;margin-top:2px;color:#85788d;font-size:9px;font-weight:750}
.sf-staff-card__copy p{display:-webkit-box;overflow:hidden;margin:5px 0 0;color:#746979;font-size:9px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.sf-staff-card__rating{align-self:start;display:inline-flex;align-items:center;gap:4px;color:#7a27cf;font-size:8.5px;font-weight:850;white-space:nowrap}
.sf-rating-card{display:grid;grid-template-columns:50px auto minmax(0,1fr);align-items:center;gap:12px;margin-bottom:12px;padding:15px;border:1px solid #e8def0;border-radius:18px;background:linear-gradient(145deg,#f8f2fd,#fff)}
.sf-rating-card__icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:#eadcf7;color:#7a27cf;font-size:20px}
.sf-rating-card__score{display:grid;gap:2px}
.sf-rating-card__score strong{color:#2e2038;font-size:22px;font-weight:900;line-height:1}
.sf-rating-card__score span{color:#85798d;font-size:8.5px;font-weight:750}
.sf-rating-card__count{justify-self:end;padding:7px 10px;border-radius:999px;background:#fff;color:#6500c8;font-size:9px;font-weight:900;box-shadow:0 7px 20px rgba(61,31,83,.08)}
.sf-review-card,.sf-campaign-card{min-width:0;padding:14px;border:1px solid #ece5f1;border-radius:16px;background:#fff}
.sf-review-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.sf-review-card header>div{min-width:0;display:grid;gap:3px}
.sf-review-card header strong{overflow:hidden;color:#33243d;font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.sf-review-card header span{overflow:hidden;color:#8a7d91;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}
.sf-review-card header b{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;color:#7a27cf;font-size:9px}
.sf-review-card p{margin:9px 0 0;color:#706576;font-size:10px;line-height:1.5}
.sf-campaign-card{background:linear-gradient(180deg,#fff,#fcf9fe)}
.sf-campaign-card.is-featured{border-color:#cdb0e9;background:linear-gradient(145deg,#f7effe,#fff);box-shadow:0 12px 30px rgba(101,0,200,.08)}
.sf-campaign-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sf-campaign-card__top span{padding:5px 8px;border-radius:999px;background:#efe6f8;color:#6500c8;font-size:7.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.sf-campaign-card__top b{color:#6500c8;font-size:9px;font-weight:900}
.sf-campaign-card h3{margin:11px 0 5px;color:#2e2038;font-size:15px;font-weight:900}
.sf-campaign-card p{margin:0;color:#756a7c;font-size:10px;line-height:1.5}
.sf-campaign-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.sf-campaign-card__meta span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:9px;background:#f4f0f7;color:#665a6d;font-size:8.5px;font-weight:800}
.sf-campaign-card__meta .is-code{background:#eadcf7;color:#6500c8}
.sf-empty{display:flex;align-items:center;gap:11px;padding:16px;border:1px dashed #d9cee2;border-radius:16px;background:#fcfafc;color:#766b7d;font-size:10px;line-height:1.5}
.sf-empty i{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:#eee4f7;color:#7a27cf;font-size:16px}
html.booking-storefront-viewport-lock,body.booking-storefront-page-lock{overflow:hidden!important;overscroll-behavior:none!important}
body.booking-storefront-page-lock{padding-right:0!important}

@media(max-width:991.98px){
  .booking-template-page .booking-template-shell .background-image{min-height:calc(100svh - 74px)}
  .booking-template-page .booking-template-shell .content-left-wrapper{min-height:calc(100svh - 74px)!important;height:auto!important;padding:27px 22px 78px!important;overflow:hidden!important}
  .booking-template-page .content-left-wrapper>div:not(.social){width:min(100%,520px)!important}
  .booking-template-page .booking-hero-image{width:128px!important;height:128px!important;border-radius:23px}
  .booking-template-page .booking-hero-image.is-fallback{width:146px!important;height:146px!important}
  .booking-template-page .img_content{margin-bottom:12px}
  .booking-template-page .countdown h1{margin-bottom:4px;font-size:29px}
  .booking-template-page .countdown h4{margin-bottom:5px;font-size:18px}
  .booking-template-page .countdown p{margin-bottom:0;font-size:11.5px;line-height:1.45}
  .booking-company-kicker{margin-bottom:7px;padding:6px 11px;font-size:9px}
  .booking-template-page a.btn_scroll_to{bottom:14px}
}

@media(max-width:575.98px){
  .booking-template-page .booking-template-shell .background-image,.booking-template-page .booking-template-shell .content-left-wrapper{min-height:calc(100svh - 68px)!important}
  .booking-template-page .booking-template-shell .content-left-wrapper{padding:18px 17px 72px!important}
  .booking-template-page .booking-hero-image{width:102px!important;height:102px!important;border-radius:20px}
  .booking-template-page .booking-hero-image.is-fallback{width:118px!important;height:118px!important}
  .booking-template-page .img_content{margin-bottom:9px}
  .booking-template-page .countdown h1{font-size:24px}
  .booking-template-page .countdown h4{font-size:15px}
  .booking-template-page .countdown p{font-size:10px}
  .booking-company-kicker{padding:5px 10px;font-size:8px}
  .booking-storefront-meta{display:grid;grid-template-columns:1fr;gap:0;margin-top:13px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(18,7,29,.25)}
  .booking-storefront-meta>span{min-height:40px;padding:8px 11px;border:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
  .booking-storefront-meta>span+span{border-top:1px solid rgba(255,255,255,.12)}
  .booking-storefront-meta b{font-size:9px}
  .booking-storefront-actions{gap:7px;margin-top:8px}
  .booking-storefront-stat{min-height:68px;padding:8px 4px;border-radius:14px}
  .booking-storefront-stat i{font-size:14px}.booking-storefront-stat strong{font-size:14px}.booking-storefront-stat span{font-size:7px}
  .booking-storefront-campaign{min-height:59px;gap:8px;margin-top:8px;padding:8px 10px;border-radius:15px}
  .booking-storefront-campaign-icon{width:36px;height:36px;flex-basis:36px;border-radius:11px;font-size:15px}
  .booking-storefront-campaign-copy small{font-size:7px}.booking-storefront-campaign-copy strong{font-size:9px}
  .booking-storefront-campaign-count{min-width:23px;height:23px;font-size:8px}

  .sf-modal{padding:10px}
  .sf-modal__card{width:calc(100vw - 20px);max-height:calc(100svh - 20px);border-radius:22px}
  .sf-modal__header{min-height:64px;padding:13px 14px}
  .sf-modal__heading>span{display:none}
  .sf-modal__heading h2{font-size:19px}
  .sf-modal__close{width:38px;height:38px;flex-basis:38px}
  .sf-modal__body{padding:13px}
  .sf-company-card{grid-template-columns:58px minmax(0,1fr);gap:11px;padding:12px;border-radius:16px}
  .sf-company-card__logo{width:58px;height:58px;border-radius:15px}
  .sf-company-card__copy h3,.sf-section-title h3{font-size:16px}
  .sf-company-card__copy p{font-size:9.5px;line-height:1.45}
  .sf-facts{grid-template-columns:1fr;gap:7px}
  .sf-fact{grid-template-columns:36px minmax(0,1fr);padding:10px}
  .sf-fact>i{width:36px;height:36px}
  .sf-fact strong{font-size:9.5px}
  .sf-section-title{margin:16px 0 9px}
  .sf-section-title--first{margin-top:0}
  .sf-staff-card{grid-template-columns:48px minmax(0,1fr);gap:9px;padding:10px}
  .sf-staff-card>img{width:48px;height:48px}
  .sf-staff-card__copy{padding-right:46px}
  .sf-staff-card__rating{position:absolute;top:10px;right:10px}
  .sf-rating-card{grid-template-columns:46px auto minmax(0,1fr);gap:9px;padding:12px}
  .sf-rating-card__icon{width:46px;height:46px}
  .sf-rating-card__score strong{font-size:20px}
  .sf-review-card,.sf-campaign-card{padding:12px}
}
