/* BookMyStudio logo palette: midnight navy, electric blue and cool white. */

/* First-visit welcome intro */
.bms-welcome-intro { position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 42%,#18366bdc 0,#071329f2 66%);backdrop-filter:blur(12px);opacity:1;transition:opacity .35s ease; }
.bms-welcome-intro[hidden] { display:none; }
.bms-welcome-intro.is-leaving { opacity:0;pointer-events:none; }
.bms-welcome-card { width:min(100%,560px);padding:clamp(30px,6vw,58px);border:1px solid #ffffff20;border-radius:30px;background:linear-gradient(145deg,#15243b,#0d1728);box-shadow:0 35px 100px #02081780;text-align:center;animation:bms-welcome-rise .65s cubic-bezier(.2,.75,.25,1) both; }
.bms-welcome-logo { display:block;width:min(240px,75%);height:auto;max-height:70px;object-fit:contain;margin:0 auto 26px;filter:brightness(0) invert(1); }
.bms-welcome-kicker { color:#1764eb;font-size:11px;font-weight:800;letter-spacing:.19em; }
.bms-welcome-card h2 { margin:14px 0 12px;color:#f2f6fc;font-size:clamp(32px,6vw,48px);font-weight:800;letter-spacing:-.055em;line-height:1.04; }
.bms-welcome-card h2 em { color:#1764eb;font-style:normal; }
.bms-welcome-card p { max-width:420px;margin:0 auto;color:#bdcbe0;font-size:15px;line-height:1.7; }
.bms-welcome-cta { display:inline-flex;align-items:center;gap:10px;margin:24px auto 12px;padding:13px 21px;border-radius:12px;background:#1764eb;color:#fff;text-decoration:none;font-size:14px;font-weight:750;box-shadow:0 8px 20px #1764eb38;transition:transform .2s,background .2s; }
.bms-welcome-cta:hover { transform:translateY(-2px);background:#0d52d0;color:#fff; }
.bms-welcome-dismiss { display:block;margin:0 auto;border:0;background:transparent;color:#a7b7cf;font-size:12px;font-weight:650;cursor:pointer; }
.bms-welcome-dismiss:hover { color:#1764eb; }
body.bms-welcome-open { overflow:hidden; }
@keyframes bms-welcome-rise { from { opacity:0;transform:translateY(24px) scale(.97); } to { opacity:1;transform:translateY(0) scale(1); } }
@media(prefers-reduced-motion:reduce) { .bms-welcome-intro,.bms-welcome-card,.bms-welcome-cta { animation:none;transition:none; } }

/* Keep the homepage aligned to the viewport when full-bleed sections render. */
body:has(.bms-home) { overflow-x:hidden; }
body:has(.bms-home) .bms-home { width:100%;min-width:0;box-sizing:border-box;overflow-x:visible; }
body:has(.bms-home) .bms-home > :is(.bms-hero,.bms-trust,.bms-categories,.bms-business,.bms-featured,.bms-benefits,.bms-cities,.bms-steps,.bms-home-faq,.bms-stats,.bms-owner-cta) { min-width:0; }
body:has(.bms-home) .bms-home > .bms-benefits { grid-template-columns:minmax(0,1.2fr) repeat(6,minmax(0,1fr)); }
body:has(.bms-home) .bms-benefit-title { min-width:0;overflow-wrap:anywhere; }
body:has(.bms-home) .bms-benefit-title h2 { overflow-wrap:anywhere; }
@media(max-width:991.98px) {
  body:has(.bms-home) .bms-home > .bms-benefits { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body:has(.bms-home) .bms-home > .bms-benefits > .bms-benefit-title { grid-column:1/-1; }
}
@media(max-width:575.98px) {
  body:has(.bms-home) .bms-home > .bms-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:992px) {
  body:has(.bms-bottom-nav) .bms-home { padding-bottom:140px!important; }
}

/* Last-loaded overrides for dark homepage steps, FAQs, and statistics. */
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-section-head h2,
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-heading h2 { color:#f2f6fc!important;-webkit-text-fill-color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-section-subtitle,
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-heading p { color:#b8c7dc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step { border-color:#2e405a!important;background:linear-gradient(145deg,#172438,#121d2e)!important;color:#edf3fc!important;box-shadow:0 7px 20px #0002; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step>b { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step>small,
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step-arrow { color:#b7c6dc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step>strong { color:#8db7ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps-guide-link { border-color:#2e405a;background:#172438!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps-guide-link span { color:#c0cde0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-list details { border-color:#2e405a;background:#172438!important;box-shadow:0 6px 18px #0002; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-list summary { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-list details p { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-heading>a { color:#91b8ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats { border:1px solid #2e405a;background:linear-gradient(110deg,#151f30,#19263a)!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats>div { border-color:#34445d!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats b { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats small { color:#b8c7dc!important; }

/* Dark-mode contrast for homepage steps, FAQs, and platform statistics. */
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-section-head h2,
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-heading h2 { color:#f2f6fc!important;-webkit-text-fill-color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-section-subtitle,
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-heading p { color:#b8c7dc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step {
  border-color:#2e405a!important;background:linear-gradient(145deg,#172438,#121d2e)!important;color:#edf3fc!important;box-shadow:0 7px 20px #0002;
}
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step>b { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step>small,
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step-arrow { color:#b7c6dc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step>strong { color:#8db7ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps-guide-link { border-color:#2e405a;background:#172438!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps-guide-link span { color:#c0cde0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-list details { border-color:#2e405a;background:#172438!important;box-shadow:0 6px 18px #0002; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-list summary { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-list details p { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-heading>a { color:#91b8ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats { border:1px solid #2e405a;background:linear-gradient(110deg,#151f30,#19263a)!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats>div { border-color:#34445d!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats b { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats small { color:#b8c7dc!important; }

/* High contrast surfaces and copy for the homepage in dark mode. */
html[data-theme="dark"] body:has(.bms-home) .bms-business {
  background:linear-gradient(112deg,#111c2d,#14243a)!important;
  border-top:1px solid #263a56;border-bottom:1px solid #263a56;
}
html[data-theme="dark"] body:has(.bms-home) .bms-business-intro .bms-eyebrow,
html[data-theme="dark"] body:has(.bms-home) .bms-cities .bms-eyebrow { color:#91b8ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-intro h2,
html[data-theme="dark"] body:has(.bms-home) .bms-benefit-title h2,
html[data-theme="dark"] body:has(.bms-home) .bms-cities .bms-section-head h2 { color:#f2f6fc!important;-webkit-text-fill-color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-intro p { color:#c0cde0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-card {
  border:1px solid #dfe7f3;background:#f8faff!important;color:#1b2942!important;
}
html[data-theme="dark"] body:has(.bms-home) .bms-business-card b { color:#253b5c!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-card small { color:#586a86!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-benefits {
  border-color:#2b3d57!important;background:linear-gradient(110deg,#151f30,#19263a)!important;
  box-shadow:0 12px 30px #0002;
}
html[data-theme="dark"] body:has(.bms-home) .bms-benefit { border-color:#34445d!important;color:#e6edf7!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-cities .bms-section-head h2 { text-shadow:none; }
:root {
  --bms-navy: #0c1220;
  --bms-blue: #1268f5;
  --bms-blue-hover: #0b4fd1;
  --bms-indigo: #3036e8;
  --bs-primary: #1268f5;
  --bs-primary-rgb: 18, 104, 245;
  --bs-primary-text-emphasis: #0b4fd1;
  --bs-primary-bg-subtle: #eaf2ff;
  --bs-primary-border-subtle: #b9d2ff;
  --bg-body: #f5f8ff;
  --bg-card: #fff;
  --bg-card-subtle: #eef3fb;
  --bg-card-hover: #fff;
  --border-color: #dce5f2;
  --border-color-subtle: #eaf0f8;
  --primary: var(--bms-blue);
  --primary-hover: var(--bms-blue-hover);
  --primary-light: #eaf2ff;
  --primary-gradient: linear-gradient(115deg, #0786f7 0%, #1268f5 55%, #3036e8 100%);
  --accent: var(--bms-indigo);
  --accent-light: #edf0ff;
  --text-main: var(--bms-navy);
  --text-secondary: #39465d;
  --text-muted: #64748b;
  --text-light: #91a0b5;
  --shadow-xs: 0 1px 2px rgb(12 18 32 / 5%);
  --shadow-sm: 0 3px 10px rgb(12 35 74 / 6%);
  --shadow-md: 0 8px 22px rgb(12 35 74 / 8%);
  --shadow-lg: 0 14px 34px rgb(12 35 74 / 11%);
  --shadow-xl: 0 20px 44px rgb(12 35 74 / 14%);
}

body:not(.dashboard-body) { background: var(--bg-body); color: var(--text-main); }
a { --bs-link-color-rgb: 18, 104, 245; }
a:hover { --bs-link-hover-color-rgb: 11, 79, 209; }
.text-primary { color: var(--bms-blue) !important; }
.bg-primary { background-color: var(--bms-blue) !important; }
.bg-primary-subtle { background-color: #eaf2ff !important; }
.border-primary { border-color: #b9d2ff !important; }
.text-gradient {
  background: linear-gradient(115deg, #0786f7 0%, #1268f5 55%, #3036e8 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

.navbar-glass {
  background: rgb(255 255 255 / 97%);
  border-bottom-color: #e2eaf5;
  box-shadow: 0 3px 14px rgb(12 35 74 / 6%);
}
.navbar-glass .nav-link { color: #38445a !important; }
.navbar-glass .nav-link:hover,
.navbar-glass .nav-link.active { color: var(--bms-blue) !important; }
.navbar-glass .navbar-toggler { color: var(--bms-navy) !important; }
.site-wordmark { color: var(--bms-navy) !important; }

.btn-primary-gradient,
.btn-primary,
.studio-booking-submit {
  color: #fff !important;
  background: var(--primary-gradient) !important;
  border: 1px solid #1268f5 !important;
  box-shadow: 0 5px 14px rgb(18 104 245 / 20%);
}
.btn-primary-gradient:hover,
.btn-primary:hover,
.studio-booking-submit:hover {
  color: #fff !important;
  background: linear-gradient(115deg, #0874e7, #0b4fd1 62%, #272dcb) !important;
  border-color: #0b4fd1 !important;
  box-shadow: 0 7px 18px rgb(18 104 245 / 25%);
}
body:not(.dashboard-body) .btn-primary-gradient,
body:not(.dashboard-body) .btn-primary,
body:not(.dashboard-body) .studio-booking-submit,
.studios-filter-submit,
.studios-page .btn-primary-gradient {
  color: #fff !important;
  background: var(--primary-gradient) !important;
  border-color: #1268f5 !important;
  box-shadow: 0 5px 14px rgb(18 104 245 / 20%) !important;
}
body:not(.dashboard-body) .btn-primary-gradient:hover,
body:not(.dashboard-body) .btn-primary:hover,
body:not(.dashboard-body) .studio-booking-submit:hover,
.studios-filter-submit:hover,
.studios-page .btn-primary-gradient:hover {
  color: #fff !important;
  background: linear-gradient(115deg, #0874e7, #0b4fd1 62%, #272dcb) !important;
  border-color: #0b4fd1 !important;
}
body:has(.bms-home) .navbar-glass .btn-primary-gradient,
body:has(.studios-page) .navbar-glass .btn-primary-gradient,
body:has(.studio-detail-page) .navbar-glass .btn-primary-gradient {
  color: #fff !important;
  background: var(--primary-gradient) !important;
  border-color: #1268f5 !important;
}
body:has(.studio-detail-page) .studio-booking-submit,
.studio-detail-page .studio-booking-submit {
  color: #fff !important;
  background: var(--primary-gradient) !important;
  border-color: #1268f5 !important;
}
.btn-outline-primary {
  --bs-btn-color: #1268f5;
  --bs-btn-border-color: #b9d2ff;
  --bs-btn-hover-bg: #1268f5;
  --bs-btn-hover-border-color: #1268f5;
  --bs-btn-hover-color: #fff;
}
.btn-outline-custom { border-color: #cbd8ea; color: #344158 !important; background: #fff; }
.btn-outline-custom:hover { border-color: #1268f5; color: #0b4fd1 !important; background: #edf4ff; }
.form-control:focus,
.form-select:focus,
.form-check-input:focus { border-color: #75a8ff; box-shadow: 0 0 0 .2rem rgb(18 104 245 / 15%); }
.form-check-input:checked { background-color: #1268f5; border-color: #1268f5; }

.site-footer { background: #fff; border-top: 1px solid #dce5f2; color: #39465d; }
.site-footer h6,
.site-footer .text-dark,
.site-footer .fs-5 { color: #0c1220 !important; }
.site-footer .text-muted,
.site-footer .footer-link { color: #526179 !important; }
.site-footer .footer-link:hover { color: #1268f5 !important; }
.site-footer .site-wordmark { color: #0c1220 !important; }
.site-footer .footer-bottom { border-top-color: #dce5f2 !important; color: #64748b !important; }

.bms-contact-page { min-height: 65vh; padding: 54px 24px 68px; background:radial-gradient(ellipse at 50% 0,#eaf2ff 0,transparent 48%),#f8faff; }
.bms-contact-shell { width:min(100%,1050px);margin:0 auto; }
.bms-contact-hero { max-width:690px;margin:0 auto 36px;text-align:center; }
.bms-contact-eyebrow { display:inline-flex;align-items:center;gap:8px;color:#1764eb;font-size:11px;font-weight:800;letter-spacing:.14em; }
.bms-contact-hero h1 { margin:14px 0 10px;color:#101a32;font-size:clamp(34px,4vw,48px);font-weight:750;letter-spacing:-.055em;line-height:1.1; }
.bms-contact-hero p { max-width:620px;margin:0 auto;color:#60708b;font-size:15px;line-height:1.7; }
.bms-contact-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.bms-contact-card { display:flex;align-items:flex-start;gap:18px;min-width:0;padding:28px;border:1px solid #e2e9f4;border-radius:18px;background:#fff;box-shadow:0 8px 24px #1b3c6a0a;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.bms-contact-card:hover { transform:translateY(-2px);border-color:#c9daf8;box-shadow:0 14px 30px #1b3c6a12; }
.bms-contact-icon { display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border:1px solid #dce9ff;border-radius:14px;background:#eff5ff;color:#1764eb;font-size:19px; }
.bms-contact-icon.phone { border-color:#d9eee4;background:#eff9f3;color:#15804b; }
.bms-contact-card-copy { min-width:0; }
.bms-contact-label { color:#7b8ba5;font-size:10px;font-weight:800;letter-spacing:.12em; }
.bms-contact-card h2 { margin:5px 0 6px;color:#14203a;font-size:18px;font-weight:750;letter-spacing:-.025em; }
.bms-contact-card p { margin:0 0 15px;color:#687994;font-size:13px;line-height:1.55; }
.bms-contact-action { display:inline-flex;align-items:center;gap:8px;color:#1764eb;font-size:14px;font-weight:750;overflow-wrap:anywhere;text-decoration:none; }
.bms-contact-action:hover { color:#104ec0;text-decoration:underline;text-underline-offset:3px; }
.bms-contact-note { display:flex;align-items:flex-start;gap:12px;max-width:760px;margin:22px auto 0;padding:15px 18px;border:1px solid #e2eaf6;border-radius:13px;background:#f1f6ff;color:#586b88; }
.bms-contact-note-icon { color:#1764eb;font-size:16px;line-height:1.5; }
.bms-contact-note p { margin:0;font-size:12px;line-height:1.6; }
.bms-contact-note strong { color:#273b5b; }
@media(max-width:640px) {
  .bms-contact-page { padding:38px 18px 48px; }
  .bms-contact-hero { margin-bottom:26px;text-align:left; }
  .bms-contact-hero h1 { font-size:35px; }
  .bms-contact-options { grid-template-columns:1fr;gap:12px; }
  .bms-contact-card { gap:14px;padding:21px 18px;border-radius:16px; }
  .bms-contact-icon { width:43px;height:43px;flex-basis:43px;border-radius:12px; }
  .bms-contact-note { margin-top:16px;padding:13px 14px; }
}

.bms-about-page { width:min(100%,1320px);margin:0 auto;padding:38px 28px 76px;color:#14203a; }
.bms-about-hero { display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:56px;min-height:365px;padding:30px 0 35px; }
.bms-about-hero-copy { max-width:570px; }
.bms-about-eyebrow,.bms-about-section-kicker { display:inline-flex;align-items:center;gap:8px;color:#1764eb;font-size:10px;font-weight:800;letter-spacing:.15em; }
.bms-about-hero h1 { max-width:560px;margin:17px 0 14px;color:#111d38;font-size:clamp(42px,5vw,64px);font-weight:800;letter-spacing:-.065em;line-height:1.01; }
.bms-about-hero h1 em { color:#1764eb;font-style:normal; }
.bms-about-hero-copy>p { max-width:510px;margin:0;color:#60708b;font-size:15px;line-height:1.75; }
.bms-about-hero-actions { display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:23px; }
.bms-about-hero-actions .btn,.bms-about-owner>.btn { min-height:46px;padding:12px 19px;border-radius:12px;font-size:13px;font-weight:700; }
.bms-about-text-link { color:#345174;font-size:13px;font-weight:700;text-decoration:none; }
.bms-about-text-link:hover { color:#1764eb; }
.bms-about-hero-art { position:relative;min-height:330px; }
.bms-about-art-image { position:absolute;inset:0 0 18px 22px;overflow:hidden;border:1px solid #fff;border-radius:24px;background:linear-gradient(180deg,#13203900 40%,#13203922),url('https://images.unsplash.com/photo-1492619375914-88005aa9e8fb?auto=format&fit=crop&w=1300&q=85') center 48%/cover;box-shadow:0 18px 46px #193d701b; }
.bms-about-art-note { position:absolute;right:20px;bottom:0;display:flex;align-items:center;gap:12px;max-width:300px;padding:14px 17px;border:1px solid #e4ebf5;border-radius:15px;background:#fff;box-shadow:0 10px 25px #193d7019; }
.bms-about-art-note>span { display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;background:#edf4ff;color:#1764eb; }
.bms-about-art-note>div { display:grid;gap:3px; }
.bms-about-art-note strong { color:#172440;font-size:12px; }
.bms-about-art-note small { color:#75839b;font-size:10px; }
.bms-about-stats { display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:20px;margin:10px 0 72px;padding:23px 24px;border:1px solid #e6ecf5;border-radius:18px;background:#fff;box-shadow:0 10px 28px #163c7009; }
.bms-about-stats-intro p { max-width:270px;margin:7px 0 0;color:#77859b;font-size:11px;line-height:1.6; }
.bms-about-stats-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
.bms-about-stats-grid article { display:flex;align-items:center;justify-content:center;gap:11px;padding:8px 10px;border-right:1px solid #e9eef6; }
.bms-about-stats-grid article:last-child { border:0; }
.bms-about-stat-icon { display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:13px;font-size:18px; }
.bms-about-stat-icon.blue { background:#edf4ff;color:#1764eb; }.bms-about-stat-icon.green { background:#eaf7ef;color:#15804b; }.bms-about-stat-icon.amber { background:#fff4e5;color:#b36b0b; }.bms-about-stat-icon.violet { background:#f1edff;color:#7047d1; }
.bms-about-stats-grid article>div { display:grid;gap:2px; }
.bms-about-stats strong { color:#13203a;font-size:23px;font-weight:800;letter-spacing:-.04em;line-height:1; }
.bms-about-stats-grid article>div>span { color:#71809a;font-size:11px; }
.bms-about-intro { margin:0 0 27px; }
.bms-about-intro-grid { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:60px;margin-top:12px; }
.bms-about-intro h2,.bms-about-owner h2,.bms-about-contact h2 { margin:0;color:#14203a;font-size:clamp(27px,3vw,36px);font-weight:750;letter-spacing:-.05em;line-height:1.16; }
.bms-about-intro-grid p { max-width:600px;margin:2px 0 0;color:#63738e;font-size:14px;line-height:1.8; }
.bms-about-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0 0 74px; }
.bms-about-steps article { position:relative;min-height:220px;padding:23px 23px 21px;border:1px solid #e5ebf4;border-radius:16px;background:#fff; }
.bms-about-step-number { position:absolute;top:21px;right:22px;color:#b4bfd0;font-size:11px;font-weight:800;letter-spacing:.1em; }
.bms-about-step-icon { display:grid;width:43px;height:43px;place-items:center;border-radius:13px;background:#edf4ff;color:#1764eb;font-size:18px; }
.bms-about-steps h3 { margin:20px 0 8px;color:#16223c;font-size:16px;font-weight:750; }
.bms-about-steps p { max-width:330px;margin:0;color:#6a7a94;font-size:12px;line-height:1.7; }
.bms-about-owner { display:flex;align-items:center;gap:20px;margin-bottom:58px;padding:27px 30px;border:1px solid #dfe9fb;border-radius:18px;background:linear-gradient(110deg,#f0f6ff,#fff 72%); }
.bms-about-owner-icon { display:grid;width:52px;height:52px;flex:0 0 52px;place-items:center;border-radius:15px;background:#e5efff;color:#1764eb;font-size:22px; }
.bms-about-owner-copy { flex:1; }
.bms-about-owner h2 { margin:5px 0 6px;font-size:23px; }
.bms-about-owner-copy p { max-width:680px;margin:0;color:#697a95;font-size:12px;line-height:1.6; }
.bms-about-contact { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:5px 2px; }
.bms-about-contact h2 { margin:6px 0;font-size:26px; }
.bms-about-contact p { margin:0;color:#6a7a94;font-size:13px; }
.bms-about-contact>a { display:inline-flex;align-items:center;gap:7px;color:#1764eb;font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap; }
.bms-about-contact>a:hover { color:#104ec0; }
@media(max-width:760px) {
  .bms-about-page { padding:27px 20px 54px; }
  .bms-about-hero { grid-template-columns:1fr;gap:28px;min-height:0;padding:15px 0 26px; }
  .bms-about-hero h1 { max-width:520px;font-size:clamp(40px,10vw,54px); }
  .bms-about-hero-art { min-height:260px; }
  .bms-about-art-image { inset:0 0 14px 0;border-radius:19px; }
  .bms-about-art-note { right:12px; }
  .bms-about-stats { grid-template-columns:1fr;gap:8px;margin:8px 0 52px;padding:17px; }
  .bms-about-stats-intro p { max-width:none; }
  .bms-about-stats-grid { grid-template-columns:1fr; }
  .bms-about-stats-grid article { justify-content:flex-start;min-height:64px;padding:9px 2px;border-right:0;border-bottom:1px solid #e9eef6; }
  .bms-about-stats-grid article:last-child { border-bottom:0; }
  .bms-about-intro-grid { grid-template-columns:1fr;gap:12px; }
  .bms-about-steps { grid-template-columns:1fr;gap:10px;margin-bottom:50px; }
  .bms-about-steps article { min-height:0;padding:19px; }
  .bms-about-steps h3 { margin-top:14px; }
  .bms-about-owner { align-items:flex-start;flex-wrap:wrap;margin-bottom:42px;padding:21px; }
  .bms-about-owner-copy { flex-basis:calc(100% - 76px); }
  .bms-about-owner>.btn { margin-left:72px; }
  .bms-about-contact { align-items:flex-start;flex-direction:column; }
}
@media(max-width:420px) {
  .bms-about-stat-icon { width:38px;height:38px;flex-basis:38px; }
  .bms-about-stats strong { font-size:20px; }
  .bms-about-stats-grid article>div>span { font-size:10px; }
}

.bms-how-page { width:min(100%,1080px);margin:0 auto;padding:44px 28px 78px;color:#14203a; }
.bms-how-hero { max-width:760px;margin:0 auto 32px;text-align:center; }
.bms-how-eyebrow,.bms-how-kicker { display:inline-flex;align-items:center;gap:8px;color:#1764eb;font-size:10px;font-weight:800;letter-spacing:.15em; }
.bms-how-hero h1 { margin:15px 0 12px;color:#111d38;font-size:clamp(38px,5.5vw,60px);font-weight:800;letter-spacing:-.065em;line-height:1.02; }
.bms-how-hero h1 em { color:#1764eb;font-style:normal; }
.bms-how-hero>p { max-width:620px;margin:0 auto;color:#60708b;font-size:15px;line-height:1.7; }
.bms-how-hero-actions { display:flex;justify-content:center;align-items:center;gap:22px;margin-top:22px; }
.bms-how-hero-actions .btn,.bms-how-owner-heading .btn,.bms-how-footer-cta .btn { min-height:44px;padding:11px 17px;border-radius:11px;font-size:13px;font-weight:700; }
.bms-how-owner-link { color:#526784;font-size:13px;font-weight:700;text-decoration:none; }
.bms-how-owner-link:hover { color:#1764eb; }
.bms-how-toc { position:sticky;top:68px;z-index:5;display:flex;justify-content:center;gap:5px;overflow-x:auto;margin:0 0 55px;padding:8px;border:1px solid #e5ebf4;border-radius:14px;background:#ffffffed;box-shadow:0 5px 18px #193d700c;backdrop-filter:blur(12px);scrollbar-width:none; }
.bms-how-toc::-webkit-scrollbar { display:none; }
.bms-how-toc a { flex:0 0 auto;padding:9px 13px;border-radius:9px;color:#5c6e88;font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap; }
.bms-how-toc a:hover,.bms-how-toc a:focus-visible { background:#eef4ff;color:#1764eb; }
.bms-how-section,.bms-how-customer-tools,.bms-how-faq { margin-bottom:62px;scroll-margin-top:145px; }
.bms-how-section-heading { max-width:660px;margin-bottom:22px; }
.bms-how-section-heading h2,.bms-how-after-heading h2,.bms-how-owner-heading h2,.bms-how-footer-cta h2 { margin:7px 0 8px;color:#14203a;font-size:clamp(26px,3vw,34px);font-weight:760;letter-spacing:-.05em;line-height:1.16; }
.bms-how-section-heading>p,.bms-how-after-heading>p,.bms-how-owner-heading>p,.bms-how-footer-cta p { margin:0;color:#687994;font-size:13px;line-height:1.7; }
.bms-how-booking-steps { display:grid;gap:11px; }
.bms-how-step { position:relative;display:grid;grid-template-columns:38px 48px minmax(0,1fr);align-items:start;gap:15px;padding:22px 24px;border:1px solid #e5ebf4;border-radius:16px;background:#fff;box-shadow:0 5px 17px #193d7008; }
.bms-how-step-count { padding-top:3px;color:#99a7bc;font-size:11px;font-weight:800;letter-spacing:.09em; }
.bms-how-step-icon { display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:#edf4ff;color:#1764eb;font-size:18px; }
.bms-how-step h3,.bms-how-info-grid h3,.bms-how-tools-grid h3,.bms-how-owner-steps h3 { margin:0 0 6px;color:#172440;font-size:15px;font-weight:750;letter-spacing:-.02em; }
.bms-how-step p,.bms-how-info-grid p,.bms-how-tools-grid p,.bms-how-owner-steps p { margin:0;color:#64758f;font-size:12px;line-height:1.75; }
.bms-how-step a,.bms-how-tools-grid a { color:#1764eb;font-weight:700;text-decoration:none; }
.bms-how-step a:hover,.bms-how-tools-grid a:hover { text-decoration:underline;text-underline-offset:3px; }
.bms-how-after { display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:22px 36px;margin-bottom:65px;padding:28px;border:1px solid #e4ebf5;border-radius:18px;background:#f7faff;scroll-margin-top:140px; }
.bms-how-after-heading { align-self:start; }
.bms-how-after-heading h2 { font-size:28px; }
.bms-how-info-grid { display:grid;gap:11px; }
.bms-how-info-grid article { display:grid;grid-template-columns:38px minmax(0,1fr);gap:1px 12px;padding:14px;border:1px solid #e7edf6;border-radius:13px;background:#fff; }
.bms-how-info-icon { display:grid;grid-row:1/3;width:36px;height:36px;place-items:center;border-radius:11px;font-size:15px; }
.bms-how-info-icon.pending { background:#fff5e8;color:#a96510; }.bms-how-info-icon.pricing { background:#eef5ff;color:#1764eb; }.bms-how-info-icon.cancel { background:#fdf0f0;color:#b33d3d; }
.bms-how-info-grid h3 { align-self:end;margin:0;font-size:13px; }
.bms-how-info-grid p { font-size:11px; }
.bms-how-price-note { grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;margin-top:1px;padding:13px 15px;border:1px solid #dce8fb;border-radius:12px;background:#eef5ff;color:#1764eb; }
.bms-how-price-note>i { margin-top:2px; }
.bms-how-price-note p { margin:0;color:#566d8b;font-size:11px;line-height:1.65; }
.bms-how-price-note strong { color:#24466f; }
.bms-how-tools-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.bms-how-tools-grid article { display:grid;grid-template-columns:38px minmax(0,1fr);gap:0 12px;padding:17px;border:1px solid #e5ebf4;border-radius:14px;background:#fff; }
.bms-how-tools-grid article>i { display:grid;grid-row:1/3;width:36px;height:36px;place-items:center;border-radius:11px;background:#f0f5ff;color:#1764eb;font-size:16px; }
.bms-how-tools-grid h3 { align-self:end;margin:0 0 3px;font-size:13px; }
.bms-how-tools-grid p { font-size:11px; }
.bms-how-owner-section { display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:30px;padding:30px;border:1px solid #e0e8f4;border-radius:18px;background:#fff;box-shadow:0 8px 25px #173b6b0b;scroll-margin-top:140px; }
.bms-how-owner-heading { align-self:start;position:sticky;top:145px; }
.bms-how-owner-heading h2 { font-size:30px; }
.bms-how-owner-heading>p { margin-bottom:18px; }
.bms-how-owner-steps { display:grid;gap:0; }
.bms-how-owner-steps article { position:relative;padding:0 0 20px 32px;border-left:1px solid #dce6f5; }
.bms-how-owner-steps article:last-child { padding-bottom:0;border-left-color:transparent; }
.bms-how-owner-steps article>b { position:absolute;top:0;left:-15px;display:grid;width:29px;height:29px;place-items:center;border:1px solid #d8e6fc;border-radius:50%;background:#f1f6ff;color:#1764eb;font-size:9px;font-weight:800; }
.bms-how-owner-steps h3 { margin:0 0 5px;font-size:13px; }
.bms-how-owner-steps p { font-size:11px; }
.bms-how-faq details { border-bottom:1px solid #e6ecf4; }
.bms-how-faq details:first-of-type { border-top:1px solid #e6ecf4; }
.bms-how-faq summary { position:relative;padding:17px 32px 17px 0;color:#1b2b47;font-size:13px;font-weight:700;list-style:none;cursor:pointer; }
.bms-how-faq summary::-webkit-details-marker { display:none; }
.bms-how-faq summary:after { position:absolute;right:4px;content:'+';color:#1764eb;font-size:21px;font-weight:500;line-height:1; }
.bms-how-faq details[open] summary:after { content:'−'; }
.bms-how-faq details p { max-width:820px;margin:-3px 0 17px;color:#687994;font-size:12px;line-height:1.7; }
.bms-how-footer-cta { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 27px;border:1px solid #dce8fb;border-radius:17px;background:linear-gradient(100deg,#f1f6ff,#fff); }
.bms-how-footer-cta h2 { margin:5px 0;font-size:22px; }
.bms-how-footer-cta p { font-size:12px; }
.bms-steps-guide-link { display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:19px;padding:14px 17px;border:1px solid #e1e9f5;border-radius:12px;background:#fff; }
.bms-steps-guide-link span { color:#657692;font-size:12px; }
.bms-steps-guide-link a { display:inline-flex;align-items:center;gap:7px;color:#1764eb;font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap; }
.bms-steps-guide-link a:hover { color:#104ec0; }
@media(max-width:760px) {
  .bms-how-page { padding:32px 20px 58px; }
  .bms-how-hero { margin-bottom:25px;text-align:left; }
  .bms-how-hero h1 { font-size:clamp(38px,9vw,52px); }
  .bms-how-hero-actions { justify-content:flex-start;gap:16px; }
  .bms-how-toc { top:58px;justify-content:flex-start;margin-bottom:36px; }
  .bms-how-section,.bms-how-customer-tools,.bms-how-faq { margin-bottom:46px;scroll-margin-top:125px; }
  .bms-how-step { grid-template-columns:28px 40px minmax(0,1fr);gap:10px;padding:17px 14px;border-radius:13px; }
  .bms-how-step-icon { width:38px;height:38px;border-radius:11px;font-size:16px; }
  .bms-how-step h3 { font-size:14px; }
  .bms-how-step p { font-size:11px; }
  .bms-how-after { grid-template-columns:1fr;gap:17px;margin-bottom:48px;padding:20px; }
  .bms-how-price-note { grid-column:1; }
  .bms-how-owner-section { grid-template-columns:1fr;gap:25px;margin-bottom:45px;padding:22px; }
  .bms-how-owner-heading { position:static; }
  .bms-how-owner-heading h2 { max-width:520px;font-size:27px; }
  .bms-how-footer-cta { align-items:flex-start;flex-direction:column;gap:16px;padding:20px; }
  .bms-steps-guide-link { align-items:flex-start;flex-direction:column; }
}
@media(max-width:480px) {
  .bms-how-tools-grid { grid-template-columns:1fr; }
  .bms-how-step { grid-template-columns:38px minmax(0,1fr);gap:11px;padding:15px 14px; }
  .bms-how-step-icon { grid-column:1;grid-row:1;width:38px;height:38px; }
  .bms-how-step-count { position:absolute;top:20px;right:15px;padding:0; }
  .bms-how-step>div:last-child { grid-column:1/-1;grid-row:2; }
}

.bms-home>.bms-steps { order:10; }
.bms-home>.bms-home-faq { order:11;width:100%;max-width:1080px;margin:0 auto 34px;scroll-margin-top:110px; }
.bms-home>.bms-stats { order:12; }
.bms-home>.bms-owner-cta { order:13; }
.bms-home-faq-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px; }
.bms-home-faq-heading h2 { margin:5px 0;color:#14203a;font-size:clamp(23px,2.5vw,30px);font-weight:750;letter-spacing:-.045em; }
.bms-home-faq-heading p { margin:0;color:#6b7b95;font-size:12px; }
.bms-home-faq-heading>a { display:inline-flex;align-items:center;gap:7px;padding-bottom:3px;color:#1764eb;font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap; }
.bms-home-faq-heading>a:hover { color:#104ec0; }
.bms-home-faq-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.bms-home-faq-list details { align-self:start;min-width:0;padding:0 16px;border:1px solid #e5ebf4;border-radius:13px;background:#fff;box-shadow:0 4px 14px #193d7008; }
.bms-home-faq-list summary { position:relative;padding:15px 27px 15px 0;color:#1c2b47;font-size:12px;font-weight:700;line-height:1.45;list-style:none;cursor:pointer; }
.bms-home-faq-list summary::-webkit-details-marker { display:none; }
.bms-home-faq-list summary:after { position:absolute;top:50%;right:1px;color:#1764eb;content:'+';font-size:20px;font-weight:500;transform:translateY(-50%); }
.bms-home-faq-list details[open] summary:after { content:'−'; }
.bms-home-faq-list details p { margin:0;padding:0 0 15px;color:#687994;font-size:11px;line-height:1.65; }
@media(max-width:991.98px) {
  .bms-home>.bms-home-faq { order:7!important; }
}
@media(max-width:640px) {
  .bms-home>.bms-home-faq { margin:4px 0 22px; }
  .bms-home-faq-heading { align-items:flex-start;flex-direction:column;gap:8px; }
  .bms-home-faq-list { grid-template-columns:1fr;gap:8px; }
  .bms-home-faq-list details { padding:0 13px;border-radius:11px; }
  .bms-home-faq-list summary { padding:13px 26px 13px 0;font-size:11px; }
}

/* Center public navigation links consistently across the site on desktop. */
@media(min-width:992px) {
  body:not(.dashboard-body) .navbar-glass>.container { display:flex;align-items:center; }
  body:not(.dashboard-body) .navbar-glass .navbar-collapse { display:flex!important;flex:1 1 auto;align-items:center;justify-content:center;min-width:0; }
  body:not(.dashboard-body) .navbar-glass .navbar-collapse>.navbar-nav { display:flex;flex:1 1 auto;align-items:center;justify-content:center;margin:0!important; }
  body:not(.dashboard-body) .navbar-glass .navbar-collapse>.d-flex { flex:0 0 auto;margin-left:16px;white-space:nowrap; }
}
@media(max-width:991.98px) {
  body:has(.bms-home) .bms-home>.bms-owner-demo-cta { order:4!important;margin:14px 0 25px!important;padding:24px 16px!important; }
  body:has(.bms-home) .bms-home>.bms-categories { order:5!important; }
}

/* Studio discovery desktop refresh */
body:has(.studios-page) { background: #f5f8fd; }
body:has(.studios-page) .studios-page { max-width: 1450px; width: min(calc(100% - 48px), 1360px); padding-top: 28px !important; }
body:has(.studios-page) .studios-discovery-hero { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px 18px; margin: 0 0 24px; padding: 4px 0 0; }
.studios-discovery-hero h1 { grid-column: 1/-1; margin: 0; color: #101828; font-size: clamp(30px,3.1vw,46px); font-weight: 800; letter-spacing: -.055em; line-height: 1.12; }
.studios-discovery-hero h1 span { color: #1268f5; }
.studios-discovery-hero>p { grid-column: 1/-1; margin: -7px 0 2px; color: #5a6b86; font-size: clamp(15px,1.35vw,19px); }
.studio-category-chips { grid-column: 1/-1; display: flex; gap: 9px; max-width: 100%; overflow-x: auto; padding: 2px 0 7px; scrollbar-width: thin; }
.studio-category-chip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; border: 1px solid #e0e8f4; border-radius: 13px; background: #fff; color: #263651; box-shadow: 0 2px 8px rgb(12 35 74 / 4%); font-size: 12px; font-weight: 650; text-decoration: none; transition: .18s ease; }
.studio-category-chip i { color: #1268f5; font-size: 15px; }
.studio-category-chip:hover,.studio-category-chip.is-active { border-color: #1268f5; color: #075ad8; }
.studio-category-chip.is-active { background: #1268f5; color: #fff; box-shadow: 0 5px 14px rgb(18 104 245 / 20%); }
.studio-category-chip.is-active i { color: #fff; }
.studio-hero-search { grid-column: 1; display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 58px; padding: 6px 7px 6px 17px; border: 1px solid #e0e8f4; border-radius: 17px; background: #fff; box-shadow: 0 8px 24px rgb(12 35 74 / 5%); }
.studio-hero-search>i { color: #425979; font-size: 19px; }
.studio-hero-search input { flex: 1 1 auto; min-width: 0; border: 0; outline: none; color: #14213a; background: transparent; font-size: 14px; }
.studio-hero-search input::placeholder { color: #70809a; }
.studio-hero-search .btn { min-width: 128px; min-height: 44px; border-radius: 12px; font-weight: 700; }
.studio-hero-nearby { grid-column: 2; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 144px; min-height: 58px; border: 1px solid #dce6f4; border-radius: 18px; background: #fff; color: #075fef; font-size: 14px; font-weight: 700; box-shadow: 0 8px 24px rgb(12 35 74 / 5%); }
.studio-hero-nearby:hover { border-color: #1268f5; color: #0b4fd1; background: #f4f8ff; }
body:has(.studios-page) .studios-page-header { gap: 12px; margin-bottom: 15px !important; padding-bottom: 0 !important; border: 0 !important; }
.studios-page-header h2 { font-size: 22px !important; letter-spacing: -.035em !important; }
.studios-page-tools { flex-wrap: wrap; }
.studio-view-switch { display: inline-flex; align-items: center; padding: 3px; border: 1px solid #dce5f2; border-radius: 11px; background: #fff; }
.studio-view-switch button { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 5px 11px; border: 0; border-radius: 8px; background: transparent; color: #44536d; font-size: 12px; font-weight: 650; }
.studio-view-switch button.is-active { color: #075fef; background: #eff5ff; box-shadow: inset 0 0 0 1px #cfe0ff; }
.studios-filter-card { border: 1px solid #e2eaf5 !important; border-radius: 17px !important; background: #fff !important; box-shadow: 0 8px 25px rgb(12 35 74 / 6%) !important; }
.studios-filter-card h5 { font-size: 18px; }
.studios-filter-card .form-control,.studios-filter-card .form-select { min-height: 42px; border-color: #dbe4f1; border-radius: 10px; background-color: #fff; color: #1e2b42; }
.studio-amenity-filters { padding: 0; border: 0; }
.studio-amenity-option { display: flex; align-items: center; gap: 9px; padding: 3px 0; color: #344158; font-size: 13px; }
.studio-amenity-option input { width: 16px; height: 16px; accent-color: #1268f5; }
.studio-results-grid { --bs-gutter-x: 15px; --bs-gutter-y: 15px; }
.studio-search-card { border-color: #e3eaf3 !important; border-radius: 15px !important; box-shadow: 0 6px 20px rgb(12 35 74 / 6%) !important; }
.studio-search-card:hover { border-color: #c6d9f7 !important; box-shadow: 0 13px 30px rgb(12 35 74 / 12%) !important; }
.studio-search-image { height: 180px !important; }
.studio-image-placeholder { display: flex; width: 100%; height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: #edf3fa; color: #72829a; font-size: 11px; }
.studio-image-placeholder i { font-size: 28px; }
.studio-search-image .verified-studio-pill { top: auto !important; bottom: 10px; left: 12px !important; right: auto !important; border-radius: 999px; padding: 5px 9px; color: #075fef; background: #fff; font-size: 11px; }
.studio-search-image .studio-result-heart { top: 10px !important; right: 10px !important; display: grid; place-items: center; width: 36px; height: 36px; margin: 0 !important; border: 1px solid #e5eaf2; }
.studio-search-categories { margin-bottom: 8px; }
.studio-search-category { border: 0; background: #eaf3ff; color: #075fef; }
.studio-search-category i { color: inherit; }
.studio-search-card-body { min-height: 0; padding: 13px 14px 14px !important; }
.studio-search-card-body h5 { max-width: 61%; color: #101828 !important; font-size: 16px !important; }
.studio-search-rating { flex: 0 0 auto; color: #344158; font-size: 11px; white-space: nowrap; }
.studio-search-rating i { color: #f5a400; }
.studio-search-rating.is-new { color: #667085; }
.studio-search-location { margin-bottom: 8px !important; color: #566782 !important; }
.studio-search-amenities { display: flex; flex-wrap: wrap; gap: 5px; min-height: 26px; margin-bottom: 8px; }
.studio-search-amenities span { display: inline-flex; align-items: center; gap: 4px; max-width: 112px; padding: 4px 7px; overflow: hidden; border-radius: 999px; background: #f1f5fb; color: #35455f; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.studio-search-amenities span i { color: #526b90; }
.studio-search-amenities .studio-amenity-extra { color: #075fef; background: #eaf2ff; }
.studio-search-card-body .border-top { padding-top: 10px !important; }
.studio-search-card-body .fs-4 { font-size: 19px !important; }
.studio-search-actions { display: flex; align-items: center; gap: 7px; }
.studio-search-actions .btn { min-height: 37px; padding: 8px 10px; border-radius: 9px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.studio-view-details { border: 1px solid #dce5f2; color: #075fef; background: #fff; }
.studio-view-details:hover { border-color: #1268f5; color: #0b4fd1; background: #f3f7ff; }
.studio-search-actions .studio-result-book { box-shadow: 0 4px 10px rgb(18 104 245 / 18%) !important; }
body:has(.studios-page) .studios-layout { --bs-gutter-x: 20px; }
.studio-map-layout { display: grid; grid-template-columns: minmax(310px, 45%) minmax(0, 55%); gap: 15px; min-height: 570px; }
.studio-map-layout[hidden] { display: none !important; }
.studio-map-list { display: flex; flex-direction: column; gap: 10px; max-height: min(70vh, 760px); overflow-y: auto; padding: 2px 5px 2px 1px; }
.studio-map-listing { display: grid; grid-template-columns: 105px minmax(0,1fr); gap: 12px; min-height: 130px; padding: 10px; border: 1px solid #e1e8f2; border-radius: 13px; background: #fff; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.studio-map-listing:hover,.studio-map-listing.is-selected { border-color: #1268f5; box-shadow: 0 5px 16px rgb(18 104 245 / 11%); }
.studio-map-listing.is-selected { border-color:#1268f5;background:#f2f7ff;box-shadow:0 0 0 2px #1268f52b,0 8px 20px rgb(18 104 245 / 15%); }
.studio-map-listing>img { width: 105px; height: 108px; border-radius: 9px; object-fit: cover; }
.studio-map-image-placeholder { display: grid; width: 105px; height: 108px; place-items: center; border-radius: 9px; background: #edf3fa; color: #7b8aa1; font-size: 24px; }
.studio-map-listing>div { min-width: 0; }
.studio-map-listing-top,.studio-map-listing-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.studio-map-listing-top>span { overflow: hidden; color: #566782; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.studio-map-listing-top .studio-map-verified,.studio-map-popup-verified { display: inline-flex; width: fit-content; align-items: center; gap: 4px; padding: 3px 7px; border: 1px solid #cfe0ff; border-radius: 20px; background: #eff5ff; color: #075fef !important; font-size: 10px; font-weight: 750; line-height: 1.2; }
.studio-map-listing h3 { margin: 5px 0; overflow: hidden; color: #101828; font-size: 14px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.studio-map-listing p { margin: 0 0 5px; overflow: hidden; color: #667085; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.studio-map-listing-bottom { color: #a36b00; font-size: 11px; }
.studio-map-distance { display: inline-block; margin-left: 4px; color: #075fef; font-size: 10px; font-weight: 700; }
.studio-map-listing-bottom strong { color: #101828; font-size: 13px; }
.studio-map-listing-bottom small { color: #667085; font-size: 10px; font-weight: 500; }
.studio-map-listing>div>a { display: inline-flex; gap: 5px; margin-top: 4px; color: #075fef; font-size: 11px; font-weight: 750; text-decoration: none; }
.studio-map-listing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 7px; }
.studio-map-listing-actions a { display: inline-flex; min-height: 30px; align-items: center; justify-content: center; gap: 5px; margin: 0; padding: 5px 9px; border: 1px solid #dce6f6; border-radius: 8px; background: #fff; color: #43536d; font-size: 10px; font-weight: 750; line-height: 1.2; text-decoration: none; transition: background .15s,border-color .15s,color .15s; }
.studio-map-listing-actions a:first-child { border-color: #1764eb; background: #1764eb; color: #fff; }
.studio-map-listing-actions a:first-child:hover { border-color: #0b50ca; background: #0b50ca; color: #fff; }
.studio-map-listing-actions a:last-child:hover { border-color: #9cbaf0; background: #f4f8ff; color: #075fef; }
.studio-map-wrap { position: sticky; top: 82px; align-self: start; height: min(70vh, 760px); min-height: 450px; overflow: hidden; border: 1px solid #dce5f2; border-radius: 16px; background: #e7edf5; box-shadow: 0 7px 22px rgb(12 35 74 / 8%); }
.studio-map { width: 100%; height: 100%; min-height: 450px; z-index: 1; }
.studio-map-actions { position: absolute; z-index: 500; top: 12px; left: 50%; display: flex; gap: 8px; transform: translateX(-50%); }
.studio-map-actions button { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 7px 12px; border: 1px solid #dce5f2; border-radius: 10px; background: #fff; color: #1e2b42; box-shadow: 0 3px 12px rgb(12 35 74 / 12%); font-size: 12px; font-weight: 700; white-space: nowrap; }
.studio-map-actions button:hover { color: #075fef; }
.studio-map-status { position: absolute; z-index: 500; right: 10px; bottom: 8px; left: 10px; width: fit-content; max-width: calc(100% - 20px); margin: 0 auto; padding: 6px 10px; border-radius: 8px; background: rgb(255 255 255 / 94%); color: #344158; font-size: 11px; box-shadow: 0 2px 8px rgb(12 35 74 / 10%); }
.studio-price-marker-wrap { background: transparent; border: 0; }
.studio-price-marker { display: inline-flex; min-width: 54px; min-height: 30px; align-items: center; justify-content: center; padding: 4px 7px; border: 1px solid #075fef; border-radius: 10px; background: #fff; color: #075fef; box-shadow: 0 3px 10px rgb(12 35 74 / 20%); font-size: 11px; font-weight: 800; white-space: nowrap; }
.studio-price-marker-wrap.is-selected .studio-price-marker { background: #075fef; color: #fff; transform: scale(1.08); }
.studio-price-marker-wrap.is-selected .studio-price-marker::after { border-color: #075fef; background: #075fef; }
.studio-price-marker::after { position: absolute; bottom: 0; left: 50%; width: 8px; height: 8px; border-right: 1px solid #075fef; border-bottom: 1px solid #075fef; background: #fff; content: ''; transform: translate(-50%,50%) rotate(45deg); }
.studio-map-popup { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: 10px; width: 270px; font-family: inherit; }
.studio-map-popup>img { width: 88px; height: 88px; border-radius: 8px; object-fit: cover; }
.studio-map-popup>div { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.studio-map-popup strong { max-width: 100%; overflow: hidden; color: #101828; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.studio-map-popup span { max-width: 100%; overflow: hidden; color: #667085; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.studio-map-popup>div>div { display: flex; justify-content: space-between; gap: 6px; width: 100%; }
.studio-map-popup b { color: #101828; font-size: 11px; }
.studio-map-popup .studio-map-popup-rating { color: #a36b00; }
.studio-map-popup a { color: #075fef; font-size: 11px; font-weight: 750; text-decoration: none; }
.studio-map-popup-verified { padding: 3px 7px; }
.nearby-studio-image .nearby-image-placeholder { display: flex; height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: #edf3fa; color: #72829a; font-size: 12px; }
@media (min-width: 1200px) { .studio-result-col { width: 33.333333%; } }
body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-result-col { width: 100%; }
body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card { flex-direction: row !important; min-height: 205px; }
body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-image { flex: 0 0 30%; height: auto !important; min-height: 205px; }
body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card-body { flex: 1; }
body:has(.studios-page[data-view="map"]) .studio-pagination { display: none; }
@media (max-width: 1199.98px) {
  body:has(.studios-page) .studios-page { width: min(calc(100% - 36px), 1120px); }
  .studio-result-col { width: 50%; }
  .studio-search-image { height: 190px !important; }
}
@media (max-width: 991.98px) {
  .studio-map-layout { grid-template-columns: minmax(0, 1fr); }
  .studio-map-list { grid-row: 2; max-height: none; }
  .studio-map-wrap { position: relative; top: auto; grid-row: 1; height: 55vh; min-height: 400px; }
}
@media (max-width: 767.98px) {
  body:has(.studios-page) .studios-page { width: calc(100% - 24px); padding-top: 19px !important; }
  .studios-discovery-hero { grid-template-columns: minmax(0,1fr) auto; gap: 11px; margin-bottom: 18px; }
  .studios-discovery-hero h1 { font-size: clamp(27px,7vw,36px); }
  .studios-discovery-hero>p { font-size: 14px; }
  .studio-category-chips { grid-column: 1/-1; gap: 7px; }
  .studio-category-chip { min-height: 36px; padding: 6px 11px; font-size: 11px; }
  .studio-hero-search { grid-column: 1/-1; min-height: 52px; gap: 8px; padding-left: 12px; }
  .studio-hero-search input { font-size: 12px; }
  .studio-hero-search .btn { min-width: 85px; min-height: 39px; padding: 6px 9px; font-size: 12px; }
  .studio-hero-nearby { grid-column: 1/-1; justify-self: stretch; min-height: 43px; border-radius: 12px; }
  .studio-view-switch { flex: 1; justify-content: space-around; }
  .studio-view-switch button { gap: 4px; padding: 5px 8px; font-size: 11px; }
  .studio-view-switch button i { font-size: 13px; }
  .studio-map-layout { gap: 10px; }
  .studio-map-wrap { height: 55vh; min-height: 350px; }
  .studio-map { min-height: 350px; }
}
@media (max-width: 575.98px) {
  .studio-result-col { width: 100%; }
  .studio-search-image { height: 205px !important; }
  .studios-page-tools { display: grid !important; grid-template-columns: 1fr; width: 100%; }
  .studio-sort-label { display: none; }
  .studios-page-tools>.form-select { width: 100% !important; }
  .studio-map-listing { grid-template-columns: 88px minmax(0,1fr); gap: 9px; }
  .studio-map-listing>img { width: 88px; height: 100px; }
  .studio-map-image-placeholder { width: 88px; height: 100px; }
  .studio-map-actions button { min-height: 35px; padding: 6px 9px; font-size: 10px; }
}

.hero-section { background: radial-gradient(ellipse at 50% 0%, rgb(18 104 245 / 10%), transparent 64%), var(--bg-body); }
.glass-card:hover { border-color: #a9c8fa; }
.bms-home { --bms-purple: #1268f5; }
.bms-home .bms-hero h1 em,
.bms-home .bms-business-intro h2 em,
.bms-home .bms-owner-cta h2 em { color: #1268f5; }
.bms-home .bms-hero h1 em { color: #1769ef; }
.bms-home .bms-nearby-quick { border-color: #d6e5ff; background: linear-gradient(135deg, #fff, #f0f6ff); }
.bms-home .bms-nearby-quick i,
.bms-home .bms-nearby-quick strong { color: #1268f5; }
.bms-home .bms-studio-bottom>a,
.bms-home .bms-owner-cta a { background: var(--primary-gradient); color: #fff; }

/* Homepage hero copy and creator benefits */
@media (min-width:641px) {
  .bms-home>.bms-hero .bms-hero-copy {
    padding:26px 26px 28px 22px;
    border:1px solid rgb(255 255 255 / 88%);
    border-radius:26px;
    background:linear-gradient(145deg,rgb(255 255 255 / 78%),rgb(243 248 255 / 58%));
    box-shadow:0 14px 34px rgb(34 69 120 / 7%);
  }
  .bms-home>.bms-hero .bms-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 14px;
    padding:7px 11px;
    border:1px solid #e2ebfa;
    border-radius:999px;
    background:#fff9;
    color:#60779b;
    font-size:10px;
    font-weight:800;
    letter-spacing:.15em;
  }
  .bms-home>.bms-hero .bms-hero-copy h1 {
    max-width:560px;
    margin:0 0 14px;
    color:#111d38;
    font-size:clamp(48px,5.5vw,72px);
    font-weight:800;
    line-height:.91;
    letter-spacing:-.075em;
    text-wrap:balance;
  }
  .bms-home>.bms-hero .bms-hero-copy h1 em {
    color:#1768ee;
    background:linear-gradient(105deg,#1672f8,#315be8);
    background-clip:text;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
  }
  .bms-home>.bms-hero .bms-hero-copy>p {
    max-width:440px;
    margin:0;
    color:#5d6f8d;
    font-size:15px;
    line-height:1.6;
  }
  .bms-home>.bms-hero .bms-hero-perks {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:19px;
  }
  .bms-home>.bms-hero .bms-hero-perks span {
    gap:8px;
    padding:5px 12px 5px 6px;
    border:1px solid #e5edf9;
    border-radius:999px;
    background:rgb(255 255 255 / 86%);
    color:#304361;
    font-size:11px;
    font-weight:700;
    box-shadow:0 4px 12px rgb(36 77 133 / 5%);
  }
  .bms-home>.bms-hero .bms-hero-perks i {
    width:31px;
    height:31px;
    border-radius:50%;
    background:#edf4ff;
    color:#1768ee;
    font-size:14px;
    box-shadow:none;
  }
}

/* Shared compact public header and aligned content shell. */
body:not(.dashboard-body) .navbar-glass {
  position:sticky!important;top:0!important;z-index:1050;display:block!important;
  width:100%;min-height:60px;margin:0;padding:4px 0!important;
  background:rgba(255,255,255,.96);border:0;border-bottom:1px solid #e5ebf4;
  box-shadow:0 3px 14px rgba(22,47,83,.07);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
body:not(.dashboard-body) .navbar-glass>.container {
  width:min(calc(100% - 40px),1320px);max-width:1320px;min-height:50px;
  margin:0 auto;padding-right:0;padding-left:0;
}
body:not(.dashboard-body) .navbar-glass .site-brand-logo { display:block;width:190px;height:48px;object-fit:contain; }
body:not(.dashboard-body) .navbar-glass .navbar-brand { min-width:0;margin:0;padding:0; }
body:not(.dashboard-body) .navbar-glass .navbar-collapse { align-items:center; }
body:not(.dashboard-body) .navbar-glass .navbar-nav { align-items:center;gap:4px!important; }
body:not(.dashboard-body) .navbar-glass .nav-link { display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px!important;border-radius:22px;font-size:13px;font-weight:600;white-space:nowrap; }
body:not(.dashboard-body) .navbar-glass .nav-link:hover,
body:not(.dashboard-body) .navbar-glass .nav-link.active,
body:not(.dashboard-body) .navbar-glass .nav-link.is-home { background:#eef5ff;color:#1268f5!important; }
body:not(.dashboard-body) .navbar-glass .btn-outline-custom,
body:not(.dashboard-body) .navbar-glass .btn-primary-gradient { min-height:36px;padding:7px 13px;border-radius:20px;font-size:12px;font-weight:700; }
body:not(.dashboard-body) .navbar-glass .bms-profile-avatar { width:32px;height:32px;flex:0 0 32px;border-radius:50%;object-fit:cover; }
body:not(.dashboard-body) .navbar-glass .bms-profile-initials { display:grid;place-items:center;background:#eaf2ff;color:#1268f5;font-size:13px; }
body:not(.dashboard-body) .studios-page { width:calc(100% - 40px);max-width:none;margin-right:auto;margin-left:auto; }
body:not(.dashboard-body) .studio-detail-page .studio-detail-container { width:min(calc(100% - 40px),1320px);max-width:1320px;margin-right:auto;margin-left:auto; }
body:not(.dashboard-body) .nearby-page-container { width:min(calc(100% - 40px),1320px);max-width:1320px; }

/* Keep the homepage magnifier centered inside both search controls. */
body:has(.bms-home) .bms-search-field>i,
body:has(.bms-home) .bms-search .btn i { display:grid;place-items:center;flex:0 0 auto;line-height:1; }
body:has(.bms-home) .bms-search-field>i { align-self:center;margin:0; }
body:has(.bms-home) .bms-search .btn { display:flex;align-items:center;justify-content:center;line-height:1; }
body:has(.bms-home) .bms-search .btn i { position:static;transform:none;margin:0!important; }
body:has(.bms-home) .bms-search .btn .bms-search-submit-icon { display:block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round; }

/* Keep the studio map and its result cards readable without squeezing either panel. */
body:has(.studios-page) .studio-map-layout { min-width:0;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr); }
body:has(.studios-page) .studio-map-list,
body:has(.studios-page) .studio-map-wrap { min-width:0; }
body:has(.studios-page) .studio-map-listing { grid-template-columns:96px minmax(0,1fr);gap:11px; }
body:has(.studios-page) .studio-map-listing h3 { white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
body:has(.studios-page) .studio-map-listing p { white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
body:has(.studios-page) .studio-map-listing>img,
body:has(.studios-page) .studio-map-listing>.studio-map-image-placeholder { width:96px;height:104px; }
body:has(.studios-page) .studio-map-listing { flex:0 0 auto;min-height:150px;align-items:center; }
body:has(.studios-page) .studio-map-listing>div { min-width:0;min-height:0; }
body:has(.studios-page) .studio-map-listing-actions { max-width:100%; }
body:has(.studios-page) .studio-map-listing-actions a { flex:0 1 auto;white-space:nowrap; }
body:has(.studios-page[data-view="map"]) .studios-layout>.col-lg-3 { display:none!important; }
body:has(.studios-page[data-view="map"]) .studios-layout>.studio-results-column { width:100%!important;max-width:100%;flex:0 0 100%; }
@media(max-width:991.98px) {
  body:has(.studios-page) .studio-map-layout { grid-template-columns:minmax(0,1fr); }
  body:has(.studios-page) .studio-map-wrap { position:relative;top:auto;grid-column:1;grid-row:1;width:100%;height:min(52vh,460px);min-height:320px; }
  body:has(.studios-page) .studio-map { min-height:320px; }
  body:has(.studios-page) .studio-map-list { grid-column:1;grid-row:2;max-height:62vh; }
}
@media(max-width:575.98px) {
  body:has(.studios-page) .studio-map-wrap { height:42vh;min-height:280px; }
  body:has(.studios-page) .studio-map { min-height:280px; }
  body:has(.studios-page) .studio-map-list { max-height:none; }
  body:has(.studios-page) .studio-map-listing { grid-template-columns:82px minmax(0,1fr);gap:9px;padding:9px; }
  body:has(.studios-page) .studio-map-listing>img,
  body:has(.studios-page) .studio-map-listing>.studio-map-image-placeholder { width:82px;height:94px; }
}

@media(max-width:991.98px) {
  body:not(.dashboard-body) .navbar-glass { min-height:56px; }
  body:not(.dashboard-body) .navbar-glass>.container { width:calc(100% - 28px);min-height:48px; }
  body:not(.dashboard-body) .navbar-glass .site-brand-logo { width:138px;height:40px; }
  body:not(.dashboard-body) .navbar-mobile-favorites,
  body:not(.dashboard-body) .navbar-mobile-profile {
    display:grid!important;place-items:center;width:36px;height:36px;flex:0 0 36px;
    margin:0 0 0 7px;border:1px solid #e2eaf5;border-radius:50%;background:#f5f9ff;
    color:#1764eb;font-size:16px;text-decoration:none;
  }
  body:not(.dashboard-body) .navbar-mobile-favorites { margin-left:auto; }
  body:not(.dashboard-body) .navbar-mobile-profile img { width:100%;height:100%;border-radius:50%;object-fit:cover; }
  body:not(.dashboard-body) .navbar-glass .navbar-toggler { display:block!important;margin-left:4px;padding:3px 0 3px 6px;line-height:1; }
  body:not(.dashboard-body) .navbar-glass .navbar-toggler i { font-size:25px!important; }
  body:not(.dashboard-body) .navbar-glass .navbar-collapse { padding:8px 0 4px; }
  body:not(.dashboard-body) .navbar-glass .navbar-nav { align-items:stretch;gap:1px!important; }
  body:not(.dashboard-body) .navbar-glass .nav-link { min-height:38px; }
  body:not(.dashboard-body) .studios-page { width:calc(100% - 28px); }
  body:not(.dashboard-body) .studio-detail-page .studio-detail-container { width:100%; }
  body:not(.dashboard-body) .nearby-page-container { width:calc(100% - 28px); }
}
@media(min-width:768px) {
  /* Home uses viewport gutters to center its content; keep the page shell full width. */
  body:not(.dashboard-body) .bms-home { max-width:none!important; }
}
@media(max-width:767.98px) {
  body:has(.studio-detail-page) .navbar-glass { display:block!important; }
}

/* Studio-owner signup panel above category discovery. */
body:has(.bms-home) .bms-home>.bms-owner-demo-cta {
  order:4!important;
  position:relative!important;
  inset:auto!important;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px clamp(20px,3vw,48px);
  overflow:hidden;
  width:100%;
  max-width:none;
  margin:14px 0 26px;
  padding:30px clamp(24px,3vw,48px)!important;
  border:1px solid #d9e5f5;
  border-left:4px solid #1764eb;
  border-radius:20px;
  background:radial-gradient(ellipse at 86% -25%,#dceaff 0,transparent 37%),linear-gradient(112deg,#fff 0%,#f9fbff 52%,#f0f6ff 100%);
  box-shadow:0 16px 38px #173d700f,0 2px 7px #173d7008;
  text-align:left;
}
body:has(.bms-home) .bms-home>.bms-owner-demo-cta:after {
  position:absolute;z-index:-1;top:-108px;right:22%;width:205px;height:205px;border:1px solid #1764eb16;border-radius:50%;content:"";
  box-shadow:0 0 0 22px #1764eb08,0 0 0 48px #1764eb05;pointer-events:none;
}
body:has(.bms-home) .bms-owner-demo-copy { position:relative;z-index:1;min-width:0; }
body:has(.bms-home) .bms-owner-demo-copy .bms-eyebrow { display:inline-flex;align-items:center;gap:8px;margin:0 0 7px;color:#1764eb;font-size:10px;font-weight:800;letter-spacing:.15em; }
body:has(.bms-home) .bms-owner-demo-copy .bms-eyebrow { padding:7px 10px;border:1px solid #dce9ff;border-radius:999px;background:#f5f9ff;letter-spacing:.12em; }
body:has(.bms-home) .bms-owner-demo-copy .bms-eyebrow:before { width:7px;height:7px;border-radius:50%;background:#1764eb;content:"";box-shadow:0 0 0 4px #1764eb14; }
body:has(.bms-home) .bms-owner-demo-copy h2 { margin:0 0 8px;color:#101c35;font-size:clamp(27px,2.6vw,38px);font-weight:800;letter-spacing:-.045em;line-height:1.1; }
body:has(.bms-home) .bms-owner-demo-copy .bms-section-subtitle { margin:0;color:#61728f;font-size:14px;line-height:1.6; }
body:has(.bms-home) .bms-owner-demo-actions { position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap; }
body:has(.bms-home) .bms-owner-demo-actions .btn { display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 18px;border-radius:12px;font-size:12px;font-weight:750;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
body:has(.bms-home) .bms-owner-demo-actions .btn:hover { transform:translateY(-1px); }
body:has(.bms-home) .bms-owner-demo-actions .btn-primary-gradient { background:linear-gradient(110deg,#1675f5,#2447e8);box-shadow:0 8px 18px #1764eb30; }
body:has(.bms-home) .bms-owner-demo-actions .btn-primary-gradient:hover { box-shadow:0 11px 22px #1764eb40; }
body:has(.bms-home) .bms-owner-demo-actions .btn-outline-custom { border-color:#d3deed;background:#ffffffd9;color:#263854;box-shadow:0 3px 8px #193c6b0a; }
body:has(.bms-home) .bms-owner-demo-actions .btn-outline-custom:hover { border-color:#a9c7f5;background:#fff;color:#1764eb; }
@media(max-width:991.98px) {
  body:has(.bms-home) .bms-home>.bms-owner-demo-cta { gap:12px 18px;margin:14px 0 25px!important;padding:24px 21px!important; }
  body:has(.bms-home) .bms-owner-demo-actions { flex-wrap:wrap;gap:8px; }
  body:has(.bms-home) .bms-owner-demo-actions .btn { min-height:42px;padding:10px 12px;font-size:11px; }
}
@media(max-width:640px) {
  body:has(.bms-home) .bms-home>.bms-owner-demo-cta { grid-template-columns:minmax(0,1fr);gap:15px;margin:12px 0 22px!important;padding:21px 17px!important;border-radius:15px; }
  body:has(.bms-home) .bms-owner-demo-copy .bms-eyebrow { margin-bottom:8px;font-size:9px; }
  body:has(.bms-home) .bms-owner-demo-copy h2 { margin-bottom:7px;font-size:clamp(23px,6.2vw,30px);line-height:1.12; }
  body:has(.bms-home) .bms-owner-demo-copy .bms-section-subtitle { font-size:12px;line-height:1.55; }
  body:has(.bms-home) .bms-owner-demo-actions { display:grid;grid-template-columns:1fr;justify-content:stretch;gap:8px;white-space:normal; }
  body:has(.bms-home) .bms-owner-demo-actions .btn { width:100%;min-height:43px;font-size:12px; }
}
@media(max-width:640px) {
  body:has(.bms-home) .bms-home>.bms-trust { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0;margin:12px 0 18px;padding:8px 4px;border:1px solid #e5ecf7;border-radius:15px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 7px 18px #23518d0b; }
  body:has(.bms-home) .bms-home>.bms-trust>span { position:relative;display:flex;min-width:0;min-height:76px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:5px 3px;border:0!important;text-align:center; }
  body:has(.bms-home) .bms-home>.bms-trust>span:after { position:absolute;top:9px;right:0;bottom:9px;width:1px;background:#e5ebf5;content:""; }
  body:has(.bms-home) .bms-home>.bms-trust>span:last-child:after { display:none; }
  body:has(.bms-home) .bms-home>.bms-trust>span:nth-child(-n+2) { border-bottom:0!important; }
  body:has(.bms-home) .bms-home>.bms-trust>span>i { display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;font-size:14px; }
  body:has(.bms-home) .bms-home>.bms-trust>span>span { display:grid;min-width:0;min-height:24px;place-items:center; }
  body:has(.bms-home) .bms-home>.bms-trust b { color:#34445f;font-size:9px;font-weight:700;line-height:1.2;overflow-wrap:anywhere;text-wrap:balance; }
  body:has(.bms-home) .bms-home>.bms-trust small { display:none; }
}

/* Transparent artwork lets the wordmark inherit the surface behind it. */
body:not(.dashboard-body) .navbar-glass .site-brand-logo,
body:not(.dashboard-body) .site-footer .footer-brand-logo {
  background:transparent!important;padding:0;border-radius:0;
}

/* Keep all public navigation in the top navbar on the home page. */
@media (max-width: 991.98px) {
  body:has(.bms-home) .bms-home-nav > .container { flex-wrap:wrap!important; }
  body:has(.bms-home) .bms-home-nav .navbar-toggler { display:block!important; }
  body:has(.bms-home) .bms-home-nav .navbar-collapse.collapse:not(.show) { display:none!important; }
  body:has(.bms-home) .bms-home-nav .navbar-collapse.collapse.show { display:block!important;flex-basis:100%;padding:8px 0 4px; }
  body:has(.bms-home) .bms-home-nav .navbar-nav { display:flex!important;flex-direction:column;align-items:stretch;margin:0!important; }
  body:has(.bms-home) .bms-home-nav .navbar-collapse > .d-flex { display:flex!important;margin:8px 0 0!important; }
}
@media (max-width: 640px) {
  body:has(.bms-home) .bms-home { padding-bottom:32px!important; }
}

/* Let page shells use the available viewport width throughout the site. */
.container { max-width:none!important; }
body:not(.dashboard-body) .navbar-glass > .container { width:calc(100% - 40px);max-width:none; }
body:not(.dashboard-body) .studios-page,
body:not(.dashboard-body) .favorites-page { max-width:none!important; }
body:not(.dashboard-body) .studio-detail-page .studio-detail-container,
body:not(.dashboard-body) .nearby-page-container { width:calc(100% - 40px);max-width:none!important; }
body:has(.bms-home) .bms-home,
body:has(.bms-home) .bms-home > .bms-hero,
body:has(.bms-home) .bms-home .bms-category-grid,
body:has(.bms-home) .bms-home .bms-featured,
body:has(.bms-home) .bms-home .bms-trust,
body:has(.bms-home) .bms-home .bms-business,
body:has(.bms-home) .bms-home .bms-stats,
body:has(.bms-home) .bms-home .bms-owner-cta { max-width:none!important; }
.admin-list-page,
.admin-studios-page,
.dashboard-list-page,
.admin-dashboard .admin-import-page { max-width:none!important; }

/* Site-wide color theme: follows the device by default and supports a manual override. */
.bms-theme-toggle {
  display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 38px;
  border:1px solid #dce5f2;border-radius:50%;background:#f6f9ff;color:#334968;
  font-size:16px;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.bms-theme-toggle:hover { transform:translateY(-1px);border-color:#a9c6f3;background:#edf4ff;color:#1268f5; }
.bms-theme-toggle:focus-visible { outline:3px solid #91bbff;outline-offset:2px; }
.topbar-actions .bms-theme-toggle { margin-right:10px; }
html { color-scheme:light; }
html[data-theme="dark"] { color-scheme:dark; }
html[data-theme="dark"] body:not(.dashboard-body) { --bg-body:#0d1422;--bg-card:#151f30;--bg-card-subtle:#1b293d;--border-color:#2b3a50;--border-color-subtle:#253449;--text-main:#edf3fc;--text-secondary:#c3cee0;--text-muted:#95a5bc;background:#0d1422!important;color:#edf3fc!important; }
html[data-theme="dark"] body.dashboard-body { background:#0c1320!important;color:#e8eef8!important; }
html[data-theme="dark"] :is(.bg-white,.bg-light,.bg-body,.bg-body-tertiary) { background-color:#151f30!important;color:#e8eef8!important; }
html[data-theme="dark"] :is(.border,.border-top,.border-bottom,.border-start,.border-end) { border-color:#2b3a50!important; }
html[data-theme="dark"] body,
html[data-theme="dark"] .dashboard-main,
html[data-theme="dark"] .dashboard-content,
html[data-theme="dark"] main,
html[data-theme="dark"] .studios-page,
html[data-theme="dark"] .favorites-page,
html[data-theme="dark"] .nearby-page-container { color:#e8eef8; }
html[data-theme="dark"] .navbar-glass,
html[data-theme="dark"] body:has(.bms-home) .navbar-glass { background:rgba(15,23,37,.96)!important;border-color:#26354a!important;box-shadow:0 4px 18px #0004!important; }
html[data-theme="dark"] .navbar-glass .nav-link,
html[data-theme="dark"] .navbar-glass .navbar-toggler,
html[data-theme="dark"] .navbar-glass .site-wordmark { color:#e8eef8!important; }
html[data-theme="dark"] .navbar-glass .nav-link:hover,
html[data-theme="dark"] .navbar-glass .nav-link.active { background:#1b2d47!important;color:#8bb8ff!important; }
html[data-theme="dark"] .bms-theme-toggle { border-color:#3a4a61;background:#1c293b;color:#e4edfa; }
html[data-theme="dark"] .bms-theme-toggle:hover { border-color:#6799e8;background:#243955;color:#9bc2ff; }
html[data-theme="dark"] :is(.card,.studio-search-card,.studio-map-layout,.studio-filter-card,.studio-map-wrap,.studio-detail-card,.booking-card,.favorite-studio-card,.blog-card,.blog-article-card,.bms-step,.bms-studio-card,.bms-trust,.bms-search,.bms-owner-demo-cta,.bms-home-faq-list details,.modal-content,.offcanvas,.dropdown-menu,.list-group-item,.accordion-item) {
  background-color:#151f30!important;color:#e8eef8!important;border-color:#2b3a50!important;
}
html[data-theme="dark"] :is(.bms-home,.bms-home .bms-business,.bms-home .bms-benefits,.bms-home .bms-categories,.bms-home .bms-featured,.bms-home .bms-section,.bms-home-faq,.bms-section,.studios-page,.favorites-page,.studio-detail-page,.studio-detail-container,.nearby-page-container,.blog-page,.blog-article-page) { background-color:#0d1422!important;color:#e8eef8!important; }
html[data-theme="dark"] :is(h1,h2,h3,h4,h5,h6,.text-dark,.fw-bold,.bms-section-head h2,.bms-studio-info h3,.studio-search-card h5,.studio-detail-page h1,.studio-detail-page h2,.dashboard-topbar h6,.topbar-title,.sidebar-link,.brand-role) { color:#edf3fc!important; }
html[data-theme="dark"] :is(p,small,.text-muted,.text-secondary,.bms-section-subtitle,.bms-studio-info p,.bms-studio-rating,.studio-search-card p,.form-text,.blog-meta,.bms-public-user-role) { color:#a7b5c9!important; }
html[data-theme="dark"] a:not(.btn):not(.bms-category-card):not(.bms-city-grid a) { color:#8db8ff; }
html[data-theme="dark"] a:not(.btn):hover { color:#b1ceff; }
html[data-theme="dark"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-control,.form-select,.input-group-text) { background-color:#111b2a!important;color:#edf3fc!important;border-color:#34465f!important; }
html[data-theme="dark"] :is(input,textarea)::placeholder { color:#8c9bb1!important; }
html[data-theme="dark"] :is(input[type="date"],input[type="time"],input[type="datetime-local"]) { color-scheme:dark; }
html[data-theme="dark"] :is(.table,.table> :not(caption)>*>*,.table-light,.table-light> :not(caption)>*>*,.dropdown-item,.modal-header,.modal-footer,.accordion-button) { --bs-table-bg:#151f30;--bs-table-color:#e8eef8;--bs-table-border-color:#2b3a50;background-color:#151f30!important;color:#e8eef8!important;border-color:#2b3a50!important; }
html[data-theme="dark"] :is(.dashboard-wrapper,.dashboard-main,.dashboard-content,.dashboard-topbar,.dashboard-sidebar,.admin-sidebar,.owner-topbar,.admin-topbar) { background-color:#0c1320!important;color:#e8eef8!important;border-color:#25344a!important; }
html[data-theme="dark"] :is(.stat-card,.dashboard-card,.chart-card,.admin-card,.owner-card,.data-card,.dashboard-mobile-notice-card,.sidebar-user-card,.owner-topbar-account) { background-color:#151f30!important;color:#e8eef8!important;border-color:#2b3a50!important; }
html[data-theme="dark"] :is(.sidebar-link:hover,.sidebar-link.active,.dropdown-item:hover,.list-group-item:hover) { background-color:#203149!important;color:#a9c9ff!important; }
html[data-theme="dark"] :is(.bms-home .bms-hero-copy h1,.bms-home .bms-hero-copy h1 .hero-find) { color:#111d35!important; }
html[data-theme="dark"] .bms-home .bms-hero-copy>p { color:#34445f!important; }
html[data-theme="dark"] .bms-home .bms-hero-visual:after { background:linear-gradient(90deg,#09162b28,transparent 68%); }
html[data-theme="dark"] .bms-home .bms-owner-demo-cta { background:radial-gradient(ellipse at 86% -25%,#1d3b68 0,transparent 37%),linear-gradient(112deg,#151f30 0%,#172438 52%,#172941 100%)!important; }
html[data-theme="dark"] :is(.bms-home .bms-owner-demo-copy h2,.bms-home .bms-trust b,.bms-home .bms-search-field b) { color:#edf3fc!important; }
html[data-theme="dark"] :is(.bms-home .bms-owner-demo-copy .bms-section-subtitle,.bms-home .bms-trust small) { color:#a7b5c9!important; }
html[data-theme="dark"] .bms-home .bms-search-field input,
html[data-theme="dark"] .bms-home .bms-search-field select { background:transparent!important; }
html[data-theme="dark"] .bms-home .bms-search-field { border-color:#34465f!important; }
html[data-theme="dark"] .bms-home .bms-studio-card { background:#151f30!important;border-color:#2b3a50!important; }
html[data-theme="dark"] .bms-home .bms-chips span { background:#202e43;color:#b6c4d8; }
html[data-theme="dark"] ::selection { background:#315b98;color:#fff; }


/* Studio detail mobile tabs must stay on the dark page surface. */
@media(max-width:767.98px) {
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-detail-tabs {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch;
    gap:3px;
    border:1px solid var(--bms-border)!important;
    border-radius:12px;
    background:var(--bms-surface-raised)!important;
    overflow:hidden;
  }
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-detail-tabs a {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:42px;
    padding:8px 3px;
    border:0!important;
    border-radius:8px;
    color:var(--bms-copy-secondary)!important;
    font-size:11px;
    line-height:1.2;
    white-space:nowrap;
  }
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-detail-tabs a:hover,
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-detail-tabs a:focus-visible {
    color:var(--bms-copy)!important;
    background:var(--bms-surface-hover)!important;
  }
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-detail-tabs a.active {
    color:#c3d9ff!important;
    background:#203b61!important;
    box-shadow:inset 0 -2px #4d91ff;
  }
}

/* Replace the bright mobile pricing separator with a subtle dark divider. */
@media(max-width:767.98px) {
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-pricing-heading {
    border-top:1px solid var(--bms-border)!important;
    background:var(--bms-surface-raised)!important;
  }
}

/* Give mobile amenities an inset card and easier-to-scan list rows. */
@media(max-width:767.98px) {
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-info-section[data-mobile-panel="amenities"] {
    width:calc(100% - 24px)!important;
    margin:12px 12px 0!important;
    padding:16px!important;
    border:1px solid var(--bms-border)!important;
    border-radius:18px!important;
    background:var(--bms-surface-raised)!important;
  }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-info-section[data-mobile-panel="amenities"] h2 {
    margin:0 0 12px!important;
    color:var(--bms-copy)!important;
  }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-info-section[data-mobile-panel="amenities"] .studio-amenities-list {
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-info-section[data-mobile-panel="amenities"] .studio-amenities-list li {
    min-height:42px;
    padding:8px 11px;
    border:1px solid #293b55;
    border-radius:11px;
    background:#1a293e!important;
    color:#e3ebf7!important;
    line-height:1.35;
  }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-info-section[data-mobile-panel="amenities"] .studio-amenity-icon {
    color:#40d6a0!important;
  }
}

/* Keep the admin studio table legible over its dark dashboard surfaces. */
html[data-theme="dark"] body.admin-dashboard .admin-studios-toolbar,
html[data-theme="dark"] body.admin-dashboard .admin-studios-no-results {
  border-color:#2b3a50!important;
  background:#151f30!important;
  color:#dce7f6!important;
}
html[data-theme="dark"] body.admin-dashboard .admin-studios-toolbar>label {
  border-color:#34465f!important;
  background:#1b293d!important;
  color:#9fc2ff!important;
}
html[data-theme="dark"] body.admin-dashboard .admin-studios-search-count { color:#dce7f6!important; }
html[data-theme="dark"] body.admin-dashboard .admin-studios-table thead th {
  border-color:#34465f!important;
  background:#1b293d!important;
  color:#a9c9ff!important;
}
html[data-theme="dark"] body.admin-dashboard .admin-studios-table tbody tr { background:#151f30!important; }
html[data-theme="dark"] body.admin-dashboard .admin-studios-table tbody tr:nth-child(even) { background:#172438!important; }
html[data-theme="dark"] body.admin-dashboard .admin-studios-table tbody tr:hover { background:#203149!important; }
html[data-theme="dark"] body.admin-dashboard .admin-studios-table tbody td {
  border-color:#2b3a50!important;
  background:transparent!important;
  color:#c3cee0!important;
}
html[data-theme="dark"] body.admin-dashboard .admin-studios-table tbody td::before { color:#9aabc3!important; }
html[data-theme="dark"] body.admin-dashboard :is(.admin-studio-listing-cell>strong,.admin-studio-owner-cell>strong,.admin-studio-bookings-cell>strong) {
  color:#edf3fc!important;
}
html[data-theme="dark"] body.admin-dashboard :is(.admin-studio-owner-cell>span,.admin-studio-owner-cell>small,.admin-studio-bookings-cell>span,.admin-studio-bookings-cell>small,.admin-studio-bookings-cell>strong small) {
  color:#a9b8cd!important;
}
html[data-theme="dark"] body.admin-dashboard .admin-studio-categories span {
  border-color:#3a3c67!important;
  background:#252747!important;
  color:#c5bbff!important;
}
html[data-theme="dark"] body.admin-dashboard .admin-studio-rating-form .form-select {
  border-color:#405572!important;
  background-color:#111b2a!important;
  color:#edf3fc!important;
}
html[data-theme="dark"] body.admin-dashboard .admin-studio-rating-form .btn {
  border-color:#405572!important;
  color:#a9c9ff!important;
}
@media (max-width:767.98px) {
  body:has(.bms-bottom-nav) .bms-theme-toggle { position:fixed;z-index:1040;right:12px;bottom:88px;box-shadow:0 5px 16px #0c1b322e; }
}

/* Sort dropdown: clear label, steady control height, and an aligned caret. */
body:has(.studios-page) .studios-page-tools>select.form-select {
  flex:0 0 160px;width:160px;min-width:0;min-height:40px;box-sizing:border-box;
  padding:8px 34px 8px 12px;border:1px solid #d7e1ef!important;border-radius:11px;
  background-color:#fff!important;color:#293750!important;box-shadow:0 2px 7px rgba(23,52,91,.07);
  font-size:12px;line-height:1.25;white-space:nowrap;
}
body:has(.studios-page) .studios-page-tools>select.form-select:focus {
  border-color:#8db4fb!important;box-shadow:0 0 0 3px rgba(18,104,245,.12);
}
@media(max-width:767.98px) {
  body:has(.studios-page) .studios-page-tools {
    display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(132px,1.2fr);
    gap:8px;width:100%;align-items:center;
  }
  body:has(.studios-page) .studios-page-tools>select.form-select {
    grid-column:auto;width:100%!important;min-width:0;min-height:40px;padding:8px 30px 8px 10px;
    font-size:11px;text-overflow:ellipsis;
  }
  body:has(.studios-page) .studios-page-tools>.btn,
  body:has(.studios-page) .studios-page-tools>.studio-filter-header-toggle { min-width:0;min-height:40px;padding:7px 8px;font-size:11px; }
}
@media(max-width:380px) {
  body:has(.studios-page) .studios-page-tools { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  body:has(.studios-page) .studios-page-tools>select.form-select { grid-column:1/-1; }
}
.bms-category-icon,
.bms-business-card>span.blue,
.bms-benefit-icon.purple,
.bms-business-card .purple { color: #2459e8; background: #e9efff; }
.bms-benefit-icon.blue { color: #1268f5; background: #e2efff; }
.bms-owner-cta { background: linear-gradient(115deg, #0c1220, #132b55 58%, #174eaa); }

/* Final responsive overrides for the three studio view controls. */
@media (min-width: 768px) and (max-width: 991.98px) {
  body:has(.studios-page) .studio-filter-header-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 7px 12px; border: 1px solid #dce5f2; border-radius: 10px; background: #fff; color: #263651; font-size: 12px; font-weight: 700; }
  body:has(.studios-page) .studios-layout>.col-lg-3 { width: 100%; }
  body:has(.studios-page) .studios-filter-card { display: none !important; }
  body:has(.studios-page) .studios-filter-card.is-open { display: block !important; }
}
@media (max-width: 767.98px) {
  body:has(.studios-page) .studios-page-tools { display: grid !important; grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); gap: 8px; width: 100%; }
  body:has(.studios-page) .studios-page-tools>.studio-view-switch { grid-column: 2; grid-row: 1; min-width: 0; justify-content: space-around; }
  body:has(.studios-page) .studios-page-tools>.studio-filter-header-toggle { grid-column: 1; grid-row: 1; }
  body:has(.studios-page) .studios-page-tools>.form-select { grid-column: 1 / -1 !important; width: 100% !important; }
  body:has(.studios-page) .studios-page-tools>.studio-sort-label { display: none; }
}
@media (max-width: 575.98px) {
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-result-col { width: 100%; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card { flex-direction: row !important; min-height: 160px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-image { flex: 0 0 34%; height: auto !important; min-height: 160px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card-body { min-width: 0; padding: 10px !important; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-categories { gap: 4px; margin-bottom: 6px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-category { padding: 3px 6px; font-size: 9px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card-body h5 { max-width: 100%; font-size: 14px !important; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card-body .border-top { flex-wrap: wrap; gap: 8px; padding-top: 8px !important; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-actions { display: flex; flex-wrap: wrap; gap: 5px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-result-book,
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-view-details { padding: 6px 8px; font-size: 10px; }
}

/* Shared blue theme for admin and studio owner workspaces. */
.admin-dashboard,
.owner-dashboard {
  --bs-primary: #1268f5;
  --bs-primary-rgb: 18, 104, 245;
  --bs-primary-text-emphasis: #0b4fd1;
  --bs-primary-bg-subtle: #eaf2ff;
  --bs-primary-border-subtle: #b9d2ff;
  --admin-primary: #1268f5;
  --admin-primary-hover: #0b4fd1;
  --admin-primary-soft: #edf4ff;
  --admin-border: #dce5f2;
  --primary: #1268f5;
  --primary-hover: #0b4fd1;
  --primary-light: #eaf2ff;
  --primary-gradient: linear-gradient(115deg, #0786f7, #1268f5 55%, #3036e8);
  --accent: #3036e8;
  --accent-light: #edf0ff;
  --bg-body: #f5f8ff;
  --bg-card: #fff;
  background: #f5f8ff;
}
.admin-dashboard .dashboard-main,
.owner-dashboard .dashboard-main { background: #f5f8ff; }
.admin-dashboard .dashboard-topbar,
.owner-dashboard .dashboard-topbar { border-bottom-color: #dce5f2; }
.admin-dashboard .dashboard-sidebar,
.owner-dashboard .dashboard-sidebar { border-right-color: #dce5f2; }
.admin-dashboard .sidebar-user-card,
.owner-dashboard .sidebar-user-card { background: #f0f6ff; border-color: #dce9ff; }
.admin-dashboard .admin-avatar,
.admin-dashboard .user-avatar,
.owner-dashboard .user-avatar { background: #e4efff; border-color: #c7dcff; color: #1268f5; }
.admin-dashboard .admin-badge,
.admin-dashboard .user-badge,
.owner-dashboard .user-badge { background: #eaf2ff; border-color: #c9ddff; color: #1557c0; }
.admin-dashboard .sidebar-link:hover,
.admin-dashboard .sidebar-link.active,
.owner-dashboard .sidebar-link:hover,
.owner-dashboard .sidebar-link.active { background: #edf4ff !important; color: #0b4fd1 !important; }
.admin-dashboard .sidebar-link.active,
.owner-dashboard .sidebar-link.active { box-shadow: inset 3px 0 #1268f5; }
.admin-dashboard .sidebar-link.active i,
.owner-dashboard .sidebar-link.active i { color: #1268f5; }
.admin-dashboard .sidebar-toggle-btn:hover,
.owner-dashboard .sidebar-toggle-btn:hover { background: #edf4ff; border-color: #b9d2ff; color: #1268f5; }
.admin-dashboard .btn-primary-gradient,
.admin-dashboard .btn-primary,
.admin-dashboard .studio-booking-submit,
.owner-dashboard .btn-primary-gradient,
.owner-dashboard .btn-primary,
.owner-dashboard .studio-booking-submit {
  color: #fff !important;
  background: var(--primary-gradient) !important;
  border-color: #1268f5 !important;
}
.admin-dashboard .btn-primary-gradient:hover,
.admin-dashboard .btn-primary:hover,
.admin-dashboard .studio-booking-submit:hover,
.owner-dashboard .btn-primary-gradient:hover,
.owner-dashboard .btn-primary:hover,
.owner-dashboard .studio-booking-submit:hover { background: #0b4fd1 !important; border-color: #0b4fd1 !important; }
.admin-dashboard .btn-outline-custom,
.owner-dashboard .btn-outline-custom { border-color: #cbd8ea; color: #344158 !important; background: #fff; }
.admin-dashboard .btn-outline-custom:hover,
.owner-dashboard .btn-outline-custom:hover { border-color: #1268f5; color: #0b4fd1 !important; background: #edf4ff; }
.admin-dashboard .btn-outline-primary,
.owner-dashboard .btn-outline-primary { --bs-btn-color: #1268f5; --bs-btn-border-color: #b9d2ff; --bs-btn-hover-bg: #1268f5; --bs-btn-hover-border-color: #1268f5; --bs-btn-hover-color: #fff; color: #1268f5; border-color: #b9d2ff; }
.admin-dashboard .btn-outline-primary:hover,
.owner-dashboard .btn-outline-primary:hover { color: #fff; background: #1268f5; border-color: #1268f5; }
.admin-dashboard .form-control:focus,
.admin-dashboard .form-select:focus,
.admin-dashboard .form-control-dark:focus,
.admin-dashboard .form-select-dark:focus,
.owner-dashboard .form-control:focus,
.owner-dashboard .form-select:focus,
.owner-dashboard .form-control-dark:focus,
.owner-dashboard .form-select-dark:focus { border-color: #75a8ff !important; box-shadow: 0 0 0 3px rgb(18 104 245 / 15%) !important; }
.admin-dashboard .studio-category-options input,
.owner-dashboard .studio-category-options input { accent-color: #1268f5; }
.admin-dashboard .studio-category-options label:has(input:checked),
.owner-dashboard .studio-category-options label:has(input:checked) { border-color: #9bbdff; background: #edf4ff; }
.admin-dashboard .dashboard-list-title,
.owner-dashboard .dashboard-list-title { color: #1268f5; }
.admin-dashboard .dashboard-list-title a,
.owner-dashboard .dashboard-list-title a { color: #1268f5; }
.admin-dashboard .dashboard-record-status,
.owner-dashboard .dashboard-record-status,
.owner-dashboard .dashboard-record-rating { background: #eaf2ff; color: #1557c0; }
.admin-dashboard .activity-log-page .stat-card { border-color: #dce5f2; }

.studio-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 22px;
  padding: 14px 16px;
  border: 1px solid #dce5f2;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 3px 10px rgb(12 35 74 / 5%);
}
.studio-pagination-label { color: #39465d; font-size: .9rem; font-weight: 700; }
.studio-pagination-actions { display: flex; align-items: center; gap: 9px; }
.bms-public-user-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: min(100%, 330px);
  padding: 5px 10px 5px 5px;
  border: 1px solid #dce7f5;
  border-radius: 999px;
  background: #f8fbff;
  color: #18213a;
}
.bms-public-user-name { overflow: hidden; color: #18213a; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.bms-public-user-role { flex: 0 0 auto; padding: 3px 8px; border: 1px solid #d5e4ff; border-radius: 999px; background: #edf4ff; color: #1764eb; font-size: 10px; font-weight: 650; white-space: nowrap; }
@media (max-width: 575.98px) {
  .studio-pagination { padding: 12px; }
  .studio-pagination .btn { min-height: 42px; }
}

/* Final night-mode contrast rules for the cinematic homepage hero and account badge. */
html[data-theme="dark"] body:has(.bms-home) .bms-home { background:radial-gradient(ellipse at 82% 16%,#172c49 0,transparent 42%),linear-gradient(180deg,#101a2a,#0d1422 72%)!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-hero-copy { border-color:#344a68!important;background:linear-gradient(145deg,#111d2eee,#15243bdc)!important;box-shadow:0 16px 36px #0004!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-eyebrow { border-color:#344a68!important;background:#1b2d46!important;color:#b8c9e1!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home .bms-hero-copy h1,
html[data-theme="dark"] body:has(.bms-home) .bms-home .bms-hero-copy h1 .hero-find { color:#f2f6fc!important;-webkit-text-fill-color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home .bms-hero-copy h1 em { color:#75aaff!important;-webkit-text-fill-color:#75aaff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home .bms-hero-copy>p { color:#d3deee!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home .bms-hero-perks span { border-color:#344a68!important;background:#1a2b43!important;color:#e5edf8!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home .bms-hero-perks span i { background:#203b61!important;color:#9cc1ff!important; }
html[data-theme="dark"] body:has(.bms-home) .navbar-glass .nav-link { color:#e3ebf7!important; }
html[data-theme="dark"] body:has(.bms-home) .navbar-glass .nav-link:hover,
html[data-theme="dark"] body:has(.bms-home) .navbar-glass .nav-link.active { background:#20314a!important;color:#9ec2ff!important; }
html[data-theme="dark"] body:has(.bms-home) .navbar-glass .site-brand-logo { filter:brightness(0) invert(1); }
html[data-theme="dark"] body:has(.bms-home) .bms-featured { background:transparent!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-featured .bms-studio-card { background:#151f30!important;border-color:#2b3a50!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-featured .bms-studio-info :is(h3,strong) { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-featured .bms-studio-info p { color:#a7b5c9!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-search-field>i { color:#d9e6f8!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-search-field input::placeholder { color:#a4b2c7!important; }
html[data-theme="dark"] .cookie-consent { border-color:#35465e!important;background:#151f30!important;color:#e8eef8!important;box-shadow:0 18px 54px #0008!important; }
html[data-theme="dark"] .cookie-consent-copy h2 { color:#edf3fc!important; }
html[data-theme="dark"] .cookie-consent-copy p { color:#b6c3d6!important; }
html[data-theme="dark"] .cookie-consent-actions button:not(.cookie-consent-accept) { border-color:#3a4b63!important;background:#202d40!important;color:#e2eaf5!important; }
html[data-theme="dark"] .bms-public-user-label { background:#172438;border-color:#2b3d56;color:#edf3fc; }
html[data-theme="dark"] .bms-public-user-name { color:#edf3fc; }

/* Readable dark surfaces for the how-it-works guide. */
html[data-theme="dark"] body:has(.bms-how-page) .bms-how-page { background:#0d1422!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.bms-how-page) :is(.bms-how-toc,.bms-how-step,.bms-how-after,.bms-how-info-grid article,.bms-how-tools-grid article,.bms-how-owner-section,.bms-how-footer-cta,.bms-how-price-note) { background:#151f30!important;border-color:#2b3a50!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.bms-how-page) :is(.bms-how-page h1,.bms-how-page h2,.bms-how-page h3,.bms-how-page h4,.bms-how-page strong,.bms-how-toc a,.bms-how-step h3,.bms-how-info-grid h3,.bms-how-tools-grid h3,.bms-how-owner-steps h3,.bms-how-faq summary) { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-how-page) :is(.bms-how-page p,.bms-how-page li,.bms-how-section-heading p,.bms-how-after-heading p,.bms-how-step p,.bms-how-info-grid p,.bms-how-tools-grid p,.bms-how-owner-steps p,.bms-how-faq details p,.bms-how-footer-cta p) { color:#b6c3d6!important; }
html[data-theme="dark"] body:has(.bms-how-page) .bms-how-kicker { color:#80adf7!important; }
html[data-theme="dark"] body:has(.bms-how-page) .bms-how-step-count { color:#9db4d3!important; }
html[data-theme="dark"] body:has(.bms-how-page) .bms-how-step-icon,
html[data-theme="dark"] body:has(.bms-how-page) .bms-how-tools-grid article>i { background:#203b61!important;color:#9cc1ff!important; }
html[data-theme="dark"] body:has(.bms-how-page) .bms-how-price-note { background:#172a43!important; }
html[data-theme="dark"] body:has(.bms-how-page) .bms-how-price-note p,
html[data-theme="dark"] body:has(.bms-how-page) .bms-how-price-note strong { color:#ccdbef!important; }
html[data-theme="dark"] body:has(.bms-how-page) .bms-how-after-heading h2 { color:#edf3fc!important; }
html[data-theme="dark"] body:not(.dashboard-body) .site-footer { background:#111b2a!important;border-color:#26364c!important;color:#c4d0e1!important; }
html[data-theme="dark"] body:not(.dashboard-body) .site-footer :is(h1,h2,h3,h4,h5,h6,.text-dark,.fs-5) { color:#edf3fc!important; }
html[data-theme="dark"] body:not(.dashboard-body) .site-footer :is(p,.text-muted,.footer-link,.footer-bottom) { color:#b3c0d3!important; }
html[data-theme="dark"] body:not(.dashboard-body) .site-footer .footer-link:hover { color:#8db8ff!important; }
html[data-theme="dark"] body:not(.dashboard-body) .site-footer .footer-bottom { border-color:#2b3a50!important; }
html[data-theme="dark"] body:not(.dashboard-body) .site-footer .footer-brand-logo { filter:brightness(0) invert(1); }
html[data-theme="dark"] body:not(.dashboard-body) .navbar-glass .site-brand-logo { filter:brightness(0) invert(1); }
html[data-theme="dark"] body.dashboard-body .dashboard-brand-logo { filter:brightness(0) invert(1); }
html[data-theme="dark"] body.dashboard-body :is(.dashboard-list-card,.dashboard-content .glass-card,.admin-studios-card,.admin-account-card,.overview-metric,.overview-quick-actions>a,.cookie-visits-panel,.cookie-visits-stats article,.studio-booking-results,.studio-booking-prompt,.dashboard-list-empty-state) { border-color:#2b3a50!important;background:#151f30!important;color:#e8eef8!important;box-shadow:0 8px 22px #0002!important; }
html[data-theme="dark"] body.dashboard-body :is(.overview-metric>div>span,.overview-quick-actions small,.cookie-visits-heading p,.cookie-visits-stats article>span,.cookie-visits-stats article>small,.studio-picker-meta,.studio-booking-heading span,.studio-booking-pagination>span,.studio-booking-prompt span,.dashboard-list-empty-state>span,.dashboard-record-main>span) { color:#a9b8cd!important; }
html[data-theme="dark"] body.dashboard-body :is(.overview-metric strong,.overview-quick-actions strong,.dashboard-list-title h3,.cookie-visits-heading h2,.cookie-visits-stats article>strong,.studio-picker-name,.studio-booking-heading h4,.studio-booking-prompt strong,.dashboard-list-empty-state strong,.dashboard-record-main strong,.dashboard-record-amount) { color:#edf3fc!important; }
html[data-theme="dark"] body.dashboard-body .overview-quick-actions>a:hover { border-color:#42628f!important;background:#1c2d45!important; }
html[data-theme="dark"] body.dashboard-body .overview-metric>a { background:#263750!important;color:#a9c9ff!important; }
html[data-theme="dark"] body.dashboard-body .cookie-visits-privacy { border-color:#34465f;background:#1d2b40;color:#b7c6da; }
html[data-theme="dark"] body.dashboard-body .studio-picker-list { border-color:#2b3a50; }
html[data-theme="dark"] body.dashboard-body .studio-picker-link { border-color:#2b3a50;background:transparent;color:#e4ecf8; }
html[data-theme="dark"] body.dashboard-body .studio-picker-link:hover { background:#1b2b41; }
html[data-theme="dark"] body.dashboard-body .studio-picker-link.is-selected { border-color:#2b3a50;background:#203653; }
html[data-theme="dark"] body.dashboard-body :is(.dashboard-list-title,.studio-booking-heading,.studio-booking-pagination,.dashboard-record-row) { border-color:#2b3a50!important; }
html[data-theme="dark"] body.dashboard-body .studio-booking-pagination a { border-color:#3a4b63;background:#1b293d;color:#c8d5e7; }
html[data-theme="dark"] body.dashboard-body .studio-booking-pagination a:hover,html[data-theme="dark"] body.dashboard-body .studio-booking-pagination a.is-current { border-color:#5688d8;background:#203a5c;color:#cfe0ff; }
html[data-theme="dark"] body.dashboard-body .dashboard-list-title>a { color:#9bbfff; }
html[data-theme="dark"] body.dashboard-body :is(.overview-hero,.studio-profile-card,.studio-profile-empty,.overview-support) { border-color:#2b3a50!important;background:#151f30!important;color:#e8eef8!important;box-shadow:0 8px 22px #0002!important; }
html[data-theme="dark"] body.dashboard-body .overview-hero :is(h1,h2,h3) { color:#edf3fc!important;-webkit-text-fill-color:#edf3fc!important; }
html[data-theme="dark"] body.dashboard-body .overview-hero p { color:#a9b8cd!important; }
html[data-theme="dark"] body.dashboard-body .studio-profile-card-name strong { color:#edf3fc!important; }
html[data-theme="dark"] body.dashboard-body :is(.studio-profile-card-name span,.studio-profile-progress-heading,.studio-profile-card-bottom,.studio-profile-footnote,.studio-profile-empty-copy p) { color:#a9b8cd!important; }
html[data-theme="dark"] body.dashboard-body .studio-profile-progress-heading strong { color:#edf3fc!important; }
html[data-theme="dark"] body.dashboard-body .studio-profile-progress { background:#263750!important; }
html[data-theme="dark"] body.dashboard-body .studio-profile-empty-copy strong { color:#edf3fc!important; }
html[data-theme="dark"] body.dashboard-body .studio-profile-heading :is(h3,p) { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.studios-page) .studios-page :is(.studios-filter-card,.studio-hero-search,.studio-map-empty,.glass-card) { background:#151f30!important;border-color:#2b3a50!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.studios-page) .studios-page .studio-category-chip:not(.is-active) { border-color:#34465f;background:#1a2739;color:#dce7f6; }
html[data-theme="dark"] body:has(.studios-page) .studios-page .studio-category-chip:not(.is-active) i { color:#8db8ff; }
html[data-theme="dark"] body:has(.studios-page) .studios-page .studio-category-chip:not(.is-active):hover { border-color:#6799e8;background:#223753;color:#c7dcff; }
html[data-theme="dark"] body:has(.studios-page) .studios-filter-card :is(h5,.form-label,.form-check-label,.small,.text-secondary) { color:#d1dced!important; }
html[data-theme="dark"] body:has(.studios-page) .studios-filter-card .text-muted { color:#a8b7cc!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-search-image .studio-image-placeholder { background:#202e43!important;color:#a9bad2!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-search-image .verified-studio-pill { background:#183329!important;color:#8be0b1!important;border-color:#286344!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-hero-search input { background:transparent!important;color:#edf3fc!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-hero-search input::placeholder { color:#9eacc1!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-hero-nearby { border-color:#34465f!important;background:#151f30!important;color:#e4ecf8!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-view-switch { border-color:#34465f!important;background:#151f30!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-view-switch button { color:#bdcadd!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-view-switch button.is-active { background:#203b61!important;color:#a9c9ff!important; }
html[data-theme="dark"] body:has(.studios-page) .studios-page-tools .studio-sort-label { color:#adbbcf!important; }
html[data-theme="dark"] body:has(.studios-page) .applied-filters-overview { border-color:#2b3a50!important;background:#151f30!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.studios-page) .applied-filter-chip { border-color:#3a4b63!important;background:#202d40!important;color:#e2eaf5!important; }
html[data-theme="dark"] body:has(.studios-page) .applied-filter-chip span { color:#aab9ce!important; }
html[data-theme="dark"] body:has(.studios-page) .applied-filter-chip>i { color:#9eacc1!important; }
html[data-theme="dark"] body:has(.studios-page) .applied-filters-clear { color:#91b9ff!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-map-listing { border-color:#2b3a50!important;background:#151f30!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-map-listing h3,
html[data-theme="dark"] body:has(.studios-page) .studio-map-listing-bottom strong { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-map-listing :is(p,.studio-map-listing-top>span,.studio-map-listing-bottom small) { color:#a7b5c9!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-map-listing-actions a:last-child { border-color:#3a4b63!important;background:#202d40!important;color:#e2eaf5!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-map-listing-actions a:last-child:hover { border-color:#6799e8!important;background:#263b57!important;color:#b8d2ff!important; }
html[data-theme="dark"] body:has(.bms-contact-page) .bms-contact-page { background:radial-gradient(ellipse at 50% 0,#172c49 0,transparent 48%),#0d1422!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.bms-contact-page) .bms-contact-card { border-color:#2b3a50!important;background:#151f30!important;color:#e8eef8!important;box-shadow:0 10px 28px #0002!important; }
html[data-theme="dark"] body:has(.bms-contact-page) .bms-contact-card h2,
html[data-theme="dark"] body:has(.bms-contact-page) .bms-contact-hero h1 { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-contact-page) :is(.bms-contact-hero p,.bms-contact-card p) { color:#b6c3d6!important; }
html[data-theme="dark"] body:has(.bms-contact-page) .bms-contact-label { color:#a6b7ce!important; }
html[data-theme="dark"] body:has(.bms-contact-page) .bms-contact-action { color:#8db8ff!important; }
html[data-theme="dark"] body:has(.bms-contact-page) .bms-contact-note { border-color:#2b3a50!important;background:#17253a!important;color:#c2d0e4!important; }
html[data-theme="dark"] body:has(.bms-contact-page) .bms-contact-note strong { color:#edf3fc!important; }

/* Consistent night mode across every admin and owner workspace screen. */
html[data-theme="dark"] body.dashboard-body :is(.dashboard-content .card,.dashboard-content .glass-card,.dashboard-content .stat-card,.dashboard-list-card,.admin-list-surface,.admin-list-stats>div,.admin-account-card,.admin-studios-card,.owner-bookings-card,.support-contact-card,.support-shortcuts-card,.support-faq-card,.admin-import-upload,.admin-import-images,.admin-import-preview,.admin-import-result,.admin-import-photo-coverage,.admin-import-photo-empty-state) {
  border-color:#2b3a50!important;background:#151f30!important;color:#e8eef8!important;box-shadow:0 8px 22px #0002!important;
}
html[data-theme="dark"] body.dashboard-body :is(.dashboard-content h1,.dashboard-content h2,.dashboard-content h3,.dashboard-content h4,.dashboard-content h5,.dashboard-content h6,.dashboard-content .text-dark,.dashboard-list-title h2,.dashboard-list-title h3,.admin-list-stats strong,.admin-import-header h1,.admin-import-section-heading h2,.admin-import-photo-coverage-header h3,.owner-bookings-heading h1,.support-contact-card strong,.support-shortcuts-card h2,.support-faq-card h2) { color:#edf3fc!important; }
html[data-theme="dark"] body.dashboard-body :is(.dashboard-content p,.dashboard-content label,.dashboard-content .text-muted,.dashboard-content small,.dashboard-content .form-text,.dashboard-list-card p,.admin-import-header p,.admin-import-section-heading p,.admin-import-photo-coverage-header p,.owner-bookings-heading p,.support-contact-card small,.support-contact-card em) { color:#a9b8cd!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-list-count,.admin-count-pill,.admin-import-count,.admin-import-status,.admin-import-row-number,.admin-import-result-counts>div,.admin-import-photo-coverage-counts span,.admin-import-photo-status,.admin-import-photo-delete-toolbar,.studio-category-options,.studio-category-options label,.owner-bookings-table thead th) { border-color:#34465f!important;background:#1b293d!important;color:#dce7f6!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-list-surface,.admin-import-table-wrap,.owner-bookings-card .table-responsive) { overflow-x:auto; }
html[data-theme="dark"] body.dashboard-body :is(.admin-list-surface table,.admin-import-table,.owner-bookings-table,.dashboard-content table) { --bs-table-bg:transparent;--bs-table-color:#dce7f6;--bs-table-border-color:#2b3a50;color:#dce7f6!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-list-surface thead th,.admin-import-table th,.owner-bookings-table thead th,.dashboard-content table thead th) { background:#1b293d!important;border-color:#34465f!important;color:#aebdd2!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-list-surface tbody td,.admin-import-table td,.owner-bookings-table tbody td,.dashboard-content table tbody td) { background:transparent!important;border-color:#2b3a50!important;color:#dce7f6!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-list-surface tbody tr:hover td,.admin-import-table tbody tr:hover td,.owner-bookings-table tbody tr:hover td,.dashboard-content table tbody tr:hover td) { background:#1a293e!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-import-table td strong,.admin-import-result-counts strong,.admin-import-photo-studio-meta strong,.support-contact-card strong) { color:#edf3fc!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-import-photo-note,.admin-import-file-picker,.admin-import-photo-empty,.admin-import-photo-empty-filter,.admin-import-photo-studio-meta,.admin-import-photo-empty-state) { border-color:#34465f!important;background:#1b293d!important;color:#b6c3d6!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-import-photo-note strong,.admin-import-file-picker strong,.admin-import-photo-empty-state strong,.admin-import-photo-coverage-header h3) { color:#edf3fc!important; }
html[data-theme="dark"] body.dashboard-body .admin-import-image-preview-card { border-color:#34465f!important;background:#1b293d!important; }
html[data-theme="dark"] body.dashboard-body .admin-import-image-preview-card img { background:#111b2a; }
html[data-theme="dark"] body.dashboard-body .admin-import-image-preview-card figcaption { background:#1b293d; }
html[data-theme="dark"] body.dashboard-body .admin-import-image-preview-card strong { color:#e2eaf6!important; }
html[data-theme="dark"] body.dashboard-body .admin-import-image-preview-card small { color:#a9b8cd!important; }
html[data-theme="dark"] body.dashboard-body .admin-import-image-selection-warning { border-color:#63502d;background:#3a3020;color:#f1cd83; }
html[data-theme="dark"] body.dashboard-body .admin-import-image-selection[hidden] { display:none!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-import-photo-note span:not(.admin-import-photo-icon),.admin-import-file-picker small,.admin-import-upload-help,.admin-import-preview-footer p,.admin-import-owner-source,.admin-import-photo-studio-meta small) { color:#a9b8cd!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-import-file-icon,.admin-import-photo-icon,.admin-import-step,.admin-import-photo-delete-toolbar) { background:#233651!important;color:#a9c9ff!important;border-color:#3a5273!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-import-count.is-ready,.admin-import-status.is-ready,.admin-import-result-counts .is-ready,.admin-import-photo-coverage-counts .has-photos,.admin-import-photo-status.has-photos) { background:#18382e!important;border-color:#285d49!important;color:#9ce0ba!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-import-count.is-owner,.admin-import-status.is-owner,.admin-import-result-counts .is-owner,.admin-import-photo-coverage-counts .no-photos,.admin-import-photo-status.no-photos) { background:#3a3020!important;border-color:#63502d!important;color:#f1cd83!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-import-count.is-invalid,.admin-import-status.is-invalid,.admin-import-result-counts .is-invalid) { background:#40272c!important;border-color:#684047!important;color:#f4a3a5!important; }
html[data-theme="dark"] body.dashboard-body :is(.admin-import-photo-coverage-tools input,.admin-import-photo-coverage-tools select,.admin-import-owner-select,.owner-bookings-table .form-control-sm,.owner-bookings-table .form-select-sm) { border-color:#3a4b63!important;background:#101a2a!important;color:#e8eef8!important;color-scheme:dark; }
html[data-theme="dark"] body.dashboard-body .admin-import-photo-studio { border-color:#34465f!important;background:#151f30!important; }
html[data-theme="dark"] body.dashboard-body .studio-category-options label:has(input:checked) { border-color:#5688d8!important;background:#203a5c!important;color:#dceaff!important; }
html[data-theme="dark"] body.dashboard-body :is(.owner-bookings-heading h1,.owner-bookings-page .text-center.py-5 h5) { color:#edf3fc!important; }
html[data-theme="dark"] body.dashboard-body .studio-pagination { border-color:#2b3a50!important;background:#151f30!important;color:#dce7f6!important; }
html[data-theme="dark"] body.dashboard-body .studio-pagination-label { color:#dce7f6!important; }

/* The owner setup wizard uses inline light-theme styling, so scope explicit overrides to it. */
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) .studio-onboarding-backdrop { background:#0c1320!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) .studio-onboarding-modal { background:#0c1320!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) .studio-onboarding-aside { border-color:#2b3a50!important;background:linear-gradient(180deg,rgba(14,22,35,.96),rgba(14,22,35,.9)),url('/images/owner-studio-onboarding-bg.png') center/cover no-repeat!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) :is(.studio-onboarding-aside h1,.studio-onboarding-step-copy strong,.studio-onboarding-brand span,.studio-wizard-main h1,.studio-wizard-main h2,.studio-wizard-main h3) { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) :is(.studio-onboarding-aside-copy>p,.studio-onboarding-benefits li,.studio-onboarding-step-copy small,.studio-onboarding-step-number,.studio-wizard-main p,.studio-wizard-main label) { color:#afbdd1!important; }
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) .studio-onboarding-benefits li.is-active { border-color:#3a5273!important;background:#1b2b41!important;color:#edf3fc!important; }
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) :is(.studio-onboarding-step-icon,.studio-wizard-progress,.studio-wizard-controls,.studio-wizard-main fieldset,.studio-wizard-main .studio-category-options) { border-color:#34465f!important;background:#151f30!important;color:#dce7f6!important; }
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) .studio-onboarding-main :is(.form-control,.form-select,.form-control-dark,.form-select-dark,textarea) { border-color:#3a4b63!important;background:#101a2a!important;color:#e8eef8!important;color-scheme:dark; }
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) .studio-onboarding-main :is(.form-control::placeholder,textarea::placeholder) { color:#899bb4!important; }
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) .studio-onboarding-main .studio-category-options label { border-color:#34465f!important;background:#1b293d!important;color:#dce7f6!important; }
html[data-theme="dark"] body:has(.studio-onboarding-backdrop) .studio-onboarding-main .studio-category-options label:has(input:checked) { border-color:#5688d8!important;background:#203a5c!important;color:#dceaff!important; }

/* Shared, accessible toast notifications for server flashes and client actions. */
.bms-toast-region { position:fixed;top:82px;right:20px;z-index:1300;display:grid;width:min(390px,calc(100vw - 32px));gap:10px;pointer-events:none; }
.bms-toast { display:grid;grid-template-columns:34px minmax(0,1fr) 28px;align-items:start;gap:11px;padding:14px 12px;border:1px solid #dce5f2;border-left:4px solid #1268f5;border-radius:14px;background:#fff;color:#263651;box-shadow:0 14px 38px #142a481f;opacity:0;transform:translateY(-8px) scale(.985);transition:opacity .2s ease,transform .2s ease;pointer-events:auto; }
.bms-toast.is-visible { opacity:1;transform:translateY(0) scale(1); }
.bms-toast-icon { display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:#edf4ff;color:#1764eb;font-size:16px; }
.bms-toast-message { align-self:center;padding:2px 0;color:#263651;font-size:13px;font-weight:600;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere; }
.bms-toast-close { display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:8px;background:transparent;color:#75839a;font-size:12px;cursor:pointer; }
.bms-toast-close:hover { background:#f0f4f9;color:#17243a; }
.bms-toast-success { border-left-color:#16845b; }.bms-toast-success .bms-toast-icon { background:#e9f8f0;color:#16845b; }
.bms-toast-error { border-left-color:#d54848; }.bms-toast-error .bms-toast-icon { background:#fff0ef;color:#c83d3d; }
.bms-toast-warning { border-left-color:#c17a12; }.bms-toast-warning .bms-toast-icon { background:#fff5e6;color:#a76308; }
html[data-theme="dark"] .bms-toast { border-color:#34465f;border-left-color:#5d94f0;background:#172438;color:#e8eef8;box-shadow:0 16px 40px #0007; }
html[data-theme="dark"] .bms-toast-message { color:#e5edf8; }
html[data-theme="dark"] .bms-toast-close { color:#a9bad1; }
html[data-theme="dark"] .bms-toast-close:hover { background:#263750;color:#fff; }
html[data-theme="dark"] .bms-toast-success { border-left-color:#49be88; }
html[data-theme="dark"] .bms-toast-success .bms-toast-icon { background:#183b30;color:#62d29c; }
html[data-theme="dark"] .bms-toast-error { border-left-color:#f07878; }
html[data-theme="dark"] .bms-toast-error .bms-toast-icon { background:#45272c;color:#ff9999; }
html[data-theme="dark"] .bms-toast-warning { border-left-color:#e7aa53; }
html[data-theme="dark"] .bms-toast-warning .bms-toast-icon { background:#44351f;color:#f5c578; }
@media(max-width:575.98px) { .bms-toast-region { top:68px;right:12px;width:calc(100vw - 24px);gap:8px; }.bms-toast { grid-template-columns:30px minmax(0,1fr) 26px;gap:9px;padding:12px 10px;border-radius:12px; }.bms-toast-icon { width:29px;height:29px;font-size:14px; }.bms-toast-message { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .bms-toast { transition:none; } }

/* A polished, consistent action bar for admin and owner workspaces. */
.admin-dashboard .dashboard-topbar,.owner-dashboard .dashboard-topbar {
  min-height:70px;gap:14px;padding:10px clamp(16px,2vw,30px);border-bottom:1px solid #e4eaf3;
  background:rgba(255,255,255,.94);box-shadow:0 5px 18px rgba(24,43,76,.055);backdrop-filter:blur(16px);
}
.admin-dashboard .dashboard-topbar .sidebar-toggle-btn,.owner-dashboard .dashboard-topbar .sidebar-toggle-btn {
  width:40px;height:40px;display:grid;flex:0 0 40px;place-items:center;padding:0;border:1px solid #dce5f2;
  border-radius:12px;background:#f8faff;color:#52647e;transition:background .18s,border-color .18s,color .18s,transform .18s;
}
.admin-dashboard .dashboard-topbar .sidebar-toggle-btn:hover,.owner-dashboard .dashboard-topbar .sidebar-toggle-btn:hover { transform:translateY(-1px);border-color:#b9d0f4;background:#edf4ff;color:#1764eb; }
.admin-dashboard .dashboard-topbar .topbar-title,.owner-dashboard .dashboard-topbar .topbar-title { min-width:0; }
.admin-dashboard .dashboard-topbar .topbar-title h6,.owner-dashboard .dashboard-topbar .topbar-title h6 { margin:0!important;color:#17243a;font-size:.92rem;font-weight:750;letter-spacing:-.02em; }
.owner-dashboard .dashboard-topbar .topbar-title { display:grid;gap:2px; }
.owner-dashboard .owner-topbar-eyebrow { color:#8794a9;font-size:.57rem;font-weight:800;letter-spacing:.13em; }
.admin-dashboard .dashboard-topbar .topbar-actions,.owner-dashboard .dashboard-topbar .topbar-actions { gap:9px; }
.admin-dashboard .dashboard-topbar .bms-theme-toggle,.owner-dashboard .dashboard-topbar .bms-theme-toggle { width:40px;height:40px;flex-basis:40px;margin:0;border-color:#dce5f2;background:#f8faff;color:#425775; }
.admin-dashboard .dashboard-topbar .btn-outline-custom,.owner-dashboard .dashboard-topbar .btn-outline-custom { min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin:0!important;padding:0 14px;border:1px solid #d9e2ef;border-radius:11px;background:#fff;color:#34445e!important;font-size:.76rem;font-weight:700;box-shadow:0 2px 5px rgba(22,42,72,.035); }
.admin-dashboard .dashboard-topbar .btn-outline-custom:hover,.owner-dashboard .dashboard-topbar .btn-outline-custom:hover { border-color:#b8cff3;background:#f5f8ff;color:#175ac5!important; }
.admin-dashboard .dashboard-topbar .btn-outline-danger,.owner-dashboard .dashboard-topbar .owner-topbar-logout { width:40px;height:40px;display:inline-grid;place-items:center;margin:0!important;padding:0;border:1px solid #f0d9dc;border-radius:11px;background:#fff8f8;color:#c1434b;font-size:.9rem; }
.admin-dashboard .dashboard-topbar .btn-outline-danger:hover,.owner-dashboard .dashboard-topbar .owner-topbar-logout:hover { border-color:#e8b7bc;background:#fff0f1;color:#a92f39; }
html[data-theme="dark"] .admin-dashboard .dashboard-topbar,html[data-theme="dark"] .owner-dashboard .dashboard-topbar { border-color:#26364c;background:rgba(12,19,32,.94);box-shadow:0 5px 18px #0003; }
html[data-theme="dark"] .admin-dashboard .dashboard-topbar .topbar-title h6,html[data-theme="dark"] .owner-dashboard .dashboard-topbar .topbar-title h6 { color:#edf3fc; }
html[data-theme="dark"] .admin-dashboard .dashboard-topbar .sidebar-toggle-btn,html[data-theme="dark"] .owner-dashboard .dashboard-topbar .sidebar-toggle-btn,html[data-theme="dark"] .admin-dashboard .dashboard-topbar .bms-theme-toggle,html[data-theme="dark"] .owner-dashboard .dashboard-topbar .bms-theme-toggle { border-color:#34465f;background:#172438;color:#dce7f6; }
html[data-theme="dark"] .admin-dashboard .dashboard-topbar .btn-outline-custom,html[data-theme="dark"] .owner-dashboard .dashboard-topbar .btn-outline-custom { border-color:#34465f;background:#172438;color:#dce7f6!important;box-shadow:none; }
html[data-theme="dark"] .admin-dashboard .dashboard-topbar .btn-outline-custom:hover,html[data-theme="dark"] .owner-dashboard .dashboard-topbar .btn-outline-custom:hover { border-color:#5688d8;background:#203653;color:#cfe0ff!important; }
@media(max-width:650px) {
  .admin-dashboard .dashboard-topbar,.owner-dashboard .dashboard-topbar { min-height:60px;gap:10px;padding:8px 12px; }
  .admin-dashboard .dashboard-topbar .sidebar-toggle-btn,.owner-dashboard .dashboard-topbar .sidebar-toggle-btn,.admin-dashboard .dashboard-topbar .bms-theme-toggle,.owner-dashboard .dashboard-topbar .bms-theme-toggle { width:36px;height:36px;flex-basis:36px;border-radius:10px; }
  .admin-dashboard .dashboard-topbar .topbar-title h6,.owner-dashboard .dashboard-topbar .topbar-title h6 { font-size:.8rem; }
  .admin-dashboard .dashboard-topbar .topbar-actions,.owner-dashboard .dashboard-topbar .topbar-actions { gap:6px; }
  .admin-dashboard .dashboard-topbar .btn-outline-danger,.owner-dashboard .dashboard-topbar .owner-topbar-logout { width:36px;height:36px; }
}

/* Compact studio completion summary with an accessible average-completion ring. */
.dashboard-overview .studio-profile-heading { min-height:60px;gap:10px;padding:9px 14px; }
.dashboard-overview .studio-profile-heading-icon { width:34px;height:34px;flex-basis:34px;border-radius:10px;font-size:.96rem; }
.dashboard-overview .studio-profile-heading-copy { min-width:0;flex:1; }
.dashboard-overview .studio-profile-heading h3 { font-size:.9rem; }
.dashboard-overview .studio-profile-heading p { margin-top:2px;font-size:.69rem; }
.studio-profile-overall { display:flex;flex:0 0 auto;align-items:center;gap:9px;margin-left:12px; }
.studio-profile-overall-ring { position:relative;display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:50%;background:conic-gradient(#2a8aee var(--completion),#e8edf5 0); }
.studio-profile-overall-ring::before { position:absolute;inset:4px;border-radius:50%;background:#fff;content:""; }
.studio-profile-overall-ring strong { position:relative;color:#17243a;font-size:.66rem;font-weight:800; }
.studio-profile-overall>span:last-child { display:grid;gap:2px;white-space:nowrap; }
.studio-profile-overall>span:last-child>strong { color:#27364e;font-size:.68rem;font-weight:750; }
.studio-profile-overall>span:last-child>small { color:#7f8ba0;font-size:.63rem; }
.studio-profile-grid { gap:10px;padding:12px; }
.studio-profile-card { padding:11px 13px 10px;border-radius:12px; }
.studio-profile-card-top { gap:9px; }
.studio-profile-thumb { width:40px;height:40px;flex-basis:40px;border-radius:10px; }
.studio-profile-card-name strong { font-size:.86rem; }
.studio-profile-card-name span { font-size:.68rem; }
.studio-profile-status { padding:5px 8px;font-size:.64rem; }
.studio-profile-progress-heading { margin:10px 0 5px;font-size:.68rem; }
.studio-profile-progress-heading strong { font-size:.74rem; }
.studio-profile-progress { height:6px; }
.studio-profile-card-bottom { margin-top:8px;font-size:.66rem; }
.studio-profile-action { font-size:.68rem; }
.studio-profile-footnote { gap:6px;padding:0 14px 11px;font-size:.66rem; }
html[data-theme="dark"] .studio-profile-overall-ring { background:conic-gradient(#5796ff var(--completion),#2b3a50 0); }
html[data-theme="dark"] .studio-profile-overall-ring::before { background:#151f30; }
html[data-theme="dark"] .studio-profile-overall-ring strong,html[data-theme="dark"] .studio-profile-overall>span:last-child>strong { color:#edf3fc; }
html[data-theme="dark"] .studio-profile-overall>span:last-child>small { color:#a9b8cd; }
html[data-theme="dark"] .studio-profile-overall-ring { color:#edf3fc; }
@media(max-width:575.98px) {
  .dashboard-overview .studio-profile-heading { flex-wrap:wrap; }
  .studio-profile-overall { margin-left:44px; }
  .studio-profile-grid { padding:9px; }
  .studio-profile-card { padding:10px; }
  .studio-profile-footnote { padding-right:11px;padding-left:11px; }
}

/* Final dark-mode contrast for homepage sections with light cards. */
html[data-theme="dark"] body:has(.bms-home) .bms-business { background:linear-gradient(112deg,#111c2d,#14243a)!important;border-color:#263a56; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-intro .bms-eyebrow,
html[data-theme="dark"] body:has(.bms-home) .bms-cities .bms-eyebrow { color:#91b8ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-intro h2,
html[data-theme="dark"] body:has(.bms-home) .bms-benefit-title h2,
html[data-theme="dark"] body:has(.bms-home) .bms-cities .bms-section-head h2 { color:#f2f6fc!important;-webkit-text-fill-color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-intro p { color:#c0cde0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-card { border:1px solid #dfe7f3;background:#f8faff!important;color:#1b2942!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-card b { color:#253b5c!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-card small { color:#586a86!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-benefits { border-color:#2b3d57!important;background:linear-gradient(110deg,#151f30,#19263a)!important;box-shadow:0 12px 30px #0002; }
html[data-theme="dark"] body:has(.bms-home) .bms-benefit { border-color:#34445d!important;color:#e6edf7!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-benefit-title .bms-eyebrow { color:#91b8ff!important; }

/* Final homepage guardrails for full-bleed sections and the fixed bottom bar. */
body:has(.bms-home) { overflow-x:hidden; }
body:has(.bms-home) .bms-home { width:100%;min-width:0;box-sizing:border-box;overflow-x:visible; }
body:has(.bms-home) .bms-home > :is(.bms-hero,.bms-trust,.bms-categories,.bms-business,.bms-featured,.bms-benefits,.bms-cities,.bms-steps,.bms-home-faq,.bms-stats,.bms-owner-cta) { min-width:0; }
body:has(.bms-home) .bms-home > .bms-benefits { grid-template-columns:minmax(0,1.2fr) repeat(6,minmax(0,1fr)); }
body:has(.bms-home) .bms-benefit-title,
body:has(.bms-home) .bms-benefit-title h2 { min-width:0;overflow-wrap:anywhere; }
@media(max-width:991.98px) {
  body:has(.bms-home) .bms-home > .bms-benefits { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body:has(.bms-home) .bms-home > .bms-benefits > .bms-benefit-title { grid-column:1/-1; }
}
@media(max-width:575.98px) {
  body:has(.bms-home) .bms-home > .bms-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:992px) {
  body:has(.bms-bottom-nav) .bms-home { padding-bottom:140px!important; }
}


/* Last-loaded dark mode contrast for the homepage steps, FAQs, and statistics. */
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-section-head h2,
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-heading h2 { color:#f2f6fc!important;-webkit-text-fill-color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-section-subtitle,
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-heading p { color:#b8c7dc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step { border-color:#2e405a!important;background:linear-gradient(145deg,#172438,#121d2e)!important;color:#edf3fc!important;box-shadow:0 7px 20px #0002; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step>b { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step>small,
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step-arrow { color:#b7c6dc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps .bms-step>strong { color:#8db7ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps-guide-link { border-color:#2e405a;background:#172438!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-steps-guide-link span { color:#c0cde0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-list details { border-color:#2e405a;background:#172438!important;box-shadow:0 6px 18px #0002; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-list summary { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-list details p { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home-faq-heading>a { color:#91b8ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats { border:1px solid #2e405a;background:linear-gradient(110deg,#151f30,#19263a)!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats>div { border-color:#34445d!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats b { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-stats small { color:#b8c7dc!important; }

/* Dark-mode contrast for the floating public navigation. */
html[data-theme="dark"] body:has(.bms-bottom-nav) .bms-bottom-nav {
  border-color:#34465f!important;background:rgba(17,29,46,.96)!important;
  box-shadow:0 8px 26px #0008!important;
}
html[data-theme="dark"] body:has(.bms-bottom-nav) .bms-bottom-nav>a { color:#c4d2e6!important; }
html[data-theme="dark"] body:has(.bms-bottom-nav) .bms-bottom-nav>a:hover { background:#203653!important;color:#fff!important; }
html[data-theme="dark"] body:has(.bms-bottom-nav) .bms-bottom-nav>a.is-active { background:#203b61!important;color:#a9c9ff!important; }
html[data-theme="dark"] body:has(.bms-bottom-nav) .bms-bottom-nav>a.bms-bottom-nav-book { background:transparent!important;color:#c4d2e6!important;box-shadow:none!important; }
html[data-theme="dark"] body:has(.bms-bottom-nav) .bms-bottom-nav>a.bms-bottom-nav-book.is-active { background:#203b61!important;color:#a9c9ff!important; }

/* Mobile homepage trust and search controls: readable in dark mode. */
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-trust {
  border-color:#34465f!important;background:linear-gradient(145deg,#172438,#111d2f)!important;
  box-shadow:0 8px 24px #0003!important;
}
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-trust b { color:#e7effb!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-trust small { color:#aebfd7!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-trust>span { border-color:#34465f!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(1) { border:1px solid #34465f;background:#172438!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field input,
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field select { color:#e2eaf6!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field input::placeholder { color:#a9b9d0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field>i { color:#a9c9ff!important; }


/* Prevent a pale gutter around the full-bleed mobile hero in dark mode. */
@media(max-width:991.98px) {
  html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero { background:#0d1422!important; }
  html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-hero-visual {
    left:50%!important;width:calc(100vw + 64px)!important;transform:translateX(-50%)!important;
    background:#0d1422!important;border-radius:0 0 18px 18px;
  }
  html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-hero-visual:after {
    border-radius:0 0 18px 18px!important;
    background:linear-gradient(90deg,#0d1422f2 0%,#0d1422d9 48%,#0d142270 76%,#0d142240 100%)!important;
  }
}


/* Keep the dark homepage canvas and mobile hero backdrop on one shared color. */
html[data-theme="dark"] body:has(.bms-home) { background:#0d1422!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home,
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero,
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-hero-visual { background-color:#0d1422!important; }

/* Match homepage business cards to the dark page surface. */
html[data-theme="dark"] body:has(.bms-home) .bms-business-card {
  border-color:#34465f!important;background:linear-gradient(145deg,#1a2940,#152236)!important;
  color:#edf3fc!important;box-shadow:0 8px 22px #0003;
}
html[data-theme="dark"] body:has(.bms-home) .bms-business-card b { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-business-card small { color:#b8c7dc!important; }

/* Keep mobile benefit tiles consistent with the dark benefits panel. */
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-benefits>.bms-benefit {
  border:1px solid #34465f!important;border-radius:12px;background:#1a2940!important;
  color:#edf3fc!important;
}
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-benefits>.bms-benefit>b { color:#edf3fc!important; }

/* Dark-mode surfaces and readable copy for the blog and article pages. */
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-page,
html[data-theme="dark"] body:has(.bms-blog-article-page) .bms-blog-article-page { background:linear-gradient(180deg,#0d1422,#101a2a 55%,#0d1422)!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-featured,
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-card,
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-empty,
html[data-theme="dark"] body:has(.bms-blog-article-page) .bms-blog-article-body {
  border-color:#2e405a!important;background:#172438!important;color:#e8eef8!important;box-shadow:0 12px 32px #0003;
}
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-feature-copy h2,
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-card-copy h3,
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-section-heading h2,
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-empty h2,
html[data-theme="dark"] body:has(.bms-blog-article-page) .bms-blog-article-header h1,
html[data-theme="dark"] body:has(.bms-blog-article-page) .blog-article-content h2,
html[data-theme="dark"] body:has(.bms-blog-article-page) .blog-article-content h3,
html[data-theme="dark"] body:has(.bms-blog-article-page) .blog-article-content h4 { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-feature-copy>p,
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-card-copy>p,
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-empty p,
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-section-heading>span,
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-card-copy time,
html[data-theme="dark"] body:has(.bms-blog-article-page) .bms-blog-article-header>p,
html[data-theme="dark"] body:has(.bms-blog-article-page) .bms-blog-article-header time,
html[data-theme="dark"] body:has(.bms-blog-article-page) .blog-article-content { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-meta { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-meta time { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-kicker,
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-overline,
html[data-theme="dark"] body:has(.bms-blog-article-page) .bms-blog-kicker { color:#91b8ff!important; }
html[data-theme="dark"] body:has(.bms-blog-page) .bms-blog-card-arrow { border-color:#34465f;background:#203653;color:#dce8fb; }
html[data-theme="dark"] body:has(.bms-blog-article-page) .bms-blog-breadcrumbs { color:#bdcbe0; }
html[data-theme="dark"] body:has(.bms-blog-article-page) .bms-blog-breadcrumbs a { color:#91b8ff; }

/* Dark-mode surfaces for the favorites empty state and saved studios. */
html[data-theme="dark"] body:has(.favorites-page) .favorites-heading { border-color:#2e405a!important; }
html[data-theme="dark"] body:has(.favorites-page) .favorites-heading h1 { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.favorites-page) .favorites-heading p { color:#b8c7dc!important; }
html[data-theme="dark"] body:has(.favorites-page) .favorites-empty,
html[data-theme="dark"] body:has(.favorites-page) .favorite-studio-card {
  border-color:#2e405a!important;background:#172438!important;color:#e8eef8!important;
  box-shadow:0 10px 28px #0003;
}
html[data-theme="dark"] body:has(.favorites-page) .favorites-empty h2,
html[data-theme="dark"] body:has(.favorites-page) .favorite-studio-card h3 { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.favorites-page) .favorites-empty p,
html[data-theme="dark"] body:has(.favorites-page) .favorite-studio-card p { color:#bdcbe0!important; }

/* Dark-mode contrast for customer booking navigation and category cards. */
html[data-theme="dark"] body:has(.user-booking-sections-page) .user-bookings-heading h2 { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .user-bookings-heading p { color:#b8c7dc!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-nav { border-color:#2e405a!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-nav>a {
  border-color:#34465f!important;background:#172438!important;color:#d6e1f1!important;
}
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-nav>a[aria-current="page"] { border-color:#4a6c9c!important;background:#203653!important;color:#c6dcff!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-nav>a>b,
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-category-count { background:#263750!important;color:#d6e1f1!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-category-card {
  border-color:#34465f!important;background:linear-gradient(145deg,#1a2940,#152236)!important;
  color:#edf3fc!important;box-shadow:0 8px 22px #0003;
}
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-category-card:hover { border-color:#5278aa!important;color:#fff!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-category-card>strong { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-category-card>small { color:#b8c7dc!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-category-card>b { color:#a9c9ff!important; }

/* Dark-mode detail surfaces for pending, cancelled, and booked sections. */
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-status-section,
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-card {
  border-color:#34465f!important;background:#172438!important;color:#e8eef8!important;box-shadow:0 8px 22px #0003;
}
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-status-heading h3,
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-title-row h4 { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-status-heading p,
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-location,
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-meta { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-status-count { background:#263750!important;color:#e3ebf7!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-empty { border-color:#40536e;background:#1b2b42!important;color:#c5d2e4!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-empty i { color:#b4a1ff!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-total small { color:#aebdd2!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-section-total strong { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.user-booking-sections-page) .booking-cancelled-note { color:#ffb1b1!important; }

/* Soft outer corners for the desktop homepage hero composition. */
@media(min-width:992px) {
  body:has(.bms-home) .bms-home>.bms-hero {
    overflow:hidden;border:1px solid #d9e5f4;border-radius:30px;
    background:linear-gradient(135deg,#f5f9ff,#e9f2ff 58%,#f5f8ff);
    box-shadow:0 18px 42px #173b6d16;
  }
  body:has(.bms-home) .bms-home>.bms-hero .bms-hero-copy { border-radius:0; }
  body:has(.bms-home) .bms-home>.bms-hero .bms-hero-visual,
  body:has(.bms-home) .bms-home>.bms-hero .bms-hero-visual>img { border-radius:0; }
  body:has(.bms-home) .bms-home>.bms-hero .bms-search { border-radius:0 0 29px 29px; }
}
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero {
  border-color:#34465f;background:#0d1422;box-shadow:0 18px 42px #0004;
}

/* Softer corners for the main studio/location search input. */
body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(1) {
  border:1px solid #dce6f4!important;border-radius:15px!important;
  background:#f8faff!important;box-shadow:inset 0 1px 2px #173b6d0b;
  transition:border-color .18s ease,box-shadow .18s ease;
}
body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(1):focus-within {
  border-color:#78a9f8!important;box-shadow:0 0 0 3px #1764eb20;
}
body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(1) input { border-radius:10px; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(1) {
  border-color:#405572!important;background:#1a2940!important;
}
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(1):focus-within {
  border-color:#78a9f8!important;box-shadow:0 0 0 3px #5796ff30;
}

/* Remove the separate text panel from the mobile hero; keep the image overlay. */
@media(max-width:767.98px) {
  body:has(.bms-home) .bms-home>.bms-hero .bms-hero-copy {
    border:0!important;border-radius:0!important;background:transparent!important;
    box-shadow:none!important;backdrop-filter:none!important;
  }
}

/* Override the higher-specificity dark hero panel rule on mobile. */
@media(max-width:767.98px) {
  html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-hero-copy {
    border:0!important;background:transparent!important;box-shadow:none!important;
  }
}

/* Remove the eyebrow band behind the mobile hero kicker. */
@media(max-width:767.98px) {
  body:has(.bms-home) .bms-home>.bms-hero .bms-eyebrow {
    display:inline-flex!important;width:max-content;max-width:100%;
    border:0!important;background:transparent!important;box-shadow:none!important;
  }
  html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-eyebrow {
    border:0!important;background:transparent!important;
  }
}

/* Dark-mode homepage booking card and empty state. */
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-section-head h2 { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-next-booking {
  border-color:#34465f!important;background:#172438!important;color:#c4d2e6!important;
  box-shadow:0 10px 26px #0003;
}
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-next-booking-details strong { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-next-booking-details>span:not(.bms-booking-status) { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-next-booking-details>span:not(.bms-booking-status) i,
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-next-booking-arrow { color:#a9c9ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-booking-empty-icon { background:#203b61!important;color:#a9c9ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-booking-empty-cta { color:#91b8ff!important; }

/* Compact, clearer mobile empty state for My Bookings. */
@media(max-width:575.98px) {
  body:has(.bms-home) .bms-home>.bms-my-bookings { margin-bottom:18px; }
  body:has(.bms-home) .bms-home>.bms-my-bookings .bms-section-head { margin-bottom:9px; }
  body:has(.bms-home) .bms-home>.bms-my-bookings .bms-section-head h2 { font-size:20px; }
  body:has(.bms-home) .bms-home>.bms-my-bookings .bms-view-all { padding:6px 9px;border:1px solid #dce7f7;border-radius:999px;font-size:11px; }
  body:has(.bms-home) .bms-home>.bms-my-bookings .bms-next-booking.bms-booking-empty {
    display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;
    align-items:center;gap:3px 11px;min-height:0;padding:13px;border-radius:16px;
  }
  body:has(.bms-home) .bms-home>.bms-my-bookings .bms-booking-empty-icon { grid-column:1;grid-row:1/3;width:36px;height:36px;border-radius:12px;font-size:17px; }
  body:has(.bms-home) .bms-home>.bms-my-bookings .bms-booking-empty .bms-next-booking-details { grid-column:2;grid-row:1;gap:3px;padding:0;font-size:11px;line-height:1.4; }
  body:has(.bms-home) .bms-home>.bms-my-bookings .bms-booking-empty .bms-next-booking-details strong { font-size:13px;line-height:1.25; }
  body:has(.bms-home) .bms-home>.bms-my-bookings .bms-booking-empty-cta { grid-column:2;grid-row:2;justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-top:5px;padding:6px 9px;border-radius:9px;background:#edf4ff;color:#1764eb;font-size:10px;font-weight:750; }
}
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-view-all { border-color:#34465f;color:#a9c9ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-booking-empty-cta { background:#203b61!important;color:#c6dcff!important; }

/* Let the empty booking card blend into the homepage dark canvas. */
html[data-theme="dark"] body:has(.bms-home) .bms-my-bookings .bms-next-booking.bms-booking-empty {
  border-color:#26364d!important;background:transparent!important;box-shadow:none!important;
}

/* Dark-mode mobile search panel and nearby control contrast. */
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search {
  border-color:#34465f!important;background:#111d2f!important;box-shadow:0 12px 28px #0004!important;
}
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(1) {
  border-color:#405572!important;background:#1a2940!important;
}
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field input,
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field select { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field input::placeholder { color:#bdcbe0!important;opacity:1; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(2) select { color:#e5edf8!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(2)>i { color:#a9c9ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-nearby-quick {
  border:1px solid #34465f!important;background:#172438!important;color:#edf3fc!important;
  box-shadow:0 8px 20px #0003!important;
}
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-nearby-quick>i { background:#203b61!important;color:#a9c9ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-nearby-quick [data-nearby-label] { color:#edf3fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-nearby-quick small { border-color:#405572!important;color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-home>.bms-hero .bms-nearby-quick:after { color:#dce8fb!important; }

/* Dark-mode finish for homepage studio discovery and owner demo actions. */
html[data-theme="dark"] body:has(.bms-home) .bms-featured .bms-section-head h2 { color:#f2f6fc!important;-webkit-text-fill-color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-featured .bms-view-all { color:#9fc2ff!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-featured .bms-round { border-color:#34465f;background:#172438;color:#c4d2e6; }
html[data-theme="dark"] body:has(.bms-home) .bms-owner-demo-cta .btn-outline-custom {
  border-color:#405572!important;background:#1a2940!important;color:#dce8fb!important;
}
html[data-theme="dark"] body:has(.bms-home) .bms-owner-demo-cta .btn-outline-custom:hover { border-color:#6e9ee8!important;background:#203653!important;color:#fff!important; }

/* Blend the secondary demo action into its dark section background. */
html[data-theme="dark"] body:has(.bms-home) .bms-owner-demo-cta .btn-outline-custom { background:transparent!important; }
html[data-theme="dark"] body:has(.bms-home) .bms-owner-demo-cta .btn-outline-custom:hover { background:#ffffff0c!important; }

/* Keep long studio searches clear of the native search cancel button. */
body:has(.bms-home) .bms-home>.bms-hero .bms-search-field { min-width:0; }
body:has(.bms-home) .bms-home>.bms-hero .bms-search-field>span { min-width:0;max-width:100%;overflow:hidden; }
body:has(.bms-home) .bms-home>.bms-hero .bms-search-field input[type="search"] {
  min-width:0;max-width:100%;box-sizing:border-box;padding-right:30px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* Let the studio search input use the full width of its search field. */
body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(1)>span {
  flex:1 1 0%;width:100%!important;min-width:0;max-width:100%;
}
body:has(.bms-home) .bms-home>.bms-hero .bms-search-field:nth-child(1)>span>input[type="search"] {
  display:block;width:100%!important;min-width:0!important;max-width:none!important;
  box-sizing:border-box;padding-right:38px!important;
}

/* Dark-mode contrast across the studio detail page and booking sidebar. */
html[data-theme="dark"] body:has(.studio-detail-page) .studio-detail-page { background:#0d1422!important;color:#e8eef8!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-detail-page :is(.studio-location,.studio-overview-section,.studio-description,.studio-muted,.studio-portfolio-heading p,.studio-booking-price,.studio-slot-legend,.studio-booking-footnote) { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-detail-page :is(.studio-info-section,.studio-facts-grid) { border-color:#2e405a!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-fact,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-amenities-list li,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-review-form,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-reviews-section>.studio-muted,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-card {
  border-color:#34465f!important;background:#172438!important;color:#e8eef8!important;
  box-shadow:0 10px 28px #0003;
}
html[data-theme="dark"] body:has(.studio-detail-page) .studio-fact span,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-price,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-price span { color:#b8c7dc!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-fact strong,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-price strong,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-card .form-label,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-summary strong,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-summary-total,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-summary-total strong { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-amenities-list { color:#d5e0ef!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-card .form-control,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-card .form-select,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-review-form .form-control {
  border-color:#405572!important;background:#101b2b!important;color:#edf3fc!important;color-scheme:dark;
}
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-card .form-control::placeholder,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-review-form .form-control::placeholder { color:#91a4bf!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-summary,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-summary .studio-summary-total { border-color:#34465f!important;color:#c5d2e4!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-summary .studio-selected-slot { color:#a9c9ff!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-slots .slot-btn { border-color:#405572!important;background:#1b2b42!important;color:#e0e9f6!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-slots .slot-available:hover,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-slots .slot-available.selected { border-color:#6097eb!important;background:#244c7e!important;color:#fff!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-slots .slot-booked,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-slots .slot-blocked { border-color:#344054!important;background:#202b3b!important;color:#8190a5!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-gallery-placeholder,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-desktop-gallery-empty { border-color:#2e405a!important;background:#151f30!important;color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-gallery-placeholder i,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-desktop-gallery-empty i { color:#9bbfff!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-review-top { color:#e8eef8!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-review-top>span,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-review>p,
html[data-theme="dark"] body:has(.studio-detail-page) .studio-owner-reply p { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-review { border-color:#34465f!important; }

/* Dark-mode review empty state and review status badge. */
html[data-theme="dark"] body:has(.studio-detail-page) .studio-reviews-empty {
  border-color:#34465f!important;background:linear-gradient(120deg,#172438,#151f30)!important;color:#e8eef8!important;
}
html[data-theme="dark"] body:has(.studio-detail-page) .studio-reviews-empty strong { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-reviews-empty p { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-reviews-empty>span { background:#203b61!important;color:#a9c9ff!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-reviews-score { border-color:#34465f!important;background:#172438!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-reviews-score strong { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-reviews-score span { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.studio-detail-page) .studio-reviews-heading h2 span { background:#203b61!important;color:#b8d1ff!important; }

/* Tighter mobile studio detail gutters and softer panel corners. */
@media(max-width:767.98px) {
  body:has(.studio-detail-page) .studio-detail-page .studio-detail-container {
    width:100%!important;max-width:none!important;padding-right:0!important;padding-left:0!important;
  }
  body:has(.studio-detail-page) .studio-photo-gallery {
    width:calc(100% - 24px)!important;height:clamp(260px,72vw,350px);
    margin:10px 12px 0!important;border-radius:24px!important;
  }
  body:has(.studio-detail-page) .studio-gallery-carousel,
  body:has(.studio-detail-page) .studio-desktop-gallery-empty,
  body:has(.studio-detail-page) .studio-gallery-placeholder { border-radius:24px!important; }
  body:has(.studio-detail-page) .studio-portfolio-section {
    margin:12px!important;padding:16px!important;border-radius:22px!important;
  }
  body:has(.studio-detail-page) .studio-detail-heading { padding-right:14px!important;padding-left:14px!important; }
  body:has(.studio-detail-page) .studio-detail-sidebar { padding-right:12px!important;padding-left:12px!important; }
  body:has(.studio-detail-page) [data-mobile-panel] { padding-right:14px!important;padding-left:14px!important; }
  body:has(.studio-detail-page) .studio-booking-card { border-radius:20px!important; }
}

/* Dark-mode mobile booking price, date strip, and totals contrast. */
@media(max-width:767.98px) {
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-pricing-heading h2,
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-pricing-heading strong,
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-pricing-heading strong small { color:#f2f6fc!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-date-heading h2 { color:#f2f6fc!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-date-strip button { border:1px solid #405572!important;background:#22344d!important;color:#c4d2e6!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-date-strip button strong { color:#f2f6fc!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-date-strip button.active,
  html[data-theme="dark"] body:has(.studio-detail-page) .mobile-date-strip button.active strong { border-color:#1675ee!important;background:linear-gradient(145deg,#078cf5,#1748ed)!important;color:#fff!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-summary { color:#c4d2e6!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-summary>div>span { color:#c4d2e6!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-summary strong,
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-summary .studio-summary-total strong { color:#f2f6fc!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-booking-summary .studio-summary-total { border-color:#405572!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-coupon-details { border-color:#34465f!important;color:#c4d2e6!important; }
}

/* Cohesive mobile dark styling for studio portfolio and identity panels. */
@media(max-width:767.98px) {
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-portfolio-section {
    border-color:#34465f!important;background:linear-gradient(145deg,#172438,#131e2f)!important;
    box-shadow:0 10px 28px #0003;backdrop-filter:none;
  }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-portfolio-section .studio-portfolio-heading h2 { color:#f2f6fc!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-portfolio-section .studio-portfolio-heading p,
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-portfolio-section>.studio-muted { color:#bdcbe0!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-detail-heading h1 { color:#f2f6fc!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-detail-heading .studio-location { color:#bdcbe0!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-detail-heading .studio-rating-pill {
    border-color:#34465f!important;background:#172438!important;color:#edf3fc!important;box-shadow:none;
  }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-detail-heading .studio-rating-pill span { color:#bdcbe0!important; }
  html[data-theme="dark"] body:has(.studio-detail-page) .studio-detail-heading .studio-map-link { color:#9fc2ff!important; }
}

/* Site-wide dark theme foundation. Keep surfaces, copy, borders and controls on
   shared semantic tokens so newly rendered content follows the active theme. */
html[data-theme="dark"] {
  color-scheme:dark;
  --bms-surface-page:#0d1422;
  --bms-surface-raised:#151f30;
  --bms-surface-inset:#111b2a;
  --bms-surface-hover:#203149;
  --bms-border:#2b3a50;
  --bms-border-strong:#405572;
  --bms-copy:#edf3fc;
  --bms-copy-secondary:#c3cee0;
  --bms-copy-muted:#a7b5c9;
  --bms-link:#9fc2ff;
  --bg-body:var(--bms-surface-page);
  --bg-card:var(--bms-surface-raised);
  --bg-card-subtle:#1b293d;
  --bg-card-hover:var(--bms-surface-hover);
  --border-color:var(--bms-border);
  --border-color-subtle:#253449;
  --text-main:var(--bms-copy);
  --text-secondary:var(--bms-copy-secondary);
  --text-muted:var(--bms-copy-muted);
  --bs-body-bg:var(--bms-surface-page);
  --bs-body-color:var(--bms-copy);
  --bs-secondary-color:var(--bms-copy-muted);
  --bs-tertiary-color:var(--bms-copy-muted);
  --bs-border-color:var(--bms-border);
  --bs-light-rgb:21,31,48;
}

html[data-theme="dark"] body,
html[data-theme="dark"] body.dashboard-body {
  background-color:var(--bms-surface-page)!important;
  color:var(--bms-copy);
}
html[data-theme="dark"] :is(main,.dashboard-main,.dashboard-content,.dashboard-wrapper,.dashboard-body) {
  background-color:var(--bms-surface-page);
  color:var(--bms-copy);
}
html[data-theme="dark"] :is(.bg-white,.bg-light,.bg-body,.bg-body-tertiary,.bg-light-subtle) {
  background-color:var(--bms-surface-raised)!important;
  color:var(--bms-copy)!important;
}
html[data-theme="dark"] :is(.card,.card-body,.modal-content,.offcanvas,.dropdown-menu,.popover,.list-group-item,
  .accordion-item,.accordion-button,.alert-light,.toast,.page-link,.pagination,.nav-tabs .nav-link,
  .studio-search-card,.studio-map-layout,.studio-filter-card,.studio-map-wrap,.studio-detail-card,
  .booking-card,.favorite-studio-card,.blog-card,.blog-article-card,.bms-step,.bms-studio-card,
  .bms-trust,.bms-search,.bms-owner-demo-cta,.bms-home-faq-list details,
  .stat-card,.dashboard-card,.chart-card,.admin-card,.owner-card,.data-card,
  .dashboard-mobile-notice-card,.sidebar-user-card,.owner-topbar-account,.glass-card,
  .admin-studios-card,.admin-list-surface,.admin-list-stats>div,.admin-account-card,
  .dashboard-list-card,.admin-import-upload,.admin-import-preview,.admin-import-result,
  .studio-profile-card,.owner-dashboard .owner-topbar .sidebar-toggle-btn,
  .owner-dashboard .owner-topbar-site-link) {
  border-color:var(--bms-border)!important;
}
html[data-theme="dark"] :is(.card,.modal-content,.offcanvas,.dropdown-menu,.popover,.list-group-item,
  .accordion-item,.accordion-button,.toast,.page-link,.nav-tabs .nav-link,
  .studio-search-card,.studio-map-layout,.studio-filter-card,.studio-map-wrap,.studio-detail-card,
  .booking-card,.favorite-studio-card,.blog-card,.blog-article-card,.bms-step,.bms-studio-card,
  .bms-trust,.bms-search,.bms-owner-demo-cta,.bms-home-faq-list details,
  .stat-card,.dashboard-card,.chart-card,.admin-card,.owner-card,.data-card,
  .dashboard-mobile-notice-card,.sidebar-user-card,.owner-topbar-account,.glass-card,
  .admin-studios-card,.admin-list-surface,.admin-list-stats>div,.admin-account-card,
  .dashboard-list-card,.admin-import-upload,.admin-import-preview,.admin-import-result,
  .studio-profile-card,.owner-dashboard .owner-topbar .sidebar-toggle-btn,
  .owner-dashboard .owner-topbar-site-link) {
  background-color:var(--bms-surface-raised)!important;
  color:var(--bms-copy)!important;
}
html[data-theme="dark"] :is(.favorites-empty,.booking-section-empty,.bms-booking-empty,.bms-blog-empty,
  .studio-reviews-empty,.studio-profile-empty,.dashboard-list-empty-state,.dashboard-list-empty,
  .admin-list-empty,.admin-studios-empty,.admin-import-photo-empty-state,.city-autocomplete-empty) {
  border-color:var(--bms-border)!important;
  background:var(--bms-surface-raised)!important;
  color:var(--bms-copy-secondary)!important;
}
html[data-theme="dark"] :is(.favorites-empty h2,.bms-blog-empty h2,.studio-reviews-empty strong,
  .studio-profile-empty-copy strong,.dashboard-list-empty-state strong,.admin-studios-empty h2) {
  color:var(--bms-copy)!important;
}
html[data-theme="dark"] :is(.favorites-empty p,.bms-blog-empty p,.studio-reviews-empty p,
  .studio-profile-empty-copy p,.dashboard-list-empty-state span,.admin-studios-empty p,
  .dashboard-list-empty,.admin-list-empty,.city-autocomplete-empty) {
  color:var(--bms-copy-secondary)!important;
}
html[data-theme="dark"] :is(h1,h2,h3,h4,h5,h6,label,legend,summary,.text-dark,.fw-bold,
  .card-title,.modal-title,.accordion-button,.dropdown-item,.list-group-item,
  .dashboard-topbar h6,.topbar-title,.sidebar-link,.brand-role) { color:var(--bms-copy)!important; }
html[data-theme="dark"] :is(p,small,.text-muted,.text-secondary,.form-text,.text-body-secondary,
  .blog-meta,.bms-public-user-role,.form-label,.form-check-label,.breadcrumb-item,
  .dropdown-item,.list-group-item) { color:var(--bms-copy-secondary)!important; }
html[data-theme="dark"] a:not(.btn):not(.bms-category-card):not(.bms-city-grid a) { color:var(--bms-link); }
html[data-theme="dark"] a:not(.btn):hover { color:#c4d9ff; }
html[data-theme="dark"] :is(.text-primary,.link-primary) { color:#8db8ff!important; }
html[data-theme="dark"] .text-bg-light { background-color:var(--bms-surface-raised)!important;color:var(--bms-copy)!important; }
html[data-theme="dark"] :is(.border,.border-top,.border-bottom,.border-start,.border-end,
  hr,.dropdown-divider,.list-group,.list-group-item,.table,.table> :not(caption)>*>*) {
  border-color:var(--bms-border)!important;
}
html[data-theme="dark"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,
  .form-control,.form-select,.input-group-text,.form-control:disabled,.form-select:disabled) {
  background-color:var(--bms-surface-inset)!important;
  color:var(--bms-copy)!important;
  border-color:var(--bms-border-strong)!important;
}
html[data-theme="dark"] :is(input,textarea,.form-control,.form-select)::placeholder { color:#9cacc2!important;opacity:1; }
html[data-theme="dark"] :is(input[type="date"],input[type="time"],input[type="datetime-local"]) { color-scheme:dark; }
html[data-theme="dark"] .form-check-input { background-color:var(--bms-surface-inset);border-color:var(--bms-border-strong); }
html[data-theme="dark"] .form-check-input:checked { background-color:#1268f5;border-color:#1268f5; }
html[data-theme="dark"] :is(.table,.table> :not(caption)>*>*,.table-light,.table-light> :not(caption)>*>*) {
  --bs-table-bg:var(--bms-surface-raised);--bs-table-color:var(--bms-copy);--bs-table-border-color:var(--bms-border);
  background-color:var(--bms-surface-raised)!important;color:var(--bms-copy)!important;
}
html[data-theme="dark"] :is(.dropdown-item:hover,.dropdown-item:focus,.list-group-item:hover,
  .sidebar-link:hover,.sidebar-link.active,.nav-tabs .nav-link.active,.accordion-button:not(.collapsed)) {
  background-color:var(--bms-surface-hover)!important;color:#b6d0ff!important;
}
html[data-theme="dark"] :is(.modal-header,.modal-footer,.accordion-button,.navbar-glass,
  .dashboard-topbar,.dashboard-sidebar,.admin-sidebar,.owner-topbar,.admin-topbar) {
  border-color:var(--bms-border)!important;
}
html[data-theme="dark"] :is(.alert-light,.alert-secondary) { background-color:#1b293d!important;color:#d6e0ef!important;border-color:#34465f!important; }
html[data-theme="dark"] :is(.btn-close) { filter:invert(1) grayscale(100%) brightness(200%); }
html[data-theme="dark"] ::selection { background:#315b98;color:#fff; }

/* Studio results: make the city a distinct scan target and tighten mobile list cards. */
.studio-search-card-title { display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px; }
.studio-search-title-copy { min-width:0; }
.studio-search-title-copy h5 { max-width:100%; }
.studio-search-city { display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:3px 7px;border:1px solid #d7e5ff;border-radius:999px;background:#eef5ff;color:#2059b4;font-size:10px;font-weight:700;line-height:1.2; }
.studio-search-rating { max-width:42%;overflow:hidden;text-overflow:ellipsis; }
html[data-theme="dark"] body:has(.studios-page) .studio-search-rating.is-new { color:#bdcbe0!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-search-card-body h5 { color:#f2f6fc!important; }
html[data-theme="dark"] body:has(.studios-page) .studio-search-city { border-color:#385982;background:#1b3150;color:#bad2ff; }
@media(max-width:575.98px) {
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card { min-height:0; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-image { flex:0 0 29%;min-height:166px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card-body { min-height:0;padding:9px!important; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-categories { flex-wrap:nowrap;gap:4px;margin-bottom:6px;overflow:hidden; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-category { max-width:calc(100% - 36px);padding:4px 6px;font-size:9px;line-height:1.15; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-category:not(:first-child) { display:none; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-category-more { display:inline-flex;align-items:center;flex:0 0 auto;padding:4px 6px;border:1px solid #d7e5ff;border-radius:999px;background:#eef5ff;color:#2059b4;font-size:9px;font-weight:750;line-height:1.15; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card-title { gap:5px;margin-bottom:4px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card-title h5 { font-size:13px!important;line-height:1.2; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-city { gap:4px;margin-top:4px;padding:3px 7px;font-size:10px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-rating { max-width:34%;padding:3px 5px;border:1px solid #dce5f2;border-radius:999px;background:#f5f8fd;font-size:9px; }
  html[data-theme="dark"] body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-rating.is-new { border-color:#34465f;background:#1b293d;color:#d4deed!important; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-location { margin:0 0 5px!important;font-size:9px!important; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-amenities { min-height:0;gap:4px;margin:0 0 5px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-amenities span { max-width:100%;padding:4px 6px;font-size:9px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-amenities span:nth-child(n+3):not(.studio-amenity-extra) { display:none; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card-body>.border-top { display:grid!important;grid-template-columns:1fr;gap:6px;margin-top:auto;padding-top:6px!important; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-card-body .fs-4 { font-size:16px!important; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-actions { display:flex;flex-wrap:nowrap;width:100%;gap:5px; }
  body:has(.studios-page[data-view="list"]) #standardStudioResults .studio-search-actions .btn { flex:1;justify-content:center;min-width:0;min-height:33px;padding:6px;font-size:10px; }
}
