/* Túraajánló 1.7 – standalone frontend, Programnaptár-inspired */
.ta-front { box-sizing: border-box; width: min(1200px, 100%); margin: 0 auto 48px; color: #38536e; font-size: 15px; line-height: 1.4; }
.ta-front *, .ta-front *::before, .ta-front *::after { box-sizing: border-box; }
.ta-front__search-panel { background: #fff; border: 1px solid #e5eaf0; border-radius: 15px; box-shadow: 0 5px 20px rgba(24, 50, 76, .07); padding: 20px 24px; margin-bottom: 20px; }
.ta-front__heading { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 16px; }
.ta-front__heading h2 { margin: 0; font-size: 25px; font-weight: 700; color: #607089; line-height: 1.25; }
.ta-front__heading p { margin: 0; font-size: 15px; color: #607089; }
.ta-front__divider { width: 1px; height: 24px; background: #d7dfe8; }
.ta-front__form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.ta-front__form-row { display: flex; align-items: stretch; gap: 9px; }
.ta-front__form-row input { flex: 1; min-width: 0; height: 43px; padding: 9px 13px; border: 1px solid #d6e0e9; border-radius: 7px; background: #f8fafc; color: #38536e; font: inherit; }
.ta-front__form-row button, .ta-front__reset { display: inline-flex; justify-content: center; align-items: center; min-height: 43px; padding: 9px 16px; border-radius: 7px; font: inherit; font-weight: 600; text-decoration: none !important; cursor: pointer; }
.ta-front__form-row button { border: 1px solid #ff7900; background: #ff7900; color: #fff; }
.ta-front__form-row button:hover { background: #e66c00; }
.ta-front__reset { border: 1px solid #ff7900; color: #536a84 !important; background: #fff; }
.ta-front__reset:hover { background: #fff4e8; }
.ta-front__count { margin: 10px 0 14px; font-weight: 600; font-size: 14px; }
.ta-front__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.ta-front__card { position: relative; min-width: 0; overflow: hidden; display: flex; flex-direction: column; background: #fff; border: 1px solid #e5eaf0; border-radius: 12px; box-shadow: 0 4px 13px rgba(25, 55, 86, .08); }
.ta-front__image { display: block; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; background: #fff9f3; }
.ta-front__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ta-front__no-image { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: #e5a46e; }
.ta-front__no-image svg { width: 60px; height: 60px; }
.ta-front__card-body { display: flex; flex-direction: column; flex: 1; padding: 12px 14px 38px; }
.ta-front__card h3 { margin: 0 0 7px; font-size: 19px; font-weight: 700; line-height: 1.25; }
.ta-front__card h3 a { color: #bd4a0b; text-decoration: none !important; }
.ta-front__card h3 a:hover { color: #f58220; }
.ta-front__city { display: flex; align-items: flex-start; gap: 6px; margin-bottom: 7px; font-size: 15px; }
.ta-front__city svg { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 2px; color: #f58220; }
.ta-front__excerpt { margin: 0; color: #34465a; font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
.ta-front__arrow { position: absolute; right: 12px; bottom: 11px; width: 29px; height: 29px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #f58220; color: #fff !important; text-decoration: none !important; font-size: 16px; line-height: 1; }
.ta-front__arrow svg { display: block; width: 15px; height: 15px; flex: none; }
.ta-front__arrow:hover { background: #d96800; }
.ta-front__pagination { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: center; margin: 26px 0; }
.ta-front__pagination .page-numbers { display: inline-flex; min-width: 37px; min-height: 37px; padding: 6px 11px; align-items: center; justify-content: center; border: 1px solid #dce3e9; border-radius: 9px; color: #425c77; text-decoration: none; background: #fff; }
.ta-front__pagination .page-numbers.current { background: #f58220; color: #fff; border-color: #f58220; }
.ta-front__pagination a:hover { border-color: #f58220; }
.ta-front__empty { padding: 25px; text-align: center; }
@media (max-width: 900px) { .ta-front__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ta-front__search-panel { padding: 16px; } .ta-front__heading { gap: 7px; } .ta-front__divider { display: none; } .ta-front__heading p { width: 100%; } .ta-front__form-row { flex-wrap: wrap; } .ta-front__form-row input { flex-basis: 100%; } .ta-front__form-row button, .ta-front__reset { flex: 1; } .ta-front__grid { grid-template-columns: minmax(0, 1fr); } }

/* 1.9: tour list sorting */
.ta-front__form-row select { flex: 0 1 210px; min-width: 165px; height: 43px; padding: 8px 10px; border: 1px solid #d6e0e9; border-radius: 7px; background: #f8fafc; color: #38536e; font: inherit; cursor: pointer; }
@media (max-width: 600px) { .ta-front__form-row select { flex: 1 1 100%; width: 100%; } }

/* 2.0: compact, consistently aligned search and sorting controls */
.ta-front__search-panel { padding-top: 16px; padding-bottom: 16px; }
.ta-front__heading { margin-bottom: 12px; }
.ta-front__form-row { align-items: flex-end; }
.ta-front__field { display: flex; flex-direction: column; min-width: 0; }
.ta-front__field--search { flex: 1 1 auto; }
.ta-front__field--sort { flex: 0 0 170px; }
.ta-front__field input, .ta-front__field select { width: 100%; height: 43px; margin: 0; }
.ta-front__field--sort select { flex: none; min-width: 0; }
.ta-front__form-row .ta-front__reset, .ta-front__form-row button { flex: 0 0 auto; height: 43px; min-height: 43px; white-space: nowrap; }
@media (max-width: 600px) {
  .ta-front__field--search, .ta-front__field--sort { flex: 1 1 100%; }
  .ta-front__form-row .ta-front__reset, .ta-front__form-row button { flex: 1 1 0; }
}

/* 2.1 – isolated responsive form layout; overrides theme input and button rules */
.ta-front .ta-front__search-panel { overflow: visible; }
.ta-front .ta-front__form-row { display: grid; grid-template-columns: minmax(0,1fr) 176px auto auto; gap: 9px; align-items: end; width: 100%; }
.ta-front .ta-front__field { min-width: 0; width: 100%; display: flex; flex-direction: column; flex: none; }
.ta-front .ta-front__field label { display: block; width: 100%; margin: 0 0 6px; line-height: 1.4; }
.ta-front .ta-front__field input[type="search"] { display: block; width: 100%; min-width: 0; max-width: 100%; height: 43px; margin: 0; flex: none; }
.ta-front .ta-front__form-row > .ta-front__reset,
.ta-front .ta-front__form-row > button[type="submit"] { width: auto; height: 43px; min-height: 43px; margin: 0; flex: none; align-self: end; }
.ta-front .ta-front__field--sort select { width: 100%; }
.ta-front .ta-select-wrap { position: relative; width: 100%; min-width: 0; height: 43px; }
.ta-front .ta-select-wrap select.ta-native-hidden { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; overflow: hidden !important; }
.ta-front .ta-select-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 43px; min-height: 43px; padding: 8px 11px; border: 1px solid #d6e0e9; border-radius: 7px; background: #f8fafc; color: #38536e; font: inherit; font-weight: 400; text-align: left; cursor: pointer; }
.ta-front .ta-select-trigger::after { content: ''; width: 7px; height: 7px; border-right: 1.5px solid #607089; border-bottom: 1.5px solid #607089; transform: rotate(45deg) translateY(-2px); margin-left: 10px; flex: none; }
.ta-front .ta-select-wrap.ta-open .ta-select-trigger, .ta-front .ta-select-trigger:focus-visible { border-color: #ff7900; outline: none; }
.ta-front .ta-select-dropdown { position: absolute; z-index: 100; top: calc(100% + 4px); left: 0; right: 0; background: #fff; border: 1px solid #d6e0e9; border-radius: 8px; box-shadow: 0 9px 22px rgba(20,40,65,.15); padding: 5px; }
.ta-front .ta-select-dropdown[hidden] { display: none; }
.ta-front .ta-select-option { display: block; width: 100%; height: auto; min-height: 34px; padding: 7px 9px; border: 0; border-radius: 5px; background: #fff; color: #38536e; text-align: left; font: inherit; font-weight: 400; cursor: pointer; }
.ta-front .ta-select-option:hover, .ta-front .ta-select-option.is-selected { background: #fff0e5; color: #b9500c; }
@media (max-width: 760px) {
 .ta-front .ta-front__form-row { grid-template-columns: minmax(0,1fr) 170px; }
 .ta-front .ta-front__form-row > .ta-front__reset, .ta-front .ta-front__form-row > button[type="submit"] { width: 100%; }
}
@media (max-width: 460px) {
 .ta-front .ta-front__form-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ta-front .ta-front__field--search, .ta-front .ta-front__field--sort { grid-column: 1 / -1; }
}

/* 2.2: deterministic four-column search layout, isolated from theme CSS */
.ta-front .ta-front__form .ta-front__form-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 176px 112px 88px !important;
  column-gap: 9px !important;
  row-gap: 10px !important;
  align-items: end !important;
  width: 100% !important;
}
.ta-front .ta-front__form-row > .ta-front__field,
.ta-front .ta-front__form-row > .ta-front__reset,
.ta-front .ta-front__form-row > button[type="submit"] {
  box-sizing: border-box !important;
  position: relative;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  grid-column: auto;
}
.ta-front .ta-front__form-row > .ta-front__field { display: flex !important; flex-direction: column !important; align-self: stretch; }
.ta-front .ta-front__form-row .ta-front__field > label { font-size: 14px !important; line-height: 20px !important; height: 20px !important; margin: 0 0 6px !important; padding: 0 !important; }
.ta-front .ta-front__form-row .ta-front__field input[type="search"],
.ta-front .ta-front__form-row .ta-select-wrap,
.ta-front .ta-front__form-row .ta-select-trigger {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 43px !important;
  min-height: 43px !important;
  margin: 0 !important;
  float: none !important;
}
.ta-front .ta-front__form-row .ta-front__reset,
.ta-front .ta-front__form-row > button[type="submit"] { height: 43px !important; min-height: 43px !important; padding: 8px 9px !important; align-self: end !important; }
.ta-front .ta-front__form-row .ta-select-trigger { border: 1px solid #d6e0e9 !important; background: #f8fafc !important; color: #38536e !important; border-radius: 7px !important; padding: 8px 11px !important; font-weight: 400 !important; }
.ta-front .ta-front__form-row .ta-select-option { background: #fff; border: 0; color: #38536e; }
.ta-front .ta-front__form-row .ta-select-option:hover,
.ta-front .ta-front__form-row .ta-select-option.is-selected { background: #fff0e5; color: #b9500c; }
@media (max-width: 760px) {
  .ta-front .ta-front__form .ta-front__form-row { grid-template-columns: minmax(0, 1fr) 176px !important; }
  .ta-front .ta-front__form-row > .ta-front__reset,
  .ta-front .ta-front__form-row > button[type="submit"] { grid-column: auto; }
}
@media (max-width: 460px) {
  .ta-front .ta-front__form .ta-front__form-row { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .ta-front .ta-front__form-row > .ta-front__field--search,
  .ta-front .ta-front__form-row > .ta-front__field--sort { grid-column: 1 / -1 !important; }
}

.ta-front__language-note{font-size:12px;line-height:1.4;color:#637187;margin:6px 0!important}
