.partnerExperiencePicker {
  margin: 0 0 30px;
  padding: 24px;
  border: 1px solid rgba(239, 106, 90, 0.24);
  border-radius: 20px;
  background: linear-gradient(145deg, #fff 0%, #fff5f1 100%);
  box-shadow: 0 18px 44px rgba(80, 42, 36, 0.09);
}

.experienceFlowRoot.experiencePending > :not(.partnerExperiencePicker) {
  display: none !important;
}

.experienceFlowRoot.experiencePending .partnerIntro,
.experienceFlowRoot.experiencePending .partnerBadge,
.experienceFlowRoot.experiencePending .partnerChoiceStatus,
.experienceFlowRoot.experiencePending .partnerDisclosure {
  display: none;
}

.experienceFlowRoot.experiencePending .partnerPickerHeading {
  margin-bottom: 20px;
}

.experienceFlowRoot.experienceRevealed > :not(.partnerExperiencePicker) {
  animation: experienceReveal .28s ease-out both;
}

.restaurantOnly[hidden] { display: none !important; }

@keyframes experienceReveal {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.partnerPickerHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.partnerPickerHeading h2 { margin: 6px 0 0; font-size: clamp(1.35rem, 3vw, 1.75rem); }
.partnerIntro { margin: 10px 0 20px; color: #5f5961; font-size: 1rem; line-height: 1.55; }

.experienceStep {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #18202c;
  color: white;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.partnerBadge {
  flex: 0 0 auto;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eaf8ef;
  color: #207240;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.partnerChoices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.partnerChoice {
  appearance: none;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 82px;
  padding: 14px;
  border: 1px solid rgba(24, 28, 38, 0.13);
  border-radius: 15px;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.partnerChoice:hover,
.partnerChoice:focus-visible {
  transform: translateY(-2px);
  border-color: #ef6a5a;
  box-shadow: 0 10px 22px rgba(239, 106, 90, .13);
  outline: none;
}

.partnerChoice.selected {
  transform: translateY(-2px);
  border-color: #ef6a5a;
  background: #fffaf8;
  box-shadow: 0 0 0 2px rgba(239, 106, 90, .12), 0 10px 22px rgba(239, 106, 90, .13);
}

.partnerChoice span:last-child { display: grid; gap: 3px; }
.partnerChoice strong { font-size: 15px; }
.partnerChoice small { color: #6c6870; line-height: 1.25; }

.partnerLogo {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 10px;
  color: white;
  font-weight: 900;
  letter-spacing: -.04em;
}

.openTableLogo { background: #da3743; }
.viatorLogo { background: #008768; }
.ticketmasterLogo { background: #026cdf; }

.partnerChoiceStatus {
  margin: 14px 0 0;
  color: #3c3740;
  font-size: 14px;
  font-weight: 650;
}

.partnerDisclosure {
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(24, 28, 38, .1);
  color: #67626a;
  font-size: 12px;
  line-height: 1.45;
}

.viatorSearchPanel,
.ticketmasterSearchPanel {
  margin-top: 16px;
  padding: 16px;
  border-radius: 15px;
  background: #f1faf7;
  border: 1px solid rgba(0, 135, 104, .18);
}

.ticketmasterSearchPanel { background: #f1f7ff; border-color: rgba(2, 108, 223, .18); }

.viatorSearchPanel[hidden], .ticketmasterSearchPanel[hidden] { display: none; }
.viatorSearchLabel, .ticketmasterSearchLabel { display: block; margin-bottom: 8px; font-weight: 800; }
.partnerSearchCriteria {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .7fr);
  gap: 10px;
  margin-bottom: 10px;
}
.partnerSearchCriteria label { display: grid; gap: 6px; }
.partnerSearchCriteria span { color: #514c54; font-size: 13px; font-weight: 750; }
.partnerSearchCriteria input {
  min-width: 0;
  width: 100%;
  padding: 11px 13px;
  border: 1px solid rgba(24, 28, 38, .18);
  border-radius: 11px;
  background: white;
  color: inherit;
  font: inherit;
}
.viatorSearchRow, .ticketmasterSearchRow { display: flex; gap: 10px; }
.viatorSearchInput, .ticketmasterSearchInput {
  min-width: 0;
  flex: 1;
  padding: 11px 13px;
  border: 1px solid rgba(24, 28, 38, .18);
  border-radius: 11px;
  background: white;
  font: inherit;
}
.viatorSearchButton, .ticketmasterSearchButton { flex: 0 0 auto; }
.viatorResults, .ticketmasterResults { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.partnerSearchMessage { grid-column: 1 / -1; margin: 4px 0; color: #625e64; font-size: 14px; }
.viatorResultCard, .ticketmasterResultCard {
  display: grid;
  grid-template-columns: 84px 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(24, 28, 38, .1);
  border-radius: 12px;
  background: white;
  color: inherit;
  text-decoration: none;
}
.viatorResultCard:hover { border-color: #008768; }
.ticketmasterResultCard:hover { border-color: #026cdf; }
.viatorResultCard img, .viatorImageFallback, .ticketmasterResultCard img, .ticketmasterImageFallback { width: 84px; height: 100%; min-height: 94px; object-fit: cover; }
.viatorImageFallback, .ticketmasterImageFallback { display: grid; place-items: center; background: #008768; color: white; font-size: 28px; font-weight: 900; }
.ticketmasterImageFallback { background: #026cdf; }
.viatorResultBody, .ticketmasterResultBody { display: grid; align-content: center; gap: 5px; min-width: 0; padding: 10px; }
.viatorResultBody strong, .ticketmasterResultBody strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 13px; line-height: 1.3; }
.viatorResultBody small, .ticketmasterResultBody small { color: #68636b; }
.viatorResultBody b { color: #08735b; font-size: 12px; }
.ticketmasterResultBody b { color: #0260c7; font-size: 12px; }
.viatorBrowseAll, .ticketmasterBrowseAll { display: inline-block; margin-top: 12px; color: #08735b; font-size: 13px; font-weight: 750; }
.ticketmasterBrowseAll { color: #0260c7; }

.partnerBookingLink { background: #18202c; color: white; }

@media (max-width: 760px) {
  .partnerExperiencePicker { padding: 18px; border-radius: 17px; }
  .partnerPickerHeading { align-items: center; }
  .partnerChoices { grid-template-columns: 1fr; }
  .partnerChoice { min-height: 66px; padding: 12px; }
  .viatorSearchRow, .ticketmasterSearchRow { align-items: stretch; }
  .partnerSearchCriteria { grid-template-columns: 1fr; }
  .viatorResults, .ticketmasterResults { grid-template-columns: 1fr; }
}
