/* Shared agency palette. Keep layout and photography in each page's stylesheet. */
:root {
  --ty-brand: #214f40;
  --ty-brand-hover: #153d2e;
  --ty-brand-muted: #426d5b;
  --ty-brand-sage: #c7dbc0;
  --ty-brand-soft: #edf3e7;
}
::selection { background: var(--ty-brand-sage); color: var(--ty-brand-hover); }
:focus-visible { outline-color: var(--ty-brand-muted); }
input[type="checkbox"], input[type="radio"], input[type="range"] { accent-color: var(--ty-brand-muted); }

/* Inline DC styles also serve dynamic selections; only primary actions are solid. */
.ty-brand-action,
.ty-choice-path--flight,
.ty-itinerary-price button,
.ty-selected-itinerary button,
.ty-journey-total button,
.ty-results-update,
.ty-mpanel__foot button,
.ty-booking-row button,
.ty-booking-retry,
.ty-btn--solid,
.ty-cta:not(.ty-cta--ghost),
.ty-tour__go {
  background: var(--ty-brand) !important;
  border-color: var(--ty-brand) !important;
  color: #fff !important;
}
:is(.ty-brand-action, .ty-choice-path--flight, .ty-itinerary-price button,
    .ty-selected-itinerary button, .ty-journey-total button, .ty-results-update,
    .ty-mpanel__foot button, .ty-booking-row button, .ty-booking-retry,
    .ty-btn--solid, .ty-cta:not(.ty-cta--ghost), .ty-tour__go):hover:not(:disabled) {
  background: var(--ty-brand-hover) !important;
  border-color: var(--ty-brand-hover) !important;
  color: #fff !important;
}
.ty-choice-path--flight .ty-eyebrow { color: var(--ty-brand-sage); }
.ty-cta:not(.ty-cta--ghost) .ty-ico { color: inherit; }
.ty-verified .ty-ico { color: var(--ty-brand-muted); }
.ty-search-app a:hover { color: var(--ty-brand); }
.ty-wordmark { color: var(--ty-brand); }
.ty-itinerary-card { grid-template-columns: minmax(0, 1fr) 264px; }
.ty-itinerary-card .ty-itinerary-price { padding: 26px; gap: 12px; align-items: stretch; justify-content: center; background: #f5f7f1; }
.ty-itinerary-card .ty-itinerary-price strong,
.ty-itinerary-card .ty-itinerary-price strong * { font-size: 32px !important; line-height: 1.15; font-weight: 700; letter-spacing: -.035em; color: #173e32 !important; }
.ty-itinerary-price .ty-cheapest { width: fit-content; padding: 6px 9px; border-radius: 5px; background: #e5eddf; color: #31543d; }
.ty-itinerary-price .ty-itinerary-total { padding-bottom: 16px; border-bottom: 1px solid #dce3d5; line-height: 1.5; }
.ty-itinerary-price .ty-itinerary-baggage { padding-block: 2px 6px; font-size: 13px; line-height: 1.5; }
.ty-itinerary-card .ty-itinerary-price button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; padding: 14px 16px; background: #c7dbc0 !important; border: 1px solid #b3caaa !important; color: #173e32 !important; font-size: 15px; font-weight: 700; }
.ty-itinerary-card .ty-itinerary-price button * { color: inherit !important; font-size: inherit; }
.ty-itinerary-card .ty-itinerary-price button:hover:not(:disabled) { background: #b6cfad !important; color: #173e32 !important; }
@media (max-width: 900px) {
  .ty-itinerary-card { grid-template-columns: minmax(0, 1fr); }
  .ty-itinerary-card .ty-itinerary-price { padding: 20px; gap: 10px; }
}
.ty-hero__home .ty-wordmark { color: #fff; }
.ty-hero__home .ty-wordmark__lead { color: var(--ty-brand-sage); }

/* Home search and recorded-price discovery. */
.ty-kafile-search { width:100%; max-width:1180px; margin:auto; }
.ty-kafile-fields { display:flex; align-items:stretch; border:1px solid #cad7cd; border-radius:12px; background:#fff; }
.ty-k-country { flex:0 1 170px; display:flex; flex-direction:column; justify-content:center; gap:7px; padding:14px 18px; border-inline-end:1px solid #e3e8df; min-width:0; }
.ty-k-country > span,.ty-k-date > span { font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#6b786e; }
.ty-k-country select { width:100%; border:0; background:transparent; font:inherit; font-size:15px; color:#214f40; }
.ty-k-date { flex:1 1 290px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:7px; padding:14px 20px; border:0; background:transparent; text-align:start; min-width:0; cursor:pointer; }
.ty-k-date b { font-size:15px; font-weight:500; max-width:100%; overflow-wrap:anywhere; }
.ty-k-submit { flex:0 0 155px; border:0; border-radius:0 11px 11px 0; padding:18px 24px; font-size:16px; font-weight:600; cursor:pointer; }
.ty-k-allcities { display:block; width:100%; padding:14px 16px; text-align:start; border:0; border-top:1px solid #e3e8df; background:#edf3e7; color:#214f40; cursor:pointer; }
.ty-kafile-search { position:relative; }
/* Ay paneli sayfayi uzatmaz: arama satirinin altina, icerigin ustune acilir. */
.ty-k-monthpanel { position:absolute; left:0; right:0; top:calc(100% + 12px); z-index:30; margin:0; padding:26px; background:#fff; border:1px solid #dbe3d7; border-radius:16px; box-shadow:0 24px 60px #173e3224; max-height:min(72dvh, 680px); overflow:auto; }
.ty-k-monthhead { display:flex; justify-content:space-between; gap:18px; }
.ty-k-monthhead h2 { margin:0; font-size:21px; color:#214f40; letter-spacing:-.03em; }
.ty-k-monthhead p,.ty-k-flexnote { color:#68766a; font-size:13px; line-height:1.6; }
.ty-k-monthhead > button { width:36px; height:36px; border:0; border-radius:50%; background:#edf3e7; color:#214f40; font-size:24px; cursor:pointer; }
.ty-k-modes { display:flex; gap:5px; width:fit-content; padding:4px; margin:20px 0 12px; background:#f1f4ef; border-radius:9px; }
.ty-k-modes button { padding:12px 18px; border:0; border-radius:7px; background:transparent; color:#486247; font:inherit; font-size:13px; cursor:pointer; }
.ty-k-modes button[aria-pressed="true"] { background:#214f40; color:#fff; }
.ty-k-monthgrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; max-height:340px; overflow-y:auto; padding:3px; }
.ty-k-monthgrid button { display:flex; flex-direction:column; align-items:flex-start; gap:9px; padding:16px; border:1px solid #dce3d7; border-radius:9px; background:#fff; text-align:start; color:#214f40; cursor:pointer; }
.ty-k-monthgrid button[aria-pressed="true"] { background:#edf3e7; border-color:#214f40; box-shadow:inset 0 0 0 1px #214f40; }
.ty-k-monthgrid b { font-size:13px; text-transform:capitalize; }.ty-k-monthgrid span { font-size:17px; font-weight:600; }.ty-k-monthgrid small { font-size:10px; color:#60735e; }
.ty-k-monthfoot { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:20px; font-size:12px; color:#68766a; }.ty-k-monthfoot button { padding:12px 24px; border:0; border-radius:8px; cursor:pointer; }
.ty-k-error { color:#a33a1e; font-size:13px; }
.ty-home-offers { padding:48px var(--ty-gutter); max-width:1300px; margin:auto; scroll-margin-top:24px; }
.ty-home-offers__head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:24px; }.ty-home-offers__head h2 { font-size:clamp(23px,2.7vw,32px); margin:10px 0; letter-spacing:-.035em; color:#214f40; }.ty-home-offers__head p { color:#6b786e; font-size:13px; line-height:1.6; margin:0; }
.ty-home-offers .ty-directory-eyebrow { color:#59755b; font-size:10px; letter-spacing:.14em; font-weight:600; }.ty-discovery-count { white-space:nowrap; color:#6b786e; font-size:12px; }
.ty-home-offers__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ty-home-offer { display:flex; flex-direction:column; padding:22px; border:1px solid #e1e7dc; border-radius:12px; background:#fff; min-width:0; }.ty-offer-date { font-size:12px; color:#426d5b; }.ty-home-offer h3 { margin:14px 0 8px; font-size:17px; overflow-wrap:anywhere; }.ty-home-offer p { font-size:12px; line-height:1.6; margin:0 0 12px; color:#6b786e; }.ty-offer-source { font-size:11px; color:#68766a; margin-bottom:18px; }.ty-home-offer > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:16px; border-top:1px solid #edf0e8; margin-top:auto; }.ty-home-offer b { display:block; color:#214f40; font-size:23px; }.ty-home-offer small { display:block; margin-top:4px; color:#6b786e; font-size:11px; }.ty-home-offer button { background:#edf3e7; color:#214f40; border:0; padding:11px; border-radius:7px; font-size:12px; font-weight:600; cursor:pointer; }.ty-discovery-empty { padding:24px; background:#f5f7f2; border-radius:10px; color:#68766a; line-height:1.6; }
@media(max-width:900px) { .ty-home-offers__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.ty-k-monthgrid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:719px) {
 .ty-kafile-fields { flex-direction:column; }.ty-kafile-fields > * { flex:auto !important; min-width:0 !important; border-inline-end:0 !important; }.ty-kafile-fields > * + * { border-top:1px solid #e3e8df; }.ty-k-submit { border-radius:0 0 11px 11px; }.ty-k-monthpanel { padding:18px 14px; }.ty-k-monthhead h2 { font-size:18px; }.ty-k-monthgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }.ty-k-monthgrid button { padding:13px 10px; }.ty-k-monthfoot { align-items:flex-start; }.ty-home-offers__grid { grid-template-columns:minmax(0,1fr); }.ty-home-offers__head { align-items:flex-start; flex-direction:column; gap:10px; }.ty-home-offers { padding-block:30px; }
}

.ty-discovery-more { display:block; margin:24px auto 0; padding:14px 24px; border:1px solid #cbd8c8; border-radius:8px; background:#fff; color:#214f40; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
