/* Musicworks presentation; all branch content remains plugin-owned. */
.bst-map-shell {
  --bst-pin-color: var(--wp--preset--color--black);
  --bst-pin-accent: var(--wp--preset--color--mint)
}

.bst-map {
  background: var(--wp--preset--color--gray-100);
  border: 1px solid var(--wp--preset--color--gray-300);
  border-radius: 12px
}

.bst-location-dialog {
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--b-4);
  color: var(--wp--preset--color--dark);
  background: var(--wp--preset--color--white);
  border-radius: 12px;
  box-shadow: 0 16px 64px color-mix(in srgb, var(--wp--preset--color--black) 27%, transparent)
}

.bst-modal-name, .bst-modal-field h3 {
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 500
}

.bst-location-dialog .wp-element-button {
  font-family: var(--wp--preset--font-family--button);
  border-radius: 6px;
  padding: 14px 22px
}

.bst-directory-root .bst-card, .bst-map-alternative .bst-card {
  color: var(--wp--preset--color--dark);
  border-color: var(--wp--preset--color--gray-300);
  box-shadow: none
}

.bst-directory-root .bst-card.is-selected, .bst-map-alternative .bst-card.is-selected {
  border-color: var(--wp--preset--color--black);
  box-shadow: inset 4px 0 var(--wp--preset--color--mint)
}

.bst-directory-root :is(input,select,button), .bst-map-alternative button {
  color: var(--wp--preset--color--dark);
  border-color: var(--wp--preset--color--secondary);
  background: var(--wp--preset--color--white)
}

.bst-directory-root .bst-filters button[type=submit] {
  color: var(--wp--preset--color--white);
  background: var(--wp--preset--color--black);
  border-color: var(--wp--preset--color--black)
}

.bst-directory-root .bst-availability-badge, .bst-map-alternative .bst-availability-badge, .bst-location-dialog .bst-availability-badge {
  background: var(--wp--preset--color--mint);
  color: var(--wp--preset--color--dark);
  border: 1px solid var(--wp--preset--color--secondary)
}

.bst-modal-field--details .wp-element-button {
  color: var(--wp--preset--color--white);
  background: var(--wp--preset--color--black);
  border: 2px solid var(--wp--preset--color--black)
}

.bst-modal-field--details .wp-element-button:hover {
  color: var(--wp--preset--color--black);
  background: var(--wp--preset--color--white)
}

/* Directory sections span the available page width; editorial introductions stay constrained. */
.mwc-location-directory > .wp-block-post-content {
  max-width: none;
  width: 100%
}

.mwc-location-directory > .wp-block-post-content > :not(.bst-directory) {
  max-width: 1240px;
  margin-inline: auto
}

.mwc-location-directory > .wp-block-post-content > .bst-directory {
  max-width: none;
  width: 100%;
  margin-inline: 0
}

.bst-block {
  color: var(--wp--preset--color--dark);
  font-family: var(--wp--preset--font-family--body)
}

.bst-block :is(input,select,button) {
  font-family: var(--wp--preset--font-family--body)
}

.bst-block :is(h2,h3), .bst-card-select {
  font-family: var(--wp--preset--font-family--heading)
}

.bst-block :is(.wp-element-button,.bst-card-actions button,.bst-filters button) {
  font-family: var(--wp--preset--font-family--button)
}

.bst-map, .bst-map .leaflet-control-attribution {
  font-family: var(--wp--preset--font-family--body)
}

.bst-map .leaflet-control-attribution {
  font-size: var(--wp--preset--font-size--b-6);
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--dark)
}

.bst-map .leaflet-control-attribution a, .bst-map .leaflet-control-zoom a {
  color: var(--wp--preset--color--dark);
  background: var(--wp--preset--color--white)
}

.bst-map-pin svg text {
  font-family: var(--wp--preset--font-family--body)
}

.bst-block .bst-card {
  color: var(--wp--preset--color--dark);
  background: var(--wp--preset--color--white);
  border-color: var(--wp--preset--color--gray-300)
}

.bst-block .bst-card.is-selected {
  outline: 2px solid var(--wp--preset--color--black);
  outline-offset: 0;
  background: var(--wp--preset--color--light);
  box-shadow: inset 4px 0 var(--wp--preset--color--mint)
}

.bst-block :is(input,select), .bst-location-choices button {
  color: var(--wp--preset--color--dark);
  background: var(--wp--preset--color--white);
  border-color: var(--wp--preset--color--secondary)
}

.bst-block :is(.bst-card-actions,.bst-hours>div,.bst-hours dl>div) {
  border-color: var(--wp--preset--color--gray-300)
}

.bst-tile-error {
  color: var(--wp--preset--color--dark);
  background: var(--wp--preset--color--white)
}

.bst-pagination :is(a,button) {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--dark);
  border-color: var(--wp--preset--color--secondary)
}

.bst-location-choices button:hover {
  background: var(--wp--preset--color--gray-100)
}

.bst-block :focus-visible, .bst-location-dialog :focus-visible {
  outline: 3px solid var(--wp--preset--color--black);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--wp--preset--color--white)
}

@media (forced-colors: active) {
  .bst-block :focus-visible, .bst-location-dialog :focus-visible {
    outline-color: Highlight;
    box-shadow: none
  }
}

.bst-block .bst-card-select {
  font-family: var(--wp--preset--font-family--heading)
}

.mwc-location-directory > .wp-block-post-content.alignfull {
  margin-inline: 0 !important
}

/* Phase 10 generic source sections around the approved dynamic directory. */
.mwc-location-directory .mwc-directory-hero {
  margin-bottom: 40px
}

.mwc-location-directory .mwc-directory-hero h1 {
  border: 0;
  padding: 0;
  margin: 0;
  color: #fff
}

.mwc-location-directory > .wp-block-post-content > .mwc-directory-inquiry {
  max-width: none;
  width: calc(100% + 2rem);
  margin: 48px -1rem -3rem
}

.mwc-directory-inquiry-layout {
  align-items: center
}

.mwc-directory-inquiry .mwc-lesson-inquiry-title h2 {
  color: #fff
}

.mwc-location-directory .mwc-directory-hero h1 {
  text-align: center
}

.mwc-location-directory .mwc-lesson-form {
  border-radius: 14px;
  margin: 0;
  max-width: none
}

.mwc-location-directory #gform_6 .gfield_label {
  color: #fff;
  font: 14px/20px 'Open Sans', sans-serif
}

.mwc-location-directory #gform_6 :is(input:not([type=submit]),select,textarea) {
  color: #fff;
  font: 14px/22px 'Open Sans', sans-serif
}

.mwc-location-directory #gform_6 :is(input,textarea)::placeholder {
  color: #f1f2f3;
  opacity: 1
}

.mwc-location-directory #gform_6 .gform_fields {
  row-gap: 14px
}

.mwc-location-directory #gform_6 select {
  height: auto;
  min-height: 50px;
  padding: 12px 14px;
  line-height: 24px
}

/* Phase 11: presentation-only reusable branch layout; facts remain dynamic. */
.mwc-location-page {
  margin-block: 0
}

.mwc-location-page > .wp-block-cover, .mwc-location-page > .mwc-location-editorial {
  margin-block: 0;
  max-width: none
}

.mwc-location-grid {
  align-items: center;
  width: 100%
}

.mwc-location-facts > h1 {
  color: #fff;
  border: 0;
  padding: 0;
  margin: 0 0 30px
}

.mwc-location-facts .bst-block {
  color: #fff;
  background: transparent;
  padding: 0
}

.mwc-location-facts .bst-contact-grid {
  grid-template-columns:1fr;
  gap: 16px
}

.mwc-location-facts .bst-contact-grid h2 {
  font-size: 20px;
  margin: 0 0 6px;
  color: #fff
}

.mwc-location-facts .bst-contact-grid a {
  color: #fff
}

.mwc-location-facts .bst-contact-grid address {
  line-height: 1.8
}

.mwc-location-facts .bst-hours h2 {
  font-size: 22px;
  color: #fff
}

.mwc-location-facts .bst-hours dl > div {
  padding: 3px 0;
  border-color: #ffffff30
}

.mwc-location-facts .bst-hours {
  font-size: 15px;
  line-height: 1.65
}

.mwc-location-facts .bst-actions {
  margin-top: 28px
}

.mwc-location-facts .bst-actions .wp-element-button {
  background: #fff;
  color: #000;
  border: 2px solid #fff;
  width: 100%;
  text-align: center;
  padding: 16px 20px
}

.mwc-location-facts .bst-actions .wp-element-button:hover {
  background: #000;
  color: #fff
}

.mwc-location-page .bst-map-block {
  margin: 0
}

.mwc-location-page .mwc-location-editorial .wp-block-post-content {
  max-width: 760px
}

.mwc-location-editorial h2 {
  color: #fff;
  font-weight: 500;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1.15;
  margin: 0 auto 52px;
  text-align: center
}

.mwc-location-editorial #gform_wrapper_6 {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  box-shadow: none
}

.mwc-location-editorial #gform_6 .gfield_label {
  color: #fff;
  font: 14px/20px 'Open Sans', sans-serif
}

.mwc-location-editorial #gform_6 :is(input:not([type=submit]),select,textarea) {
  background: #101010;
  color: #fff;
  border: 1px solid #292929;
  border-radius: 6px;
  font: 14px/22px 'Open Sans', sans-serif;
  box-shadow: none;
  padding: 14px 18px;
  min-height: 52px
}

.mwc-location-editorial #gform_6 :is(input,textarea)::placeholder {
  color: #eee;
  opacity: 1
}

.mwc-location-editorial #gform_6 .gform_fields {
  row-gap: 18px
}

.mwc-location-editorial #gform_6 select {
  height: auto;
  line-height: 24px
}

.mwc-location-editorial #gform_6 textarea {
  min-height: 100px
}

.mwc-location-editorial #gform_6 input[type=submit] {
  background: #fff;
  color: #000;
  border: 2px solid #fff;
  border-radius: 4px;
  padding: 16px 24px;
  font: 16px/22px 'Open Sans', sans-serif;
  box-shadow: none
}

.mwc-location-editorial #gform_6 :focus-visible {
  outline: 3px solid #a6d7ca;
  outline-offset: 4px
}

.mwc-location-page .mwc-location-facts .wp-block-post-title {
  border: 0;
  padding-bottom: 0
}

.mwc-location-editorial #gform_6 [type=submit] {
  background: #fff;
  color: #000;
  border: 2px solid #fff;
  border-radius: 4px;
  padding: 16px 24px;
  font: 16px/22px 'Open Sans', sans-serif;
  box-shadow: none;
  min-height: 54px
}

.mwc-location-editorial #gform_6 [type=submit]:hover {
  background: #171717;
  color: #fff
}
