/* ================================================================
   istanbulrehberim.com — FooYes şablonu üzerine özelleştirmeler
   ================================================================ */
:root { --ir-red: #e54750; --ir-orange: #f3723b; --ir-dark: #222; --ir-gray: #777; --ir-line: #ededed; --ir-soft: #f6f6f6; }

/* Üst menü dil seçici */
ul#top_menu li.lang_switch a { display: inline-block; font-weight: 600; font-size: .8rem; border: 1px solid currentColor; border-radius: 4px; padding: 2px 7px; position: relative; top: 6px; line-height: 1.4; }
@media (max-width: 991px) { ul#top_menu li.lang_switch { display: none; } }
header.header_in, header.black_nav { z-index: 999; }

/* Bildirimler */
.flash_wrap { position: fixed; top: 80px; right: 20px; z-index: 100000; max-width: 380px; }
.flash_wrap .alert { box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.ir_toast { position: fixed; left: 50%; bottom: 30px; transform: translate(-50%, 20px); background: #222; color: #fff; padding: 10px 18px; border-radius: 30px; opacity: 0; transition: all .25s; z-index: 100001; font-size: .9rem; }
.ir_toast.show { opacity: 1; transform: translate(-50%, 0); }

/* Breadcrumb */
.breadcrumb_ir { list-style: none; padding: 0; margin: 0 0 6px; font-size: .8rem; color: #999; display: flex; flex-wrap: wrap; }
.breadcrumb_ir li + li:before { content: '›'; margin: 0 6px; color: #bbb; }
.breadcrumb_ir a { color: #777; }
.list_menu .breadcrumbs_wrap { margin-bottom: 15px; }

/* Arama otomatik tamamlama */
.js-suggest-wrap { position: relative; }
.suggest_box { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-radius: 0 0 8px 8px; box-shadow: 0 18px 30px rgba(0,0,0,.12); z-index: 50; overflow: hidden; }
.suggest_box.open { display: block; }
.suggest_box a { display: flex; justify-content: space-between; gap: 10px; padding: 10px 15px; color: #333; border-top: 1px solid #f2f2f2; }
.suggest_box a small { color: #999; white-space: nowrap; }
.suggest_box a:hover, .suggest_box a.active { background: #fff4ef; color: var(--ir-red); }
.hero_single .suggest_box { top: 54px; max-width: 83%; }
.search_bar_list .suggest_box { top: 50px; }

/* Ana sayfa hızlı kutular */
.quick_tiles { margin-top: -40px; position: relative; z-index: 5; }
.quick_tile { display: block; background: #fff; border-radius: 8px; padding: 20px 12px; text-align: center; box-shadow: 0 12px 30px rgba(46,51,51,.08); margin-bottom: 20px; color: #444; transition: transform .2s; min-height: 140px; }
.quick_tile i { font-size: 30px; color: var(--ir-red); display: block; margin-bottom: 8px; }
.quick_tile h3 { font-size: .95rem; margin: 0 0 4px; }
.quick_tile small { color: #888; font-size: .75rem; line-height: 1.3; display: block; }
.quick_tile:hover { transform: translateY(-4px); color: var(--ir-red); }

/* Kutlama / yemek kutuları */
.occasion_box { display: block; background: #fff; border-radius: 8px; overflow: hidden; margin-bottom: 25px; box-shadow: 0 12px 24px rgba(46,51,51,.06); color: #444; transition: box-shadow .2s; }
.occasion_box figure { margin: 0; height: 170px; overflow: hidden; background: #eee; }
.occasion_box figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.occasion_box:hover figure img { transform: scale(1.05); }
.occasion_box .occasion_txt { padding: 15px 18px 18px; }
.occasion_box h3, .occasion_box h2 { font-size: 1.05rem; margin-bottom: 6px; color: #222; }
.occasion_box p { font-size: .85rem; color: #777; margin-bottom: 4px; }
.occasion_box .cnt { color: var(--ir-red); font-weight: 500; }
.occasion_box:hover { box-shadow: 0 16px 30px rgba(46,51,51,.12); }

/* Hizmet kutuları */
.service_tile { display: block; border: 1px solid var(--ir-line); border-radius: 8px; padding: 18px; margin-bottom: 20px; color: #444; background: #fff; transition: all .2s; height: calc(100% - 20px); }
.service_tile i { font-size: 24px; color: var(--ir-orange); }
.service_tile h3 { font-size: .95rem; margin: 8px 0 2px; }
.service_tile small { color: #999; }
.service_tile:hover { border-color: var(--ir-red); box-shadow: 0 10px 20px rgba(229,71,80,.08); color: var(--ir-red); }
.service_group { margin-bottom: 25px; }
.service_group .title_small a { color: inherit; }

/* İlçe bulutu ve kutuları */
.district_cloud { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.district_cloud a { background: #fff; border: 1px solid var(--ir-line); border-radius: 30px; padding: 8px 16px; color: #444; font-weight: 500; }
.district_cloud a small { color: var(--ir-red); margin-left: 4px; }
.district_cloud a:hover, .district_cloud a.all { border-color: var(--ir-red); color: var(--ir-red); }
.district_box { display: block; border: 1px solid var(--ir-line); border-radius: 8px; padding: 16px 18px; margin-bottom: 18px; color: #444; background: #fff; }
.district_box h3 { font-size: 1rem; margin: 0 0 2px; }
.district_box small { color: #999; }
.district_box:hover { border-color: var(--ir-red); color: var(--ir-red); }

/* Rota kartları */
.route_card { display: block; background: #fff; border-radius: 8px; overflow: hidden; margin-bottom: 25px; box-shadow: 0 12px 24px rgba(46,51,51,.06); color: #444; }
.route_card figure { margin: 0; height: 190px; position: relative; overflow: hidden; background: #eee; }
.route_card figure img { width: 100%; height: 100%; object-fit: cover; }
.route_card .route_txt { padding: 15px 18px; }
.route_card h3 { font-size: 1.05rem; margin-bottom: 6px; color: #222; }
.route_card p { font-size: .85rem; color: #777; margin: 0; }
.route_badge { position: absolute; left: 12px; bottom: 12px; background: rgba(0,0,0,.65); color: #fff; font-size: .75rem; padding: 4px 10px; border-radius: 20px; }
.route_badge.static { position: static; display: inline-block; margin-bottom: 10px; }
.route_hero .main_info h1 { color: #fff; }
.route_hero { height: 420px; }

/* Zaman çizelgesi (rota durakları, adımlar) */
.timeline_ir { list-style: none; padding: 0 0 0 28px; margin: 20px 0; border-left: 2px solid #f0d8d5; }
.timeline_ir li { position: relative; padding: 0 0 26px 18px; }
.timeline_ir li:before { content: ''; position: absolute; left: -36px; top: 4px; width: 14px; height: 14px; border-radius: 50%; background: linear-gradient(135deg, var(--ir-orange), var(--ir-red)); box-shadow: 0 0 0 4px #fff; }
.timeline_ir .tl_time { display: inline-block; font-size: .75rem; font-weight: 600; color: var(--ir-red); background: #fff1ee; border-radius: 4px; padding: 2px 8px; margin-bottom: 4px; }
.timeline_ir h3 { font-size: 1.05rem; margin: 2px 0 4px; }
.timeline_ir p { color: #666; margin-bottom: 6px; }
.tl_place { display: inline-flex; align-items: center; gap: 8px; background: var(--ir-soft); padding: 6px 10px 6px 6px; border-radius: 6px; font-size: .85rem; color: #444; }
.tl_place img { border-radius: 4px; object-fit: cover; }
.box_side { background: var(--ir-soft); border-radius: 8px; padding: 18px; margin-bottom: 20px; }
.side_links { padding-left: 18px; margin: 0; }

/* Liste sayfası */
.page_header h1 { font-size: 1.4rem; margin: 0; }
.page_intro { background: #fff; border-left: 3px solid var(--ir-red); padding: 15px 20px; margin-bottom: 20px; border-radius: 0 6px 6px 0; box-shadow: 0 6px 18px rgba(0,0,0,.03); }
.page_intro p:last-child { margin-bottom: 0; }
.intent_bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; background: #fff8e6; border: 1px solid #f5e2b4; border-radius: 8px; padding: 10px 14px; margin-bottom: 15px; }
.intent_label { font-weight: 600; font-size: .85rem; color: #8a6d1d; }
.intent_chip { background: #fff; border: 1px solid #eed9a3; border-radius: 20px; padding: 3px 12px; font-size: .85rem; font-weight: 500; }
.intent_chip small { color: #b08b2e; text-transform: uppercase; font-size: .65rem; letter-spacing: .03em; margin-right: 3px; }
.chip_row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.chip { display: inline-block; border: 1px solid #e3e3e3; border-radius: 20px; padding: 5px 14px; font-size: .85rem; color: #555; background: #fff; }
.chip:hover, .chip.active { border-color: var(--ir-red); color: var(--ir-red); }
.chip.chip_verified { border-color: #b7e0c3; background: #f0faf3; color: #217a3c; }
.results_title { margin-top: 10px; }
.tips_box ul { margin: 0; padding-left: 18px; }
.tips_box ul li { margin-bottom: 4px; }
.empty_state { text-align: center; padding: 40px 20px; background: #fff; border-radius: 8px; border: 1px dashed #ddd; }
.empty_state i { font-size: 40px; color: #ccc; }
.banner_cta { background: linear-gradient(135deg, #fff1ec, #fff); border: 1px solid #f7d3c8; border-radius: 8px; padding: 25px 30px; margin: 30px 0; }
.banner_cta h3 { font-size: 1.2rem; }

/* Kartlar */
.strip { position: relative; }
.fav_bt { position: absolute; top: 12px; left: 12px; z-index: 3; width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: #999; display: flex; align-items: center; justify-content: center; font-size: 16px; cursor: pointer; transition: all .2s; }
.fav_bt:hover { color: var(--ir-red); transform: scale(1.08); }
.fav_bt.liked { color: #fff; background: var(--ir-red); }
.price_lvl { font-weight: 600; color: #3c9a5f; margin-right: 8px; }
.verified_badge { font-size: .75rem; color: #217a3c; background: #eaf7ee; border-radius: 3px; padding: 1px 6px; }
.strip .score span { font-size: .7rem; }
.strip_match { border-top: 1px dashed #eee; padding: 8px 0 0; margin-top: 8px; font-size: .8rem; }
.strip_match a, .strip_match span { display: block; color: #555; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.strip_match i { color: var(--ir-red); }
.strip_match strong { color: var(--ir-red); }

/* Paketler */
.package_item { display: block; background: #fff; border: 1px solid #f3d9d2; border-radius: 8px; padding: 15px 18px; margin-bottom: 18px; color: #444; }
.package_item h3 { font-size: 1rem; color: var(--ir-red); margin-bottom: 4px; }
.package_item p { font-size: .85rem; color: #777; margin-bottom: 6px; }
.package_item .pk_meta { font-size: .8rem; color: #555; }
.package_item:hover { box-shadow: 0 10px 20px rgba(229,71,80,.08); }

/* SSS */
.faq_block { margin-top: 30px; }
.faq_item { background: #fff; border: 1px solid var(--ir-line); border-radius: 6px; margin-bottom: 10px; }
.faq_item summary { padding: 14px 18px; font-weight: 500; cursor: pointer; list-style: none; position: relative; padding-right: 40px; }
.faq_item summary::-webkit-details-marker { display: none; }
.faq_item summary:after { content: '+'; position: absolute; right: 18px; top: 10px; font-size: 1.3rem; color: var(--ir-red); }
.faq_item[open] summary:after { content: '–'; }
.faq_answer { padding: 0 18px 12px; color: #555; }

/* Detay sayfası */
.hero_badges { margin-top: 10px; display: flex; gap: 8px; flex-wrap: wrap; }
.hero_badges .hb { background: rgba(255,255,255,.18); border-radius: 20px; padding: 3px 12px; font-size: .8rem; }
.hero_badges .hb.verified { background: #3c9a5f; }
.about_box { background: #fff; border-radius: 6px; padding: 25px; margin-bottom: 30px; box-shadow: 0 22px 24px rgba(46,51,51,.05); }
.feature_list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.feature_list li { font-size: .9rem; }
.feature_list i { color: var(--ir-red); margin-right: 6px; }
.menu_item { background: #fff; border-radius: 5px; display: block; position: relative; padding: 20px 95px 15px 20px; color: #444; box-shadow: 0 22px 24px rgba(46,51,51,.05); margin-bottom: 30px; min-height: 100px; }
.menu_item.no_img { padding-right: 20px; min-height: 0; }
.menu_item h3 { font-size: 1rem; margin-bottom: 0; }
.menu_item p { color: #777; margin-bottom: 10px; font-size: .8125rem; }
.menu_item strong { color: var(--ir-red); }
.menu_item figure { width: 70px; height: 70px; overflow: hidden; position: absolute; margin: 0; right: 15px; top: 15px; border-radius: 3px; }
.menu_item figure img { width: 70px; height: 70px; object-fit: cover; }
.menu_item.is_package { border: 1px solid #f7d3c8; background: #fffaf8; }
.menu_item.is_package h3 i { color: var(--ir-red); }
.map_wrap { border-radius: 8px; overflow: hidden; height: 300px; margin: 10px 0; }
.map_wrap iframe { width: 100%; height: 100%; border: 0; }
.hours_list { list-style: none; padding: 0; max-width: 360px; margin: 0; }
.hours_list li { display: flex; justify-content: space-between; padding: 4px 0; border-bottom: 1px dashed #eee; font-size: .9rem; }
.hours_list li.today { font-weight: 600; color: var(--ir-red); }
.box_order .contact_btns .btn_1 { text-align: center; }
.btn_1.btn_wa { background: #25d366 !important; }
.msg_form textarea, .msg_form input, .msg_form select { font-size: .85rem; }
.review_form_box { background: var(--ir-soft); border-radius: 8px; padding: 20px; margin-top: 20px; }
.rating_input { direction: rtl; display: inline-flex; }
.rating_input input { display: none; }
.rating_input label { font-size: 30px; color: #ddd; cursor: pointer; padding: 0 2px; }
.rating_input input:checked ~ label, .rating_input label:hover, .rating_input label:hover ~ label { color: #ffc107; }
.review_card .rating i.empty { color: #ddd; }

/* Havalimanı ve işletme sayfası */
.airport_box h2 { font-size: 1.6rem; }
.box_benefit { padding: 20px; }
.box_benefit i { font-size: 40px; color: var(--ir-red); }
.box_benefit h3 { font-size: 1.05rem; margin-top: 10px; }

/* Giriş / kayıt */
.role_switch { display: flex; border: 1px solid var(--ir-line); border-radius: 6px; overflow: hidden; }
.role_switch a { flex: 1; text-align: center; padding: 8px; font-size: .85rem; color: #666; }
.role_switch a.active { background: linear-gradient(135deg, var(--ir-orange), var(--ir-red)); color: #fff; }

/* Yazı içerikleri */
.singlepost .post-content h2 { font-size: 1.3rem; margin-top: 25px; }
.singlepost .post-content h3 { font-size: 1.1rem; margin-top: 20px; }
.singlepost .post-content ul li { margin-bottom: 6px; }
footer a.footer_lang { color: #555; }
footer a.footer_lang[aria-current] { font-weight: 600; color: var(--ir-red); }

/* Anasayfa hero: İstanbul silueti */
.hero_single.version_1 { background: #fff6ea url(../img/hero_istanbul.svg) right bottom / cover no-repeat; }
@media (max-width: 991px) { .hero_single.version_1 { background: #fff6ea url(../img/hero_istanbul.svg) 70% bottom / auto 100% no-repeat; } .hero_single.version_1 .opacity-mask { background: rgba(255,246,234,.75); } }
.hero_single .search_trends ul { margin-top: 0; }
.hero_single .search_trends ul li:after { content: ' · '; color: #bbb; }
@media (min-width: 992px) { .hero_single.version_1 .opacity-mask { background: linear-gradient(90deg, rgba(255,246,234,.95) 0, rgba(255,246,234,.85) 45%, rgba(255,246,234,0) 62%); } }
.fav_bt { left: auto; right: 15px; top: 52px; }
.strip ul li:last-child { display: flex; align-items: center; gap: 4px; }
.strip .rev_cnt { color: #999; font-size: .75rem; }
.strip .new_badge { font-size: .75rem; color: #888; background: #f3f3f3; border-radius: 3px; padding: 2px 7px; }
.strip_match { clear: both; }
.strip figure img { width: 100%; height: 100%; object-fit: cover; }
.list_home ul li figure img, .item_version_2 figure img { object-fit: cover; height: 100%; }
