/* Non-white-label VTO search: existing forms, result links and date controls. */
#content.vto-search-content #Detailsuche .search-event-term.has-filter-toggle { grid-template-columns: minmax(0, 1fr) 38px 38px; }
#content.vto-search-content #Detailsuche .search-event-term button.vto-filter-toggle { background: #fff !important; color: #647084; border: 1px solid #dce1e7; }
#content.vto-search-content #Detailsuche .search-event-term button.vto-filter-toggle[aria-expanded="true"] { border-color: #db0028; color: #db0028; }
#content.vto-search-content #Detailsuche #detailsuche.vto-filters-hidden { display: none !important; }
#content.vto-search-content .vto-category-multiselect { position: relative; }
#content.vto-search-content #Detailsuche button.vto-category-select { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100% !important; min-height: 36px; border: 1px solid #dce1e7; background: #fff !important; color: #242833; font-size: 12px; font-weight: 400; text-align: left; }
#content.vto-search-content .vto-category-select::after { content: ''; width: 10px; height: 8px; flex-shrink: 0; margin: 0 3px 0 0; background: var(--search-chevron) center / 10px 8px no-repeat; }
#content.vto-search-content .vto-category-select #genredisplay { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#content.vto-search-content #Detailsuche .vto-category-multiselect #genreauswahl { position: absolute; right: 0; top: 100%; z-index: 50; box-sizing: border-box; width: min(480px, calc(100vw - 64px)); max-height: 320px; overflow-y: auto; margin-top: 5px; padding: 10px; background: #fff; border: 1px solid #dce1e7; border-radius: 10px; box-shadow: 0 8px 24px rgba(15,23,42,.14); }
#content.vto-search-content #Detailsuche .vto-category-multiselect #genreauswahl > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#content.vto-search-content #Detailsuche .vto-category-multiselect #genreauswahl label { display: flex; align-items: flex-start; gap: 6px; margin: 0; font-size: 12px; font-weight: 400; cursor: pointer; }
#content.vto-search-content .vto-category-multiselect input[type="checkbox"] { flex-shrink: 0; margin-top: 2px; }
#content.vto-search-content { --search-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8' fill='none' stroke='%23242833' stroke-width='1.5'%3E%3Cpath d='m2 2 3 3 3-3'/%3E%3C/svg%3E"); --search-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 2v6m8-6v6'/%3E%3C/svg%3E"); font-family: Boston, Arial, Helvetica, sans-serif; color: #242833; }
#content.vto-search-content .search-event {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 16px;
  padding: 12px;
  background: #fff;
  border: 1px solid #e4e7eb;
  border-radius: 18px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
}
#content.vto-search-content .form-row { width: auto; margin: 0 0 10px; }
#content.vto-search-content .search-event label,
#content.vto-search-content .search-event .label { color: #384152; font: 700 13px/1.5 Boston, Arial, sans-serif; }
#content.vto-search-content .search-event input[type="text"],
#content.vto-search-content .search-event select {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #dce1e7;
  border-radius: 9px;
  background: #fff;
  color: #242833;
  font: 400 15px/1.4 Boston, Arial, sans-serif;
  box-shadow: none;
}
#content.vto-search-content .search-event input[type="checkbox"] { accent-color: #db0028; }
#content.vto-search-content .search-event-term { display: grid; align-items: end; gap: 8px 12px; margin-bottom: 16px; }
#content.vto-search-content .search-event-term::before,
#content.vto-search-content .search-event-term::after,
#content.vto-search-content .search-event-cat::before,
#content.vto-search-content .search-event-cat::after { content: none; display: none; }
#content.vto-search-content #event-search-term { width: 100%; min-width: 0; }
#content.vto-search-content .search-event button,
#content.vto-search-content .search-detail-btn,
#content.vto-search-content .search-event .btn-simple {
  box-sizing: border-box;
  width: auto;
  min-height: 42px;
  padding: 10px 18px;
  border: 1px solid #db0028;
  border-radius: 9px;
  background: #db0028;
  color: #fff;
  font: 700 14px/1.4 Boston, Arial, sans-serif;
  text-indent: 0;
  text-decoration: none;
  cursor: pointer;
}
#content.vto-search-content .search-detail-btn,
#content.vto-search-content .search-event .btn-simple { background: #fff; color: #bb0023; }
#content.vto-search-content #genreauswahl > div { box-sizing: border-box; width: 100% !important; }
#content.vto-search-content #genreauswahl p { box-sizing: border-box; max-width: 100%; white-space: normal !important; }
#content.vto-search-content .search-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0; padding: 0; background: none; border: 0; }
#content.vto-search-content .pager-current { float: none; color: #647084; font-size: 14px; }
#content.vto-search-content .pager { display: flex; flex-wrap: wrap; float: none; gap: 6px; margin: 0; padding: 0; }
#content.vto-search-content .pager li { margin: 0; }
#content.vto-search-content .pager a { display: flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 36px; height: 36px; padding: 6px 10px; border: 1px solid #e0e4e9; border-radius: 8px; background: #fff; color: #384152; text-decoration: none; }
#content.vto-search-content .pager a.current-page { background: #db0028; border-color: #db0028; color: #fff; }
#content.vto-search-content .search-result {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 230px;
  gap: 6px 14px;
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 10px;
  padding: 12px;
  border: 1px solid #e4e7eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
}
#content.vto-search-content .search-result::before,
#content.vto-search-content .search-result::after,
#content.vto-search-content .search-result > div[style*="clear"] { display: none; }
#content.vto-search-content .search-result > a { grid-column: 1; grid-row: 1; position: relative; align-self: stretch; float: none; width: auto; min-height: 120px; margin: -12px 0 -12px -12px; overflow: hidden; border-radius: 12px 0 0 12px; }
#content.vto-search-content .search-result img { position: absolute; inset: 0; display: block; float: none; width: 100%; height: 100%; object-fit: cover; margin: 0; border-radius: 0; }
#content.vto-search-content .search-details { grid-column: 2; float: none; width: auto; min-width: 0; margin: 0; padding: 0; }
#content.vto-search-content .search-details h3 { margin: 0 0 5px; font: 700 15px/1.3 Boston, Arial, sans-serif; }
#content.vto-search-content .search-details h3 a { color: #172133; text-decoration: none; }
#content.vto-search-content .search-details p { margin: 0; color: #647084; font-size: 12px; line-height: 1.4; }
#content.vto-search-content .search-details .beschreibung { font: inherit; color: inherit; }
#content.vto-search-content .search-details [itemprop="location"] { font-size: 11px; }
#content.vto-search-content .search-details [itemprop="description"] { display: -webkit-box; margin-top: 8px; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
#content.vto-search-content .search-details [itemprop="location"]::before,
#content.vto-search-content .search-dates time::before {
  content: '';
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 5px;
  vertical-align: -2px;
  background: currentColor;
  -webkit-mask: var(--search-meta-icon) center / contain no-repeat;
  mask: var(--search-meta-icon) center / contain no-repeat;
}
#content.vto-search-content .search-details [itemprop="location"] { --search-meta-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
#content.vto-search-content .search-dates time { --search-meta-icon: var(--search-calendar); }
#content.vto-search-content .search-dates { grid-column: 3; grid-row: 1; float: none; width: auto; margin: 0; padding: 0 0 0 12px; border-left: 1px solid #eef0f3; list-style: none; }
#content.vto-search-content .search-dates li { margin: 0; padding: 0; background: none; border: 0; }
#content.vto-search-content .search-dates a { display: inline-block; padding: 2px 0; color: #647084; font: 600 12px/1.4 Boston, Arial, sans-serif; text-decoration: none; }
#content.vto-search-content .search-dates-more a { margin-top: 5px; padding: 6px 10px; border-radius: 6px; background: #db0028; color: #fff; font-weight: 700; }
#content.vto-search-content a:hover { text-decoration: underline; }
#content.vto-search-content :focus-visible { outline: 2px solid #db0028; outline-offset: 3px; }
#content.vto-search-content #Detailsuche > [style*="visibility: hidden"] { display: none; }
/* Reset legacy fixed widths, floats and absolutely positioned search buttons. */
#content.vto-search-content #Detailsuche .form-row { float: none; clear: both; box-sizing: border-box; max-width: 100%; height: auto; }
#content.vto-search-content #Detailsuche label,
#content.vto-search-content #Detailsuche .label { display: block; float: none; width: auto; margin: 0 0 6px; padding: 0; text-align: left; }
#content.vto-search-content #Detailsuche input[type="text"] { position: static; float: none; height: 36px; min-height: 36px; margin: 0; padding: 7px 10px; font-size: 13px; }
#content.vto-search-content #Detailsuche button {
  position: static !important;
  float: none !important;
  height: auto !important;
  min-height: 36px;
  width: auto !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  background-image: none !important;
  text-indent: 0 !important;
  line-height: 1.4;
  white-space: normal;
}
#content.vto-search-content #detailsuche { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 32px 12px; clear: both; padding: 0; border: 0; }
#content.vto-search-content #detailbutton { display: none !important; }
#content.vto-search-content #Detailsuche .vto-country-select {
  display: block;
  width: 100%;
  min-height: 36px;
  height: 36px;
  padding: 6px 34px 6px 10px;
  font-size: 12px;
  -webkit-appearance: none;
  appearance: none;
  background-image: var(--search-chevron);
  background-position: right 15px center;
  background-size: 10px 8px;
  background-repeat: no-repeat;
}
#content.vto-search-content #Detailsuche .search-event-cat > p { display: flex; flex-wrap: nowrap; min-height: 36px; text-align: left; }
#content.vto-search-content #Detailsuche #genredisplay { text-align: left; }
#content.vto-search-content #Detailsuche button.Zebra_DatePicker_Icon {
  display: block !important;
  position: absolute !important;
  right: 4px !important;
  left: auto !important;
  top: auto !important;
  bottom: 3px !important;
  width: 30px !important;
  height: 30px !important;
  min-height: 30px;
  padding: 0 !important;
  border: 0;
  background: transparent !important;
  color: #647084;
  font-size: 0;
}
#content.vto-search-content .vto-date-field { position: relative; display: block; width: 100%; }
#content.vto-search-content #Detailsuche button.Zebra_DatePicker_Icon::before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  margin: auto;
  background: #647084;
  -webkit-mask: var(--search-calendar) center / contain no-repeat;
  mask: var(--search-calendar) center / contain no-repeat;
}
#content.vto-search-content #Detailsuche input.date { width: 100% !important; padding-right: 36px; }
#content.vto-search-content #detailsuche > .form-row { margin: 0; min-width: 0; }
#content.vto-search-content #Detailsuche .search-event-term { grid-template-columns: minmax(0, 1fr) 38px; }
#content.vto-search-content #Detailsuche .search-event-term label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#content.vto-search-content #Detailsuche .search-event-term button { display: flex; align-items: center; justify-content: center; padding: 8px !important; }
#content.vto-search-content #Detailsuche .search-event-cat { text-align: left; }
#content.vto-search-content #Detailsuche #genredisplay { flex: 1 1 0; min-width: 0; font-size: 12px; }
#content.vto-search-content #Detailsuche .search-event-cat .btn-simple { min-height: 36px; padding: 7px 8px; font-size: 12px; }
#content.vto-search-content #detailsuche > .form-row:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#content.vto-search-content #detailsuche > .form-row:first-child::before,
#content.vto-search-content #detailsuche > .form-row:first-child::after { content: none; display: none; }
#content.vto-search-content #detailsuche > .form-row:first-child > p:first-of-type { grid-column: 1; grid-row: 1; }
#content.vto-search-content #detailsuche > .form-row:first-child > p:nth-of-type(2) { grid-column: 2; grid-row: 1; }
#content.vto-search-content #detailsuche > .form-row:first-child p { position: relative; float: none; width: auto; min-width: 0; margin: 0; padding: 0; }
#content.vto-search-content #detailsuche .up10 { position: static; top: auto; margin-top: 0; }
#content.vto-search-content .search-event-cat > p { float: none; width: auto; margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#content.vto-search-content #genredisplay { float: none; flex: 1 1 180px; padding: 0 !important; line-height: 1.5; }
#content.vto-search-content .search-event-cat .btn-simple { float: none; margin: 0 !important; }
#content.vto-search-content #genreauswahl { clear: both; padding-top: 12px; }
#content.vto-search-content #genreauswahl > div { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; float: none !important; margin: 0 0 12px; padding: 12px; border: 1px solid #e4e7eb; border-radius: 10px; background: #f8fafc !important; }
#content.vto-search-content #genreauswahl > div > p { float: none !important; width: auto !important; margin: 0 !important; padding: 4px; font-size: 13px; line-height: 1.4; }
#content.vto-search-content #genreauswahl > div > p:first-child { grid-column: 1 / -1; background: transparent !important; font-weight: 700; }
@media (max-width: 600px) {
  #content.vto-search-content #genreauswahl > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #content.vto-search-content #detailsuche > .form-row:first-child { gap: 10px; }
}
@media (max-width: 820px) {
  #content.vto-search-content .search-result { grid-template-columns: 110px minmax(0, 1fr); align-items: start; gap: 10px 12px; padding: 12px; text-align: left; }
  /* Override the legacy mobile image width and artificial bottom spacing. */
  #content.vto-search-content .search-result > a { grid-row: 1; min-height: 0; margin: 0; border-radius: 8px; align-self: start; }
  #content.vto-search-content .search-result img { position: static; width: 100% !important; max-width: 100%; height: auto !important; padding: 0 !important; margin: 0 !important; float: none !important; }
  #content.vto-search-content .search-details { grid-row: 1; margin: 0 !important; overflow-wrap: anywhere; text-align: left; }
  #content.vto-search-content .search-details h3,
  #content.vto-search-content .search-details p { padding: 0; text-align: left; }
  #content.vto-search-content .search-dates { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; margin: 0 !important; float: none !important; padding: 8px 0 0; border-left: 0; border-top: 1px solid #eef0f3; text-align: left; }
  #content.vto-search-content .search-dates li { float: none; width: auto; text-align: left; }
  #content.vto-search-content .search-dates li:not(.search-dates-more) { grid-column: 1; min-width: 0; }
  #content.vto-search-content .search-dates li.search-dates-more { grid-column: 2; grid-row: 1 / span 3; align-self: center; max-width: 110px; margin: 0; }
  #content.vto-search-content .search-dates-more a { margin: 0; text-align: center; }
  #content.vto-search-content .search-details h3 { font-size: 14px; }
}
@media (max-width: 600px) {
  #content.vto-search-content { box-sizing: border-box; padding-left: 12px; padding-right: 12px; }
  #content.vto-search-content .search-results { margin: 0; padding: 0; }
  #content.vto-search-content .search-pager { gap: 6px; margin: 10px 0; }
  #content.vto-search-content .search-pager::before,
  #content.vto-search-content .search-pager::after { content: none; display: none; }
  #content.vto-search-content .pager-current { width: auto; margin: 0; padding: 0; font-size: 11px; line-height: 1.4; }
  #content.vto-search-content .pager-current > strong:first-child { display: none; }
  #content.vto-search-content .pager { width: auto; gap: 3px; }
  #content.vto-search-content .pager li { border: 0; padding: 0; }
  #content.vto-search-content .pager a { width: 28px; min-width: 28px; height: 30px; padding: 3px; font-size: 12px; border-radius: 6px; }
  #content.vto-search-content #Detailsuche { padding: 12px; border-radius: 18px; }
  #content.vto-search-content #Detailsuche .search-event-term { gap: 8px; }
  #content.vto-search-content #detailsuche { gap: 32px 8px; }
  #content.vto-search-content #Detailsuche .form-row { min-width: 0; }
  #content.vto-search-content #Detailsuche input[type="text"] { font-size: 16px; }
  #content.vto-search-content #Detailsuche .vto-country-select { min-width: 0; padding-left: 8px; padding-right: 26px; background-position: right 11px center; }
  #content.vto-search-content #Detailsuche button.vto-category-select { padding-left: 8px !important; padding-right: 8px !important; }
  #content.vto-search-content #Detailsuche .vto-category-multiselect #genreauswahl { width: calc(100vw - 64px); }
}
