/* ===================================================
   site.css — temaya (style.css) EKLENEN site stilleri (proje sahibi, 2026-10-14)
   ---------------------------------------------------
   Tema dosyası olduğu gibi kalır; CodeIgniter'a taşırken gereken yeni sınıflar ve
   temadaki satır içi stillerin (style="…") karşılıkları burada. Renkler temanın
   değişkenlerinden (--primary, --accent …) okunur.
   =================================================== */

/* --- Logolar: yüklenen görsel (SVG/PNG) menüye sığsın --- */
.navbar-brand .ak-logo,
.mobile-logo .ak-logo { display: block; width: auto; max-width: 220px; max-height: 48px; }
.footer-brand .ak-logo-alt { display: block; width: auto; max-width: 220px; max-height: 52px; }
@media (max-width: 991.98px) {
    .navbar-brand .ak-logo { max-width: 160px; max-height: 38px; }
}

/* Aşama 1'de içi boş kalan bölüm yer kaplamaz (canlı arama Aşama 3'te gelir) */
.ak-gizli-bolum:empty { display: none; }

/* Düğme görünümlü değil, bağlantı görünümlü düğme (alt bölüm "Çerez Tercihleri") */
.ak-link-dugme {
    padding: 0; border: 0; background: none;
    color: inherit; font: inherit; text-align: left; cursor: pointer;
}
.ak-link-dugme:hover, .ak-link-dugme:focus-visible { color: var(--white); text-decoration: underline; }

/* Alt bölüm: panelden girilen ödeme/kurum logoları (Genel Ayarlar → Footer Logoları) */
.ak-footer-logolar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.ak-footer-logolar p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.ak-footer-logolar img { display: block; width: auto; max-height: 45px; }
.ak-tursab-gorsel { display: block; width: auto; max-height: 64px; }

/* --- Ana sayfa giriş alanı (Aşama 1 iskeleti) --- */
.ak-giris {
    position: relative;
    padding: 6rem 0;
    background: var(--primary-dark);
    color: var(--white);
    overflow: hidden;
}
.ak-giris-gorsel {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
}
.ak-giris-gorselli::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, var(--hero-overlay-1), var(--hero-overlay-2));
}
.ak-giris-icerik { position: relative; z-index: 1; max-width: 760px; text-align: center; }
.ak-giris-icerik h1 { font-weight: 800; font-size: clamp(1.8rem, 4vw, 3rem); margin-bottom: 1rem; }
.ak-giris-icerik p { font-size: 1.1rem; color: var(--overlay-white-90); margin-bottom: 1.75rem; }

/* --- Sözleşme / yasal metin sayfası --- */
.ak-metin-sayfa { padding: 2.5rem 0 4rem; }
.ak-metin-sayfa h1 { font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 700; color: var(--primary); margin: .75rem 0 1.5rem; }
.ak-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: .9rem; color: var(--muted); }
.ak-breadcrumb a { color: var(--muted); text-decoration: none; }
.ak-breadcrumb a:hover { color: var(--accent); }
.ak-breadcrumb .bi { font-size: .7rem; }
.ak-metin-icerik { max-width: 860px; line-height: 1.75; color: var(--text); overflow-wrap: anywhere; }
.ak-metin-icerik img { max-width: 100%; height: auto; }
.agreement-body img { max-width: 100%; height: auto; }

/* --- Bakım sayfası (menüsüz, tek kutu) --- */
.ak-bakim {
    margin: 0; min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    padding: 24px 16px;
    background: #0d2b45;
    font-family: "Poppins", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    color: #1f2a37;
}
.ak-bakim-kutu {
    width: 100%; max-width: 560px;
    padding: 40px 28px;
    border-radius: 18px;
    background: #fff;
    text-align: center;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
}
.ak-bakim-logo { display: block; margin: 0 auto 24px; width: auto; max-width: 220px; max-height: 60px; }
.ak-bakim-ad { margin: 0 0 20px; font-weight: 700; font-size: 1.3rem; color: #12395b; }
.ak-bakim-ikon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 64px; height: 64px; margin-bottom: 16px;
    border-radius: 50%;
    background: #fff1ec; color: #f4623a; font-size: 1.8rem;
}
.ak-bakim h1 { margin: 0 0 12px; font-size: 1.6rem; font-weight: 700; color: #12395b; }
.ak-bakim-mesaj { color: #6b7684; line-height: 1.7; }
.ak-bakim-mesaj p:last-child { margin-bottom: 0; }

/* Sözleşme/metin penceresi çerez bildiriminden (3500) ve tercih penceresinden (3600) de
   açılabilir; onların üstünde kalsın (temada 2100'dü, bildirimin altında kalıyordu). */
.ak-site .agreement-popup { z-index: 3700; }

/* Temadaki satır içi "margin-bottom:1rem" (müşteri girişi notları) */
.ak-mb-1rem { margin-bottom: 1rem; }

/* Bölge seçim ağacı girintisi (temada satır içi padding-left: 10 + derinlik*22 px idi) */
.rgn-row.rgn-derinlik-0 { padding-left: 10px; }
.rgn-row.rgn-derinlik-1 { padding-left: 32px; }
.rgn-row.rgn-derinlik-2 { padding-left: 54px; }
.rgn-row.rgn-derinlik-3 { padding-left: 76px; }
.rgn-row.rgn-derinlik-4 { padding-left: 98px; }

/* Temada başlangıçta gizli olup JS'in göstereceği öğe (ör. #basitGeceBilgi) */
[data-ak-baslangic-gizli] { display: none; }

/* E-bülten formu (2026-10-16): bot tuzağı gizli (satır içi stil yasak), izin cümlesi, hata rengi */
.ak-tuzak { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.footer-newsletter .newsletter-form { position: relative; }
.footer-newsletter .newsletter-izin { display: block; margin-top: .45rem; font-size: .72rem; line-height: 1.4; color: rgba(255, 255, 255, .85); }
.footer-newsletter .newsletter-izin a { color: #fff; text-decoration: underline; }
/* Kayıtlı adres sorusu: "silinsin mi?" + Evet / Vazgeç */
.footer-newsletter .newsletter-soru { display: inline-flex; gap: .4rem; margin-left: .5rem; vertical-align: middle; }
.footer-newsletter .newsletter-soru-btn { border: 1px solid #fff; background: transparent; color: #fff; font-size: .78rem; font-weight: 700; padding: .15rem .65rem; border-radius: 999px; cursor: pointer; }
.footer-newsletter .newsletter-soru-btn.newsletter-soru-evet { background: #fff; color: var(--accent); }
.footer-newsletter .newsletter-soru-btn:disabled { opacity: .6; cursor: default; }
.footer-newsletter .newsletter-note.newsletter-note-hata { color: #fff; background: rgba(127, 29, 29, .35); padding: .15rem .5rem; border-radius: 6px; display: inline-block; }

/* Son dakika kartı: üstü çizili eski fiyat belirgin (proje sahibi, 2026-10-16: "biraz sönük kalmış") */
.firsat-card .firsat-old { color: #dc2626; opacity: 1; font-size: 1.05rem; font-weight: 700; text-decoration: line-through 2px #dc2626; margin-left: .3rem; }
.firsat-card .firsat-total-eski { color: #dc2626; font-weight: 600; margin: 0 .15rem; text-decoration: line-through 2px #dc2626; }

/* Konut kutusunda dik görsel: odak ortanın biraz altı (main.js vs-dik; iç mekânda üst kısım tavan) */
.villa-slider .vs-img.vs-dik { object-position: 50% 65%; }

/* Favoriler paneli: görsel ve ad villaya bağlantı; kapak yoksa yer tutucu (.fav-item img ile aynı ölçü) */
.fav-item .fav-item-link { flex: none; display: block; line-height: 0; }
.fav-item a.fav-item-name { text-decoration: none; }
.fav-item a.fav-item-name:hover { color: var(--accent); }
.fav-item .ss-gorsel-yok {
    display: inline-flex; align-items: center; justify-content: center;
    width: 96px; height: 80px; border-radius: 12px; background: var(--bg-alt); color: var(--muted); font-size: 1.4rem;
}
@media (max-width: 575.98px) { .fav-item .ss-gorsel-yok { width: 80px; height: 70px; } }

/* Üst çubuk araması: kapak görseli olmayan villada görselin yerini tutan kutu (.ss-item img ile aynı ölçü) */
.ss-item .ss-gorsel-yok {
    display: inline-flex; align-items: center; justify-content: center; flex: none;
    width: 46px; height: 38px; border-radius: 8px;
    background: var(--bg-alt); color: var(--muted);
}

/* Ana sayfa arama sekmeleri: panelde "Düz" görünüm = beyaz zemin (ilk/etkin sekmeyle aynı) */
.search-tab.search-tab-duz { background: var(--white); color: var(--tab-blue); }
.search-tab.search-tab-duz i { color: var(--tab-blue); }

/* Konut kutusu: Kişi / Oda / Yatak / Banyo dört bilgi tek satıra sığsın (temada üçtü).
   Dört eşit sütun; dar kartta yazı küçülür, yine de sığmazsa alt satıra iner. */
.villa-card .villa-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(58px, 1fr)); gap: .3rem; }
.villa-card .vf-chip { justify-content: center; gap: 4px; padding: .35rem .3rem; font-size: .72rem; white-space: nowrap; }
.villa-card .vf-chip i { font-size: .8rem; }

/* =====================================================================
   KONUT TAKVİMİ (konut-takvim.js) — temanın takvim.css'ine ekler.
   Satır içi stil yok: sütun sayısı sınıfla, yarım günler span + clip-path ile.
   Renkler takvim.css'teki durum renkleriyle aynı.
   ===================================================================== */
.aylar-grid.tkv-sutun-1 { grid-template-columns: 1fr; }
.aylar-grid.tkv-sutun-2 { grid-template-columns: repeat(2, 1fr); }
.aylar-grid.tkv-sutun-3 { grid-template-columns: repeat(3, 1fr); }
.tkv-durum { grid-column: 1 / -1; text-align: center; padding: 2.5rem 1rem; color: var(--muted); font-weight: 600; }
.tkv-durum.tkv-hata { color: #b91c1c; }
.takvim-nav button:disabled { opacity: .35; cursor: default; background: var(--white); color: var(--primary); border-color: var(--border); }

/* Yarım gün: kapalı aralığın giriş günü sağ alt, çıkış günü sol üst üçgen; iki kayıt aynı günde ise ikisi birden */
.gun-hucre.tkv-ikili { background: #fff; cursor: pointer; }
/* Büyük takvim (.gun-hucre) ve rezervasyon kutusundaki mini takvim (.mini-gun) aynı yarım gün katmanını kullanır */
.gun-hucre .tkv-yarim, .mini-gun .tkv-yarim { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.gun-hucre .tkv-sol, .mini-gun .tkv-sol { clip-path: polygon(0 0, 100% 0, 0 100%); }
.gun-hucre .tkv-sag, .mini-gun .tkv-sag { clip-path: polygon(100% 0, 100% 100%, 0 100%); }
.gun-hucre .tkv-renk-musait, .mini-gun .tkv-renk-musait { background: #fff; }
.gun-hucre .tkv-renk-dolu, .mini-gun .tkv-renk-dolu { background: #fecaca; }
.gun-hucre .tkv-renk-opsiyon, .mini-gun .tkv-renk-opsiyon { background: #fef9c3; }
.gun-hucre .tkv-renk-firsat, .mini-gun .tkv-renk-firsat { background: #bbf7d0; }
/* İNDİRİM TURUNCU, fırsat yeşil — takvimde ayrı ayrı (proje sahibi, 2026-10-20) */
.gun-hucre .tkv-renk-indirim, .mini-gun .tkv-renk-indirim { background: #fed7aa; }
.gun-hucre.ak-tkv-indirim { background: #fed7aa; }
.gun-hucre.ak-tkv-indirim .gun-no, .gun-hucre.ak-tkv-indirim .guncel-fiyat { color: #9a3412; }
.mini-gun.ak-tkv-mini-indirim { background: #fed7aa; }
.mini-gun.ak-tkv-mini-indirim .mini-no { color: #9a3412; }
.legend-renk.l-indirim { background: #fed7aa; }
.mini-gun.tkv-kapali { cursor: not-allowed; }
.gun-hucre.tkv-kapali { cursor: not-allowed; }
/* Seçim en baskın: aradaki gecelerde yarım katmanlar gizlenir (seçim zemini görünsün) */
.gun-hucre.secili .tkv-yarim { display: none; }

/* Rezervasyon kutusu penceresi (#rezModal): villa detayındaki .rez-kutu kadar dar, içeriği kadar uzun.
   Pencere kendisi kayar; mini takvim ve misafir menüsü kesilmesin diye gövde taşmaya açık. */
.rez-modal { overflow-y: auto; align-items: flex-start; }
.rez-modal .takvim-modal-panel { max-width: 440px; height: auto; max-height: none; overflow: visible; margin: auto; }
.rez-modal .takvim-modal-body { overflow: visible; }
.rez-modal .rez-kutu { box-shadow: none; border: 0; padding: 0; } /* yalnız açılır pencerede; villa detayındaki kutu temadaki gibi */
@media (max-width: 575.98px) {
    .rez-modal .takvim-modal-panel { max-width: 100%; min-height: 100%; }
}
/* Mini takvim (giriş/çıkış) açık hâli: tema display:none ile başlatır */
.mini-takvim.tkv-acik { display: block; }
.mini-gun.tkv-ikili { background: #fff; }
.mini-gun.secili-gun .tkv-yarim { display: none; }

.rs-uyari { padding: .75rem .9rem; background: #fef9c3; border: 1px solid #fde68a; border-radius: 10px; color: #854d0e; font-size: .85rem; line-height: 1.5; }
.rs-uyari b { display: block; margin-bottom: .25rem; }
/* Takvim / rezervasyon penceresi açıkken çerez kutusu gizlenir (z-index'i pencerelerden yüksek,
   mini takvimi ve düğmeleri örtüyordu); pencere kapanınca geri gelir, karar verilmemişse yine görünür. */
.takvim-modal:not([hidden]) ~ .cerez-banner { display: none; }

/* Sonuç tablosunda kampanya kutusu (son dakika fırsatı / indirim) ve detaydaki indirim satırı */
.rs-kampanya { display: flex; gap: .6rem; align-items: flex-start; margin: .8rem 0 0; padding: .65rem .8rem; border-radius: 10px; background: var(--success-tint, rgba(26,161,121,.1)); color: var(--success); font-size: .8rem; line-height: 1.45; }
.rs-kampanya i { font-size: 1rem; margin-top: .1rem; flex: none; }
.rs-kampanya b { display: block; font-weight: 700; }
.rs-kampanya span { display: block; color: var(--text); }
.rs-kampanya .rs-kampanya-sonuc { color: var(--success); font-weight: 600; }
.rs-kampanya.rs-kampanya-pasif { background: #fef9c3; color: #854d0e; }
.rs-kampanya.rs-kampanya-pasif .rs-kampanya-sonuc { color: #854d0e; }
.rs-d-satir.rs-d-indirim b { color: var(--success); }

/* Alt bölüm "7/24 Yanınızdayız": bağlantı değil, düz yazı (proje sahibi, 2026-10-16) — bağlantılarla aynı görünüm, üzerine gelince renk değişmez */
.ft-contact-text .ft-contact-deger { color: var(--white); font-weight: 600; font-size: .98rem; }
/* Alt bölüm TÜRSAB görseli belge doğrulama sayfasına bağlı (2026-10-16) */
.ak-tursab-baglanti { display: block; flex-shrink: 0; }
/* Alt çubukta yapımcı imzası (Acentakur, animasyonlu SVG) — bağlantılarla aynı hizada (2026-10-16) */
.footer-legal { align-items: center; }
.footer-legal .ak-yapimci img { display: block; height: 25px; width: auto; }
/* Sabit WhatsApp düğmesi (sağdan 20px, 60px) alt çubuğun sağ ucunu örtmesin: yalnız yer yetmediğinde sağda boşluk */
@media (min-width: 576px) {
    .footer-bottom-inner { padding-right: max(0px, calc(92px - (100vw - 100%) / 2)); }
}
/* Yorum kartı: kaynak platform adı ("Airbnb") bölge satırının altında (2026-10-16) */
.testimonial-user .ak-yorum-kaynak { display: flex; align-items: center; gap: 6px; margin-top: 3px; }
.testimonial-user .ak-yorum-kaynak img { display: block; width: 16px; height: 16px; flex: none; }
/* Kısa Süreli Konaklamalar: boşluğu olmayan ay açık gri (2026-10-16) */
.ksk-months .ksk-month.ksk-month-bos { color: #c3c9d1; font-weight: 500; }
.ksk-months .ksk-month.ksk-month-bos:hover { color: #9aa3ae; }
.ksk-months .ksk-month.ksk-month-bos.active { color: var(--accent); }

/* Açılış penceresi (ana sayfa, 2026-10-16) — lacivert başlık alanı,
   kart aşağıdan yaylanarak gelir; başlık, metin ve düğme sırayla belirir. Yalnız .ak-acilis içinde. */
.ak-acilis .modal-dialog { max-width: 680px; }
.ak-acilis .modal-content { position: relative; border: 0; border-radius: 24px; overflow: hidden; background: var(--white); box-shadow: 0 40px 90px rgba(8, 24, 42, .45); }
.ak-acilis.modal.fade .modal-dialog { transform: translateY(60px) scale(.82) rotate(-1.5deg); opacity: 0; transition: transform .65s cubic-bezier(.18, .89, .32, 1.28), opacity .35s ease; }
.ak-acilis.modal.show .modal-dialog { transform: none; opacity: 1; }
body.ak-acilis-acik .modal-backdrop.show { background: #071a2e; opacity: .72; backdrop-filter: blur(4px); }

.ak-acilis .ak-acilis-ust { position: relative; overflow: hidden; padding: .95rem 2.6rem calc(.95rem + 16px); text-align: center; background: linear-gradient(140deg, var(--primary) 0%, #1c4f7c 55%, #0d2a45 100%); }
.ak-acilis .ak-acilis-ust::after { content: ""; position: absolute; left: -10%; right: -10%; bottom: -16px; height: 32px; background: var(--white); border-radius: 50%; }
.ak-acilis .ak-acilis-baslik { position: relative; z-index: 1; margin: 0; color: var(--white); font-family: var(--font-family); font-size: .98rem; font-weight: 400; line-height: 1.4; letter-spacing: .01em; }
.ak-acilis .ak-acilis-govde { position: relative; padding: 0 1.4rem 1rem 1rem; text-align: center; }
.ak-acilis .ak-acilis-icerik { max-height: 45vh; overflow-y: auto; color: #4a5563; font-size: 1rem; line-height: 1.7; }
.ak-acilis .ak-acilis-icerik > :last-child { margin-bottom: 0; }
.ak-acilis .ak-acilis-icerik a { color: var(--accent); font-weight: 600; }
.ak-acilis .ak-acilis-icerik img { max-width: 100%; height: auto; border-radius: 14px; }
.ak-acilis .ak-acilis-dugme { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 1.5rem; min-width: 180px; padding: .8rem 1.8rem; border: 0; border-radius: 999px; background: linear-gradient(135deg, var(--accent), var(--accent-light)); color: var(--white); font-weight: 700; font-size: .98rem; box-shadow: 0 12px 26px rgba(var(--accent-rgb), .38); transition: transform .25s ease, box-shadow .25s ease; }
.ak-acilis .ak-acilis-dugme:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(var(--accent-rgb), .48); }
.ak-acilis .ak-acilis-dugme i { transition: transform .25s ease; }
.ak-acilis .ak-acilis-dugme:hover i { transform: translateX(4px); }
.ak-acilis .ak-acilis-kapat { position: absolute; top: 12px; right: 12px; z-index: 3; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .85); font-size: .72rem; display: inline-flex; align-items: center; justify-content: center; transition: background .2s, color .2s, transform .35s; }
.ak-acilis .ak-acilis-kapat:hover { background: var(--accent); color: var(--white); transform: rotate(90deg); }

/* Sırayla belirme: pencere açılınca (Bootstrap .show) */
.ak-acilis.show .ak-acilis-baslik { animation: akAcilisGel .55s ease-out .3s both; }
.ak-acilis.show .ak-acilis-icerik { animation: akAcilisGel .55s ease-out .42s both; }
.ak-acilis.show .ak-acilis-dugme { animation: akAcilisGel .55s ease-out .54s both; }
@keyframes akAcilisGel { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (max-width: 575.98px) {
    .ak-acilis .modal-dialog { margin: 1rem; }
    .ak-acilis .ak-acilis-ust { padding: .85rem 2.4rem calc(.85rem + 16px); }
    .ak-acilis .ak-acilis-baslik { font-size: .92rem; }
    .ak-acilis .ak-acilis-kapat { top: 10px; right: 10px; }
    .ak-acilis .ak-acilis-icerik { font-size: .88rem; line-height: 1.6; }
    .ak-acilis .ak-acilis-dugme { min-width: 0; gap: .35rem; margin-top: .9rem; padding: .42rem 1.05rem; font-size: .8rem; box-shadow: 0 6px 14px rgba(var(--accent-rgb), .3); }
}
@media (prefers-reduced-motion: reduce) {
    .ak-acilis.modal.fade .modal-dialog { transition: none; }
    .ak-acilis.show .ak-acilis-baslik, .ak-acilis.show .ak-acilis-icerik, .ak-acilis.show .ak-acilis-dugme { animation: none; }
}

/* WhatsApp düğmesi (2026-10-16): WhatsApp yeşili; kapalıyken arkasından dalgalar yayılıp kaybolur */
.wa-widget .wa-fab { background: #25d366; }
.wa-widget:not(.acik) .wa-fab::before,
.wa-widget:not(.acik) .wa-fab::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 50%; background: #25d366; opacity: 0; animation: akWaDalga 2.6s cubic-bezier(.2, .6, .35, 1) infinite; pointer-events: none; }
.wa-widget:not(.acik) .wa-fab::after { animation-delay: 1.3s; }
@keyframes akWaDalga { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(2); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .wa-widget .wa-fab::before, .wa-widget .wa-fab::after { animation: none; display: none; } }
/* "Yorum Yaz" (Google) düğmesi — yorumlar başlığının altında (2026-10-16) */
.ak-yorum-yaz { display: inline-flex; align-items: center; gap: 8px; margin-top: .9rem; padding: .5rem 1.1rem; border: 1px solid #dadce0; border-radius: 999px; background: var(--white); color: var(--primary); font-size: .88rem; font-weight: 600; text-decoration: none; box-shadow: 0 2px 6px rgba(var(--primary-rgb), .06); transition: border-color .2s, box-shadow .2s, transform .2s; }
.ak-yorum-yaz:hover { color: var(--primary); border-color: #4285f4; box-shadow: 0 6px 16px rgba(66, 133, 244, .18); transform: translateY(-1px); }
.ak-yorum-yaz img { display: block; width: 18px; height: 18px; }

/* Ana sayfa TÜRSAB ve Instagram bantları (2026-10-16) — erken rezervasyon afişinin (.promo-inner) kardeşi */
.ak-band .promo-inner { align-items: center; }
.ak-band .promo-tag { display: inline-flex; align-items: center; gap: 6px; }
.ak-band .ak-band-sag { position: relative; z-index: 1; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.ak-band .btn-promo { position: relative; z-index: 1; }

.ak-band .ak-band-tursab { background: linear-gradient(120deg, #0d2a45 0%, var(--primary) 55%, #1b4f7a 100%); }
.ak-band .ak-band-tursab::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: #e30a17; }
.ak-band .ak-band-tursab .promo-tag { background: #e30a17; }
.ak-band .ak-band-rozet { display: inline-flex; align-items: center; justify-content: center; padding: 5px; border-radius: 10px; background: var(--white); box-shadow: 0 8px 22px rgba(0, 0, 0, .18); }
.ak-band .ak-band-rozet img { display: block; height: 75px; width: auto; max-width: 260px; border-radius: 5px; }
.ak-band .ak-band-belge { padding: .55rem 1rem; border: 1px dashed rgba(255, 255, 255, .5); border-radius: 12px; font-weight: 700; letter-spacing: .02em; }

.ak-band .ak-band-insta { background: linear-gradient(115deg, #f58529 0%, #dd2a7b 45%, #8134af 75%, #515bd4 100%); justify-content: flex-start; }
.ak-band .ak-band-insta .promo-text { flex: 1 1 320px; }
.ak-band .ak-band-insta .promo-tag { background: rgba(255, 255, 255, .22); }
.ak-band .ak-band-insta .promo-text h3 span { color: #fff1c9; }
.ak-band .ak-band-insta-ikon { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; flex: none; width: 76px; height: 76px; border-radius: 22px; background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .35); font-size: 2.3rem; color: var(--white); }
.ak-band .ak-band-insta .btn-promo { color: #c13584; }
.ak-band .ak-band-insta .btn-promo:hover { color: #8134af; }
@media (max-width: 575.98px) {
    .ak-band .ak-band-insta-ikon { width: 56px; height: 56px; border-radius: 16px; font-size: 1.7rem; }
    .ak-band .ak-band-rozet img { height: 100%; }
}
/* Ana sayfa bantlarındaki sağ üst ışık halkası kapalı (proje sahibi, 2026-10-18) */
.promo-banner .promo-inner::after { display: none; }
/* Ana sayfa kaydırdıkça yükleme yer tutucusu (2026-10-18): bölüm gelince yerine geçer; az yer ayırır (kayma azalsın) */
.ak-gec-bolum { min-height: 240px; }
/* İskelet ekran (yer tutucu, 2026-10-22): başlık + kart taslakları, üzerinden geçen yumuşak ışıltı. Renkler kökteki
   nötr tonlar (--border taban, --bg-alt ışık). Kart sayısı ekrana göre 4 / 3 / 2 / 1. */
.ak-iskelet { padding: 3.5rem 12px; }
.ak-iskelet-parca { display: block; border-radius: 8px;
    background: linear-gradient(90deg, var(--border) 0%, var(--bg-alt) 45%, var(--border) 90%); background-size: 220% 100%;
    animation: akIskeletIsilti 1.5s ease-in-out infinite; }
.ak-iskelet-baslik { width: min(320px, 70%); height: 26px; margin: 0 auto 12px; }
.ak-iskelet-alt { width: min(460px, 85%); height: 14px; margin: 0 auto 28px; border-radius: 6px; }
.ak-iskelet-kartlar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ak-iskelet-kart { display: flex; flex-direction: column; gap: 12px; }
.ak-iskelet-gorsel { aspect-ratio: 4 / 3; border-radius: var(--radius, 16px); }
.ak-iskelet-satir { height: 14px; width: 80%; border-radius: 6px; }
.ak-iskelet-satir.ak-iskelet-kisa { width: 50%; }
@keyframes akIskeletIsilti { 0% { background-position: 100% 0; } 100% { background-position: -120% 0; } }
@media (max-width: 1199.98px) { .ak-iskelet-kartlar { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ak-iskelet-kart:nth-child(n+4) { display: none; } }
@media (max-width: 767.98px) { .ak-iskelet-kartlar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .ak-iskelet-kart:nth-child(n+3) { display: none; } }
@media (max-width: 479.98px) { .ak-iskelet-kartlar { grid-template-columns: minmax(0, 1fr); } .ak-iskelet-kart:nth-child(n+2) { display: none; } }
@media (prefers-reduced-motion: reduce) { .ak-iskelet-parca { animation: none; background: var(--border); } }

/* ================= Villa listesi (2026-10-19): /villalar, bölge ve villa tipi sayfaları ================= */
/* Özellikler süzgeci kategori başlıklarıyla: liste daha uzun, başlıklar küçük ve soluk */
.liste-filtre .ak-lf-ozellik { max-height: 320px; }
.liste-filtre .ak-lf-kategori + .ak-lf-kategori { margin-top: .45rem; }
.liste-filtre .ak-lf-kategori-ad { display: block; padding: .3rem 0 .1rem; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
/* Bölge / tip sayfasının kendi kapsamı: işaretli ve değiştirilemez */
.liste-filtre .lf-check input[data-ak-kilitli] { cursor: default; opacity: .75; }
.liste-filtre .lf-check:has(input[data-ak-kilitli]) { cursor: default; font-weight: 600; }
/* Sayfalama bağlantıları temadaki düğmelerle aynı görünür */
.liste-sayfalama a.ls-no, .liste-sayfalama a.ls-ok { text-decoration: none; }
.liste-sayfalama span.ls-no { cursor: default; }
/* Sonuç yok */
.vy-list .ak-liste-bos { padding: 3rem 1.5rem; text-align: center; border: 1px dashed var(--border); border-radius: 16px; background: var(--white); }
.vy-list .ak-liste-bos > i { display: block; margin-bottom: .6rem; font-size: 2.6rem; color: var(--muted); }
.vy-list .ak-liste-bos h3 { margin-bottom: .4rem; font-size: 1.15rem; color: var(--primary); }
.vy-list .ak-liste-bos p { margin-bottom: 1.1rem; color: var(--muted); }
/* Fiyatı olmayan kartta yalnız "fiyat için iletişime geçin" */
.vy-price .vy-price-main > span:only-child { margin-top: 0; }
/* Süzgeç değişince sonuç alanı yeniden gelirken (villa-liste.js) */
.ak-liste-sonuc { transition: opacity .15s ease; }
.ak-liste-sonuc.ak-yukleniyor { opacity: .45; pointer-events: none; }
/* Liste iskeleti (2026-10-22): arama 300 ms'den uzun sürünce; liste kartı (vy-card) biçiminde taslak, soluk değil */
.ak-liste-sonuc.ak-iskelette { opacity: 1; }
.ak-iskelet-vy { display: grid; grid-template-columns: 300px 1fr 290px; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.ak-iskelet-vy-gorsel { min-height: 250px; border-radius: 0; }
.ak-iskelet-vy-bilgi { display: flex; flex-direction: column; gap: 14px; padding: 1.4rem 1.5rem; }
.ak-iskelet-vy-ad { width: 55%; height: 22px; }
.ak-iskelet-vy-ozellik { width: 85%; height: 30px; }
.ak-iskelet-vy-fiyat { display: flex; flex-direction: column; gap: 14px; padding: 1.2rem 1rem; background: var(--bg-alt); }
.ak-iskelet-vy-fiyat .ak-iskelet-satir { width: 70%; }
.ak-iskelet-vy-tutar { height: 34px; width: 80%; margin: 6px auto; }
.ak-iskelet-vy-dugme { height: 44px; border-radius: 12px; }
@media (max-width: 1199.98px) {
    .ak-iskelet-vy { grid-template-columns: 1fr; }
    .ak-iskelet-vy-gorsel { min-height: 0; aspect-ratio: 16 / 9; }
}
/* Gecelik fiyat sürgüsü (2026-10-19; fiyat-surgu.js): iki tarayıcı sürgüsü üst üste, yalnız tutamaklar tutulur */
.liste-filtre .ak-fiyat-surgu { position: relative; height: 28px; margin: .4rem 9px .15rem; }
.liste-filtre .ak-fs-ray { position: absolute; left: 0; right: 0; top: 50%; height: 4px; margin-top: -2px; border-radius: 4px; background: var(--border); }
.liste-filtre .ak-fs-dolu { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; border-radius: 4px; background: var(--accent); }
.liste-filtre .ak-fs-tutamak { position: absolute; left: -9px; top: 0; width: calc(100% + 18px); height: 28px; margin: 0; padding: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.liste-filtre .ak-fs-tutamak:focus { outline: none; }
.liste-filtre .ak-fs-tutamak::-webkit-slider-runnable-track { height: 28px; background: transparent; border: 0; }
.liste-filtre .ak-fs-tutamak::-moz-range-track { height: 28px; background: transparent; border: 0; }
.liste-filtre .ak-fs-tutamak::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; pointer-events: auto; width: 18px; height: 18px; margin-top: 5px; border: 3px solid var(--accent); border-radius: 50%; background: var(--white); box-shadow: 0 2px 6px rgba(0, 0, 0, .18); cursor: grab; }
.liste-filtre .ak-fs-tutamak::-moz-range-thumb { pointer-events: auto; width: 12px; height: 12px; border: 3px solid var(--accent); border-radius: 50%; background: var(--white); box-shadow: 0 2px 6px rgba(0, 0, 0, .18); cursor: grab; }
.liste-filtre .ak-fs-tutamak:active::-webkit-slider-thumb { cursor: grabbing; transform: scale(1.1); }
.liste-filtre .ak-fs-tutamak:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(var(--primary-rgb), .2); }
.liste-filtre .ak-fs-tutamak:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 4px rgba(var(--primary-rgb), .2); }
.liste-filtre .ak-fs-degerler { display: flex; justify-content: space-between; margin-bottom: .55rem; font-size: .85rem; font-weight: 600; color: var(--primary); }
/* Liste kartı: tarihli aramada indirim (2026-10-19) — oran rozeti + üstü çizili eski tutar, indirimli tutarın hemen üstünde */
.vy-price .ak-vy-indirim { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .45rem; margin: .2rem 0 -.85rem; }
.vy-price .ak-vy-indirim-rozet { display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .6rem; border-radius: 999px; background: var(--accent); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .01em; }
.vy-price .ak-vy-eski { font-size: .95rem; font-weight: 600; opacity: .7; }
/* Sondakika fırsatı rozeti indirimden ayrı görünsün (2026-10-19) */
.vy-price .ak-vy-indirim-rozet.ak-vy-sondakika { background: #ffc233; color: #3b2a00; }
/* ================= Villa kartında sondakika fırsatı alevi + penceresi (2026-10-19) ================= */
.vy-head-right .ak-vy-aksiyon { display: flex; align-items: center; gap: .5rem; }
.vy-card .ak-vy-firsat { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: none; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: linear-gradient(135deg, #ff9a1f, #ff3d00); color: #fff; font-size: 1.05rem; cursor: pointer; animation: akAlevNabiz 1.8s ease-out infinite; }
.vy-card .ak-vy-firsat i { display: inline-block; transform-origin: 50% 90%; animation: akAlevTitre 1.1s ease-in-out infinite; }
.vy-card .ak-vy-firsat:hover { filter: brightness(1.08); }
.vy-card .ak-vy-firsat:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.vy-card .ak-vy-firsat-sayi { position: absolute; top: -5px; right: -6px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: #fff; color: #ff3d00; font-size: .68rem; font-weight: 800; line-height: 18px; text-align: center; box-shadow: 0 1px 4px rgba(0, 0, 0, .2); }
@keyframes akAlevTitre {
    0%, 100% { transform: rotate(-4deg) scale(1); }
    25% { transform: rotate(3deg) scale(1.08, 1.14); }
    50% { transform: rotate(-2deg) scale(.96, 1.04); }
    75% { transform: rotate(4deg) scale(1.06, 1.12); }
}
@keyframes akAlevNabiz {
    0% { box-shadow: 0 0 0 0 rgba(255, 61, 0, .45); }
    70% { box-shadow: 0 0 0 9px rgba(255, 61, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 61, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
    .vy-card .ak-vy-firsat, .vy-card .ak-vy-firsat i { animation: none; }
}
.ak-firsat-modal .vy-oz-head h3 i { color: #ff3d00; }
.ak-firsat-modal .ak-firsat-aciklama { margin: 0; padding: .7rem 1.3rem 0; font-size: .85rem; color: var(--muted); }
.ak-firsat-modal .ak-firsat-liste { display: flex; flex-direction: column; gap: .7rem; padding: .9rem 1.3rem 1.3rem; overflow-y: auto; }
.ak-firsat-modal .ak-firsat-oge { display: flex; flex-direction: column; gap: .35rem; padding: .85rem 1rem; border: 1px solid var(--border); border-radius: 12px; color: var(--text); text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.ak-firsat-modal .ak-firsat-oge:hover, .ak-firsat-modal .ak-firsat-oge:focus-visible { border-color: #ff7a18; box-shadow: 0 6px 18px rgba(255, 61, 0, .12); transform: translateY(-1px); outline: none; }
.ak-firsat-modal .ak-firsat-ust { display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.ak-firsat-modal .ak-firsat-tarih { font-weight: 700; color: var(--primary); }
.ak-firsat-modal .ak-firsat-tarih i { color: #ff3d00; }
.ak-firsat-modal .ak-firsat-rozet { flex: none; padding: .15rem .55rem; border-radius: 999px; background: #ff3d00; color: #fff; font-size: .75rem; font-weight: 800; }
.ak-firsat-modal .ak-firsat-fiyat, .ak-firsat-modal .ak-firsat-toplam { font-size: .9rem; }
.ak-firsat-modal .ak-firsat-fiyat s, .ak-firsat-modal .ak-firsat-toplam s { color: var(--muted); }
.ak-firsat-modal .ak-firsat-fiyat b, .ak-firsat-modal .ak-firsat-toplam b { color: var(--primary); }
.ak-firsat-modal .ak-firsat-alt { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; font-size: .8rem; color: var(--muted); }
.ak-firsat-modal .ak-firsat-git { font-weight: 700; color: #ff3d00; }
/* Ana sayfa son dakika kartı: kişi, oda, yatak, banyo tek satırda (2026-10-19) */
.firsat-info .ak-firsat-ozellikler { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; margin-bottom: .55rem; }
.firsat-info .ak-firsat-ozellikler .firsat-cap { margin-bottom: 0; }

/* ---------------------------------------------------------------- Villa listesi: tarih şeridi (2026-10-20)
   Seçili tarihlerin bir gün öncesi / kendisi (ortada, seçili) / bir gün sonrası ve müsait villa sayısı
   (tarih-serit.js). SADE görünüm (proje sahibi, 2026-10-20: "daha minimal yap"): çerçevesiz, kısa kutular,
   tarih tek satır, altında küçük sayı; "Bulundu" satırı gösterilmez. */
.ak-ts { display: flex; align-items: stretch; gap: .5rem; margin: 0 0 1.2rem; }
.ak-ts[hidden] { display: none; }
.ak-ts .ak-ts-ok { flex: 0 0 36px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 10px; background: var(--white); color: var(--primary); font-size: 1rem; cursor: pointer; transition: border-color .15s, color .15s; }
.ak-ts .ak-ts-ok:hover:not([disabled]) { border-color: var(--accent); color: var(--accent); }
.ak-ts .ak-ts-ok:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ak-ts .ak-ts-ok[disabled] { opacity: .35; cursor: default; }
.ak-ts .ak-ts-kutular { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.ak-ts .ak-ts-kutu { container-type: inline-size; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .1rem; padding: .5rem .4rem; background: var(--white); border: 1px solid var(--border); border-radius: 10px; color: var(--text); text-align: center; text-decoration: none; transition: border-color .15s, background .15s; }
.ak-ts a.ak-ts-kutu:hover, .ak-ts a.ak-ts-kutu:focus-visible { border-color: var(--accent); color: var(--text); }
.ak-ts .ak-ts-kutu.ak-ts-secili { background: var(--accent); border-color: var(--accent); color: #fff; }
.ak-ts .ak-ts-kutu.ak-ts-yukleniyor { opacity: .7; }
.ak-ts .ak-ts-kutu.ak-ts-bos { visibility: hidden; }
.ak-ts .ak-ts-tarih { display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; gap: .35rem; font-size: .9rem; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.ak-ts .ak-ts-tarih i { color: var(--accent); font-size: .8rem; line-height: 1; }
.ak-ts .ak-ts-secili .ak-ts-tarih i { color: #fff; opacity: .8; }
.ak-ts .ak-ts-sayi { font-size: .78rem; color: var(--muted); }
.ak-ts .ak-ts-sayi b { font-weight: 700; color: var(--text); }
.ak-ts .ak-ts-secili .ak-ts-sayi, .ak-ts .ak-ts-secili .ak-ts-sayi b { color: rgba(255, 255, 255, .92); }
.ak-ts .ak-ts-alt { display: none; }
@media (max-width: 767px) {
    .ak-ts { gap: .35rem; }
    .ak-ts .ak-ts-ok { flex-basis: 28px; font-size: .9rem; border-radius: 8px; }
    .ak-ts .ak-ts-kutular { gap: .35rem; }
    .ak-ts .ak-ts-kutu { padding: .4rem .2rem; border-radius: 8px; }
    .ak-ts .ak-ts-tarih { font-size: .78rem; }
    .ak-ts .ak-ts-sayi { font-size: .7rem; }
}
/* Kutu darsa (kenar menülü liste, telefon) iki tarih alt alta, ok aşağı bakar — yarım kırılmasın */
@container (max-width: 150px) {
    .ak-ts .ak-ts-tarih { flex-direction: column; gap: 0; }
    .ak-ts .ak-ts-tarih i { transform: rotate(90deg); font-size: .7rem; }
}
/* Çok dar ekranda (küçük eski telefonlar) yalnız ortadaki kutu (oklar kaydırır) */
@media (max-width: 340px) {
    .ak-ts .ak-ts-kutular { grid-template-columns: minmax(0, 1fr); }
    .ak-ts .ak-ts-kutu:not(:nth-child(2)) { display: none; }
}

/* ---------------------------------------------------------------- Telefonda yatay taşma (2026-10-20)
   Üst çubuğun ikinci satırı (arama simgesi + "İdeal Villanı Bul" + belge bilgisi) tek satıra sığmazsa
   belge bilgisi ALT SATIRA iner — uzun belge yazısı ("Doğrulama aşamasında") ya da dar telefon (320 px)
   sayfayı sağa taşırmasın. Sığıyorsa görünüm değişmez. Liste araç çubuğu da aynı şekilde. */
.sbm-row2 { flex-wrap: wrap; row-gap: 6px; }
.sbm-row2 .sbm-belge { max-width: 100%; }
.liste-toolbar { flex-wrap: wrap; row-gap: .6rem; }
.liste-toolbar .liste-sirala { min-width: 0; }
.liste-toolbar .lf-select { min-width: 0; max-width: 100%; }
/* Çok dar telefonda logo alanı daralabilir (sağdaki bayrak / para / kalp / menü taşmasın) */
@media (max-width: 575.98px) {
    .main-navbar .navbar-brand { min-width: 0; flex: 0 1 auto; }
    .main-navbar .navbar-brand .ak-logo { max-width: min(160px, 100%); object-fit: contain; object-position: left center; }
}
/* Tarih şeridi: oka / yan kutuya basıldı, yeni tarihlerle sayfa açılıyor */
.ak-ts.ak-ts-gidiyor .ak-ts-kutular { opacity: .6; pointer-events: none; transition: opacity .15s; }

/* ---------------------------------------------------------------- Liste kartı görseli (proje sahibi, 2026-10-20)
   Yalnız villa listesi kartları (.vy-card); ana sayfa kartları (.villa-card) etkilenmez.
   - Görsel üstündeki oklar daha saydam (fareyle üstüne gelince belirginleşir), sayfa noktaları yok.
   - Telefonda villa tipi etiketleri küçük: görseli kapatmasın. */
.vy-card .vs-arrow { background: rgba(255, 255, 255, .5); box-shadow: none; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.vy-card .vs-arrow:hover { background: var(--accent); color: var(--white); }
/* Dokunmatikte oklar hep görünür (temada .9): biraz daha saydam. Fareli cihazda temadaki gibi kart üstüne gelince çıkar */
@media (hover: none) { .vy-card .vs-arrow { opacity: .75; } }
@media (hover: hover) { .vy-card .villa-slider:hover .vs-arrow { opacity: .85; } .vy-card .villa-slider .vs-arrow:hover { opacity: 1; } }
.vy-card .vs-dots { display: none; }
@media (max-width: 767px) {
    .vy-card .vy-tags { top: 8px; left: 8px; gap: 4px; }
    .vy-card .vy-tags .villa-tag { font-size: .58rem; letter-spacing: .3px; padding: .2rem .45rem; border-radius: 6px; }
}

/* ============================================================
   REZERVASYON ALIMI KAPALI (Geliştirici Ayarları, 2026-10-20)
   Şerit sayfanın en üstünde yapışık (kaydırınca kaybolmaz); yapışkan ana menü şeridin altında durur
   (yüksekliği site.js --ak-rk-h'ye yazar). Villa adresleri yerine bilgi sayfası: .ak-rk-sayfa
   ============================================================ */
.ak-rk-serit {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1031;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 16px;
    background: var(--primary, var(--primary));
    color: #fff;
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
}
.ak-rk-serit .bi { flex: none; color: var(--accent, var(--accent)); font-size: 1rem; }
.ak-rk-serit ~ .main-navbar.sticky-top { top: var(--ak-rk-h, 40px); }
@media (max-width: 575px) {
    .ak-rk-serit { padding: 7px 12px; font-size: .8rem; text-align: left; }
}
.ak-rk-sayfa .ak-rk-kutu {
    max-width: 640px;
    margin: 1.5rem auto 0;
    padding: 2.5rem 1.5rem;
    border: 1px solid rgba(var(--primary-rgb), .1);
    border-radius: 16px;
    background: #fff;
    text-align: center;
}
.ak-rk-sayfa .ak-rk-ikon { display: inline-flex; margin-bottom: .75rem; color: var(--accent, var(--accent)); font-size: 2.5rem; }
.ak-rk-sayfa h1 { margin-bottom: .75rem; font-size: 1.6rem; }
.ak-rk-sayfa p { margin-bottom: 1.5rem; color: #475569; font-size: 1.05rem; }

/* ============================================================
   VİLLA DETAY (2026-10-20; tema villa-detay.html) — temadaki satır içi stillerin karşılıkları ve
   veri olmayan yerlerin sade hâli. Yerleşim temanın style.css'inde.
   ============================================================ */
/* Bakanlık amblemi: temadaki SVG içi <style> bloğunun karşılığı */
.belge-amblem .st0 { fill: currentColor; }
/* Konut kutularındaki "Takvim" bağlantısı (…#takvim) yapışkan menünün altında kalmasın */
.ak-capa { display: block; position: relative; top: -140px; visibility: hidden; }
/* Yorum kartı: avatar verisi yok, adın ilk harfi (temadaki 44px yuvarlak görselin yerine) */
.ak-dy-avatar { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px;
  border-radius: 50%; background: var(--primary, var(--primary)); color: #fff; font-weight: 700; font-size: 1.05rem; }
.ak-dy-bos { margin: .5rem 0 0; color: #64748b; }
/* Yorum gönderildi: uyarı alanı yeşil teşekkür olur */
.yf-uyari.ak-yf-basari { color: #166534; }

/* ============================================================
   REZERVASYON TALEBİ (2026-10-20; tema rezervasyon-talebi-gonder.html) — yerleşim temanın style.css'inde.
   ============================================================ */
/* Gecelik ek hizmetin birim fiyatı (temada yok: hizmet konaklama boyunca hesaplanır) */
.rt-hizmet .ak-talep-birim { display: block; margin-top: 2px; color: #64748b; font-size: .78rem; font-weight: 500; }
/* Kampanya indirimi satırı */
.rt-fiyat .ak-talep-indirim b { color: #16a34a; }
/* Tarihler artık uygun değilse: uyarı + villa sayfasına dön */
.rt-wrap .ak-talep-don { display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-top: 1rem; text-decoration: none; }
.rt-form .cf-turnstile { margin: 1rem 0 0; }

/* ============================================================
   İÇERİK SAYFALARI (2026-10-20): kampanyalar, blog, kurumsal, SSS, iletişim. Temada HTML'leri yok; başlık bandı
   (rt-hero), kart (rt-kart), form (rt-form), blog kartı, SSS akordeonu ve sayfalama temanın style.css'inden.
   Buradakiler yalnız bu sayfalara özgü küçük eklemeler.
   ============================================================ */
/* Boş durum kutusu (fırsat / yazı / soru yok) */
.ak-kampanya .ak-bos-kutu, .ak-blog .ak-bos-kutu, .ak-sss .ak-bos-kutu, .ak-bolgeler .ak-bos-kutu, .ak-yorumlar .ak-bos-kutu {
  max-width: 560px; margin: 0 auto; padding: 2.5rem 1.5rem; text-align: center;
  background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: 16px;
}
.ak-bos-kutu .ak-bos-ikon { display: inline-flex; margin-bottom: .75rem; color: var(--accent, var(--accent)); font-size: 2.4rem; }
.ak-bos-kutu h2 { font-size: 1.35rem; margin-bottom: .5rem; }
.ak-bos-kutu p { color: #475569; margin-bottom: 1.25rem; }
.ak-kampanya .ak-kampanya-sayi { margin: 0 0 1.25rem; color: #475569; font-weight: 600; }
/* Fırsat kartı: ana sayfadaki gibi her satırda tek geniş kart (görsel sağda) */
.ak-kampanya .firsat-card { height: 100%; }

/* Blog sayfalama: temanın düğmeleri burada bağlantı */
.ak-blog .liste-sayfalama a { text-decoration: none; }
.ak-blog .liste-sayfalama .ls-bosluk { color: #94a3b8; padding: 0 .2rem; }

/* Blog yazısı ve kurumsal sayfa gövdesi */
.ak-yazi .ak-yazi-govde { max-width: 860px; margin: 0 auto; }
.ak-yazi .ak-yazi-kapak, .ak-kurumsal .ak-yazi-kapak { display: block; width: 100%; height: auto; border-radius: 16px; margin-bottom: 1.5rem; object-fit: cover; }
.ak-yazi .ak-yazi-ozet { font-size: 1.12rem; color: #334155; font-weight: 500; line-height: 1.6; margin-bottom: 1.25rem; }
.ak-yazi .ak-metin-icerik, .ak-kurumsal .ak-metin-icerik { max-width: none; }
.ak-yazi .ak-yazi-don { display: inline-flex; align-items: center; gap: 6px; margin-top: 2rem; font-weight: 600; text-decoration: none; color: var(--accent, var(--accent)); }
.ak-yazi .ak-yazi-diger { margin-top: 3.5rem; }
.ak-yazi .ak-yazi-diger .section-title { margin-bottom: 1.25rem; }

/* Kurumsal: yan menü */
.ak-kurumsal .ak-kurumsal-menu ul { list-style: none; margin: .25rem 0 0; padding: 0; }
.ak-kurumsal .ak-kurumsal-menu li + li { border-top: 1px solid var(--border, #e5e7eb); }
.ak-kurumsal .ak-kurumsal-menu a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: .7rem .25rem; color: var(--primary, var(--primary)); text-decoration: none; font-weight: 500; }
.ak-kurumsal .ak-kurumsal-menu a:hover, .ak-kurumsal .ak-kurumsal-menu a.aktif { color: var(--accent, var(--accent)); }
.ak-kurumsal .ak-kurumsal-menu a .bi { font-size: .75rem; }

/* SSS */
.ak-sss .ak-sss-govde { max-width: 860px; margin: 0 auto; }
.ak-sss .ak-sss-iletisim { margin-top: 2rem; }
.ak-sss .ak-sss-iletisim .rt-uye-btn { text-decoration: none; }

/* İletişim */
.ak-iletisim .ak-iletisim-bilgi { height: 100%; }
.ak-iletisim .ak-il-liste { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: 1rem; }
.ak-iletisim .ak-il-liste li { display: flex; gap: .85rem; align-items: flex-start; }
.ak-iletisim .ak-il-ikon { flex: none; width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(var(--primary-rgb), .08); color: var(--primary, var(--primary)); font-size: 1.1rem; }
.ak-iletisim .ak-il-ikon.ak-il-wa { background: rgba(37, 211, 102, .12); color: #1aa851; }
.ak-iletisim .ak-il-et { display: block; font-size: .8rem; color: #64748b; margin-bottom: 2px; }
.ak-iletisim .ak-il-liste a { color: var(--primary, var(--primary)); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.ak-iletisim .ak-il-liste a:hover { color: var(--accent, var(--accent)); }
.ak-iletisim .ak-il-deger { display: block; white-space: pre-line; color: #334155; }
.ak-iletisim .ak-il-liste .ak-il-yol { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; font-size: .88rem; color: var(--accent, var(--accent)); }
.ak-iletisim .ak-il-sonuc { margin-top: 1rem; padding: .8rem 1rem; border-radius: 10px; background: #fef2f2; color: #b91c1c; font-weight: 500; }
.ak-iletisim .ak-il-sonuc.ak-il-basari { background: #f0fdf4; color: #166534; }
.ak-iletisim .cf-turnstile { margin-top: 1rem; }
.ak-iletisim .ak-iletisim-harita { margin-top: 2rem; border-radius: 16px; overflow: hidden; border: 1px solid var(--border, #e5e7eb); }
.ak-iletisim .ak-iletisim-harita iframe { display: block; width: 100%; height: 420px; border: 0; }
.ak-iletisim .ak-osm-harita { height: 420px; }
@media (max-width: 575px) {
  .ak-iletisim .ak-iletisim-harita iframe, .ak-iletisim .ak-osm-harita { height: 320px; }
}

/* ============================================================
   POPÜLER BÖLGELER ve MİSAFİR YORUMLARI (2026-10-20): bölge kartı (region-card), yorum kartı (testimonial-card),
   puan özeti (detay-yorum-ozet) ve sayfalama temanın style.css'inden; buradakiler küçük eklemeler.
   ============================================================ */
.ak-bolgeler .region-card { height: 240px; }
.ak-bolgeler .ak-bolge-tumu { margin-top: 3rem; }
.ak-bolgeler .ak-bolge-tumu .section-title { margin-bottom: 1.25rem; }
.ak-bolgeler .ak-bolge-grup { height: 100%; }
.ak-bolgeler .ak-bolge-ust { display: flex; align-items: center; gap: .85rem; color: var(--primary, var(--primary)); text-decoration: none; }
.ak-bolgeler .ak-bolge-ust b { display: block; font-size: 1.1rem; }
.ak-bolgeler .ak-bolge-ust small { color: #64748b; }
.ak-bolgeler .ak-bolge-ust > .bi-chevron-right { margin-left: auto; font-size: .8rem; }
.ak-bolgeler .ak-bolge-ust:hover b { color: var(--accent, var(--accent)); }
.ak-bolgeler .ak-bolge-alt { list-style: none; margin: 1rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--border, #e5e7eb); }
.ak-bolgeler .ak-bolge-alt ul { list-style: none; margin: .2rem 0 .2rem 1rem; padding: 0; }
.ak-bolgeler .ak-bolge-alt a { display: inline-flex; gap: .35rem; align-items: baseline; padding: .2rem 0; color: #334155; text-decoration: none; }
.ak-bolgeler .ak-bolge-alt a:hover { color: var(--accent, var(--accent)); }
.ak-bolgeler .ak-bolge-alt small { color: #94a3b8; }
@media (max-width: 575px) { .ak-bolgeler .region-card { height: 180px; } }

.ak-yorumlar .detay-yorum-ozet { max-width: 760px; margin: 0 auto 1.5rem; }
.ak-yorumlar .ak-yorum-suzgec { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-bottom: 2rem; }
.ak-yorumlar .ak-yorum-suzgec a { display: inline-flex; align-items: center; gap: .3rem; padding: .45rem .9rem; border: 1px solid var(--border, #e5e7eb);
  border-radius: 999px; background: #fff; color: var(--primary, var(--primary)); text-decoration: none; font-weight: 600; font-size: .9rem; }
.ak-yorumlar .ak-yorum-suzgec a .bi-star-fill { color: var(--star, #f5b301); font-size: .8rem; }
.ak-yorumlar .ak-yorum-suzgec a small { color: #94a3b8; font-weight: 500; }
.ak-yorumlar .ak-yorum-suzgec a.on { background: var(--primary, var(--primary)); border-color: var(--primary, var(--primary)); color: #fff; }
.ak-yorumlar .ak-yorum-suzgec a.on small { color: rgba(255, 255, 255, .75); }
.ak-yorumlar .testimonial-card { height: 100%; }
.ak-yorumlar .ak-yorum-villa { display: inline-flex; gap: .35rem; margin-top: .35rem; font-size: .85rem; color: var(--accent, var(--accent)); text-decoration: none; }
.ak-yorumlar .liste-sayfalama a { text-decoration: none; }
.ak-yorumlar .liste-sayfalama .ls-bosluk { color: #94a3b8; padding: 0 .2rem; }
/* Ana sayfa kapalı modda yalnız bu kutu (2026-10-20): üst menüyle alt bölüm arasında ortada */
.ak-rk-sayfa.ak-rk-anasayfa { padding: 4rem 0 5rem; }
/* Rezervasyon alımı kapalıyken alt iletişim şeridi 3 öğe (WhatsApp yok): masaüstünde 3 sütun */
@media (min-width: 992px) { .footer-top-grid.ak-ft-uc { grid-template-columns: repeat(3, 1fr); } }

/* ============================================================
   İDEAL VİLLANI BUL (2026-10-21): adımlı teklif formu. Başlık bandı (rt-hero), form alanları (rt-form, rt-fg,
   rt-sozlesme) ve tarih seçici (takvim.css) temadan; aşağıdakiler bu sayfaya özgü. Hareketler
   prefers-reduced-motion'da kapalı.
   ============================================================ */
.ak-iv { --ak-iv-ilerleme: 0%; --ak-iv-sol: 0%; --ak-iv-sag: 0%; padding-top: 2.5rem; }
.ak-iv .ak-iv-adimlar { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; list-style: none; margin: 0 0 .9rem; padding: 0; }
.ak-iv .ak-iv-adim { display: flex; align-items: center; gap: .6rem; color: #94a3b8; font-weight: 600; font-size: .92rem; min-width: 0; }
.ak-iv .ak-iv-adim-no { position: relative; flex: none; width: 44px; height: 44px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border: 1.5px solid var(--border, #e5e7eb); font-size: 1.15rem; transition: all .35s ease; }
.ak-iv .ak-iv-adim-no .ak-iv-tamam { display: none; }
.ak-iv .ak-iv-adim-yazi { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.ak-iv .ak-iv-adim-yazi small { font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: #cbd5e1; font-weight: 700; }
.ak-iv .ak-iv-adim.aktif { color: var(--primary, var(--primary)); }
.ak-iv .ak-iv-adim.aktif .ak-iv-adim-no { background: var(--accent, var(--accent)); border-color: var(--accent, var(--accent)); color: #fff; box-shadow: 0 8px 20px rgba(var(--accent-rgb), .35); transform: translateY(-2px); }
.ak-iv .ak-iv-adim.bitti { color: var(--primary, var(--primary)); cursor: pointer; }
.ak-iv .ak-iv-adim.bitti .ak-iv-adim-no { background: #ecfdf5; border-color: #34d399; color: #059669; }
.ak-iv .ak-iv-adim.bitti .ak-iv-adim-no > .bi:first-child { display: none; }
.ak-iv .ak-iv-adim.bitti .ak-iv-tamam { display: inline; }
.ak-iv .ak-iv-ilerleme { height: 6px; border-radius: 99px; background: #eef2f7; overflow: hidden; margin-bottom: 1.8rem; }
.ak-iv .ak-iv-ilerleme-dolu { display: block; height: 100%; width: var(--ak-iv-ilerleme); border-radius: inherit;
  background: linear-gradient(90deg, var(--accent, var(--accent)), #ff9a6b); transition: width .5s cubic-bezier(.4, 0, .2, 1); }

.ak-iv .ak-iv-izgara { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.6rem; align-items: start; }
.ak-iv .ak-iv-form { background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: 22px; padding: 1.8rem; box-shadow: 0 18px 40px rgba(15, 23, 42, .06); overflow: hidden; }
.ak-iv .ak-iv-panel { border: 0; margin: 0; padding: 0; min-width: 0; }
.ak-iv .ak-iv-panel.ak-iv-gir-ileri { animation: akIvIleri .45s cubic-bezier(.2, .8, .2, 1); }
.ak-iv .ak-iv-panel.ak-iv-gir-geri { animation: akIvGeri .45s cubic-bezier(.2, .8, .2, 1); }
@keyframes akIvIleri { from { opacity: 0; transform: translateX(36px); } to { opacity: 1; transform: none; } }
@keyframes akIvGeri { from { opacity: 0; transform: translateX(-36px); } to { opacity: 1; transform: none; } }
.ak-iv .ak-iv-baslik { display: flex; align-items: center; gap: .9rem; float: none; width: 100%; margin-bottom: 1.4rem; font-size: 1.3rem; font-weight: 800; color: var(--primary, var(--primary)); }
.ak-iv .ak-iv-baslik small { display: block; font-size: .9rem; font-weight: 500; color: #64748b; margin-top: 2px; }
.ak-iv .ak-iv-rozet { flex: none; width: 52px; height: 52px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(var(--accent-rgb), .14), rgba(var(--accent-rgb), .04)); color: var(--accent, var(--accent)); font-size: 1.4rem; }
.ak-iv .ak-iv-ara-baslik { font-size: 1rem; font-weight: 700; margin: 1.6rem 0 .8rem; color: var(--primary, var(--primary)); }

.ak-iv .ak-iv-tarihler { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ak-iv .ak-iv-tarihler .rt-fg.hatali .form-control { border-color: #ef4444; }
.ak-iv .ak-iv-anahtar { display: inline-flex; align-items: center; gap: .7rem; margin: 1rem 0 1.4rem; cursor: pointer; font-weight: 600; color: #334155; }
.ak-iv .ak-iv-anahtar input { position: absolute; opacity: 0; pointer-events: none; }
.ak-iv .ak-iv-anahtar-kol { position: relative; width: 44px; height: 24px; border-radius: 99px; background: #cbd5e1; transition: background .25s; }
.ak-iv .ak-iv-anahtar-kol::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .25s cubic-bezier(.4, 0, .2, 1); }
.ak-iv .ak-iv-anahtar input:checked + .ak-iv-anahtar-kol { background: var(--accent, var(--accent)); }
.ak-iv .ak-iv-anahtar input:checked + .ak-iv-anahtar-kol::after { transform: translateX(20px); }
.ak-iv .ak-iv-anahtar input:focus-visible + .ak-iv-anahtar-kol { outline: 2px solid var(--accent, var(--accent)); outline-offset: 2px; }

.ak-iv .ak-iv-kisiler { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.ak-iv .ak-iv-kisi { display: flex; flex-direction: column; align-items: center; gap: .5rem; text-align: center; padding: 1rem .6rem; border: 1px solid var(--border, #e5e7eb); border-radius: 16px; background: #fafbfc; }
.ak-iv .ak-iv-kisi.ak-iv-zipla .ak-iv-sayici input { animation: akIvZipla .3s ease; }
@keyframes akIvZipla { 50% { transform: scale(1.25); } }
.ak-iv .ak-iv-kisi-ikon { font-size: 1.5rem; color: var(--accent, var(--accent)); }
.ak-iv .ak-iv-kisi-ad { font-weight: 700; color: var(--primary, var(--primary)); line-height: 1.2; }
.ak-iv .ak-iv-kisi-ad small { display: block; font-weight: 500; font-size: .75rem; color: #94a3b8; }
.ak-iv .ak-iv-sayici { display: inline-flex; align-items: center; gap: .3rem; }
.ak-iv .ak-iv-sayici button { width: 32px; height: 32px; border-radius: 10px; border: 1px solid var(--border, #e5e7eb); background: #fff; color: var(--primary, var(--primary)); display: inline-flex; align-items: center; justify-content: center; transition: all .2s; }
.ak-iv .ak-iv-sayici button:hover:not(:disabled) { border-color: var(--accent, var(--accent)); color: var(--accent, var(--accent)); }
.ak-iv .ak-iv-sayici button:disabled { opacity: .35; cursor: not-allowed; }
.ak-iv .ak-iv-sayici input { width: 36px; border: 0; background: transparent; text-align: center; font-weight: 800; font-size: 1.1rem; color: var(--primary, var(--primary)); padding: 0; }

.ak-iv .ak-iv-butce { text-align: center; padding: .5rem 0; }
.ak-iv .ak-iv-butce-deger { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: .6rem; font-size: 1.6rem; font-weight: 800; color: var(--primary, var(--primary)); margin-bottom: 1.4rem; }
.ak-iv .ak-iv-butce-deger .bi { font-size: 1rem; color: #94a3b8; }
.ak-iv .ak-iv-butce-deger small { flex-basis: 100%; font-size: .85rem; font-weight: 500; color: #64748b; }
.ak-iv .ak-iv-butce.kapali .ak-iv-butce-deger .bi { display: none; }
.ak-iv .ak-iv-surgu { position: relative; height: 30px; margin: 0 .5rem 1.4rem; }
.ak-iv .ak-iv-surgu-iz { position: absolute; left: 0; right: 0; top: 12px; height: 6px; border-radius: 99px; background: #e2e8f0; }
.ak-iv .ak-iv-surgu-dolu { position: absolute; top: 0; bottom: 0; left: var(--ak-iv-sol); right: var(--ak-iv-sag); border-radius: inherit; background: var(--accent, var(--accent)); transition: left .15s, right .15s; }
.ak-iv .ak-iv-butce.kapali .ak-iv-surgu-dolu { background: #cbd5e1; }
.ak-iv .ak-iv-surgu input[type=range] { position: absolute; left: 0; top: 0; width: 100%; height: 30px; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.ak-iv .ak-iv-surgu input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 3px solid var(--accent, var(--accent)); box-shadow: 0 3px 8px rgba(0, 0, 0, .15); cursor: grab; transition: transform .15s; }
.ak-iv .ak-iv-surgu input[type=range]::-webkit-slider-thumb:active { transform: scale(1.15); cursor: grabbing; }
.ak-iv .ak-iv-surgu input[type=range]::-moz-range-thumb { pointer-events: auto; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 3px solid var(--accent, var(--accent)); cursor: grab; }
.ak-iv .ak-iv-surgu input[type=range]::-webkit-slider-runnable-track { background: none; }
.ak-iv .ak-iv-not { margin: 1rem 0 0; font-size: .85rem; color: #64748b; }

.ak-iv .ak-iv-cipler { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-start; }
.ak-iv .ak-iv-hazir { justify-content: center; }
.ak-iv .ak-iv-cip, .ak-iv .ak-iv-secim > span { display: inline-flex; align-items: center; gap: .4rem; padding: .55rem 1rem; border-radius: 99px; border: 1.5px solid var(--border, #e5e7eb);
  background: #fff; color: #334155; font-weight: 600; font-size: .9rem; cursor: pointer; transition: all .2s ease; user-select: none; }
.ak-iv .ak-iv-secim { margin: 0; }
.ak-iv .ak-iv-secim input { position: absolute; opacity: 0; pointer-events: none; }
.ak-iv .ak-iv-secim small { color: #94a3b8; font-weight: 600; }
.ak-iv .ak-iv-cip:hover, .ak-iv .ak-iv-secim > span:hover { border-color: var(--accent, var(--accent)); transform: translateY(-1px); }
.ak-iv .ak-iv-cip.secili, .ak-iv .ak-iv-secim input:checked + span { background: var(--accent, var(--accent)); border-color: var(--accent, var(--accent)); color: #fff; box-shadow: 0 6px 16px rgba(var(--accent-rgb), .28); }
.ak-iv .ak-iv-secim input:checked + span small { color: rgba(255, 255, 255, .8); }
.ak-iv .ak-iv-secim input:focus-visible + span, .ak-iv .ak-iv-cip:focus-visible { outline: 2px solid var(--accent, var(--accent)); outline-offset: 2px; }
.ak-iv .ak-iv-bolgeler { display: grid; gap: .9rem; margin-top: 1rem; }
.ak-iv .ak-iv-bolge { padding: 1rem; border: 1px solid var(--border, #e5e7eb); border-radius: 16px; background: #fafbfc; }
.ak-iv .ak-iv-bolge-ust { display: inline-block; margin-bottom: .7rem; }
.ak-iv .ak-iv-bolge-ust > span { font-size: .95rem; }

.ak-iv .ak-iv-tipler { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .8rem; }
.ak-iv .ak-iv-tip { margin: 0; cursor: pointer; }
.ak-iv .ak-iv-tip input { position: absolute; opacity: 0; pointer-events: none; }
.ak-iv .ak-iv-tip-kart { position: relative; display: flex; flex-direction: column; align-items: center; gap: .5rem; padding: 1.1rem .6rem; border: 1.5px solid var(--border, #e5e7eb); border-radius: 16px; background: #fff; text-align: center; transition: all .25s ease; height: 100%; }
.ak-iv .ak-iv-tip-kart > .bi:first-child { font-size: 1.7rem; color: var(--primary, var(--primary)); transition: transform .3s; }
.ak-iv .ak-iv-tip-kart b { font-size: .9rem; color: var(--primary, var(--primary)); }
.ak-iv .ak-iv-tip-tik { position: absolute; top: 8px; right: 8px; color: var(--accent, var(--accent)); opacity: 0; transform: scale(.4); transition: all .25s cubic-bezier(.3, 1.6, .5, 1); }
.ak-iv .ak-iv-tip:hover .ak-iv-tip-kart { border-color: var(--accent, var(--accent)); transform: translateY(-3px); box-shadow: 0 10px 22px rgba(15, 23, 42, .08); }
.ak-iv .ak-iv-tip input:checked + .ak-iv-tip-kart { border-color: var(--accent, var(--accent)); background: rgba(var(--accent-rgb), .06); }
.ak-iv .ak-iv-tip input:checked + .ak-iv-tip-kart > .bi:first-child { color: var(--accent, var(--accent)); transform: scale(1.12); }
.ak-iv .ak-iv-tip input:checked + .ak-iv-tip-kart .ak-iv-tip-tik { opacity: 1; transform: scale(1); }
.ak-iv .ak-iv-tip input:focus-visible + .ak-iv-tip-kart { outline: 2px solid var(--accent, var(--accent)); outline-offset: 2px; }

.ak-iv .ak-iv-tercih { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1rem 0; }
.ak-iv .ak-iv-tercih-et { font-weight: 600; color: #334155; margin-right: .3rem; }
.ak-iv .ak-iv-tercih label { margin: 0; cursor: pointer; }
.ak-iv .ak-iv-tercih input { position: absolute; opacity: 0; pointer-events: none; }
.ak-iv .ak-iv-tercih span { display: inline-flex; align-items: center; gap: .35rem; padding: .5rem .95rem; border-radius: 12px; border: 1.5px solid var(--border, #e5e7eb); font-weight: 600; font-size: .9rem; color: #334155; transition: all .2s; }
.ak-iv .ak-iv-tercih input:checked + span { border-color: var(--primary, var(--primary)); background: var(--primary, var(--primary)); color: #fff; }
.ak-iv .ak-iv-tercih input:focus-visible + span { outline: 2px solid var(--accent, var(--accent)); outline-offset: 2px; }
.ak-iv .cf-turnstile { margin-top: 1rem; }

.ak-iv .ak-iv-uyari { margin-top: 1.2rem; padding: .8rem 1rem; border-radius: 12px; background: #fef2f2; color: #b91c1c; font-weight: 600; animation: akIvSalla .4s; }
@keyframes akIvSalla { 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } }
.ak-iv .ak-iv-gezinti { display: flex; align-items: center; gap: .8rem; margin-top: 1.8rem; padding-top: 1.4rem; border-top: 1px solid #f1f5f9; }
.ak-iv .ak-iv-sira { margin: 0 auto; color: #94a3b8; font-weight: 600; }
.ak-iv .ak-iv-sira b { color: var(--primary, var(--primary)); }
.ak-iv .ak-iv-geri, .ak-iv .ak-iv-ileri, .ak-iv .ak-iv-gonder { display: inline-flex; align-items: center; gap: .45rem; border-radius: 14px; padding: .8rem 1.4rem; font-weight: 700; border: 0; transition: all .2s ease; }
.ak-iv .ak-iv-geri { background: #f1f5f9; color: #334155; }
.ak-iv .ak-iv-geri:hover { background: #e2e8f0; }
.ak-iv .ak-iv-ileri, .ak-iv .ak-iv-gonder { margin-left: auto; background: var(--accent, var(--accent)); color: #fff; box-shadow: 0 8px 20px rgba(var(--accent-rgb), .3); }
.ak-iv .ak-iv-ileri:hover, .ak-iv .ak-iv-gonder:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(var(--accent-rgb), .38); }
.ak-iv .ak-iv-ileri:hover .bi { transform: translateX(3px); }
.ak-iv .ak-iv-ileri .bi { transition: transform .2s; }
.ak-iv .ak-iv-gonder.bekle { opacity: .7; pointer-events: none; }
.ak-iv .ak-iv-geri[hidden], .ak-iv .ak-iv-ileri[hidden], .ak-iv .ak-iv-gonder[hidden] { display: none; }

.ak-iv .ak-iv-yan { position: sticky; top: 110px; display: grid; gap: 1rem; }
.ak-iv .ak-iv-sayac { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .2rem; padding: 1.6rem 1.2rem;
  border-radius: 22px; color: #fff; background: linear-gradient(140deg, var(--primary, var(--primary)), #1d5a8c); box-shadow: 0 18px 40px rgba(var(--primary-rgb), .28); }
.ak-iv .ak-iv-sayac::before { content: ""; position: absolute; width: 220px; height: 220px; right: -80px; top: -90px; border-radius: 50%; background: rgba(255, 255, 255, .07); animation: akIvSuzul 7s ease-in-out infinite; }
@keyframes akIvSuzul { 50% { transform: translate(-18px, 14px) scale(1.06); } }
.ak-iv .ak-iv-sayac-ikon { font-size: 1.6rem; opacity: .85; }
.ak-iv .ak-iv-sayac-sayi { font-size: 3rem; font-weight: 800; line-height: 1.05; }
.ak-iv .ak-iv-sayac-sayi.ak-iv-nabiz { animation: akIvNabiz .45s ease; }
@keyframes akIvNabiz { 40% { transform: scale(1.12); color: #ffd2c2; } }
.ak-iv .ak-iv-sayac-yazi { font-size: .9rem; opacity: .85; }
.ak-iv .ak-iv-sayac-gor { position: relative; margin-top: .8rem; display: inline-flex; align-items: center; gap: .35rem; padding: .55rem 1.1rem; border-radius: 12px; background: rgba(255, 255, 255, .14); color: #fff; font-weight: 700; text-decoration: none; transition: background .2s; }
.ak-iv .ak-iv-sayac-gor:hover { background: rgba(255, 255, 255, .24); color: #fff; }
.ak-iv .ak-iv-sayac.sifir .ak-iv-sayac-gor { display: none; }
.ak-iv .ak-iv-ozet, .ak-iv .ak-iv-destek { padding: 1.2rem; border-radius: 18px; border: 1px solid var(--border, #e5e7eb); background: #fff; }
.ak-iv .ak-iv-ozet h3 { font-size: 1rem; font-weight: 700; color: var(--primary, var(--primary)); margin-bottom: .7rem; }
.ak-iv .ak-iv-ozet ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.ak-iv .ak-iv-ozet li { font-size: .88rem; color: #334155; animation: akIvBelir .35s ease; }
.ak-iv .ak-iv-ozet li .bi { color: var(--accent, var(--accent)); margin-right: .2rem; }
.ak-iv .ak-iv-ozet-bos { color: #94a3b8 !important; }
@keyframes akIvBelir { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.ak-iv .ak-iv-destek { display: grid; gap: .4rem; font-size: .9rem; }
.ak-iv .ak-iv-destek span { color: #64748b; }
.ak-iv .ak-iv-destek a { color: var(--primary, var(--primary)); font-weight: 700; text-decoration: none; }
.ak-iv .ak-iv-destek a .bi-whatsapp { color: #1aa851; }

.ak-iv .ak-iv-tesekkur { max-width: 620px; margin: 1rem auto 0; padding: 2.5rem 1.5rem; text-align: center; background: #fff; border-radius: 24px; border: 1px solid var(--border, #e5e7eb); box-shadow: 0 18px 40px rgba(15, 23, 42, .06); animation: akIvBelir .5s ease; }
.ak-iv .ak-iv-tik { width: 92px; height: 92px; margin-bottom: 1rem; }
.ak-iv .ak-iv-tik circle { fill: none; stroke: #34d399; stroke-width: 3; stroke-dasharray: 151; stroke-dashoffset: 151; animation: akIvCiz .7s ease forwards; }
.ak-iv .ak-iv-tik path { fill: none; stroke: #059669; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; stroke-dashoffset: 40; animation: akIvCiz .45s .6s ease forwards; }
@keyframes akIvCiz { to { stroke-dashoffset: 0; } }
.ak-iv .ak-iv-tesekkur h2 { font-size: 1.6rem; font-weight: 800; color: var(--primary, var(--primary)); }
.ak-iv .ak-iv-tesekkur p { color: #475569; }
.ak-iv .ak-iv-no b { color: var(--accent, var(--accent)); }
.ak-iv .ak-iv-tesekkur-dugmeler { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; margin-top: 1.4rem; }

@media (max-width: 991px) {
  .ak-iv .ak-iv-izgara { grid-template-columns: 1fr; }
  .ak-iv .ak-iv-yan { position: static; order: -1; grid-template-columns: 1fr; }
  .ak-iv .ak-iv-ozet, .ak-iv .ak-iv-destek { display: none; }
  .ak-iv .ak-iv-sayac { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: .5rem .8rem; padding: 1rem; }
  .ak-iv .ak-iv-sayac-sayi { font-size: 2rem; }
  .ak-iv .ak-iv-sayac-gor { margin-top: 0; }
  .ak-iv .ak-iv-adim-yazi { display: none; }
  .ak-iv .ak-iv-adimlar { justify-items: center; }
}
@media (max-width: 575px) {
  .ak-iv .ak-iv-form { padding: 1.2rem; border-radius: 18px; }
  .ak-iv .ak-iv-tarihler, .ak-iv .ak-iv-kisiler { grid-template-columns: 1fr; }
  .ak-iv .ak-iv-kisi { flex-direction: row; text-align: left; }
  .ak-iv .ak-iv-kisi-ad { flex: 1; }
  .ak-iv .ak-iv-adim-no { width: 40px; height: 40px; }
  .ak-iv .ak-iv-sira { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ak-iv *, .ak-iv *::before, .ak-iv *::after { animation: none !important; transition: none !important; }
  .ak-iv .ak-iv-tik circle, .ak-iv .ak-iv-tik path { stroke-dashoffset: 0; }
}

/* ==========================================================================
   HESABIM (2026-10-21) — giriş panelindeki kod ekranı + hesap sayfaları (.ak-hs-*). Temada yok; temanın
   renkleri ve login-* görünümüyle uyumlu.
   ========================================================================== */
/* Giriş paneli: Cloudflare kutusu, SMS yok uyarısı, kod ekranı */
.login-offcanvas .ak-cf { margin: .2rem 0 .6rem; min-height: 0; }
.login-offcanvas .ak-cf:empty { display: none; }
.login-offcanvas .login-note.ak-hs-uyari { background: #fff7ed; color: #9a3412; }
.login-offcanvas .ak-hs-rezkod { text-transform: uppercase; letter-spacing: 2px; font-weight: 700; }
.login-offcanvas .ak-hs-kod { text-align: center; animation: akHsGir .35s cubic-bezier(.2, .8, .2, 1); }
.login-offcanvas .ak-hs-kod-ikon { width: 64px; height: 64px; margin: .4rem auto 1rem; border-radius: 20px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(var(--accent-rgb), .16), rgba(var(--accent-rgb), .04)); color: var(--accent); font-size: 1.8rem; animation: akHsNabiz 2.4s ease-in-out infinite; }
.login-offcanvas .ak-hs-kod-metin { color: var(--muted); font-size: .95rem; margin-bottom: 1.2rem; }
.login-offcanvas .ak-hs-haneler { display: flex; justify-content: center; gap: .5rem; margin-bottom: 1rem; }
.login-offcanvas .ak-hs-hane { width: 46px; height: 56px; border: 1.5px solid var(--border); border-radius: 12px; text-align: center; font-size: 1.4rem; font-weight: 800;
  color: var(--primary); background: var(--white); transition: border-color .2s, box-shadow .2s, transform .2s; }
.login-offcanvas .ak-hs-hane:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--focus-ring); transform: translateY(-2px); }
.login-offcanvas .ak-hs-haneler.ak-hs-salla { animation: akHsSalla .45s ease; }
.login-offcanvas .ak-hs-kod-alt { display: flex; justify-content: space-between; gap: .5rem; margin: 1rem 0 .4rem; flex-wrap: wrap; }
.login-offcanvas .ak-hs-kod-not { text-align: left; margin-top: .8rem; }
.ak-hs-link { background: none; border: 0; padding: 0; color: var(--accent); font-weight: 600; font-size: .9rem; display: inline-flex; align-items: center; gap: .35rem; cursor: pointer; }
.ak-hs-link:hover { color: var(--accent-dark); }
.ak-hs-link:disabled { color: var(--muted); cursor: default; }
@keyframes akHsGir { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes akHsNabiz { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
@keyframes akHsSalla { 0%, 100% { transform: none; } 20% { transform: translateX(-8px); } 40% { transform: translateX(8px); } 60% { transform: translateX(-5px); } 80% { transform: translateX(5px); } }
@media (max-width: 380px) { .login-offcanvas .ak-hs-hane { width: 40px; height: 50px; font-size: 1.2rem; } }
@media (prefers-reduced-motion: reduce) { .login-offcanvas .ak-hs-kod, .login-offcanvas .ak-hs-kod-ikon, .login-offcanvas .ak-hs-haneler.ak-hs-salla { animation: none; } }

/* Hesap sayfaları */
.ak-hs { padding-top: 2.5rem; }
.ak-hs .ak-hs-duzen { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 1.75rem; align-items: start; }
.ak-hs .ak-hs-dar { max-width: 920px; }
.ak-hs .ak-hs-menu { position: sticky; top: 1.25rem; background: var(--white); border: 1px solid var(--border); border-radius: 18px; padding: 1.1rem; box-shadow: 0 10px 30px rgba(var(--primary-rgb), .06); }
.ak-hs .ak-hs-kim { display: flex; align-items: center; gap: .8rem; padding: .3rem .3rem 1rem; border-bottom: 1px solid var(--border); margin-bottom: .6rem; }
.ak-hs .ak-hs-avatar { width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; flex: none;
  background: linear-gradient(135deg, var(--accent), var(--accent-light)); color: #fff; font-weight: 800; font-size: 1.2rem; }
.ak-hs .ak-hs-merhaba { display: block; font-size: .82rem; color: var(--muted); }
.ak-hs .ak-hs-kim strong { color: var(--primary); }
.ak-hs .ak-hs-menu ul { list-style: none; margin: 0; padding: 0; }
.ak-hs .ak-hs-menu a, .ak-hs .ak-hs-menu button { width: 100%; display: flex; align-items: center; gap: .7rem; padding: .7rem .8rem; border-radius: 12px; border: 0; background: none;
  color: var(--text); font-weight: 600; font-size: .95rem; text-align: left; transition: background .2s, color .2s; cursor: pointer; }
.ak-hs .ak-hs-menu a i, .ak-hs .ak-hs-menu button i { font-size: 1.1rem; color: var(--muted); transition: color .2s; }
.ak-hs .ak-hs-menu a:hover, .ak-hs .ak-hs-menu button:hover { background: var(--bg-alt); }
.ak-hs .ak-hs-menu a.aktif { background: rgba(var(--accent-rgb), .1); color: var(--accent-dark); }
.ak-hs .ak-hs-menu a.aktif i { color: var(--accent); }
.ak-hs .ak-hs-menu form { margin: .4rem 0 0; padding-top: .4rem; border-top: 1px solid var(--border); }
.ak-hs .ak-hs-icerik { min-width: 0; animation: akHsGir .4s cubic-bezier(.2, .8, .2, 1); }
.ak-hs .ak-hs-baslik { display: flex; align-items: center; gap: .6rem; font-size: 1.15rem; font-weight: 800; color: var(--primary); margin: 0 0 1rem; }
.ak-hs .ak-hs-baslik span { font-size: .8rem; background: var(--bg-alt); color: var(--muted); border-radius: 20px; padding: .15rem .6rem; }
.ak-hs .ak-hs-rezler { display: grid; gap: 1rem; margin-bottom: 2rem; }
.ak-hs .ak-hs-rez { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 1.1rem; align-items: center; padding: .8rem; background: var(--white);
  border: 1px solid var(--border); border-radius: 18px; color: var(--text); transition: transform .25s, box-shadow .25s, border-color .25s; }
.ak-hs .ak-hs-rez:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(var(--primary-rgb), .1); border-color: rgba(var(--accent-rgb), .35); }
.ak-hs .ak-hs-rezler-gecmis .ak-hs-rez { opacity: .85; }
.ak-hs .ak-hs-rez-gorsel { display: block; width: 150px; height: 110px; border-radius: 12px; overflow: hidden; background: var(--bg-alt); }
.ak-hs .ak-hs-rez-gorsel img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.ak-hs .ak-hs-rez:hover .ak-hs-rez-gorsel img { transform: scale(1.06); }
.ak-hs .ak-hs-gorsel-yok { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--muted); font-size: 2rem; }
.ak-hs .ak-hs-rez-govde { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.ak-hs .ak-hs-rez-ad { font-size: 1.05rem; color: var(--primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ak-hs .ak-hs-rez-bolge { color: var(--muted); font-size: .88rem; }
.ak-hs .ak-hs-rez-bilgi { display: flex; flex-wrap: wrap; gap: .3rem 1rem; color: var(--muted); font-size: .86rem; }
.ak-hs .ak-hs-rez-bilgi i, .ak-hs .ak-hs-rez-bolge i { color: var(--accent); }
.ak-hs .ak-hs-rez-sag { display: flex; flex-direction: column; align-items: flex-end; gap: .35rem; text-align: right; padding-right: .4rem; }
.ak-hs .ak-hs-rez-kod { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 700; letter-spacing: 1px; color: var(--muted); font-size: .85rem; }
.ak-hs .ak-hs-rez-tutar { color: var(--primary); font-size: 1.05rem; white-space: nowrap; }
.ak-hs .ak-hs-rez-ok { color: var(--accent); font-weight: 600; font-size: .85rem; }
.ak-hs .ak-hs-durum { align-self: flex-start; display: inline-flex; align-items: center; gap: .35rem; font-size: .76rem; font-weight: 700; padding: .25rem .65rem; border-radius: 20px;
  background: #e0f2fe; color: #075985; }
.ak-hs .ak-hs-durum::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.ak-hs [data-durum="2"].ak-hs-durum, .ak-hs [data-durum="4"].ak-hs-durum { background: #fef3c7; color: #92400e; }
.ak-hs [data-durum="3"].ak-hs-durum { background: #fee2e2; color: #b91c1c; }
.ak-hs [data-durum="5"].ak-hs-durum, .ak-hs [data-durum="6"].ak-hs-durum, .ak-hs [data-durum="7"].ak-hs-durum { background: #dcfce7; color: #166534; }
.ak-hs [data-durum="8"].ak-hs-durum { background: #f1f5f9; color: #475569; }
.ak-hs .ak-hs-bos { text-align: center; padding: 3rem 1.5rem; background: var(--white); border: 1px dashed var(--border); border-radius: 20px; }
.ak-hs .ak-hs-bos > i { font-size: 2.6rem; color: var(--accent); display: inline-block; animation: akHsNabiz 2.4s ease-in-out infinite; }
.ak-hs .ak-hs-bos p { font-weight: 700; color: var(--primary); font-size: 1.1rem; margin: .8rem 0 .3rem; }
.ak-hs .ak-hs-bos span { display: block; color: var(--muted); margin-bottom: 1.2rem; }
.ak-hs .ak-hs-dugme { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .7rem 1.3rem; border-radius: 12px; border: 0; background: var(--accent);
  color: #fff; font-weight: 700; font-size: .95rem; transition: background .2s, transform .2s; cursor: pointer; }
.ak-hs .ak-hs-dugme:hover { background: var(--accent-dark); color: #fff; transform: translateY(-1px); }
.ak-hs .ak-hs-dugme:disabled { opacity: .7; transform: none; cursor: default; }
.ak-hs .ak-hs-dugme-ikincil { background: var(--primary); }
.ak-hs .ak-hs-dugme-ikincil:hover { background: var(--primary-dark); }
.ak-hs .ak-hs-dugme-wa { background: #25d366; }
.ak-hs .ak-hs-dugme-wa:hover { background: #1ebe57; }
.ak-hs .ak-hs-dugme-tehlike { background: #dc2626; }
.ak-hs .ak-hs-dugme-tehlike:hover { background: #b91c1c; }
.ak-hs .ak-hs-bilgi { display: flex; align-items: center; gap: .7rem; padding: .9rem 1.1rem; border-radius: 14px; margin-bottom: 1.2rem; font-weight: 600; animation: akHsGir .35s ease; }
.ak-hs .ak-hs-bilgi-ok { background: #ecfdf5; color: #047857; }
.ak-hs .ak-hs-bilgi-hata { background: #fef2f2; color: #b91c1c; }
.ak-hs .ak-hs-bilgi-not { background: var(--bg-alt); color: var(--text); margin-top: 1.4rem; flex-wrap: wrap; }
.ak-hs .ak-hs-bilgi-not span { flex: 1 1 260px; font-weight: 500; }
.ak-hs .ak-hs-geri { margin-bottom: 1rem; }

/* Rezervasyon ayrıntısı (parca/rez_detay) */
.ak-hs .ak-hs-detay { display: grid; gap: 1.1rem; }
.ak-hs .ak-hs-kart { background: var(--white); border: 1px solid var(--border); border-radius: 18px; padding: 1.25rem 1.35rem; }
.ak-hs .ak-hs-kart h3 { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; font-size: 1.02rem; font-weight: 800; color: var(--primary); margin: 0 0 .9rem; }
.ak-hs .ak-hs-kart h3 > i { color: var(--accent); }
.ak-hs .ak-hs-maske { font-size: .75rem; font-weight: 600; color: var(--muted); background: var(--bg-alt); border-radius: 20px; padding: .15rem .55rem; }
.ak-hs .ak-hs-durum-bant { display: flex; align-items: center; gap: 1.1rem; padding: 1.3rem 1.4rem; border-radius: 20px; color: #fff; flex-wrap: wrap;
  background: linear-gradient(135deg, #2563eb, #1d4ed8); box-shadow: 0 16px 36px rgba(37, 99, 235, .25); position: relative; overflow: hidden; }
.ak-hs .ak-hs-durum-bant::after { content: ""; position: absolute; right: -40px; top: -40px; width: 160px; height: 160px; border-radius: 50%; background: rgba(255, 255, 255, .08); }
.ak-hs .ak-hs-durum-bant[data-durum="2"], .ak-hs .ak-hs-durum-bant[data-durum="4"] { background: linear-gradient(135deg, #f59e0b, #d97706); box-shadow: 0 16px 36px rgba(217, 119, 6, .25); }
.ak-hs .ak-hs-durum-bant[data-durum="3"] { background: linear-gradient(135deg, #ef4444, #b91c1c); box-shadow: 0 16px 36px rgba(220, 38, 38, .22); }
.ak-hs .ak-hs-durum-bant[data-durum="5"], .ak-hs .ak-hs-durum-bant[data-durum="6"] { background: linear-gradient(135deg, #10b981, #047857); box-shadow: 0 16px 36px rgba(5, 150, 105, .25); }
.ak-hs .ak-hs-durum-bant[data-durum="7"] { background: linear-gradient(135deg, #14b8a6, #0f766e); box-shadow: 0 16px 36px rgba(13, 148, 136, .25); }
.ak-hs .ak-hs-durum-bant[data-durum="8"] { background: linear-gradient(135deg, #64748b, #334155); box-shadow: 0 16px 36px rgba(51, 65, 85, .22); }
.ak-hs .ak-hs-durum-ikon { width: 58px; height: 58px; border-radius: 18px; background: rgba(255, 255, 255, .18); display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.7rem; flex: none; animation: akHsNabiz 2.6s ease-in-out infinite; }
.ak-hs .ak-hs-durum-metin { flex: 1 1 240px; min-width: 0; position: relative; z-index: 1; }
.ak-hs .ak-hs-durum-ad { font-size: 1.3rem; font-weight: 800; }
.ak-hs .ak-hs-durum-metin p { margin: .2rem 0 .4rem; opacity: .92; }
.ak-hs .ak-hs-kalan { display: inline-flex; align-items: center; gap: .35rem; background: rgba(255, 255, 255, .18); border-radius: 20px; padding: .2rem .7rem; font-size: .85rem; font-weight: 600; margin-right: .4rem; }
.ak-hs .ak-hs-kod-kutu { position: relative; z-index: 1; background: rgba(255, 255, 255, .15); border: 1px dashed rgba(255, 255, 255, .5); border-radius: 14px; padding: .55rem 1rem; text-align: center; }
.ak-hs .ak-hs-kod-kutu span { display: block; font-size: .75rem; opacity: .85; }
.ak-hs .ak-hs-kod-kutu strong { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1.2rem; letter-spacing: 2px; }
.ak-hs .ak-hs-konut { display: flex; align-items: center; gap: 1.2rem; }
.ak-hs .ak-hs-konut img { width: 170px; height: 120px; object-fit: cover; border-radius: 14px; flex: none; }
.ak-hs .ak-hs-konut h2 { font-size: 1.25rem; font-weight: 800; color: var(--primary); margin: 0 0 .3rem; }
.ak-hs .ak-hs-konut .ak-hs-rez-bolge { display: block; }
.ak-hs .ak-hs-konut .ak-hs-link { display: inline-flex; margin-top: .6rem; }
.ak-hs .ak-hs-tarihler { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
.ak-hs .ak-hs-tarihler > div { background: var(--white); border: 1px solid var(--border); border-radius: 16px; padding: .9rem 1rem; }
.ak-hs .ak-hs-tarihler span { display: block; font-size: .8rem; color: var(--muted); font-weight: 600; }
.ak-hs .ak-hs-tarihler strong { display: block; color: var(--primary); font-size: 1.02rem; margin-top: .15rem; }
.ak-hs .ak-hs-tarihler small { color: var(--muted); }
.ak-hs .ak-hs-ikili { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.ak-hs .ak-hs-satir { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px dashed var(--border); font-size: .93rem; }
.ak-hs .ak-hs-satir:last-child { border-bottom: 0; }
.ak-hs .ak-hs-satir span { color: var(--muted); flex: none; }
.ak-hs .ak-hs-satir strong { color: var(--text); text-align: right; min-width: 0; overflow-wrap: anywhere; }
.ak-hs .ak-hs-satir-alt { padding-left: .9rem; font-size: .86rem; }
.ak-hs .ak-hs-satir-toplam strong { color: var(--primary); font-size: 1.05rem; }
.ak-hs .ak-hs-satir-vurgu strong { color: var(--accent-dark); }
.ak-hs .ak-hs-iban strong { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; white-space: normal; word-break: break-all; }
.ak-hs .ak-hs-odendi { display: flex; align-items: center; gap: .45rem; color: #047857; font-weight: 700; padding: .5rem 0; }
.ak-hs .ak-hs-not { color: var(--muted); font-size: .88rem; margin: .5rem 0 0; }
.ak-hs .ak-hs-form > p.ak-hs-not { margin: 0 0 .9rem; }
.ak-hs .ak-hs-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.ak-hs .ak-hs-liste li { position: relative; padding-left: 1.5rem; font-size: .92rem; }
.ak-hs .ak-hs-liste li::before { position: absolute; left: 0; top: 0; font-family: "bootstrap-icons"; }
.ak-hs .ak-hs-liste-evet li::before { content: "\F26E"; color: var(--success); }
.ak-hs .ak-hs-liste-hayir li::before { content: "\F62A"; color: #dc2626; }
.ak-hs .ak-hs-yardim { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; background: linear-gradient(135deg, rgba(var(--primary-rgb), .05), rgba(var(--accent-rgb), .06)); }
.ak-hs .ak-hs-yardim h3 { margin-bottom: .2rem; }
.ak-hs .ak-hs-yardim p { margin: 0; color: var(--muted); }
.ak-hs .ak-hs-yardim-dugmeler { display: flex; gap: .6rem; flex-wrap: wrap; }

/* Profil */
.ak-hs .ak-hs-form { margin-bottom: 1.1rem; }
.ak-hs .ak-hs-alanlar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.ak-hs .ak-hs-alan { display: block; }
.ak-hs .ak-hs-alan > span { display: block; font-size: .85rem; font-weight: 700; color: var(--primary); margin-bottom: .35rem; }
.ak-hs .ak-hs-alan input[type="text"], .ak-hs .ak-hs-alan input[type="tel"], .ak-hs .ak-hs-alan input[type="email"] { width: 100%; height: 48px; padding: 0 14px; border: 1.5px solid var(--border);
  border-radius: 12px; font-size: .95rem; color: var(--text); background: var(--white); transition: border-color .2s, box-shadow .2s; }
.ak-hs .ak-hs-alan input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--focus-ring); }
.ak-hs .ak-hs-alan small { display: block; color: var(--muted); font-size: .8rem; margin-top: .3rem; }
.ak-hs .ak-hs-alan.is-invalid input { border-color: #dc2626; }
.ak-hs .ak-hs-onay { display: flex; align-items: flex-start; gap: .6rem; margin: .2rem 0 1rem; font-size: .92rem; cursor: pointer; }
.ak-hs .ak-hs-onay input { margin-top: .25rem; accent-color: var(--accent); width: 17px; height: 17px; flex: none; }
.ak-hs .ak-hs-onay.is-invalid span { color: #dc2626; }
.ak-hs .ak-hs-satir-form { display: flex; align-items: flex-end; gap: .7rem; flex-wrap: wrap; }
.ak-hs .ak-hs-satir-form .ak-hs-alan { flex: 1 1 260px; }
.ak-hs .ak-hs-satir-form .ak-hs-dugme { height: 48px; }
.ak-hs .ak-hs-kod-alt { display: flex; gap: 1.2rem; margin-top: .8rem; }
.ak-hs .ak-hs-tehlike { border-color: #fecaca; }
.ak-hs .ak-hs-tehlike h3 > i { color: #dc2626; }

@media (max-width: 991.98px) {
  .ak-hs .ak-hs-duzen { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; }
  .ak-hs .ak-hs-menu { position: static; padding: .6rem; min-width: 0; }
  .ak-hs .ak-hs-kim { display: none; }
  .ak-hs .ak-hs-menu ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .3rem; }
  .ak-hs .ak-hs-menu a, .ak-hs .ak-hs-menu button { justify-content: center; white-space: nowrap; padding: .55rem .6rem; font-size: .9rem; }
  .ak-hs .ak-hs-menu form { margin: 0; padding: 0; border: 0; }
  .ak-hs .ak-hs-tarihler { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767.98px) {
  .ak-hs { padding-top: 1.5rem; }
  .ak-hs .ak-hs-menu ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ak-hs .ak-hs-rez { grid-template-columns: 96px minmax(0, 1fr); }
  .ak-hs .ak-hs-rez-gorsel { width: 96px; height: 96px; }
  .ak-hs .ak-hs-rez-sag { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; padding: .6rem .2rem 0; border-top: 1px dashed var(--border); text-align: left; }
  .ak-hs .ak-hs-ikili, .ak-hs .ak-hs-alanlar { grid-template-columns: 1fr; }
  .ak-hs .ak-hs-konut { flex-direction: column; align-items: flex-start; }
  .ak-hs .ak-hs-konut img { width: 100%; height: 180px; }
  .ak-hs .ak-hs-durum-bant { padding: 1.1rem; }
  .ak-hs .ak-hs-kod-kutu { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ak-hs .ak-hs-icerik, .ak-hs .ak-hs-durum-ikon, .ak-hs .ak-hs-bos > i, .ak-hs .ak-hs-bilgi { animation: none; }
  .ak-hs .ak-hs-rez, .ak-hs .ak-hs-rez-gorsel img { transition: none; }
}

/* ==========================================================================
   VİLLANIZI KİRAYA VERİN — ev sahiplerine tanıtım sayfası (2026-10-21, .ak-kv-*). Temada sayfa yok; temanın
   renkleri. Karşılama alanı yalnız CSS ile belirir; [data-ak-gor] öğeleri kiraya-ver.js ile (JS yoksa görünür).
   ========================================================================== */
.ak-kv { overflow-x: clip; }
.ak-kv .ak-kv-ust { position: relative; min-height: 86vh; display: flex; flex-direction: column; justify-content: center; padding: 6.5rem 0 8.5rem; color: #fff;
  background-color: var(--primary); background-size: cover; background-position: center; isolation: isolate; overflow: hidden; animation: akKvYakin 22s ease-in-out infinite alternate; }
.ak-kv .ak-kv-ust::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(115deg, rgba(var(--primary-dark-rgb), .94) 0%, rgba(var(--primary-rgb), .82) 45%, rgba(var(--accent-rgb), .35) 100%); }
.ak-kv .ak-kv-yol { position: absolute; top: 1.4rem; color: rgba(255, 255, 255, .8); }
.ak-kv .ak-kv-yol a, .ak-kv .ak-kv-yol span { color: rgba(255, 255, 255, .85); }
.ak-kv .ak-kv-ust-govde { max-width: 720px; position: relative; }
.ak-kv .ak-kv-ust-govde > * { animation: akKvGiris .9s cubic-bezier(.2, .8, .2, 1) both; }
.ak-kv .ak-kv-ust-govde > :nth-child(2) { animation-delay: .12s; }
.ak-kv .ak-kv-ust-govde > :nth-child(3) { animation-delay: .24s; }
.ak-kv .ak-kv-ust-govde > :nth-child(4) { animation-delay: .36s; }
.ak-kv .ak-kv-ust-govde > :nth-child(5) { animation-delay: .48s; }
.ak-kv .ak-kv-rozet { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem 1rem; border-radius: 30px; background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .25); backdrop-filter: blur(6px); font-weight: 600; font-size: .9rem; margin-bottom: 1.2rem; }
.ak-kv .ak-kv-rozet i { color: var(--accent-light); }
.ak-kv .ak-kv-ust h1 { font-size: clamp(2.1rem, 5vw, 3.6rem); font-weight: 800; line-height: 1.12; margin: 0 0 1.1rem; color: #fff; }
.ak-kv .ak-kv-ust h1 span { display: inline; background: linear-gradient(90deg, var(--accent-light), var(--accent), var(--gold)); background-size: 200% auto;
  -webkit-background-clip: text; background-clip: text; color: transparent; animation: akKvParilti 6s linear infinite; }
.ak-kv .ak-kv-ust-metin { font-size: 1.12rem; color: rgba(255, 255, 255, .88); max-width: 620px; margin-bottom: 1.3rem; }
.ak-kv .ak-kv-maddeler { list-style: none; padding: 0; margin: 0 0 1.8rem; display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; }
.ak-kv .ak-kv-maddeler li { display: flex; align-items: center; gap: .45rem; font-weight: 600; }
.ak-kv .ak-kv-maddeler i { color: #4ade80; }
.ak-kv .ak-kv-dugmeler { display: flex; flex-wrap: wrap; gap: .8rem; }
.ak-kv .ak-kv-dugme { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; padding: .95rem 1.7rem; border-radius: 14px; font-weight: 700;
  font-size: 1rem; transition: transform .25s, box-shadow .25s, background .25s; }
.ak-kv .ak-kv-dugme-ana { background: var(--accent); color: #fff; box-shadow: 0 14px 30px rgba(var(--accent-rgb), .38); position: relative; overflow: hidden; }
.ak-kv .ak-kv-dugme-ana::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; transform: skewX(-20deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent); animation: akKvParla 3.2s ease-in-out infinite; }
.ak-kv .ak-kv-dugme-ana:hover { background: var(--accent-dark); color: #fff; transform: translateY(-3px); box-shadow: 0 18px 36px rgba(var(--accent-rgb), .45); }
.ak-kv .ak-kv-dugme-cam { background: rgba(255, 255, 255, .12); color: #fff; border: 1px solid rgba(255, 255, 255, .35); backdrop-filter: blur(6px); }
.ak-kv .ak-kv-dugme-cam:hover { background: rgba(255, 255, 255, .22); color: #fff; transform: translateY(-3px); }
.ak-kv .ak-kv-dugme-tam { width: 100%; }
.ak-kv .ak-kv-asagi { position: absolute; left: 50%; bottom: 5.6rem; transform: translateX(-50%); color: rgba(255, 255, 255, .85); font-size: 1.5rem; animation: akKvZipla 2s ease-in-out infinite; }
.ak-kv .ak-kv-sekil { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; z-index: -1; }
.ak-kv .ak-kv-sekil-1 { width: 380px; height: 380px; right: -90px; top: 12%; background: radial-gradient(circle at 30% 30%, rgba(var(--accent-light-rgb), .55), rgba(var(--accent-rgb), 0)); animation: akKvYuzer 9s ease-in-out infinite; }
.ak-kv .ak-kv-sekil-2 { width: 220px; height: 220px; right: 18%; bottom: 14%; background: radial-gradient(circle at 40% 40%, rgba(255, 209, 102, .45), rgba(255, 209, 102, 0)); animation: akKvYuzer 11s ease-in-out infinite reverse; }
.ak-kv .ak-kv-sekil-3 { width: 140px; height: 140px; left: 6%; bottom: 22%; border: 2px solid rgba(255, 255, 255, .18); filter: none; animation: akKvDon 24s linear infinite; }

/* Rakamlar: karşılamanın altına taşar */
.ak-kv .ak-kv-rakamlar { position: relative; z-index: 2; margin-top: -4.6rem; }
.ak-kv .ak-kv-rakam-izgara { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; background: #fff; border-radius: 24px; padding: 1.4rem;
  box-shadow: 0 24px 60px rgba(var(--primary-rgb), .14); }
.ak-kv .ak-kv-rakam-izgara.ak-kv-adet-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ak-kv .ak-kv-rakam-izgara.ak-kv-adet-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ak-kv .ak-kv-rakam-izgara.ak-kv-adet-1 { grid-template-columns: 1fr; }
.ak-kv .ak-kv-rakam { text-align: center; padding: .8rem .5rem; border-radius: 16px; }
.ak-kv .ak-kv-rakam + .ak-kv-rakam { border-left: 1px dashed var(--border); }
.ak-kv .ak-kv-rakam-ikon { width: 48px; height: 48px; margin: 0 auto .6rem; border-radius: 14px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(var(--accent-rgb), .16), rgba(var(--accent-rgb), .04)); color: var(--accent); font-size: 1.3rem; }
.ak-kv .ak-kv-rakam strong { display: block; font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 800; color: var(--primary); line-height: 1.1; font-variant-numeric: tabular-nums; }
.ak-kv .ak-kv-rakam > span:last-child { color: var(--muted); font-weight: 600; font-size: .92rem; }

/* Bölüm ortakları */
.ak-kv .ak-kv-bolum { padding-top: 5rem; padding-bottom: 5rem; }
.ak-kv .ak-kv-acik { background: var(--bg-alt); }
.ak-kv .ak-kv-bolum-ust { text-align: center; max-width: 680px; margin: 0 auto 2.8rem; }
.ak-kv .ak-kv-ust-etiket { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .9rem; border-radius: 30px; background: rgba(var(--accent-rgb), .1);
  color: var(--accent-dark); font-weight: 700; font-size: .82rem; letter-spacing: .3px; text-transform: uppercase; margin-bottom: .9rem; }
.ak-kv .ak-kv-bolum-ust h2, .ak-kv .ak-kv-hesap h2 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 800; color: var(--primary); margin-bottom: .6rem; }
.ak-kv .ak-kv-bolum-ust p { color: var(--muted); font-size: 1.05rem; margin: 0; }
.ak-kv .ak-kv-dar { max-width: 860px; }

/* Belirerek açılma (yalnız JS çalışınca gizlenir) */
.ak-kv.ak-kv-hazir [data-ak-gor] { transition: opacity .8s cubic-bezier(.2, .8, .2, 1), transform .8s cubic-bezier(.2, .8, .2, 1); transition-delay: var(--ak-gecikme, 0ms); }
.ak-kv.ak-kv-hazir [data-ak-gor]:not(.ak-gor-acik) { opacity: 0; transform: translateY(34px); }

/* Güvenceler */
.ak-kv .ak-kv-guvenceler { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.ak-kv .ak-kv-guvence { position: relative; background: #fff; border: 1px solid var(--border); border-radius: 22px; padding: 2rem 1.6rem 1.7rem; overflow: hidden;
  transition: transform .35s, box-shadow .35s, border-color .35s; }
.ak-kv .ak-kv-guvence::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--accent), var(--gold));
  transform: scaleX(0); transform-origin: left; transition: transform .45s ease; }
.ak-kv .ak-kv-guvence:hover { transform: translateY(-8px); box-shadow: 0 22px 46px rgba(var(--primary-rgb), .12); border-color: transparent; }
.ak-kv .ak-kv-guvence:hover::after { transform: scaleX(1); }
.ak-kv .ak-kv-guvence-ikon { width: 60px; height: 60px; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; color: #fff;
  background: linear-gradient(135deg, var(--accent), var(--accent-light)); box-shadow: 0 12px 24px rgba(var(--accent-rgb), .3); margin-bottom: 1.2rem; transition: transform .45s cubic-bezier(.2, .8, .2, 1); }
.ak-kv .ak-kv-guvence:hover .ak-kv-guvence-ikon { transform: rotate(-8deg) scale(1.08); }
.ak-kv .ak-kv-guvence h3 { font-size: 1.15rem; font-weight: 800; color: var(--primary); margin-bottom: .5rem; }
.ak-kv .ak-kv-guvence p { color: var(--muted); margin: 0; line-height: 1.6; }

/* Nasıl çalışır (koyu) */
.ak-kv .ak-kv-koyu { background: radial-gradient(circle at 15% 20%, rgba(var(--accent-rgb), .18), transparent 40%), radial-gradient(circle at 85% 80%, rgba(255, 209, 102, .1), transparent 40%), var(--primary-dark); color: #fff; }
.ak-kv .ak-kv-koyu .ak-kv-bolum-ust h2 { color: #fff; }
.ak-kv .ak-kv-koyu .ak-kv-bolum-ust p { color: rgba(255, 255, 255, .75); }
.ak-kv .ak-kv-koyu .ak-kv-ust-etiket { background: rgba(255, 255, 255, .1); color: var(--accent-light); }
.ak-kv .ak-kv-adimlar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem; position: relative; }
.ak-kv .ak-kv-adimlar.ak-kv-adet-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ak-kv .ak-kv-adimlar.ak-kv-adet-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ak-kv .ak-kv-adimlar.ak-kv-adet-1 { grid-template-columns: 1fr; }
.ak-kv .ak-kv-adimlar::before { content: ""; position: absolute; top: 38px; left: 12%; right: 12%; height: 2px; background: rgba(255, 255, 255, .12); }
.ak-kv .ak-kv-adimlar::after { content: ""; position: absolute; top: 38px; left: 12%; right: 12%; height: 2px; background: linear-gradient(90deg, var(--accent), var(--gold));
  transform: scaleX(0); transform-origin: left; transition: transform 1.6s cubic-bezier(.4, 0, .2, 1) .3s; }
.ak-kv .ak-kv-adimlar.ak-gor-acik::after, .ak-kv:not(.ak-kv-hazir) .ak-kv-adimlar::after { transform: scaleX(1); }
.ak-kv .ak-kv-adimlar.ak-kv-adet-1::before, .ak-kv .ak-kv-adimlar.ak-kv-adet-1::after { display: none; }
.ak-kv.ak-kv-hazir .ak-kv-adimlar[data-ak-gor]:not(.ak-gor-acik) { opacity: 1; transform: none; }
.ak-kv .ak-kv-adim { position: relative; text-align: center; padding: 0 .4rem; }
.ak-kv .ak-kv-adim-no { position: relative; z-index: 1; width: 78px; height: 78px; margin: 0 auto 1.2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 1.8rem; color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-light)); box-shadow: 0 0 0 8px rgba(var(--accent-rgb), .15), 0 16px 30px rgba(0, 0, 0, .25); }
.ak-kv .ak-kv-adim-no b { position: absolute; top: -4px; right: -4px; width: 28px; height: 28px; border-radius: 50%; background: #fff; color: var(--primary); font-size: .85rem;
  display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(0, 0, 0, .2); }
.ak-kv .ak-kv-adim.ak-gor-acik .ak-kv-adim-no { animation: akKvNabiz 2.8s ease-in-out infinite; animation-delay: var(--ak-gecikme, 0ms); }
.ak-kv .ak-kv-adim h3 { font-size: 1.12rem; font-weight: 800; color: #fff; margin-bottom: .45rem; }
.ak-kv .ak-kv-adim p { color: rgba(255, 255, 255, .72); margin: 0; font-size: .95rem; line-height: 1.6; }

.ak-kv .ak-kv-panel-bolum { background: linear-gradient(180deg, #fff 0%, var(--bg-alt) 100%); }
/* Ev Sahibi Paneli: solda özellikler, sağda temsilî panel ekranı (yalnız süs) */
.ak-kv .ak-kv-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 3rem; align-items: center; }
.ak-kv .ak-kv-panel h2 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 800; color: var(--primary); margin-bottom: .7rem; }
.ak-kv .ak-kv-panel-metin { color: var(--muted); font-size: 1.05rem; margin-bottom: 1.6rem; }
.ak-kv .ak-kv-ozellikler { list-style: none; padding: 0; margin: 0 0 1.8rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ak-kv .ak-kv-ozellikler li { display: flex; gap: .8rem; align-items: flex-start; background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 1rem;
  transition: transform .3s, box-shadow .3s, border-color .3s; }
.ak-kv .ak-kv-ozellikler li:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(var(--primary-rgb), .1); border-color: rgba(var(--accent-rgb), .35); }
.ak-kv .ak-kv-ozellik-ikon { flex: none; width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(var(--primary-rgb), .08); color: var(--primary); font-size: 1.15rem; transition: background .3s, color .3s; }
.ak-kv .ak-kv-ozellikler li:hover .ak-kv-ozellik-ikon { background: var(--accent); color: #fff; }
.ak-kv .ak-kv-ozellikler b { display: block; color: var(--primary); margin-bottom: .15rem; }
.ak-kv .ak-kv-ozellikler small { display: block; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.ak-kv .ak-kv-panel-dugme { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.1rem; }
.ak-kv .ak-kv-panel-dugme small { color: var(--muted); }
.ak-kv .ak-kv-panel-sag { position: relative; padding: 2.2rem 1.2rem; perspective: 1400px; }
.ak-kv .ak-kv-ekran { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 34px 80px rgba(var(--primary-rgb), .22); border: 1px solid var(--border);
  transform: rotateY(-9deg) rotateX(4deg); transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.ak-kv .ak-kv-panel-sag:hover .ak-kv-ekran { transform: rotateY(0) rotateX(0); }
.ak-kv .ak-kv-ekran-ust { display: flex; align-items: center; gap: .4rem; padding: .7rem 1rem; background: var(--primary); }
.ak-kv .ak-kv-ekran-ust span { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .3); }
.ak-kv .ak-kv-ekran-ust span:first-child { background: #ff6b6b; }
.ak-kv .ak-kv-ekran-ust span:nth-child(2) { background: var(--gold); }
.ak-kv .ak-kv-ekran-ust span:nth-child(3) { background: #4ade80; }
.ak-kv .ak-kv-ekran-ust b { margin-left: .6rem; color: #fff; font-size: .82rem; font-weight: 600; }
.ak-kv .ak-kv-ekran-govde { display: grid; grid-template-columns: 54px minmax(0, 1fr); min-height: 300px; }
.ak-kv .ak-kv-ekran-menu { display: flex; flex-direction: column; align-items: center; gap: .9rem; padding: 1rem 0; background: var(--bg-alt); color: var(--muted); font-size: 1.05rem; }
.ak-kv .ak-kv-ekran-menu i { width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.ak-kv .ak-kv-ekran-menu i.aktif { background: var(--accent); color: #fff; box-shadow: 0 6px 14px rgba(var(--accent-rgb), .35); }
.ak-kv .ak-kv-ekran-icerik { padding: 1rem; display: flex; flex-direction: column; gap: .9rem; min-width: 0; }
.ak-kv .ak-kv-ekran-kartlar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.ak-kv .ak-kv-ekran-kartlar div { border: 1px solid var(--border); border-radius: 12px; padding: .6rem .7rem; min-width: 0; }
.ak-kv .ak-kv-ekran-kartlar small { display: block; color: var(--muted); font-size: .68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ak-kv .ak-kv-ekran-kartlar b { color: var(--primary); font-size: 1.05rem; white-space: nowrap; }
.ak-kv .ak-kv-ekran-alt { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: .8rem; flex: 1; }
.ak-kv .ak-kv-ekran-grafik { display: flex; align-items: flex-end; gap: 6%; padding: .8rem .7rem 0; border: 1px solid var(--border); border-radius: 12px; min-height: 130px; }
.ak-kv .ak-kv-ekran-grafik span { flex: 1; border-radius: 6px 6px 0 0; background: linear-gradient(180deg, var(--accent-light), var(--accent)); transform-origin: bottom;
  transform: scaleY(.05); transition: transform 1s cubic-bezier(.2, .8, .2, 1); }
.ak-kv .ak-kv-ekran-grafik span:nth-child(1) { height: 45%; transition-delay: .3s; }
.ak-kv .ak-kv-ekran-grafik span:nth-child(2) { height: 62%; transition-delay: .4s; }
.ak-kv .ak-kv-ekran-grafik span:nth-child(3) { height: 38%; transition-delay: .5s; }
.ak-kv .ak-kv-ekran-grafik span:nth-child(4) { height: 78%; transition-delay: .6s; }
.ak-kv .ak-kv-ekran-grafik span:nth-child(5) { height: 92%; transition-delay: .7s; background: linear-gradient(180deg, #2a5f8f, var(--primary)); }
.ak-kv .ak-kv-ekran-grafik span:nth-child(6) { height: 70%; transition-delay: .8s; }
.ak-kv .ak-kv-ekran-grafik span:nth-child(7) { height: 84%; transition-delay: .9s; }
.ak-kv .ak-kv-ekran-takvim { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; align-content: center; padding: .6rem; border: 1px solid var(--border); border-radius: 12px; }
.ak-kv .ak-kv-ekran-takvim span { aspect-ratio: 1; border-radius: 5px; background: var(--bg-alt); transition: background .4s; }
.ak-kv .ak-kv-ekran-takvim span:nth-child(n+4):nth-child(-n+9) { background: rgba(var(--accent-rgb), .75); transition-delay: 1s; }
.ak-kv .ak-kv-ekran-takvim span:nth-child(n+12):nth-child(-n+15) { background: rgba(var(--primary-rgb), .7); transition-delay: 1.2s; }
.ak-kv .ak-kv-ekran-takvim span:nth-child(n+18):nth-child(-n+20) { background: rgba(var(--accent-rgb), .75); transition-delay: 1.4s; }
.ak-kv.ak-kv-hazir .ak-kv-panel-sag:not(.ak-gor-acik) .ak-kv-ekran-takvim span { background: var(--bg-alt); }
.ak-kv .ak-kv-panel-sag.ak-gor-acik .ak-kv-ekran-grafik span, .ak-kv:not(.ak-kv-hazir) .ak-kv-ekran-grafik span { transform: scaleY(1); }
.ak-kv .ak-kv-bildirim { position: absolute; display: flex; align-items: center; gap: .65rem; padding: .7rem .95rem; background: #fff; border-radius: 14px;
  box-shadow: 0 18px 40px rgba(var(--primary-rgb), .2); border: 1px solid var(--border); max-width: 250px; opacity: 0; transform: translateY(14px) scale(.95);
  transition: opacity .6s ease, transform .6s cubic-bezier(.2, .8, .2, 1); }
.ak-kv .ak-kv-bildirim i { flex: none; width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #fff; }
.ak-kv .ak-kv-bildirim b { display: block; color: var(--primary); font-size: .85rem; }
.ak-kv .ak-kv-bildirim small { display: block; color: var(--muted); font-size: .76rem; }
.ak-kv .ak-kv-bildirim-1 { left: -1.2rem; bottom: 1.2rem; transition-delay: 1.3s; }
.ak-kv .ak-kv-bildirim-1 i { background: var(--success); }
.ak-kv .ak-kv-bildirim-2 { right: -.6rem; top: .4rem; transition-delay: 1.9s; }
.ak-kv .ak-kv-bildirim-2 i { background: var(--accent); }
.ak-kv .ak-kv-panel-sag.ak-gor-acik .ak-kv-bildirim, .ak-kv:not(.ak-kv-hazir) .ak-kv-bildirim { opacity: 1; transform: none; }
.ak-kv .ak-kv-panel-sag.ak-gor-acik .ak-kv-bildirim-1 { animation: akKvSuzul 5s ease-in-out 2.2s infinite; }
.ak-kv .ak-kv-panel-sag.ak-gor-acik .ak-kv-bildirim-2 { animation: akKvSuzul 6s ease-in-out 2.8s infinite reverse; }
@keyframes akKvSuzul { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@media (min-width: 992px) and (max-width: 1299.98px) { .ak-kv .ak-kv-ozellikler { grid-template-columns: 1fr; gap: .7rem; } .ak-kv .ak-kv-ozellikler li { padding: .8rem 1rem; } }

/* Kazanç hesaplayıcı */
.ak-kv .ak-kv-hesap { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); background: #fff; border-radius: 28px; overflow: hidden;
  box-shadow: 0 28px 70px rgba(var(--primary-rgb), .14); border: 1px solid var(--border); }
.ak-kv .ak-kv-hesap-sol { padding: 2.6rem 2.4rem; }
.ak-kv .ak-kv-hesap-sol > p { color: var(--muted); margin-bottom: 1.8rem; }
.ak-kv .ak-kv-surgu { display: block; margin-bottom: 1.6rem; }
.ak-kv .ak-kv-surgu-ust { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: .6rem; font-weight: 700; color: var(--primary); }
.ak-kv .ak-kv-surgu-ust b { font-size: 1.25rem; color: var(--accent-dark); font-variant-numeric: tabular-nums; }
.ak-kv .ak-kv-surgu-alt { display: flex; justify-content: space-between; color: var(--muted); font-size: .8rem; margin-top: .35rem; }
.ak-kv .ak-kv-surgu input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 8px; outline: none; cursor: pointer;
  background: linear-gradient(90deg, var(--accent) var(--ak-dolum, 50%), #e8ebf1 var(--ak-dolum, 50%)); }
.ak-kv .ak-kv-surgu input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #fff;
  border: 4px solid var(--accent); box-shadow: 0 6px 14px rgba(var(--accent-rgb), .35); transition: transform .2s; }
.ak-kv .ak-kv-surgu input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.15); }
.ak-kv .ak-kv-surgu input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 4px solid var(--accent); box-shadow: 0 6px 14px rgba(var(--accent-rgb), .35); }
.ak-kv .ak-kv-surgu input[type="range"]:focus-visible { box-shadow: 0 0 0 4px var(--focus-ring); }
.ak-kv .ak-kv-hesap-sag { position: relative; padding: 2.6rem 2.2rem; color: #fff; display: flex; flex-direction: column; justify-content: center; overflow: hidden;
  background: linear-gradient(150deg, var(--primary) 0%, var(--primary-dark) 55%, #1d4f7a 100%); }
.ak-kv .ak-kv-hesap-sag::before { content: ""; position: absolute; width: 260px; height: 260px; right: -80px; top: -80px; border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--accent-rgb), .45), transparent 70%); animation: akKvYuzer 10s ease-in-out infinite; }
.ak-kv .ak-kv-hesap-sag > * { position: relative; }
.ak-kv .ak-kv-sonuc-etiket { color: rgba(255, 255, 255, .75); font-weight: 600; }
.ak-kv .ak-kv-sonuc { display: block; font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; line-height: 1.1; margin: .3rem 0 .4rem; font-variant-numeric: tabular-nums;
  background: linear-gradient(90deg, #fff, var(--gold)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ak-kv .ak-kv-sonuc.ak-kv-nabiz { animation: akKvSonuc .5s ease; }
.ak-kv .ak-kv-sonuc-alt { color: rgba(255, 255, 255, .8); margin-bottom: 1.2rem; }
.ak-kv .ak-kv-sonuc-alt b { color: #fff; }
.ak-kv .ak-kv-dokum { list-style: none; padding: 0; margin: 0 0 1.4rem; border-top: 1px solid rgba(255, 255, 255, .15); }
.ak-kv .ak-kv-dokum li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .8); }
.ak-kv .ak-kv-dokum b { color: #fff; font-variant-numeric: tabular-nums; }
.ak-kv .ak-kv-hesap-not { color: rgba(255, 255, 255, .65); font-size: .82rem; margin: 1rem 0 0; }

/* Ev sahibi yorumları */
.ak-kv .ak-kv-yorumlar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.ak-kv .ak-kv-yorum { position: relative; margin: 0; background: #fff; border-radius: 22px; padding: 1.9rem 1.6rem 1.5rem; border: 1px solid var(--border);
  transition: transform .35s, box-shadow .35s; display: flex; flex-direction: column; }
.ak-kv .ak-kv-yorum:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(var(--primary-rgb), .1); }
.ak-kv .ak-kv-tirnak { position: absolute; right: 1.2rem; top: .6rem; font-size: 3.4rem; color: rgba(var(--accent-rgb), .14); }
.ak-kv .ak-kv-yildiz { color: var(--star); margin-bottom: .8rem; letter-spacing: 2px; }
.ak-kv .ak-kv-yorum blockquote { margin: 0 0 1.3rem; color: var(--text); line-height: 1.7; flex: 1; }
.ak-kv .ak-kv-yorum figcaption { display: flex; align-items: center; gap: .8rem; }
.ak-kv .ak-kv-avatar { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: none;
  background: linear-gradient(135deg, var(--primary), #1d4f7a); color: #fff; font-weight: 800; }
.ak-kv .ak-kv-yorum figcaption b { display: block; color: var(--primary); }
.ak-kv .ak-kv-yorum figcaption small { color: var(--muted); }

/* SSS */
.ak-kv .ak-kv-sss { display: grid; gap: .8rem; }
.ak-kv .ak-kv-soru { background: #fff; border: 1px solid var(--border); border-radius: 16px; transition: box-shadow .3s, border-color .3s; }
.ak-kv .ak-kv-soru[open] { border-color: rgba(var(--accent-rgb), .35); box-shadow: 0 14px 34px rgba(var(--primary-rgb), .08); }
.ak-kv .ak-kv-soru summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 1.3rem; cursor: pointer;
  font-weight: 700; color: var(--primary); }
.ak-kv .ak-kv-soru summary::-webkit-details-marker { display: none; }
.ak-kv .ak-kv-soru summary i { flex: none; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--bg-alt); color: var(--accent); transition: transform .35s, background .3s, color .3s; }
.ak-kv .ak-kv-soru[open] summary i { transform: rotate(45deg); background: var(--accent); color: #fff; }
.ak-kv .ak-kv-cevap { padding: 0 1.3rem 1.2rem; color: var(--muted); line-height: 1.7; }
.ak-kv .ak-kv-soru[open] .ak-kv-cevap { animation: akKvGiris .45s ease both; }
.ak-kv .ak-kv-cevap p { margin: 0; }

/* Son çağrı */
.ak-kv .ak-kv-son-bolum { padding: 0 0 5rem; }
.ak-kv .ak-kv-son { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 1.6rem; padding: 2.8rem 3rem; border-radius: 28px;
  color: #fff; background: linear-gradient(120deg, var(--primary-dark), var(--primary) 55%, #1d4f7a); box-shadow: 0 26px 60px rgba(var(--primary-rgb), .28); }
.ak-kv .ak-kv-son h2 { color: #fff; font-weight: 800; font-size: clamp(1.5rem, 3vw, 2.2rem); margin-bottom: .4rem; }
.ak-kv .ak-kv-son p { color: rgba(255, 255, 255, .85); margin: 0; max-width: 620px; }
.ak-kv .ak-kv-son .ak-kv-dugme { flex: none; }
.ak-kv .ak-kv-son > div, .ak-kv .ak-kv-son > a { position: relative; z-index: 1; }
.ak-kv .ak-kv-sekil-4 { width: 300px; height: 300px; right: -60px; top: -120px; background: radial-gradient(circle, rgba(var(--accent-rgb), .5), transparent 70%); animation: akKvYuzer 9s ease-in-out infinite; z-index: 0; }

@keyframes akKvGiris { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes akKvYakin { from { background-position: 50% 50%; background-size: 110% auto; } to { background-position: 55% 45%; background-size: 122% auto; } }
@keyframes akKvParilti { to { background-position: 200% center; } }
@keyframes akKvParla { 0%, 60% { left: -60%; } 100% { left: 130%; } }
@keyframes akKvZipla { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 10px); } }
@keyframes akKvYuzer { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-20px, 24px) scale(1.06); } }
@keyframes akKvDon { to { transform: rotate(360deg); } }
@keyframes akKvNabiz { 0%, 100% { box-shadow: 0 0 0 8px rgba(var(--accent-rgb), .15), 0 16px 30px rgba(0, 0, 0, .25); } 50% { box-shadow: 0 0 0 16px rgba(var(--accent-rgb), .05), 0 16px 30px rgba(0, 0, 0, .25); } }
@keyframes akKvSonuc { 0% { transform: scale(1); } 40% { transform: scale(1.04); } 100% { transform: scale(1); } }

@media (max-width: 991.98px) {
  .ak-kv .ak-kv-ust { min-height: auto; padding: 5.5rem 0 7.5rem; background-size: cover; animation: none; }
  .ak-kv .ak-kv-rakam-izgara, .ak-kv .ak-kv-rakam-izgara.ak-kv-adet-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ak-kv .ak-kv-rakam:nth-child(3) { border-left: 0; }
  .ak-kv .ak-kv-guvenceler, .ak-kv .ak-kv-yorumlar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ak-kv .ak-kv-adimlar, .ak-kv .ak-kv-adimlar.ak-kv-adet-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.4rem; }
  .ak-kv .ak-kv-adimlar::before, .ak-kv .ak-kv-adimlar::after { display: none; }
  .ak-kv .ak-kv-hesap { grid-template-columns: 1fr; }
  .ak-kv .ak-kv-panel { grid-template-columns: 1fr; gap: 1.5rem; }
  .ak-kv .ak-kv-ekran { transform: none; }
  .ak-kv .ak-kv-son { flex-direction: column; align-items: flex-start; padding: 2.2rem; }
}
@media (max-width: 575.98px) {
  .ak-kv .ak-kv-ust { padding: 5rem 0 6.5rem; }
  .ak-kv .ak-kv-asagi { display: none; }
  .ak-kv .ak-kv-dugme { width: 100%; }
  .ak-kv .ak-kv-rakamlar { margin-top: -3.6rem; }
  .ak-kv .ak-kv-rakam-izgara { padding: .9rem; gap: .5rem; }
  .ak-kv .ak-kv-guvenceler, .ak-kv .ak-kv-yorumlar, .ak-kv .ak-kv-adimlar, .ak-kv .ak-kv-adimlar.ak-kv-adet-3 { grid-template-columns: 1fr; }
  .ak-kv .ak-kv-bolum { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .ak-kv .ak-kv-hesap-sol, .ak-kv .ak-kv-hesap-sag { padding: 1.8rem 1.4rem; }
  .ak-kv .ak-kv-sekil-1 { width: 240px; height: 240px; }
  .ak-kv .ak-kv-ozellikler { grid-template-columns: 1fr; }
  .ak-kv .ak-kv-panel-sag { padding: 1.6rem .2rem 2.4rem; }
  .ak-kv .ak-kv-ekran-alt { grid-template-columns: 1fr; }
  .ak-kv .ak-kv-ekran-takvim { display: none; }
  .ak-kv .ak-kv-ekran-govde { grid-template-columns: 44px minmax(0, 1fr); min-height: 0; }
  .ak-kv .ak-kv-ekran-icerik { padding: .7rem; }
  .ak-kv .ak-kv-ekran-kartlar { gap: .4rem; }
  .ak-kv .ak-kv-ekran-kartlar div { padding: .45rem .5rem; }
  .ak-kv .ak-kv-ekran-kartlar b { font-size: .82rem; }
  .ak-kv .ak-kv-bildirim { max-width: 210px; padding: .55rem .75rem; }
  .ak-kv .ak-kv-bildirim-1 { left: 0; bottom: 0; }
  .ak-kv .ak-kv-bildirim-2 { right: 0; top: 0; }
  .ak-kv .ak-kv-guvenceler { gap: .9rem; }
  .ak-kv .ak-kv-guvence { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1rem; align-items: start; padding: 1.2rem 1.1rem; }
  .ak-kv .ak-kv-guvence-ikon { grid-row: span 2; width: 50px; height: 50px; font-size: 1.3rem; margin: 0; border-radius: 14px; }
  .ak-kv .ak-kv-guvence h3 { font-size: 1.05rem; margin: .1rem 0 .3rem; }
  .ak-kv .ak-kv-guvence p { font-size: .92rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ak-kv .ak-kv-ust, .ak-kv .ak-kv-ust-govde > *, .ak-kv .ak-kv-ust h1 span, .ak-kv .ak-kv-dugme-ana::after, .ak-kv .ak-kv-asagi, .ak-kv .ak-kv-sekil,
  .ak-kv .ak-kv-adim-no, .ak-kv .ak-kv-hesap-sag::before, .ak-kv .ak-kv-soru[open] .ak-kv-cevap, .ak-kv .ak-kv-bildirim { animation: none !important; }
  .ak-kv .ak-kv-ekran, .ak-kv .ak-kv-ekran-grafik span, .ak-kv .ak-kv-bildirim { transition: none; }
}

/* ==========================================================================
   VİLLA TEKLİFİ — /teklif/{kod} (2026-10-21, .ak-vt-*). Kartlar sitenin villa kutusu (konut_kutu).
   ========================================================================== */
.ak-vt { padding-top: 2.5rem; }
.ak-vt .ak-vt-bilgi { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-bottom: 1.4rem; }
.ak-vt .ak-vt-bilgi-kutu { display: flex; align-items: center; gap: .9rem; background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 1rem 1.2rem;
  animation: akHsGir .5s ease both; }
.ak-vt .ak-vt-bilgi-kutu > i { flex: none; width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
  background: rgba(var(--accent-rgb), .1); color: var(--accent); }
.ak-vt .ak-vt-bilgi-kutu small { display: block; color: var(--muted); font-size: .8rem; }
.ak-vt .ak-vt-bilgi-kutu b { display: block; color: var(--primary); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.ak-vt .ak-vt-sure { background: linear-gradient(135deg, var(--primary), #1d4f7a); border: 0; color: #fff; }
.ak-vt .ak-vt-sure > i { background: rgba(255, 255, 255, .15); color: var(--gold); animation: akHsNabiz 2s ease-in-out infinite; }
.ak-vt .ak-vt-sure small { color: rgba(255, 255, 255, .75); }
.ak-vt .ak-vt-sure b { color: #fff; font-size: 1.25rem; }
.ak-vt .ak-vt-sure b.ak-vt-az { color: var(--gold); }
.ak-vt .ak-vt-not { display: flex; gap: .9rem; align-items: flex-start; background: #fff8f4; border: 1px dashed rgba(var(--accent-rgb), .45); border-radius: 18px;
  padding: 1.1rem 1.3rem; margin-bottom: 1.6rem; }
.ak-vt .ak-vt-not i { color: var(--accent); font-size: 1.5rem; }
.ak-vt .ak-vt-not p { margin: 0; color: var(--text); line-height: 1.6; }
.ak-vt .ak-vt-baslik { font-size: 1.3rem; font-weight: 800; color: var(--primary); margin-bottom: 1.2rem; }
.ak-vt .ak-vt-kart { position: relative; height: 100%; display: flex; flex-direction: column; animation: akHsGir .55s ease both; }
.ak-vt .ak-vt-kart > .villa-card { flex: 1; }
.ak-vt .ak-vt-dolu > .villa-card { opacity: .55; filter: grayscale(.5); }
.ak-vt .ak-vt-dolu-rozet { position: absolute; z-index: 3; top: .8rem; left: .8rem; right: .8rem; text-align: center; background: rgba(220, 38, 38, .92); color: #fff;
  font-weight: 700; font-size: .85rem; border-radius: 10px; padding: .45rem .6rem; }
.ak-vt .ak-vt-talep { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: .6rem; padding: .8rem 1rem; border-radius: 14px; background: var(--accent);
  color: #fff; font-weight: 700; transition: background .2s, transform .2s; }
.ak-vt .ak-vt-talep:hover { background: var(--accent-dark); color: #fff; transform: translateY(-2px); }
.ak-vt .ak-vt-dipnot { color: var(--muted); font-size: .85rem; margin-top: 1.6rem; }
.ak-vt .ak-vt-bitti { text-align: center; max-width: 560px; margin: 1rem auto 0; padding: 3rem 1.5rem; background: #fff; border: 1px dashed var(--border); border-radius: 22px; }
.ak-vt .ak-vt-bitti > i { font-size: 3rem; color: var(--accent); display: inline-block; animation: akHsNabiz 2.4s ease-in-out infinite; }
.ak-vt .ak-vt-bitti h2 { font-size: 1.4rem; font-weight: 800; color: var(--primary); margin: 1rem 0 .5rem; }
.ak-vt .ak-vt-bitti p { color: var(--muted); }
.ak-vt .ak-vt-bitti-dugmeler { display: flex; justify-content: center; gap: .6rem; flex-wrap: wrap; margin-top: 1rem; }
.ak-vt .ak-vt-dugme { display: inline-flex; align-items: center; gap: .45rem; padding: .75rem 1.3rem; border-radius: 12px; background: var(--accent); color: #fff; font-weight: 700; }
.ak-vt .ak-vt-dugme:hover { background: var(--accent-dark); color: #fff; }
.ak-vt .ak-vt-dugme-ikincil { background: var(--primary); }
.ak-vt .ak-vt-dugme-ikincil:hover { background: var(--primary-dark); }
@media (prefers-reduced-motion: reduce) { .ak-vt .ak-vt-bilgi-kutu, .ak-vt .ak-vt-kart, .ak-vt .ak-vt-sure > i, .ak-vt .ak-vt-bitti > i { animation: none; } }

/* ===================================================
   HARİTADA GÖSTER (villa listesi, 2026-10-21) — villa-harita.js
   Solda harita (bölge balonları; villa noktası yok), sağda haritada görünen villalar.
   =================================================== */
.ak-hr-ac { display: inline-flex; align-items: center; gap: .45rem; background: var(--white); border: 1px solid var(--border); border-radius: 10px; padding: .55rem .9rem; font-weight: 600; font-size: .9rem; color: var(--primary); cursor: pointer; transition: border-color .2s, color .2s, box-shadow .2s; }
.ak-hr-ac:hover, .ak-hr-ac:focus-visible { border-color: var(--accent); color: var(--accent); box-shadow: 0 4px 14px rgba(var(--accent-rgb), .15); outline: none; }
.ak-hr-ac i { font-size: 1.05rem; }
html.ak-hr-acik, html.ak-hr-acik body { overflow: hidden; }

.ak-hr { position: fixed; inset: 0; z-index: 2000; display: flex; flex-direction: column; background: var(--white); animation: akHrAc .25s ease-out; }
.ak-hr[hidden] { display: none; }
@keyframes akHrAc { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.ak-hr-ust { display: flex; align-items: center; gap: 1rem; padding: .8rem 1.2rem; border-bottom: 1px solid var(--border); background: var(--white); }
.ak-hr-ust h2 { margin: 0; font-size: 1.15rem; font-weight: 700; color: var(--primary); display: flex; align-items: center; gap: .5rem; white-space: nowrap; }
.ak-hr-ust h2 i { color: var(--accent); }
.ak-hr-not { margin: 0; font-size: .82rem; color: var(--muted); display: flex; align-items: center; gap: .4rem; min-width: 0; }
.ak-hr-not i { color: var(--success); flex: none; }
.ak-hr-kapat { margin-left: auto; flex: none; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--border); background: var(--white); color: var(--primary); font-size: 1.05rem; cursor: pointer; transition: background .2s, color .2s; }
.ak-hr-kapat:hover, .ak-hr-kapat:focus-visible { background: var(--primary); color: #fff; outline: none; }

.ak-hr-govde { flex: 1; display: flex; min-height: 0; }
.ak-hr-harita { flex: 1 1 48%; min-width: 0; background: var(--bg-alt); }
.ak-hr-liste { flex: 0 0 52%; max-width: 960px; overflow-y: auto; padding: 1rem 1.2rem 1.5rem; border-left: 1px solid var(--border); background: var(--bg-alt); transition: opacity .2s; container-type: inline-size; }
.ak-hr-liste.ak-yukleniyor { opacity: .55; }
.ak-hr-bilgi { margin: 0 0 .9rem; font-size: .92rem; color: var(--text); }
.ak-hr-bilgi b { color: var(--accent); }
.ak-hr-bilgi i { color: var(--muted); margin-right: .3rem; }
.ak-hr-konumsuz { display: block; margin-top: .25rem; color: var(--muted); font-size: .8rem; }
.ak-hr-kartlar { display: flex; flex-direction: column; gap: 1.3rem; }
.ak-hr-kart { min-width: 0; border-radius: var(--radius); transition: box-shadow .2s, transform .2s; }
.ak-hr-kart.ak-hr-vurgu { box-shadow: 0 0 0 3px var(--accent); transform: translateY(-2px); }
/* Liste kartı (vy-card) panelin genişliğine göre: genişse liste sayfasındaki gibi üç sütun, ortaysa görsel | bilgi
   ve fiyat kutusu altta yatay, darsa alt alta (ekran genişliğine bakan style.css kuralları burada geçersiz) */
@container (min-width: 860px) {
    .ak-hr .vy-card { grid-template-columns: 300px 1fr 290px; }
    .ak-hr .vy-media { min-height: 250px; aspect-ratio: auto; }
}
@container (min-width: 560px) and (max-width: 859.98px) {
    .ak-hr .vy-card { grid-template-columns: 230px minmax(0, 1fr); }
    .ak-hr .vy-media { min-height: 0; aspect-ratio: auto; }
    /* Fiyat şeridi iki satır (proje sahibi, 2026-10-21): üstte ödeme yöntemi + ön ödeme bandı yan yana,
       altta fiyat (varsa indirim yanında) ve iki düğme. Kalp sağ üstte (style.css, mutlak konum) */
    .ak-hr .vy-price { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: .6rem 1rem; padding: .9rem 1rem; }
    .ak-hr .vy-pay-method { grid-area: 1 / 1 / 2 / 2; padding-right: 0; }
    .ak-hr .vy-pay-band { grid-area: 1 / 2 / 2 / 4; justify-self: start; max-width: 100%; }
    .ak-hr .vy-price-main { grid-area: 2 / 1 / 3 / 2; margin: 0; text-align: left; }
    .ak-hr .ak-vy-indirim { grid-area: 2 / 2 / 3 / 3; justify-content: flex-start; margin: 0; }
    .ak-hr .vy-incele { grid-area: 2 / 3 / 3 / 4; }
    .ak-hr .vy-takvim { grid-area: 2 / 4 / 3 / 5; }
    .ak-hr .vy-incele, .ak-hr .vy-takvim { margin-top: 0; padding: .7rem 1.1rem; }
}
@container (max-width: 559.98px) {
    .ak-hr .vy-card { grid-template-columns: 1fr; }
    .ak-hr .vy-media { min-height: 0; aspect-ratio: 16 / 9; }
}
/* Sağ listedeki iskelet (2026-10-22): liste sayfasının taslağı, kartla aynı kap kurallarıyla; soluk değil */
.ak-hr-liste.ak-iskelette { opacity: 1; }
@container (min-width: 860px) {
    .ak-hr .ak-iskelet-vy { grid-template-columns: 300px 1fr 290px; }
    .ak-hr .ak-iskelet-vy-gorsel { min-height: 250px; aspect-ratio: auto; }
}
@container (min-width: 560px) and (max-width: 859.98px) {
    .ak-hr .ak-iskelet-vy { grid-template-columns: 230px minmax(0, 1fr); }
    .ak-hr .ak-iskelet-vy-gorsel { min-height: 0; aspect-ratio: auto; }
    .ak-hr .ak-iskelet-vy-fiyat { grid-column: 1 / -1; flex-direction: row; align-items: center; }
    .ak-hr .ak-iskelet-vy-fiyat > * { flex: 1 1 0; margin: 0; }
}
@container (max-width: 559.98px) {
    .ak-hr .ak-iskelet-vy { grid-template-columns: 1fr; }
    .ak-hr .ak-iskelet-vy-gorsel { min-height: 0; aspect-ratio: 16 / 9; }
}
/* Kart içinden açılan özellik / fırsat pencereleri haritanın üstünde açılsın */
html.ak-hr-acik .vy-oz-modal { z-index: 2100; }
.ak-hr-daha { text-align: center; margin-top: 1.2rem; }
.ak-hr-daha-btn { border: 1px solid var(--primary); background: var(--white); color: var(--primary); border-radius: 10px; padding: .6rem 1.4rem; font-weight: 600; cursor: pointer; transition: background .2s, color .2s; }
.ak-hr-daha-btn:hover, .ak-hr-daha-btn:focus-visible { background: var(--primary); color: #fff; outline: none; }

/* Bölge balonu (Leaflet divIcon) — sayı + bölge adı */
.ak-hr .ak-hr-im { background: none; border: 0; }
.ak-hr-balon { display: inline-flex; align-items: center; gap: .4rem; transform: translate(-50%, -50%); white-space: nowrap; background: var(--white); color: var(--primary); border: 2px solid var(--accent); border-radius: 999px; padding: .25rem .7rem .25rem .3rem; box-shadow: 0 6px 16px rgba(var(--primary-rgb), .2); cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.ak-hr-balon b { display: inline-flex; align-items: center; justify-content: center; min-width: 1.75rem; height: 1.75rem; padding: 0 .35rem; border-radius: 999px; background: var(--accent); color: #fff; font-size: .85rem; }
.ak-hr-balon small { font-size: .8rem; font-weight: 600; }
.ak-hr-im:hover .ak-hr-balon, .ak-hr-im:focus .ak-hr-balon, .ak-hr-im-vurgu .ak-hr-balon { background: var(--primary); color: #fff; border-color: var(--primary); transform: translate(-50%, -50%) scale(1.08); }
.ak-hr-im:focus { outline: none; }
/* Grup balonu (yakın bölgeler tek balonda): arkasında üst üste kart görünümü */
.ak-hr-balon.ak-hr-grup { box-shadow: 4px 4px 0 -1px var(--white), 4px 4px 0 1px var(--accent), 0 6px 16px rgba(var(--primary-rgb), .2); }
.ak-hr-balon.ak-hr-grup b { background: var(--primary); }
.ak-hr-im-vurgu .ak-hr-balon b, .ak-hr-im:hover .ak-hr-balon b { background: var(--accent); }

@media (max-width: 991.98px) {
    .ak-hr-not { display: none; }
    .ak-hr-govde { flex-direction: column; }
    .ak-hr-harita { flex: 0 0 45vh; }
    .ak-hr-liste { flex: 1 1 auto; max-width: none; border-left: 0; border-top: 1px solid var(--border); padding: .9rem 1rem 1.2rem; }
}
@media (max-width: 575.98px) {
    .ak-hr-ust { padding: .6rem .8rem; }
}
@media (prefers-reduced-motion: reduce) { .ak-hr, .ak-hr-balon, .ak-hr-kart { animation: none; transition: none; } }
/* Villa detay haritası: bölge adı (2026-10-21; işaret yok, bölgeyi kaplayan daire) */
.leaflet-tooltip.ak-harita-bolge-adi { background: var(--white); color: var(--primary); border: 2px solid var(--accent); border-radius: 999px; padding: .25rem .8rem; font-weight: 700; font-size: .85rem; box-shadow: 0 6px 16px rgba(var(--primary-rgb), .2); }
.leaflet-tooltip.ak-harita-bolge-adi::before { display: none; }
