/* MoTownCon hall map and directory */
#mtc-vendors .motowncon-hall-guest-link {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #fff4e6;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
  transition: background .18s ease, border-color .18s ease;
}
#mtc-vendors .motowncon-hall-guest-link:hover,
#mtc-vendors .motowncon-hall-guest-link:focus-visible {
  background: transparent;
  border-color: #ff8a1f;
  outline-offset: 1px;
}
#mtc-vendors .motowncon-hall-door-label {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
  text-align: center;
  pointer-events: none;
  color: #fff;
  font: 900 clamp(6px, 1vw, 13px)/1.15 system-ui, sans-serif;
  letter-spacing: .02em;
  text-shadow: 0 1px 4px rgba(0,0,0,.8);
}
#mtc-vendors .motowncon-hall-door-label span {
  border-radius: 4px;
  padding: 3px 4px;
  background: rgba(0, 51, 20, .48);
}
@media (max-width: 767.98px) {
  #mtc-vendors .motowncon-hall-door-label { font-size: clamp(4px, 1.1vw, 9px); }
  #mtc-vendors .motowncon-hall-door-label span { padding: 1px; }
}

#mtc-vendors .motowncon-map-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 12px 12px 20px;
}
#mtc-vendors .motowncon-map-stage { height: auto; }
#mtc-vendors .motowncon-map-artboard {
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  line-height: 0;
}
#mtc-vendors .motowncon-map-artboard > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain !important;
}
#mtc-vendors #interactive-map .panel { overflow: visible; }
#mtc-vendors #interactive-map .motowncon-panel-top {
  border-radius: 20px 20px 0 0;
}
#mtc-vendors #interactive-map { padding-bottom: 18px; }
@media (max-width: 767.98px) {
  #mtc-vendors .motowncon-map-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    padding: 10px 8px 24px;
  }
  #mtc-vendors .motowncon-map-stage { min-width: 0; }
  #mtc-vendors .motowncon-map-scroll.is-enlarged .motowncon-map-stage {
    width: 940px;
    min-width: 940px;
  }
}

#mtc-vendors .motowncon-toolbar { position: relative !important; top: auto !important; margin: 26px 0 28px; }
#mtc-vendors .motowncon-toolbar .motowncon-jump-btn { white-space: normal; }
@media (max-width: 767.98px) { #mtc-vendors .motowncon-toolbar { margin-top: 22px; } }

#mtc-vendors .motowncon-vendor-card {
  padding: 22px 20px 20px;
  background: linear-gradient(150deg, #29151f 0%, #1a0e16 100%);
  border: 1px solid rgba(255,138,31,.52);
  border-radius: 18px;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
}
#mtc-vendors .motowncon-vendor-card .motowncon-vendor-name,
#mtc-vendors .motowncon-vendor-card h3.motowncon-vendor-name {
  display: block;
  margin: 17px 0 20px;
  min-height: 2.5em;
  color: #fffaf2 !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(1.18rem, 1.55vw, 1.42rem) !important;
  font-weight: 800 !important;
  letter-spacing: .005em;
  line-height: 1.3;
  text-shadow: 0 1px 1px rgba(0,0,0,.5);
  overflow-wrap: anywhere;
}
#mtc-vendors .motowncon-booth-pill {
  min-height: 39px;
  padding: 8px 14px;
  color: #1a0d09 !important;
  background: linear-gradient(130deg, #ffb340, #ff8726) !important;
  border: 2px solid #ffcb82 !important;
  border-radius: 11px;
  font-size: 1rem !important;
  font-weight: 950 !important;
  line-height: 1.2;
  letter-spacing: .015em;
  white-space: normal;
}
#mtc-vendors .motowncon-vendor-card .motowncon-vendor-actions { margin-top: auto; }
#mtc-vendors .motowncon-vendor-card .motowncon-social-link {
  color: #fff8ee;
  font-size: .93rem;
  font-weight: 800;
  border-color: rgba(255,138,31,.58);
}
@media (max-width: 767.98px) {
  #mtc-vendors { padding-bottom: 90px !important; }
  #mtc-vendors .motowncon-vendor-card { padding: 18px; }
  #mtc-vendors .motowncon-vendor-card h3.motowncon-vendor-name { min-height: 0; font-size: 1.2rem !important; }
  #mtc-vendors .motowncon-booth-pill { font-size: .94rem !important; }
}

#mtc-vendors .motowncon-selection-bar.show {
  display: block;
  margin-top: 18px;
  padding: clamp(20px, 3vw, 30px);
  background: linear-gradient(130deg,#29151f,#160b12);
  border: 2px solid rgba(255,138,31,.72);
  border-radius: 20px;
  box-shadow: 0 14px 38px rgba(0,0,0,.26);
}
#mtc-vendors .motowncon-selection-eyebrow {
  color: #ffb871;
  font-weight: 950;
  font-size: .87rem;
  letter-spacing: .1em;
}
#mtc-vendors .motowncon-selection-title {
  color: #fffaf2 !important;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  font-size: clamp(1.45rem, 3.2vw, 2rem);
  line-height: 1.25;
  margin: 9px 0 12px;
  overflow-wrap: anywhere;
}
#mtc-vendors .motowncon-selection-meta {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  color: #1a0d09;
  background: linear-gradient(130deg,#ffb340,#ff8726);
  border: 2px solid #ffcb82;
  border-radius: 11px;
  font-size: 1rem;
  font-weight: 950;
}
#mtc-vendors .motowncon-selection-actions { margin-top: 19px; gap: 11px; }
#mtc-vendors .motowncon-selection-actions[hidden] { display: none; }
#mtc-vendors .motowncon-selection-actions .motowncon-social-link {
  min-height: 48px;
  padding: 11px 16px;
  font-size: 1rem;
  font-weight: 850;
  color: #fffaf2;
  background: #311a30;
  border: 2px solid rgba(255,138,31,.7);
}
#mtc-vendors .motowncon-selection-actions .motowncon-social-link:hover { background: #47213c; }
@media (max-width: 767.98px) {
  #mtc-vendors .motowncon-selection-bar.show { text-align: center; }
  #mtc-vendors .motowncon-selection-actions { justify-content: center; }
}

/* The hall directory must grow before the shared MoTownCon footer renders. */
#vendorPageContainer {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#vendorPageContainer > .vendorHallHero,
#vendorPageContainer > #mtc-vendors,
#vendorPageContainer > #site-footer {
  flex: none;
}
#vendorPageContainer > #mtc-vendors {
  position: relative;
  width: 100%;
  padding-bottom: clamp(110px, 12vw, 180px);
}
#mtc-vendors #motowncon-directory,
#mtc-vendors #vendorDirectory,
#mtc-vendors .motowncon-directory {
  height: auto;
  max-height: none;
  overflow: visible;
}
#mtc-vendors #motowncon-directory {
  position: relative;
  margin-bottom: clamp(90px, 10vw, 150px);
}
#mtc-vendors #motowncon-directory::after {
  content: "";
  display: block;
  height: clamp(70px, 8vw, 120px);
}
#vendorPageContainer > #site-footer {
  position: relative;
  clear: both;
  width: 100%;
  margin-top: clamp(80px, 10vw, 140px);
}
#site-footer > .footer-three {
  position: relative;
  margin-top: 0 !important;
}
@media (max-width: 767.98px) {
  #vendorPageContainer > #mtc-vendors {
    padding-bottom: 140px;
  }
  #mtc-vendors #motowncon-directory {
    margin-bottom: 120px;
  }
  #vendorPageContainer > #site-footer {
    margin-top: 96px;
  }
}

/* The floor-plan photo is the map; it doesn't need an outer card frame. */
#mtc-vendors #interactive-map .panel {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
#mtc-vendors #interactive-map .motowncon-panel-top {
  border-bottom: 0;
}
#mtc-vendors #interactive-map .motowncon-map-scroll {
  background: transparent;
}
