/* CASESTUDIO V355 — independent city / point-of-sale container.
   New class names intentionally avoid the legacy city-brand-bar selectors.
   Existing select IDs are preserved for the current data-loading and order logic. */
html body main.main-layout > section.preview-section > .purchase-location-container-v355 {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  direction: rtl !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  position: relative !important;
  inset: auto !important;
  translate: none !important;
  transform: none !important;
  float: none !important;
  width: calc(100% - 40px) !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 76px !important;
  max-height: none !important;
  margin: 0 auto 8px !important;
  padding: 9px 12px !important;
  border: 2px solid #00aaff !important;
  border-radius: 17px !important;
  background: linear-gradient(110deg, rgba(9, 25, 43, .96), rgba(22, 37, 60, .96)) !important;
  box-shadow: inset 0 0 0 1px rgba(108, 151, 204, .10), 0 0 0 1px rgba(0, 170, 255, .08) !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 20 !important;
}
html body main.main-layout > section.preview-section > .purchase-location-container-v355 > .purchase-location-field-v355 {
  box-sizing: border-box !important;
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 4px !important;
  position: relative !important;
  inset: auto !important;
  translate: none !important;
  transform: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html body .purchase-location-container-v355 .purchase-location-field-v355 > label {
  display: block !important;
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 2px !important;
  color: #dce7fa !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  text-align: right !important;
  white-space: nowrap !important;
  translate: none !important;
  transform: none !important;
}
html body .purchase-location-container-v355 #buyer-city,
html body .purchase-location-container-v355 #buyer-point-of-sale {
  box-sizing: border-box !important;
  display: block !important;
  position: relative !important;
  inset: auto !important;
  translate: none !important;
  transform: none !important;
  float: none !important;
  flex: 0 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  margin: 0 !important;
  padding: 4px 10px !important;
  border: 1px solid rgba(143, 174, 220, .30) !important;
  border-radius: 9px !important;
  background: rgba(15, 29, 49, .92) !important;
  color: #f0f5ff !important;
  font: inherit !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  text-align: right !important;
  visibility: visible !important;
  opacity: 1 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
html body .purchase-location-container-v355 #buyer-point-of-sale:disabled {
  opacity: 1 !important;
  color: #f0f5ff !important;
  cursor: default !important;
}
@media (max-width: 640px) {
  html body main.main-layout > section.preview-section > .purchase-location-container-v355 {
    width: calc(100% - 24px) !important;
    min-height: 70px !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
    padding: 8px !important;
    border-radius: 15px !important;
  }
  html body .purchase-location-container-v355 .purchase-location-field-v355 > label {
    font-size: 10px !important;
  }
  html body .purchase-location-container-v355 #buyer-city,
  html body .purchase-location-container-v355 #buyer-point-of-sale {
    height: 31px !important;
    min-height: 31px !important;
    max-height: 31px !important;
    padding: 3px 7px !important;
    font-size: 11px !important;
  }
}


/* V356: show only the themed city dropdown; keep the native select hidden as the data/form source. */
html body .purchase-location-container-v355 #buyer-city.case-native-select-accessible {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  max-height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body .purchase-location-container-v355 .purchase-location-field-v355 > .case-city-select-trigger {
  display: flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 4px 10px !important;
  border: 1px solid rgba(143, 174, 220, .30) !important;
  border-radius: 9px !important;
  background: rgba(15, 29, 49, .92) !important;
  color: #f0f5ff !important;
  font: inherit !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}
@media (max-width: 640px) {
  html body .purchase-location-container-v355 .purchase-location-field-v355 > .case-city-select-trigger {
    min-height: 31px !important; height: 31px !important; padding: 3px 7px !important; font-size: 11px !important;
  }
}


/* V357: align the independent location selector with the top edge of the sticker and case panels. */
html body main.main-layout > section.preview-section > .purchase-location-container-v355 {
  align-self: flex-start !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}
