/* Альтернативные путешествия — consolidated production styles v155 */
:root {
  --green: #5edb5c;
  --green-strong: #37be50;
  --green-soft: #eafbea;
  --green-deep: #173f36;
  --orange: #f6a21a;
  --orange-strong: #ff8a00;
  --orange-soft: #fff2da;
  --ink: #132b2c;
  --ink-2: #274344;
  --muted: #657777;
  --line: #dfe9e2;
  --paper: #fff;
  --canvas: #f7faf7;
  --canvas-warm: #fffaf2;
  --danger: #b42318;
  --container: 1220px;
  --radius-sm: 14px;
  --radius: 22px;
  --radius-lg: 32px;
  --shadow-sm: 0 10px 28px rgba(24, 54, 48, .08);
  --shadow: 0 22px 58px rgba(24, 54, 48, .13);
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 150px;
  background: var(--canvas);
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: clip;
  color: var(--ink);
  background:
    radial-gradient(circle at 3% 2%, rgba(94, 219, 92, .13), transparent 24rem),
    radial-gradient(circle at 98% 1%, rgba(246, 162, 26, .12), transparent 25rem),
    linear-gradient(180deg, #fbfdf9 0, #fff 38rem, #f8faf7 100%);
  font-family: "Plus Jakarta Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.menu-open { overflow: hidden; }

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea { font: inherit; }

button,
[role="button"] { cursor: pointer; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(246, 162, 26, .48);
  outline-offset: 3px;
}

h1,
h2,
h3,
h4,
p { margin-top: 0; }

h1,
h2,
h3 {
  font-family: Rubik, "Plus Jakarta Sans", sans-serif;
  text-wrap: balance;
}

.container {
  width: min(var(--container), calc(100% - 40px));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  z-index: 5000;
  left: 16px;
  top: 12px;
  padding: 12px 16px;
  border-radius: 12px;
  color: #fff;
  background: var(--ink);
  transform: translateY(-160%);
  transition: transform .2s ease;
}

.skip-link:focus { transform: translateY(0); }

.top-progress {
  position: fixed;
  z-index: 3000;
  left: 0;
  top: 0;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--orange), var(--green));
  pointer-events: none;
}

/* Buttons */
.btn {
  min-height: 50px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: var(--ink);
  background: #fff;
  font-weight: 850;
  line-height: 1.1;
  text-align: center;
  box-shadow: none;
  transition: transform .2s var(--ease), box-shadow .2s ease, background .2s ease, border-color .2s ease;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

.btn:active,
.btn.is-pressing { transform: scale(.97); }

.btn-primary {
  color: #fff;
  background: linear-gradient(135deg, var(--orange), var(--orange-strong));
  box-shadow: 0 12px 28px rgba(255, 138, 0, .22);
}

.btn-secondary {
  color: #11351d;
  background: var(--green);
  box-shadow: 0 12px 26px rgba(55, 190, 80, .17);
}

.btn-ghost {
  color: var(--ink);
  background: rgba(255, 255, 255, .82);
  border-color: var(--line);
}

.btn-small {
  min-height: 44px;
  padding-inline: 18px;
  font-size: .88rem;
}

.btn-form {
  width: 100%;
  margin-top: 4px;
}

.btn:disabled {
  opacity: .65;
  cursor: wait;
}

/* Header */
.site-header {
  position: sticky;
  z-index: 2300;
  top: 0;
  background: rgba(255, 255, 255, .9);
  border-bottom: 1px solid rgba(213, 228, 216, .8);
  box-shadow: 0 8px 26px rgba(19, 43, 44, .045);
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.site-header::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--orange) 0 24%, var(--green) 24% 100%);
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 34px rgba(19, 43, 44, .08);
}

.header-shell {
  width: min(1240px, calc(100% - 30px));
  margin-inline: auto;
  padding: 11px 0 12px;
}

.header-top {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) auto;
  align-items: center;
  gap: 24px;
}

.brand-cluster { min-width: 0; }

.brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand-logo {
  width: 74px;
  height: 74px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
}

.brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 7px 10px rgba(156, 96, 14, .12));
}

.brand-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.brand-text strong {
  color: var(--orange-strong);
  font-family: Rubik, "Plus Jakarta Sans", sans-serif;
  font-size: clamp(1.45rem, 2.05vw, 2rem);
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: 1;
  white-space: nowrap;
}

.brand-text small {
  margin-top: 7px;
  display: flex;
  flex-wrap: wrap;
  gap: 2px 12px;
  color: var(--ink-2);
  font-size: .76rem;
  font-weight: 750;
  line-height: 1.25;
}

.brand-text small span:first-child {
  color: #28863c;
  font-weight: 850;
}

.header-actions {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 12px;
}

.contact-stack.contact-card {
  width: 324px;
  min-width: 324px;
  min-height: 68px;
  padding: 8px 10px 8px 9px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(94, 219, 92, .32);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(242, 255, 240, .96), rgba(255, 250, 240, .94));
  box-shadow: 0 10px 26px rgba(24, 54, 48, .07);
}

.phone-pill {
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
}

.contact-symbol {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--green-strong);
}

.contact-symbol svg {
  width: 19px;
  height: 19px;
}

.phone-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.phone-copy strong {
  color: var(--ink);
  font-size: .98rem;
  font-weight: 900;
  letter-spacing: -.025em;
  line-height: 1.05;
  white-space: nowrap;
}

.phone-address {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  color: #536a64;
  font-size: .66rem;
  font-weight: 750;
  line-height: 1.1;
  white-space: nowrap;
}

.phone-address svg {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
  color: var(--orange-strong);
}

.brand-messengers {
  display: flex;
  align-items: center;
  gap: 5px;
}

.messenger-btn {
  width: 31px;
  height: 31px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  box-shadow: 0 7px 16px rgba(18, 47, 44, .15);
  transition: transform .18s ease, box-shadow .18s ease;
}

.messenger-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(18, 47, 44, .2);
}

.messenger-btn svg {
  width: 16px;
  height: 16px;
}

.messenger-btn .icon-fill {
  fill: currentColor;
  stroke: none;
}

.messenger-max { background: #1f2937; }
.messenger-telegram { background: #239bd7; }
.messenger-vk { background: #2787f5; }

.btn-header-cta {
  width: 164px;
  min-height: 68px;
  padding: 8px 9px 8px 17px;
  justify-content: space-between;
  border-radius: 22px;
  font-size: .9rem;
  text-align: left;
}

.cta-arrow {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .22);
}

.cta-arrow svg {
  width: 19px;
  height: 19px;
}

.header-bottom {
  padding-top: 9px;
  display: flex;
  justify-content: center;
}

.desktop-nav {
  width: max-content;
  max-width: 100%;
  padding: 5px;
  display: flex;
  align-items: center;
  gap: 3px;
  border: 1px solid rgba(210, 226, 213, .9);
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 24px rgba(24, 54, 48, .055);
}

.desktop-nav a {
  min-height: 38px;
  padding: 0 20px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-2);
  font-size: .82rem;
  font-weight: 850;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.desktop-nav a:hover,
.desktop-nav a.is-active {
  color: #153a22;
  background: var(--green-soft);
  transform: translateY(-1px);
}

.menu-btn {
  width: 50px;
  height: 50px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: var(--ink);
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.menu-btn span {
  width: 21px;
  height: 2px;
  border-radius: 10px;
  background: currentColor;
}

/* Mobile menu */
.mobile-menu {
  position: fixed;
  z-index: 2400;
  inset: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
  background: rgba(7, 28, 27, .7);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  backdrop-filter: blur(10px);
  transition: opacity .22s ease, visibility .22s ease;
}

.mobile-menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.mobile-menu-card {
  width: min(440px, 100%);
  height: 100%;
  min-height: 100dvh;
  padding: max(20px, env(safe-area-inset-top)) 22px max(22px, env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  color: #fff;
  background:
    radial-gradient(circle at 90% 3%, rgba(94, 219, 92, .22), transparent 18rem),
    linear-gradient(155deg, #143f38, #0c2628 72%);
  box-shadow: -20px 0 60px rgba(5, 24, 23, .25);
  transform: translateX(100%);
  transition: transform .3s var(--ease);
}

.mobile-menu.is-open .mobile-menu-card { transform: translateX(0); }

.mobile-menu-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.mobile-menu-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
}

.mobile-menu-brand .brand-logo {
  width: 54px;
  height: 54px;
  padding: 4px;
  border-radius: 16px;
  background: #fff;
}

.mobile-menu-brand > span:last-child {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.mobile-menu-brand strong {
  font-size: 1rem;
  font-weight: 900;
}

.mobile-menu-brand small {
  color: rgba(255, 255, 255, .66);
  font-size: .7rem;
}

.menu-close,
.modal-close {
  width: 46px;
  height: 46px;
  padding: 0;
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 15px;
  display: grid;
  place-items: center;
  color: inherit;
  background: rgba(255, 255, 255, .1);
}

.menu-close svg,
.modal-close svg {
  width: 22px;
  height: 22px;
}

.mobile-nav {
  margin: auto 0;
  display: grid;
  gap: 8px;
}

.mobile-nav a {
  min-height: 68px;
  padding: 11px 13px 11px 18px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #fff;
  background: rgba(255, 255, 255, .065);
  font-family: Rubik, "Plus Jakarta Sans", sans-serif;
  font-size: clamp(1.15rem, 5.5vw, 1.5rem);
  font-weight: 850;
}

.mobile-nav a.is-active {
  color: #112c21;
  background: var(--green);
  border-color: var(--green);
}

.mobile-nav b {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .12);
}

.mobile-nav b svg {
  width: 18px;
  height: 18px;
}

.mobile-menu-bottom {
  display: grid;
  gap: 9px;
}

.mobile-menu-bottom .btn { width: 100%; }

/* Generic hero */
.hero {
  position: relative;
  overflow: hidden;
  padding: 66px 0;
  color: #fff;
  background:
    linear-gradient(100deg, rgba(10, 39, 38, .96) 0%, rgba(10, 39, 38, .88) 48%, rgba(10, 39, 38, .52) 100%),
    url("../img/hero-premium.jpg") 60% center / cover no-repeat;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .72fr);
  align-items: center;
  gap: 48px;
}

.hero h1 {
  max-width: 820px;
  margin: 18px 0 20px;
  color: #fff;
  font-size: clamp(2.75rem, 5.8vw, 5.8rem);
  line-height: .95;
  letter-spacing: -.065em;
}

.hero p {
  max-width: 720px;
  color: rgba(255, 255, 255, .82);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  font-weight: 600;
  line-height: 1.62;
}

.eyebrow {
  width: max-content;
  max-width: 100%;
  padding: 7px 11px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #276237;
  background: var(--green-soft);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .095em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hero .eyebrow {
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .17);
}

.hero-badges {
  margin: 24px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hero-badges span {
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  font-size: .8rem;
  font-weight: 750;
}

.cta-row,
.section-actions,
.card-actions,
.tour-detail-actions {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hero-card {
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: var(--radius-lg);
  color: var(--ink);
  background: rgba(255, 255, 255, .93);
  box-shadow: 0 28px 70px rgba(3, 25, 25, .22);
  backdrop-filter: blur(16px);
}

/* Homepage hero */
.home-hero-slider {
  padding: 22px 0 16px;
  background: linear-gradient(180deg, rgba(237, 251, 237, .75), rgba(255, 255, 255, .2));
}

.home-hero-container { position: relative; }

.destination-rail {
  margin-bottom: 12px;
  padding: 6px;
  display: flex;
  align-items: center;
  gap: 5px;
  overflow-x: auto;
  scrollbar-width: none;
  border: 1px solid rgba(94, 219, 92, .25);
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  box-shadow: var(--shadow-sm);
}

.destination-rail::-webkit-scrollbar,
.mobile-destination-panel::-webkit-scrollbar { display: none; }

.destination-chip {
  min-width: max-content;
  min-height: 42px;
  padding: 0 14px 0 8px;
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink-2);
  background: transparent;
  font-size: .8rem;
  font-weight: 850;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.destination-chip:hover,
.destination-chip.is-active {
  color: #fff;
  background: var(--green-deep);
  transform: translateY(-1px);
}

.destination-chip-link { margin-left: auto; }

.country-code {
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  color: #15432b;
  background: var(--green);
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .02em;
}

.destination-chip.is-active .country-code,
.destination-chip:hover .country-code {
  color: var(--green-deep);
  background: #fff;
}

.hero-slider-card {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  border-radius: 34px;
  background: var(--green-deep);
  box-shadow: 0 28px 72px rgba(24, 54, 48, .17);
}

.hero-slider-media,
.hero-slide-links {
  position: absolute;
  z-index: 1;
  inset: 0;
}

.hero-slide-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity .75s ease, transform 5.5s ease;
}

.hero-slide-img.is-active {
  opacity: 1;
  transform: scale(1);
}

.hero-slider-card::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7, 31, 30, .83) 0%, rgba(7, 31, 30, .52) 43%, rgba(7, 31, 30, .12) 72%),
    linear-gradient(0deg, rgba(7, 31, 30, .7) 0%, transparent 46%);
}

.hero-slide-links { pointer-events: none; }
.hero-slide-link { position: absolute; inset: 0; pointer-events: none; }

.hero-story {
  position: absolute;
  z-index: 4;
  top: 48px;
  left: 48px;
  width: min(680px, calc(100% - 96px));
  color: #fff;
}

.hero-story-kicker {
  display: inline-flex;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero-story h1 {
  margin: 18px 0 15px;
  color: #fff;
  font-size: clamp(2.7rem, 4.5vw, 4.4rem);
  line-height: .94;
  letter-spacing: -.065em;
  text-shadow: 0 10px 34px rgba(0, 0, 0, .22);
}

.hero-story p {
  max-width: 540px;
  margin-bottom: 20px;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(.98rem, 1.45vw, 1.12rem);
  font-weight: 650;
}

.hero-story-link {
  width: max-content;
  min-height: 48px;
  padding: 0 10px 0 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #183523;
  background: var(--green);
  font-size: .83rem;
  font-weight: 900;
}

.hero-story-link svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  border-radius: 50%;
  color: #fff;
  background: var(--green-deep);
}

.home-search-overlay {
  position: absolute;
  z-index: 8;
  right: 28px;
  bottom: 26px;
  left: 28px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 25px;
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 20px 50px rgba(2, 26, 25, .2);
  backdrop-filter: blur(18px) saturate(1.1);
}

.home-search-label {
  padding: 2px 7px 9px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 15px;
}

.home-search-label strong {
  color: var(--ink);
  font-size: .92rem;
  font-weight: 900;
}

.home-search-label span {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
}

.hero-slider-dots {
  position: absolute;
  z-index: 6;
  top: 30px;
  right: 30px;
  display: flex;
  gap: 6px;
}

.hero-slider-dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .54);
  transition: width .2s ease, background .2s ease;
}

.hero-slider-dots button.is-active {
  width: 27px;
  background: #fff;
}

.mobile-destination-panel { display: none; }

/* search widget */
.tourvisor-shell {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.tourvisor-compact-title { display: none; }

.tourvisor-head {
  margin-bottom: 14px;
  padding: 0 4px;
}

.tourvisor-head p {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: .9rem;
  font-weight: 600;
}

.tourvisor-widget {
  position: relative;
  width: 100%;
  overflow: visible;
  border: 1px solid rgba(94, 219, 92, .34);
  border-radius: 18px;
  background: #fff;
}

.tourvisor-bridge-frame,
.tourvisor-widget iframe {
  width: 100%;
  max-width: 100%;
  border: 0;
  display: block;
  background: #fff;
}

.tv-search-compact .tourvisor-widget { border-radius: 17px; }
.tv-search-compact .tourvisor-bridge-frame { height: 96px; min-height: 96px; }

.home-tourvisor-search {
  transition: box-shadow .2s ease, background .2s ease;
}

.home-tourvisor-search.is-expanded {
  z-index: 15;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 28px 70px rgba(3, 28, 27, .28);
}

.home-tourvisor-search.is-expanded .tourvisor-bridge-frame {
  height: 430px;
  min-height: 430px;
}

.tv-search-extended {
  padding: 12px;
  border: 1px solid rgba(94, 219, 92, .25);
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.tv-search-extended .tourvisor-widget {
  border: 0;
  border-radius: 20px;
}

.tv-search-extended .tourvisor-bridge-frame {
  height: 920px;
  min-height: 720px;
}

.hero-card .tv-search-compact .tourvisor-bridge-frame {
  height: 190px;
  min-height: 190px;
}

.tourvisor-status {
  margin-top: 10px;
  padding: 10px 13px;
  border-radius: 12px;
  color: #4d635d;
  background: #f3f8f4;
  font-size: .76rem;
  font-weight: 700;
}

.tourvisor-status[hidden],
.tourvisor-fallback-actions[hidden] { display: none !important; }

.tourvisor-fallback-actions {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #fed7aa;
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  background: #fff7ed;
}

.tourvisor-fallback-actions span {
  flex: 1;
  color: var(--muted);
  font-size: .82rem;
}

/* Operators and trust */
.operator-strip {
  padding: 5px 0 15px;
}

.operator-strip-inner {
  min-height: 58px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 3vw, 36px);
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: #60736f;
  background: rgba(255, 255, 255, .86);
  box-shadow: var(--shadow-sm);
  white-space: nowrap;
  scrollbar-width: none;
}

.operator-strip-inner::-webkit-scrollbar { display: none; }

.operator-strip-inner strong {
  color: var(--ink);
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.operator-strip-inner span {
  font-size: .82rem;
  font-weight: 800;
}

.home-trust { padding: 16px 0 30px; }

.home-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.home-trust article {
  min-height: 98px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  box-shadow: 0 8px 24px rgba(24, 54, 48, .055);
}

.home-trust strong {
  color: var(--orange-strong);
  font-family: Rubik, "Plus Jakarta Sans", sans-serif;
  font-size: 1.34rem;
  letter-spacing: -.035em;
}

.home-trust span {
  margin-top: 3px;
  color: var(--muted);
  font-size: .77rem;
  font-weight: 700;
}

/* Sections and general grids */
.section { padding: 76px 0; }
.section-lite { position: relative; padding: 62px 0; }

.section.alt,
.section-soft {
  background:
    radial-gradient(circle at 8% 16%, rgba(94, 219, 92, .1), transparent 22rem),
    linear-gradient(180deg, #f7fbf6, #fffaf3);
}

.section-head {
  max-width: 780px;
  margin: 0 auto 34px;
  text-align: center;
}

.section-head.left,
.compact-head {
  margin-inline: 0;
  text-align: left;
}

.section-head h1,
.section-head h2,
.showcase-head h2 {
  margin: 14px 0 13px;
  color: var(--ink);
  font-size: clamp(2rem, 4.3vw, 4.2rem);
  line-height: 1;
  letter-spacing: -.06em;
}

.section-head p,
.showcase-head p {
  margin-bottom: 0;
  color: var(--muted);
  font-weight: 600;
  line-height: 1.65;
}

.split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .8fr);
  align-items: start;
  gap: 42px;
}

.split-clean { align-items: center; }

.grid-3,
.live-tours,
.contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.info-list,
.deal-stack { display: grid; gap: 11px; }

.info-card,
.benefit-card-simple,
.contact-card,
.cruise-card,
.smart-hot-panel,
.tour-advice-card,
.map-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  background: #fff;
  box-shadow: 0 10px 28px rgba(24, 54, 48, .055);
}

.info-card {
  padding: 20px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 13px;
}

.info-card .num {
  width: 38px;
  height: 38px;
  grid-row: 1 / span 2;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #174824;
  background: var(--green-soft);
  font-weight: 950;
}

.info-card h3 {
  margin: 1px 0 3px;
  font-size: 1.03rem;
  letter-spacing: -.025em;
}

.info-card p {
  grid-column: 2;
  margin: 0;
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.58;
}

.info-card:not(:has(.num)) p { grid-column: 1 / -1; }

.benefit-grid-simple {
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.benefit-card-simple { padding: 19px; }

.benefit-card-simple strong {
  color: #237c37;
  font-family: Rubik, "Plus Jakarta Sans", sans-serif;
  font-size: 1.04rem;
}

.benefit-card-simple p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: .84rem;
}

.mini-deal {
  min-height: 72px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #fff;
}

.mini-deal > span {
  display: flex;
  flex-direction: column;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.mini-deal strong {
  margin-top: 3px;
  color: var(--ink);
  font-size: .87rem;
  text-transform: none;
}

.mini-deal b {
  color: var(--orange-strong);
  font-size: .74rem;
}

/* Homepage showcases */
.showcase-block:nth-of-type(even) {
  background: linear-gradient(180deg, rgba(239, 250, 239, .52), rgba(255, 255, 255, 0));
}

.showcase-grid {
  display: grid;
  grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(28px, 5vw, 68px);
}

.showcase-feature {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border-radius: 30px;
  box-shadow: var(--shadow);
}

.showcase-feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 30, 29, .08) 25%, rgba(8, 30, 29, .82) 100%);
}

.showcase-feature > img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  transition: transform .55s var(--ease);
}

.showcase-feature:hover > img { transform: scale(1.035); }

.showcase-feature-brand {
  position: absolute;
  z-index: 2;
  top: 18px;
  left: 18px;
  padding: 7px 11px 7px 7px;
  border-radius: 17px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  background: rgba(255, 255, 255, .89);
  backdrop-filter: blur(12px);
}

.showcase-feature-brand-logo {
  width: 35px;
  height: 35px;
}

.showcase-feature-brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.showcase-feature-brand-copy {
  display: flex;
  flex-direction: column;
}

.showcase-feature-brand-copy strong { font-size: .72rem; }
.showcase-feature-brand-copy small { color: var(--muted); font-size: .58rem; }

.showcase-feature-caption {
  position: absolute;
  z-index: 2;
  right: 22px;
  bottom: 22px;
  left: 22px;
  color: #fff;
}

.showcase-feature-caption span {
  display: block;
  margin-bottom: 5px;
  color: var(--green);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.showcase-feature-caption strong {
  display: block;
  font-family: Rubik, "Plus Jakarta Sans", sans-serif;
  font-size: clamp(1.45rem, 2.7vw, 2.5rem);
  line-height: 1.06;
  letter-spacing: -.04em;
}

.showcase-head h2 { font-size: clamp(2rem, 3.9vw, 3.5rem); }

.showcase-cards {
  margin-top: 25px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.mini-place-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow-sm);
  transition: transform .2s ease, box-shadow .2s ease;
}

.mini-place-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.mini-place-card img {
  width: 100%;
  height: 112px;
  object-fit: cover;
}

.mini-place-card strong {
  min-height: 72px;
  padding: 12px;
  display: block;
  font-size: .76rem;
  line-height: 1.38;
}

/* Regions and guides */
.region-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
}

.region-card,
.guide-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow-sm);
  transition: transform .22s ease, box-shadow .22s ease;
}

.region-card:hover,
.guide-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow);
}

.region-card img {
  width: 100%;
  height: 245px;
  object-fit: cover;
}

.region-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(6, 31, 29, .78));
}

.region-card-body {
  position: absolute;
  z-index: 2;
  right: 17px;
  bottom: 17px;
  left: 17px;
  color: #fff;
}

.region-card-body strong {
  display: block;
  font-family: Rubik, "Plus Jakarta Sans", sans-serif;
  font-size: 1.2rem;
}

.region-card-body span {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, .78);
  font-size: .7rem;
}

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

.guide-card {
  display: grid;
  grid-template-columns: 140px 1fr;
  min-height: 150px;
  border: 1px solid var(--line);
}

.guide-card img {
  width: 140px;
  height: 100%;
  object-fit: cover;
}

.guide-card-body {
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.guide-card-body span {
  color: #2f8e43;
  font-size: .65rem;
  font-weight: 900;
  text-transform: uppercase;
}

.guide-card-body strong {
  margin-top: 7px;
  font-size: .9rem;
  line-height: 1.36;
}

.guide-card-body small {
  margin-top: 8px;
  color: var(--muted);
  font-size: .65rem;
}

/* Tour, destination and cruise cards */
.tour-card,
.destination-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow-sm);
  transition: transform .22s ease, box-shadow .22s ease;
}

.tour-card:hover,
.destination-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow);
}

.tour-card-img,
.destination-img,
.tour-card-art,
.destination-art {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.tour-card-art,
.destination-art,
.tour-image-fallback {
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--green-deep), #278f70);
}

.tour-card-art span { font-size: 2rem; font-weight: 950; }

.tour-card-top {
  padding: 17px 17px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.badge,
.pills span {
  padding: 6px 9px;
  border-radius: 999px;
  color: #1c6530;
  background: var(--green-soft);
  font-size: .62rem;
  font-weight: 900;
}

.badge.hot { color: #954e00; background: var(--orange-soft); }

.price {
  color: var(--orange-strong);
  font-size: .72rem;
  font-weight: 900;
  text-align: right;
}

.tour-country {
  margin: 14px 17px 6px;
  color: #318a44;
  font-size: .68rem;
  font-weight: 850;
}

.tour-card h3 {
  margin: 0 17px 8px;
  font-size: 1.03rem;
  line-height: 1.26;
  letter-spacing: -.025em;
}

.tour-card > p:not(.tour-country),
.tour-card-details {
  margin: 0 17px 10px;
  color: var(--muted);
  font-size: .78rem;
}

.tour-card .card-actions { padding: 0 17px 18px; }

.destination-body { padding: 18px; }

.destination-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--muted);
  font-size: .7rem;
}

.destination-meta strong { color: var(--orange-strong); }

.destination-body h3 {
  margin: 8px 0;
  font-size: 1.25rem;
}

.destination-body p {
  color: var(--muted);
  font-size: .82rem;
}

.pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.cruise-card {
  min-height: 300px;
  padding: 23px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.cruise-card h3 {
  margin: 16px 0 8px;
  font-size: 1.35rem;
}

.cruise-card p {
  color: var(--muted);
  font-size: .86rem;
}

.cruise-bottom {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.cruise-bottom strong {
  color: var(--orange-strong);
  font-size: .8rem;
}

.tour-skeleton {
  min-height: 360px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 24px;
  display: grid;
  align-content: end;
  gap: 11px;
  background: linear-gradient(105deg, #f3f7f3, #fff, #f3f7f3);
  background-size: 200% 100%;
  animation: skeleton 1.4s ease-in-out infinite;
}

.tour-skeleton span {
  height: 15px;
  border-radius: 999px;
  background: rgba(19, 43, 44, .08);
}

.tour-skeleton span:first-child {
  height: 190px;
  border-radius: 18px;
}

.live-notice,
.live-empty {
  grid-column: 1 / -1;
  padding: 20px;
  border: 1px solid rgba(94, 219, 92, .3);
  border-radius: 22px;
  background: var(--green-soft);
}

.live-notice p,
.live-empty p {
  margin: 6px 0 0;
  color: var(--muted);
}

.smart-hot-panel {
  margin-bottom: 18px;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.smart-hot-panel h3 { margin: 10px 0 5px; }
.smart-hot-panel p { margin: 0; color: var(--muted); }

.marquee {
  overflow: hidden;
  color: #fff;
  background: var(--green-deep);
}

.marquee-track {
  width: max-content;
  padding: 10px 0;
  display: flex;
  gap: 34px;
  animation: marquee 38s linear infinite;
}

.marquee-track a {
  font-size: .76rem;
  font-weight: 750;
}

/* Forms */
.lead-form {
  padding: 25px;
  border: 1px solid rgba(94, 219, 92, .28);
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--shadow);
}

.form-head { margin-bottom: 20px; }

.form-head h3 {
  margin: 13px 0 8px;
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  letter-spacing: -.04em;
}

.form-head p,
.form-note {
  margin-bottom: 0;
  color: var(--muted);
  font-size: .82rem;
}

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

.lead-form label {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.lead-form label > span:first-child {
  color: var(--ink-2);
  font-size: .69rem;
  font-weight: 850;
}

.lead-form input,
.lead-form select,
.lead-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #d9e5dc;
  border-radius: 13px;
  color: var(--ink);
  background: #fafdFA;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.lead-form textarea {
  min-height: 105px;
  resize: vertical;
}

.lead-form input:focus,
.lead-form select:focus,
.lead-form textarea:focus {
  outline: 0;
  border-color: var(--green-strong);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(94, 219, 92, .14);
}

.form-grid .wide { grid-column: 1 / -1; }

.consent {
  margin: 14px 0 12px;
  display: grid !important;
  grid-template-columns: 20px 1fr;
  align-items: start;
  gap: 8px !important;
}

.consent input {
  width: 18px;
  min-height: 18px;
  margin: 2px 0 0;
  accent-color: var(--green-strong);
}

.consent span {
  color: var(--muted) !important;
  font-size: .68rem !important;
  line-height: 1.45;
}

.consent a {
  color: #287d3b;
  text-decoration: underline;
}

.lead-form.compact {
  padding: 0;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 11px;
  box-shadow: none;
}

.hp-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

/* Search page */
.search-results-first {
  min-height: 70vh;
  padding: 34px 0 52px;
}

.wide-results-container { width: min(1360px, calc(100% - 32px)); }

.results-topbar {
  margin-bottom: 15px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: rgba(255, 255, 255, .9);
  box-shadow: var(--shadow-sm);
}

.results-topbar h1 {
  margin: 9px 0 5px;
  font-size: clamp(1.75rem, 3.4vw, 3rem);
  line-height: 1;
  letter-spacing: -.055em;
}

.results-topbar p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
}

.result-widget-shell .tourvisor-head { display: none; }

.exact-tourvisor-link-panel,
.search-support-strip {
  margin: 12px 0;
  padding: 14px 16px;
  border: 1px solid rgba(94, 219, 92, .28);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: var(--green-soft);
}

.exact-tourvisor-link-panel > div,
.search-support-strip > div {
  display: grid;
  gap: 3px;
}

.exact-tourvisor-link-panel span,
.search-support-strip span {
  color: var(--muted);
  font-size: .76rem;
}

.search-support-strip {
  margin: 14px 0 0;
  background: var(--orange-soft);
  border-color: #fbdca8;
}

/* Contact, legal, order, success */
.contact-card { padding: 24px; }

.contact-card .icon {
  width: 46px;
  height: 46px;
  margin-bottom: 16px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #1d7131;
  background: var(--green-soft);
}

.contact-card .icon svg { width: 23px; height: 23px; }
.contact-card h3 { margin-bottom: 8px; }
.contact-card p { margin: 0; color: var(--muted); }

.map-card {
  margin-top: 16px;
  padding: 25px;
}

.map-card p { color: var(--muted); }

.legal-card {
  max-width: 900px;
  margin-inline: auto;
  padding: clamp(22px, 4vw, 45px);
  border: 1px solid var(--line);
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.legal-card h2 {
  margin: 30px 0 9px;
  font-size: 1.35rem;
}

.legal-card p,
.legal-card li {
  color: var(--ink-2);
  line-height: 1.75;
}

.legal-card a { color: #247839; text-decoration: underline; }

.legal-warning,
.alert {
  padding: 14px;
  border: 1px solid #fed7aa;
  border-radius: 15px;
  color: #7c2d12;
  background: #fff7ed;
}

.alert.error {
  margin-bottom: 14px;
  border-color: #fecaca;
  color: var(--danger);
  background: #fff1f2;
}

.order-hero {
  padding: 70px 0;
}

.success-card {
  width: min(650px, calc(100% - 32px));
  margin: 70px auto;
  padding: clamp(26px, 5vw, 50px);
  border: 1px solid var(--line);
  border-radius: 32px;
  text-align: center;
  background: #fff;
  box-shadow: var(--shadow);
}

.success-icon {
  width: 66px;
  height: 66px;
  margin: 0 auto 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #153d21;
  background: var(--green);
  font-size: 1.7rem;
  font-weight: 950;
}

/* Tour detail */
.tour-detail-hero {
  padding: 54px 0;
  background: linear-gradient(180deg, #f0faf0, #fff);
}

.tour-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: 40px;
}

.tour-detail-media {
  overflow: hidden;
  border-radius: 30px;
  box-shadow: var(--shadow);
}

.tour-detail-media img,
.tour-image-fallback {
  width: 100%;
  min-height: 470px;
  height: 100%;
  object-fit: cover;
}

.tour-detail-main h1 {
  margin: 16px 0;
  font-size: clamp(2.3rem, 5vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.06em;
}

.tour-detail-lead,
.tour-warning {
  color: var(--muted);
  line-height: 1.65;
}

.tour-price-row {
  margin: 20px 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.tour-price-row strong {
  color: var(--orange-strong);
  font-size: 1.45rem;
}

.tour-price-row span { color: var(--muted); text-decoration: line-through; }
.tour-price-row b { padding: 5px 8px; border-radius: 999px; color: #175327; background: var(--green-soft); }

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

.tour-info-card {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.tour-info-card span {
  display: block;
  color: var(--muted);
  font-size: .68rem;
}

.tour-info-card strong {
  display: block;
  margin-top: 5px;
  font-size: .9rem;
}

.tour-advice-card { padding: 25px; }
.tour-advice-card p,
.tour-advice-card li { color: var(--muted); }

/* Footer */
.site-footer {
  margin-top: 30px;
  padding: 58px 0 22px;
  overflow: hidden;
  color: rgba(255, 255, 255, .75);
  background:
    radial-gradient(circle at 8% 8%, rgba(94, 219, 92, .15), transparent 25rem),
    linear-gradient(145deg, #123a34, #0c2528);
  border-radius: 38px 38px 0 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.6fr) repeat(3, minmax(150px, .65fr));
  gap: 36px;
}

.brand-footer .brand-logo {
  width: 62px;
  height: 62px;
  padding: 4px;
  border-radius: 18px;
  background: #fff;
}

.brand-footer .brand-text strong {
  color: #fff;
  font-size: 1.15rem;
  white-space: normal;
}

.brand-footer .brand-text small {
  color: rgba(255, 255, 255, .6);
}

.footer-brand > p {
  max-width: 560px;
  margin: 18px 0;
  color: rgba(255, 255, 255, .62);
  font-size: .84rem;
}

.footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.footer-badges span {
  padding: 7px 9px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  font-size: .62rem;
}

.site-footer h3 {
  margin-bottom: 14px;
  color: #fff;
  font-size: .85rem;
}

.footer-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
  list-style: none;
}

.footer-list li,
.footer-list a {
  color: rgba(255, 255, 255, .62);
  font-size: .76rem;
  line-height: 1.4;
}

.footer-list a:hover { color: var(--green); }

.footer-bottom {
  margin-top: 40px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .11);
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: rgba(255, 255, 255, .48);
  font-size: .68rem;
}

/* Modal and cookie */
.modal {
  position: fixed;
  z-index: 2600;
  inset: 0;
  padding: 18px;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}

.modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 26, 25, .72);
  backdrop-filter: blur(10px);
}

.modal-card {
  position: relative;
  z-index: 2;
  width: min(470px, 100%);
  max-height: calc(100dvh - 36px);
  overflow-y: auto;
  padding: 30px;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .28);
}

.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  color: var(--ink);
  background: #f2f6f2;
  border-color: var(--line);
}

.modal-icon {
  width: 52px;
  height: 52px;
  margin-bottom: 15px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: #1f7532;
  background: var(--green-soft);
}

.modal-icon svg { width: 25px; height: 25px; }

.modal-card h2 {
  max-width: 330px;
  margin-bottom: 8px;
  font-size: 1.65rem;
}

.modal-card > p {
  color: var(--muted);
  font-size: .82rem;
}

.cookie-banner {
  position: fixed;
  z-index: 1800;
  right: 18px;
  bottom: 18px;
  width: min(720px, calc(100% - 36px));
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 56px rgba(15, 42, 39, .18);
  backdrop-filter: blur(16px);
}

.cookie-banner[hidden] { display: none !important; }

.cookie-banner strong {
  font-size: .82rem;
}

.cookie-banner p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.4;
}

.cookie-actions {
  display: flex;
  gap: 7px;
}

#vk_community_messages { position: relative; z-index: 900; }
.menu-open #vk_community_messages { visibility: hidden !important; }

/* Diagnostics */
.diagnostic-grid,
.tv-test-grid {
  display: grid;
  gap: 18px;
}

.diagnostic-card,
.tv-test-card {
  padding: 22px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
}

.diag-frame,
.tv-test-card iframe {
  width: 100%;
  min-height: 560px;
  border: 1px solid var(--line);
  border-radius: 15px;
}

.diag-log {
  max-width: 100%;
  overflow: auto;
  white-space: pre-wrap;
}

.system-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 30px;
}

.system-card {
  width: min(620px, 100%);
  padding: 35px;
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--shadow);
}

/* Motion */
.reveal { opacity: 1; transform: none; }

body.is-ready .reveal {
  opacity: 0;
  transform: translateY(16px);
}

body.is-ready .reveal.is-visible {
  opacity: 1;
  transform: none;
  transition: opacity .5s ease, transform .5s var(--ease);
}

@keyframes skeleton {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

@keyframes marquee {
  to { transform: translateX(-50%); }
}

/* Laptop */
@media (max-width: 1180px) {
  .header-top { grid-template-columns: minmax(390px, 1fr) auto; gap: 16px; }
  .brand-logo { width: 68px; height: 68px; }
  .brand-text strong { font-size: 1.5rem; }
  .brand-text small { font-size: .7rem; }
  .contact-stack.contact-card { width: 292px; min-width: 292px; }
  .phone-copy strong { font-size: .9rem; }
  .phone-address { font-size: .61rem; }
  .btn-header-cta { width: 148px; }
  .showcase-grid { gap: 32px; }
  .guide-card { grid-template-columns: 115px 1fr; }
  .guide-card img { width: 115px; }
}

@media (max-width: 1020px) {
  html { scroll-padding-top: 96px; }
  .header-shell { padding: 9px 0; }
  .header-top { grid-template-columns: minmax(0, 1fr) auto; }
  .header-bottom,
  .contact-stack.contact-card,
  .btn-header-cta { display: none; }
  .menu-btn { display: flex; }
  .hero-grid,
  .split,
  .tour-detail-grid { grid-template-columns: 1fr; }
  .hero-card { max-width: 720px; }
  .showcase-grid { grid-template-columns: 1fr; }
  .showcase-feature { min-height: 390px; }
  .showcase-feature > img { height: 390px; }
  .region-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-card { grid-template-columns: 180px 1fr; }
  .guide-card img { width: 180px; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-grid > :last-child { grid-column: 1 / -1; }
}

/* Tablet */
@media (max-width: 820px) {
  .container { width: min(100% - 28px, var(--container)); }
  .section { padding: 58px 0; }
  .section-lite { padding: 50px 0; }
  .hero { padding: 48px 0; }
  .hero h1 { font-size: clamp(2.4rem, 10vw, 4.3rem); }
  .home-hero-slider { padding-top: 13px; }
  .hero-slider-card { min-height: 590px; border-radius: 28px; }
  .hero-story { top: 35px; left: 34px; width: min(520px, calc(100% - 68px)); }
  .hero-story h1 { font-size: clamp(2.45rem, 8vw, 4rem); }
  .home-search-overlay { right: 18px; bottom: 18px; left: 18px; }
  .home-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3,
  .live-tours,
  .contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .showcase-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tour-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid > :last-child { grid-column: auto; }
}

/* Mobile */
@media (max-width: 640px) {
  :root { --radius-lg: 25px; }

  body { background: #f8fbf7; }
  .container { width: min(100% - 20px, var(--container)); }
  .header-shell { width: calc(100% - 14px); }
  .header-top { gap: 8px; }
  .brand { gap: 8px; }
  .brand-logo { width: 52px; height: 52px; }
  .brand-text strong {
    max-width: 228px;
    font-size: clamp(.92rem, 4.1vw, 1.08rem);
    line-height: .98;
    white-space: normal;
  }
  .brand-text small {
    margin-top: 4px;
    display: grid;
    gap: 0;
    font-size: clamp(.52rem, 2.25vw, .62rem);
    line-height: 1.2;
  }
  .menu-btn {
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 14px;
  }

  .mobile-menu-card { padding-inline: 16px; }
  .mobile-nav { margin-block: 22px; }
  .mobile-nav a { min-height: 62px; }

  .home-hero-slider { padding: 10px 0 4px; }
  .destination-rail {
    width: calc(100% + 10px);
    margin-left: -5px;
    margin-bottom: 9px;
    padding: 5px;
    border-radius: 18px;
  }
  .destination-chip {
    min-height: 39px;
    padding-right: 12px;
    font-size: .72rem;
  }
  .destination-chip-link { margin-left: 0; }
  .country-code { width: 25px; height: 25px; font-size: .54rem; }

  .hero-slider-card {
    min-height: 0;
    overflow: visible;
    border-radius: 24px;
    background: transparent;
    box-shadow: none;
  }
  .hero-slider-card::after { display: none; }
  .hero-slider-media {
    position: relative;
    height: 265px;
    overflow: hidden;
    border-radius: 24px;
    background: var(--green-deep);
    box-shadow: var(--shadow);
  }
  .hero-slider-media::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 30, 29, .08), rgba(6, 30, 29, .78));
  }
  .hero-slide-img { object-position: center; }
  .hero-story {
    z-index: 4;
    top: 74px;
    right: 18px;
    left: 18px;
    width: auto;
  }
  .hero-story-kicker { padding: 6px 8px; font-size: .56rem; }
  .hero-story h1 {
    max-width: 330px;
    margin: 11px 0 8px;
    font-size: clamp(1.75rem, 8.5vw, 2.45rem);
    line-height: .96;
  }
  .hero-story p {
    max-width: 320px;
    margin-bottom: 12px;
    font-size: .76rem;
    line-height: 1.45;
  }
  .hero-story-link {
    min-height: 41px;
    padding-left: 14px;
    font-size: .7rem;
  }
  .hero-story-link svg { width: 30px; height: 30px; }
  .hero-slider-dots {
    z-index: 5;
    top: 18px;
    right: 18px;
  }

  .home-search-overlay {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    margin-top: 10px;
    padding: 9px;
    border: 1px solid rgba(94, 219, 92, .36);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--shadow-sm);
    backdrop-filter: none;
  }
  .home-search-label {
    padding: 3px 5px 8px;
    display: grid;
    gap: 1px;
  }
  .home-search-label strong { font-size: .85rem; }
  .home-search-label span { font-size: .64rem; }
  .home-tourvisor-search .tourvisor-widget { overflow: hidden; }
  .home-tourvisor-search .tourvisor-bridge-frame {
    height: 430px;
    min-height: 430px;
  }
  .home-tourvisor-search.is-expanded .tourvisor-bridge-frame {
    height: 720px;
    min-height: 720px;
  }

  .mobile-destination-panel {
    margin-top: 10px;
    padding: 1px 1px 4px;
    display: flex;
    gap: 7px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .mobile-destination-item {
    min-width: max-content;
    min-height: 43px;
    padding: 0 11px 0 7px;
    border: 1px solid var(--line);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--ink-2);
    background: #fff;
    font-size: .7rem;
    font-weight: 850;
  }

  .operator-strip { padding: 10px 0 6px; }
  .operator-strip-inner {
    width: calc(100% - 20px);
    min-height: 48px;
    padding-inline: 12px;
    justify-content: flex-start;
    gap: 20px;
  }
  .operator-strip-inner strong { position: sticky; left: 0; padding-right: 8px; background: #fff; }
  .home-trust { padding: 8px 0 24px; }
  .home-trust-grid { gap: 7px; }
  .home-trust article { min-height: 82px; padding: 13px; border-radius: 16px; }
  .home-trust strong { font-size: 1.05rem; }
  .home-trust span { font-size: .65rem; }

  .hero { padding: 38px 0; background-position: 68% center; }
  .hero-grid { gap: 25px; }
  .hero h1 { margin-block: 14px; font-size: clamp(2.25rem, 12vw, 3.65rem); }
  .hero p { font-size: .92rem; }
  .hero-badges { margin-top: 18px; }
  .hero-badges span { padding: 7px 9px; font-size: .68rem; }
  .hero-card { padding: 13px; border-radius: 23px; }
  .cta-row,
  .section-actions,
  .card-actions,
  .tour-detail-actions { display: grid; }
  .cta-row .btn,
  .section-actions .btn,
  .card-actions .btn,
  .tour-detail-actions .btn { width: 100%; }

  .section { padding: 48px 0; }
  .section-lite { padding: 42px 0; }
  .section-head { margin-bottom: 25px; text-align: left; }
  .section-head h1,
  .section-head h2,
  .showcase-head h2 { font-size: clamp(1.85rem, 9.4vw, 3rem); }
  .split { gap: 28px; }
  .grid-3,
  .live-tours,
  .contact-grid,
  .region-grid,
  .guide-grid,
  .tour-info-grid { grid-template-columns: 1fr; }
  .benefit-grid-simple { grid-template-columns: 1fr; }
  .info-card { padding: 16px; }
  .info-card p { grid-column: 1 / -1; }

  .showcase-grid { gap: 24px; }
  .showcase-feature { min-height: 275px; border-radius: 23px; }
  .showcase-feature > img { height: 275px; }
  .showcase-feature-brand { top: 12px; left: 12px; }
  .showcase-feature-caption { right: 15px; bottom: 15px; left: 15px; }
  .showcase-feature-caption strong { font-size: 1.45rem; }
  .showcase-cards {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .mini-place-card {
    display: grid;
    grid-template-columns: 105px 1fr;
    align-items: center;
  }
  .mini-place-card img { width: 105px; height: 86px; }
  .mini-place-card strong { min-height: auto; }

  .region-card img { height: 220px; }
  .guide-card { grid-template-columns: 110px 1fr; min-height: 125px; }
  .guide-card img { width: 110px; }
  .guide-card-body { padding: 14px; }
  .tour-card-img,
  .destination-img,
  .tour-card-art,
  .destination-art { height: 205px; }

  .form-grid { grid-template-columns: 1fr; }
  .form-grid .wide { grid-column: auto; }
  .lead-form { padding: 18px; border-radius: 23px; }

  .search-results-first { padding: 18px 0 35px; }
  .wide-results-container { width: calc(100% - 16px); }
  .results-topbar {
    padding: 16px;
    border-radius: 20px;
    align-items: flex-end;
  }
  .results-topbar h1 { font-size: 1.65rem; }
  .results-topbar p { max-width: 250px; font-size: .68rem; }
  .results-help-btn { min-height: 42px; padding-inline: 12px; font-size: .7rem; }
  .tv-search-extended { padding: 7px; border-radius: 22px; }
  .tv-search-extended .tourvisor-bridge-frame {
    height: 1120px;
    min-height: 900px;
  }
  .hero-card .tv-search-compact .tourvisor-bridge-frame {
    height: 430px;
    min-height: 430px;
  }
  .tourvisor-fallback-actions,
  .exact-tourvisor-link-panel,
  .search-support-strip {
    align-items: stretch;
    flex-direction: column;
  }

  .tour-detail-hero { padding: 30px 0; }
  .tour-detail-grid { gap: 24px; }
  .tour-detail-media img,
  .tour-image-fallback { min-height: 300px; }
  .tour-detail-main h1 { font-size: clamp(2rem, 10vw, 3.3rem); }

  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer-bottom { display: grid; }
  .site-footer { padding-top: 42px; border-radius: 28px 28px 0 0; }

  .cookie-banner {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 16px);
    margin: 8px auto 0;
    padding: 9px 10px;
    border-radius: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }
  .cookie-banner p {
    display: none;
  }
  .cookie-actions {
    display: flex;
  }
  .cookie-actions .btn {
    min-height: 40px;
    padding-inline: 12px;
    font-size: .67rem;
  }
  .cookie-actions .btn-ghost { display: none; }

  .modal { padding: 8px; }
  .modal-card {
    max-height: calc(100dvh - 16px);
    padding: 23px 18px;
    border-radius: 24px;
  }
  .modal-close { top: 11px; right: 11px; }
}

@media (max-width: 390px) {
  .brand-logo { width: 48px; height: 48px; }
  .brand-text strong { max-width: 205px; font-size: .88rem; }
  .brand-text small { font-size: .5rem; }
  .menu-btn { width: 43px; height: 43px; }
  .hero-slider-media { height: 250px; }
  .hero-story { top: 69px; }
  .hero-story h1 { font-size: 1.72rem; }
  .home-tourvisor-search .tourvisor-bridge-frame,
  .home-tourvisor-search.is-expanded .tourvisor-bridge-frame { height: 425px; }
  .home-tourvisor-search.is-expanded .tourvisor-bridge-frame {
    height: 700px;
    min-height: 700px;
  }
  .results-topbar { gap: 8px; }
  .results-help-btn { max-width: 110px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  body.is-ready .reveal {
    opacity: 1;
    transform: none;
  }
}

/* === v156: restore original homepage hero/search block after Codex audit === */
body[data-page="index.php"] .home-hero-slider{
  padding:18px 0 14px;
  background:linear-gradient(180deg,rgba(234,251,235,.82),rgba(255,255,255,.18) 72%);
  overflow:visible;
}
body[data-page="index.php"] .home-hero-container{
  width:min(1360px,calc(100% - 30px));
}
body[data-page="index.php"] .destination-rail{
  margin:0 auto 14px;
  padding:9px 10px;
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  border:1px solid rgba(255,255,255,.58);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(13,172,157,.97),rgba(24,190,172,.93));
  box-shadow:0 18px 46px rgba(15,23,42,.09),inset 0 1px 0 rgba(255,255,255,.28);
  scrollbar-width:none;
}
body[data-page="index.php"] .destination-rail::-webkit-scrollbar{display:none;}
body[data-page="index.php"] .destination-chip{
  flex:0 0 auto;
  min-width:max-content;
  min-height:35px;
  padding:0 14px;
  border:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#fff;
  background:rgba(255,255,255,.13);
  font-family:inherit;
  font-size:.86rem;
  font-weight:900;
  letter-spacing:-.01em;
  text-decoration:none;
  box-shadow:none;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
body[data-page="index.php"] .destination-chip span{
  width:auto;
  height:auto;
  display:inline;
  color:inherit;
  background:transparent;
  font-size:.98rem;
  line-height:1;
}
body[data-page="index.php"] .destination-chip:hover,
body[data-page="index.php"] .destination-chip.is-active{
  color:#fff;
  background:rgba(255,255,255,.25);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);
  transform:translateY(-1px);
}
body[data-page="index.php"] .destination-chip-link{
  margin-left:auto;
  background:rgba(255,255,255,.18);
}
body[data-page="index.php"] .hero-slider-card{
  position:relative;
  min-height:clamp(500px,50vw,660px);
  overflow:hidden;
  isolation:isolate;
  border-radius:34px;
  background:#0fb6aa;
  box-shadow:0 30px 90px rgba(21,34,51,.16),0 1px 0 rgba(255,255,255,.9) inset;
}
body[data-page="index.php"] .hero-slider-card::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(6,45,47,.13) 0%,rgba(6,45,47,.01) 30%,rgba(6,45,47,.08) 100%);
}
body[data-page="index.php"] .hero-slider-media,
body[data-page="index.php"] .hero-slide-links{
  position:absolute;
  inset:0;
}
body[data-page="index.php"] .hero-slider-media{z-index:1;}
body[data-page="index.php"] .hero-slide-links{z-index:3;pointer-events:none;}
body[data-page="index.php"] .hero-slide-link{position:absolute;inset:0;opacity:0;pointer-events:none;}
body[data-page="index.php"] .hero-slide-link.is-active{pointer-events:auto;}
body[data-page="index.php"] .hero-slide-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:scale(1.018);
  filter:saturate(1.04) contrast(1.02);
  transition:opacity .78s ease,transform 5.4s ease;
}
body[data-page="index.php"] .hero-slide-img.is-active{
  opacity:1;
  transform:scale(1);
}
body[data-page="index.php"] .home-search-overlay{
  position:relative;
  z-index:6;
  right:auto;
  bottom:auto;
  left:auto;
  width:min(1180px,calc(100% - 52px));
  margin:28px auto 0;
  padding:9px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,.18));
  box-shadow:0 22px 64px rgba(7,37,44,.20),inset 0 1px 0 rgba(255,255,255,.55);
  backdrop-filter:blur(18px) saturate(1.25);
  -webkit-backdrop-filter:blur(18px) saturate(1.25);
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell{
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget{
  border:0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  overflow:hidden;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
  height:96px;
  min-height:96px;
  border-radius:16px;
}
body[data-page="index.php"] .home-tourvisor-search.is-expanded{
  z-index:20;
  background:rgba(255,255,255,.94);
  box-shadow:0 30px 82px rgba(2,34,42,.30),inset 0 1px 0 rgba(255,255,255,.68);
}
body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
  height:430px;
  min-height:430px;
}
body[data-page="index.php"] .hero-slider-dots{
  position:absolute;
  z-index:7;
  right:26px;
  bottom:22px;
  top:auto;
  display:flex;
  gap:8px;
  padding:9px 11px;
  border-radius:999px;
  background:rgba(12,38,40,.18);
  box-shadow:none;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
body[data-page="index.php"] .hero-slider-dots button{
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.66);
  transition:width .18s ease,background .18s ease,transform .18s ease;
}
body[data-page="index.php"] .hero-slider-dots button.is-active{
  width:27px;
  background:#fff;
  box-shadow:0 0 0 3px rgba(94,219,92,.18);
}
body[data-page="index.php"] .mobile-destination-panel{display:none;}

@media (max-width:820px){
  body[data-page="index.php"] .home-hero-slider{padding-top:12px;}
  body[data-page="index.php"] .home-hero-container{width:min(100% - 22px,1360px);}
  body[data-page="index.php"] .destination-chip{min-height:33px;padding:0 12px;font-size:.8rem;}
  body[data-page="index.php"] .destination-chip-link{margin-left:0;}
  body[data-page="index.php"] .hero-slider-card{min-height:590px;border-radius:28px;}
  body[data-page="index.php"] .home-search-overlay{width:calc(100% - 28px);margin-top:18px;border-radius:19px;}
}

@media (max-width:640px){
  body[data-page="index.php"] .home-hero-slider{
    padding:10px 0 20px;
    background:linear-gradient(180deg,#367f8f 0%,#2d7583 48%,#ffffff 48%,#ffffff 100%);
    overflow:hidden;
  }
  body[data-page="index.php"] .home-hero-container{
    width:100%;
    max-width:100%;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  body[data-page="index.php"] .destination-rail{display:none;}
  body[data-page="index.php"] .hero-slider-card{
    order:1;
    display:flex;
    flex-direction:column;
    min-height:0;
    height:auto;
    margin:0;
    padding:0 8px 18px;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
    isolation:auto;
  }
  body[data-page="index.php"] .hero-slider-card::after,
  body[data-page="index.php"] .hero-slide-links{display:none;}
  body[data-page="index.php"] .home-search-overlay{
    order:1;
    position:relative;
    width:100%;
    margin:0 auto 10px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    transform:none;
    overflow:visible;
    z-index:10;
  }
  body[data-page="index.php"] .home-tourvisor-search:hover,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded{
    transform:none;
    background:transparent;
    box-shadow:none;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search .tv-search-compact{
    background:transparent;
    border:0;
    box-shadow:none;
    overflow:visible;
    padding:0;
    margin:0;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget{
    width:100%;
    height:auto;
    min-height:0;
    border-radius:24px;
    background:rgba(255,255,255,.97);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.9);
    box-shadow:0 18px 42px rgba(2,34,42,.24),inset 0 1px 0 rgba(255,255,255,.9);
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    width:100%;
    height:430px;
    min-height:430px;
    max-width:100%;
    border:0;
    border-radius:24px;
    display:block;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
    height:720px;
    min-height:720px;
  }
  body[data-page="index.php"] .mobile-destination-panel{
    order:2;
    width:calc(100% - 16px);
    margin:0 auto 2px;
    padding:18px 18px 14px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 16px;
    border:0;
    border-radius:28px;
    background:#145e6a;
    box-shadow:0 18px 38px rgba(1,36,46,.22),inset 0 1px 0 rgba(255,255,255,.1);
  }
  body[data-page="index.php"] .mobile-destination-item{
    min-width:0;
    min-height:28px;
    padding:0;
    border:0;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    color:#fff;
    background:transparent;
    font-size:1.05rem;
    line-height:1.15;
    font-weight:780;
    text-decoration:none;
    box-shadow:none;
  }
  body[data-page="index.php"] .mobile-destination-item span{
    width:22px;
    height:22px;
    flex:0 0 auto;
    display:inline-grid;
    place-items:center;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    font-size:.86rem;
  }
  body[data-page="index.php"] .mobile-destination-more{
    grid-column:1/-1;
    justify-content:center;
    margin:2px 0 0;
    min-height:34px;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.16);
    font-size:.95rem;
  }
  body[data-page="index.php"] .hero-slider-media{
    order:3;
    position:relative;
    inset:auto;
    z-index:1;
    width:calc(100% - 32px);
    height:258px;
    min-height:258px;
    margin:22px auto 38px;
    border-radius:28px;
    background:#fff;
    box-shadow:0 18px 38px rgba(15,23,42,.14);
    overflow:hidden;
  }
  body[data-page="index.php"] .hero-slider-media::after{display:none;}
  body[data-page="index.php"] .hero-slide-img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    border-radius:28px;
  }
  body[data-page="index.php"] .hero-slider-dots{
    position:absolute;
    left:50%;
    right:auto;
    bottom:14px;
    top:auto;
    transform:translateX(-50%);
    z-index:8;
    padding:8px 10px;
    background:rgba(255,255,255,.82);
    box-shadow:0 8px 22px rgba(15,23,42,.12);
  }
  body[data-page="index.php"] .hero-slider-dots button{background:rgba(15,23,42,.16);}
  body[data-page="index.php"] .hero-slider-dots button.is-active{background:#19c8c0;box-shadow:none;}
  body[data-page="index.php"] .operator-strip{display:none;}
}

@media (max-width:390px){
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{height:760px;min-height:760px;}
  body[data-page="index.php"] .mobile-destination-panel{padding:16px 14px 12px;gap:13px 12px;}
  body[data-page="index.php"] .mobile-destination-item{font-size:.98rem;}
  body[data-page="index.php"] .hero-slider-media{height:235px;min-height:235px;width:calc(100% - 24px);}
}

/* === v157: advanced glass search widget overlay — no white gap, fast smart collapse === */
body[data-page="index.php"] .home-search-overlay{
  width:min(1180px,calc(100% - 52px));
  margin:28px auto 0;
  padding:8px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.13));
  box-shadow:0 24px 62px rgba(5,38,45,.21),inset 0 1px 0 rgba(255,255,255,.58);
  backdrop-filter:blur(22px) saturate(1.28);
  -webkit-backdrop-filter:blur(22px) saturate(1.28);
  overflow:visible;
}
body[data-page="index.php"] .home-tourvisor-search,
body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
body[data-page="index.php"] .home-tourvisor-search .tv-search-compact{
  overflow:visible;
  background:transparent!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget{
  border:1px solid rgba(255,255,255,.72);
  border-radius:18px;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 8px 24px rgba(15,23,42,.07);
  overflow:hidden;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
  height:86px;
  min-height:86px;
  display:block;
  border-radius:18px;
  background:transparent!important;
  overflow:hidden;
  scrollbar-width:none;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame::-webkit-scrollbar{display:none;}
body[data-page="index.php"] .home-tourvisor-search.is-expanded{
  z-index:25;
  background:linear-gradient(135deg,rgba(255,255,255,.40),rgba(255,255,255,.18));
  box-shadow:0 30px 78px rgba(2,34,42,.28),inset 0 1px 0 rgba(255,255,255,.72);
}
body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget{
  background:rgba(255,255,255,.22);
}
body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
  height:430px;
  min-height:430px;
}

@media (min-width:821px){
  body[data-page="index.php"] .hero-slider-card{
    min-height:clamp(500px,49vw,650px);
  }
}

@media (max-width:820px){
  body[data-page="index.php"] .home-search-overlay{
    width:calc(100% - 28px);
    margin-top:18px;
    padding:7px;
    border-radius:22px;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    height:96px;
    min-height:96px;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
    height:520px;
    min-height:520px;
  }
}

@media (max-width:640px){
  body[data-page="index.php"] .home-search-overlay{
    width:calc(100% - 16px);
    margin:0 auto 10px;
    padding:7px;
    border:1px solid rgba(255,255,255,.56);
    border-radius:27px;
    background:linear-gradient(135deg,rgba(255,255,255,.30),rgba(255,255,255,.12));
    box-shadow:0 18px 42px rgba(2,34,42,.22),inset 0 1px 0 rgba(255,255,255,.55);
    backdrop-filter:blur(18px) saturate(1.2);
    -webkit-backdrop-filter:blur(18px) saturate(1.2);
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget{
    border-radius:24px;
    background:rgba(255,255,255,.24);
    border:1px solid rgba(255,255,255,.68);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 16px 36px rgba(2,34,42,.22);
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    height:430px;
    min-height:430px;
    border-radius:24px;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
    height:660px;
    min-height:660px;
  }
}

@media (max-width:390px){
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
    height:650px;
    min-height:650px;
  }
}

/* === v158: restore the proven v154 hero/search behavior, keep Codex typography === */
body[data-page="index.php"] .home-hero-slider{
  padding:18px 0 18px!important;
  background:linear-gradient(180deg,rgba(234,251,235,.82),rgba(255,255,255,.18) 72%)!important;
  overflow:visible!important;
}
body[data-page="index.php"] .home-hero-container{
  width:min(1360px,calc(100% - 30px))!important;
}
body[data-page="index.php"] .destination-rail{
  margin:0 auto 14px!important;
  padding:9px 10px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  overflow-x:auto!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(13,172,157,.97),rgba(24,190,172,.93))!important;
  box-shadow:0 18px 46px rgba(15,23,42,.09),inset 0 1px 0 rgba(255,255,255,.28)!important;
  scrollbar-width:none!important;
}
body[data-page="index.php"] .destination-rail::-webkit-scrollbar{display:none!important;}
body[data-page="index.php"] .destination-chip{
  flex:0 0 auto!important;
  min-width:max-content!important;
  min-height:35px!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#fff!important;
  background:rgba(255,255,255,.13)!important;
  font-family:inherit!important;
  font-size:.86rem!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}
body[data-page="index.php"] .destination-chip span{
  width:auto!important;height:auto!important;display:inline!important;color:inherit!important;background:transparent!important;font-size:.98rem!important;line-height:1!important;
}
body[data-page="index.php"] .destination-chip:hover,
body[data-page="index.php"] .destination-chip.is-active{
  color:#fff!important;
  background:rgba(255,255,255,.25)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)!important;
  transform:translateY(-1px)!important;
}
body[data-page="index.php"] .destination-chip-link{margin-left:auto!important;background:rgba(255,255,255,.18)!important;}
body[data-page="index.php"] .hero-slider-card{
  position:relative!important;
  min-height:clamp(500px,50vw,660px)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border-radius:34px!important;
  background:#0fb6aa!important;
  box-shadow:0 30px 90px rgba(21,34,51,.16),0 1px 0 rgba(255,255,255,.9) inset!important;
}
body[data-page="index.php"] .hero-slider-card::after{
  content:""!important;
  position:absolute!important;
  z-index:2!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(6,45,47,.13) 0%,rgba(6,45,47,.01) 30%,rgba(6,45,47,.08) 100%)!important;
}
body[data-page="index.php"] .hero-slider-media,
body[data-page="index.php"] .hero-slide-links{position:absolute!important;inset:0!important;}
body[data-page="index.php"] .hero-slider-media{z-index:1!important;}
body[data-page="index.php"] .hero-slide-links{z-index:3!important;pointer-events:none!important;}
body[data-page="index.php"] .hero-slide-link{position:absolute!important;inset:0!important;opacity:0!important;pointer-events:none!important;}
body[data-page="index.php"] .hero-slide-link.is-active{pointer-events:auto!important;}
body[data-page="index.php"] .hero-slide-img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;opacity:0!important;transform:scale(1.018)!important;filter:saturate(1.04) contrast(1.02)!important;transition:opacity .78s ease,transform 5.4s ease!important;
}
body[data-page="index.php"] .hero-slide-img.is-active{opacity:1!important;transform:scale(1)!important;}
body[data-page="index.php"] .home-search-overlay{
  position:relative!important;
  z-index:30!important;
  right:auto!important;bottom:auto!important;left:auto!important;
}
body[data-page="index.php"] .hero-slider-dots{
  position:absolute!important;z-index:7!important;right:26px!important;bottom:22px!important;top:auto!important;display:flex!important;gap:8px!important;padding:9px 11px!important;border-radius:999px!important;background:rgba(12,38,40,.18)!important;box-shadow:none!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
}
body[data-page="index.php"] .hero-slider-dots button{width:10px!important;height:10px!important;padding:0!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.66)!important;transition:width .18s ease,background .18s ease,transform .18s ease!important;}
body[data-page="index.php"] .hero-slider-dots button.is-active{width:27px!important;background:#fff!important;box-shadow:0 0 0 3px rgba(94,219,92,.18)!important;}

@media (min-width:641px){
  body[data-page="index.php"] .home-tourvisor-search{
    --tv-home-collapsed:78px!important;
    --tv-home-expanded:500px!important;
    width:min(1120px,calc(100% - 28px))!important;
    margin:26px auto 24px!important;
    padding:6px!important;
    border-radius:26px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.50),rgba(255,255,255,.22))!important;
    border:1px solid rgba(255,255,255,.72)!important;
    box-shadow:0 18px 54px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.62)!important;
    -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
    backdrop-filter:blur(18px) saturate(150%)!important;
    overflow:visible!important;
    transform:none!important;
    transition:box-shadow .18s ease,background .18s ease,transform .18s ease!important;
  }
  body[data-page="index.php"] .home-tourvisor-search:hover{
    transform:none!important;
    background:linear-gradient(135deg,rgba(255,255,255,.50),rgba(255,255,255,.22))!important;
    box-shadow:0 18px 54px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.62)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded{
    background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(255,255,255,.34))!important;
    box-shadow:0 26px 76px rgba(15,23,42,.24),inset 0 1px 0 rgba(255,255,255,.72)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search .tv-search-compact{
    margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-compact-title,
  body[data-page="index.php"] .home-tourvisor-note,
  body[data-page="index.php"] .home-tourvisor-hint,
  body[data-page="index.php"] .tv-expand-btn{display:none!important;}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-frame{
    height:var(--tv-home-collapsed)!important;
    min-height:var(--tv-home-collapsed)!important;
    max-height:var(--tv-home-collapsed)!important;
    border-radius:20px!important;
    transition:height .16s ease,max-height .16s ease,min-height .16s ease,box-shadow .18s ease!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card{
    margin:0!important;
    padding:0!important;
    background:rgba(255,255,255,.84)!important;
    border:1px solid rgba(255,255,255,.92)!important;
    overflow:hidden!important;
    box-shadow:0 12px 34px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.9)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    width:100%!important;
    border:0!important;
    display:block!important;
    background:transparent!important;
    overflow:hidden!important;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
    height:var(--tv-home-expanded)!important;
    min-height:var(--tv-home-expanded)!important;
    max-height:var(--tv-home-expanded)!important;
    border-radius:26px!important;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card{
    box-shadow:0 24px 64px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.88)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search::after{display:none!important;content:none!important;}
}

@media (max-width:820px){
  body[data-page="index.php"] .home-hero-slider{padding-top:12px!important;}
  body[data-page="index.php"] .home-hero-container{width:min(100% - 22px,1360px)!important;}
  body[data-page="index.php"] .destination-chip{min-height:33px!important;padding:0 12px!important;font-size:.8rem!important;}
  body[data-page="index.php"] .destination-chip-link{margin-left:0!important;}
  body[data-page="index.php"] .hero-slider-card{min-height:590px!important;border-radius:28px!important;}
  body[data-page="index.php"] .home-search-overlay{width:calc(100% - 28px)!important;margin-top:18px!important;border-radius:19px!important;}
}

@media (max-width:640px){
  body[data-page="index.php"] .home-hero-slider{padding:10px 0 22px!important;background:linear-gradient(180deg,#367f8f 0%,#2d7583 48%,#ffffff 48%,#ffffff 100%)!important;overflow:hidden!important;}
  body[data-page="index.php"] .home-hero-container{width:100%!important;max-width:100%!important;padding:0!important;display:flex!important;flex-direction:column!important;gap:12px!important;}
  body[data-page="index.php"] .destination-rail{display:none!important;}
  body[data-page="index.php"] .hero-slider-card{order:1!important;display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;margin:0!important;padding:0 8px 18px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;isolation:auto!important;}
  body[data-page="index.php"] .hero-slider-card::after,
  body[data-page="index.php"] .hero-slide-links{display:none!important;}
  body[data-page="index.php"] .home-tourvisor-search{order:1!important;width:100%!important;margin:0 auto 10px!important;transform:none!important;padding:0!important;border:0!important;border-radius:24px!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow:visible!important;z-index:10!important;}
  body[data-page="index.php"] .home-tourvisor-search:hover,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded{transform:none!important;background:transparent!important;box-shadow:none!important;}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search .tv-search-compact{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;padding:0!important;margin:0!important;}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card{
    width:100%!important;height:720px!important;min-height:720px!important;border-radius:24px!important;background:rgba(255,255,255,.96)!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.9)!important;box-shadow:0 18px 42px rgba(2,34,42,.24),inset 0 1px 0 rgba(255,255,255,.9)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{width:100%!important;height:720px!important;min-height:720px!important;max-height:720px!important;max-width:100%!important;border:0!important;border-radius:24px!important;display:block!important;}
  body[data-page="index.php"] .mobile-destination-panel{display:grid!important;order:2!important;width:calc(100% - 16px)!important;margin:0 auto 2px!important;padding:18px 18px 14px!important;grid-template-columns:1fr 1fr!important;gap:14px 16px!important;border-radius:28px!important;background:#145e6a!important;box-shadow:0 18px 38px rgba(1,36,46,.22),inset 0 1px 0 rgba(255,255,255,.1)!important;border:0!important;overflow:visible!important;}
  body[data-page="index.php"] .mobile-destination-item{width:100%!important;justify-content:flex-start!important;min-height:28px!important;padding:0!important;gap:10px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;font-size:1.03rem!important;line-height:1.15!important;font-weight:750!important;}
  body[data-page="index.php"] .mobile-destination-item span{width:22px!important;height:22px!important;display:inline-grid!important;place-items:center!important;font-size:.85rem!important;border-radius:999px!important;background:rgba(255,255,255,.16)!important;}
  body[data-page="index.php"] .mobile-destination-more{grid-column:1/-1!important;justify-content:center!important;margin:2px 0 0!important;font-size:.95rem!important;min-height:34px!important;border-top:1px solid rgba(255,255,255,.16)!important;padding-top:12px!important;}
  body[data-page="index.php"] .hero-slider-media{order:3!important;position:relative!important;inset:auto!important;z-index:1!important;width:calc(100% - 32px)!important;height:258px!important;min-height:258px!important;margin:22px auto 38px!important;border-radius:28px!important;background:#fff!important;box-shadow:0 18px 38px rgba(15,23,42,.14)!important;overflow:hidden!important;}
  body[data-page="index.php"] .hero-slide-img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:28px!important;}
  body[data-page="index.php"] .hero-slider-dots{order:4!important;position:absolute!important;left:50%!important;right:auto!important;bottom:14px!important;transform:translateX(-50%)!important;z-index:8!important;background:rgba(255,255,255,.82)!important;box-shadow:0 8px 22px rgba(15,23,42,.12)!important;padding:8px 10px!important;}
  body[data-page="index.php"] .hero-slider-dots button{background:rgba(15,23,42,.16)!important;}
  body[data-page="index.php"] .hero-slider-dots button.is-active{background:#19c8c0!important;box-shadow:none!important;}
}
@media(max-width:390px){
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{height:760px!important;min-height:760px!important;max-height:760px!important;}
  body[data-page="index.php"] .mobile-destination-panel{grid-template-columns:1fr 1fr!important;padding:16px 14px 12px!important;gap:13px 12px!important;}
  body[data-page="index.php"] .mobile-destination-item{font-size:1rem!important;}
  body[data-page="index.php"] .hero-slider-media{height:235px!important;min-height:235px!important;width:calc(100% - 24px)!important;}
}

/* === v159: true short homepage search widget row, old smart hero behavior, no lower gap === */
@media (min-width:641px){
  body[data-page="index.php"] .home-tourvisor-search{
    --tv-home-collapsed:78px!important;
    --tv-home-expanded:500px!important;
    width:min(1120px,calc(100% - 28px))!important;
    margin:24px auto 22px!important;
    padding:3px!important;
    line-height:0!important;
    border-radius:25px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.46),rgba(255,255,255,.20))!important;
    border:1px solid rgba(255,255,255,.76)!important;
    box-shadow:0 18px 54px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.64)!important;
    -webkit-backdrop-filter:blur(18px) saturate(155%)!important;
    backdrop-filter:blur(18px) saturate(155%)!important;
    overflow:visible!important;
    transform:none!important;
  }
  body[data-page="index.php"] .home-tourvisor-search:hover{
    transform:none!important;
    background:linear-gradient(135deg,rgba(255,255,255,.46),rgba(255,255,255,.20))!important;
    box-shadow:0 18px 54px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.64)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded{
    background:linear-gradient(135deg,rgba(255,255,255,.64),rgba(255,255,255,.32))!important;
    box-shadow:0 26px 76px rgba(15,23,42,.24),inset 0 1px 0 rgba(255,255,255,.72)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search .tv-search-compact{
    margin:0!important;
    padding:0!important;
    height:var(--tv-home-collapsed)!important;
    min-height:var(--tv-home-collapsed)!important;
    max-height:var(--tv-home-collapsed)!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    line-height:0!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-compact-title,
  body[data-page="index.php"] .home-tourvisor-note,
  body[data-page="index.php"] .home-tourvisor-hint,
  body[data-page="index.php"] .tv-expand-btn{display:none!important;}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-frame{
    width:100%!important;
    height:var(--tv-home-collapsed)!important;
    min-height:var(--tv-home-collapsed)!important;
    max-height:var(--tv-home-collapsed)!important;
    margin:0!important;
    padding:0!important;
    border-radius:21px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:hidden!important;
    display:block!important;
    line-height:0!important;
    transition:height .14s ease,max-height .14s ease,min-height .14s ease,box-shadow .16s ease!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    border:0!important;
    outline:0!important;
    scrollbar-width:none!important;
    clip-path:inset(0 0 0 0 round 21px)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame::-webkit-scrollbar{display:none!important;}
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tv-search-compact,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
    height:var(--tv-home-expanded)!important;
    min-height:var(--tv-home-expanded)!important;
    max-height:var(--tv-home-expanded)!important;
    border-radius:25px!important;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card{
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(255,255,255,.86)!important;
    box-shadow:0 22px 62px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.82)!important;
  }
}


/* === v160: final restore of short homepage search widget row + visible Search tab widget === */
@media (min-width:641px){
  body[data-page="index.php"] .home-tourvisor-search{
    --tv-home-collapsed:74px!important;
    --tv-home-expanded:500px!important;
    width:min(1120px,calc(100% - 28px))!important;
    height:auto!important;
    min-height:0!important;
    margin:22px auto 22px!important;
    padding:4px!important;
    line-height:0!important;
    border-radius:24px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.46),rgba(255,255,255,.20))!important;
    border:1px solid rgba(255,255,255,.76)!important;
    box-shadow:0 18px 54px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.64)!important;
    -webkit-backdrop-filter:blur(18px) saturate(155%)!important;
    backdrop-filter:blur(18px) saturate(155%)!important;
    overflow:visible!important;
    transform:none!important;
  }
  body[data-page="index.php"] .home-tourvisor-search:hover{
    transform:none!important;
    background:linear-gradient(135deg,rgba(255,255,255,.46),rgba(255,255,255,.20))!important;
    box-shadow:0 18px 54px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.64)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search .tv-search-compact,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tv-search-compact,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-frame{
    width:100%!important;
    height:var(--tv-home-collapsed)!important;
    min-height:var(--tv-home-collapsed)!important;
    max-height:var(--tv-home-collapsed)!important;
    margin:0!important;
    padding:0!important;
    border-radius:20px!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    display:block!important;
    line-height:0!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card{
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(255,255,255,.84)!important;
    box-shadow:0 12px 34px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.82)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    border:0!important;
    outline:0!important;
    scrollbar-width:none!important;
    background:transparent!important;
    clip-path:inset(0 0 0 0 round 20px)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tv-search-compact,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
    height:var(--tv-home-expanded)!important;
    min-height:var(--tv-home-expanded)!important;
    max-height:var(--tv-home-expanded)!important;
    border-radius:25px!important;
  }
}

.result-widget-shell,
.result-widget-shell .tourvisor-shell,
.result-widget-shell .tv-search-extended,
.result-widget-shell .tourvisor-widget,
.result-widget-shell .tourvisor-widget-clean,
.result-widget-shell .tourvisor-bridge-card{
  display:block!important;
  width:100%!important;
  min-height:720px!important;
  overflow:visible!important;
}
.result-widget-shell .tourvisor-bridge-frame{
  display:block!important;
  width:100%!important;
  min-height:920px!important;
  height:920px!important;
  border:0!important;
  border-radius:20px!important;
  background:#fff!important;
}


/* === v161: EXACT restored hero/search/search widget layer from v154 === */
/* === v121: rotating destination hero + custom Apple-glass search === */
body[data-page="index.php"] .home-hero-slider{
  padding:26px 0 18px!important;
  position:relative;
  overflow:visible;
}
body[data-page="index.php"] .home-hero-container{
  width:min(1360px,calc(100% - 30px))!important;
}
body[data-page="index.php"] .destination-rail{
  display:flex;
  align-items:center;
  gap:9px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:11px 12px;
  margin:0 auto 16px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(11,174,165,.96),rgba(18,184,172,.92));
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 18px 46px rgba(15,23,42,.09),inset 0 1px 0 rgba(255,255,255,.22);
}
body[data-page="index.php"] .destination-rail::-webkit-scrollbar{display:none}
body[data-page="index.php"] .destination-chip{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 13px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-weight:950;
  font-size:.88rem;
  text-decoration:none;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
  -webkit-tap-highlight-color:transparent;
}
body[data-page="index.php"] .destination-chip:hover,
body[data-page="index.php"] .destination-chip.is-active{
  background:rgba(255,255,255,.24);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
  transform:translateY(-1px);
}
body[data-page="index.php"] .destination-chip:active{transform:scale(.96)}
body[data-page="index.php"] .destination-chip span{font-size:.95rem;line-height:1}
body[data-page="index.php"] .destination-chip-link{margin-left:auto;background:rgba(255,255,255,.18)}
body[data-page="index.php"] .hero-slider-card{
  position:relative;
  min-height:clamp(520px,52vw,690px);
  border-radius:36px;
  overflow:hidden;
  background:#0fb6aa;
  box-shadow:0 30px 90px rgba(21,34,51,.16),0 1px 0 rgba(255,255,255,.9) inset;
  isolation:isolate;
}
body[data-page="index.php"] .hero-slider-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(6,45,47,.14) 0%,rgba(6,45,47,.01) 26%,rgba(6,45,47,.06) 100%);
}
body[data-page="index.php"] .hero-slider-media{position:absolute;inset:0;z-index:1}
body[data-page="index.php"] .hero-slide-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.018);
  transition:opacity .8s ease,transform 5.4s ease;
  filter:saturate(1.02) contrast(1.01);
}
body[data-page="index.php"] .hero-slide-img.is-active{opacity:1;transform:scale(1)}
body[data-page="index.php"] .home-search-overlay{
  position:relative;
  z-index:4;
  width:min(1180px,calc(100% - 54px));
  margin:32px auto 0;
  padding:10px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.32),rgba(255,255,255,.16));
  border:1px solid rgba(255,255,255,.58);
  backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  box-shadow:0 24px 74px rgba(7,37,44,.24),inset 0 1px 0 rgba(255,255,255,.52);
}
body[data-page="index.php"] .home-search-tabs{
  display:flex;
  gap:7px;
  margin:0 0 8px;
  padding-left:2px;
}
body[data-page="index.php"] .home-search-tabs button{
  border:0;
  min-height:34px;
  padding:0 18px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#244346;
  font-weight:1000;
  font-size:.88rem;
  box-shadow:0 8px 22px rgba(15,23,42,.08);
  transition:transform .16s ease,background .16s ease,color .16s ease;
}
body[data-page="index.php"] .home-search-tabs button.is-active{
  background:linear-gradient(135deg,var(--green),#88ee80);
  color:#0B2528;
}
body[data-page="index.php"] .home-search-tabs button:hover{transform:translateY(-1px)}
body[data-page="index.php"] .home-search-tabs button:active{transform:scale(.96)}
body[data-page="index.php"] .home-smart-search{
  display:grid;
  grid-template-columns:1.55fr 1.05fr .9fr .9fr .74fr .86fr .82fr .88fr 150px;
  gap:8px;
  align-items:stretch;
}
body[data-page="index.php"] .search-field{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:66px;
  gap:3px;
  padding:9px 12px 8px;
  border-radius:14px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.74);
  box-shadow:0 8px 22px rgba(15,23,42,.06);
  overflow:hidden;
}
body[data-page="index.php"] .search-field span{
  color:#6b7780;
  font-size:.68rem;
  line-height:1;
  font-weight:950;
}
body[data-page="index.php"] .search-field select,
body[data-page="index.php"] .search-field input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#102326;
  font-weight:1000;
  font-size:.88rem;
  padding:0;
}
body[data-page="index.php"] .home-search-submit{
  min-height:66px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,#ffb423,var(--orange));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:1000;
  font-size:1rem;
  box-shadow:0 14px 34px rgba(252,124,3,.28),inset 0 1px 0 rgba(255,255,255,.24);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
body[data-page="index.php"] .home-search-submit svg{width:20px;height:20px}
body[data-page="index.php"] .home-search-submit:hover{transform:translateY(-2px);box-shadow:0 20px 46px rgba(252,124,3,.32)}
body[data-page="index.php"] .home-search-submit:active{transform:scale(.96)}
body[data-page="index.php"] .hero-slider-dots{
  position:absolute;
  right:26px;
  bottom:22px;
  z-index:5;
  display:flex;
  gap:8px;
  padding:9px 11px;
  border-radius:999px;
  background:rgba(12,38,40,.18);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
body[data-page="index.php"] .hero-slider-dots button{
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.66);
  transition:width .18s ease,background .18s ease,transform .18s ease;
}
body[data-page="index.php"] .hero-slider-dots button.is-active{width:27px;background:#fff;box-shadow:0 0 0 3px rgba(94,219,92,.18)}
body[data-page="index.php"] .operator-strip{padding:14px 0 10px!important}

@media(max-width:1220px){
  body[data-page="index.php"] .home-smart-search{grid-template-columns:repeat(4,1fr) 150px}
  body[data-page="index.php"] .search-field-wide{grid-column:span 2}
  body[data-page="index.php"] .search-field-toggle{display:none}
}
@media(max-width:820px){
  body[data-page="index.php"] .home-hero-slider{padding-top:14px!important}
  body[data-page="index.php"] .home-hero-container{width:min(100% - 18px,1360px)!important}
  body[data-page="index.php"] .destination-rail{margin-bottom:10px;border-radius:22px;justify-content:flex-start;padding:8px}
  body[data-page="index.php"] .destination-chip{min-height:32px;padding:0 11px;font-size:.82rem}
  body[data-page="index.php"] .destination-chip-link{margin-left:0}
  body[data-page="index.php"] .hero-slider-card{min-height:660px;border-radius:28px}
  body[data-page="index.php"] .hero-slide-img{object-position:center bottom}
  body[data-page="index.php"] .home-search-overlay{width:calc(100% - 18px);margin:12px auto 0;padding:8px;border-radius:22px}
  body[data-page="index.php"] .home-smart-search{grid-template-columns:1fr 1fr;gap:7px}
  body[data-page="index.php"] .search-field{min-height:58px;border-radius:14px;padding:8px 10px}
  body[data-page="index.php"] .search-field-wide{grid-column:span 2}
  body[data-page="index.php"] .home-search-submit{grid-column:span 2;min-height:58px;border-radius:16px}
  body[data-page="index.php"] .hero-slider-dots{right:14px;bottom:12px;gap:6px}
}
@media(max-width:520px){
  body[data-page="index.php"] .hero-slider-card{min-height:620px;border-radius:24px}
  body[data-page="index.php"] .home-search-tabs button{min-height:31px;padding:0 14px;font-size:.8rem}
  body[data-page="index.php"] .home-smart-search{grid-template-columns:1fr 1fr}
  body[data-page="index.php"] .search-field:nth-of-type(3),
  body[data-page="index.php"] .search-field:nth-of-type(4){display:none}
  body[data-page="index.php"] .search-field span{font-size:.62rem}
  body[data-page="index.php"] .search-field select,
  body[data-page="index.php"] .search-field input{font-size:.82rem}
}
body[data-page="index.php"] .hero-slide-links{position:absolute;inset:0;z-index:3;pointer-events:none}
body[data-page="index.php"] .hero-slide-link{position:absolute;inset:0;opacity:0;pointer-events:none}
body[data-page="index.php"] .hero-slide-link.is-active{pointer-events:auto}
body[data-page="index.php"] .home-search-overlay,
body[data-page="index.php"] .hero-slider-dots{pointer-events:auto}
body[data-page="index.php"] .hero-slide-links{position:absolute;inset:0;z-index:3;pointer-events:none}
body[data-page="index.php"] .hero-slide-link{position:absolute;inset:0;opacity:0;pointer-events:none}
body[data-page="index.php"] .hero-slide-link.is-active{pointer-events:auto}
body[data-page="index.php"] .home-search-overlay,
body[data-page="index.php"] .hero-slider-dots{pointer-events:auto}

/* === v122: real two-row homepage search === */
body[data-page="index.php"] .home-search-overlay{
  width:min(1180px,calc(100% - 52px))!important;
  margin:28px auto 0!important;
  padding:10px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.32),rgba(255,255,255,.15))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:0 22px 64px rgba(7,37,44,.20), inset 0 1px 0 rgba(255,255,255,.55)!important;
}
body[data-page="index.php"] .home-smart-search{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
}
body[data-page="index.php"] .search-row{
  display:grid;
  gap:8px;
  align-items:stretch;
}
body[data-page="index.php"] .search-row-main{
  grid-template-columns:1.55fr 1.28fr .88fr 1.08fr 150px;
}
body[data-page="index.php"] .search-row-extra{
  grid-template-columns:132px 260px .82fr .98fr .82fr 1.05fr;
}
body[data-page="index.php"] .search-field{
  min-height:48px!important;
  padding:7px 11px 6px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(255,255,255,.76)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.055)!important;
}
body[data-page="index.php"] .search-field span:first-child{
  font-size:.62rem!important;
  color:#60707a!important;
  font-weight:1000!important;
}
body[data-page="index.php"] .search-field select,
body[data-page="index.php"] .search-field input{
  font-size:.82rem!important;
  font-weight:1000!important;
}
body[data-page="index.php"] .date-range-inputs,
body[data-page="index.php"] .tourist-inputs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  align-items:center;
}
body[data-page="index.php"] .date-range-inputs input,
body[data-page="index.php"] .tourist-inputs select{
  min-width:0;
}
body[data-page="index.php"] .search-segment{
  display:flex;
  align-items:center;
  gap:5px;
  min-height:48px;
  padding:5px;
  border-radius:12px;
  background:rgba(255,255,255,.91);
  border:1px solid rgba(255,255,255,.76);
  box-shadow:0 8px 18px rgba(15,23,42,.055);
}
body[data-page="index.php"] .search-segment button{
  flex:1 1 auto;
  min-height:36px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#53636b;
  font-size:.76rem;
  font-weight:1000;
  line-height:1;
  padding:0 8px;
  white-space:nowrap;
  cursor:pointer;
  transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease;
}
body[data-page="index.php"] .search-segment button.is-active{
  background:linear-gradient(135deg,var(--green),#8af082);
  color:#0B2528;
  box-shadow:0 8px 16px rgba(94,219,92,.18);
}
body[data-page="index.php"] .search-segment-muted button.is-active{
  background:linear-gradient(135deg,#d9f4f2,#ffffff);
  color:#234446;
  box-shadow:inset 0 0 0 1px rgba(19,177,170,.18);
}
body[data-page="index.php"] .search-segment button:active{transform:scale(.96)}
body[data-page="index.php"] .home-search-submit{
  min-height:48px!important;
  border-radius:999px!important;
  font-size:.94rem!important;
  box-shadow:0 12px 28px rgba(252,124,3,.24), inset 0 1px 0 rgba(255,255,255,.25)!important;
}
body[data-page="index.php"] .home-search-submit svg{width:18px!important;height:18px!important}
body[data-page="index.php"] .hero-slider-card{
  min-height:clamp(500px,50vw,670px)!important;
}

@media(max-width:1220px){
  body[data-page="index.php"] .search-row-main{grid-template-columns:1.5fr 1.15fr .9fr 1fr 138px}
  body[data-page="index.php"] .search-row-extra{grid-template-columns:130px 1.45fr .8fr .9fr .8fr 1fr}
}
@media(max-width:980px){
  body[data-page="index.php"] .home-search-overlay{width:calc(100% - 22px)!important;margin-top:14px!important;border-radius:18px!important}
  body[data-page="index.php"] .search-row-main,
  body[data-page="index.php"] .search-row-extra{grid-template-columns:1fr 1fr!important}
  body[data-page="index.php"] .search-field-destination,
  body[data-page="index.php"] .search-field-date-range,
  body[data-page="index.php"] .search-segment-muted,
  body[data-page="index.php"] .home-search-submit{grid-column:span 2!important}
  body[data-page="index.php"] .hero-slider-card{min-height:690px!important}
}
@media(max-width:560px){
  body[data-page="index.php"] .home-search-overlay{width:calc(100% - 14px)!important;padding:7px!important}
  body[data-page="index.php"] .search-row{gap:6px!important}
  body[data-page="index.php"] .search-field{min-height:46px!important;padding:6px 9px!important;border-radius:12px!important}
  body[data-page="index.php"] .search-field span:first-child{font-size:.58rem!important}
  body[data-page="index.php"] .search-field select,
  body[data-page="index.php"] .search-field input{font-size:.76rem!important}
  body[data-page="index.php"] .search-row-extra .search-field-mini:nth-of-type(3){display:none!important}
  body[data-page="index.php"] .search-segment{min-height:44px;padding:4px}
  body[data-page="index.php"] .search-segment button{min-height:34px;font-size:.7rem;padding:0 5px}
  body[data-page="index.php"] .home-search-submit{min-height:50px!important;grid-column:span 2!important}
  body[data-page="index.php"] .hero-slider-card{min-height:640px!important;border-radius:22px!important}
}


/* === v123: clean 2-row homepage search + safer search widget result area === */
body[data-page="index.php"] .home-search-overlay{
  width:min(1160px,calc(100% - 44px))!important;
  margin:24px auto 0!important;
  padding:9px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.38),rgba(255,255,255,.16))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  backdrop-filter:blur(18px) saturate(1.28)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.28)!important;
}
body[data-page="index.php"] .home-smart-search{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
body[data-page="index.php"] .search-row{display:grid!important;gap:8px!important;align-items:stretch!important}
body[data-page="index.php"] .search-row-main{grid-template-columns:1.55fr 1.34fr .86fr 1.04fr 144px!important}
body[data-page="index.php"] .search-row-extra{grid-template-columns:126px 248px .78fr 1fr 1.06fr!important}
body[data-page="index.php"] .search-field{min-height:48px!important;padding:7px 11px 6px!important;border-radius:12px!important;background:rgba(255,255,255,.93)!important}
body[data-page="index.php"] .search-field span:first-child{font-size:.61rem!important;letter-spacing:-.01em!important;white-space:nowrap!important}
body[data-page="index.php"] .search-field select,
body[data-page="index.php"] .search-field input{font-size:.81rem!important;font-weight:950!important}
body[data-page="index.php"] .search-segment{min-height:48px!important;padding:5px!important;border-radius:12px!important;background:rgba(255,255,255,.93)!important}
body[data-page="index.php"] .search-segment button{min-height:36px!important;font-size:.72rem!important;padding:0 7px!important}
body[data-page="index.php"] .home-search-submit{min-height:48px!important;border-radius:999px!important;font-size:.93rem!important}
body[data-page="index.php"] .hero-slider-card{min-height:clamp(500px,50vw,660px)!important}
.result-widget-shell-large{position:relative!important;min-height:720px!important;background:#fff!important}
.result-widget-shell-large::before{content:'Загружаем официальный поиск и подставляем выбранные параметры…';position:absolute;left:30px;top:28px;z-index:0;color:#64748b;font-weight:900;font-size:15px}
.result-widget-shell-large .tourvisor-shell{position:relative;z-index:1}
.result-widget-shell-large .tourvisor-bridge-frame{background:#fff!important;min-height:1500px!important;height:1500px!important}
.tourvisor-status[hidden]{display:none!important}
@media(max-width:1220px){
  body[data-page="index.php"] .search-row-main{grid-template-columns:1.35fr 1.1fr .78fr .98fr 132px!important}
  body[data-page="index.php"] .search-row-extra{grid-template-columns:120px 1.45fr .72fr .9fr 1fr!important}
}
@media(max-width:980px){
  body[data-page="index.php"] .home-search-overlay{width:calc(100% - 20px)!important;margin-top:12px!important}
  body[data-page="index.php"] .search-row-main,
  body[data-page="index.php"] .search-row-extra{grid-template-columns:1fr 1fr!important}
  body[data-page="index.php"] .search-field-destination,
  body[data-page="index.php"] .search-field-date-range,
  body[data-page="index.php"] .search-segment-muted,
  body[data-page="index.php"] .home-search-submit{grid-column:span 2!important}
  body[data-page="index.php"] .hero-slider-card{min-height:690px!important}
}
@media(max-width:560px){
  body[data-page="index.php"] .home-search-overlay{width:calc(100% - 12px)!important;padding:7px!important}
  body[data-page="index.php"] .search-row{gap:6px!important}
  body[data-page="index.php"] .search-field{min-height:45px!important;padding:6px 8px!important}
  body[data-page="index.php"] .search-field span:first-child{font-size:.56rem!important}
  body[data-page="index.php"] .search-field select,
  body[data-page="index.php"] .search-field input{font-size:.74rem!important}
  body[data-page="index.php"] .search-segment-muted{display:none!important}
  body[data-page="index.php"] .home-search-submit{min-height:50px!important;grid-column:span 2!important}
  body[data-page="index.php"] .hero-slider-card{min-height:635px!important}
}


/* v123 search widget fallback card */
.tourvisor-status:not([hidden]){
  display:block!important;
  margin:12px 0!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
  color:#334155!important;
  font-weight:850!important;
}
.tourvisor-fallback-actions:not([hidden]){
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:14px 0 4px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#f0fff0,#fff)!important;
  border:1px solid rgba(94,219,92,.25)!important;
  color:#334155!important;
}
.tourvisor-fallback-actions strong{color:#102326!important;font-weight:1000!important}
.tourvisor-fallback-actions span{flex:1 1 360px!important;font-weight:800!important;color:#64748b!important}


/* === v124: stable search widget results frame === */
.result-widget-shell-large{
  min-height:820px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.result-widget-shell-large::before{display:none!important;content:none!important}
.result-widget-shell-large .tourvisor-head{
  display:none!important;
}
.result-widget-shell-large .tourvisor-shell,
.result-widget-shell-large .tourvisor-widget,
.result-widget-shell-large .tourvisor-bridge-card{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.result-widget-shell-large .tourvisor-bridge-frame{
  width:100%!important;
  min-height:1600px!important;
  height:1600px!important;
  border:0!important;
  display:block!important;
  background:#fff!important;
}
.tourvisor-fallback-actions:not([hidden]){
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:16px!important;
  padding:18px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#fff7ed,#f0fff1)!important;
  border:1px solid rgba(94,219,92,.34)!important;
}
@media(max-width:760px){
  .result-widget-shell-large{min-height:900px!important;border-radius:24px!important}
  .result-widget-shell-large .tourvisor-bridge-frame{min-height:1700px!important;height:1700px!important}
}


/* v128: search widget iframe stability */
.tourvisor-bridge-frame{background:#fff;display:block;width:100%;min-height:920px;}
.result-widget-shell .tourvisor-bridge-frame{min-height:1180px;}

/* v134 — compact honest homepage search helper */
body[data-page="index.php"] .home-search-overlay{
  max-width:min(1110px,calc(100% - 30px))!important;
  margin:0 auto 34px!important;
}
body[data-page="index.php"] .home-smart-search{
  padding:13px!important;
  border-radius:27px!important;
  gap:8px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.91),rgba(255,255,255,.76))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 22px 70px rgba(15,23,42,.2)!important;
}
body[data-page="index.php"] .search-transfer-note{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:0!important;
  margin:0 2px 2px!important;
  padding:8px 11px!important;
  border-radius:17px!important;
  background:rgba(94,219,92,.13)!important;
  border:1px solid rgba(94,219,92,.28)!important;
  color:#243447!important;
  font-size:.78rem!important;
  line-height:1.25!important;
  font-weight:760!important;
}
body[data-page="index.php"] .search-transfer-note strong{
  color:#102326!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}
body[data-page="index.php"] .search-field,
body[data-page="index.php"] .search-segment{
  min-height:56px!important;
  border-radius:17px!important;
}
body[data-page="index.php"] .search-field span:first-child{font-size:.66rem!important}
body[data-page="index.php"] .search-field select,
body[data-page="index.php"] .search-field input{font-size:.92rem!important}
body[data-page="index.php"] .home-search-submit{min-height:56px!important;border-radius:18px!important}
body[data-page="search.php"] .search-memory-panel{
  background:linear-gradient(135deg,rgba(94,219,92,.14),rgba(255,255,255,.94),rgba(252,124,3,.08))!important;
  border:1px solid rgba(94,219,92,.34)!important;
}
body[data-page="search.php"] .search-memory-panel p{
  max-width:1020px!important;
  line-height:1.55!important;
}
@media(max-width:980px){
  body[data-page="index.php"] .search-transfer-note{display:block!important;font-size:.74rem!important}
  body[data-page="index.php"] .search-transfer-note strong{display:block!important;margin-bottom:2px!important}
}
@media(max-width:560px){
  body[data-page="index.php"] .home-search-overlay{max-width:calc(100% - 18px)!important;margin-bottom:22px!important}
  body[data-page="index.php"] .home-smart-search{padding:10px!important;border-radius:23px!important}
  body[data-page="index.php"] .search-transfer-note{font-size:.7rem!important;border-radius:14px!important;padding:7px 9px!important}
}

/* v135 — exact copied search widget links layer */
body[data-page="index.php"] .search-transfer-note.is-exact{
  background:linear-gradient(135deg,rgba(94,219,92,.2),rgba(255,255,255,.84))!important;
  border-color:rgba(94,219,92,.45)!important;
  color:#12302d!important;
}
body[data-page="search.php"] .exact-tourvisor-link-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:14px;
  align-items:center;
  margin:0 0 18px;
  padding:18px;
  border-radius:26px;
  background:linear-gradient(135deg,rgba(94,219,92,.18),rgba(255,255,255,.96),rgba(252,124,3,.12));
  border:1px solid rgba(94,219,92,.35);
  box-shadow:0 20px 60px rgba(15,23,42,.08);
}
body[data-page="search.php"] .exact-tourvisor-link-panel h3{
  margin:5px 0 6px;
  font-size:1.25rem;
  line-height:1.12;
  color:#102326;
}
body[data-page="search.php"] .exact-tourvisor-link-panel p{
  margin:0;
  max-width:820px;
  color:#526074;
  font-weight:750;
  line-height:1.45;
}
@media(max-width:900px){
  body[data-page="search.php"] .exact-tourvisor-link-panel{grid-template-columns:1fr;align-items:stretch}
  body[data-page="search.php"] .exact-tourvisor-link-panel .btn{width:100%;justify-content:center}
}

/* === v136: real search widget compact module on homepage === */
body[data-page="index.php"] .home-tourvisor-search{
  width:min(1120px,calc(100% - 28px))!important;
  margin:0 auto 34px!important;
  padding:10px!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.78))!important;
  border:1px solid rgba(255,255,255,.75)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.22)!important;
  backdrop-filter:blur(18px)!important;
}
body[data-page="index.php"] .home-tourvisor-note{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 8px!important;
  padding:8px 12px!important;
  border-radius:18px!important;
  background:rgba(94,219,92,.13)!important;
  border:1px solid rgba(94,219,92,.3)!important;
  color:#243447!important;
  font-size:.78rem!important;
  line-height:1.28!important;
  font-weight:850!important;
}
body[data-page="index.php"] .home-tourvisor-note span{
  flex:0 0 auto!important;
  color:#102326!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:1000!important;
  font-size:.7rem!important;
}
body[data-page="index.php"] .home-tourvisor-note strong{
  flex:1 1 auto!important;
  font-weight:850!important;
  color:#475569!important;
}
body[data-page="index.php"] .home-tourvisor-search .tv-search-compact{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-compact-title{display:none!important}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card{
  margin:0!important;
  padding:0!important;
  min-height:176px!important;
  border:7px solid #5EDB5C!important;
  border-radius:24px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 18px 50px rgba(15,23,42,.16)!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
  height:176px!important;
  min-height:176px!important;
  width:100%!important;
  border:0!important;
  display:block!important;
  background:#fff!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-fallback-actions:not([hidden]){
  margin:10px 0 0!important;
}
body[data-page="search.php"] .results-topbar p strong{color:#102326!important}
body[data-page="search.php"] .search-memory-panel .btn{white-space:nowrap!important}
@media(max-width:980px){
  body[data-page="index.php"] .home-tourvisor-note{display:block!important;font-size:.74rem!important}
  body[data-page="index.php"] .home-tourvisor-note span{display:block!important;margin-bottom:3px!important}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card{min-height:340px!important;border-width:6px!important;border-radius:22px!important}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{height:390px!important;min-height:390px!important}
}
@media(max-width:560px){
  body[data-page="index.php"] .home-tourvisor-search{width:calc(100% - 16px)!important;padding:7px!important;border-radius:22px!important;margin-bottom:22px!important}
  body[data-page="index.php"] .home-tourvisor-note{font-size:.7rem!important;padding:7px 9px!important;border-radius:14px!important}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card{min-height:430px!important;border-width:5px!important;border-radius:18px!important}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{height:430px!important;min-height:430px!important}
}

/* === v138: stable official search widget flow, collapsible homepage module === */
body[data-page="index.php"] .home-tourvisor-search{
  width:min(1120px,calc(100% - 28px))!important;
  margin:0 auto 30px!important;
  padding:10px!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,255,255,.82))!important;
  border:1px solid rgba(255,255,255,.75)!important;
  box-shadow:0 22px 64px rgba(15,23,42,.2)!important;
  backdrop-filter:blur(18px)!important;
  transition:transform .18s ease, box-shadow .18s ease, padding .18s ease!important;
  position:relative!important;
  z-index:24!important;
}
body[data-page="index.php"] .home-tourvisor-search.is-expanded{
  box-shadow:0 26px 76px rgba(15,23,42,.26)!important;
}
body[data-page="index.php"] .home-tourvisor-note{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 8px!important;
  padding:8px 10px!important;
  border-radius:17px!important;
  background:rgba(94,219,92,.12)!important;
  border:1px solid rgba(94,219,92,.28)!important;
  color:#243447!important;
  font-size:.75rem!important;
  line-height:1.25!important;
  font-weight:850!important;
}
body[data-page="index.php"] .home-tourvisor-note span{
  padding:7px 11px!important;
  border-radius:999px!important;
  background:rgba(94,219,92,.16)!important;
  color:#102326!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:1000!important;
  font-size:.67rem!important;
  white-space:nowrap!important;
}
body[data-page="index.php"] .home-tourvisor-note strong{
  min-width:0!important;
  color:#475569!important;
  font-weight:850!important;
}
body[data-page="index.php"] .tv-expand-btn{
  appearance:none!important;
  border:0!important;
  border-radius:999px!important;
  padding:10px 14px!important;
  background:#fc7c03!important;
  color:#fff!important;
  font:900 .78rem/1 var(--font,system-ui)!important;
  box-shadow:0 10px 22px rgba(252,124,3,.26),inset 0 1px 0 rgba(255,255,255,.32)!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
body[data-page="index.php"] .home-tourvisor-search .tv-search-compact{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-compact-title{display:none!important}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card{
  margin:0!important;
  padding:0!important;
  min-height:104px!important;
  border:6px solid #5EDB5C!important;
  border-radius:22px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 16px 44px rgba(15,23,42,.14)!important;
  transition:min-height .2s ease, border-radius .2s ease, box-shadow .2s ease!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
  height:104px!important;
  min-height:104px!important;
  width:100%!important;
  border:0!important;
  display:block!important;
  background:#fff!important;
  transition:height .2s ease, min-height .2s ease!important;
}
body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card{
  min-height:545px!important;
  border-radius:24px!important;
  box-shadow:0 22px 64px rgba(15,23,42,.18)!important;
}
body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
  height:545px!important;
  min-height:545px!important;
}
body[data-page="index.php"] .home-tourvisor-hint{
  margin:8px 4px 0!important;
  color:#536273!important;
  font-size:.76rem!important;
  line-height:1.35!important;
  font-weight:780!important;
}
@media(max-width:980px){
  body[data-page="index.php"] .home-tourvisor-note{grid-template-columns:1fr!important;gap:7px!important;font-size:.74rem!important}
  body[data-page="index.php"] .home-tourvisor-note span{justify-self:start!important}
  body[data-page="index.php"] .tv-expand-btn{width:100%!important;justify-self:stretch!important}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{min-height:565px!important;height:565px!important}
}
@media(max-width:560px){
  body[data-page="index.php"] .home-tourvisor-search{width:calc(100% - 16px)!important;padding:7px!important;border-radius:22px!important;margin-bottom:22px!important}
  body[data-page="index.php"] .home-tourvisor-note{font-size:.7rem!important;padding:7px 9px!important;border-radius:14px!important}
  body[data-page="index.php"] .home-tourvisor-hint{font-size:.69rem!important}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{min-height:620px!important;height:620px!important;border-radius:18px!important;border-width:5px!important}
}

/* === v139: Apple-glass homepage search widget search polish === */
body[data-page="index.php"] .home-tourvisor-search{
  width:min(1120px,calc(100% - 28px))!important;
  margin:0 auto 28px!important;
  padding:10px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,.22))!important;
  border:1px solid rgba(255,255,255,.74)!important;
  box-shadow:0 28px 80px rgba(15,23,42,.22), inset 0 1px 0 rgba(255,255,255,.68)!important;
  -webkit-backdrop-filter:blur(24px) saturate(165%)!important;
  backdrop-filter:blur(24px) saturate(165%)!important;
  overflow:visible!important;
  position:relative!important;
  z-index:30!important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease!important;
}
body[data-page="index.php"] .home-tourvisor-search:hover,
body[data-page="index.php"] .home-tourvisor-search.is-expanded{
  background:linear-gradient(135deg,rgba(255,255,255,.52),rgba(255,255,255,.28))!important;
  box-shadow:0 34px 90px rgba(15,23,42,.27), inset 0 1px 0 rgba(255,255,255,.76)!important;
}
body[data-page="index.php"] .home-tourvisor-note,
body[data-page="index.php"] .home-tourvisor-hint,
body[data-page="index.php"] .tv-expand-btn{
  display:none!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
body[data-page="index.php"] .home-tourvisor-search .tv-search-compact{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-compact-title{
  display:none!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card{
  margin:0!important;
  padding:0!important;
  height:82px!important;
  min-height:82px!important;
  border:0!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.78)!important;
  overflow:hidden!important;
  box-shadow:0 18px 46px rgba(15,23,42,.16), inset 0 1px 0 rgba(255,255,255,.84)!important;
  transition:height .22s ease, min-height .22s ease, border-radius .22s ease, box-shadow .22s ease!important;
}
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
  width:100%!important;
  height:82px!important;
  min-height:82px!important;
  border:0!important;
  border-radius:22px!important;
  display:block!important;
  background:transparent!important;
  transition:height .22s ease, min-height .22s ease!important;
}
body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
body[data-page="index.php"] .home-tourvisor-search:hover .tourvisor-widget-clean,
body[data-page="index.php"] .home-tourvisor-search:hover .tourvisor-bridge-card{
  height:540px!important;
  min-height:540px!important;
  border-radius:26px!important;
  box-shadow:0 26px 68px rgba(15,23,42,.2), inset 0 1px 0 rgba(255,255,255,.8)!important;
}
body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame,
body[data-page="index.php"] .home-tourvisor-search:hover .tourvisor-bridge-frame{
  height:540px!important;
  min-height:540px!important;
  border-radius:26px!important;
}
@media(max-width:980px){
  body[data-page="index.php"] .home-tourvisor-search{width:calc(100% - 20px)!important;padding:8px!important;border-radius:24px!important}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
    height:565px!important;
    min-height:565px!important;
    border-radius:20px!important;
  }
}
@media(max-width:560px){
  body[data-page="index.php"] .home-tourvisor-search{width:calc(100% - 14px)!important;padding:7px!important;margin-bottom:20px!important;border-radius:22px!important}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    height:620px!important;
    min-height:620px!important;
    border-radius:18px!important;
  }
}


/* === v140: lower hero search + compact search page header === */
body[data-page="index.php"] .home-tourvisor-search{
  margin:26px auto 34px!important;
  transform:translateY(10px)!important;
}
body[data-page="index.php"] .home-tourvisor-search:hover,
body[data-page="index.php"] .home-tourvisor-search.is-expanded{
  transform:translateY(10px)!important;
}
body[data-page="search.php"] .search-results-first{
  padding:18px 0 28px!important;
}
body[data-page="search.php"] .results-topbar.results-topbar-compact{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 14px!important;
  padding:14px 22px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 16px 42px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.9)!important;
  -webkit-backdrop-filter:blur(18px) saturate(160%)!important;
  backdrop-filter:blur(18px) saturate(160%)!important;
}
body[data-page="search.php"] .results-topbar.results-topbar-compact h1{
  margin:0!important;
  font-size:clamp(1.28rem,2vw,2rem)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
}
body[data-page="search.php"] .results-topbar.results-topbar-compact p,
body[data-page="search.php"] .results-topbar.results-topbar-compact .eyebrow{
  display:none!important;
}
body[data-page="search.php"] .results-topbar.results-topbar-compact .results-help-btn{
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:16px!important;
}
body[data-page="search.php"] .search-memory-panel,
body[data-page="search.php"] .exact-tourvisor-link-panel{
  display:none!important;
}
body[data-page="search.php"] .result-widget-shell-large{
  margin-top:0!important;
}
@media(max-width:980px){
  body[data-page="index.php"] .home-tourvisor-search{margin:18px auto 28px!important;transform:translateY(0)!important}
  body[data-page="index.php"] .home-tourvisor-search:hover,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded{transform:translateY(0)!important}
  body[data-page="search.php"] .results-topbar.results-topbar-compact{padding:13px 16px!important;border-radius:20px!important}
}
@media(max-width:560px){
  body[data-page="search.php"] .results-topbar.results-topbar-compact{display:grid!important;align-items:stretch!important}
  body[data-page="search.php"] .results-topbar.results-topbar-compact .results-help-btn{width:100%!important;justify-content:center!important}
}


/* === v141: full mobile rebuild for homepage search widget iframe and slider === */
body{overflow-x:hidden;}
.tourvisor-bridge-frame{max-width:100%!important;}
body[data-page="search.php"] .wide-results-container,
body[data-page="search.php"] .result-widget-shell,
body[data-page="search.php"] .result-widget-shell-large,
body[data-page="search.php"] .tourvisor-shell,
body[data-page="search.php"] .tourvisor-widget-clean,
body[data-page="search.php"] .tourvisor-bridge-card{
  max-width:100%!important;
  box-sizing:border-box!important;
}

@media(max-width:640px){
  html,body{max-width:100%;overflow-x:hidden!important;}
  .container,.wide-results-container{width:100%!important;max-width:100%!important;padding-left:12px!important;padding-right:12px!important;box-sizing:border-box!important;}

  body[data-page="index.php"] .home-hero-slider{
    padding:10px 0 22px!important;
    background:linear-gradient(180deg,#367f8f 0%,#2d7583 48%,#ffffff 48%,#ffffff 100%)!important;
    overflow:hidden!important;
  }
  body[data-page="index.php"] .home-hero-container{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
  }
  body[data-page="index.php"] .hero-slider-card{
    order:1!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0 8px 18px!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    isolation:auto!important;
  }
  body[data-page="index.php"] .hero-slider-card::after,
  body[data-page="index.php"] .hero-slide-links{display:none!important;}

  body[data-page="index.php"] .home-tourvisor-search{
    order:1!important;
    width:100%!important;
    margin:0 auto 10px!important;
    transform:none!important;
    padding:0!important;
    border:0!important;
    border-radius:24px!important;
    background:transparent!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    overflow:visible!important;
    z-index:10!important;
  }
  body[data-page="index.php"] .home-tourvisor-search:hover,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded{transform:none!important;background:transparent!important;box-shadow:none!important;}
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search .tv-search-compact{
    background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;padding:0!important;margin:0!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search:hover .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search:hover .tourvisor-bridge-card{
    width:100%!important;
    height:720px!important;
    min-height:720px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.96)!important;
    overflow:hidden!important;
    border:1px solid rgba(255,255,255,.9)!important;
    box-shadow:0 18px 42px rgba(2,34,42,.24), inset 0 1px 0 rgba(255,255,255,.9)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search:hover .tourvisor-bridge-frame{
    width:100%!important;
    height:720px!important;
    min-height:720px!important;
    max-width:100%!important;
    border:0!important;
    border-radius:24px!important;
    display:block!important;
  }

  body[data-page="index.php"] .destination-rail{
    order:2!important;
    width:calc(100% - 16px)!important;
    margin:0 auto 2px!important;
    padding:18px 18px 14px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px 16px!important;
    border-radius:28px!important;
    background:#145e6a!important;
    box-shadow:0 18px 38px rgba(1,36,46,.22), inset 0 1px 0 rgba(255,255,255,.1)!important;
    border:0!important;
    overflow:visible!important;
  }
  body[data-page="index.php"] .destination-chip{
    width:100%!important;
    justify-content:flex-start!important;
    min-height:28px!important;
    padding:0!important;
    gap:10px!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#fff!important;
    font-size:1.1rem!important;
    line-height:1.15!important;
    font-weight:750!important;
  }
  body[data-page="index.php"] .destination-chip span{
    width:22px!important;height:22px!important;display:inline-grid!important;place-items:center!important;font-size:.85rem!important;border-radius:999px!important;
    background:rgba(255,255,255,.16)!important;
  }
  body[data-page="index.php"] .destination-chip-link{
    grid-column:1/-1!important;
    justify-content:center!important;
    margin:2px 0 0!important;
    font-size:.95rem!important;
    min-height:34px!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    padding-top:12px!important;
  }

  body[data-page="index.php"] .hero-slider-media{
    order:3!important;
    position:relative!important;
    inset:auto!important;
    z-index:1!important;
    width:calc(100% - 32px)!important;
    height:258px!important;
    min-height:258px!important;
    margin:22px auto 38px!important;
    border-radius:28px!important;
    background:#fff!important;
    box-shadow:0 18px 38px rgba(15,23,42,.14)!important;
    overflow:hidden!important;
  }
  body[data-page="index.php"] .hero-slide-img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:28px!important;
  }
  body[data-page="index.php"] .hero-slider-dots{
    order:4!important;
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    bottom:14px!important;
    transform:translateX(-50%)!important;
    z-index:8!important;
    background:rgba(255,255,255,.82)!important;
    box-shadow:0 8px 22px rgba(15,23,42,.12)!important;
    padding:8px 10px!important;
  }
  body[data-page="index.php"] .hero-slider-dots button{background:rgba(15,23,42,.16)!important;}
  body[data-page="index.php"] .hero-slider-dots button.is-active{background:#19c8c0!important;box-shadow:none!important;}

  body[data-page="index.php"] .operator-strip{display:none!important;}
  body[data-page="index.php"] .showcase-block{padding-top:12px!important;}

  body[data-page="search.php"] .search-results-first{padding:10px 0 18px!important;}
  body[data-page="search.php"] .results-topbar.results-topbar-compact{
    margin:0 0 10px!important;
    padding:12px 14px!important;
    border-radius:20px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }
  body[data-page="search.php"] .results-topbar.results-topbar-compact h1{font-size:1.35rem!important;white-space:nowrap!important;}
  body[data-page="search.php"] .results-topbar.results-topbar-compact .results-help-btn{
    width:auto!important;min-height:40px!important;padding:0 12px!important;font-size:.82rem!important;border-radius:14px!important;
  }
  body[data-page="search.php"] .result-widget-shell-large,
  body[data-page="search.php"] .tourvisor-shell,
  body[data-page="search.php"] .tourvisor-widget-clean,
  body[data-page="search.php"] .tourvisor-bridge-card{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    border-radius:22px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body[data-page="search.php"] .result-widget-shell-large{padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;}
  body[data-page="search.php"] .tourvisor-bridge-frame{
    width:100%!important;
    min-width:0!important;
    height:1120px!important;
    min-height:1120px!important;
    border:0!important;
    border-radius:22px!important;
    display:block!important;
  }
}

@media(max-width:390px){
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{height:760px!important;min-height:760px!important;}
  body[data-page="index.php"] .destination-rail{grid-template-columns:1fr 1fr!important;padding:16px 14px 12px!important;gap:13px 12px!important;}
  body[data-page="index.php"] .destination-chip{font-size:1rem!important;}
  body[data-page="index.php"] .hero-slider-media{height:235px!important;min-height:235px!important;width:calc(100% - 24px)!important;}
}


/* === v141b: mobile country panel between search and image === */
.mobile-destination-panel{display:none;}
@media(max-width:640px){
  body[data-page="index.php"] .destination-rail{display:none!important;}
  body[data-page="index.php"] .mobile-destination-panel{
    order:2!important;
    width:calc(100% - 16px)!important;
    margin:0 auto 2px!important;
    padding:18px 18px 14px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px 16px!important;
    border-radius:28px!important;
    background:#145e6a!important;
    box-shadow:0 18px 38px rgba(1,36,46,.22), inset 0 1px 0 rgba(255,255,255,.1)!important;
    border:0!important;
  }
  body[data-page="index.php"] .mobile-destination-item{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    min-height:28px!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:1.1rem!important;
    line-height:1.15!important;
    font-weight:750!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  body[data-page="index.php"] .mobile-destination-item span{
    width:22px!important;height:22px!important;display:inline-grid!important;place-items:center!important;font-size:.9rem!important;border-radius:999px!important;
    background:rgba(255,255,255,.16)!important;
  }
  body[data-page="index.php"] .mobile-destination-more{
    grid-column:1/-1!important;
    justify-content:center!important;
    margin:2px 0 0!important;
    font-size:.95rem!important;
    min-height:34px!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    padding-top:12px!important;
  }
  body[data-page="index.php"] .mobile-destination-more span{font-size:1.3rem!important;background:transparent!important;border:2px solid rgba(255,255,255,.9)!important;}
  body[data-page="index.php"] .hero-slider-media{order:3!important;}
}
@media(max-width:390px){
  body[data-page="index.php"] .mobile-destination-panel{padding:16px 14px 12px!important;gap:13px 12px!important;}
  body[data-page="index.php"] .mobile-destination-item{font-size:1rem!important;}
}


/* === v142: premium motion and smoother interactions === */
@media (prefers-reduced-motion: no-preference){
  :root{--motion-smooth:cubic-bezier(.2,.8,.2,1);--motion-spring:cubic-bezier(.16,1,.3,1)}
  html{scroll-behavior:smooth}

  body[data-page="index.php"] .hero-slider-card{
    transform:translateZ(0);
  }
  body[data-page="index.php"] .hero-slider-card::before{
    content:"";
    position:absolute;
    inset:-22%;
    z-index:2;
    pointer-events:none;
    opacity:.55;
    background:radial-gradient(circle at var(--spot-x,68%) var(--spot-y,24%),rgba(255,255,255,.26),transparent 18rem),linear-gradient(110deg,transparent 18%,rgba(255,255,255,.18) 42%,transparent 63%);
    mix-blend-mode:screen;
    transform:translate3d(-10%,0,0) rotate(8deg);
    animation:altHeroLight 10s ease-in-out infinite;
  }
  @keyframes altHeroLight{
    0%,100%{transform:translate3d(-12%,0,0) rotate(8deg);opacity:.42}
    45%{transform:translate3d(9%,2%,0) rotate(8deg);opacity:.62}
  }
  body[data-page="index.php"] .hero-slide-img{
    will-change:opacity,transform,filter;
    transition:opacity 1.05s var(--motion-smooth),transform 7.5s ease,filter 1.05s ease!important;
    transform:scale(1.055) translate3d(0,0,0)!important;
    filter:saturate(1.05) contrast(1.02) brightness(.98);
  }
  body[data-page="index.php"] .hero-slide-img.is-active{
    opacity:1!important;
    transform:scale(1.015) translate3d(0,0,0)!important;
    filter:saturate(1.08) contrast(1.03) brightness(1);
    animation:altSlideBreathe 7.4s ease-out forwards;
  }
  body[data-page="index.php"] .hero-slide-img.is-leaving{
    opacity:0!important;
    transform:scale(1.075) translate3d(-.8%,0,0)!important;
    filter:blur(1px) saturate(1.02) contrast(1.02);
  }
  body[data-page="index.php"] .hero-slider-card.is-slide-changing .hero-slider-media::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:3;
    background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.22) 42%,transparent 74%);
    transform:translateX(-120%);
    animation:altSlideSheen .92s var(--motion-smooth);
  }
  @keyframes altSlideBreathe{
    from{transform:scale(1.045) translate3d(.5%,0,0)}
    to{transform:scale(1.015) translate3d(0,0,0)}
  }
  @keyframes altSlideSheen{
    from{transform:translateX(-120%)}
    to{transform:translateX(120%)}
  }

  body[data-page="index.php"] .hero-slider-dots button{
    transition:width .32s var(--motion-spring),background .28s ease,transform .22s ease,box-shadow .28s ease!important;
  }
  body[data-page="index.php"] .hero-slider-dots button:hover{transform:scale(1.22)}
  body[data-page="index.php"] .hero-slider-dots button.is-active{
    animation:altDotPulse 2.4s ease-in-out infinite;
  }
  @keyframes altDotPulse{
    0%,100%{box-shadow:0 0 0 3px rgba(94,219,92,.16)}
    50%{box-shadow:0 0 0 7px rgba(94,219,92,.07)}
  }

  .btn,.button,a.btn,button.btn,
  body[data-page="index.php"] .destination-chip,
  body[data-page="index.php"] .mobile-destination-item,
  body[data-page="index.php"] .hero-slider-dots button,
  body[data-page="index.php"] .home-tourvisor-search,
  .tour-card,.destination-card,.cruise-card,.region-card,.guide-card,.mini-place-card,.showcase-feature,
  .messenger-btn,.menu-btn{
    will-change:transform,box-shadow,filter;
  }
  .btn,.button,a.btn,button.btn,
  body[data-page="index.php"] .destination-chip,
  body[data-page="index.php"] .mobile-destination-item{
    position:relative;
    overflow:hidden;
    transition:transform .24s var(--motion-spring),box-shadow .24s ease,filter .24s ease,background .24s ease,color .24s ease!important;
  }
  .btn::after,a.btn::after,button.btn::after,
  body[data-page="index.php"] .destination-chip::after,
  body[data-page="index.php"] .mobile-destination-item::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at var(--tap-x,50%) var(--tap-y,50%),rgba(255,255,255,.48),transparent 32%);
    opacity:0;
    transform:scale(.8);
    transition:opacity .42s ease,transform .42s ease;
  }
  .btn:hover::after,a.btn:hover::after,button.btn:hover::after,
  body[data-page="index.php"] .destination-chip:hover::after,
  body[data-page="index.php"] .mobile-destination-item:hover::after{
    opacity:.34;
    transform:scale(1.12);
  }
  .btn.is-pressing,.button.is-pressing,a.btn.is-pressing,button.btn.is-pressing,
  body[data-page="index.php"] .destination-chip.is-pressing,
  body[data-page="index.php"] .mobile-destination-item.is-pressing{
    transform:scale(.975)!important;
  }
  .btn-primary,.home-search-submit,body[data-page="index.php"] .tv-expand-btn{
    background-size:160% 160%!important;
    animation:altButtonGlow 5.8s ease-in-out infinite;
  }
  @keyframes altButtonGlow{
    0%,100%{background-position:0% 50%;filter:saturate(1)}
    50%{background-position:100% 50%;filter:saturate(1.08)}
  }

  body[data-page="index.php"] .destination-rail,
  body[data-page="index.php"] .mobile-destination-panel{
    transition:transform .28s var(--motion-spring),box-shadow .28s ease,background .28s ease!important;
  }
  body[data-page="index.php"] .destination-rail:hover,
  body[data-page="index.php"] .mobile-destination-panel:hover{
    transform:translateY(-1px);
    box-shadow:0 22px 52px rgba(1,36,46,.24),inset 0 1px 0 rgba(255,255,255,.14)!important;
  }
  body[data-page="index.php"] .destination-chip.is-active span,
  body[data-page="index.php"] .mobile-destination-item:hover span{
    animation:altFlagPop .42s var(--motion-spring);
  }
  @keyframes altFlagPop{
    0%{transform:scale(.86) rotate(-5deg)}
    70%{transform:scale(1.12) rotate(3deg)}
    100%{transform:scale(1) rotate(0)}
  }

  body[data-page="index.php"] .home-tourvisor-search{
    transition:transform .32s var(--motion-spring),box-shadow .32s ease,background .32s ease,backdrop-filter .32s ease!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    transition:height .34s var(--motion-spring),min-height .34s var(--motion-spring),border-radius .34s var(--motion-spring),box-shadow .34s ease,background .34s ease!important;
  }
  body[data-page="index.php"] .home-tourvisor-search::after{
    content:"";
    position:absolute;
    inset:1px;
    pointer-events:none;
    border-radius:inherit;
    background:linear-gradient(115deg,rgba(255,255,255,.38),transparent 31%,transparent 68%,rgba(255,255,255,.16));
    opacity:.78;
    mix-blend-mode:screen;
  }

  .reveal{
    opacity:0;
    transform:translate3d(0,18px,0);
    transition:opacity .7s var(--motion-smooth),transform .7s var(--motion-smooth);
  }
  .reveal.is-visible{
    opacity:1;
    transform:translate3d(0,0,0);
  }
  .showcase-cards .reveal:nth-child(2),.region-grid .reveal:nth-child(2),.guide-grid .reveal:nth-child(2){transition-delay:.06s}
  .showcase-cards .reveal:nth-child(3),.region-grid .reveal:nth-child(3),.guide-grid .reveal:nth-child(3){transition-delay:.12s}
  .region-grid .reveal:nth-child(4){transition-delay:.18s}

  .tour-card:hover,.destination-card:hover,.cruise-card:hover,.region-card:hover,.guide-card:hover,.mini-place-card:hover,.showcase-feature:hover{
    transform:translateY(-7px) scale(1.01)!important;
    filter:saturate(1.04);
  }
  .tour-card img,.destination-card img,.region-card img,.guide-card img,.mini-place-card img,.showcase-feature img{
    transition:transform .7s var(--motion-smooth),filter .7s ease!important;
  }
  .tour-card:hover img,.destination-card:hover img,.region-card:hover img,.guide-card:hover img,.mini-place-card:hover img,.showcase-feature:hover img{
    transform:scale(1.045);
    filter:saturate(1.08) contrast(1.03);
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important;}
}


/* === v143: minimal premium motion, no distracting glare, stable animations on all desktops === */
:root{
  --motion-smooth:cubic-bezier(.2,.8,.2,1);
  --motion-spring:cubic-bezier(.16,1,.3,1);
}

/* The v142 shine was too active. Keep only a calm fade/scale transition. */
body[data-page="index.php"] .hero-slider-card::before,
body[data-page="index.php"] .hero-slider-card.is-slide-changing .hero-slider-media::after{
  display:none!important;
  content:none!important;
  opacity:0!important;
  animation:none!important;
}
body[data-page="index.php"] .hero-slide-img{
  will-change:opacity,transform;
  transform-origin:center center!important;
  transition:opacity .72s var(--motion-smooth),transform 5.8s ease!important;
  transform:scale(1.025) translate3d(0,0,0)!important;
  filter:saturate(1.035) contrast(1.01)!important;
}
body[data-page="index.php"] .hero-slide-img.is-active{
  opacity:1!important;
  transform:scale(1.005) translate3d(0,0,0)!important;
  animation:altSlideMinimal 5.8s ease-out both!important;
  animation-duration:5.8s!important;
}
body[data-page="index.php"] .hero-slide-img.is-leaving{
  opacity:0!important;
  transform:scale(1.035) translate3d(0,0,0)!important;
  filter:saturate(1.02) contrast(1.01)!important;
}
@keyframes altSlideMinimal{
  from{transform:scale(1.025) translate3d(0,0,0)}
  to{transform:scale(1.005) translate3d(0,0,0)}
}

/* Make interaction animations work even on systems where reduced-motion accidentally disables the no-preference media block. */
.btn,.button,a.btn,button.btn,
body[data-page="index.php"] .destination-chip,
body[data-page="index.php"] .mobile-destination-item,
body[data-page="index.php"] .hero-slider-dots button,
body[data-page="index.php"] .home-tourvisor-search,
.tour-card,.destination-card,.cruise-card,.region-card,.guide-card,.mini-place-card,.showcase-feature,
.messenger-btn,.menu-btn{
  will-change:transform,box-shadow,filter;
}
.btn,.button,a.btn,button.btn,
body[data-page="index.php"] .destination-chip,
body[data-page="index.php"] .mobile-destination-item{
  transition:transform .22s var(--motion-spring),box-shadow .22s ease,filter .22s ease,background .22s ease,color .22s ease!important;
}
.btn:hover,.button:hover,a.btn:hover,button.btn:hover,
body[data-page="index.php"] .destination-chip:hover,
body[data-page="index.php"] .mobile-destination-item:hover{
  transform:translateY(-1px);
}
.btn.is-pressing,.button.is-pressing,a.btn.is-pressing,button.btn.is-pressing,
body[data-page="index.php"] .destination-chip.is-pressing,
body[data-page="index.php"] .mobile-destination-item.is-pressing{
  transform:scale(.978)!important;
}
body[data-page="index.php"] .hero-slider-dots button{
  transition:width .28s var(--motion-spring),background .22s ease,transform .18s ease,box-shadow .22s ease!important;
}
body[data-page="index.php"] .hero-slider-dots button:hover{transform:scale(1.12)!important;}
body[data-page="index.php"] .hero-slider-dots button.is-active{
  animation:altDotSoft 2.8s ease-in-out infinite!important;
  animation-duration:2.8s!important;
}
@keyframes altDotSoft{
  0%,100%{box-shadow:0 0 0 3px rgba(94,219,92,.12)}
  50%{box-shadow:0 0 0 6px rgba(94,219,92,.05)}
}
body[data-page="index.php"] .home-tourvisor-search,
body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
  transition:height .3s var(--motion-spring),min-height .3s var(--motion-spring),transform .28s var(--motion-spring),box-shadow .28s ease,background .28s ease,border-radius .28s ease!important;
}
.tour-card,.destination-card,.cruise-card,.region-card,.guide-card,.mini-place-card,.showcase-feature{
  transition:transform .28s var(--motion-spring),box-shadow .28s ease,filter .28s ease!important;
}
.tour-card:hover,.destination-card:hover,.cruise-card:hover,.region-card:hover,.guide-card:hover,.mini-place-card:hover,.showcase-feature:hover{
  transform:translateY(-5px)!important;
  filter:saturate(1.035);
}
.tour-card img,.destination-card img,.region-card img,.guide-card img,.mini-place-card img,.showcase-feature img{
  transition:transform .6s var(--motion-smooth),filter .6s ease!important;
}
.tour-card:hover img,.destination-card:hover img,.region-card:hover img,.guide-card:hover img,.mini-place-card:hover img,.showcase-feature:hover img{
  transform:scale(1.032);
  filter:saturate(1.05) contrast(1.02);
}

/* Mobile: preserve the left side of generated banners; crop only from the right when the card is narrow. */
@media(max-width:640px){
  body[data-page="index.php"] .hero-slide-img{
    object-position:left center!important;
    transform-origin:left center!important;
  }
  body[data-page="index.php"] .hero-slide-img.is-active{
    transform:scale(1.004) translate3d(0,0,0)!important;
  }
  body[data-page="index.php"] .hero-slide-img.is-leaving{
    transform:scale(1.02) translate3d(0,0,0)!important;
  }
  @keyframes altSlideMinimal{
    from{transform:scale(1.018) translate3d(0,0,0)}
    to{transform:scale(1.004) translate3d(0,0,0)}
  }
}

/* === v144: mobile menu restored + desktop messengers under phone === */
.site-header.site-header-two-row .contact-stack{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:8px!important;
  min-width:300px!important;
  flex:0 0 auto!important;
}
.site-header.site-header-two-row .contact-stack .phone-pill{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.site-header.site-header-two-row .contact-stack .brand-messengers{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
}
.site-header.site-header-two-row .contact-stack .messenger-btn{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  border-radius:50%!important;
}
.site-header.site-header-two-row .contact-stack .messenger-btn span{font-size:.5rem!important}
.site-header.site-header-two-row .contact-stack .messenger-btn svg{width:15px!important;height:15px!important}

@media (min-width:1081px){
  .site-header.site-header-two-row .header-actions{
    align-items:center!important;
    gap:16px!important;
  }
  .site-header.site-header-two-row .contact-stack{
    min-width:300px!important;
  }
}

@media (max-width:1180px){
  .site-header.site-header-two-row .contact-stack{
    min-width:260px!important;
  }
}

@media (max-width:860px){
  .site-header.site-header-two-row .header-shell{
    width:calc(100% - 12px)!important;
    padding:7px 0 9px!important;
  }
  .site-header.site-header-two-row .header-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:start!important;
  }
  .site-header.site-header-two-row .brand-cluster{
    grid-column:1 / 2!important;
    grid-row:1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:block!important;
  }
  .site-header.site-header-two-row .brand.brand-large{
    width:100%!important;
    max-width:none!important;
    min-height:92px!important;
    padding:10px 12px!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:12px!important;
    border-radius:24px!important;
  }
  .site-header.site-header-two-row .brand.brand-large .brand-logo{
    width:68px!important;
    height:68px!important;
    border-radius:18px!important;
    padding:5px!important;
  }
  .site-header.site-header-two-row .brand.brand-large .brand-text strong{
    font-size:clamp(1.24rem,7vw,1.82rem)!important;
    line-height:.96!important;
    max-width:14ch!important;
    white-space:normal!important;
  }
  .site-header.site-header-two-row .brand.brand-large .brand-text small{
    font-size:.76rem!important;
    line-height:1.12!important;
    max-width:24ch!important;
  }
  .site-header.site-header-two-row .header-actions{
    grid-column:2 / 3!important;
    grid-row:1!important;
    width:auto!important;
    min-width:54px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    align-self:start!important;
  }
  .site-header.site-header-two-row .contact-stack{
    order:2!important;
    min-width:0!important;
    width:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:7px!important;
  }
  .site-header.site-header-two-row .contact-stack .phone-pill,
  .site-header.site-header-two-row .header-actions .btn-primary.btn-header-cta,
  .site-header.site-header-two-row .header-bottom,
  .site-header.site-header-two-row .desktop-nav{
    display:none!important;
  }
  .site-header.site-header-two-row .contact-stack .brand-messengers{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    justify-content:flex-start!important;
    align-items:center!important;
  }
  .site-header.site-header-two-row .contact-stack .messenger-btn{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    border-radius:50%!important;
  }
  .site-header.site-header-two-row .menu-btn{
    order:1!important;
    display:flex!important;
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.92)!important;
    border:1px solid rgba(255,255,255,.78)!important;
    box-shadow:0 14px 32px rgba(18,35,38,.12), inset 0 1px 0 rgba(255,255,255,.55)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
  .site-header.site-header-two-row .menu-btn span{
    width:21px!important;
    height:2px!important;
  }
}

@media (max-width:520px){
  .site-header.site-header-two-row .header-shell{
    width:calc(100% - 8px)!important;
  }
  .site-header.site-header-two-row .header-top{
    gap:8px!important;
  }
  .site-header.site-header-two-row .brand.brand-large{
    min-height:86px!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px!important;
  }
  .site-header.site-header-two-row .brand.brand-large .brand-logo{
    width:60px!important;
    height:60px!important;
    border-radius:16px!important;
  }
  .site-header.site-header-two-row .brand.brand-large .brand-text strong{
    font-size:clamp(1.1rem,7.9vw,1.55rem)!important;
    max-width:14ch!important;
  }
  .site-header.site-header-two-row .brand.brand-large .brand-text small{
    font-size:.7rem!important;
    max-width:22ch!important;
  }
  .site-header.site-header-two-row .menu-btn{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    border-radius:16px!important;
  }
  .site-header.site-header-two-row .contact-stack .messenger-btn{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
  }
}


/* === v145: premium full-screen mobile menu overlay fix === */
.mobile-menu{
  z-index:999999!important;
  position:fixed!important;
  inset:0!important;
  display:block!important;
  padding:10px!important;
  background:
    radial-gradient(circle at 18% 8%, rgba(94,219,92,.22), transparent 34%),
    radial-gradient(circle at 100% 20%, rgba(252,124,3,.20), transparent 30%),
    rgba(7,18,25,.72)!important;
  backdrop-filter:blur(18px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.15)!important;
}
.mobile-menu:not(.is-open){
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.mobile-menu.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.mobile-menu-card{
  width:min(520px,100%)!important;
  height:auto!important;
  min-height:calc(100dvh - 20px)!important;
  max-height:calc(100dvh - 20px)!important;
  margin:0 auto!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  border-radius:30px!important;
  padding:18px!important;
  color:#fff!important;
  background:
    linear-gradient(180deg, rgba(18,36,52,.98), rgba(10,24,35,.98))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.12)!important;
  transform:translate3d(0,18px,0) scale(.985)!important;
  transition:transform .26s cubic-bezier(.2,.8,.2,1), opacity .22s ease!important;
}
.mobile-menu.is-open .mobile-menu-card{
  transform:translate3d(0,0,0) scale(1)!important;
}
.mobile-menu-top{
  min-height:72px!important;
  padding:6px 4px 16px!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  gap:14px!important;
}
.mobile-menu-top .brand-logo{
  width:64px!important;
  height:64px!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
}
.mobile-menu-top::after{
  content:'Меню';
  margin-right:auto;
  font-size:1.25rem;
  font-weight:1000;
  letter-spacing:-.04em;
  color:#fff;
}
.menu-close{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.mobile-nav{
  margin:18px 0 auto!important;
  gap:10px!important;
  display:grid!important;
}
.mobile-nav a{
  min-height:70px!important;
  padding:18px 18px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  color:#fff!important;
  font-size:clamp(1.32rem,6vw,2rem)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  text-decoration:none!important;
}
.mobile-nav a span{position:relative;z-index:1!important;}
.mobile-nav a b{
  width:36px!important;
  height:36px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:1.25rem!important;
  line-height:1!important;
}
.mobile-nav a.is-active{
  background:linear-gradient(135deg, rgba(94,219,92,.95), rgba(252,124,3,.92))!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#08161b!important;
  box-shadow:0 16px 34px rgba(94,219,92,.22)!important;
}
.mobile-nav a.is-active b{background:rgba(255,255,255,.56)!important;color:#08161b!important;}
.mobile-menu-bottom{
  margin-top:18px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  gap:10px!important;
}
.mobile-menu-bottom .btn{
  width:100%!important;
  min-height:58px!important;
  border-radius:20px!important;
  font-size:.98rem!important;
}
@media (max-width:560px){
  .mobile-menu{padding:8px!important;}
  .mobile-menu-card{
    min-height:calc(100dvh - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    border-radius:26px!important;
    padding:16px!important;
  }
  .mobile-menu-top::after{font-size:1.1rem!important;}
  .mobile-nav a{min-height:64px!important;border-radius:20px!important;font-size:clamp(1.22rem,7vw,1.75rem)!important;}
}


/* === v146: mobile navigation position + all tabs mobile adaptation === */
@media (max-width: 860px){
  /* Правый верхний крестик мобильного меню */
  .mobile-menu{
    padding:0!important;
    background:
      radial-gradient(circle at 16% 0%, rgba(94,219,92,.20), transparent 34%),
      radial-gradient(circle at 100% 16%, rgba(252,124,3,.22), transparent 32%),
      rgba(6,18,26,.78)!important;
  }
  .mobile-menu-card{
    width:100%!important;
    max-width:none!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    padding:calc(env(safe-area-inset-top,0px) + 18px) 16px calc(env(safe-area-inset-bottom,0px) + 18px)!important;
    overflow-y:auto!important;
    background:linear-gradient(180deg, rgba(16,34,50,.98), rgba(8,21,31,.99))!important;
  }
  .mobile-menu-top{
    position:relative!important;
    min-height:66px!important;
    padding:0 76px 14px 0!important;
    border-bottom:1px solid rgba(255,255,255,.11)!important;
  }
  .mobile-menu-top::after{
    content:'Меню сайта'!important;
    align-self:center!important;
    margin-left:12px!important;
    margin-right:0!important;
    font-size:1.18rem!important;
    letter-spacing:-.04em!important;
  }
  .mobile-menu .menu-close{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 14px)!important;
    right:14px!important;
    z-index:1000001!important;
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
    border-radius:18px!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(255,255,255,.14)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    color:#fff!important;
    font-size:2rem!important;
    line-height:1!important;
    box-shadow:0 16px 36px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.14)!important;
  }
  .mobile-nav{
    margin:18px 0 16px!important;
    gap:10px!important;
  }
  .mobile-nav a{
    min-height:62px!important;
    border-radius:20px!important;
    padding:16px!important;
    font-size:clamp(1.16rem,6.5vw,1.62rem)!important;
  }
  .mobile-menu-bottom{
    position:relative!important;
    margin-top:10px!important;
    padding-top:14px!important;
  }
}

@media (max-width: 640px){
  /* Общая мобильная сетка для всех вкладок */
  main{overflow:hidden!important;}
  .hero{
    padding:22px 0 32px!important;
    border-radius:0!important;
  }
  .hero .hero-grid,
  .container.hero-grid,
  .split,
  .split-clean,
  .grid-3,
  .live-tours,
  .trust-grid,
  .form-grid,
  .footer-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .hero h1{
    font-size:clamp(2.05rem,11vw,3.2rem)!important;
    line-height:.94!important;
    letter-spacing:-.07em!important;
    max-width:100%!important;
  }
  .hero p,
  .section-head p{
    font-size:.98rem!important;
    line-height:1.5!important;
    max-width:100%!important;
  }
  .eyebrow{
    font-size:.75rem!important;
    padding:8px 11px!important;
    border-radius:999px!important;
  }
  .hero-badges{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
  .hero-badges span{
    min-height:34px!important;
    padding:8px 11px!important;
    font-size:.78rem!important;
  }
  .hero-card,
  .tour-card,
  .destination-card,
  .cruise-card,
  .info-card,
  .lead-form,
  .legal-card{
    width:100%!important;
    max-width:100%!important;
    border-radius:24px!important;
    padding:16px!important;
    box-sizing:border-box!important;
  }
  .section{
    padding:42px 0!important;
  }
  .section-head{
    margin-bottom:18px!important;
  }
  .section-head h2{
    font-size:clamp(1.9rem,9vw,2.7rem)!important;
    line-height:.98!important;
    letter-spacing:-.06em!important;
  }
  .cta-row,
  .card-actions,
  .section-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .cta-row .btn,
  .card-actions .btn,
  .section-actions .btn,
  .lead-form .btn,
  .btn{
    width:100%!important;
    min-height:52px!important;
    justify-content:center!important;
  }
  .tour-card-img,
  .destination-img,
  .tour-card-art,
  .destination-art{
    height:210px!important;
    border-radius:20px!important;
  }
  .info-list{
    display:grid!important;
    gap:12px!important;
  }
  .info-card{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    gap:10px 12px!important;
  }
  .info-card p{grid-column:1 / -1!important;}
  .lead-form input,
  .lead-form select,
  .lead-form textarea,
  input,select,textarea{
    min-height:52px!important;
    font-size:16px!important;
  }
}

/* === v146: mobile search page / search widget iframe === */
@media (max-width: 640px){
  body[data-page="search.php"] .site-header.site-header-two-row{
    margin-bottom:0!important;
  }
  body[data-page="search.php"] .search-results-first{
    padding:8px 0 20px!important;
    background:linear-gradient(180deg, #f7fff3 0%, #ffffff 46%)!important;
    overflow:hidden!important;
  }
  body[data-page="search.php"] .wide-results-container{
    width:100%!important;
    max-width:100%!important;
    padding:0 8px!important;
  }
  body[data-page="search.php"] .results-topbar.results-topbar-compact{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    margin:4px 0 8px!important;
    padding:10px 10px 10px 14px!important;
    min-height:58px!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.82)!important;
    border:1px solid rgba(94,219,92,.22)!important;
    box-shadow:0 14px 30px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.8)!important;
    backdrop-filter:blur(16px) saturate(1.1)!important;
    -webkit-backdrop-filter:blur(16px) saturate(1.1)!important;
  }
  body[data-page="search.php"] .results-topbar.results-topbar-compact h1{
    font-size:1.24rem!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
    white-space:normal!important;
  }
  body[data-page="search.php"] .results-topbar.results-topbar-compact .results-help-btn{
    width:auto!important;
    min-width:118px!important;
    min-height:42px!important;
    padding:0 12px!important;
    border-radius:15px!important;
    font-size:.78rem!important;
    white-space:nowrap!important;
  }
  body[data-page="search.php"] .result-widget-shell.result-widget-shell-large{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body[data-page="search.php"] .result-widget-shell-large .tourvisor-shell,
  body[data-page="search.php"] .result-widget-shell-large .tourvisor-widget,
  body[data-page="search.php"] .result-widget-shell-large .tourvisor-widget-clean,
  body[data-page="search.php"] .result-widget-shell-large .tourvisor-bridge-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    border-radius:20px!important;
    overflow:hidden!important;
    border:1px solid rgba(226,232,240,.9)!important;
    background:#fff!important;
    box-shadow:0 18px 46px rgba(15,23,42,.11)!important;
    box-sizing:border-box!important;
  }
  body[data-page="search.php"] .result-widget-shell-large .tourvisor-bridge-frame{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:1260px!important;
    min-height:1260px!important;
    border:0!important;
    border-radius:20px!important;
    display:block!important;
    background:#fff!important;
  }
  body[data-page="search.php"] .after-results-help{
    padding-top:26px!important;
  }
  body[data-page="search.php"] .after-results-help .split,
  body[data-page="search.php"] .after-results-help .split-clean{
    gap:18px!important;
  }
}

@media (max-width: 390px){
  body[data-page="search.php"] .results-topbar.results-topbar-compact{
    padding:10px!important;
  }
  body[data-page="search.php"] .results-topbar.results-topbar-compact h1{
    font-size:1.12rem!important;
  }
  body[data-page="search.php"] .results-topbar.results-topbar-compact .results-help-btn{
    min-width:104px!important;
    padding:0 10px!important;
    font-size:.72rem!important;
  }
  body[data-page="search.php"] .result-widget-shell-large .tourvisor-bridge-frame{
    height:1320px!important;
    min-height:1320px!important;
  }
}

/* v146: prevent external widgets from bleeding through fixed menu */
body:has(.mobile-menu.is-open) .tourvisor-bridge-frame,
body.menu-open .tourvisor-bridge-frame{
  pointer-events:none!important;
}


/* === v147: smart desktop search widget layer — opens only while search widget picker/dropdown is active === */
@media (min-width: 641px){
  body[data-page="index.php"] .home-tourvisor-search{
    --tv-home-collapsed: 92px;
    --tv-home-expanded: 540px;
    width:min(1120px,calc(100% - 28px))!important;
    margin:34px auto 34px!important;
    padding:8px!important;
    border-radius:28px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.50),rgba(255,255,255,.22))!important;
    border:1px solid rgba(255,255,255,.72)!important;
    box-shadow:0 18px 54px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.62)!important;
    -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
    backdrop-filter:blur(18px) saturate(150%)!important;
    overflow:visible!important;
    transition:box-shadow .28s var(--motion-smooth),background .28s ease,transform .28s var(--motion-spring)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search:hover{
    transform:translateY(10px)!important;
    background:linear-gradient(135deg,rgba(255,255,255,.50),rgba(255,255,255,.22))!important;
    box-shadow:0 18px 54px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.62)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded{
    background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(255,255,255,.34))!important;
    box-shadow:0 26px 76px rgba(15,23,42,.24), inset 0 1px 0 rgba(255,255,255,.72)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-frame{
    height:var(--tv-home-collapsed)!important;
    min-height:var(--tv-home-collapsed)!important;
    max-height:var(--tv-home-collapsed)!important;
    border-radius:22px!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card{
    background:rgba(255,255,255,.84)!important;
    border:1px solid rgba(255,255,255,.92)!important;
    overflow:hidden!important;
    box-shadow:0 12px 34px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.9)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
    height:var(--tv-home-expanded)!important;
    min-height:var(--tv-home-expanded)!important;
    max-height:var(--tv-home-expanded)!important;
    border-radius:26px!important;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card{
    box-shadow:0 24px 64px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.88)!important;
  }
  body[data-page="index.php"] .home-tourvisor-search::after{display:none!important;content:none!important;}
}

/* Keep touch devices naturally usable: do not collapse the actual mobile form. */
@media (max-width: 640px){
  body[data-page="index.php"] .home-tourvisor-search{
    margin:0 auto 10px!important;
  }
}


/* === v148: faster smart search widget collapse + no bottom gap in collapsed desktop search === */
@media (min-width: 641px){
  body[data-page="index.php"] .home-tourvisor-search{
    --tv-home-collapsed: 78px!important;
    --tv-home-expanded: 500px!important;
    margin:26px auto 24px!important;
    padding:6px!important;
    border-radius:26px!important;
    transition:height .18s ease,max-height .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease!important;
  }
  body[data-page="index.php"] .home-tourvisor-search:hover{
    transform:none!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    height:var(--tv-home-collapsed)!important;
    min-height:var(--tv-home-collapsed)!important;
    max-height:var(--tv-home-collapsed)!important;
    border-radius:20px!important;
    transition:height .16s ease,max-height .16s ease,min-height .16s ease,box-shadow .18s ease!important;
  }
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame{
    height:var(--tv-home-expanded)!important;
    min-height:var(--tv-home-expanded)!important;
    max-height:var(--tv-home-expanded)!important;
  }
}

/* === v162: final hero position, no hover lift, real flag chips, MAX wordmark === */
@media (min-width: 641px){
  body[data-page="index.php"] .home-tourvisor-search{
    margin:46px auto 18px!important;
    transform:none!important;
    transition:box-shadow .18s ease,background .18s ease,height .16s ease,max-height .16s ease!important;
  }
  body[data-page="index.php"] .home-tourvisor-search:hover,
  body[data-page="index.php"] .home-tourvisor-search:focus-within,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded{
    transform:none!important;
  }
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tv-search-compact,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-frame{
    transform:none!important;
  }
}

.messenger-max{
  background:#101827!important;
}
.messenger-max svg{
  width:25px!important;
  height:18px!important;
}
.messenger-max .max-wordmark{
  fill:#fff!important;
  stroke:none!important;
  font-weight:900!important;
}

body[data-page="index.php"] .destination-chip .country-flag,
body[data-page="index.php"] .mobile-destination-item .country-flag{
  width:24px!important;
  height:18px!important;
  min-width:24px!important;
  flex:0 0 24px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:5px!important;
  overflow:hidden!important;
  position:relative!important;
  color:#fff!important;
  background:#e5e7eb!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.58),0 3px 8px rgba(15,23,42,.16)!important;
  font-size:0!important;
  line-height:1!important;
}
body[data-page="index.php"] .destination-chip:hover .country-flag,
body[data-page="index.php"] .destination-chip.is-active .country-flag{
  transform:none!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.78),0 4px 10px rgba(15,23,42,.18)!important;
}
body[data-page="index.php"] .country-flag::before,
body[data-page="index.php"] .country-flag::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
body[data-page="index.php"] .country-flag-all{
  font-size:.74rem!important;
  background:rgba(255,255,255,.22)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)!important;
}
body[data-page="index.php"] .flag-th{
  background:linear-gradient(to bottom,#a51931 0 16.66%,#fff 16.66% 33.33%,#2d2a4a 33.33% 66.66%,#fff 66.66% 83.33%,#a51931 83.33% 100%)!important;
}
body[data-page="index.php"] .flag-cn{
  background:#de2910!important;
}
body[data-page="index.php"] .flag-cn::before{
  content:"★";
  position:static!important;
  color:#ffde00;
  font-size:10px;
  line-height:1;
  transform:translate(-5px,-2px);
}
body[data-page="index.php"] .flag-tr{
  background:#e30a17!important;
}
body[data-page="index.php"] .flag-tr::before{
  width:9px;height:9px;left:5px;top:4px;border-radius:50%;background:#fff;
}
body[data-page="index.php"] .flag-tr::after{
  content:"★";
  color:#fff;
  font-size:7px;
  line-height:1;
  right:5px;
  top:5px;
}
body[data-page="index.php"] .flag-tr span,
body[data-page="index.php"] .flag-tr::before{box-shadow:4px 0 0 -1px #e30a17;}
body[data-page="index.php"] .flag-mv{
  background:#d21034!important;
}
body[data-page="index.php"] .flag-mv::before{
  inset:4px 5px;
  background:#007e3a;
}
body[data-page="index.php"] .flag-mv::after{
  width:7px;height:7px;left:10px;top:5.5px;border-radius:50%;background:#fff;box-shadow:3px 0 0 0 #007e3a;
}
body[data-page="index.php"] .flag-eg{
  background:linear-gradient(to bottom,#ce1126 0 33.33%,#fff 33.33% 66.66%,#000 66.66% 100%)!important;
}
body[data-page="index.php"] .flag-eg::before{
  width:3px;height:5px;left:10.5px;top:6.5px;border-radius:1px;background:#c09300;
}
body[data-page="index.php"] .flag-vn{
  background:#da251d!important;
}
body[data-page="index.php"] .flag-vn::before{
  content:"★";
  position:static!important;
  color:#ffeb3b;
  font-size:12px;
  line-height:1;
}
body[data-page="index.php"] .flag-ae{
  background:linear-gradient(to right,#ff0000 0 25%,transparent 25%),linear-gradient(to bottom,#009739 0 33.33%,#fff 33.33% 66.66%,#000 66.66% 100%)!important;
}
body[data-page="index.php"] .flag-sc{
  background:conic-gradient(from 225deg at 0% 100%,#003f87 0 20%,#fcd856 20% 40%,#d62828 40% 60%,#fff 60% 80%,#007a3d 80% 100%)!important;
}
@media (max-width:640px){
  body[data-page="index.php"] .mobile-destination-item .country-flag{
    width:25px!important;
    height:19px!important;
    min-width:25px!important;
    flex-basis:25px!important;
    border-radius:6px!important;
    background-color:#e5e7eb!important;
  }
}

/* === v163: requested final polish — lower hero search, emoji flags, real MAX icon, mobile tabs === */
@media (min-width:641px){
  body[data-page="index.php"] .home-tourvisor-search,
  body[data-page="index.php"] .home-search-overlay.home-tourvisor-search{
    margin-top:62px!important;
    margin-bottom:16px!important;
    transform:none!important;
    translate:none!important;
  }
  body[data-page="index.php"] .home-tourvisor-search:hover,
  body[data-page="index.php"] .home-search-overlay.home-tourvisor-search:hover,
  body[data-page="index.php"] .home-tourvisor-search:focus-within,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded{
    transform:none!important;
    translate:none!important;
  }
}

/* Real emoji flags instead of drawn/CSS flags. */
body[data-page="index.php"] .destination-chip .country-flag,
body[data-page="index.php"] .mobile-destination-item .country-flag{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  flex:0 0 auto!important;
  display:inline-block!important;
  place-items:normal!important;
  border-radius:0!important;
  overflow:visible!important;
  position:relative!important;
  color:inherit!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:1.08rem!important;
  line-height:1!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif!important;
  transform:none!important;
}
body[data-page="index.php"] .destination-chip:hover .country-flag,
body[data-page="index.php"] .destination-chip.is-active .country-flag,
body[data-page="index.php"] .mobile-destination-item:hover .country-flag{
  transform:none!important;
  box-shadow:none!important;
}
body[data-page="index.php"] .country-flag::before,
body[data-page="index.php"] .country-flag::after{
  display:none!important;
  content:none!important;
}
body[data-page="index.php"] .country-flag-all{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.20)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)!important;
  font-size:.78rem!important;
  font-family:inherit!important;
}
@media (max-width:640px){
  body[data-page="index.php"] .mobile-destination-item .country-flag{
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    flex-basis:auto!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:1.16rem!important;
  }
}

/* Use the real provided MAX messenger app icon. */
.messenger-btn.messenger-max{
  padding:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:transparent!important;
  box-shadow:0 9px 20px rgba(46,83,238,.22)!important;
}
.messenger-btn.messenger-max svg,
.messenger-btn.messenger-max .max-wordmark{
  display:none!important;
}
.messenger-btn.messenger-max .max-app-icon{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
.site-header.site-header-two-row .contact-stack .messenger-btn.messenger-max,
.site-header.site-header-two-row .contact-stack .messenger-btn.messenger-max .max-app-icon{
  border-radius:11px!important;
}
@media (max-width:860px){
  .site-header.site-header-two-row .contact-stack .messenger-btn.messenger-max,
  .site-header.site-header-two-row .contact-stack .messenger-btn.messenger-max .max-app-icon{
    border-radius:12px!important;
  }
}

/* Mobile tab/navigation bar: keep it visible and usable instead of disappearing. */
@media (max-width:860px){
  .site-header.site-header-two-row .header-bottom{
    display:block!important;
    width:100%!important;
    margin:8px 0 0!important;
    padding:0 6px!important;
    grid-column:1 / -1!important;
    overflow:visible!important;
  }
  .site-header.site-header-two-row .desktop-nav{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:6px!important;
    padding:5px!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.78)!important;
    border:1px solid rgba(255,255,255,.72)!important;
    box-shadow:0 10px 26px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.62)!important;
    -webkit-backdrop-filter:blur(14px) saturate(140%)!important;
    backdrop-filter:blur(14px) saturate(140%)!important;
    scrollbar-width:none!important;
  }
  .site-header.site-header-two-row .desktop-nav::-webkit-scrollbar{display:none!important;}
  .site-header.site-header-two-row .desktop-nav a{
    flex:0 0 auto!important;
    min-height:36px!important;
    padding:0 13px!important;
    border-radius:14px!important;
    font-size:.78rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    color:#24383b!important;
    background:transparent!important;
  }
  .site-header.site-header-two-row .desktop-nav a.is-active,
  .site-header.site-header-two-row .desktop-nav a:hover{
    color:#0b2528!important;
    background:linear-gradient(135deg,rgba(94,219,92,.92),rgba(255,255,255,.88))!important;
    transform:none!important;
  }
}
@media (max-width:390px){
  .site-header.site-header-two-row .desktop-nav a{
    min-height:34px!important;
    padding:0 11px!important;
    font-size:.73rem!important;
  }
}

/* === v164: real emoji flags, lower hero search, larger logo, fixed mobile menu overlay === */
@media (min-width:641px){
  body[data-page="index.php"] .home-tourvisor-search,
  body[data-page="index.php"] .home-search-overlay.home-tourvisor-search{
    margin-top:78px!important;
    transform:none!important;
    translate:none!important;
  }
  body[data-page="index.php"] .home-tourvisor-search:hover,
  body[data-page="index.php"] .home-search-overlay.home-tourvisor-search:hover,
  body[data-page="index.php"] .home-tourvisor-search:focus-within,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded{
    transform:none!important;
    translate:none!important;
  }
}

/* New markup class so old CSS-drawn flags / two-letter chips cannot win through cascade. */
body[data-page="index.php"] .destination-chip .emoji-flag,
body[data-page="index.php"] .mobile-destination-item .emoji-flag{
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  flex:0 0 auto!important;
  margin-right:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif!important;
  font-size:1.16rem!important;
  line-height:1!important;
  letter-spacing:0!important;
  transform:none!important;
  filter:none!important;
}
body[data-page="index.php"] .destination-chip .emoji-flag::before,
body[data-page="index.php"] .destination-chip .emoji-flag::after,
body[data-page="index.php"] .mobile-destination-item .emoji-flag::before,
body[data-page="index.php"] .mobile-destination-item .emoji-flag::after{
  display:none!important;
  content:none!important;
}
body[data-page="index.php"] .destination-chip:hover .emoji-flag,
body[data-page="index.php"] .destination-chip.is-active .emoji-flag,
body[data-page="index.php"] .mobile-destination-item:hover .emoji-flag{
  transform:none!important;
  box-shadow:none!important;
}
body[data-page="index.php"] .destination-chip .emoji-flag-all{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  display:inline-grid!important;
  place-items:center!important;
  margin-right:7px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.20)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)!important;
  font-family:inherit!important;
  font-size:.78rem!important;
}
@media (max-width:640px){
  body[data-page="index.php"] .mobile-destination-item .emoji-flag{
    font-size:1.2rem!important;
    margin-right:8px!important;
  }
}

/* Make the brand logo a little larger, shifted left, without colliding with the title. */
@media (max-width:860px){
  .site-header.site-header-two-row .brand.brand-large{
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:12px!important;
    padding-left:8px!important;
  }
  .site-header.site-header-two-row .brand.brand-large .brand-logo{
    width:74px!important;
    height:74px!important;
    margin-left:-4px!important;
  }
}
@media (max-width:520px){
  .site-header.site-header-two-row .brand.brand-large{
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:10px!important;
    padding-left:7px!important;
  }
  .site-header.site-header-two-row .brand.brand-large .brand-logo{
    width:66px!important;
    height:66px!important;
    margin-left:-4px!important;
  }
}
@media (max-width:380px){
  .site-header.site-header-two-row .brand.brand-large{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  .site-header.site-header-two-row .brand.brand-large .brand-logo{
    width:60px!important;
    height:60px!important;
  }
}

/* True MAX app icon from the provided PNG, cropped with rounded corners. */
.messenger-btn.messenger-max,
.site-header.site-header-two-row .contact-stack .messenger-btn.messenger-max{
  overflow:hidden!important;
  padding:0!important;
  border-radius:12px!important;
  background:transparent!important;
  box-shadow:0 9px 20px rgba(46,83,238,.22)!important;
}
.messenger-btn.messenger-max svg,
.messenger-btn.messenger-max .max-wordmark{display:none!important;}
.messenger-btn.messenger-max .max-app-icon{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}

/* Fix mobile menu: no duplicate title, full-screen overlay, search widget cannot bleed through below. */
@media (max-width:860px){
  body.menu-open{overflow:hidden!important;}
  .mobile-menu{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    z-index:2147483000!important;
    display:block!important;
    overflow:hidden!important;
    padding:0!important;
    background:linear-gradient(180deg,rgba(7,20,31,.98),rgba(5,18,27,.99))!important;
    -webkit-backdrop-filter:blur(18px) saturate(120%)!important;
    backdrop-filter:blur(18px) saturate(120%)!important;
  }
  .mobile-menu:not(.is-open){
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .mobile-menu.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .mobile-menu-card{
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    padding:calc(env(safe-area-inset-top,0px) + 18px) 14px calc(env(safe-area-inset-bottom,0px) + 18px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    color:#fff!important;
    background:
      radial-gradient(circle at 14% 6%, rgba(94,219,92,.18), transparent 34%),
      radial-gradient(circle at 94% 0%, rgba(252,124,3,.16), transparent 32%),
      linear-gradient(180deg,rgba(13,31,47,.99),rgba(7,20,31,.99))!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .mobile-menu-top{
    min-height:78px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:0 70px 14px 0!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }
  .mobile-menu-top::after{
    content:none!important;
    display:none!important;
  }
  .mobile-menu-brand{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }
  .mobile-menu-brand .brand-logo{
    width:76px!important;
    height:76px!important;
    min-width:76px!important;
    border-radius:23px!important;
    margin-left:-3px!important;
    background:#fff!important;
  }
  .mobile-menu-brand > span:last-child{min-width:0!important;}
  .mobile-menu-brand strong{
    display:block!important;
    font-size:1.08rem!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
  }
  .mobile-menu-brand small{
    display:block!important;
    margin-top:4px!important;
    font-size:.78rem!important;
    line-height:1.25!important;
    color:rgba(255,255,255,.72)!important;
  }
  .mobile-menu .menu-close{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 16px)!important;
    right:14px!important;
    z-index:2147483001!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
    border-radius:20px!important;
  }
  .mobile-nav{
    display:grid!important;
    gap:10px!important;
    margin:18px 0 16px!important;
  }
  .mobile-nav a{
    min-height:66px!important;
    padding:16px 18px!important;
    border-radius:22px!important;
    font-size:clamp(1.18rem,6vw,1.64rem)!important;
    letter-spacing:-.05em!important;
  }
  body.menu-open .tourvisor-bridge-frame,
  body.menu-open iframe[src*="tourvisor"],
  body:has(.mobile-menu.is-open) .tourvisor-bridge-frame{
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
@media (max-width:390px){
  .mobile-menu-brand .brand-logo{
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    border-radius:20px!important;
  }
  .mobile-menu-brand strong{font-size:1rem!important;}
  .mobile-menu-brand small{font-size:.72rem!important;}
}

/* === v165: single-office update + soft orange-to-green site canvas === */
:root{
  --canvas:#f3faed;
  --canvas-warm:#fff3dd;
  --paper:rgba(255,255,255,.92);
}

html{
  background:#edf9e7;
}

body{
  background:
    radial-gradient(circle at 10% -4%, rgba(255, 162, 26, .24), transparent 28rem),
    radial-gradient(circle at 92% 10%, rgba(255, 196, 92, .14), transparent 24rem),
    radial-gradient(circle at 84% 92%, rgba(94, 219, 92, .20), transparent 32rem),
    linear-gradient(180deg, #fff0d9 0%, #fff8ec 27%, #f6fceb 58%, #e9f9e5 100%)!important;
  background-attachment: fixed;
}

.site-header{
  background:rgba(255,255,255,.84);
  border-bottom-color:rgba(226, 232, 219, .72);
}
.site-header.is-scrolled{background:rgba(255,255,255,.93);}

.section.alt,
.section-soft,
.showcase-block:nth-of-type(even){
  background:
    radial-gradient(circle at 6% 0%, rgba(255, 162, 26, .10), transparent 21rem),
    linear-gradient(180deg, rgba(255, 246, 228, .52), rgba(235, 250, 229, .46))!important;
}

.home-hero-slider{
  background:linear-gradient(180deg, rgba(255,240,217,.74), rgba(236,250,229,.30))!important;
}

body[data-page="index.php"] .home-hero-slider{
  background:linear-gradient(180deg, rgba(255,240,217,.70) 0%, rgba(246,252,235,.42) 100%)!important;
}

body[data-page="index.php"] .destination-rail,
.hero-card,
.info-card,
.contact-card,
.map-card,
.guide-card,
.offer-card,
.region-card-body,
.system-card,
.diagnostic-card,
.tv-test-card,
.modal-card,
.cookie-banner{
  background-color:rgba(255,255,255,.90);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

@media (max-width:640px){
  body{
    background:
      radial-gradient(circle at 18% -8%, rgba(255, 162, 26, .22), transparent 22rem),
      radial-gradient(circle at 85% 92%, rgba(94, 219, 92, .20), transparent 24rem),
      linear-gradient(180deg, #fff0d9 0%, #fff7eb 34%, #eefae7 100%)!important;
    background-attachment:scroll;
  }
  body[data-page="index.php"] .home-hero-slider{
    background:linear-gradient(180deg, #fff0d9 0%, #f9f7e8 46%, #eaf8e5 100%)!important;
  }
}

/* === v166: richer header, icon nav, smoother global gradient, Russia coverage block === */
html{
  background:linear-gradient(180deg,#fff6ea 0%,#f7fbf1 46%,#eef9ef 100%);
}
body{
  background:
    radial-gradient(circle at 4% 2%, rgba(246, 162, 26, .16), transparent 24rem),
    radial-gradient(circle at 96% 3%, rgba(94, 219, 92, .16), transparent 24rem),
    radial-gradient(circle at 52% 38%, rgba(255, 241, 220, .72), transparent 30rem),
    linear-gradient(180deg, #fff6ea 0%, #fff9f2 18rem, #f8fbf2 44rem, #eef9ef 100%) !important;
}
.site-header,
.site-header.is-scrolled{
  background:rgba(255, 251, 245, .92)!important;
}
.brand-text small{
  gap:4px 12px!important;
}
.brand-text small span,
.brand-text small span:first-child{
  color:#28863c!important;
  font-weight:850!important;
}
.btn-header-cta{
  width:188px!important;
  min-height:68px!important;
  padding:10px 12px 10px 18px!important;
  font-size:.92rem!important;
  box-shadow:0 16px 34px rgba(255,138,0,.24)!important;
}
.cta-arrow{
  width:44px!important;
  height:44px!important;
  background:rgba(255,255,255,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
.cta-arrow svg{
  width:22px!important;
  height:22px!important;
  stroke-width:2.5!important;
}

.desktop-nav{
  gap:4px!important;
  padding:6px!important;
}
.desktop-nav a,
.site-header.site-header-two-row .desktop-nav a{
  gap:9px!important;
  padding:0 16px!important;
}
.nav-pill-icon{
  width:26px;
  height:26px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:#1b7d37;
  background:linear-gradient(135deg, rgba(94,219,92,.14), rgba(255,255,255,.95));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
}
.nav-pill-icon svg{
  width:15px;
  height:15px;
}
.nav-pill-label{
  white-space:nowrap;
}
.desktop-nav a:hover .nav-pill-icon,
.desktop-nav a.is-active .nav-pill-icon,
.site-header.site-header-two-row .desktop-nav a:hover .nav-pill-icon,
.site-header.site-header-two-row .desktop-nav a.is-active .nav-pill-icon{
  color:var(--orange-strong);
  background:linear-gradient(135deg, rgba(246,162,26,.22), rgba(94,219,92,.22));
}
.mobile-nav a{
  align-items:center!important;
}
.mobile-nav-copy{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
.mobile-nav-copy > span:last-child{
  display:block!important;
  white-space:normal!important;
  line-height:1.18!important;
}
.mobile-nav-icon{
  width:40px;
  height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.mobile-nav-icon svg{
  width:18px;
  height:18px;
}
.mobile-nav a.is-active .mobile-nav-icon{
  background:rgba(255,255,255,.22)!important;
  color:#fff4db!important;
}

body[data-page="index.php"] .home-hero-slider{
  background:linear-gradient(180deg, rgba(255,246,234,.88) 0%, rgba(248,252,242,.9) 44%, rgba(238,249,239,.96) 100%)!important;
}

.geo-presence{
  padding:6px 0 22px;
}
.geo-presence-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:18px;
}
.geo-card{
  position:relative;
  padding:24px 24px 22px;
  border-radius:26px;
  border:1px solid rgba(212,227,215,.9);
  background:rgba(255,255,255,.76);
  box-shadow:0 14px 34px rgba(24,54,48,.07);
  backdrop-filter:blur(8px);
}
.geo-card-primary{
  background:linear-gradient(135deg, rgba(255,247,234,.95), rgba(241,253,239,.94));
  border-color:rgba(246,162,26,.18);
}
.geo-card-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.geo-icon{
  width:42px;
  height:42px;
  border-radius:15px;
  display:grid;
  place-items:center;
  color:#ff8a00;
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86), 0 10px 20px rgba(24,54,48,.06);
}
.geo-icon-plane{
  color:#1f9a4d;
}
.geo-icon svg{
  width:20px;
  height:20px;
  stroke-width:2.2;
}
.geo-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:850;
  color:#a65a00;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(246,162,26,.16);
}
.geo-badge-green{
  color:#1d7d40;
  border-color:rgba(94,219,92,.18);
}
.geo-card h2{
  margin-bottom:10px;
  font-size:clamp(1.3rem,2vw,1.8rem);
  line-height:1.08;
}
.geo-card p,
.geo-note{
  margin:0;
  color:#506565;
}
.geo-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.geo-chip-list span{
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.82rem;
  font-weight:820;
  color:#264344;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(237,248,238,.94));
  border:1px solid rgba(212,227,215,.92);
  box-shadow:0 8px 18px rgba(24,54,48,.05);
  transition:transform .18s ease, box-shadow .18s ease;
}
.geo-chip-list span:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(24,54,48,.09);
}

@media (max-width:1080px){
  .btn-header-cta{width:176px!important;}
  .desktop-nav a,
  .site-header.site-header-two-row .desktop-nav a{padding:0 13px!important;font-size:.78rem!important;}
  .nav-pill-icon{width:24px;height:24px;}
  .geo-presence-grid{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .brand-text small span:last-child{display:none;}
  .site-header.site-header-two-row .desktop-nav a,
  .desktop-nav a{
    gap:7px!important;
    padding:0 12px!important;
  }
  .nav-pill-icon{width:22px;height:22px;}
  .nav-pill-icon svg{width:13px;height:13px;}
  .geo-card{padding:20px 18px;}
}
@media (max-width:640px){
  .geo-presence{padding:0 0 18px;}
  .geo-card h2{font-size:1.18rem;}
  .geo-card-top{align-items:flex-start;}
  .geo-chip-list{gap:8px;}
  .geo-chip-list span{font-size:.78rem;padding:0 12px;}
}

/* === v167: mobile header messengers under brand + stronger CTA button === */
.btn-header-cta{
  width:188px!important;
  min-height:78px!important;
  padding:10px 12px 10px 18px!important;
  align-items:center!important;
}
.btn-header-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  text-align:left;
}
.btn-header-copy strong{
  display:block;
  font-size:.96rem;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.02em;
}
.btn-header-copy small{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
  font-size:.66rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.01em;
}
.cta-arrow{
  width:46px!important;
  height:46px!important;
  background:linear-gradient(135deg, rgba(255,255,255,.26), rgba(255,255,255,.16))!important;
}
.cta-arrow svg{
  width:24px!important;
  height:24px!important;
  stroke-width:2.8!important;
}

@media (max-width:860px){
  .site-header.site-header-two-row .header-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:start!important;
    gap:8px 10px!important;
  }
  .site-header.site-header-two-row .brand-cluster{
    grid-column:1 / 2!important;
    grid-row:1!important;
  }
  .site-header.site-header-two-row .header-actions{
    display:contents!important;
  }
  .site-header.site-header-two-row .menu-btn{
    grid-column:2 / 3!important;
    grid-row:1!important;
    align-self:start!important;
    justify-self:end!important;
    order:initial!important;
  }
  .site-header.site-header-two-row .contact-stack{
    grid-column:1 / -1!important;
    grid-row:2!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    margin:2px 0 0!important;
    padding:0 6px 0 80px!important;
    gap:10px!important;
    order:initial!important;
    min-width:0!important;
  }
  .site-header.site-header-two-row .contact-stack .phone-pill,
  .site-header.site-header-two-row .header-actions .btn-primary.btn-header-cta{
    display:none!important;
  }
  .site-header.site-header-two-row .contact-stack .brand-messengers{
    display:flex!important;
    flex-direction:row!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:10px!important;
    width:auto!important;
  }
  .site-header.site-header-two-row .contact-stack .messenger-btn{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    border-radius:50%!important;
  }
}
@media (max-width:520px){
  .site-header.site-header-two-row .contact-stack{
    padding-left:72px!important;
    gap:9px!important;
  }
  .site-header.site-header-two-row .contact-stack .messenger-btn{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }
}
@media (max-width:390px){
  .site-header.site-header-two-row .contact-stack{
    padding-left:66px!important;
    gap:8px!important;
  }
}

/* === v167: mobile messenger row fix, stronger CTA, livelier background gradient === */
html{
  background:
    linear-gradient(180deg, #ffedd6 0%, #fff3e1 18%, #fff6ea 32%, #f6fbef 58%, #e8f8e8 100%) !important;
}
body{
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 164, 25, .24), transparent 26rem),
    radial-gradient(circle at 100% 4%, rgba(94, 219, 92, .24), transparent 25rem),
    radial-gradient(circle at 50% 38%, rgba(255, 216, 162, .32), transparent 26rem),
    radial-gradient(circle at 54% 58%, rgba(185, 241, 183, .30), transparent 25rem),
    linear-gradient(180deg, #ffedd6 0%, #fff2df 17%, #fff6eb 29%, #fbf8e6 43%, #f3faed 62%, #e8f8e8 100%) !important;
}

.btn-header-cta{
  width:194px!important;
  min-height:78px!important;
  padding:11px 12px 11px 18px!important;
  align-items:center!important;
  gap:12px!important;
}
.btn-cta-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  text-align:left;
}
.btn-cta-copy strong{
  display:block;
  color:#fff;
  font-size:.98rem;
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.02em;
}
.btn-cta-copy small{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 10px;
  border-radius:999px;
  color:#fff8ed;
  background:rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  font-size:.68rem;
  line-height:1;
  font-weight:860;
  letter-spacing:.01em;
  white-space:nowrap;
}
.cta-arrow{
  width:50px!important;
  height:50px!important;
  flex:0 0 auto!important;
  background:linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,.14))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24), 0 8px 18px rgba(178, 89, 1, .12)!important;
}
.cta-arrow svg{
  width:25px!important;
  height:25px!important;
  stroke-width:3.1!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

@media (max-width:860px){
  .site-header.site-header-two-row .header-top{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    gap:8px 10px!important;
  }
  .site-header.site-header-two-row .brand-cluster{
    grid-column:1 / 2!important;
    grid-row:1!important;
  }
  .site-header.site-header-two-row .header-actions{
    display:contents!important;
  }
  .site-header.site-header-two-row .menu-btn{
    grid-column:2 / 3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:start!important;
  }
  .site-header.site-header-two-row .contact-stack{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 10px 0 12px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .site-header.site-header-two-row .contact-stack .phone-pill,
  .site-header.site-header-two-row .header-actions .btn-primary.btn-header-cta{
    display:none!important;
  }
  .site-header.site-header-two-row .contact-stack .brand-messengers{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    align-self:flex-start!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
    width:auto!important;
  }
  .site-header.site-header-two-row .contact-stack .messenger-btn{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    border-radius:50%!important;
  }
}
@media (max-width:520px){
  .site-header.site-header-two-row .contact-stack{
    padding:0 8px 0 10px!important;
    gap:9px!important;
  }
  .site-header.site-header-two-row .contact-stack .brand-messengers{
    gap:9px!important;
  }
  .site-header.site-header-two-row .contact-stack .messenger-btn{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  .btn-header-cta{
    width:188px!important;
    min-height:76px!important;
  }
}


/* === v168: smart compact search widget search on mobile homepage === */
@media (max-width:640px){
  body[data-page="index.php"] .home-tourvisor-search{
    --tv-mobile-collapsed:430px;
    --tv-mobile-expanded:min(76vh,720px);
    order:1!important;
    width:calc(100% - 16px)!important;
    margin:0 auto 12px!important;
    padding:6px!important;
    border-radius:26px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.16))!important;
    border:1px solid rgba(255,255,255,.62)!important;
    box-shadow:0 16px 38px rgba(2,34,42,.18), inset 0 1px 0 rgba(255,255,255,.55)!important;
    -webkit-backdrop-filter:blur(14px) saturate(140%)!important;
    backdrop-filter:blur(14px) saturate(140%)!important;
    overflow:hidden!important;
    transform:none!important;
    transition:max-height .18s ease,height .18s ease,box-shadow .18s ease,background .18s ease!important;
  }

  body[data-page="index.php"] .home-tourvisor-search:hover,
  body[data-page="index.php"] .home-tourvisor-search:focus-within{
    transform:none!important;
  }

  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover{
    background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.16))!important;
    box-shadow:0 16px 38px rgba(2,34,42,.18), inset 0 1px 0 rgba(255,255,255,.55)!important;
  }

  body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search .tv-search-compact{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    line-height:0!important;
  }

  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-frame{
    width:100%!important;
    height:var(--tv-mobile-collapsed)!important;
    min-height:var(--tv-mobile-collapsed)!important;
    max-height:var(--tv-mobile-collapsed)!important;
    margin:0!important;
    padding:0!important;
    border-radius:22px!important;
    overflow:hidden!important;
    display:block!important;
    line-height:0!important;
    transition:height .18s ease,min-height .18s ease,max-height .18s ease,box-shadow .18s ease!important;
  }

  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card{
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(255,255,255,.92)!important;
    box-shadow:0 12px 28px rgba(15,23,42,.11), inset 0 1px 0 rgba(255,255,255,.9)!important;
  }

  body[data-page="index.php"] .home-tourvisor-search.is-expanded,
  body[data-page="index.php"] .home-tourvisor-search.is-dropdown-open{
    overflow:visible!important;
    background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.28))!important;
    box-shadow:0 24px 62px rgba(2,34,42,.25), inset 0 1px 0 rgba(255,255,255,.72)!important;
  }

  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-expanded .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search.is-dropdown-open .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search.is-dropdown-open .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search.is-dropdown-open .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search.is-dropdown-open .tourvisor-bridge-frame{
    height:var(--tv-mobile-expanded)!important;
    min-height:var(--tv-mobile-expanded)!important;
    max-height:var(--tv-mobile-expanded)!important;
    overflow:visible!important;
  }
}

@media (max-width:420px){
  body[data-page="index.php"] .home-tourvisor-search{
    --tv-mobile-collapsed:410px;
    --tv-mobile-expanded:min(78vh,690px);
    width:calc(100% - 12px)!important;
    padding:5px!important;
    border-radius:24px!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    border-radius:20px!important;
  }
}


/* === v169: mobile homepage search widget no internal scrollbar + tighter collapsed height === */
@media (max-width:640px){
  body[data-page="index.php"] .home-tourvisor-search{
    --tv-mobile-collapsed:500px;
    --tv-mobile-expanded:min(82vh,720px);
    margin-bottom:8px!important;
  }
  body[data-page="index.php"] .home-tourvisor-search,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-shell,
  body[data-page="index.php"] .home-tourvisor-search .tv-search-compact,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card{
    overflow:hidden!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-frame{
    height:var(--tv-mobile-collapsed)!important;
    min-height:var(--tv-mobile-collapsed)!important;
    max-height:var(--tv-mobile-collapsed)!important;
    overflow:hidden!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame{
    border:0!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
}
@media (max-width:420px){
  body[data-page="index.php"] .home-tourvisor-search{
    --tv-mobile-collapsed:500px;
  }
}


/* === v170: exact search widget frame height, no empty white bottom on homepage/search page === */
@media (max-width:640px){
  body[data-page="index.php"] .home-tourvisor-search{
    --tv-mobile-collapsed:420px;
    --tv-mobile-expanded:min(82vh,720px);
    margin-bottom:6px!important;
  }
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search .tourvisor-bridge-frame,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-widget-clean,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-card,
  body[data-page="index.php"] .home-tourvisor-search:not(.is-expanded):hover .tourvisor-bridge-frame{
    height:var(--tv-mobile-collapsed)!important;
    min-height:var(--tv-mobile-collapsed)!important;
    max-height:var(--tv-mobile-collapsed)!important;
  }
}
@media (max-width:420px){
  body[data-page="index.php"] .home-tourvisor-search{--tv-mobile-collapsed:414px;}
}

.result-widget-shell,
.result-widget-shell-large,
.result-widget-shell .tourvisor-shell,
.result-widget-shell .tourvisor-widget,
.result-widget-shell .tourvisor-widget-clean,
.result-widget-shell .tourvisor-bridge-card{
  height:var(--tv-result-frame-height, 640px)!important;
  min-height:var(--tv-result-frame-height, 640px)!important;
  max-height:var(--tv-result-frame-height, none)!important;
  overflow:hidden!important;
}
.result-widget-shell .tourvisor-bridge-frame{
  width:100%!important;
  height:var(--tv-result-frame-height, 640px)!important;
  min-height:var(--tv-result-frame-height, 640px)!important;
  max-height:var(--tv-result-frame-height, none)!important;
  overflow:hidden!important;
  border:0!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.result-widget-shell .tourvisor-bridge-frame::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
@media (max-width:640px){
  .result-widget-shell,
  .result-widget-shell-large,
  .result-widget-shell .tourvisor-shell,
  .result-widget-shell .tourvisor-widget,
  .result-widget-shell .tourvisor-widget-clean,
  .result-widget-shell .tourvisor-bridge-card,
  .result-widget-shell .tourvisor-bridge-frame{
    height:var(--tv-result-frame-height, 520px)!important;
    min-height:var(--tv-result-frame-height, 520px)!important;
  }
}


/* === v171: exact empty-space removal for Search tours + Hotels tabs === */
body[data-page="search.php"] .result-widget-shell,
body[data-page="search.php"] .result-widget-shell-large{
  --tv-result-frame-height:380px;
  height:var(--tv-result-frame-height)!important;
  min-height:0!important;
  max-height:var(--tv-result-frame-height)!important;
  overflow:hidden!important;
  transition:height .18s ease, max-height .18s ease!important;
}
body[data-page="search.php"] .result-widget-shell .tourvisor-shell,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget-clean,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-card,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-frame{
  height:var(--tv-result-frame-height)!important;
  min-height:0!important;
  max-height:var(--tv-result-frame-height)!important;
  overflow:hidden!important;
  background:#fff!important;
}
body[data-page="search.php"] .tv-search-extended{
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
body[data-page="search.php"] .tv-search-extended .tourvisor-head{
  margin-bottom:10px!important;
}
@media (max-width:640px){
  body[data-page="search.php"] .result-widget-shell,
  body[data-page="search.php"] .result-widget-shell-large{
    --tv-result-frame-height:360px;
  }
  body[data-page="search.php"] .search-results-first{
    padding-bottom:18px!important;
  }
}

/* === v173: safer search widget iframe height + cleaner homepage content cards === */
body[data-page="search.php"] .result-widget-shell,
body[data-page="search.php"] .result-widget-shell-large{
  --tv-result-frame-height:620px;
  min-height:var(--tv-result-frame-height)!important;
  height:var(--tv-result-frame-height)!important;
  max-height:var(--tv-result-frame-height)!important;
  overflow:hidden!important;
}
body[data-page="search.php"] .result-widget-shell .tourvisor-shell,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget-clean,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-card,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-frame{
  min-height:var(--tv-result-frame-height)!important;
  height:var(--tv-result-frame-height)!important;
  max-height:var(--tv-result-frame-height)!important;
  overflow:hidden!important;
}
body[data-page="search.php"] .tv-search-extended{
  overflow:visible!important;
  padding:14px!important;
  border-radius:28px!important;
}
body[data-page="search.php"] .tv-search-extended .tourvisor-head{
  margin-bottom:16px!important;
}
@media (max-width:640px){
  body[data-page="search.php"] .result-widget-shell,
  body[data-page="search.php"] .result-widget-shell-large{
    --tv-result-frame-height:660px;
  }
  body[data-page="search.php"] .tv-search-extended{
    padding:10px!important;
    border-radius:24px!important;
  }
}

body[data-page="index.php"] .region-card{
  min-height:260px;
  background:#102b2b!important;
}
body[data-page="index.php"] .region-card img{
  height:100%!important;
  min-height:260px;
  display:block;
  filter:saturate(1.04) contrast(1.02);
}
body[data-page="index.php"] .region-card::after{
  background:linear-gradient(180deg, rgba(6,31,29,.06) 15%, rgba(6,31,29,.44) 58%, rgba(6,31,29,.88) 100%)!important;
}
body[data-page="index.php"] .region-card-body{
  right:18px!important;
  bottom:18px!important;
  left:18px!important;
  padding:0!important;
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#fff!important;
}
body[data-page="index.php"] .region-card-body strong{
  font-size:clamp(1.18rem,1.6vw,1.55rem)!important;
  line-height:1.05!important;
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.42);
}
body[data-page="index.php"] .region-card-body span{
  margin-top:7px!important;
  color:rgba(255,255,255,.86)!important;
  font-weight:800!important;
  text-shadow:0 1px 8px rgba(0,0,0,.35);
}

.expert-brief-section{
  position:relative;
}
.expert-note-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.expert-note-card{
  position:relative;
  min-height:238px;
  padding:22px 20px 20px;
  border-radius:24px;
  border:1px solid rgba(212,227,215,.88);
  background:linear-gradient(145deg, rgba(255,255,255,.92), rgba(241,253,239,.82));
  box-shadow:0 14px 34px rgba(24,54,48,.07);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.expert-note-card::before{
  content:"";
  position:absolute;
  width:86px;
  height:86px;
  right:-26px;
  top:-28px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,138,0,.20), rgba(94,219,92,.13) 58%, transparent 70%);
}
.expert-note-card:hover{
  transform:translateY(-4px);
  border-color:rgba(94,219,92,.45);
  box-shadow:0 22px 48px rgba(24,54,48,.11);
}
.expert-note-card > span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  color:#1f8a40;
  background:rgba(94,219,92,.13);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.expert-note-card h3{
  margin:16px 0 9px;
  font-size:1.08rem;
  line-height:1.12;
}
.expert-note-card p{
  margin:0;
  color:#536667;
  font-size:.88rem;
  line-height:1.48;
  font-weight:650;
}
.expert-note-card ul{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.expert-note-card li{
  position:relative;
  padding-left:18px;
  color:#294547;
  font-size:.78rem;
  font-weight:850;
}
.expert-note-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#ff8a00;
  font-weight:950;
}
@media (max-width:1080px){
  .expert-note-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .expert-note-grid{grid-template-columns:1fr;}
  .expert-note-card{min-height:0;padding:20px 18px;border-radius:22px;}
  body[data-page="index.php"] .region-card img{min-height:220px;}
  body[data-page="index.php"] .region-card{min-height:220px;}
}

/* === v174: unlimited result iframe growth + mobile adaptation polish === */
body[data-page="search.php"] .result-widget-shell,
body[data-page="search.php"] .result-widget-shell-large{
  --tv-result-frame-height:720px;
  max-height:none!important;
  overflow:visible!important;
  transition:min-height .18s ease,height .18s ease!important;
}
body[data-page="search.php"] .result-widget-shell .tourvisor-shell,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget-clean,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-card,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-frame{
  max-height:none!important;
  overflow:hidden!important;
}
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-frame{
  background:#fff!important;
  transform:translateZ(0);
}
@media (max-width:640px){
  body[data-page="search.php"] .result-widget-shell,
  body[data-page="search.php"] .result-widget-shell-large{
    --tv-result-frame-height:700px;
    border-radius:22px!important;
  }
  body[data-page="search.php"] .results-topbar.results-topbar-compact{
    gap:14px!important;
  }
  body[data-page="search.php"] .results-topbar.results-topbar-compact h1{
    font-size:clamp(2rem,12vw,3.1rem)!important;
    line-height:.94!important;
  }
}
@media (max-width:480px){
  body[data-page="search.php"] .wide-results-container{
    width:calc(100% - 14px)!important;
  }
  body[data-page="search.php"] .result-widget-shell-large{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v174: make editable important block safe on phones */
.expert-note-card{
  text-decoration:none!important;
  color:inherit!important;
}
@media (max-width:760px){
  .expert-brief-section .compact-head h2{
    font-size:clamp(1.85rem,9vw,2.6rem)!important;
    line-height:1.02!important;
  }
  .expert-note-card p{
    font-size:.92rem!important;
  }
}


/* === v175: stable country badges + full office address in trust card === */
body[data-page="index.php"] .destination-chip .emoji-flag,
body[data-page="index.php"] .mobile-destination-item .emoji-flag{
  width:34px!important;
  min-width:34px!important;
  height:24px!important;
  flex:0 0 34px!important;
  margin-right:9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,.08))!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16)!important;
  color:currentColor!important;
  font-family:var(--font-body), Arial, sans-serif!important;
  font-size:.72rem!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  transform:none!important;
  filter:none!important;
}
body[data-page="index.php"] .destination-chip.is-active .emoji-flag,
body[data-page="index.php"] .destination-chip:hover .emoji-flag{
  background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,.16))!important;
  border-color:rgba(255,255,255,.32)!important;
}
body[data-page="index.php"] .destination-chip .emoji-flag::before,
body[data-page="index.php"] .destination-chip .emoji-flag::after,
body[data-page="index.php"] .mobile-destination-item .emoji-flag::before,
body[data-page="index.php"] .mobile-destination-item .emoji-flag::after{
  display:none!important;
  content:none!important;
}
body[data-page="index.php"] .destination-chip .emoji-flag-all{
  width:26px!important;
  min-width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  font-size:.82rem!important;
  letter-spacing:0!important;
}
body[data-page="index.php"] .home-trust-grid article:nth-child(2) span{
  max-width:190px!important;
  margin-inline:auto!important;
  line-height:1.22!important;
}
@media (max-width:640px){
  body[data-page="index.php"] .mobile-destination-item .emoji-flag{
    width:32px!important;
    min-width:32px!important;
    height:23px!important;
    margin-right:8px!important;
    font-size:.7rem!important;
  }
  body[data-page="index.php"] .home-trust-grid article:nth-child(2) span{
    max-width:128px!important;
    font-size:.62rem!important;
  }
}


/* === v176: office address left aligned + search/hotels iframe collapses to real form edge === */
body[data-page="index.php"] .home-trust-grid article:nth-child(2){
  align-items:flex-start!important;
  text-align:left!important;
}
body[data-page="index.php"] .home-trust-grid article:nth-child(2) span{
  max-width:none!important;
  width:100%!important;
  margin-inline:0!important;
  text-align:left!important;
  line-height:1.22!important;
}
body[data-page="search.php"] .result-widget-shell,
body[data-page="search.php"] .result-widget-shell-large,
body[data-page="search.php"] .result-widget-shell .tourvisor-shell,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget-clean,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-card{
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-frame{
  min-height:340px!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#fff!important;
}
@media (max-width:640px){
  body[data-page="index.php"] .home-trust-grid article:nth-child(2) span{
    max-width:none!important;
    font-size:.68rem!important;
  }
  body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-frame{
    min-height:320px!important;
  }
}


/* === v177: compact hotels/search iframe before real search === */
body[data-page="search.php"] .result-widget-shell,
body[data-page="search.php"] .result-widget-shell-large{
  --tv-result-frame-height:420px!important;
  height:var(--tv-result-frame-height)!important;
  min-height:var(--tv-result-frame-height)!important;
  max-height:var(--tv-result-frame-height)!important;
  overflow:hidden!important;
}
body[data-page="search.php"] .result-widget-shell .tourvisor-shell,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget-clean,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-card,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-frame{
  height:var(--tv-result-frame-height)!important;
  min-height:var(--tv-result-frame-height)!important;
  max-height:var(--tv-result-frame-height)!important;
  overflow:hidden!important;
}
body[data-page="search.php"] .result-widget-shell[data-has-results="1"],
body[data-page="search.php"] .result-widget-shell-large[data-has-results="1"]{
  max-height:none!important;
}
@media (max-width:640px){
  body[data-page="search.php"] .result-widget-shell,
  body[data-page="search.php"] .result-widget-shell-large{
    --tv-result-frame-height:500px!important;
  }
}

/* === v178: exact search widget height, no endless white tail after results === */
body[data-page="search.php"] .result-widget-shell,
body[data-page="search.php"] .result-widget-shell-large,
body[data-page="search.php"] .result-widget-shell[data-has-results="1"],
body[data-page="search.php"] .result-widget-shell-large[data-has-results="1"]{
  height:var(--tv-result-frame-height, 420px)!important;
  min-height:var(--tv-result-frame-height, 420px)!important;
  max-height:var(--tv-result-frame-height, 420px)!important;
  overflow:hidden!important;
}
body[data-page="search.php"] .result-widget-shell .tourvisor-shell,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget,
body[data-page="search.php"] .result-widget-shell .tourvisor-widget-clean,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-card,
body[data-page="search.php"] .result-widget-shell .tourvisor-bridge-frame{
  height:var(--tv-result-frame-height, 420px)!important;
  min-height:var(--tv-result-frame-height, 420px)!important;
  max-height:var(--tv-result-frame-height, 420px)!important;
  overflow:hidden!important;
}
@media (max-width:640px){
  body[data-page="search.php"] .result-widget-shell,
  body[data-page="search.php"] .result-widget-shell-large{
    --tv-result-frame-height:500px;
  }
}

/* === v179: mom copy update for geography block and clear company age tile === */
.trust-company-age strong{
  display:flex;
  align-items:baseline;
  gap:6px;
  flex-wrap:wrap;
  line-height:.98;
}
.trust-company-age strong > span{
  display:inline-block;
}
.trust-company-age strong small{
  display:inline-block;
  color:var(--orange-strong);
  font-size:.84rem;
  font-weight:900;
  line-height:1;
  letter-spacing:-.025em;
}
.geo-card-top-art{
  min-height:48px;
  gap:10px;
  margin-bottom:16px;
}
.geo-route-art{
  position:relative;
  width:min(180px, 38vw);
  height:36px;
  border-radius:999px;
  background:
    radial-gradient(circle at 18% 50%, rgba(255,138,0,.28) 0 4px, transparent 5px),
    radial-gradient(circle at 52% 42%, rgba(51,195,90,.32) 0 4px, transparent 5px),
    radial-gradient(circle at 84% 50%, rgba(255,138,0,.24) 0 4px, transparent 5px),
    linear-gradient(135deg, rgba(255,255,255,.68), rgba(241,253,239,.64));
  border:1px solid rgba(246,162,26,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74), 0 10px 22px rgba(24,54,48,.055);
  overflow:hidden;
}
.geo-route-art::before{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:17px;
  height:2px;
  background:linear-gradient(90deg, rgba(255,138,0,.55), rgba(51,195,90,.55), rgba(255,138,0,.45));
  opacity:.9;
}
.geo-route-art i{
  position:absolute;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 4px rgba(255,255,255,.48), 0 4px 10px rgba(24,54,48,.08);
}
.geo-route-art i:nth-child(1){left:18%;}
.geo-route-art i:nth-child(2){left:52%;}
.geo-route-art i:nth-child(3){left:84%;}
.geo-icon-sun{
  color:#ff8a00;
  background:linear-gradient(135deg, rgba(255,247,234,.95), rgba(255,255,255,.7));
}
.geo-icon-plane-small{
  color:#1f9a4d;
  background:linear-gradient(135deg, rgba(240,252,239,.95), rgba(255,255,255,.72));
}
.geo-card-primary h2{
  max-width:720px;
}
.geo-card-primary p{
  max-width:760px;
  font-size:1.02rem;
  line-height:1.65;
  font-weight:740;
}
@media (max-width:640px){
  .trust-company-age strong{
    gap:4px;
  }
  .trust-company-age strong small{
    font-size:.68rem;
  }
  .geo-card-top-art{
    min-height:42px;
    margin-bottom:12px;
  }
  .geo-route-art{
    width:min(145px, 44vw);
    height:32px;
  }
  .geo-route-art::before{
    top:15px;
  }
  .geo-card-primary p{
    font-size:.94rem;
    line-height:1.55;
  }
}

/* === v180: clickable office address to map === */
.header-phone-link{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  color:var(--ink);
  text-decoration:none;
}
.header-phone-link:hover strong{
  color:var(--orange-strong);
}
.contact-map-link,
.footer-map-link,
.inline-map-link{
  text-decoration:none;
}
.contact-map-link:hover,
.footer-map-link:hover,
.inline-map-link:hover{
  color:var(--orange-strong)!important;
}
.trust-map-link{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-decoration:none;
  color:inherit;
}
.trust-map-link:hover strong,
.trust-map-link:hover span{
  color:var(--orange-strong)!important;
}
.trust-map-link span{
  transition:color .18s ease;
}
.map-card .inline-map-link{
  color:var(--ink);
  font-weight:850;
}
@media (max-width:640px){
  .header-phone-link{width:100%;}
}


/* === v182: make the first trust card match all other cards === */
.trust-company-age strong{
  display:block!important;
  color:var(--orange-strong)!important;
  font-family:Rubik, "Plus Jakarta Sans", sans-serif!important;
  font-size:1.34rem!important;
  font-weight:900!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.trust-company-age strong span,
.trust-company-age strong small{
  all:unset!important;
  color:inherit!important;
  font:inherit!important;
  letter-spacing:inherit!important;
}
@media (max-width:640px){
  .trust-company-age strong{
    font-size:1.05rem!important;
  }
}


/* === v184: safer storage UX + cleaner 50 countries card === */
.geo-card-top-art{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:auto!important;
  margin-bottom:18px!important;
}
.geo-route-art{
  display:none!important;
}
.geo-soft-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  padding:0 16px;
  border-radius:18px;
  color:#ff8a00;
  background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,247,234,.82));
  border:1px solid rgba(246,162,26,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 10px 22px rgba(24,54,48,.055);
}
.geo-soft-chip-green{
  color:#1f9a4d;
  background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,252,239,.84));
  border-color:rgba(94,219,92,.18);
}
.geo-soft-chip svg{
  width:18px;
  height:18px;
  stroke-width:2.35;
}
.geo-soft-chip b{
  display:block;
  color:#183630;
  font-size:.82rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.01em;
  white-space:nowrap;
}
.geo-card-primary p{
  max-width:820px!important;
  color:#556b6b!important;
  font-size:1.02rem!important;
  line-height:1.75!important;
  font-weight:760!important;
}
@media (max-width:640px){
  .geo-card-top-art{
    gap:8px!important;
    flex-wrap:wrap!important;
    margin-bottom:14px!important;
  }
  .geo-soft-chip{
    min-height:40px;
    padding:0 12px;
    border-radius:15px;
  }
  .geo-soft-chip b{
    font-size:.76rem;
  }
}

/* === v184: SEO pages + softer trust typography === */
body[data-page="index.php"] .trust-company-age strong,
.trust-company-age strong{
  font-family:"Plus Jakarta Sans", system-ui, sans-serif!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  line-height:1.02!important;
  font-size:clamp(1.34rem,1.9vw,1.72rem)!important;
  text-wrap:balance;
}
body[data-page="index.php"] .home-trust strong{
  font-family:"Plus Jakarta Sans", system-ui, sans-serif!important;
  font-weight:800!important;
}
.seo-hub{padding:26px 0 34px;}
.seo-hub-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:22px;
  align-items:stretch;
}
.seo-hub-copy,
.seo-hub-links,
.seo-hero-card,
.seo-content-card,
.faq-wrap{
  border:1px solid rgba(212,227,215,.92);
  border-radius:28px;
  background:rgba(255,255,255,.74);
  box-shadow:0 14px 34px rgba(24,54,48,.06);
  backdrop-filter:blur(8px);
}
.seo-hub-copy{padding:24px;}
.seo-hub-copy h2{margin:8px 0 10px;font-size:clamp(1.45rem,2.4vw,2.1rem);line-height:1.05;}
.seo-hub-copy p{margin:0;color:var(--muted);font-weight:720;line-height:1.55;}
.seo-hub-links{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.seo-hub-links div{display:flex;flex-direction:column;gap:9px;}
.seo-hub-links strong{font-size:.86rem;color:var(--deep);margin-bottom:4px;}
.seo-hub-links a{
  min-height:38px;
  display:flex;
  align-items:center;
  padding:0 14px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,246,234,.94),rgba(241,253,239,.94));
  border:1px solid rgba(212,227,215,.82);
  color:#254445;
  font-weight:820;
  font-size:.82rem;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.seo-hub-links a:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(24,54,48,.08);border-color:rgba(246,162,26,.28);}
.seo-hero{padding:44px 0 34px;}
.seo-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch;}
.seo-hero-copy{
  padding:34px;
  border-radius:32px;
  border:1px solid rgba(246,162,26,.16);
  background:linear-gradient(135deg,rgba(255,247,234,.92),rgba(240,252,239,.92));
  box-shadow:0 18px 46px rgba(24,54,48,.075);
}
.seo-hero-copy h1{margin:10px 0 14px;font-size:clamp(2rem,4.2vw,4.5rem);line-height:.98;letter-spacing:-.065em;}
.seo-hero-copy p{max-width:820px;margin:0;color:var(--muted);font-size:1.04rem;line-height:1.65;font-weight:720;}
.seo-hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 22px;}
.seo-hero-tags span{
  display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;
  background:#fff;border:1px solid rgba(212,227,215,.86);font-weight:850;font-size:.82rem;color:#244546;
}
.seo-hero-card{padding:26px;display:flex;flex-direction:column;justify-content:center;}
.seo-hero-card strong{display:block;margin-bottom:14px;color:var(--orange-strong);font-size:1.35rem;line-height:1;font-weight:840;letter-spacing:-.04em;}
.seo-hero-card ul{margin:0;padding:0;list-style:none;display:grid;gap:12px;}
.seo-hero-card li{position:relative;padding-left:22px;color:#526767;font-weight:740;line-height:1.45;}
.seo-hero-card li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--orange-strong),#55cc59);}
.seo-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.seo-link-grid-small{grid-template-columns:repeat(4,minmax(0,1fr));}
.seo-link-card{
  min-height:164px;
  padding:20px;
  border-radius:24px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(212,227,215,.9);
  box-shadow:0 12px 28px rgba(24,54,48,.055);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.seo-link-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(24,54,48,.09);border-color:rgba(246,162,26,.25);}
.seo-link-card span{font-size:.75rem;font-weight:860;color:#1f8b43;text-transform:uppercase;letter-spacing:.03em;}
.seo-link-card strong{font-size:1.14rem;line-height:1.08;color:var(--deep);letter-spacing:-.035em;}
.seo-link-card p{margin:10px 0 0;color:var(--muted);font-weight:700;font-size:.86rem;line-height:1.45;}
.seo-content-card{padding:28px;}
.seo-content-card h2{font-size:clamp(1.45rem,2.2vw,2.25rem);line-height:1.06;margin:0 0 14px;}
.seo-content-card p{color:var(--muted);font-weight:720;line-height:1.68;margin:0 0 12px;}
.faq-wrap{padding:24px;}
.faq-list{display:grid;gap:10px;}
.faq-list details{border:1px solid rgba(212,227,215,.9);border-radius:18px;background:#fff;padding:0 16px;}
.faq-list summary{cursor:pointer;min-height:52px;display:flex;align-items:center;font-weight:860;color:var(--deep);}
.faq-list p{margin:0 0 16px;color:var(--muted);font-weight:700;line-height:1.55;}
.footer-seo-links{grid-column:1 / -1;margin-top:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);}
.footer-seo-links h3{margin-bottom:12px;}
.footer-seo-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.footer-seo-columns strong{display:block;margin-bottom:8px;color:#fff;font-size:.86rem;}
@media (max-width:980px){
  .seo-hub-grid,.seo-hero-grid{grid-template-columns:1fr;}
  .seo-link-grid,.seo-link-grid-small{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  body[data-page="index.php"] .trust-company-age strong,.trust-company-age strong{font-size:1.22rem!important;letter-spacing:-.035em!important;}
  .seo-hero{padding:20px 0 24px;}
  .seo-hero-copy{padding:22px;border-radius:24px;}
  .seo-hero-copy h1{font-size:2rem;}
  .seo-hero-copy p{font-size:.94rem;}
  .seo-hero-card,.seo-content-card,.faq-wrap,.seo-hub-copy,.seo-hub-links{padding:18px;border-radius:22px;}
  .seo-hub-links,.seo-link-grid,.seo-link-grid-small,.footer-seo-columns{grid-template-columns:1fr;}
  .seo-link-card{min-height:142px;}
}


/* === v186: advanced SEO landing pages + softer 18 years card === */
body[data-page="index.php"] .trust-company-age strong,
.trust-company-age strong{
  font-family: var(--font-display, "Inter"), system-ui, sans-serif!important;
  font-weight:740!important;
  letter-spacing:-.052em!important;
  font-size:clamp(1.28rem,1.75vw,1.62rem)!important;
  line-height:1.04!important;
}
body[data-page="index.php"] .home-trust strong{font-weight:760!important;}
.seo-hub-links{grid-template-columns:repeat(3,minmax(0,1fr));}
.seo-keyword-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.seo-keyword-strip span{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:999px;background:linear-gradient(135deg,rgba(255,246,234,.94),rgba(239,251,238,.94));border:1px solid rgba(212,227,215,.9);font-size:.78rem;font-weight:820;color:#284748;}
.seo-content-card a{font-weight:850;color:var(--orange-strong);}
@media(max-width:980px){.seo-hub-links{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){body[data-page="index.php"] .trust-company-age strong,.trust-company-age strong{font-size:1.12rem!important;font-weight:760!important;}.seo-hub-links{grid-template-columns:1fr;}}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;}
body[data-page="index.php"] .trust-company-age strong,.trust-company-age strong{font-weight:700!important;}


/* === v186: SEO landing polish and softer trust-card typography === */
.home-trust-grid article:first-child strong,
.home-trust-grid article:first-child strong *{
  font-weight:760!important;
  letter-spacing:-.045em!important;
  font-stretch:normal;
}
.home-trust-grid article strong{
  text-wrap:balance;
}
.footer-seo-columns-wide{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.seo-content-card .seo-link-grid-small{margin-top:18px;}
.seo-hero-copy .eyebrow{max-width:100%;}
@media (max-width: 980px){.footer-seo-columns-wide{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media (max-width: 640px){.footer-seo-columns-wide{grid-template-columns:1fr!important}.home-trust-grid article:first-child strong{font-size:1.55rem!important;}}

/* === v188: anonymized cruise search and search fallbacks === */
body[data-page="cruises.php"] .cruises-hero{
  background:
    linear-gradient(115deg, rgba(8,45,52,.92), rgba(14,98,112,.74)),
    url("../img/cruise-volga.jpg") center / cover no-repeat;
}
body[data-page="cruises.php"] .cruises-hero h1,
body[data-page="cruises.php"] .cruises-hero p{
  color:#fff;
}
body[data-page="cruises.php"] .cruises-hero .eyebrow{
  background:rgba(255,255,255,.18);
  color:#fff;
  border-color:rgba(255,255,255,.22);
}
.cruise-help-card{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.cruise-help-card h3{
  margin:0;
  font-size:1.45rem;
  line-height:1.1;
}
.cruise-help-card p{
  margin:0;
  color:#5c6f70;
}
.cruise-live-search-section{
  position:relative;
  padding-top:34px;
}
.cruise-live-search-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:270px;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,138,0,.14), transparent 24rem),
    radial-gradient(circle at 82% 6%, rgba(94,219,92,.16), transparent 24rem);
}
.cruise-search-shell{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(212,227,215,.9);
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(242,253,240,.88)),
    radial-gradient(circle at 12% 8%, rgba(255,138,0,.12), transparent 28rem),
    radial-gradient(circle at 90% 0%, rgba(94,219,92,.12), transparent 28rem);
  box-shadow:0 24px 70px rgba(15,45,42,.11);
  padding:26px;
}
.cruise-search-shell::after{
  content:"";
  position:absolute;
  right:-90px;
  top:-110px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(94,219,92,.18), transparent 68%);
  pointer-events:none;
}
.cruise-search-intro{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);
  gap:22px;
  align-items:end;
  margin-bottom:20px;
}
.cruise-search-intro h2{
  margin:10px 0 10px;
  font-size:clamp(2rem,4vw,3.55rem);
  line-height:.95;
  letter-spacing:-.055em;
}
.cruise-search-intro p{
  max-width:820px;
  margin:0;
  font-size:1rem;
  line-height:1.75;
  color:#526768;
  font-weight:750;
}
.cruise-search-benefits{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.cruise-search-benefits span{
  min-height:38px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(212,227,215,.9);
  background:rgba(255,255,255,.75);
  color:#213e3f;
  font-size:.78rem;
  font-weight:900;
  box-shadow:0 10px 24px rgba(15,45,42,.05);
}
.cruise-widget-wrap{
  position:relative;
  z-index:1;
}
.cruise-widget-wrap .mc-agency_body{
  position:relative;
  min-height:620px;
  border-radius:28px;
  border:1px solid rgba(211,226,216,.98);
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96), 0 18px 48px rgba(15,45,42,.08);
  overflow:visible;
  box-sizing:border-box;
}
.cruise-widget-wrap .mc-agency_body *,
.cruise-widget-wrap .mc-agency_body *::before,
.cruise-widget-wrap .mc-agency_body *::after{
  box-sizing:border-box;
}
.cruise-widget-wrap .mc-agency_body-content{
  min-height:560px;
  width:100%;
}
.cruise-widget-wrap .mc-agency_body-preloader{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:28px;
  border-radius:28px;
  background:
    radial-gradient(circle at 45% 30%, rgba(94,219,92,.16), transparent 20rem),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,253,242,.96));
  color:#173334;
  text-align:center;
}
.cruise-widget-wrap .mc-agency_body.is-ready .mc-agency_body-preloader,
.cruise-widget-wrap.is-ready .mc-agency_body-preloader,
.cruise-widget-wrap.is-error .mc-agency_body-preloader{
  display:none!important;
}
.preloader-loading_please-wait{
  max-width:320px;
  font-weight:900;
  font-size:1.02rem;
  line-height:1.35;
}
.preloader-block-image_spin{
  width:48px;
  height:48px;
  border-radius:50%;
  border:5px solid rgba(94,219,92,.20);
  border-top-color:var(--orange-strong);
  animation:cruiseSearchSpin .9s linear infinite;
}
@keyframes cruiseSearchSpin{
  to{transform:rotate(360deg)}
}
.cruise-widget-fallback{
  margin-top:14px;
  padding:18px 20px;
  border-radius:22px;
  border:1px solid rgba(255,138,0,.22);
  background:linear-gradient(135deg, rgba(255,248,237,.98), rgba(255,255,255,.94));
  box-shadow:0 14px 30px rgba(15,45,42,.06);
}
.cruise-widget-fallback[hidden]{display:none!important;}
.cruise-widget-fallback strong{
  display:block;
  margin-bottom:6px;
  color:#173334;
  font-size:1rem;
}
.cruise-widget-fallback p{
  margin:0 0 12px;
  color:#5b6b6b;
  font-size:.92rem;
  line-height:1.6;
}
.cruise-search-note{
  position:relative;
  z-index:1;
  margin-top:16px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  padding:18px 20px;
  border-radius:24px;
  border:1px solid rgba(212,227,215,.88);
  background:rgba(255,255,255,.72);
}
.cruise-search-note span{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:0 12px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,138,0,.14), rgba(94,219,92,.16));
  color:#a75c00;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.cruise-search-note p{
  margin:0;
  color:#536868;
  font-weight:750;
  line-height:1.65;
}
body[data-page="cruises.php"] .cruise-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body[data-page="cruises.php"] .cruise-card:hover{
  transform:translateY(-3px);
  border-color:rgba(94,219,92,.35);
  box-shadow:0 18px 44px rgba(15,45,42,.10);
}
@media (max-width:980px){
  .cruise-search-intro{
    grid-template-columns:1fr;
    align-items:start;
  }
  .cruise-search-benefits{
    justify-content:flex-start;
  }
  .cruise-widget-wrap .mc-agency_body{
    min-height:680px;
  }
  .cruise-widget-wrap .mc-agency_body-content{
    min-height:620px;
  }
}
@media (max-width:640px){
  .cruise-live-search-section{
    padding-top:18px;
  }
  .cruise-search-shell{
    width:calc(100% + 4px);
    margin-left:-2px;
    padding:14px;
    border-radius:26px;
  }
  .cruise-search-intro{
    gap:16px;
    margin-bottom:14px;
  }
  .cruise-search-intro h2{
    font-size:2rem;
    letter-spacing:-.045em;
  }
  .cruise-search-intro p{
    font-size:.9rem;
    line-height:1.62;
  }
  .cruise-search-benefits{
    gap:8px;
  }
  .cruise-search-benefits span{
    min-height:34px;
    padding:0 11px;
    font-size:.7rem;
  }
  .cruise-widget-wrap .mc-agency_body{
    min-height:720px;
    border-radius:22px;
    overflow:visible;
  }
  .cruise-widget-wrap .mc-agency_body-content{
    min-height:660px;
  }
  .cruise-widget-wrap .mc-agency_body-preloader{
    border-radius:22px;
    padding:20px;
  }
  .cruise-search-note{
    grid-template-columns:1fr;
    padding:16px;
    border-radius:20px;
  }
}


/* === v189: cruise page cleanup === */
.cruise-live-search-section-first{
  padding-top:34px!important;
}
.cruise-live-search-section-first .cruise-search-shell{
  margin-top:0!important;
}
@media (max-width:720px){
  .cruise-live-search-section-first{padding-top:20px!important;}
}
