/* BookMyStudio logo palette: midnight navy, electric blue and cool white. */
: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; }

.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; }

/* 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:min(calc(100% - 40px),1320px);max-width:1320px;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; }

@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; }
}

/* 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;
}

/* 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); }

/* 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; }
@media (max-width: 575.98px) {
  .studio-pagination { padding: 12px; }
  .studio-pagination .btn { min-height: 42px; }
}

