/* Anasayfa "en uygun" rafları: uçuş / otel / kafile. Satırda 4 görselli kart, oklarla sayfalanır
   (akmaz). Renkler site-theme.css ile aynı. */
.ty-strips { padding:12px 0 48px; background:#fff; border-top:1px solid #E6E4E0; }
.ty-shelf { max-width:1300px; margin:0 auto; padding:36px var(--ty-gutter, 24px) 8px; }
.ty-shelf + .ty-shelf { border-top:1px solid #EEF0EA; }
.ty-shelf__head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-bottom:18px; }
.ty-shelf__head .ty-directory-eyebrow { color:#59755b; font-size:10px; letter-spacing:.14em; font-weight:600; }
.ty-shelf__head h2 { font-size:clamp(22px,2.4vw,30px); margin:0; letter-spacing:-.035em; color:#214f40; }
.ty-shelf__tools { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.ty-seg { display:inline-flex; border:1px solid #d9e2d4; border-radius:999px; padding:3px; background:#fff; }
.ty-seg button { border:0; background:none; font:inherit; font-size:12px; font-weight:600; color:#4f5f52; padding:8px 14px; border-radius:999px; cursor:pointer; }
.ty-seg button[aria-pressed="true"] { background:#214f40; color:#fff; }
.ty-shelf__all { border:0; background:none; color:#214f40; font:inherit; font-size:14px; font-weight:600; cursor:pointer; padding:8px 0; white-space:nowrap; }
.ty-shelf__all:hover { text-decoration:underline; text-underline-offset:4px; }
.ty-shelf__empty { color:#6b786e; font-size:13px; margin:0; }

/* ray: kaydırma-snap, oklar iki yanda */
.ty-shelf__wrap { position:relative; }
.ty-shelf__track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 3 * 16px) / 4); gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:4px 0 12px; }
.ty-shelf__track::-webkit-scrollbar { display:none; }
.ty-shelf__track > * { scroll-snap-align:start; }
.ty-shelf__arrow { position:absolute; top:calc(50% - 30px); z-index:2; width:44px; height:44px; border-radius:50%; border:1px solid #d9e2d4; background:#fff; color:#214f40; font-size:26px; line-height:1; display:grid; place-items:center; cursor:pointer; box-shadow:0 8px 22px rgba(11,11,11,.14); transition:opacity .15s; }
.ty-shelf__arrow span { display:block; transform:translateY(-2px); }
.ty-shelf__arrow--prev { left:-22px; }
.ty-shelf__arrow--next { right:-22px; }
.ty-shelf__arrow:hover { background:#edf3e7; }
.ty-shelf__arrow:disabled { opacity:0; pointer-events:none; }

/* kart */
.ty-rc { display:flex; flex-direction:column; min-width:0; border:1px solid #e1e7dc; border-radius:14px; background:#fff; overflow:hidden; text-align:start; font:inherit; color:#0B0B0B; cursor:pointer; padding:0; transition:border-color .15s, box-shadow .15s, transform .15s; }
.ty-rc:hover { border-color:#0B0B0B; box-shadow:0 12px 26px rgba(11,11,11,.12); transform:translateY(-2px); }
.ty-rc__media { position:relative; display:block; aspect-ratio:16/10; background:#eef0ea; }
.ty-rc__media img { width:100%; height:100%; object-fit:cover; display:block; }
.ty-rc__badge { position:absolute; left:12px; top:12px; display:inline-flex; align-items:center; gap:6px; background:#0B0B0B; color:#fff; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:6px 10px; border-radius:8px; }
.ty-rc__badge img { height:12px; width:auto; background:#fff; border-radius:3px; padding:1px 3px; }
.ty-rc__badge svg { width:12px; height:12px; color:#e8c15b; }
.ty-rc__body { display:flex; flex-direction:column; gap:6px; padding:14px 16px 16px; flex:1; }
.ty-rc__meta { font-size:12px; color:#6b786e; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ty-rc__meta b { color:#8a6d1f; font-weight:600; }
.ty-rc__title { font-size:16px; font-weight:600; letter-spacing:-.01em; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ty-rc__sub { font-size:12px; color:#6b786e; line-height:1.55; }
.ty-rc__sub b { color:#0B0B0B; font-weight:600; }
.ty-rc__leg { display:flex; gap:8px; align-items:baseline; font-variant-numeric:tabular-nums; }
.ty-rc__leg i { font-style:normal; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#59755b; font-weight:600; width:38px; flex:0 0 auto; }
.ty-rc__leg--muted { color:#9aa39c; }
.ty-rc__place { display:flex; align-items:center; gap:6px; font-size:12px; color:#8a948c; }
.ty-rc__place svg { width:14px; height:14px; flex:0 0 auto; }
.ty-rc__price { margin-top:auto; padding-top:12px; border-top:1px solid #edf0e8; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.ty-rc__price b { color:#214f40; font-size:21px; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.ty-rc__price small { color:#6b786e; font-size:11px; }

@media (max-width:1000px) { .ty-shelf__track { grid-auto-columns:calc((100% - 2 * 16px) / 3); } }
@media (max-width:760px) { .ty-shelf__track { grid-auto-columns:calc((100% - 16px) / 2); } .ty-shelf__arrow { display:none; } .ty-shelf__head { align-items:flex-start; flex-direction:column; } }
@media (max-width:480px) { .ty-shelf__track { grid-auto-columns:82%; } }

/* uçuş kartı: fotoğrafsız, gidiş-dönüş satırları */
.ty-fc { padding:14px 16px 14px; gap:10px; }
.ty-fc__head { display:flex; align-items:center; gap:8px; font-size:12.5px; color:#3D3B38; min-width:0; }
.ty-fc__head img { height:20px; width:auto; max-width:64px; object-fit:contain; }
.ty-fc__head span { font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ty-fc__head em { margin-left:auto; font-style:normal; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#59755b; font-weight:600; white-space:nowrap; }
.ty-fc__leg { display:grid; grid-template-columns:auto 1fr auto; grid-template-areas:"lbl lbl date" "dep mid arr"; column-gap:8px; row-gap:2px; align-items:center; padding:8px 0; border-top:1px solid #edf0e8; font-variant-numeric:tabular-nums; }
.ty-fc__leg i { grid-area:lbl; font-style:normal; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#59755b; font-weight:600; }
.ty-fc__leg em { grid-area:date; font-style:normal; font-size:11px; color:#6b786e; text-align:end; }
.ty-fc__times { display:flex; flex-direction:column; line-height:1.15; }
.ty-fc__times b { font-size:16px; font-weight:600; letter-spacing:-.01em; }
.ty-fc__times small { font-size:11px; color:#6b786e; }
.ty-fc__times:first-of-type { grid-area:dep; }
.ty-fc__times--end { grid-area:arr; text-align:end; }
.ty-fc__mid { grid-area:mid; display:flex; flex-direction:column; align-items:center; gap:2px; min-width:0; }
.ty-fc__mid small { font-size:10.5px; color:#6b786e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.ty-fc__line { display:block; width:100%; height:1px; background:#cfd8cb; position:relative; }
.ty-fc__line span { position:absolute; right:-1px; top:-3px; width:7px; height:7px; border-radius:50%; background:#214f40; }
.ty-fc .ty-rc__price { padding-top:10px; }
