/* Reference-led home layout. These rules are scoped to the entry screen;
   the existing search, routing and results components retain their behavior. */
:root {
  --hv-bg: #fcfbf8; --hv-ink: #172923; --hv-muted: #707873;
  --hv-line: #e7e6df; --hv-green: #17473d; --hv-green-hover: #10382f;
  --hv-gold: #a78136; --hv-serif: 'Newsreader', Georgia, serif;
  --hv-max: 1280px; --hv-gutter: clamp(24px, 5vw, 80px);
}
section:has(> .ty-home-v2) { background: var(--hv-bg) !important; }
.ty-home-v2 { display: block !important; min-height: 0 !important; isolation: isolate; color: var(--hv-ink); background: var(--hv-bg); }
.ty-home-v2 .ty-home-header {
  width: 100%; max-width: none !important; margin: 0; min-height: 80px;
  padding: 12px max(var(--hv-gutter), calc((100% - var(--hv-max)) / 2)) !important;
  gap: 24px !important; background: transparent; border-bottom: 0;
}
.ty-home-v2 .ty-home-brand { gap: 44px !important; }
.ty-home-v2 .ty-home-header .ty-brand-lockup img { width: 54px !important; height: 54px !important; }
.ty-home-nav { display: flex; align-items: center; gap: 30px; }
.ty-home-nav button { position: relative; padding: 12px 0; border: 0; background: transparent; font-size: 14px; font-weight: 500; cursor: pointer; }
.ty-home-nav button::after { content: ''; position: absolute; bottom: 5px; inset-inline: 0; height: 2px; background: var(--hv-green); transform: scaleX(0); transition: transform .18s; }
.ty-home-nav button[aria-current="true"] { color: var(--hv-green); font-weight: 700; }
.ty-home-nav button[aria-current="true"]::after, .ty-home-nav button:hover::after { transform: scaleX(1); }
.ty-home-v2 .ty-home-header__actions { gap: 12px !important; flex-wrap: nowrap !important; }
.ty-home-locale { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 10px; border: 0; background: transparent; cursor: pointer; font-size: 12px; white-space: nowrap; }
.ty-home-login, .ty-home-signup { min-height: 42px; padding: 0 24px; border: 1px solid #b7beb8; border-radius: 10px; background: white; font-size: 14px; font-weight: 500; cursor: pointer; white-space: nowrap; }
.ty-home-signup { background: var(--hv-green); border-color: var(--hv-green); color: white; }
.ty-home-signup:hover { background: var(--hv-green-hover); }
.ty-home-login:hover { border-color: var(--hv-green); }
/* Continue the same sky beneath the lightly tinted navigation, without a hard seam. */
.ty-home-hero { position: relative; min-height: 405px; padding: 34px 0 48px; }
.ty-hero-bg { position: absolute; inset: -80px 0 0; z-index: -1; pointer-events: none; background: url('public/assets/home/desert-hero.png') center top / cover no-repeat; }
.ty-hero-bg::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #fcfbf88c 0%, #fcfbf826 42%, transparent 75%), linear-gradient(90deg, #fffaf026, transparent 65%); }
.ty-hero-copy { width: calc(100% - 2 * var(--hv-gutter)); max-width: var(--hv-max); margin: 0 auto; padding: 0 28px; }
.ty-hero-copy__eyebrow { margin: 0 0 14px; font-size: 10px; letter-spacing: .36em; font-weight: 500; color: #53615b; }
.ty-hero-copy h1 { margin: 0; font: 400 clamp(42px, 4.6vw, 66px)/1.06 'Instrument Serif', Georgia, serif; letter-spacing: -.025em; color: #173e32; text-wrap: balance; }
/* Slogan is centred; its block keeps the height the old title + lead occupied
   (121px @1440, 112px @1280, 75px @1024) so the search bar and everything below stay put. */
.ty-hero-copy:has(> .ty-home-slogan) { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: clamp(75px, calc(14.45vw - 73px), 121px); text-align: center; }
.ty-hero-copy .ty-home-slogan { max-width: none; padding: 0; white-space: nowrap; font-size: clamp(30px, 4.7vw, 70px); line-height: 1.02; letter-spacing: -.015em; color: #163a2f; text-shadow: 0 1px 24px #fcfaf4d9; }
.ty-home-slogan > span { display: inline; }
.ty-home-slogan em { font-style: italic; font-weight: 400; color: #8a6420; padding-inline-start: .04em; }
.ty-home-slogan::after { content: ''; display: block; width: 104px; height: 9px; margin: .22em auto 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='9' viewBox='0 0 104 9'%3E%3Cpath d='M0 4.5h44M60 4.5h44' stroke='%23a78136' stroke-opacity='.75'/%3E%3Cpath d='M52 .6l3.9 3.9-3.9 3.9-3.9-3.9z' fill='%23a78136'/%3E%3C/svg%3E") center / contain no-repeat; }
[dir="rtl"] .ty-hero-copy .ty-home-slogan { font-family: 'IBM Plex Sans Arabic', sans-serif; font-weight: 600; letter-spacing: 0; font-size: clamp(26px, 3.6vw, 52px); line-height: 1.3; }
[dir="rtl"] .ty-home-slogan em { font-style: normal; font-weight: 600; }
.ty-hero-copy__lead { max-width: 650px; margin: 12px 0 0; font-size: clamp(14px, 1.25vw, 17px); line-height: 1.5; color: #313d34; text-wrap: pretty; }
.ty-home-v2 .ty-home-search { width: calc(100% - 2 * var(--hv-gutter)); max-width: 1120px !important; padding: 0 !important; margin: 26px auto 0; gap: 0 !important; z-index: 4 !important; }
.ty-home-v2 .ty-home-tabs { display: inline-flex !important; width: fit-content !important; max-width: 100% !important; align-self: flex-start; margin: 0 !important; gap: 2px !important; padding: 4px 4px 0; border-radius: 13px 13px 0 0; background: #fff; }
.ty-home-v2 .ty-home-tabs [role="tab"] { min-height: 46px !important; min-width: 124px !important; padding: 0 20px !important; border: 0 !important; border-radius: 10px 10px 0 0 !important; background: transparent !important; color: var(--hv-ink) !important; box-shadow: none !important; gap: 9px !important; font-size: 14px !important; font-weight: 600 !important; }
.ty-home-v2 .ty-home-tabs [role="tab"][aria-selected="true"] { background: var(--hv-green) !important; color: white !important; }
.ty-home-v2 .ty-home-tabs [role="tab"] svg { width: 19px; height: 19px; }
.ty-home-v2 .ty-tabpane { position: relative; max-width: none !important; margin: 0 !important; gap: 0 !important; }
.ty-home-v2 .ty-subtype { position: absolute !important; inset-inline-end: 0; bottom: calc(100% + 7px); margin: 0 !important; z-index: 26 !important; }
.ty-home-v2 .ty-subtype > div > button { min-height: 34px; padding: 0 12px !important; border: 1px solid #ffffff70 !important; border-radius: 7px !important; background: #ffffffed !important; font-size: 12px !important; }
.ty-home-v2 .ty-search-fields { display: flex !important; flex-wrap: nowrap !important; min-height: 76px; align-items: stretch; border: 1px solid #fff !important; border-radius: 0 13px 13px 13px !important; background: #fff !important; box-shadow: 0 10px 28px #382c191c; }
.ty-home-v2 .ty-search-fields > * { min-width: 0 !important; flex: 1 1 0 !important; border-inline-end-color: var(--hv-line) !important; border-inline-end-width: 1px !important; }
.ty-home-v2 .ty-search-fields > div > :is(label,button), .ty-home-v2 .ty-search-fields > :is(label,button):not(.ty-go) { min-height: 74px; padding: 12px 15px !important; justify-content: center; gap: 6px !important; }
.ty-home-v2 .ty-search-fields > :is(label,button) > span:first-child, .ty-home-v2 .ty-search-fields > div > :is(label,button) > span:first-child { font-size: 10px !important; letter-spacing: .06em !important; font-weight: 500; color: #727972 !important; }
.ty-home-v2 .ty-search-fields input, .ty-home-v2 .ty-search-fields select, .ty-home-v2 .ty-search-fields > :is(label,button) > span:nth-child(2), .ty-home-v2 .ty-search-fields > div > :is(label,button) > span:nth-child(2), .ty-home-v2 .ty-k-date b { font-size: 14px !important; font-weight: 500 !important; color: #1a2b23 !important; min-width: 0; }
.ty-home-v2 .ty-search-fields input { text-overflow: ellipsis; }
.ty-home-v2 .ty-search-fields input::placeholder { color: #7a807b; opacity: 1; }
.ty-home-v2 .ty-search-fields--flight > div { flex-grow: 1.15 !important; }
.ty-home-v2 .ty-search-fields--hotel > [data-date-trigger] { flex-grow: 1.5 !important; }
.ty-home-v2 .ty-go { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 0 0 148px !important; min-width: 0 !important; align-self: stretch; margin: 7px; min-height: 60px !important; padding: 0 12px !important; border: 0 !important; border-radius: 9px !important; background: var(--hv-green) !important; color: white !important; font-size: 14px !important; font-weight: 600 !important; }
.ty-home-v2 .ty-search-fields > .ty-go { flex: 0 0 148px !important; }
.ty-home-v2 .ty-go:hover { background: var(--hv-green-hover) !important; }
.ty-home-v2 .ty-search-fields > button.ty-go > span:nth-child(n), .ty-home-v2 .ty-go span { color: #fff !important; font-size: 14px !important; letter-spacing: normal !important; }
.ty-home-v2 .ty-go svg { width: 20px; height: 20px; flex: 0 0 auto; }
.ty-home-v2 .ty-kafile-fields > .ty-k-country { flex: .75 1 0 !important; position: relative; }
.ty-home-v2 .ty-kafile-fields > div { flex: 1.35 1 0 !important; }
.ty-home-v2 .ty-kafile-fields > .ty-k-date { flex: 1 1 0 !important; position: relative; padding-inline-end: 44px !important; }
.ty-home-v2 .ty-search-fields.ty-kafile-fields > button.ty-k-submit { flex: 0 0 220px !important; font-size: 16px !important; }
.ty-home-v2 .ty-search-fields.ty-kafile-fields > button.ty-k-submit > span { font-size: 16px !important; }
.ty-home-v2 .ty-k-country select { appearance: none; padding-inline-end: 22px; }
.ty-home-v2 .ty-kafile-fields > div > label { position: relative; padding-inline-end: 38px !important; }
.ty-field-chev { position: absolute; inset-inline-end: 15px; top: 50%; pointer-events: none; }
.ty-field-ico { position: absolute; inset-inline-end: 16px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; }
.ty-home-v2 .ty-home-chips { margin: 11px 0 0 !important; max-width: none !important; }
.ty-home-v2 .ty-home-chips button { font-size: 11px !important; padding: 6px 10px !important; background: #fffffff2 !important; border-color: #ffffff60 !important; }
.ty-home-v2 .ty-multi { background: #fff; border: 0 !important; border-radius: 0 13px 13px 13px !important; }
.ty-home-v2 .ty-home-search > [role="status"] { margin: 0 0 12px !important; }
.ty-home-v2 .ty-k-error { margin: 10px 0 0; }
.ty-home-v2 .ty-date-panel.ty-date-inline { margin-top: 10px; }
/* Low landscape cards echo the reference, with consistent image and text alignment. */
.ty-home-v2 .ty-home-discover { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; width: calc(100% - 2 * var(--hv-gutter)); max-width: var(--hv-max); margin: -40px auto 0; padding: 0 !important; gap: 12px !important; }
.ty-home-v2 .ty-home-card { position: relative; display: block !important; width: 100%; height: clamp(176px,14vw,210px); min-width: 0; padding: 0; overflow: hidden; border: 2px solid #fff; border-radius: 13px !important; background: #d5d6ce; color: #fff; text-align: start; box-shadow: 0 9px 23px #23352910 !important; cursor: pointer; }
.ty-home-v2 .ty-home-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.ty-home-v2 .ty-home-card:hover img { transform: scale(1.025); }
.ty-home-v2 .ty-home-card img[src$="desert-hero.png"] { transform: scale(2.4); transform-origin: 86% 62%; }
.ty-home-v2 .ty-home-card:hover img[src$="desert-hero.png"] { transform: scale(2.44); }
.ty-home-v2 .ty-home-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,#101d20d4 0%,#101d2060 38%,transparent 80%); pointer-events: none; }
.ty-home-v2 .ty-home-card > .ty-home-card__text { position: absolute; inset-inline: 22px; bottom: 19px; z-index: 1; display: flex; flex-direction: column; gap: 4px; min-height: 0 !important; height: auto !important; }
.ty-home-card__text > b { font: 500 25px/1.12 var(--hv-serif); letter-spacing: -.01em; }
.ty-home-card__text > span:not([class]) { font-size: 12px; line-height: 1.4; color: #ffffffed; }
.ty-home-card__price { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; font-size: 15px; font-weight: 500; font-variant-numeric: tabular-nums; }
.ty-home-card__price svg { width: 20px; height: 20px; }
[dir="rtl"] .ty-home-card__price svg { transform: scaleX(-1); }
.ty-home-promos { list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); width: calc(100% - 2 * var(--hv-gutter)); max-width: var(--hv-max); margin: 0 auto; padding: 20px 0 12px; }
.ty-home-promos li { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 0 18px; min-width: 0; }
.ty-home-promos li + li { border-inline-start: 1px solid var(--hv-line); }
.ty-home-promos svg { width: 29px; height: 29px; flex: 0 0 auto; color: #203c30; }
.ty-home-promos span { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.ty-home-promos b { font-size: 13px; font-weight: 600; }
.ty-home-promos small { font-size: 11px; line-height: 1.4; color: var(--hv-muted); }
.ty-home-below { background: var(--hv-bg) !important; border: 0 !important; }
@media (max-width: 1099px) {
 .ty-home-hero { min-height:420px; }
 .ty-home-v2 .ty-home-header { gap: 16px !important; }
 .ty-home-v2 .ty-home-brand { gap: 25px !important; }
 .ty-home-nav { gap: 22px; }
 .ty-home-v2 .ty-home-locale .ty-hdr-long { display: none; }
 .ty-home-v2 .ty-home-locale .ty-hdr-short { display: inline; }
 .ty-home-v2 .ty-search-fields--flight { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); }
 .ty-home-v2 .ty-search-fields--flight > :nth-child(n+4) { border-top: 1px solid var(--hv-line); }
 .ty-home-v2 .ty-search-fields--flight > .ty-go { min-height: 54px !important; }
 .ty-home-promos li { padding-inline: 12px; gap: 10px; }
 .ty-home-promos b { font-size: 12px; }
 .ty-home-promos small { font-size: 10px; }
 .ty-home-v2 .ty-search-fields--hotel > .ty-go { flex-basis: 125px !important; }
 .ty-home-v2 .ty-search-fields--hotel { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); }
 .ty-home-v2 .ty-search-fields--hotel > [data-date-trigger] { grid-column: span 2; }
 .ty-home-v2 .ty-search-fields--hotel > :nth-child(n+3) { border-top: 1px solid var(--hv-line); }
 .ty-home-v2 .ty-kafile-fields { display: grid !important; grid-template-columns: .8fr 1.15fr 1.25fr; }
 .ty-home-v2 .ty-kafile-fields > .ty-go { grid-column: 1/-1; min-height: 45px !important; }
}
@media (max-width: 719px) {
 :root { --hv-gutter: 20px; }
 .ty-home-v2 .ty-home-header { min-height: 70px; padding-block: 10px !important; gap: 8px !important; flex-wrap: nowrap !important; }
 .ty-home-v2 .ty-home-header .ty-brand-lockup img { width: 44px !important; height: 44px !important; }
 .ty-home-nav { display: none; }
 .ty-home-v2 .ty-home-header__actions { gap: 6px !important; }
 .ty-home-v2 .ty-home-header__actions button { padding-inline: 10px !important; min-height: 38px !important; font-size: 11px !important; }
 .ty-home-v2 .ty-home-locale { gap: 5px; }
 .ty-home-locale > svg { width: 16px; height: 16px; }
 .ty-home-v2 .ty-home-header__actions .ty-home-locale { padding-inline: 0 !important; }
 .ty-home-login, .ty-home-signup { border-radius: 7px; }
 .ty-home-hero { padding: 28px 0 62px; }
 .ty-hero-bg { inset-block-start: -70px; background-position: 62% center; }
 .ty-hero-bg::before { background: linear-gradient(180deg,#fffaf052, #fffaf024 42%,transparent); }
 .ty-hero-copy { padding: 0; }
 .ty-hero-copy__eyebrow { font-size: 8px; letter-spacing: .29em; margin-bottom: 11px; }
 .ty-hero-copy h1 { font-size: clamp(37px,10vw,48px); line-height: 1.08; max-width: 420px; }
 .ty-hero-copy__lead { font-size: 13px; margin-top: 12px; }
 .ty-home-v2 .ty-home-search { margin-top: 22px; }
 .ty-home-v2 .ty-home-tabs { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100% !important; padding: 4px 4px 0; }
 .ty-home-v2 .ty-home-tabs [role="tab"] { min-width: 0 !important; min-height: 44px !important; padding: 0 6px !important; font-size: 13px !important; gap: 7px !important; }
 .ty-home-v2 .ty-tabpane { background: #fff; border-radius: 0 0 13px 13px; }
 .ty-home-v2 .ty-subtype { position: relative !important; inset: auto; padding: 8px 12px 0; }
 .ty-home-v2 .ty-subtype > div > button { min-height: 30px; background: #f3f5f1 !important; font-size: 11px !important; }
 .ty-home-v2 .ty-search-fields { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; border-radius: 0 0 13px 13px !important; box-shadow: none; min-height: 0; }
 .ty-home-v2 .ty-search-fields > * { flex: auto !important; border: 0 !important; min-width: 0 !important; }
 .ty-home-v2 .ty-search-fields > div > :is(label,button), .ty-home-v2 .ty-search-fields > :is(label,button):not(.ty-go) { min-height: 65px; padding: 11px 12px !important; border-top: 1px solid #edf0e8 !important; }
 .ty-home-v2 .ty-search-fields input, .ty-home-v2 .ty-search-fields select, .ty-home-v2 .ty-search-fields > :is(label,button) > span:nth-child(2), .ty-home-v2 .ty-search-fields > div > :is(label,button) > span:nth-child(2), .ty-home-v2 .ty-k-date b { font-size: 12px !important; }
 .ty-home-v2 .ty-search-fields--hotel > [data-date-trigger], .ty-home-v2 .ty-kafile-fields > .ty-k-date { grid-column: 1/-1; }
 .ty-home-v2 .ty-search-fields > .ty-go { width: auto !important; justify-self: stretch; grid-column: 1/-1; min-height: 46px !important; margin: 6px 10px 10px; font-size: 14px !important; }
 .ty-home-v2 .ty-search-fields--flight > .ty-pax-field { grid-column: 1/-1; min-height: 54px !important; }
 .ty-home-v2 .ty-kafile-fields { grid-template-columns: .7fr 1.3fr !important; }
 .ty-home-v2 .ty-search-fields--hotel > div:first-child { grid-column: 1/-1; }
 .ty-home-v2 .ty-date-anchor::before { content: ''; position: fixed; inset: 0; background: #122b234d; }
 .ty-home-v2 .ty-date-panel.ty-date-inline { position: fixed; inset: auto 12px 12px; left: 12px; width: auto; max-width: none; max-height: calc(100dvh - 36px) !important; margin: 0; transform: none; border-radius: 16px; box-shadow: 0 18px 70px #173e3233; }
 .ty-home-v2 .ty-home-chips { margin-top: 9px !important; }
 .ty-home-v2 .ty-home-chips > div { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible !important; gap: 6px !important; }
 .ty-home-v2 .ty-home-chips button { font-size: 10px !important; padding: 5px 8px !important; }
 .ty-home-v2 .ty-search-fields > div > div { width: calc(100vw - 2 * var(--hv-gutter)); max-width: calc(100vw - 2 * var(--hv-gutter)) !important; }
 .ty-home-v2 .ty-search-fields--flight > div:nth-child(2) > div { inset-inline-start: auto !important; inset-inline-end: 0 !important; }
 .ty-home-v2 .ty-home-discover { grid-template-columns: minmax(0,1fr) !important; gap: 12px !important; }
 .ty-home-v2 .ty-home-card { height: 160px; }
 .ty-home-v2 .ty-home-card > .ty-home-card__text { inset-inline: 19px; bottom: 17px; }
 .ty-home-card__text > b { font-size: 24px; }
 .ty-home-card__price { margin-top: 8px; font-size: 14px; }
 .ty-home-promos { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 23px 12px; padding-block: 26px; }
 .ty-home-promos li { justify-content: flex-start; padding: 0; }
 .ty-home-promos li:nth-child(odd) { border: 0; }
 .ty-home-promos li:nth-child(even) { padding-inline-start: 12px; }
 .ty-home-promos svg { width: 24px; height: 24px; }
 .ty-home-promos b { font-size: 11px; }
 .ty-home-promos small { font-size: 10px; }
}
@media (max-width: 359px) {
 .ty-home-v2 .ty-home-header__actions .ty-home-locale > svg { display: none; }
 .ty-home-v2 .ty-home-header__actions button { padding-inline: 8px !important; font-size: 10px !important; }
}
@media (prefers-reduced-motion: reduce) { .ty-home-v2 * { transition: none !important; } }

/* The passenger and room pickers are real search controls. */
.ty-home-v2 .ty-pax-field, .ty-home-v2 .ty-guest-field { position:relative; min-width:0; }
.ty-home-v2 :is(.ty-pax-field,.ty-guest-field) > button { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:6px; width:100%; height:100%; min-height:74px; padding:12px 15px; border:0; background:transparent; color:var(--hv-ink); text-align:start; cursor:pointer; }
.ty-home-v2 :is(.ty-pax-field,.ty-guest-field) > button > span { color:#727972; font-size:10px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; }
.ty-home-v2 :is(.ty-pax-field,.ty-guest-field) > button > b { max-width:100%; color:#1a2b23; font-size:14px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ty-home-v2 .ty-home-picker { position:absolute; top:calc(100% + 8px); inset-inline-end:0; z-index:40; display:grid; gap:13px; width:min(300px,calc(100vw - 40px)); padding:16px; border:1px solid #dce5dc; border-radius:12px; background:#fff; box-shadow:0 15px 40px #142b2440; }
.ty-home-v2 .ty-home-picker > b { font-size:14px; }
.ty-home-v2 .ty-home-picker label { display:grid; gap:7px; font-size:12px; color:#52615a; }
.ty-home-v2 .ty-home-picker select { width:100%; min-height:40px; padding:8px 10px; border:1px solid #d5ddd4; border-radius:8px; background:#fff; color:var(--hv-ink); font-size:14px; }
.ty-home-v2 .ty-home-picker > button { min-height:40px; border:0; border-radius:8px; background:var(--hv-green); color:#fff; font-weight:600; cursor:pointer; }

/* The entire calendar opens below the form, so its last week and actions stay in the page flow. */
.ty-home-v2 .ty-date-anchor { height:auto; }
.ty-home-v2 .ty-date-panel.ty-date-inline { position:relative; inset:auto; left:auto; transform:none; width:100%; max-width:1120px; max-height:none !important; height:auto; margin:12px auto 0; overflow:visible; }
.ty-home-v2 .ty-date-inline .ty-date-scroll { overflow:visible; max-height:none; }
.ty-home-v2 .ty-home-hero:has(.ty-date-panel) .ty-hero-bg { bottom:auto; height:485px; }
.ty-home-v2 .ty-date-anchor::before { display:none; }
.ty-home-v2 .ty-calendar-months button[title*="Kayıtlı fiyat"] span:last-child { white-space:nowrap; font-variant-numeric:tabular-nums; }
@media (max-width:719px) {
 .ty-home-hero { min-height:683px; }
 .ty-home-v2 :is(.ty-pax-field,.ty-guest-field) > button { min-height:65px; padding:11px 12px; border-top:1px solid #edf0e8; }
 .ty-home-v2 :is(.ty-pax-field,.ty-guest-field) > button > b { font-size:12px; }
 .ty-home-v2 .ty-date-panel.ty-date-inline { inset:auto; left:auto; width:100%; max-width:none; max-height:none !important; margin:12px auto 0; border-radius:13px; }
 .ty-home-v2 .ty-date-inline .ty-calendar-months { grid-template-columns:minmax(0,1fr); }
 .ty-home-v2 .ty-home-hero:has(.ty-date-panel) .ty-hero-bg { height:540px; }
}
@media (max-width:359px) { .ty-home-hero { min-height:700px; } }

/* Sonuç kartları: konaklama bilgisi gerçek alanlardan okunur, puan üretilmez. */
.ty-result-hotel { gap: 0; min-width: 0; overflow: hidden; border: 1px solid #e8e2d8; border-radius: 16px; background: #fff; cursor: pointer; box-shadow: 0 7px 24px rgba(28,54,41,.055); transition: border-color .2s, box-shadow .2s, transform .2s; }
.ty-result-hotel:hover { border-color: #94aa99; box-shadow: 0 12px 30px rgba(28,54,41,.1); transform: translateY(-2px); }
.ty-result-hotel__media { position: relative; display: block; min-height: 206px; background-color: #eee9df; background-size: cover; background-position: center; }
.ty-result-hotel__stars { position: absolute; top: 12px; left: 12px; padding: 7px 10px; border-radius: 7px; background: rgba(22,47,38,.91); color: #e2bb70; font-size: 13px; letter-spacing: .09em; }
.ty-result-hotel__main { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: 9px; padding: 22px 22px 20px; }
.ty-result-hotel__eyebrow { color: #69746d; font-size: 12px; font-weight: 600; letter-spacing: .055em; text-transform: uppercase; }
.ty-result-hotel__name { color: #172f27; font: 600 clamp(18px,1.5vw,22px)/1.25 'Newsreader',Georgia,serif; overflow-wrap: anywhere; }
.ty-result-hotel__distance { display: inline-flex; align-items: center; gap: 6px; margin-top: 5px; color: #52655a; font-size: 13px; }
.ty-result-hotel__distance svg { width: 17px; height: 17px; color: #a7833d; }
.ty-result-hotel__distance b { color: #183d32; font-weight: 700; }
.ty-result-hotel__tags { display: flex; gap: 7px; flex-wrap: wrap; margin-top: auto; padding-top: 8px; }
.ty-result-hotel__tags span { padding: 6px 9px; border: 1px solid #e7e9df; border-radius: 7px; background: #f8f8f3; color: #506157; font-size: 11px; line-height: 1.3; }
.ty-result-hotel__price { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 6px; min-width: 0; padding: 19px 17px; border-inline-start: 1px solid #ece8df; background: #fcfbf8; text-align: end; }
.ty-result-hotel__stay { color: #66736a; font-size: 11px; white-space: nowrap; }
.ty-result-hotel__price > b { color: #173e32; font-size: clamp(21px,1.9vw,27px); font-weight: 700; letter-spacing: -.04em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ty-result-hotel__price > small { color: #6e756e; font-size: 11px; }
.ty-result-hotel__price > button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 41px; margin-top: 11px; padding: 9px 11px; border: 0; border-radius: 8px; background: #1d493c; color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.ty-result-hotel__price > button:hover { background: #10362a; }
.ty-result-hotel__price > button svg { width: 15px; height: 15px; }
.ty-hotel-detail-facts { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; padding: 14px 16px; border: 1px solid #e6e4e0; border-radius: 12px; background: #fff; color: #52655a; font-size: 13px; }
.ty-hotel-detail-facts > * + * { padding-inline-start: 11px; border-inline-start: 1px solid #dedfd5; }
.ty-hotel-detail-facts b { color: #1c493b; }
@media (max-width:1139px) { .ty-result-hotel { grid-template-columns: minmax(0,1fr) !important; } .ty-result-hotel__media { min-height: 190px; aspect-ratio: 16/8; } .ty-result-hotel__main { padding: 16px 17px; } .ty-result-hotel__price { align-items: flex-start; text-align: start; border-inline-start: 0; border-top: 1px solid #ece8df; padding: 13px 17px; } .ty-result-hotel__price > button { width: auto; min-width: 144px; margin-top: 5px; } }
@media (min-width:701px) and (max-width:1139px) { .ty-result-hotel { grid-template-columns: 200px minmax(0,1fr) !important; } .ty-result-hotel__media { grid-row: 1 / span 2; min-height: 260px; aspect-ratio: auto; } .ty-result-hotel__main { min-height: 155px; } .ty-result-hotel__price { grid-column: 2; min-height: 100px; } }
.ty-result-kafile-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,290px),1fr)); gap: 18px; padding: 18px var(--ty-gutter) 0; }
.ty-result-kafile { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #e5e1d7; border-radius: 14px; background: #fff; box-shadow: 0 7px 22px rgba(26,54,39,.055); }
.ty-result-kafile__media { position: relative; display: flex; align-items: flex-end; min-height: 190px; aspect-ratio: 16/10; padding: 14px; background-color: #cabda5; background-size: cover; background-position: center; }
.ty-result-kafile__badge { position: absolute; top: 13px; inset-inline-start: 13px; padding: 7px 10px; border-radius: 7px; background: #173f34; color: #fff; font-size: 11px; font-weight: 700; }
.ty-result-kafile__media button { position: absolute; top: 13px; inset-inline-end: 13px; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #fff8; border-radius: 50%; background: #fff; color: #173e32; cursor: pointer; font-size: 20px; line-height: 1; }
.ty-result-kafile__place { position: relative; color: #fff; font: 600 21px/1.1 'Newsreader',Georgia,serif; }
.ty-result-kafile__body { display: flex; flex: 1; flex-direction: column; padding: 17px 18px 18px; }
.ty-result-kafile__agency { color: #a07a34; font-size: 16px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.ty-result-kafile__title { min-height: 57px; margin-top: 8px; padding-bottom: 12px; border-bottom: 1px solid #ece8df; color: #18382e; font: 600 19px/1.24 'Newsreader',Georgia,serif; }
.ty-result-kafile__facts { display: grid; gap: 9px; padding: 13px 0 15px; }
.ty-result-kafile__facts span { display: flex; align-items: center; gap: 9px; min-width: 0; color: #5b665f; font-size: 12px; line-height: 1.3; overflow-wrap: anywhere; }
.ty-result-kafile__facts svg { width: 16px; height: 16px; flex: 0 0 16px; color: #a4813d; }
.ty-result-kafile__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid #ece8df; }
.ty-result-kafile__foot > span { display: flex; flex-direction: column; gap: 4px; }
.ty-result-kafile__foot b { color: #173e32; font-size: 25px; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.ty-result-kafile__foot small { color: #798078; font-size: 11px; }
.ty-result-kafile__foot button { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid #b3904d; border-radius: 50%; background: #fff; color: #9a762f; cursor: pointer; }
.ty-result-kafile__foot button:hover { background: #214f40; border-color: #214f40; color: #fff; }
.ty-result-kafile__foot svg { width: 19px; height: 19px; }
.ty-result-kafile-more { display: block; min-height: 44px; margin: 25px auto 0; padding: 9px 24px; border: 1px solid #214f40; border-radius: 9px; background: #214f40; color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; }
.ty-result-kafile-more:hover { background: #163d31; }
@media (max-width:700px) { .ty-result-kafile-grid { grid-template-columns: minmax(0,1fr); gap: 15px; } .ty-result-kafile__media { min-height: 170px; aspect-ratio: 16/8.5; } }

@media (max-width: 719px) {
 .ty-hero-copy:has(> .ty-home-slogan) { min-height: 125px; }
 .ty-hero-copy .ty-home-slogan { font-size: clamp(30px, 9.2vw, 44px); line-height: 1.04; max-width: none; }
 .ty-home-slogan > span { display: block; }
 [dir="rtl"] .ty-hero-copy .ty-home-slogan { font-size: clamp(24px, 7.4vw, 34px); line-height: 1.35; }
}
